From 3707871f0b4797e1a70203ce0833fdfbc8b2b174 Mon Sep 17 00:00:00 2001 From: kaleidoscopeit Date: Fri, 27 Jul 2018 15:51:56 +0200 Subject: [PATCH 001/423] - Fixed extruder behaviour to force filament diameter to 1.75 --- resources/definitions/deltacomb.def.json | 4 +++- resources/extruders/deltacomb_extruder_0.def.json | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) mode change 100644 => 100755 resources/definitions/deltacomb.def.json mode change 100644 => 100755 resources/extruders/deltacomb_extruder_0.def.json diff --git a/resources/definitions/deltacomb.def.json b/resources/definitions/deltacomb.def.json old mode 100644 new mode 100755 index a4b2d47a7b..0c4cec3674 --- a/resources/definitions/deltacomb.def.json +++ b/resources/definitions/deltacomb.def.json @@ -33,6 +33,7 @@ "material_final_print_temperature": { "value": "material_print_temperature - 5" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }, + "material_diameter": { "default_value": 1.75 }, "travel_avoid_distance": { "default_value": 1, "value": "1" }, "speed_print" : { "default_value": 70 }, "speed_travel": { "value": "150.0" }, @@ -55,6 +56,7 @@ "support_use_towers" : { "default_value": false }, "jerk_wall_0" : { "value": "30" }, "jerk_travel" : { "default_value": 20 }, - "acceleration_travel" : { "value": 10000 } + "acceleration_travel" : { "value": 10000 }, + "machine_max_feedrate_z" : { "default_value": 150 } } } diff --git a/resources/extruders/deltacomb_extruder_0.def.json b/resources/extruders/deltacomb_extruder_0.def.json old mode 100644 new mode 100755 index 046becfd82..35ed340bc0 --- a/resources/extruders/deltacomb_extruder_0.def.json +++ b/resources/extruders/deltacomb_extruder_0.def.json @@ -10,7 +10,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, - "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 1.75 } + "machine_nozzle_size": { "default_value": 0.4 } } } From 3ac5342dfc0d37e7462ed77e9d9b7321ec769ef3 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 1 Aug 2018 15:51:10 +0200 Subject: [PATCH 002/423] Separate firmware updater from USBPrinterOutputDevice --- plugins/USBPrinting/AvrFirmwareUpdater.py | 122 ++++++++++++++++++ plugins/USBPrinting/USBPrinterOutputDevice.py | 118 ++--------------- 2 files changed, 130 insertions(+), 110 deletions(-) create mode 100644 plugins/USBPrinting/AvrFirmwareUpdater.py diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py new file mode 100644 index 0000000000..5c2b8dc19e --- /dev/null +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -0,0 +1,122 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import QObject, QUrl, pyqtSignal, pyqtProperty + +from cura.PrinterOutputDevice import PrinterOutputDevice + +from .avr_isp import stk500v2, intelHex + +from enum import IntEnum + +@signalemitter +class AvrFirmwareUpdater(QObject): + firmwareProgressChanged = pyqtSignal() + firmwareUpdateStateChanged = pyqtSignal() + + def __init__(self, output_device: PrinterOutputDevice) -> None: + self._output_device = output_device + + self._update_firmware_thread = Thread(target=self._updateFirmware, daemon = True) + + self._firmware_view = None + self._firmware_location = None + self._firmware_progress = 0 + self._firmware_update_state = FirmwareUpdateState.idle + + def updateFirmware(self, file): + # the file path could be url-encoded. + if file.startswith("file://"): + self._firmware_location = QUrl(file).toLocalFile() + else: + self._firmware_location = file + self.showFirmwareInterface() + self.setFirmwareUpdateState(FirmwareUpdateState.updating) + self._update_firmware_thread.start() + + def _updateFirmware(self): + # Ensure that other connections are closed. + if self._connection_state != ConnectionState.closed: + self.close() + + try: + hex_file = intelHex.readHex(self._firmware_location) + assert len(hex_file) > 0 + except (FileNotFoundError, AssertionError): + Logger.log("e", "Unable to read provided hex file. Could not update firmware.") + self.setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error) + return + + programmer = stk500v2.Stk500v2() + programmer.progress_callback = self._onFirmwareProgress + + try: + programmer.connect(self._serial_port) + except: + programmer.close() + Logger.logException("e", "Failed to update firmware") + self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) + return + + # Give programmer some time to connect. Might need more in some cases, but this worked in all tested cases. + sleep(1) + if not programmer.isConnected(): + Logger.log("e", "Unable to connect with serial. Could not update firmware") + self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) + try: + programmer.programChip(hex_file) + except SerialException: + self.setFirmwareUpdateState(FirmwareUpdateState.io_error) + return + except: + self.setFirmwareUpdateState(FirmwareUpdateState.unknown_error) + return + + programmer.close() + + # Clean up for next attempt. + self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) + self._firmware_location = "" + self._onFirmwareProgress(100) + self.setFirmwareUpdateState(FirmwareUpdateState.completed) + + # Try to re-connect with the machine again, which must be done on the Qt thread, so we use call later. + CuraApplication.getInstance().callLater(self.connect) + + ## Show firmware interface. + # This will create the view if its not already created. + def showFirmwareInterface(self): + if self._firmware_view is None: + path = os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "FirmwareUpdateWindow.qml") + self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) + + self._firmware_view.show() + + @pyqtProperty(float, notify = firmwareProgressChanged) + def firmwareProgress(self): + return self._firmware_progress + + @pyqtProperty(int, notify=firmwareUpdateStateChanged) + def firmwareUpdateState(self): + return self._firmware_update_state + + def setFirmwareUpdateState(self, state): + if self._firmware_update_state != state: + self._firmware_update_state = state + self.firmwareUpdateStateChanged.emit() + + # Callback function for firmware update progress. + def _onFirmwareProgress(self, progress, max_progress = 100): + self._firmware_progress = (progress / max_progress) * 100 # Convert to scale of 0-100 + self.firmwareProgressChanged.emit() + + +class FirmwareUpdateState(IntEnum): + idle = 0 + updating = 1 + completed = 2 + unknown_error = 3 + communication_error = 4 + io_error = 5 + firmware_not_found_error = 6 + diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 45b566fcab..bc2350e50f 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -13,15 +13,14 @@ from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.GenericOutputController import GenericOutputController from .AutoDetectBaudJob import AutoDetectBaudJob -from .avr_isp import stk500v2, intelHex +from .AvrFirmwareUpdater import AvrFirmwareUpdater -from PyQt5.QtCore import pyqtSlot, pyqtSignal, pyqtProperty, QUrl +from PyQt5.QtCore import pyqtSlot, pyqtSignal, pyqtProperty from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event from time import time, sleep from queue import Queue -from enum import IntEnum from typing import Union, Optional, List, cast import re @@ -32,9 +31,6 @@ catalog = i18nCatalog("cura") class USBPrinterOutputDevice(PrinterOutputDevice): - firmwareProgressChanged = pyqtSignal() - firmwareUpdateStateChanged = pyqtSignal() - def __init__(self, serial_port: str, baud_rate: Optional[int] = None) -> None: super().__init__(serial_port) self.setName(catalog.i18nc("@item:inmenu", "USB printing")) @@ -61,8 +57,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice): # Instead of using a timer, we really need the update to be as a thread, as reading from serial can block. self._update_thread = Thread(target=self._update, daemon = True) - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon = True) - self._last_temperature_request = None # type: Optional[int] self._is_printing = False # A print is being sent. @@ -75,11 +69,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._paused = False - self._firmware_view = None - self._firmware_location = None - self._firmware_progress = 0 - self._firmware_update_state = FirmwareUpdateState.idle - self.setConnectionText(catalog.i18nc("@info:status", "Connected via USB")) # Queue for commands that need to be sent. @@ -88,6 +77,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._command_received = Event() self._command_received.set() + self._firmware_updater = AvrFirmwareUpdater(self) + CuraApplication.getInstance().getOnExitCallbackManager().addCallback(self._checkActivePrintingUponAppExit) # This is a callback function that checks if there is any printing in progress via USB when the application tries @@ -107,6 +98,10 @@ class USBPrinterOutputDevice(PrinterOutputDevice): application = CuraApplication.getInstance() application.triggerNextExitCheck() + @pyqtSlot(str) + def updateFirmware(self, file): + self._firmware_updater.updateFirmware(file) + ## Reset USB device settings # def resetDeviceSettings(self): @@ -135,93 +130,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._printGCode(gcode_list) - ## Show firmware interface. - # This will create the view if its not already created. - def showFirmwareInterface(self): - if self._firmware_view is None: - path = os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "FirmwareUpdateWindow.qml") - self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) - - self._firmware_view.show() - - @pyqtSlot(str) - def updateFirmware(self, file): - # the file path could be url-encoded. - if file.startswith("file://"): - self._firmware_location = QUrl(file).toLocalFile() - else: - self._firmware_location = file - self.showFirmwareInterface() - self.setFirmwareUpdateState(FirmwareUpdateState.updating) - self._update_firmware_thread.start() - - def _updateFirmware(self): - # Ensure that other connections are closed. - if self._connection_state != ConnectionState.closed: - self.close() - - try: - hex_file = intelHex.readHex(self._firmware_location) - assert len(hex_file) > 0 - except (FileNotFoundError, AssertionError): - Logger.log("e", "Unable to read provided hex file. Could not update firmware.") - self.setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error) - return - - programmer = stk500v2.Stk500v2() - programmer.progress_callback = self._onFirmwareProgress - - try: - programmer.connect(self._serial_port) - except: - programmer.close() - Logger.logException("e", "Failed to update firmware") - self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) - return - - # Give programmer some time to connect. Might need more in some cases, but this worked in all tested cases. - sleep(1) - if not programmer.isConnected(): - Logger.log("e", "Unable to connect with serial. Could not update firmware") - self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) - try: - programmer.programChip(hex_file) - except SerialException: - self.setFirmwareUpdateState(FirmwareUpdateState.io_error) - return - except: - self.setFirmwareUpdateState(FirmwareUpdateState.unknown_error) - return - - programmer.close() - - # Clean up for next attempt. - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) - self._firmware_location = "" - self._onFirmwareProgress(100) - self.setFirmwareUpdateState(FirmwareUpdateState.completed) - - # Try to re-connect with the machine again, which must be done on the Qt thread, so we use call later. - CuraApplication.getInstance().callLater(self.connect) - - @pyqtProperty(float, notify = firmwareProgressChanged) - def firmwareProgress(self): - return self._firmware_progress - - @pyqtProperty(int, notify=firmwareUpdateStateChanged) - def firmwareUpdateState(self): - return self._firmware_update_state - - def setFirmwareUpdateState(self, state): - if self._firmware_update_state != state: - self._firmware_update_state = state - self.firmwareUpdateStateChanged.emit() - - # Callback function for firmware update progress. - def _onFirmwareProgress(self, progress, max_progress = 100): - self._firmware_progress = (progress / max_progress) * 100 # Convert to scale of 0-100 - self.firmwareProgressChanged.emit() - ## Start a print based on a g-code. # \param gcode_list List with gcode (strings). def _printGCode(self, gcode_list: List[str]): @@ -456,13 +364,3 @@ class USBPrinterOutputDevice(PrinterOutputDevice): print_job.updateTimeTotal(estimated_time) self._gcode_position += 1 - - -class FirmwareUpdateState(IntEnum): - idle = 0 - updating = 1 - completed = 2 - unknown_error = 3 - communication_error = 4 - io_error = 5 - firmware_not_found_error = 6 From 339987be9d3a7cf80d7932c49cd418009e9182df Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 2 Aug 2018 11:50:28 +0200 Subject: [PATCH 003/423] Move hardcoded firmware-file table to definitions --- .../USBPrinterOutputDeviceManager.py | 44 ++++--------------- resources/definitions/bq_hephestos.def.json | 3 +- resources/definitions/bq_witbox.def.json | 3 +- resources/definitions/ultimaker2.def.json | 3 +- .../definitions/ultimaker2_extended.def.json | 3 +- .../ultimaker2_extended_plus.def.json | 3 +- resources/definitions/ultimaker2_go.def.json | 3 +- .../definitions/ultimaker2_plus.def.json | 3 +- .../definitions/ultimaker_original.def.json | 4 +- .../ultimaker_original_dual.def.json | 2 + .../ultimaker_original_plus.def.json | 3 +- 11 files changed, 30 insertions(+), 44 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py index 2ee85187ee..f444e72908 100644 --- a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py +++ b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py @@ -93,57 +93,31 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin): global_container_stack = self._application.getGlobalContainerStack() if not global_container_stack: Logger.log("e", "There is no global container stack. Can not update firmware.") - self._firmware_view.close() return "" # The bottom of the containerstack is the machine definition machine_id = global_container_stack.getBottom().id - machine_has_heated_bed = global_container_stack.getProperty("machine_heated_bed", "value") + baudrate = 250000 if platform.system() == "Linux": + # Linux prefers a baudrate of 115200 here because older versions of + # pySerial did not support a baudrate of 250000 baudrate = 115200 - else: - baudrate = 250000 - # NOTE: The keyword used here is the id of the machine. You can find the id of your machine in the *.json file, eg. - # https://github.com/Ultimaker/Cura/blob/master/resources/machines/ultimaker_original.json#L2 - # The *.hex files are stored at a seperate repository: - # https://github.com/Ultimaker/cura-binary-data/tree/master/cura/resources/firmware - machine_without_extras = {"bq_witbox" : "MarlinWitbox.hex", - "bq_hephestos_2" : "MarlinHephestos2.hex", - "ultimaker_original" : "MarlinUltimaker-{baudrate}.hex", - "ultimaker_original_plus" : "MarlinUltimaker-UMOP-{baudrate}.hex", - "ultimaker_original_dual" : "MarlinUltimaker-{baudrate}-dual.hex", - "ultimaker2" : "MarlinUltimaker2.hex", - "ultimaker2_go" : "MarlinUltimaker2go.hex", - "ultimaker2_plus" : "MarlinUltimaker2plus.hex", - "ultimaker2_extended" : "MarlinUltimaker2extended.hex", - "ultimaker2_extended_plus" : "MarlinUltimaker2extended-plus.hex", - } - machine_with_heated_bed = {"ultimaker_original" : "MarlinUltimaker-HBK-{baudrate}.hex", - "ultimaker_original_dual" : "MarlinUltimaker-HBK-{baudrate}-dual.hex", - } - ##TODO: Add check for multiple extruders - hex_file = None - if machine_id in machine_without_extras.keys(): # The machine needs to be defined here! - if machine_id in machine_with_heated_bed.keys() and machine_has_heated_bed: - Logger.log("d", "Choosing firmware with heated bed enabled for machine %s.", machine_id) - hex_file = machine_with_heated_bed[machine_id] # Return firmware with heated bed enabled - else: - Logger.log("d", "Choosing basic firmware for machine %s.", machine_id) - hex_file = machine_without_extras[machine_id] # Return "basic" firmware - else: - Logger.log("w", "There is no firmware for machine %s.", machine_id) + # If a firmware file is available, it should be specified in the definition for the printer + hex_file = global_container_stack.getMetaDataEntry("firmware_file", None) + if machine_has_heated_bed: + hex_file = global_container_stack.getMetaDataEntry("firmware_hbk_file", hex_file) if hex_file: try: return Resources.getPath(CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) except FileNotFoundError: - Logger.log("w", "Could not find any firmware for machine %s.", machine_id) + Logger.log("w", "Firmware file %s not found.", hex_file) return "" else: - Logger.log("w", "Could not find any firmware for machine %s.", machine_id) + Logger.log("w", "There is no firmware for machine %s.", machine_id) return "" ## Helper to identify serial ports (and scan for them) diff --git a/resources/definitions/bq_hephestos.def.json b/resources/definitions/bq_hephestos.def.json index 8dc67a8cad..be024cd6fa 100644 --- a/resources/definitions/bq_hephestos.def.json +++ b/resources/definitions/bq_hephestos.def.json @@ -12,7 +12,8 @@ "machine_extruder_trains": { "0": "bq_hephestos_extruder_0" - } + }, + "firmware_file": "MarlinHephestos2.hex" }, "overrides": { diff --git a/resources/definitions/bq_witbox.def.json b/resources/definitions/bq_witbox.def.json index 0ae1c5e339..b96da6179c 100644 --- a/resources/definitions/bq_witbox.def.json +++ b/resources/definitions/bq_witbox.def.json @@ -12,7 +12,8 @@ "machine_extruder_trains": { "0": "bq_witbox_extruder_0" - } + }, + "firmware_file": "MarlinWitbox.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index aa684946c2..ca7a784bfc 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -20,7 +20,8 @@ "machine_extruder_trains": { "0": "ultimaker2_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2.hex" }, "overrides": { "machine_name": { "default_value": "Ultimaker 2" }, diff --git a/resources/definitions/ultimaker2_extended.def.json b/resources/definitions/ultimaker2_extended.def.json index af169c94fb..39a1ca37b3 100644 --- a/resources/definitions/ultimaker2_extended.def.json +++ b/resources/definitions/ultimaker2_extended.def.json @@ -14,7 +14,8 @@ "machine_extruder_trains": { "0": "ultimaker2_extended_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2extended.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker2_extended_plus.def.json b/resources/definitions/ultimaker2_extended_plus.def.json index f3a8bfcf9f..c296ecd43e 100644 --- a/resources/definitions/ultimaker2_extended_plus.def.json +++ b/resources/definitions/ultimaker2_extended_plus.def.json @@ -14,7 +14,8 @@ "machine_extruder_trains": { "0": "ultimaker2_extended_plus_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2extended-plus.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker2_go.def.json b/resources/definitions/ultimaker2_go.def.json index c66fb38fc0..5301fd7db9 100644 --- a/resources/definitions/ultimaker2_go.def.json +++ b/resources/definitions/ultimaker2_go.def.json @@ -17,7 +17,8 @@ "machine_extruder_trains": { "0": "ultimaker2_go_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2go.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker2_plus.def.json b/resources/definitions/ultimaker2_plus.def.json index bc4d3a6230..45019789bf 100644 --- a/resources/definitions/ultimaker2_plus.def.json +++ b/resources/definitions/ultimaker2_plus.def.json @@ -19,7 +19,8 @@ "machine_extruder_trains": { "0": "ultimaker2_plus_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker2plus.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker_original.def.json b/resources/definitions/ultimaker_original.def.json index c961423504..bb6a64d8dc 100644 --- a/resources/definitions/ultimaker_original.def.json +++ b/resources/definitions/ultimaker_original.def.json @@ -18,7 +18,9 @@ "machine_extruder_trains": { "0": "ultimaker_original_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker-{baudrate}.hex", + "firmware_hbk_file": "MarlinUltimaker-HKB-{baudrate}.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker_original_dual.def.json b/resources/definitions/ultimaker_original_dual.def.json index 55eddba85f..c6002ef396 100644 --- a/resources/definitions/ultimaker_original_dual.def.json +++ b/resources/definitions/ultimaker_original_dual.def.json @@ -19,6 +19,8 @@ "0": "ultimaker_original_dual_1st", "1": "ultimaker_original_dual_2nd" }, + "firmware_file": "MarlinUltimaker-{baudrate}-dual.hex", + "firmware_hbk_file": "MarlinUltimaker-HKB-{baudrate}-dual.hex", "first_start_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel", "UpgradeFirmware"] }, diff --git a/resources/definitions/ultimaker_original_plus.def.json b/resources/definitions/ultimaker_original_plus.def.json index 71aa53b2bf..46d95f8028 100644 --- a/resources/definitions/ultimaker_original_plus.def.json +++ b/resources/definitions/ultimaker_original_plus.def.json @@ -16,7 +16,8 @@ "machine_extruder_trains": { "0": "ultimaker_original_plus_extruder_0" - } + }, + "firmware_file": "MarlinUltimaker-UMOP-{baudrate}.hex" }, "overrides": { From bc0a53c15a51c3c4f6476f41c053cccd84bef1b8 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 6 Aug 2018 10:38:21 +0200 Subject: [PATCH 004/423] JSON fix: only enable skin settings when there is skin --- resources/definitions/fdmprinter.def.json | 29 ++++++++++++++++------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b767aac7b9..4b04e520b9 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -831,6 +831,7 @@ "default_value": 0.4, "type": "float", "value": "line_width", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1177,6 +1178,7 @@ "zigzag": "Zig Zag" }, "default_value": "lines", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1192,6 +1194,7 @@ "zigzag": "Zig Zag" }, "default_value": "lines", + "enabled": "top_layers > 0 or bottom_layers > 0", "value": "top_bottom_pattern", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true @@ -1202,7 +1205,7 @@ "description": "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality.", "type": "bool", "default_value": false, - "enabled": "top_bottom_pattern == 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern == 'concentric'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1212,7 +1215,7 @@ "description": "A list of integer line directions to use when the top/bottom layers use the lines or zig zag pattern. 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).", "type": "[int]", "default_value": "[ ]", - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1439,6 +1442,7 @@ "description": "When the model has small vertical gaps, about 5% extra computation time can be spent on generating top and bottom skin in these narrow spaces. In such case, disable the setting.", "type": "bool", "default_value": true, + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1450,6 +1454,7 @@ "minimum_value": "0", "maximum_value_warning": "10", "type": "int", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1778,7 +1783,7 @@ "minimum_value_warning": "-50", "maximum_value_warning": "100", "value": "5 if top_bottom_pattern != 'concentric' else 0", - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": @@ -1793,7 +1798,7 @@ "minimum_value_warning": "-0.5 * machine_nozzle_size", "maximum_value_warning": "machine_nozzle_size", "value": "0.5 * (skin_line_width + (wall_line_width_x if wall_line_count > 1 else wall_line_width_0)) * skin_overlap / 100 if top_bottom_pattern != 'concentric' else 0", - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "settable_per_mesh": true } } @@ -1906,6 +1911,7 @@ "default_value": 0, "value": "wall_line_width_0 + (wall_line_count - 1) * wall_line_width_x", "minimum_value": "0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": @@ -1919,6 +1925,7 @@ "default_value": 0, "value": "skin_preshrink", "minimum_value": "0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1931,6 +1938,7 @@ "default_value": 0, "value": "skin_preshrink", "minimum_value": "0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } @@ -1946,6 +1954,7 @@ "value": "wall_line_width_0 + (wall_line_count - 1) * wall_line_width_x", "minimum_value": "-skin_preshrink", "limit_to_extruder": "top_bottom_extruder_nr", + "enabled": "top_layers > 0 or bottom_layers > 0", "settable_per_mesh": true, "children": { @@ -1958,6 +1967,7 @@ "default_value": 2.8, "value": "expand_skins_expand_distance", "minimum_value": "-top_skin_preshrink", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -1970,6 +1980,7 @@ "default_value": 2.8, "value": "expand_skins_expand_distance", "minimum_value": "-bottom_skin_preshrink", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } @@ -1985,7 +1996,7 @@ "minimum_value_warning": "2", "maximum_value": "90", "default_value": 90, - "enabled": "top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0", + "enabled": "(top_layers > 0 or bottom_layers > 0) and (top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0)", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true, "children": @@ -1999,7 +2010,7 @@ "default_value": 2.24, "value": "top_layers * layer_height / math.tan(math.radians(max_skin_angle_for_expansion))", "minimum_value": "0", - "enabled": "top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0", + "enabled": "(top_layers > 0 or bottom_layers > 0) and (top_skin_expand_distance > 0 or bottom_skin_expand_distance > 0)", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true } @@ -2548,6 +2559,7 @@ "default_value": 30, "value": "speed_print / 2", "limit_to_extruder": "top_bottom_extruder_nr", + "enabled": "top_layers > 0 or bottom_layers > 0", "settable_per_mesh": true }, "speed_support": @@ -2872,6 +2884,7 @@ "default_value": 3000, "value": "acceleration_topbottom", "enabled": "resolveOrValue('acceleration_enabled') and roofing_layer_count > 0 and top_layers > 0", + "enabled": "top_layers > 0 or bottom_layers > 0", "limit_to_extruder": "roofing_extruder_nr", "settable_per_mesh": true }, @@ -3172,7 +3185,7 @@ "maximum_value_warning": "50", "default_value": 20, "value": "jerk_print", - "enabled": "resolveOrValue('jerk_enabled')", + "enabled": "(top_layers > 0 or bottom_layers > 0) and resolveOrValue('jerk_enabled')", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, @@ -5819,7 +5832,7 @@ "description": "Alternate the direction in which the top/bottom layers are printed. Normally they are printed diagonally only. This setting adds the X-only and Y-only directions.", "type": "bool", "default_value": false, - "enabled": "top_bottom_pattern != 'concentric'", + "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, From 688a5083d223b84067d9c4b6a7ccc301b6618db1 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 8 Aug 2018 15:53:26 +0200 Subject: [PATCH 005/423] Add canUpdateFirmware property to printer output devices --- cura/PrinterOutput/GenericOutputController.py | 2 ++ cura/PrinterOutput/PrinterOutputController.py | 1 + cura/PrinterOutput/PrinterOutputModel.py | 7 +++++++ plugins/USBPrinting/AvrFirmwareUpdater.py | 1 - .../UpgradeFirmwareMachineAction.qml | 1 + 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index e6310e5bff..32ad9d8022 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -29,6 +29,8 @@ class GenericOutputController(PrinterOutputController): self._output_device.printersChanged.connect(self._onPrintersChanged) self._active_printer = None + self.can_update_firmware = True + def _onPrintersChanged(self): if self._active_printer: self._active_printer.stateChanged.disconnect(self._onPrinterStateChanged) diff --git a/cura/PrinterOutput/PrinterOutputController.py b/cura/PrinterOutput/PrinterOutputController.py index 58c6ef05a7..4fe5c04a65 100644 --- a/cura/PrinterOutput/PrinterOutputController.py +++ b/cura/PrinterOutput/PrinterOutputController.py @@ -18,6 +18,7 @@ class PrinterOutputController: self.can_pre_heat_hotends = True self.can_send_raw_gcode = True self.can_control_manually = True + self.can_update_firmware = False self._output_device = output_device def setTargetHotendTemperature(self, printer: "PrinterOutputModel", extruder: "ExtruderOutputModel", temperature: int): diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index 6fafa368bb..f43dbf570e 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -277,6 +277,13 @@ class PrinterOutputModel(QObject): return self._controller.can_control_manually return False + # Does the printer support upgrading firmware + @pyqtProperty(bool, notify = canUpdateFirmwareChanged) + def canUpdateFirmware(self): + if self._controller: + return self._controller.can_update_firmware + return False + # Returns the configuration (material, variant and buildplate) of the current printer @pyqtProperty(QObject, notify = configurationChanged) def printerConfiguration(self): diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index 5c2b8dc19e..681601e3a5 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -9,7 +9,6 @@ from .avr_isp import stk500v2, intelHex from enum import IntEnum -@signalemitter class AvrFirmwareUpdater(QObject): firmwareProgressChanged = pyqtSignal() firmwareUpdateStateChanged = pyqtSignal() diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index ed771d2a04..03c17cd811 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -16,6 +16,7 @@ Cura.MachineAction anchors.fill: parent; property bool printerConnected: Cura.MachineManager.printerConnected property var activeOutputDevice: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null + property var canUpdateFirmware: activeOutputDevice ? activeOutputDevice.canUpdateFirmware : False Item { From b66558f97a913e38c1dcdf6f0ecbe69eaea681d2 Mon Sep 17 00:00:00 2001 From: paukstelis Date: Sun, 19 Aug 2018 22:52:17 -0400 Subject: [PATCH 006/423] Initial commit for passing mesh names to CuraEngine --- cura/ObjectsModel.py | 18 ++++++++++++++++++ plugins/CuraEngineBackend/Cura.proto | 2 ++ plugins/CuraEngineBackend/StartSliceJob.py | 4 ++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/cura/ObjectsModel.py b/cura/ObjectsModel.py index f3c703d424..10d8e16f98 100644 --- a/cura/ObjectsModel.py +++ b/cura/ObjectsModel.py @@ -40,6 +40,9 @@ class ObjectsModel(ListModel): filter_current_build_plate = Application.getInstance().getPreferences().getValue("view/filter_current_build_plate") active_build_plate_number = self._build_plate_number group_nr = 1 + instance = 1 + namecount = [] + for node in DepthFirstIterator(Application.getInstance().getController().getScene().getRoot()): if not isinstance(node, SceneNode): continue @@ -55,6 +58,7 @@ class ObjectsModel(ListModel): if not node.callDecoration("isGroup"): name = node.getName() + else: name = catalog.i18nc("@label", "Group #{group_nr}").format(group_nr = str(group_nr)) group_nr += 1 @@ -63,6 +67,18 @@ class ObjectsModel(ListModel): is_outside_build_area = node.isOutsideBuildArea() else: is_outside_build_area = False + + #check if we already have an instance of the object based on name + duplicate = False + for n in namecount: + if name == n["name"]: + name = "{0}({1})".format(name, n["count"]) + node.setName(name) + n["count"] = n["count"]+1 + duplicate = True + + if not duplicate: + namecount.append({"name" : name, "count" : 1}) nodes.append({ "name": name, @@ -71,8 +87,10 @@ class ObjectsModel(ListModel): "buildPlateNumber": node_build_plate_number, "node": node }) + nodes = sorted(nodes, key=lambda n: n["name"]) self.setItems(nodes) + print(nodes) self.itemsChanged.emit() diff --git a/plugins/CuraEngineBackend/Cura.proto b/plugins/CuraEngineBackend/Cura.proto index 69612210ec..5e0f88f075 100644 --- a/plugins/CuraEngineBackend/Cura.proto +++ b/plugins/CuraEngineBackend/Cura.proto @@ -29,6 +29,8 @@ message Object bytes normals = 3; //An array of 3 floats. bytes indices = 4; //An array of ints. repeated Setting settings = 5; // Setting override per object, overruling the global settings. + //PJP + string name = 6; } message Progress diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 0ebcafdbb2..4e6c53c4fb 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -256,7 +256,7 @@ class StartSliceJob(Job): mesh_data = object.getMeshData() rot_scale = object.getWorldTransformation().getTransposed().getData()[0:3, 0:3] translate = object.getWorldTransformation().getData()[:3, 3] - + # This effectively performs a limited form of MeshData.getTransformed that ignores normals. verts = mesh_data.getVertices() verts = verts.dot(rot_scale) @@ -268,7 +268,7 @@ class StartSliceJob(Job): obj = group_message.addRepeatedMessage("objects") obj.id = id(object) - + obj.name = object.getName() indices = mesh_data.getIndices() if indices is not None: flat_verts = numpy.take(verts, indices.flatten(), axis=0) From fc9c1045c97a857627c93254a5006e8753fa5d4a Mon Sep 17 00:00:00 2001 From: paukstelis Date: Mon, 20 Aug 2018 07:40:28 -0400 Subject: [PATCH 007/423] Basic cleanup --- cura/ObjectsModel.py | 1 - plugins/CuraEngineBackend/Cura.proto | 1 - 2 files changed, 2 deletions(-) diff --git a/cura/ObjectsModel.py b/cura/ObjectsModel.py index 10d8e16f98..1ac0c6247a 100644 --- a/cura/ObjectsModel.py +++ b/cura/ObjectsModel.py @@ -90,7 +90,6 @@ class ObjectsModel(ListModel): nodes = sorted(nodes, key=lambda n: n["name"]) self.setItems(nodes) - print(nodes) self.itemsChanged.emit() diff --git a/plugins/CuraEngineBackend/Cura.proto b/plugins/CuraEngineBackend/Cura.proto index 5e0f88f075..292330576b 100644 --- a/plugins/CuraEngineBackend/Cura.proto +++ b/plugins/CuraEngineBackend/Cura.proto @@ -29,7 +29,6 @@ message Object bytes normals = 3; //An array of 3 floats. bytes indices = 4; //An array of ints. repeated Setting settings = 5; // Setting override per object, overruling the global settings. - //PJP string name = 6; } From b9f1f8c400372bfe4782e7a2fd4d4e0cbefb527f Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 20 Aug 2018 09:48:59 +0100 Subject: [PATCH 008/423] Add machine_extruder_cooling_fan_number setting to specify print cooling fan for each extruder. --- resources/definitions/fdmextruder.def.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/resources/definitions/fdmextruder.def.json b/resources/definitions/fdmextruder.def.json index 3f84ed69a4..19c9e92d18 100644 --- a/resources/definitions/fdmextruder.def.json +++ b/resources/definitions/fdmextruder.def.json @@ -178,7 +178,19 @@ "maximum_value": "machine_height", "settable_per_mesh": false, "settable_per_extruder": true - } + }, + "machine_extruder_cooling_fan_number": + { + "label": "Extruder Print Cooling Fan", + "description": "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder.", + "type": "int", + "default_value": 0, + "minimum_value": "0", + "settable_per_mesh": false, + "settable_per_extruder": true, + "settable_per_meshgroup": false, + "setttable_globally": false + } } }, "platform_adhesion": From a0787a03ea11f149feb897c7d74d20c210cb50f8 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 20 Aug 2018 09:49:31 +0100 Subject: [PATCH 009/423] Added extruder setting field for cooling fan number. --- .../MachineSettingsAction/MachineSettingsAction.qml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index b12f8f8696..c9b47ba3c0 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -433,6 +433,18 @@ Cura.MachineAction property bool allowNegative: true } + Loader + { + id: extruderCoolingFanNumberField + sourceComponent: numericTextFieldWithUnit + property string settingKey: "machine_extruder_cooling_fan_number" + property string label: catalog.i18nc("@label", "Cooling Fan Number") + property string unit: catalog.i18nc("@label", "") + property bool isExtruderSetting: true + property bool forceUpdateOnChange: true + property bool allowNegative: false + } + Item { width: UM.Theme.getSize("default_margin").width; height: UM.Theme.getSize("default_margin").height } Row From 4bea1410b8ca194ed64dec4f53864c89b84667e8 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 22 Aug 2018 14:37:48 +0200 Subject: [PATCH 010/423] Allow printer output devices to set their ability to update firmware --- cura/PrinterOutput/GenericOutputController.py | 2 -- cura/PrinterOutput/PrinterOutputController.py | 7 ++++ cura/PrinterOutput/PrinterOutputModel.py | 6 ++++ plugins/USBPrinting/USBPrinterOutputDevice.py | 8 +++-- .../UpgradeFirmwareMachineAction.qml | 34 ++++++++++++------- 5 files changed, 40 insertions(+), 17 deletions(-) diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index 32ad9d8022..e6310e5bff 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -29,8 +29,6 @@ class GenericOutputController(PrinterOutputController): self._output_device.printersChanged.connect(self._onPrintersChanged) self._active_printer = None - self.can_update_firmware = True - def _onPrintersChanged(self): if self._active_printer: self._active_printer.stateChanged.disconnect(self._onPrinterStateChanged) diff --git a/cura/PrinterOutput/PrinterOutputController.py b/cura/PrinterOutput/PrinterOutputController.py index 4fe5c04a65..eb5f15cceb 100644 --- a/cura/PrinterOutput/PrinterOutputController.py +++ b/cura/PrinterOutput/PrinterOutputController.py @@ -2,6 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. from UM.Logger import Logger +from UM.Signal import Signal MYPY = False if MYPY: @@ -56,3 +57,9 @@ class PrinterOutputController: def sendRawCommand(self, printer: "PrinterOutputModel", command: str): Logger.log("w", "Custom command not implemented in controller") + + canUpdateFirmwareChanged = Signal() + def setCanUpdateFirmware(self, can_update_firmware: bool): + if can_update_firmware != self.can_update_firmware: + self.can_update_firmware = can_update_firmware + self.canUpdateFirmwareChanged.emit() \ No newline at end of file diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index 252fc35080..5d63f6f1ce 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -26,6 +26,7 @@ class PrinterOutputModel(QObject): buildplateChanged = pyqtSignal() cameraChanged = pyqtSignal() configurationChanged = pyqtSignal() + canUpdateFirmwareChanged = pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", number_of_extruders: int = 1, parent=None, firmware_version = "") -> None: super().__init__(parent) @@ -34,6 +35,7 @@ class PrinterOutputModel(QObject): self._name = "" self._key = "" # Unique identifier self._controller = output_controller + self._controller.canUpdateFirmwareChanged.connect(self._onControllerCanUpdateFirmwareChanged) self._extruders = [ExtruderOutputModel(printer = self, position = i) for i in range(number_of_extruders)] self._printer_configuration = ConfigurationModel() # Indicates the current configuration setup in this printer self._head_position = Vector(0, 0, 0) @@ -284,6 +286,10 @@ class PrinterOutputModel(QObject): return self._controller.can_update_firmware return False + # Stub to connect UM.Signal to pyqtSignal + def _onControllerCanUpdateFirmwareChanged(self): + self.canUpdateFirmwareChanged.emit() + # Returns the configuration (material, variant and buildplate) of the current printer @pyqtProperty(QObject, notify = configurationChanged) def printerConfiguration(self): diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index bc2350e50f..957269f155 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -183,7 +183,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): container_stack = CuraApplication.getInstance().getGlobalContainerStack() num_extruders = container_stack.getProperty("machine_extruder_count", "value") # Ensure that a printer is created. - self._printers = [PrinterOutputModel(output_controller=GenericOutputController(self), number_of_extruders=num_extruders)] + controller = GenericOutputController(self) + controller.setCanUpdateFirmware(True) + self._printers = [PrinterOutputModel(output_controller=controller, number_of_extruders=num_extruders)] self._printers[0].updateName(container_stack.getName()) self.setConnectionState(ConnectionState.connected) self._update_thread.start() @@ -353,7 +355,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): elapsed_time = int(time() - self._print_start_time) print_job = self._printers[0].activePrintJob if print_job is None: - print_job = PrintJobOutputModel(output_controller = GenericOutputController(self), name= CuraApplication.getInstance().getPrintInformation().jobName) + controller = GenericOutputController(self) + controller.setCanUpdateFirmware(True) + print_job = PrintJobOutputModel(output_controller = controller, name= CuraApplication.getInstance().getPrintInformation().jobName) print_job.updateState("printing") self._printers[0].updateActivePrintJob(print_job) diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index 03c17cd811..7c15c303b5 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -16,17 +16,17 @@ Cura.MachineAction anchors.fill: parent; property bool printerConnected: Cura.MachineManager.printerConnected property var activeOutputDevice: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null - property var canUpdateFirmware: activeOutputDevice ? activeOutputDevice.canUpdateFirmware : False + property var canUpdateFirmware: activeOutputDevice ? activeOutputDevice.activePrinter.canUpdateFirmware : False - Item + Column { id: upgradeFirmwareMachineAction anchors.fill: parent; UM.I18nCatalog { id: catalog; name:"cura"} + spacing: UM.Theme.getSize("default_margin").height Label { - id: pageTitle width: parent.width text: catalog.i18nc("@title", "Upgrade Firmware") wrapMode: Text.WordWrap @@ -34,9 +34,6 @@ Cura.MachineAction } Label { - id: pageDescription - anchors.top: pageTitle.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height width: parent.width wrapMode: Text.WordWrap text: catalog.i18nc("@label", "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work.") @@ -44,9 +41,6 @@ Cura.MachineAction Label { - id: upgradeText1 - anchors.top: pageDescription.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height width: parent.width wrapMode: Text.WordWrap text: catalog.i18nc("@label", "The firmware shipping with new printers works, but new versions tend to have more features and improvements."); @@ -54,8 +48,6 @@ Cura.MachineAction Row { - anchors.top: upgradeText1.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height anchors.horizontalCenter: parent.horizontalCenter width: childrenRect.width spacing: UM.Theme.getSize("default_margin").width @@ -64,7 +56,7 @@ Cura.MachineAction { id: autoUpgradeButton text: catalog.i18nc("@action:button", "Automatically upgrade Firmware"); - enabled: parent.firmwareName != "" && activeOutputDevice + enabled: parent.firmwareName != "" && canUpdateFirmware onClicked: { activeOutputDevice.updateFirmware(parent.firmwareName) @@ -74,7 +66,7 @@ Cura.MachineAction { id: manualUpgradeButton text: catalog.i18nc("@action:button", "Upload custom Firmware"); - enabled: activeOutputDevice != null + enabled: canUpdateFirmware onClicked: { customFirmwareDialog.open() @@ -82,6 +74,22 @@ Cura.MachineAction } } + Label + { + width: parent.width + wrapMode: Text.WordWrap + visible: !printerConnected + text: catalog.i18nc("@label", "Firmware can not be upgraded because there is no connection with the printer."); + } + + Label + { + width: parent.width + wrapMode: Text.WordWrap + visible: printerConnected && !canUpdateFirmware + text: catalog.i18nc("@label", "Firmware can not be upgraded because the connection with the printer does not support upgrading firmware."); + } + FileDialog { id: customFirmwareDialog From 5f81c6d1f4a0c7f52feaa0d860946a90d762ee82 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 22 Aug 2018 15:21:03 +0200 Subject: [PATCH 011/423] Add a FirmwareUpdater class and make AvrFirmwareUpdater a subclass --- cura/FirmwareUpdater.py | 81 +++++++++++++++++++ plugins/USBPrinting/AvrFirmwareUpdater.py | 77 +----------------- .../qml}/FirmwareUpdateWindow.qml | 0 3 files changed, 85 insertions(+), 73 deletions(-) create mode 100644 cura/FirmwareUpdater.py rename {plugins/USBPrinting => resources/qml}/FirmwareUpdateWindow.qml (100%) diff --git a/cura/FirmwareUpdater.py b/cura/FirmwareUpdater.py new file mode 100644 index 0000000000..ca5997bfb1 --- /dev/null +++ b/cura/FirmwareUpdater.py @@ -0,0 +1,81 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import QObject, QUrl, pyqtSignal, pyqtProperty + +from UM.Resources import Resources +from cura.PrinterOutputDevice import PrinterOutputDevice + +from enum import IntEnum + +class FirmwareUpdater(QObject): + firmwareProgressChanged = pyqtSignal() + firmwareUpdateStateChanged = pyqtSignal() + + def __init__(self, output_device: PrinterOutputDevice) -> None: + self._output_device = output_device + + self._update_firmware_thread = Thread(target=self._updateFirmware, daemon = True) + + self._firmware_view = None + self._firmware_location = None + self._firmware_progress = 0 + self._firmware_update_state = FirmwareUpdateState.idle + + def updateFirmware(self, file): + # the file path could be url-encoded. + if file.startswith("file://"): + self._firmware_location = QUrl(file).toLocalFile() + else: + self._firmware_location = file + self.showFirmwareInterface() + self.setFirmwareUpdateState(FirmwareUpdateState.updating) + self._update_firmware_thread.start() + + def _updateFirmware(self): + raise NotImplementedError("_updateFirmware needs to be implemented") + + def cleanupAfterUpdate(self): + # Clean up for next attempt. + self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) + self._firmware_location = "" + self._onFirmwareProgress(100) + self.setFirmwareUpdateState(FirmwareUpdateState.completed) + + ## Show firmware interface. + # This will create the view if its not already created. + def showFirmwareInterface(self): + if self._firmware_view is None: + path = Resources.getPath(self.ResourceTypes.QmlFiles, "FirmwareUpdateWindow.qml") + self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) + + self._firmware_view.show() + + @pyqtProperty(float, notify = firmwareProgressChanged) + def firmwareProgress(self): + return self._firmware_progress + + @pyqtProperty(int, notify=firmwareUpdateStateChanged) + def firmwareUpdateState(self): + return self._firmware_update_state + + def setFirmwareUpdateState(self, state): + if self._firmware_update_state != state: + self._firmware_update_state = state + self.firmwareUpdateStateChanged.emit() + + # Callback function for firmware update progress. + def _onFirmwareProgress(self, progress, max_progress = 100): + self._firmware_progress = (progress / max_progress) * 100 # Convert to scale of 0-100 + self.firmwareProgressChanged.emit() + + +class FirmwareUpdateState(IntEnum): + idle = 0 + updating = 1 + completed = 2 + unknown_error = 3 + communication_error = 4 + io_error = 5 + firmware_not_found_error = 6 + diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index 681601e3a5..d3028be0e4 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -1,43 +1,16 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt5.QtCore import QObject, QUrl, pyqtSignal, pyqtProperty - from cura.PrinterOutputDevice import PrinterOutputDevice +from cura.FirmwareUpdater import FirmwareUpdater, FirmwareUpdateState from .avr_isp import stk500v2, intelHex -from enum import IntEnum - -class AvrFirmwareUpdater(QObject): - firmwareProgressChanged = pyqtSignal() - firmwareUpdateStateChanged = pyqtSignal() - +class AvrFirmwareUpdater(FirmwareUpdater): def __init__(self, output_device: PrinterOutputDevice) -> None: - self._output_device = output_device - - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon = True) - - self._firmware_view = None - self._firmware_location = None - self._firmware_progress = 0 - self._firmware_update_state = FirmwareUpdateState.idle - - def updateFirmware(self, file): - # the file path could be url-encoded. - if file.startswith("file://"): - self._firmware_location = QUrl(file).toLocalFile() - else: - self._firmware_location = file - self.showFirmwareInterface() - self.setFirmwareUpdateState(FirmwareUpdateState.updating) - self._update_firmware_thread.start() + super().__init__(output_device) def _updateFirmware(self): - # Ensure that other connections are closed. - if self._connection_state != ConnectionState.closed: - self.close() - try: hex_file = intelHex.readHex(self._firmware_location) assert len(hex_file) > 0 @@ -73,49 +46,7 @@ class AvrFirmwareUpdater(QObject): programmer.close() - # Clean up for next attempt. - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) - self._firmware_location = "" - self._onFirmwareProgress(100) - self.setFirmwareUpdateState(FirmwareUpdateState.completed) - # Try to re-connect with the machine again, which must be done on the Qt thread, so we use call later. CuraApplication.getInstance().callLater(self.connect) - ## Show firmware interface. - # This will create the view if its not already created. - def showFirmwareInterface(self): - if self._firmware_view is None: - path = os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "FirmwareUpdateWindow.qml") - self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) - - self._firmware_view.show() - - @pyqtProperty(float, notify = firmwareProgressChanged) - def firmwareProgress(self): - return self._firmware_progress - - @pyqtProperty(int, notify=firmwareUpdateStateChanged) - def firmwareUpdateState(self): - return self._firmware_update_state - - def setFirmwareUpdateState(self, state): - if self._firmware_update_state != state: - self._firmware_update_state = state - self.firmwareUpdateStateChanged.emit() - - # Callback function for firmware update progress. - def _onFirmwareProgress(self, progress, max_progress = 100): - self._firmware_progress = (progress / max_progress) * 100 # Convert to scale of 0-100 - self.firmwareProgressChanged.emit() - - -class FirmwareUpdateState(IntEnum): - idle = 0 - updating = 1 - completed = 2 - unknown_error = 3 - communication_error = 4 - io_error = 5 - firmware_not_found_error = 6 - + self.cleanupAfterUpdate() diff --git a/plugins/USBPrinting/FirmwareUpdateWindow.qml b/resources/qml/FirmwareUpdateWindow.qml similarity index 100% rename from plugins/USBPrinting/FirmwareUpdateWindow.qml rename to resources/qml/FirmwareUpdateWindow.qml From 7b00d6879a5cd197f220e2351686e40d71dcb1d4 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 22 Aug 2018 15:44:11 +0200 Subject: [PATCH 012/423] Factor out USBPrinterManager singleton --- cura/Settings/MachineManager.py | 34 ++++++++++++++++++ .../USBPrinterOutputDeviceManager.py | 35 ------------------- plugins/USBPrinting/__init__.py | 1 - .../UMOCheckupMachineAction.qml | 32 ++++++++--------- .../UpgradeFirmwareMachineAction.qml | 2 +- 5 files changed, 51 insertions(+), 53 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index d65bbfddd9..f330d70225 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -4,6 +4,7 @@ import collections import time from typing import Any, Callable, List, Dict, TYPE_CHECKING, Optional, cast +import platform from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator @@ -16,6 +17,7 @@ from UM.FlameProfiler import pyqtSlot from UM import Util from UM.Logger import Logger from UM.Message import Message +from UM.Resources import Resources from UM.Settings.SettingFunction import SettingFunction from UM.Signal import postponeSignals, CompressTechnique @@ -1531,3 +1533,35 @@ class MachineManager(QObject): with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): self.updateMaterialWithVariant(None) self._updateQualityWithMaterial() + + ## Get default firmware file name if one is specified in the firmware + @pyqtSlot(result = str) + def getDefaultFirmwareName(self): + # Check if there is a valid global container stack + if not self._global_container_stack: + return "" + + # The bottom of the containerstack is the machine definition + machine_id = self._global_container_stack.getBottom().id + machine_has_heated_bed = self._global_container_stack.getProperty("machine_heated_bed", "value") + + baudrate = 250000 + if platform.system() == "Linux": + # Linux prefers a baudrate of 115200 here because older versions of + # pySerial did not support a baudrate of 250000 + baudrate = 115200 + + # If a firmware file is available, it should be specified in the definition for the printer + hex_file = self._global_container_stack.getMetaDataEntry("firmware_file", None) + if machine_has_heated_bed: + hex_file = self._global_container_stack.getMetaDataEntry("firmware_hbk_file", hex_file) + + if hex_file: + try: + return Resources.getPath(cura.CuraApplication.CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) + except FileNotFoundError: + Logger.log("w", "Firmware file %s not found.", hex_file) + return "" + else: + Logger.log("w", "There is no firmware for machine %s.", machine_id) + return "" diff --git a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py index f444e72908..bd207d9d96 100644 --- a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py +++ b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py @@ -2,14 +2,12 @@ # Cura is released under the terms of the LGPLv3 or higher. import threading -import platform import time import serial.tools.list_ports from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal from UM.Logger import Logger -from UM.Resources import Resources from UM.Signal import Signal, signalemitter from UM.OutputDevice.OutputDevicePlugin import OutputDevicePlugin from UM.i18n import i18nCatalog @@ -87,39 +85,6 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin): self._addRemovePorts(port_list) time.sleep(5) - @pyqtSlot(result = str) - def getDefaultFirmwareName(self): - # Check if there is a valid global container stack - global_container_stack = self._application.getGlobalContainerStack() - if not global_container_stack: - Logger.log("e", "There is no global container stack. Can not update firmware.") - return "" - - # The bottom of the containerstack is the machine definition - machine_id = global_container_stack.getBottom().id - machine_has_heated_bed = global_container_stack.getProperty("machine_heated_bed", "value") - - baudrate = 250000 - if platform.system() == "Linux": - # Linux prefers a baudrate of 115200 here because older versions of - # pySerial did not support a baudrate of 250000 - baudrate = 115200 - - # If a firmware file is available, it should be specified in the definition for the printer - hex_file = global_container_stack.getMetaDataEntry("firmware_file", None) - if machine_has_heated_bed: - hex_file = global_container_stack.getMetaDataEntry("firmware_hbk_file", hex_file) - - if hex_file: - try: - return Resources.getPath(CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) - except FileNotFoundError: - Logger.log("w", "Firmware file %s not found.", hex_file) - return "" - else: - Logger.log("w", "There is no firmware for machine %s.", machine_id) - return "" - ## Helper to identify serial ports (and scan for them) def _addRemovePorts(self, serial_ports): # First, find and add all new or changed keys diff --git a/plugins/USBPrinting/__init__.py b/plugins/USBPrinting/__init__.py index fd5488eead..0cb68d3865 100644 --- a/plugins/USBPrinting/__init__.py +++ b/plugins/USBPrinting/__init__.py @@ -14,5 +14,4 @@ def getMetaData(): def register(app): # We are violating the QT API here (as we use a factory, which is technically not allowed). # but we don't really have another means for doing this (and it seems to you know -work-) - qmlRegisterSingletonType(USBPrinterOutputDeviceManager.USBPrinterOutputDeviceManager, "Cura", 1, 0, "USBPrinterManager", USBPrinterOutputDeviceManager.USBPrinterOutputDeviceManager.getInstance) return {"output_device": USBPrinterOutputDeviceManager.USBPrinterOutputDeviceManager(app)} diff --git a/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml b/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml index b92638aa12..4a1d42e248 100644 --- a/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml +++ b/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml @@ -17,7 +17,7 @@ Cura.MachineAction property int rightRow: (checkupMachineAction.width * 0.60) | 0 property bool heatupHotendStarted: false property bool heatupBedStarted: false - property bool usbConnected: Cura.USBPrinterManager.connectedPrinterList.rowCount() > 0 + property bool printerConnected: Cura.MachineManager.printerConnected UM.I18nCatalog { id: catalog; name:"cura"} Label @@ -86,7 +86,7 @@ Cura.MachineAction anchors.left: connectionLabel.right anchors.top: parent.top wrapMode: Text.WordWrap - text: checkupMachineAction.usbConnected ? catalog.i18nc("@info:status","Connected"): catalog.i18nc("@info:status","Not connected") + text: checkupMachineAction.printerConnected ? catalog.i18nc("@info:status","Connected"): catalog.i18nc("@info:status","Not connected") } ////////////////////////////////////////////////////////// Label @@ -97,7 +97,7 @@ Cura.MachineAction anchors.top: connectionLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Min endstop X: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -107,7 +107,7 @@ Cura.MachineAction anchors.top: connectionLabel.bottom wrapMode: Text.WordWrap text: manager.xMinEndstopTestCompleted ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } ////////////////////////////////////////////////////////////// Label @@ -118,7 +118,7 @@ Cura.MachineAction anchors.top: endstopXLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Min endstop Y: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -128,7 +128,7 @@ Cura.MachineAction anchors.top: endstopXLabel.bottom wrapMode: Text.WordWrap text: manager.yMinEndstopTestCompleted ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } ///////////////////////////////////////////////////////////////////// Label @@ -139,7 +139,7 @@ Cura.MachineAction anchors.top: endstopYLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Min endstop Z: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -149,7 +149,7 @@ Cura.MachineAction anchors.top: endstopYLabel.bottom wrapMode: Text.WordWrap text: manager.zMinEndstopTestCompleted ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } //////////////////////////////////////////////////////////// Label @@ -161,7 +161,7 @@ Cura.MachineAction anchors.top: endstopZLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Nozzle temperature check: ") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Label { @@ -171,7 +171,7 @@ Cura.MachineAction anchors.left: nozzleTempLabel.right wrapMode: Text.WordWrap text: catalog.i18nc("@info:status","Not checked") - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } Item { @@ -181,7 +181,7 @@ Cura.MachineAction anchors.top: nozzleTempLabel.top anchors.left: bedTempStatus.right anchors.leftMargin: Math.round(UM.Theme.getSize("default_margin").width/2) - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected Button { text: checkupMachineAction.heatupHotendStarted ? catalog.i18nc("@action:button","Stop Heating") : catalog.i18nc("@action:button","Start Heating") @@ -209,7 +209,7 @@ Cura.MachineAction wrapMode: Text.WordWrap text: manager.hotendTemperature + "°C" font.bold: true - visible: checkupMachineAction.usbConnected + visible: checkupMachineAction.printerConnected } ///////////////////////////////////////////////////////////////////////////// Label @@ -221,7 +221,7 @@ Cura.MachineAction anchors.top: nozzleTempLabel.bottom wrapMode: Text.WordWrap text: catalog.i18nc("@label","Build plate temperature check:") - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed } Label @@ -232,7 +232,7 @@ Cura.MachineAction anchors.left: bedTempLabel.right wrapMode: Text.WordWrap text: manager.bedTestCompleted ? catalog.i18nc("@info:status","Not checked"): catalog.i18nc("@info:status","Checked") - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed } Item { @@ -242,7 +242,7 @@ Cura.MachineAction anchors.top: bedTempLabel.top anchors.left: bedTempStatus.right anchors.leftMargin: Math.round(UM.Theme.getSize("default_margin").width/2) - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed Button { text: checkupMachineAction.heatupBedStarted ?catalog.i18nc("@action:button","Stop Heating") : catalog.i18nc("@action:button","Start Heating") @@ -270,7 +270,7 @@ Cura.MachineAction wrapMode: Text.WordWrap text: manager.bedTemperature + "°C" font.bold: true - visible: checkupMachineAction.usbConnected && manager.hasHeatedBed + visible: checkupMachineAction.printerConnected && manager.hasHeatedBed } Label { diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index 7c15c303b5..0d12f72a0a 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -51,7 +51,7 @@ Cura.MachineAction anchors.horizontalCenter: parent.horizontalCenter width: childrenRect.width spacing: UM.Theme.getSize("default_margin").width - property var firmwareName: Cura.USBPrinterManager.getDefaultFirmwareName() + property var firmwareName: Cura.MachineManager.getDefaultFirmwareName() Button { id: autoUpgradeButton From 5d5223920194e20108d7666e7ce6c8350323728e Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 24 Aug 2018 09:09:49 +0200 Subject: [PATCH 013/423] Code style --- plugins/USBPrinting/USBPrinterOutputDevice.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 957269f155..18373d34d2 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -205,6 +205,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._command_queue.put(command) else: self._sendCommand(command) + def _sendCommand(self, command: Union[str, bytes]): if self._serial is None or self._connection_state != ConnectionState.connected: return From e36f78dd355fba6c9935a2184051f78c770bf30e Mon Sep 17 00:00:00 2001 From: paukstelis Date: Fri, 24 Aug 2018 07:27:34 -0400 Subject: [PATCH 014/423] Clean up whitespace --- cura/ObjectsModel.py | 12 ++++++------ plugins/CuraEngineBackend/StartSliceJob.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cura/ObjectsModel.py b/cura/ObjectsModel.py index 1ac0c6247a..4f3d42e7fe 100644 --- a/cura/ObjectsModel.py +++ b/cura/ObjectsModel.py @@ -71,12 +71,12 @@ class ObjectsModel(ListModel): #check if we already have an instance of the object based on name duplicate = False for n in namecount: - if name == n["name"]: - name = "{0}({1})".format(name, n["count"]) - node.setName(name) - n["count"] = n["count"]+1 - duplicate = True - + if name == n["name"]: + name = "{0}({1})".format(name, n["count"]) + node.setName(name) + n["count"] = n["count"]+1 + duplicate = True + if not duplicate: namecount.append({"name" : name, "count" : 1}) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 4e6c53c4fb..2430485e30 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -256,7 +256,7 @@ class StartSliceJob(Job): mesh_data = object.getMeshData() rot_scale = object.getWorldTransformation().getTransposed().getData()[0:3, 0:3] translate = object.getWorldTransformation().getData()[:3, 3] - + # This effectively performs a limited form of MeshData.getTransformed that ignores normals. verts = mesh_data.getVertices() verts = verts.dot(rot_scale) From 77f99ecf20a6f70662ba0304366567d602e411dc Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 24 Aug 2018 15:48:11 +0200 Subject: [PATCH 015/423] Moved FirmwareUpdater to cura.PrinterOutput --- cura/{ => PrinterOutput}/FirmwareUpdater.py | 0 plugins/USBPrinting/AvrFirmwareUpdater.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename cura/{ => PrinterOutput}/FirmwareUpdater.py (100%) diff --git a/cura/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py similarity index 100% rename from cura/FirmwareUpdater.py rename to cura/PrinterOutput/FirmwareUpdater.py diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index d3028be0e4..171c81d557 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. from cura.PrinterOutputDevice import PrinterOutputDevice -from cura.FirmwareUpdater import FirmwareUpdater, FirmwareUpdateState +from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater, FirmwareUpdateState from .avr_isp import stk500v2, intelHex From 6dbf0a5fb705f36547c794c42ea7d8c3c69a4fa0 Mon Sep 17 00:00:00 2001 From: Amanda de Castilho Date: Wed, 29 Aug 2018 00:39:13 -0700 Subject: [PATCH 016/423] Create DisplayFilenameAndLayerOnLCD This plugin inserts M117 into the g-code so that the filename is displayed on the LCD and updates at each layer to display the current layer --- .../scripts/DisplayFilenameAndLayerOnLCD | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD diff --git a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD new file mode 100644 index 0000000000..f7ddd01e1e --- /dev/null +++ b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD @@ -0,0 +1,50 @@ +# Cura PostProcessingPlugin +# Author: Amanda de Castilho +# Date: August 28, 2018 + +# Description: This plugin inserts a line at the start of each layer, +# M117 displays the filename and layer height to the LCD +# ** user must enter 'filename' +# ** future update: include actual filename + +from ..Script import Script + +class DisplayFilenameAndLayerOnLCD(Script): + def __init__(self): + super().__init__() + + def getSettingDataString(self): + return """{ + "name": "Display filename and layer on LCD", + "key": "DisplayFilenameAndLayerOnLCD", + "metadata": {}, + "version": 2, + "settings": + { + "name": + { + "label": "filename", + "description": "Enter filename", + "type": "str", + "default_value": "default" + } + } + }""" + + def execute(self, data): + name = self.getSettingValueByKey("name") + lcd_text = "M117 " + name + " layer: " + i = 0 + for layer in data: + display_text = lcd_text + str(i) + layer_index = data.index(layer) + lines = layer.split("\n") + for line in lines: + if line.startswith(";LAYER:"): + line_index = lines.index(line) + lines.insert(line_index + 1, display_text) + i += 1 + final_lines = "\n".join(lines) + data[layer_index] = final_lines + + return data From a5baa9008637b7f28a9c5c198671f8bb492c2930 Mon Sep 17 00:00:00 2001 From: Amanda de Castilho Date: Wed, 29 Aug 2018 08:09:57 -0700 Subject: [PATCH 017/423] Rename DisplayFilenameAndLayerOnLCD to DisplayFilenameAndLayerOnLCD.py added the .py extention --- ...splayFilenameAndLayerOnLCD => DisplayFilenameAndLayerOnLCD.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename plugins/PostProcessingPlugin/scripts/{DisplayFilenameAndLayerOnLCD => DisplayFilenameAndLayerOnLCD.py} (100%) diff --git a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py similarity index 100% rename from plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD rename to plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py From f7fbc685d8ffa8ebebc7aa887e4045a6a373d2d8 Mon Sep 17 00:00:00 2001 From: Amanda de Castilho Date: Wed, 29 Aug 2018 08:43:16 -0700 Subject: [PATCH 018/423] Update DisplayFilenameAndLayerOnLCD.py changed so that actual filename is displayed (or alternatively user can enter text to display) to LCD during print --- .../scripts/DisplayFilenameAndLayerOnLCD.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py index f7ddd01e1e..2ae07f914c 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py @@ -3,11 +3,11 @@ # Date: August 28, 2018 # Description: This plugin inserts a line at the start of each layer, -# M117 displays the filename and layer height to the LCD -# ** user must enter 'filename' -# ** future update: include actual filename +# M117 - displays the filename and layer height to the LCD +# Alternatively, user can override the filename to display alt text + layer height -from ..Script import Script +..Script import Script +from UM.Application import Application class DisplayFilenameAndLayerOnLCD(Script): def __init__(self): @@ -23,16 +23,19 @@ class DisplayFilenameAndLayerOnLCD(Script): { "name": { - "label": "filename", - "description": "Enter filename", + "label": "text to display:", + "description": "By default the current filename will be displayed on the LCD. Enter text here to override the filename and display something else.", "type": "str", - "default_value": "default" + "default_value": "" } } }""" def execute(self, data): - name = self.getSettingValueByKey("name") + if self.getSettingValueByKey("name") != "": + name = self.getSettingValueByKey("name") + else: + name = Application.getInstance().getPrintInformation().jobName lcd_text = "M117 " + name + " layer: " i = 0 for layer in data: From 7e7f2aab6b9846ca9235d302250308c50c94a10c Mon Sep 17 00:00:00 2001 From: Amanda de Castilho Date: Wed, 29 Aug 2018 09:48:37 -0700 Subject: [PATCH 019/423] Update DisplayFilenameAndLayerOnLCD.py --- .../scripts/DisplayFilenameAndLayerOnLCD.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py index 2ae07f914c..9fd9e08d7d 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py @@ -6,7 +6,7 @@ # M117 - displays the filename and layer height to the LCD # Alternatively, user can override the filename to display alt text + layer height -..Script import Script +from ..Script import Script from UM.Application import Application class DisplayFilenameAndLayerOnLCD(Script): From 53a0abd230fb4db97ba3e86556d843185d3794bc Mon Sep 17 00:00:00 2001 From: paukstelis Date: Wed, 29 Aug 2018 17:43:22 -0400 Subject: [PATCH 020/423] Convert name check to defaultdict --- cura/ObjectsModel.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/cura/ObjectsModel.py b/cura/ObjectsModel.py index 4f3d42e7fe..8354540783 100644 --- a/cura/ObjectsModel.py +++ b/cura/ObjectsModel.py @@ -9,6 +9,7 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.SceneNode import SceneNode from UM.Scene.Selection import Selection from UM.i18n import i18nCatalog +from collections import defaultdict catalog = i18nCatalog("cura") @@ -40,9 +41,8 @@ class ObjectsModel(ListModel): filter_current_build_plate = Application.getInstance().getPreferences().getValue("view/filter_current_build_plate") active_build_plate_number = self._build_plate_number group_nr = 1 - instance = 1 - namecount = [] - + name_count_dict = defaultdict(int) + for node in DepthFirstIterator(Application.getInstance().getController().getScene().getRoot()): if not isinstance(node, SceneNode): continue @@ -69,16 +69,12 @@ class ObjectsModel(ListModel): is_outside_build_area = False #check if we already have an instance of the object based on name - duplicate = False - for n in namecount: - if name == n["name"]: - name = "{0}({1})".format(name, n["count"]) - node.setName(name) - n["count"] = n["count"]+1 - duplicate = True - - if not duplicate: - namecount.append({"name" : name, "count" : 1}) + name_count_dict[name] += 1 + name_count = name_count_dict[name] + + if name_count > 1: + name = "{0}({1})".format(name, name_count-1) + node.setName(name) nodes.append({ "name": name, @@ -87,7 +83,7 @@ class ObjectsModel(ListModel): "buildPlateNumber": node_build_plate_number, "node": node }) - + nodes = sorted(nodes, key=lambda n: n["name"]) self.setItems(nodes) From 9739dbd5f69597b281b61f773d9d6418e0e3eaae Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 2 Sep 2018 17:18:04 +0200 Subject: [PATCH 021/423] Fix missing import --- cura/PrinterOutput/FirmwareUpdater.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index ca5997bfb1..17089ad17f 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -7,6 +7,7 @@ from UM.Resources import Resources from cura.PrinterOutputDevice import PrinterOutputDevice from enum import IntEnum +from threading import Thread class FirmwareUpdater(QObject): firmwareProgressChanged = pyqtSignal() From 43b4ca30440a56b843a538ad464e15fccb2fc5f5 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 2 Sep 2018 18:02:33 +0200 Subject: [PATCH 022/423] Fix code-style --- cura/PrinterOutput/FirmwareUpdater.py | 2 +- plugins/USBPrinting/USBPrinterOutputDevice.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 17089ad17f..e7ffc2a2b5 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -16,7 +16,7 @@ class FirmwareUpdater(QObject): def __init__(self, output_device: PrinterOutputDevice) -> None: self._output_device = output_device - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon = True) + self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) self._firmware_view = None self._firmware_location = None diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 18373d34d2..b04b51314c 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -55,7 +55,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._all_baud_rates = [115200, 250000, 230400, 57600, 38400, 19200, 9600] # Instead of using a timer, we really need the update to be as a thread, as reading from serial can block. - self._update_thread = Thread(target=self._update, daemon = True) + self._update_thread = Thread(target=self._update, daemon=True) self._last_temperature_request = None # type: Optional[int] @@ -358,7 +358,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if print_job is None: controller = GenericOutputController(self) controller.setCanUpdateFirmware(True) - print_job = PrintJobOutputModel(output_controller = controller, name= CuraApplication.getInstance().getPrintInformation().jobName) + print_job = PrintJobOutputModel(output_controller=controller, name=CuraApplication.getInstance().getPrintInformation().jobName) print_job.updateState("printing") self._printers[0].updateActivePrintJob(print_job) From 4a5451576d1894b7eb40bda7f27ac81a20ea6c0f Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 2 Sep 2018 18:07:30 +0200 Subject: [PATCH 023/423] Update copyright --- cura/PrinterOutput/PrinterOutputController.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PrinterOutput/PrinterOutputController.py b/cura/PrinterOutput/PrinterOutputController.py index eb5f15cceb..dd2276d771 100644 --- a/cura/PrinterOutput/PrinterOutputController.py +++ b/cura/PrinterOutput/PrinterOutputController.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from UM.Logger import Logger From 28324ff2f6b36a26246290db7d1976d53502932e Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 7 Sep 2018 15:28:35 +0200 Subject: [PATCH 024/423] Monitor Tab - Font improvements Contributes to CL-1046 --- .../UM3NetworkPrinting/resources/qml/ClusterControlItem.qml | 2 +- .../resources/qml/PrintCoreConfiguration.qml | 2 +- plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 1164e383db..529566a7eb 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -337,7 +337,7 @@ Component { id: printJobName text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" - font: UM.Theme.getFont("default_bold") + font: UM.Theme.getFont("default") anchors.left: parent.left anchors.right: contextButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index 0ae1fec920..b2f4e85f9a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -67,7 +67,7 @@ Item } return "" } - font: UM.Theme.getFont("default_bold") + font: UM.Theme.getFont("default") elide: Text.ElideRight width: parent.width } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index f39b430e19..ee96887969 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -62,7 +62,7 @@ Item { id: printJobName text: printJob.name - font: UM.Theme.getFont("default_bold") + font: UM.Theme.getFont("default") width: parent.width elide: Text.ElideRight } @@ -105,7 +105,6 @@ Item Label { id: totalTimeLabel - opacity: 0.6 anchors.bottom: parent.bottom anchors.right: parent.right font: UM.Theme.getFont("default") From 13717d3ce6895f9ceb60c0fe61fb0e2937253261 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 7 Sep 2018 16:05:24 +0200 Subject: [PATCH 025/423] Monitor Tab - Fix -1h -1m bug Contributes to CL-1047 --- .../resources/qml/ClusterControlItem.qml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 529566a7eb..69db8843d1 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -668,7 +668,12 @@ Component case "queued": return catalog.i18nc("@label:status", "Action required") default: - OutputDevice.formatDuration(modelData.activePrintJob.timeTotal - modelData.activePrintJob.timeElapsed) + /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent + remaining time from ever being less than 0. Negative durations cause + strange behavior such as displaying "-1h -1m". */ + var activeJob = modelData.activePrintJob + var remaining = activeJob.timeTotal - activeJob.timeElapsed; + OutputDevice.formatDuration(Math.max(remaining, 0)) } } From 90e8c41fa2976ae17c4dc9836ffc63dfacd44ef8 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 7 Sep 2018 16:09:25 +0200 Subject: [PATCH 026/423] Show time remaining instead of "Paused" Contributes to CL-1047 --- .../resources/qml/ClusterControlItem.qml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 69db8843d1..d6c7dd7a8b 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -645,6 +645,12 @@ Component return "" } + /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining + time from ever being less than 0. Negative durations cause strange behavior such + as displaying "-1h -1m". */ + var activeJob = modelData.activePrintJob + var remainingTime = Math.max(activeJob.timeTotal - activeJob.timeElapsed, 0); + switch(modelData.activePrintJob.state) { case "wait_cleanup": @@ -662,18 +668,13 @@ Component case "pausing": return catalog.i18nc("@label:status", "Pausing") case "paused": - return catalog.i18nc("@label:status", "Paused") + return OutputDevice.formatDuration( remainingTime ) case "resuming": return catalog.i18nc("@label:status", "Resuming") case "queued": return catalog.i18nc("@label:status", "Action required") default: - /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent - remaining time from ever being less than 0. Negative durations cause - strange behavior such as displaying "-1h -1m". */ - var activeJob = modelData.activePrintJob - var remaining = activeJob.timeTotal - activeJob.timeElapsed; - OutputDevice.formatDuration(Math.max(remaining, 0)) + return OutputDevice.formatDuration( remainingTime ) } } From 97e8db577aed4813c973df47750ff08e5c333d0b Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 7 Sep 2018 16:45:30 +0200 Subject: [PATCH 027/423] Monitor Tab - Add grey monitor tab text Contributes to CL-1047 --- .../UM3NetworkPrinting/resources/qml/ClusterControlItem.qml | 2 +- resources/themes/cura-light/theme.json | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index d6c7dd7a8b..90ceb1ed6e 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -223,7 +223,7 @@ Component width: parent.width elide: Text.ElideRight font: UM.Theme.getFont("default") - opacity: 0.6 + color: UM.Theme.getColor("monitor_secondary_text") } } diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index c408146669..c70aa512cf 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -321,7 +321,9 @@ "favorites_header_hover": [245, 245, 245, 255], "favorites_header_text": [31, 36, 39, 255], "favorites_header_text_hover": [31, 36, 39, 255], - "favorites_row_selected": [196, 239, 255, 255] + "favorites_row_selected": [196, 239, 255, 255], + + "monitor_secondary_text": [153, 153, 153, 255] }, "sizes": { From 79aeca9663fae958b2a28ad79f905bfa88aadd8e Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 7 Sep 2018 16:46:11 +0200 Subject: [PATCH 028/423] Monitor Tab - Grey progress bar for pause/abort Contributes to CL-1047 --- .../resources/qml/ClusterControlItem.qml | 39 +++++++++++++++---- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 90ceb1ed6e..9d6c31a73f 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -638,19 +638,24 @@ Component style: ProgressBarStyle { + property var remainingTime: + { + if(modelData.activePrintJob == null) + { + return 0 + } + /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining + time from ever being less than 0. Negative durations cause strange behavior such + as displaying "-1h -1m". */ + var activeJob = modelData.activePrintJob + return Math.max(activeJob.timeTotal - activeJob.timeElapsed, 0); + } property var progressText: { if(modelData.activePrintJob == null) { return "" } - - /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining - time from ever being less than 0. Negative durations cause strange behavior such - as displaying "-1h -1m". */ - var activeJob = modelData.activePrintJob - var remainingTime = Math.max(activeJob.timeTotal - activeJob.timeElapsed, 0); - switch(modelData.activePrintJob.state) { case "wait_cleanup": @@ -663,6 +668,7 @@ Component case "sent_to_printer": return catalog.i18nc("@label:status", "Preparing") case "aborted": + return catalog.i18nc("@label:status", "Aborted") case "wait_user_action": return catalog.i18nc("@label:status", "Aborted") case "pausing": @@ -687,7 +693,24 @@ Component progress: Rectangle { - color: UM.Theme.getColor("primary") + color: + { + var state = modelData.activePrintJob.state + var deactiveStates = [ + "pausing", + "paused", + "resuming", + "wait_cleanup" + ] + if(deactiveStates.indexOf(state) > -1 && remainingTime > 0) + { + return UM.Theme.getColor("monitor_secondary_text") + } + else + { + return UM.Theme.getColor("primary") + } + } id: progressItem function getTextOffset() { From 90426749a294382a7b6899b3e28a7e65b238d4c5 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 10 Sep 2018 11:35:58 +0200 Subject: [PATCH 029/423] Change deactiveStates to inactiveStates Contributes to CL-1047 --- .../UM3NetworkPrinting/resources/qml/ClusterControlItem.qml | 4 ++-- .../UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 2 +- resources/themes/cura-light/theme.json | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 9d6c31a73f..aee374c95c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -696,13 +696,13 @@ Component color: { var state = modelData.activePrintJob.state - var deactiveStates = [ + var inactiveStates = [ "pausing", "paused", "resuming", "wait_cleanup" ] - if(deactiveStates.indexOf(state) > -1 && remainingTime > 0) + if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) { return UM.Theme.getColor("monitor_secondary_text") } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index ee96887969..3e36ec6534 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -10,7 +10,7 @@ Item { id: base property var printJob: null - property var shadowRadius: 5 + property var shadowRadius: 5 * screenScaleFactor function getPrettyTime(time) { return OutputDevice.formatDuration(time) diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index c70aa512cf..61f60e034c 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -471,6 +471,8 @@ "toolbox_progress_bar": [8.0, 0.5], "toolbox_chart_row": [1.0, 2.0], "toolbox_action_button": [8.0, 2.5], - "toolbox_loader": [2.0, 2.0] + "toolbox_loader": [2.0, 2.0], + + "drop_shadow_radius": [1.0, 1.0] } } From 0d67420601b93d1eb32e075e7509e6bf281c930e Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 10 Sep 2018 13:38:26 +0200 Subject: [PATCH 030/423] Monitor Tab - Accordion-style printer blocks Includes some unsuccessful attempts at scaling the outer-shadow Contributes to CL-1048 --- .../resources/qml/ClusterControlItem.qml | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index aee374c95c..4e5b875457 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -15,7 +15,7 @@ Component { id: base property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. - + property var shadowRadius: 5 * screenScaleFactor property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. visible: OutputDevice != null anchors.fill: parent @@ -82,6 +82,8 @@ Component ListView { + id: printer_list + property var current_index: -1 anchors { top: parent.top @@ -105,17 +107,23 @@ Component anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter id: base - property var shadowRadius: 5 + property var shadowRadius: 5 * screenScaleFactor property var collapsed: true layer.enabled: true layer.effect: DropShadow { - radius: base.shadowRadius + radius: 5 * screenScaleFactor verticalOffset: 2 color: "#3F000000" // 25% shadow } + Connections + { + target: printer_list + onCurrent_indexChanged: { base.collapsed = printer_list.current_index != model.index } + } + Item { id: printerInfo @@ -131,7 +139,17 @@ Component MouseArea { anchors.fill: parent - onClicked: base.collapsed = !base.collapsed + onClicked: + { + + if (base.collapsed) { + printer_list.current_index = model.index + } + else + { + printer_list.current_index = -1 + } + } } Item From 1c8b086403a345a71c6dd0d07e596c76f51ed480 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 10 Sep 2018 14:35:05 +0200 Subject: [PATCH 031/423] Improve inactive coloring Contributes to CL-1048 --- .../resources/qml/ClusterControlItem.qml | 61 ++++++++++++++++--- resources/themes/cura-light/theme.json | 5 +- 2 files changed, 56 insertions(+), 10 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 4e5b875457..93c29708b2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -106,6 +106,17 @@ Component height: childrenRect.height + UM.Theme.getSize("default_margin").height anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter + color: + { + if(modelData.state == "disabled") + { + return UM.Theme.getColor("monitor_background_inactive") + } + else + { + return UM.Theme.getColor("monitor_background_active") + } + } id: base property var shadowRadius: 5 * screenScaleFactor property var collapsed: true @@ -141,7 +152,6 @@ Component anchors.fill: parent onClicked: { - if (base.collapsed) { printer_list.current_index = model.index } @@ -185,7 +195,7 @@ Component { if(modelData.state == "disabled") { - return UM.Theme.getColor("setting_control_disabled") + return UM.Theme.getColor("monitor_text_inactive") } if(modelData.activePrintJob != undefined) @@ -193,7 +203,7 @@ Component return UM.Theme.getColor("primary") } - return UM.Theme.getColor("setting_control_disabled") + return UM.Theme.getColor("monitor_text_inactive") } } } @@ -241,7 +251,7 @@ Component width: parent.width elide: Text.ElideRight font: UM.Theme.getFont("default") - color: UM.Theme.getColor("monitor_secondary_text") + color: UM.Theme.getColor("monitor_text_inactive") } } @@ -274,8 +284,16 @@ Component Rectangle { id: topSpacer - color: UM.Theme.getColor("viewport_background") - height: 2 + color: + { + if(modelData.state == "disabled") + { + return UM.Theme.getColor("monitor_lining_inactive") + } + return UM.Theme.getColor("viewport_background") + } + // UM.Theme.getColor("viewport_background") + height: 1 anchors { left: parent.left @@ -288,7 +306,14 @@ Component PrinterFamilyPill { id: printerFamilyPill - color: UM.Theme.getColor("viewport_background") + color: + { + if(modelData.state == "disabled") + { + return "transparent" + } + return UM.Theme.getColor("viewport_background") + } anchors.top: topSpacer.bottom anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height text: modelData.type @@ -722,7 +747,7 @@ Component ] if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) { - return UM.Theme.getColor("monitor_secondary_text") + return UM.Theme.getColor("monitor_background_inactive") } else { @@ -749,7 +774,25 @@ Component anchors.leftMargin: getTextOffset() text: progressText anchors.verticalCenter: parent.verticalCenter - color: progressItem.width + progressLabel.width < control.width ? "black" : "white" + // color: progressItem.width + progressLabel.width < control.width ? "black" : "white" + color: + { + var state = modelData.activePrintJob.state + var inactiveStates = [ + "pausing", + "paused", + "resuming", + "wait_cleanup" + ] + if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) + { + return "black" + } + else + { + return progressItem.width + progressLabel.width < control.width ? "black" : "white" + } + } width: contentWidth font: UM.Theme.getFont("default") } diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 61f60e034c..43d892c34c 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -323,7 +323,10 @@ "favorites_header_text_hover": [31, 36, 39, 255], "favorites_row_selected": [196, 239, 255, 255], - "monitor_secondary_text": [153, 153, 153, 255] + "monitor_text_inactive": [154, 154, 154, 255], + "monitor_background_inactive": [240, 240, 240, 255], + "monitor_background_active": [255, 255, 255, 255], + "monitor_lining_inactive": [230, 230, 230, 255] }, "sizes": { From 333cea4e6d8f13f6af25c8c7a464afe04ccba5d4 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 10 Sep 2018 15:06:19 +0200 Subject: [PATCH 032/423] Some tweaks were not really improvements Contributes to CL-1048 --- .../resources/qml/ClusterControlItem.qml | 23 +++---------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 93c29708b2..889235c023 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -747,7 +747,7 @@ Component ] if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) { - return UM.Theme.getColor("monitor_background_inactive") + return UM.Theme.getColor("monitor_text_inactive") } else { @@ -757,7 +757,7 @@ Component id: progressItem function getTextOffset() { - if(progressItem.width + progressLabel.width < control.width) + if(progressItem.width + progressLabel.width + 16 < control.width) { return progressItem.width + UM.Theme.getSize("default_margin").width } @@ -774,24 +774,7 @@ Component anchors.leftMargin: getTextOffset() text: progressText anchors.verticalCenter: parent.verticalCenter - // color: progressItem.width + progressLabel.width < control.width ? "black" : "white" - color: - { - var state = modelData.activePrintJob.state - var inactiveStates = [ - "pausing", - "paused", - "resuming", - "wait_cleanup" - ] - if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) - { - return "black" - } - else - { - return progressItem.width + progressLabel.width < control.width ? "black" : "white" - } + color: progressItem.width + progressLabel.width < control.width ? "black" : "white" } width: contentWidth font: UM.Theme.getFont("default") From ac5a038065caa19b06ba3fc17222599a99a85608 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 11 Sep 2018 10:27:50 +0200 Subject: [PATCH 033/423] Monitor Tab - Fix syntax error Contributes to CL-1048 --- plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 889235c023..2f65983ac4 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -775,7 +775,6 @@ Component text: progressText anchors.verticalCenter: parent.verticalCenter color: progressItem.width + progressLabel.width < control.width ? "black" : "white" - } width: contentWidth font: UM.Theme.getFont("default") } From e7704ede3c8c10562ddd9303a5768cce8a1f023c Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 11 Sep 2018 17:01:26 +0200 Subject: [PATCH 034/423] Monitor Tab - Fix queue/manage queue alignment Contributes to CL-1052 --- .../UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml | 2 +- .../UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index 71b598d05c..3832d6eace 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -26,7 +26,7 @@ Component Label { id: manageQueueLabel - anchors.rightMargin: 4 * UM.Theme.getSize("default_margin").width + anchors.rightMargin: 3 * UM.Theme.getSize("default_margin").width anchors.right: queuedPrintJobs.right anchors.bottom: queuedLabel.bottom text: catalog.i18nc("@label link to connect manager", "Manage queue") diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 3e36ec6534..58be8c1638 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -16,6 +16,8 @@ Item return OutputDevice.formatDuration(time) } + width: parent.width + UM.I18nCatalog { id: catalog @@ -54,7 +56,7 @@ Item bottom: parent.bottom left: parent.left right: parent.horizontalCenter - margins: 2 * UM.Theme.getSize("default_margin").width + margins: UM.Theme.getSize("wide_margin").width rightMargin: UM.Theme.getSize("default_margin").width } @@ -124,6 +126,7 @@ Item right: parent.right margins: 2 * UM.Theme.getSize("default_margin").width leftMargin: UM.Theme.getSize("default_margin").width + rightMargin: UM.Theme.getSize("default_margin").width } Label From e51089a88039498f390c506f0ecb64533a55a764 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 12 Sep 2018 13:03:12 +0200 Subject: [PATCH 035/423] Mointor Tab - CL-1046 Make fonts bold --- plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml | 2 +- plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 2f65983ac4..a5145cc201 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -380,7 +380,7 @@ Component { id: printJobName text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" - font: UM.Theme.getFont("default") + font: UM.Theme.getFont("default_bold") anchors.left: parent.left anchors.right: contextButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 58be8c1638..005c274a29 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -64,7 +64,7 @@ Item { id: printJobName text: printJob.name - font: UM.Theme.getFont("default") + font: UM.Theme.getFont("default_bold") width: parent.width elide: Text.ElideRight } From 0a01e7c25b6ca470396452cf5a25cf177d899537 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 12 Sep 2018 16:31:59 +0200 Subject: [PATCH 036/423] Monitor Tab - Improved camera icon - Fixed: Camera icon is too small, and the icon does not look centred - Fixed: No hover effect for the camera button Contributes to CL-1049 --- .../resources/qml/ClusterControlItem.qml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index a5145cc201..8ad6e5ea87 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -628,24 +628,28 @@ Component Rectangle { - id: showCameraIcon - width: 35 * screenScaleFactor + id: showCameraButton + width: 36 * screenScaleFactor height: width radius: 0.5 * width anchors.left: parent.left anchors.bottom: printJobPreview.bottom - color: UM.Theme.getColor("setting_control_border_highlight") - Image + color: showCameraMouseArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary") + UM.RecolorImage { - width: parent.width + id: showCameraIcon + width: parent.width - 1 height: width - anchors.right: parent.right - anchors.rightMargin: parent.rightMargin + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + color: UM.Theme.getColor("primary_text") source: "../svg/camera-icon.svg" } MouseArea { + id: showCameraMouseArea anchors.fill:parent + hoverEnabled: true onClicked: { OutputDevice.setActiveCamera(modelData.camera) From dccc95f81716dac465695cc4dd997136f250199a Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 12 Sep 2018 16:46:18 +0200 Subject: [PATCH 037/423] Monitor Tab - Camera button toggles Contributes to CL-1049 --- .../resources/qml/ClusterControlItem.qml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 8ad6e5ea87..79c64defd6 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -652,7 +652,14 @@ Component hoverEnabled: true onClicked: { - OutputDevice.setActiveCamera(modelData.camera) + if (OutputDevice.activeCamera !== null) + { + OutputDevice.setActiveCamera(null) + } + else + { + OutputDevice.setActiveCamera(modelData.camera) + } } } } From 08d5e48407a39555fc138a2d1a3105f6ce1d2e4e Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 12 Sep 2018 16:52:26 +0200 Subject: [PATCH 038/423] Monitor Tab - Create reusable button Contributes to CL-1049 --- .../resources/qml/ClusterControlItem.qml | 37 ++------------- .../resources/qml/DotButton.qml | 47 +++++++++++++++++++ 2 files changed, 52 insertions(+), 32 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/resources/qml/DotButton.qml diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 79c64defd6..c9fc0bc46c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -626,41 +626,14 @@ Component color: "black" } - Rectangle + DotButton { id: showCameraButton - width: 36 * screenScaleFactor - height: width - radius: 0.5 * width - anchors.left: parent.left - anchors.bottom: printJobPreview.bottom - color: showCameraMouseArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary") - UM.RecolorImage + iconSource: "../svg/camera-icon.svg" + anchors { - id: showCameraIcon - width: parent.width - 1 - height: width - anchors.verticalCenter: parent.verticalCenter - anchors.horizontalCenter: parent.horizontalCenter - color: UM.Theme.getColor("primary_text") - source: "../svg/camera-icon.svg" - } - MouseArea - { - id: showCameraMouseArea - anchors.fill:parent - hoverEnabled: true - onClicked: - { - if (OutputDevice.activeCamera !== null) - { - OutputDevice.setActiveCamera(null) - } - else - { - OutputDevice.setActiveCamera(modelData.camera) - } - } + left: parent.left + bottom: printJobPreview.bottom } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/DotButton.qml b/plugins/UM3NetworkPrinting/resources/qml/DotButton.qml new file mode 100644 index 0000000000..e36634fc5c --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/DotButton.qml @@ -0,0 +1,47 @@ +import QtQuick 2.3 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.3 +import QtQuick.Controls 2.0 as Controls2 +import QtGraphicalEffects 1.0 + +import UM 1.3 as UM +import Cura 1.0 as Cura + +Rectangle +{ + property var iconSource: null + + width: 36 * screenScaleFactor + height: width + radius: 0.5 * width + color: clickArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary") + + UM.RecolorImage + { + id: icon + width: parent.width - 1 + height: width + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + color: UM.Theme.getColor("primary_text") + source: iconSource + } + + MouseArea + { + id: clickArea + anchors.fill:parent + hoverEnabled: true + onClicked: + { + if (OutputDevice.activeCamera !== null) + { + OutputDevice.setActiveCamera(null) + } + else + { + OutputDevice.setActiveCamera(modelData.camera) + } + } + } +} \ No newline at end of file From 0b66bf0448ae7edda6d82a435e90f528c4a9d87b Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 12 Sep 2018 17:07:10 +0200 Subject: [PATCH 039/423] Monitor Tab - Use camera button on camera stream - Fixes: Video feed close button is always out of sight - Makes improvement to camera icon Contributes to CL-1049 --- .../qml/{DotButton.qml => CameraButton.qml} | 2 +- .../resources/qml/ClusterControlItem.qml | 2 +- .../resources/qml/PrinterVideoStream.qml | 66 +++++++++++-------- .../resources/svg/camera-icon.svg | 10 +-- 4 files changed, 47 insertions(+), 33 deletions(-) rename plugins/UM3NetworkPrinting/resources/qml/{DotButton.qml => CameraButton.qml} (97%) diff --git a/plugins/UM3NetworkPrinting/resources/qml/DotButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml similarity index 97% rename from plugins/UM3NetworkPrinting/resources/qml/DotButton.qml rename to plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index e36634fc5c..1ceebccf89 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/DotButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -19,7 +19,7 @@ Rectangle UM.RecolorImage { id: icon - width: parent.width - 1 + width: parent.width / 2 height: width anchors.verticalCenter: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index c9fc0bc46c..52fe0f544a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -626,7 +626,7 @@ Component color: "black" } - DotButton + CameraButton { id: showCameraButton iconSource: "../svg/camera-icon.svg" diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index 74c8ec8483..c193d0ed71 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -23,38 +23,50 @@ Item z: 0 } - Button + CameraButton { - id: backButton - anchors.bottom: cameraImage.top - anchors.bottomMargin: UM.Theme.getSize("default_margin").width - anchors.right: cameraImage.right - - // TODO: Hardcoded sizes - width: 20 * screenScaleFactor - height: 20 * screenScaleFactor - - onClicked: OutputDevice.setActiveCamera(null) - - style: ButtonStyle + id: closeCameraButton + iconSource: UM.Theme.getIcon("cross1") + anchors { - label: Item - { - UM.RecolorImage - { - anchors.verticalCenter: parent.verticalCenter - anchors.horizontalCenter: parent.horizontalCenter - width: control.width - height: control.height - sourceSize.width: width - sourceSize.height: width - source: UM.Theme.getIcon("cross1") - } - } - background: Item {} + top: cameraImage.top + topMargin: UM.Theme.getSize("default_margin").height + right: cameraImage.right + rightMargin: UM.Theme.getSize("default_margin").width } + z: 999 } + // Button + // { + // id: backButton + + + // // TODO: Hardcoded sizes + // width: 20 * screenScaleFactor + // height: 20 * screenScaleFactor + + // onClicked: OutputDevice.setActiveCamera(null) + + // style: ButtonStyle + // { + // label: Item + // { + // UM.RecolorImage + // { + // anchors.verticalCenter: parent.verticalCenter + // anchors.horizontalCenter: parent.horizontalCenter + // width: control.width + // height: control.height + // sourceSize.width: width + // sourceSize.height: width + // source: UM.Theme.getIcon("cross1") + // } + // } + // background: Item {} + // } + // } + Image { id: cameraImage diff --git a/plugins/UM3NetworkPrinting/resources/svg/camera-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/camera-icon.svg index 29adfa5875..66bed04508 100644 --- a/plugins/UM3NetworkPrinting/resources/svg/camera-icon.svg +++ b/plugins/UM3NetworkPrinting/resources/svg/camera-icon.svg @@ -1,6 +1,8 @@ - - - - + + + Created with Sketch. + + + \ No newline at end of file From 7226bc45b519c022a9e703a180c1500e1938bee0 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 13 Sep 2018 10:35:31 +0200 Subject: [PATCH 040/423] Monitor Tab - Queued header is properly aligned Contributes to CL-1052 --- plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index 3832d6eace..f6cf6607c7 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -50,7 +50,7 @@ Component anchors.left: queuedPrintJobs.left anchors.top: parent.top anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - anchors.leftMargin: 3 * UM.Theme.getSize("default_margin").width + anchors.leftMargin: 3 * UM.Theme.getSize("default_margin").width + 5 text: catalog.i18nc("@label", "Queued") font: UM.Theme.getFont("large") color: UM.Theme.getColor("text") From 6068ed10c14ffde7dbb62f301cb413a1b0cf309e Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Thu, 13 Sep 2018 13:06:50 +0200 Subject: [PATCH 041/423] JSON fix: connect_infill_polygons by default only when polygons can be connected via the outline. Also let the user be able to edit the setting in some more situations, for example when choosing concentric infill when the infill_line_distance = nozzle_size --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 4c87a3bcf0..83f633b775 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1664,8 +1664,8 @@ "description": "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time.", "type": "bool", "default_value": true, - "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0", - "enabled": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0", + "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", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, From eb253827be2e331502ec7892286549f66e037eb9 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Thu, 13 Sep 2018 13:48:08 +0200 Subject: [PATCH 042/423] JSON setting: option to let support be replaced by brim or not --- resources/definitions/fdmprinter.def.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 4c87a3bcf0..e5726afdca 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4538,6 +4538,17 @@ } } }, + "brim_replaces_support": + { + "label": "Brim Replaces Support", + "description": "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions fo the first layer of supprot by brim regions.", + "type": "bool", + "default_value": true, + "enabled": "resolveOrValue('adhesion_type') == 'brim' and support_enable", + "settable_per_mesh": false, + "settable_per_extruder": true, + "limit_to_extruder": "adhesion_extruder_nr" + }, "brim_outside_only": { "label": "Brim Only on Outside", From 945cc7c3e63d70fa3f66be601dda6be14302b608 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Thu, 13 Sep 2018 14:25:57 +0200 Subject: [PATCH 043/423] JSon feat: support brim settings --- resources/definitions/fdmprinter.def.json | 42 +++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index e5726afdca..74e9bab14d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -3888,6 +3888,48 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "support_brim_enable": + { + "label": "Enable Support Brim", + "description": "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate.", + "type": "bool", + "default_value": false, + "enabled": "support_enable or support_tree_enable", + "limit_to_extruder": "support_infill_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "support_brim_width": + { + "label": "Support Brim Width", + "description": "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material.", + "type": "float", + "unit": "mm", + "default_value": 8.0, + "minimum_value": "0.0", + "maximum_value_warning": "50.0", + "enabled": "support_enable", + "settable_per_mesh": false, + "settable_per_extruder": true, + "limit_to_extruder": "support_infill_extruder_nr", + "children": + { + "support_brim_line_count": + { + "label": "Support Brim Line Count", + "description": "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material.", + "type": "int", + "default_value": 20, + "minimum_value": "0", + "maximum_value_warning": "50 / skirt_brim_line_width", + "value": "math.ceil(support_brim_width / (skirt_brim_line_width * initial_layer_line_width_factor / 100.0))", + "enabled": "support_enable", + "settable_per_mesh": false, + "settable_per_extruder": true, + "limit_to_extruder": "support_infill_extruder_nr" + } + } + }, "support_z_distance": { "label": "Support Z Distance", From f93413d3a3ab080a40a82ca743202789b943dd46 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 13 Sep 2018 14:52:52 +0200 Subject: [PATCH 044/423] Monitor Tab - Context menu improvements Fixed: - In the Queued jobs area, the context menu doesn't close when clicking on the right half of the card. - Context menu trigger button should be more in the corner for both the print job tiles and the printer tiles - Context menu text should not be centered - Context menu should be closer to the context menu trigger button - Context menu should be aligned further right in relation to the context menu trigger button - Context menu options that are not available should not be shown. - Context button dots should be grey. Contributes to CL-1050 --- .../resources/qml/ClusterControlItem.qml | 67 +++++++++++------- .../resources/qml/PrintJobInfoBlock.qml | 70 +++++++++++++------ 2 files changed, 91 insertions(+), 46 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 52fe0f544a..76aff7103a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -399,21 +399,13 @@ Component function switchPopupState() { - if (popup.visible) - { - popup.close() - } - else - { - popup.open() - } + popup.visible ? popup.close() : popup.open() } Controls2.Button { id: contextButton text: "\u22EE" //Unicode; Three stacked points. - font.pixelSize: 25 width: 35 height: width anchors @@ -431,6 +423,14 @@ Component radius: 0.5 * width color: UM.Theme.getColor("viewport_background") } + contentItem: Label + { + text: contextButton.text + color: UM.Theme.getColor("monitor_text_inactive") + font.pixelSize: 25 + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + } onClicked: parent.switchPopupState() } @@ -440,18 +440,21 @@ Component // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property id: popup clip: true - closePolicy: Controls2.Popup.CloseOnPressOutsideParent - x: parent.width - width - y: contextButton.height - width: 160 + closePolicy: Popup.CloseOnPressOutside + x: (parent.width - width) + 26 * screenScaleFactor + y: contextButton.height - 5 * screenScaleFactor // Because shadow + width: 182 * screenScaleFactor height: contentItem.height + 2 * padding visible: false + padding: 5 * screenScaleFactor // Because shadow - transformOrigin: Controls2.Popup.Top + transformOrigin: Popup.Top contentItem: Item { - width: popup.width - 2 * popup.padding - height: childrenRect.height + 15 + width: popup.width + height: childrenRect.height + 36 * screenScaleFactor + anchors.topMargin: 10 * screenScaleFactor + anchors.bottomMargin: 10 * screenScaleFactor Controls2.Button { id: pauseButton @@ -470,14 +473,22 @@ Component } width: parent.width enabled: modelData.activePrintJob != null && ["paused", "printing"].indexOf(modelData.activePrintJob.state) >= 0 + visible: enabled anchors.top: parent.top - anchors.topMargin: 10 + anchors.topMargin: 18 * screenScaleFactor + height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor hoverEnabled: true - background: Rectangle + background: Rectangle { opacity: pauseButton.down || pauseButton.hovered ? 1 : 0 color: UM.Theme.getColor("viewport_background") } + contentItem: Label + { + text: sendToTopButton.text + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + } } Controls2.Button @@ -490,6 +501,7 @@ Component popup.close() } width: parent.width + height: 39 * screenScaleFactor anchors.top: pauseButton.bottom hoverEnabled: true enabled: modelData.activePrintJob != null && ["paused", "printing", "pre_print"].indexOf(modelData.activePrintJob.state) >= 0 @@ -498,6 +510,12 @@ Component opacity: abortButton.down || abortButton.hovered ? 1 : 0 color: UM.Theme.getColor("viewport_background") } + contentItem: Label + { + text: abortButton.text + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + } } } @@ -519,19 +537,20 @@ Component Item { id: pointedRectangle - width: parent.width -10 - height: parent.height -10 + width: parent.width - 10 * screenScaleFactor // Because of the shadow + height: parent.height - 10 * screenScaleFactor // Because of the shadow anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter Rectangle { id: point - height: 13 - width: 13 + height: 14 * screenScaleFactor + width: 14 * screenScaleFactor color: UM.Theme.getColor("setting_control") transform: Rotation { angle: 45} anchors.right: bloop.right + anchors.rightMargin: 24 y: 1 } @@ -541,9 +560,9 @@ Component color: UM.Theme.getColor("setting_control") width: parent.width anchors.top: parent.top - anchors.topMargin: 10 + anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point anchors.bottom: parent.bottom - anchors.bottomMargin: 5 + anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 005c274a29..71c2104318 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -30,7 +30,7 @@ Item anchors { top: parent.top - topMargin: 3 + topMargin: 3 * screenScaleFactor left: parent.left leftMargin: base.shadowRadius rightMargin: base.shadowRadius @@ -43,7 +43,7 @@ Item layer.effect: DropShadow { radius: base.shadowRadius - verticalOffset: 2 + verticalOffset: 2 * screenScaleFactor color: "#3F000000" // 25% shadow } @@ -126,7 +126,7 @@ Item right: parent.right margins: 2 * UM.Theme.getSize("default_margin").width leftMargin: UM.Theme.getSize("default_margin").width - rightMargin: UM.Theme.getSize("default_margin").width + rightMargin: UM.Theme.getSize("default_margin").width / 2 } Label @@ -169,7 +169,6 @@ Item { id: contextButton text: "\u22EE" //Unicode; Three stacked points. - font.pixelSize: 25 width: 35 height: width anchors @@ -187,6 +186,14 @@ Item radius: 0.5 * width color: UM.Theme.getColor("viewport_background") } + contentItem: Label + { + text: contextButton.text + color: UM.Theme.getColor("monitor_text_inactive") + font.pixelSize: 25 + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + } onClicked: parent.switchPopupState() } @@ -196,18 +203,21 @@ Item // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property id: popup clip: true - closePolicy: Popup.CloseOnPressOutsideParent - x: parent.width - width - y: contextButton.height - width: 160 + closePolicy: Popup.CloseOnPressOutside + x: (parent.width - width) + 26 * screenScaleFactor + y: contextButton.height - 5 * screenScaleFactor // Because shadow + width: 182 * screenScaleFactor height: contentItem.height + 2 * padding visible: false + padding: 5 * screenScaleFactor // Because shadow transformOrigin: Popup.Top contentItem: Item { - width: popup.width - 2 * popup.padding - height: childrenRect.height + 15 + width: popup.width + height: childrenRect.height + 36 * screenScaleFactor + anchors.topMargin: 10 * screenScaleFactor + anchors.bottomMargin: 10 * screenScaleFactor Button { id: sendToTopButton @@ -219,14 +229,22 @@ Item } width: parent.width enabled: OutputDevice.queuedPrintJobs[0].key != printJob.key + visible: enabled anchors.top: parent.top - anchors.topMargin: 10 + anchors.topMargin: 18 * screenScaleFactor + height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor hoverEnabled: true - background: Rectangle + background: Rectangle { opacity: sendToTopButton.down || sendToTopButton.hovered ? 1 : 0 color: UM.Theme.getColor("viewport_background") } + contentItem: Label + { + text: sendToTopButton.text + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + } } Button @@ -239,6 +257,7 @@ Item popup.close() } width: parent.width + height: 39 * screenScaleFactor anchors.top: sendToTopButton.bottom hoverEnabled: true background: Rectangle @@ -246,6 +265,12 @@ Item opacity: deleteButton.down || deleteButton.hovered ? 1 : 0 color: UM.Theme.getColor("viewport_background") } + contentItem: Label + { + text: deleteButton.text + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + } } } @@ -267,19 +292,20 @@ Item Item { id: pointedRectangle - width: parent.width -10 - height: parent.height -10 + width: parent.width - 10 * screenScaleFactor // Because of the shadow + height: parent.height - 10 * screenScaleFactor // Because of the shadow anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter Rectangle { id: point - height: 13 - width: 13 + height: 14 * screenScaleFactor + width: 14 * screenScaleFactor color: UM.Theme.getColor("setting_control") transform: Rotation { angle: 45} anchors.right: bloop.right + anchors.rightMargin: 24 y: 1 } @@ -289,9 +315,9 @@ Item color: UM.Theme.getColor("setting_control") width: parent.width anchors.top: parent.top - anchors.topMargin: 10 + anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point anchors.bottom: parent.bottom - anchors.bottomMargin: 5 + anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow } } } @@ -331,7 +357,7 @@ Item { text: modelData color: UM.Theme.getColor("viewport_background") - padding: 3 + padding: 3 * screenScaleFactor } } } @@ -353,14 +379,14 @@ Item PrintCoreConfiguration { id: leftExtruderInfo - width: Math.round(parent.width / 2) + width: Math.round(parent.width / 2) * screenScaleFactor printCoreConfiguration: printJob.configuration.extruderConfigurations[0] } PrintCoreConfiguration { id: rightExtruderInfo - width: Math.round(parent.width / 2) + width: Math.round(parent.width / 2) * screenScaleFactor printCoreConfiguration: printJob.configuration.extruderConfigurations[1] } } @@ -370,7 +396,7 @@ Item Rectangle { color: UM.Theme.getColor("viewport_background") - width: 2 + width: 2 * screenScaleFactor anchors.top: parent.top anchors.bottom: parent.bottom anchors.margins: UM.Theme.getSize("default_margin").height From 3ee9ed0cf3cb809e10f2454c072357e988a85a2b Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Thu, 13 Sep 2018 15:15:29 +0100 Subject: [PATCH 045/423] Add gyroid infill pattern. --- resources/definitions/fdmprinter.def.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 4c87a3bcf0..a4141e9c1a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1624,7 +1624,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. 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.", "type": "enum", "options": { @@ -1639,7 +1639,8 @@ "concentric": "Concentric", "zigzag": "Zig Zag", "cross": "Cross", - "cross_3d": "Cross 3D" + "cross_3d": "Cross 3D", + "gyroid": "Gyroid" }, "default_value": "grid", "enabled": "infill_sparse_density > 0", From 942d20a8d888c22bb91168416b21034bac40328b Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 13 Sep 2018 16:31:07 +0200 Subject: [PATCH 046/423] Monitor Tab - Fix pause button Contributes to CL-1050 --- .../resources/qml/ClusterControlItem.qml | 2 +- .../resources/qml/PrinterVideoStream.qml | 30 ------------------- 2 files changed, 1 insertion(+), 31 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 76aff7103a..3362c70bc5 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -485,7 +485,7 @@ Component } contentItem: Label { - text: sendToTopButton.text + text: pauseButton.text horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index c193d0ed71..d0213a4571 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -37,36 +37,6 @@ Item z: 999 } - // Button - // { - // id: backButton - - - // // TODO: Hardcoded sizes - // width: 20 * screenScaleFactor - // height: 20 * screenScaleFactor - - // onClicked: OutputDevice.setActiveCamera(null) - - // style: ButtonStyle - // { - // label: Item - // { - // UM.RecolorImage - // { - // anchors.verticalCenter: parent.verticalCenter - // anchors.horizontalCenter: parent.horizontalCenter - // width: control.width - // height: control.height - // sourceSize.width: width - // sourceSize.height: width - // source: UM.Theme.getIcon("cross1") - // } - // } - // background: Item {} - // } - // } - Image { id: cameraImage From 6bf91d2b3a2ea71c7bbf6869057ad5616280df97 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 14 Sep 2018 13:59:05 +0200 Subject: [PATCH 047/423] Fix updating temperature while preheating bed or extruder While preheating the bed/extruder with M190 or M109, the firmware keeps outputting temperature lines, but these do not contain "ok" because no new command was acknowledged. Fixes #3741 --- plugins/USBPrinting/USBPrinterOutputDevice.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 4ceda52875..39b358224c 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -313,6 +313,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): while self._connection_state == ConnectionState.connected and self._serial is not None: try: line = self._serial.readline() + print(line) except: continue @@ -326,8 +327,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if self._firmware_name is None: self.sendCommand("M115") - if (b"ok " in line and b"T:" in line) or line.startswith(b"T:") or b"ok B:" in line or line.startswith(b"B:"): # Temperature message. 'T:' for extruder and 'B:' for bed - extruder_temperature_matches = re.findall(b"T(\d*): ?([\d\.]+) ?\/?([\d\.]+)?", line) + if re.search(b"[B|T\d*]: ?\d+\.?\d*", line): # Temperature message. 'T:' for extruder and 'B:' for bed + extruder_temperature_matches = re.findall(b"T(\d*): ?(\d+\.?\d*) ?\/?(\d+\.?\d*)?", line) # Update all temperature values matched_extruder_nrs = [] for match in extruder_temperature_matches: @@ -349,7 +350,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if match[2]: extruder.updateTargetHotendTemperature(float(match[2])) - bed_temperature_matches = re.findall(b"B: ?([\d\.]+) ?\/?([\d\.]+)?", line) + bed_temperature_matches = re.findall(b"B: ?(\d+\.?\d*) ?\/?(\d+\.?\d*) ?", line) if bed_temperature_matches: match = bed_temperature_matches[0] if match[0]: From 8efc5fe345e837d00d9b64f96363cfde46efe9f2 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Fri, 14 Sep 2018 18:05:33 +0100 Subject: [PATCH 048/423] Now zig_zaggify_infill is enabled for gyroid infill. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index a4141e9c1a..cbc7f19f2f 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1655,7 +1655,7 @@ "type": "bool", "default_value": false, "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d'", - "enabled": "infill_pattern == 'lines' or infill_pattern == 'grid' or infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'cross' or infill_pattern == 'cross_3d'", + "enabled": "infill_pattern == 'lines' or infill_pattern == 'grid' or infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'gyroid'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, From 9c865e80d113438699c34cee724d0c9945f7b8db Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 14 Sep 2018 19:15:23 +0200 Subject: [PATCH 049/423] Remove debug print --- plugins/USBPrinting/USBPrinterOutputDevice.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 39b358224c..36c5321180 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -313,7 +313,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice): while self._connection_state == ConnectionState.connected and self._serial is not None: try: line = self._serial.readline() - print(line) except: continue From b7673a74388574cd2aca6b810940a6ecf1b01702 Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Tue, 18 Sep 2018 16:27:22 +0200 Subject: [PATCH 050/423] Show Cura Connect alerts in the monitor tab CL-897 --- cura/PrinterOutput/PrintJobOutputModel.py | 16 +- .../resources/qml/ClusterMonitorItem.qml | 1 - .../resources/qml/PrintJobInfoBlock.qml | 240 +++++++++++++++++- .../src/ClusterUM3OutputDevice.py | 16 ++ 4 files changed, 268 insertions(+), 5 deletions(-) diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index 7366b95f86..c194f5df32 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -12,6 +12,8 @@ if TYPE_CHECKING: from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.ConfigurationModel import ConfigurationModel +from cura.PrinterOutput.ConfigurationChangeModel import ConfigurationChangeModel + class PrintJobOutputModel(QObject): stateChanged = pyqtSignal() @@ -24,6 +26,7 @@ class PrintJobOutputModel(QObject): configurationChanged = pyqtSignal() previewImageChanged = pyqtSignal() compatibleMachineFamiliesChanged = pyqtSignal() + configurationChangesChanged = pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None) -> None: super().__init__(parent) @@ -41,6 +44,7 @@ class PrintJobOutputModel(QObject): self._preview_image_id = 0 self._preview_image = None # type: Optional[QImage] + self._configuration_changes = [] # type: List[ConfigurationChangeModel] @pyqtProperty("QStringList", notify=compatibleMachineFamiliesChanged) def compatibleMachineFamilies(self): @@ -147,4 +151,14 @@ class PrintJobOutputModel(QObject): @pyqtSlot(str) def setState(self, state): - self._output_controller.setJobState(self, state) \ No newline at end of file + self._output_controller.setJobState(self, state) + + @pyqtProperty("QVariantList", notify=configurationChangesChanged) + def configurationChanges(self) -> List[ConfigurationChangeModel]: + return self._configuration_changes + + def updateConfigurationChanges(self, changes: List[ConfigurationChangeModel]) -> None: + if len(self._configuration_changes) == 0 and len(changes) == 0: + return + self._configuration_changes = changes + self.configurationChangesChanged.emit() diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index f6cf6607c7..b55b5c6779 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -85,7 +85,6 @@ Component anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").height anchors.leftMargin: UM.Theme.getSize("default_margin").height - height: 175 * screenScaleFactor } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 71c2104318..f0e07807e2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -2,6 +2,8 @@ import QtQuick 2.2 import QtQuick.Controls 2.0 import QtQuick.Controls.Styles 1.4 import QtGraphicalEffects 1.0 +import QtQuick.Layouts 1.1 +import QtQuick.Dialogs 1.1 import UM 1.3 as UM @@ -9,6 +11,110 @@ import UM 1.3 as UM Item { id: base + + function haveAlert() { + return printJob.configurationChanges.length !== 0; + } + + function alertHeight() { + return haveAlert() ? 230 : 0; + } + + function alertText() { + if (printJob.configurationChanges.length === 0) { + return ""; + } + + var topLine; + if (materialsAreKnown(printJob)) { + topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(printJob.assignedPrinter.name); + } else { + topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(printJob.assignedPrinter.name); + } + var result = "

" + topLine +"

"; + + for (var i=0; i

"; + } + return result; + } + + function materialsAreKnown(printJob) { + var conf0 = printJob.configuration[0]; + if (conf0 && !conf0.material.material) { + return false; + } + + var conf1 = printJob.configuration[1]; + if (conf1 && !conf1.material.material) { + return false; + } + + return true; + } + + function formatBuildPlateType(buildPlateType) { + var translationText = ""; + + switch (buildPlateType) { + case 'glass': + translationText = catalog.i18nc("@label", "Glass"); + break; + case 'aluminum': + translationText = catalog.i18nc("@label", "Aluminum"); + break; + default: + translationText = null; + } + return translationText; + } + + function formatPrintJobName(name) { + var extensionsToRemove = [ + '.gz', + '.gcode', + '.ufp' + ]; + + for (var i = 0; i < extensionsToRemove.length; i++) { + var extension = extensionsToRemove[i]; + + if (name.slice(-extension.length) === extension) { + name = name.substring(0, name.length - extension.length); + } + } + + return name; + } + + function isPrintJobForcable(printJob) { + var forcable = true; + + for (var i = 0; i < printJob.configurationChanges.length; i++) { + var typeOfChange = printJob.configurationChanges[i].typeOfChange; + if (typeOfChange === 'material_insert' || typeOfChange === 'buildplate_change') { + forcable = false; + } + } + + return forcable; + } + + property var cardHeight: 175 + + height: (cardHeight + alertHeight()) * screenScaleFactor property var printJob: null property var shadowRadius: 5 * screenScaleFactor function getPrettyTime(time) @@ -27,6 +133,9 @@ Item Rectangle { id: background + + height: (cardHeight + alertHeight()) * screenScaleFactor + anchors { top: parent.top @@ -35,7 +144,7 @@ Item leftMargin: base.shadowRadius rightMargin: base.shadowRadius right: parent.right - bottom: parent.bottom + //bottom: parent.bottom - alertHeight() * screenScaleFactor bottomMargin: base.shadowRadius } @@ -47,6 +156,18 @@ Item color: "#3F000000" // 25% shadow } + Rectangle + { + height: cardHeight * screenScaleFactor + + anchors + { + top: parent.top + left: parent.left + right: parent.right + // bottom: parent.bottom + } + Item { // Content on the left of the infobox @@ -392,15 +513,128 @@ Item } } - + } Rectangle { + height: cardHeight * screenScaleFactor color: UM.Theme.getColor("viewport_background") width: 2 * screenScaleFactor anchors.top: parent.top - anchors.bottom: parent.bottom anchors.margins: UM.Theme.getSize("default_margin").height anchors.horizontalCenter: parent.horizontalCenter } + + // Alert / Configuration change box + Rectangle + { + height: alertHeight() * screenScaleFactor + + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + +color: "#ff00ff" + ColumnLayout + { + anchors.fill: parent + RowLayout + { + Item + { + Layout.fillWidth: true + } + + Label + { + font: UM.Theme.getFont("default_bold") + text: "Configuration change" + } + + UM.RecolorImage + { + id: collapseIcon + width: 15 + height: 15 + sourceSize.width: width + sourceSize.height: height + + // FIXME + source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") + color: "black" + } + + Item + { + Layout.fillWidth: true + } + + } + + Rectangle + { + Layout.fillHeight: true + Layout.fillWidth: true +color: "red" + + Rectangle + { +color: "green" + width: childrenRect.width + + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: parent.top + anchors.bottom: parent.bottom + + ColumnLayout + { + width: childrenRect.width + + anchors.top: parent.top + anchors.bottom: parent.bottom + + Text + { + Layout.alignment: Qt.AlignTop + + textFormat: Text.StyledText + font: UM.Theme.getFont("default_bold") + text: alertText() + } + + Button + { + visible: isPrintJobForcable(printJob) + text: catalog.i18nc("@label", "Override") + onClicked: { + overrideConfirmationDialog.visible = true; + } + } + + // Spacer + Item + { + Layout.fillHeight: true + } + } + } + } + } + } + + MessageDialog + { + id: overrideConfirmationDialog + title: catalog.i18nc("@window:title", "Override configuration") + icon: StandardIcon.Warning + text: { + var printJobName = formatPrintJobName(printJob.name); + var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); + return confirmText; + } + + standardButtons: StandardButton.Yes | StandardButton.No + Component.onCompleted: visible = false + onYes: OutputDevice.forceSendJob(printJob.key) + } } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 409ca7a84a..79040373ae 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -17,6 +17,7 @@ from UM.Scene.SceneNode import SceneNode # For typing. from UM.Version import Version # To check against firmware versions for support. from cura.CuraApplication import CuraApplication +from cura.PrinterOutput.ConfigurationChangeModel import ConfigurationChangeModel from cura.PrinterOutput.ConfigurationModel import ConfigurationModel from cura.PrinterOutput.ExtruderConfigurationModel import ExtruderConfigurationModel from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutputDevice, AuthState @@ -406,6 +407,11 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): # is a modification of the cluster queue and not of the actual job. self.delete("print_jobs/{uuid}".format(uuid = print_job_uuid), on_finished=None) + @pyqtSlot(str) + def forceSendJob(self, print_job_uuid: str) -> None: + data = "{\"force\": true}" + self.put("print_jobs/{uuid}".format(uuid=print_job_uuid), data, on_finished=None) + def _printJobStateChanged(self) -> None: username = self._getUserName() @@ -574,6 +580,16 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): if not status_set_by_impediment: print_job.updateState(data["status"]) + print_job.updateConfigurationChanges(self._createConfigurationChanges(data["configuration_changes_required"])) + + def _createConfigurationChanges(self, data: List[Dict[str, Any]]) -> List[ConfigurationChangeModel]: + result = [] + for change in data: + result.append(ConfigurationChangeModel(type_of_change=change["type_of_change"], + index=change["index"], + target_name=change["target_name"], + origin_name=change["origin_name"])) + return result def _createMaterialOutputModel(self, material_data) -> MaterialOutputModel: containers = ContainerRegistry.getInstance().findInstanceContainers(type="material", GUID=material_data["guid"]) From 9d85f3ece615e69d30695c5feff5094c1081b181 Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Wed, 19 Sep 2018 17:02:46 +0200 Subject: [PATCH 051/423] Use the same string as the web front-end CL-897 --- plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index f0e07807e2..ad583edcf8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -624,7 +624,7 @@ color: "green" MessageDialog { id: overrideConfirmationDialog - title: catalog.i18nc("@window:title", "Override configuration") + title: catalog.i18nc("@window:title", "Override configuration configuration and start print") icon: StandardIcon.Warning text: { var printJobName = formatPrintJobName(printJob.name); From 9d53a31ec12a046848fed5823cd80a4b510d3608 Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Thu, 20 Sep 2018 10:28:14 +0200 Subject: [PATCH 052/423] Add a missing file CL-897 --- .../PrinterOutput/ConfigurationChangeModel.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 cura/PrinterOutput/ConfigurationChangeModel.py diff --git a/cura/PrinterOutput/ConfigurationChangeModel.py b/cura/PrinterOutput/ConfigurationChangeModel.py new file mode 100644 index 0000000000..b032a08ec2 --- /dev/null +++ b/cura/PrinterOutput/ConfigurationChangeModel.py @@ -0,0 +1,30 @@ + +from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot + + +class ConfigurationChangeModel(QObject): + def __init__(self, type_of_change: str, index: int, target_name: str, origin_name: str) -> None: + super().__init__() + self._type_of_change = type_of_change + # enum = ["material", "print_core_change"] + self._index = index + self._target_name = target_name + self._origin_name = origin_name + + @pyqtProperty(int) + def index(self) -> int: + return self._index + # "target_id": fields.String(required=True, description="Target material guid or hotend id"), + # "origin_id": fields.String(required=True, description="Original/current material guid or hotend id"), + + @pyqtProperty(str) + def typeOfChange(self) -> str: + return self._type_of_change + + @pyqtProperty(str) + def targetName(self) -> str: + return self._target_name + + @pyqtProperty(str) + def originName(self) -> str: + return self._origin_name From 5a235a59ddeb7123924acd94854edc5ac12789cb Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 20 Sep 2018 12:55:29 +0200 Subject: [PATCH 053/423] Reset send slice info and show privacy dialog CURA-5095 Because the data Cura collects has been changed. --- .../VersionUpgrade34to35/VersionUpgrade34to35.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py index 9e3ea03c55..40add072c9 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py @@ -92,6 +92,11 @@ class VersionUpgrade34to35(VersionUpgrade): parser["metadata"] = {} parser["metadata"]["setting_version"] = "5" + # Need to show the data collection agreement again because the data Cura collects has been changed. + if parser.has_option("info", "asked_send_slice_info"): + parser.remove_option("info", "asked_send_slice_info") + parser.remove_option("info", "send_slice_info") + result = io.StringIO() parser.write(result) return [filename], [result.getvalue()] From 5fc8b95425ea5d7417a5c022a8301f83bfa24e84 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 20 Sep 2018 12:59:25 +0200 Subject: [PATCH 054/423] Better data handling CURA-5095 Avoid missing sections/options --- .../VersionUpgrade34to35/VersionUpgrade34to35.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py index 40add072c9..7acea7ab5e 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py @@ -86,17 +86,18 @@ class VersionUpgrade34to35(VersionUpgrade): parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialized) + # Need to show the data collection agreement again because the data Cura collects has been changed. + if parser.has_option("info", "asked_send_slice_info"): + parser.remove_option("info", "asked_send_slice_info") + if parser.has_option("info", "send_slice_info"): + parser.remove_option("info", "send_slice_info") + # Update version number. parser["general"]["version"] = "6" if "metadata" not in parser: parser["metadata"] = {} parser["metadata"]["setting_version"] = "5" - # Need to show the data collection agreement again because the data Cura collects has been changed. - if parser.has_option("info", "asked_send_slice_info"): - parser.remove_option("info", "asked_send_slice_info") - parser.remove_option("info", "send_slice_info") - result = io.StringIO() parser.write(result) return [filename], [result.getvalue()] From 0e44a782514e6497c98a77d692121a67aea04a79 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 20 Sep 2018 15:33:10 +0200 Subject: [PATCH 055/423] Set non-NOTIFY properties to constants --- cura/PrinterOutput/ConfigurationChangeModel.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cura/PrinterOutput/ConfigurationChangeModel.py b/cura/PrinterOutput/ConfigurationChangeModel.py index b032a08ec2..f40a0c2e6b 100644 --- a/cura/PrinterOutput/ConfigurationChangeModel.py +++ b/cura/PrinterOutput/ConfigurationChangeModel.py @@ -1,7 +1,8 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot - class ConfigurationChangeModel(QObject): def __init__(self, type_of_change: str, index: int, target_name: str, origin_name: str) -> None: super().__init__() @@ -11,20 +12,20 @@ class ConfigurationChangeModel(QObject): self._target_name = target_name self._origin_name = origin_name - @pyqtProperty(int) + @pyqtProperty(int, constant = True) def index(self) -> int: return self._index # "target_id": fields.String(required=True, description="Target material guid or hotend id"), # "origin_id": fields.String(required=True, description="Original/current material guid or hotend id"), - @pyqtProperty(str) + @pyqtProperty(str, constant = True) def typeOfChange(self) -> str: return self._type_of_change - @pyqtProperty(str) + @pyqtProperty(str, constant = True) def targetName(self) -> str: return self._target_name - @pyqtProperty(str) + @pyqtProperty(str, constant = True) def originName(self) -> str: return self._origin_name From a2f5dda564654e7b0c7900aae2bb2d9f90c3092d Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 20 Sep 2018 17:13:45 +0200 Subject: [PATCH 056/423] Out with the old... Contributes to CL-897 --- .../resources/qml/PrintJobInfoBlock.qml | 1306 ++++++++--------- 1 file changed, 652 insertions(+), 654 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index aa6c9a72df..4e79d1ce4e 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -5,659 +5,657 @@ import QtQuick.Controls.Styles 1.4 import QtGraphicalEffects 1.0 import QtQuick.Layouts 1.1 import QtQuick.Dialogs 1.1 - import UM 1.3 as UM - -Item -{ - id: base - - function haveAlert() { - return printJob.configurationChanges.length !== 0; - } - - function alertHeight() { - return haveAlert() ? 230 : 0; - } - - function alertText() { - if (printJob.configurationChanges.length === 0) { - return ""; - } - - var topLine; - if (materialsAreKnown(printJob)) { - topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(printJob.assignedPrinter.name); - } else { - topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(printJob.assignedPrinter.name); - } - var result = "

" + topLine +"

"; - - for (var i=0; i

"; - } - return result; - } - - function materialsAreKnown(printJob) { - var conf0 = printJob.configuration[0]; - if (conf0 && !conf0.material.material) { - return false; - } - - var conf1 = printJob.configuration[1]; - if (conf1 && !conf1.material.material) { - return false; - } - - return true; - } - - function formatBuildPlateType(buildPlateType) { - var translationText = ""; - - switch (buildPlateType) { - case 'glass': - translationText = catalog.i18nc("@label", "Glass"); - break; - case 'aluminum': - translationText = catalog.i18nc("@label", "Aluminum"); - break; - default: - translationText = null; - } - return translationText; - } - - function formatPrintJobName(name) { - var extensionsToRemove = [ - '.gz', - '.gcode', - '.ufp' - ]; - - for (var i = 0; i < extensionsToRemove.length; i++) { - var extension = extensionsToRemove[i]; - - if (name.slice(-extension.length) === extension) { - name = name.substring(0, name.length - extension.length); - } - } - - return name; - } - - function isPrintJobForcable(printJob) { - var forcable = true; - - for (var i = 0; i < printJob.configurationChanges.length; i++) { - var typeOfChange = printJob.configurationChanges[i].typeOfChange; - if (typeOfChange === 'material_insert' || typeOfChange === 'buildplate_change') { - forcable = false; - } - } - - return forcable; - } - - property var cardHeight: 175 - - height: (cardHeight + alertHeight()) * screenScaleFactor - property var printJob: null - property var shadowRadius: 5 * screenScaleFactor - function getPrettyTime(time) - { - return OutputDevice.formatDuration(time) - } - - width: parent.width - - UM.I18nCatalog - { - id: catalog - name: "cura" - } - - Rectangle - { - id: background - - height: (cardHeight + alertHeight()) * screenScaleFactor - - anchors - { - top: parent.top - topMargin: 3 * screenScaleFactor - left: parent.left - leftMargin: base.shadowRadius - rightMargin: base.shadowRadius - right: parent.right - //bottom: parent.bottom - alertHeight() * screenScaleFactor - bottomMargin: base.shadowRadius - } - - layer.enabled: true - layer.effect: DropShadow - { - radius: base.shadowRadius - verticalOffset: 2 * screenScaleFactor - color: "#3F000000" // 25% shadow - } - - Rectangle - { - height: cardHeight * screenScaleFactor - - anchors - { - top: parent.top - left: parent.left - right: parent.right - // bottom: parent.bottom - } - - Item - { - // Content on the left of the infobox - anchors - { - top: parent.top - bottom: parent.bottom - left: parent.left - right: parent.horizontalCenter - margins: UM.Theme.getSize("wide_margin").width - rightMargin: UM.Theme.getSize("default_margin").width - } - - Label - { - id: printJobName - text: printJob.name - font: UM.Theme.getFont("default_bold") - width: parent.width - elide: Text.ElideRight - } - - Label - { - id: ownerName - anchors.top: printJobName.bottom - text: printJob.owner - font: UM.Theme.getFont("default") - opacity: 0.6 - width: parent.width - elide: Text.ElideRight - } - - Image - { - id: printJobPreview - source: printJob.previewImageUrl - anchors.top: ownerName.bottom - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: totalTimeLabel.bottom - width: height - opacity: printJob.state == "error" ? 0.5 : 1.0 - } - - UM.RecolorImage - { - id: statusImage - anchors.centerIn: printJobPreview - source: printJob.state == "error" ? "../svg/aborted-icon.svg" : "" - visible: source != "" - width: 0.5 * printJobPreview.width - height: 0.5 * printJobPreview.height - sourceSize.width: width - sourceSize.height: height - color: "black" - } - - Label - { - id: totalTimeLabel - anchors.bottom: parent.bottom - anchors.right: parent.right - font: UM.Theme.getFont("default") - text: printJob != null ? getPrettyTime(printJob.timeTotal) : "" - elide: Text.ElideRight - } - } - - Item - { - // Content on the right side of the infobox. - anchors - { - top: parent.top - bottom: parent.bottom - left: parent.horizontalCenter - right: parent.right - margins: 2 * UM.Theme.getSize("default_margin").width - leftMargin: UM.Theme.getSize("default_margin").width - rightMargin: UM.Theme.getSize("default_margin").width / 2 - } - - Label - { - id: targetPrinterLabel - elide: Text.ElideRight - font: UM.Theme.getFont("default_bold") - text: - { - if(printJob.assignedPrinter == null) - { - if(printJob.state == "error") - { - return catalog.i18nc("@label", "Waiting for: Unavailable printer") - } - return catalog.i18nc("@label", "Waiting for: First available") - } - else - { - return catalog.i18nc("@label", "Waiting for: ") + printJob.assignedPrinter.name - } - - } - - anchors - { - left: parent.left - right: contextButton.left - rightMargin: UM.Theme.getSize("default_margin").width - } - } - - - function switchPopupState() - { - popup.visible ? popup.close() : popup.open() - } - - Button - { - id: contextButton - text: "\u22EE" //Unicode; Three stacked points. - width: 35 - height: width - anchors - { - right: parent.right - top: parent.top - } - hoverEnabled: true - - background: Rectangle - { - opacity: contextButton.down || contextButton.hovered ? 1 : 0 - width: contextButton.width - height: contextButton.height - radius: 0.5 * width - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: contextButton.text - color: UM.Theme.getColor("monitor_text_inactive") - font.pixelSize: 25 - verticalAlignment: Text.AlignVCenter - horizontalAlignment: Text.AlignHCenter - } - - onClicked: parent.switchPopupState() - } - - Popup - { - // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property - id: popup - clip: true - closePolicy: Popup.CloseOnPressOutside - x: (parent.width - width) + 26 * screenScaleFactor - y: contextButton.height - 5 * screenScaleFactor // Because shadow - width: 182 * screenScaleFactor - height: contentItem.height + 2 * padding - visible: false - padding: 5 * screenScaleFactor // Because shadow - - transformOrigin: Popup.Top - contentItem: Item - { - width: popup.width - height: childrenRect.height + 36 * screenScaleFactor - anchors.topMargin: 10 * screenScaleFactor - anchors.bottomMargin: 10 * screenScaleFactor - Button - { - id: sendToTopButton - text: catalog.i18nc("@label", "Move to top") - onClicked: - { - sendToTopConfirmationDialog.visible = true; - popup.close(); - } - width: parent.width - enabled: OutputDevice.queuedPrintJobs[0].key != printJob.key - visible: enabled - anchors.top: parent.top - anchors.topMargin: 18 * screenScaleFactor - height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor - hoverEnabled: true - background: Rectangle - { - opacity: sendToTopButton.down || sendToTopButton.hovered ? 1 : 0 - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: sendToTopButton.text - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - } - } - - MessageDialog - { - id: sendToTopConfirmationDialog - title: catalog.i18nc("@window:title", "Move print job to top") - icon: StandardIcon.Warning - text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) - standardButtons: StandardButton.Yes | StandardButton.No - Component.onCompleted: visible = false - onYes: OutputDevice.sendJobToTop(printJob.key) - } - - Button - { - id: deleteButton - text: catalog.i18nc("@label", "Delete") - onClicked: - { - deleteConfirmationDialog.visible = true; - popup.close(); - } - width: parent.width - height: 39 * screenScaleFactor - anchors.top: sendToTopButton.bottom - hoverEnabled: true - background: Rectangle - { - opacity: deleteButton.down || deleteButton.hovered ? 1 : 0 - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: deleteButton.text - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - } - } - - MessageDialog - { - id: deleteConfirmationDialog - title: catalog.i18nc("@window:title", "Delete print job") - icon: StandardIcon.Warning - text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) - standardButtons: StandardButton.Yes | StandardButton.No - Component.onCompleted: visible = false - onYes: OutputDevice.deleteJobFromQueue(printJob.key) - } - } - - background: Item - { - width: popup.width - height: popup.height - - DropShadow - { - anchors.fill: pointedRectangle - radius: 5 - color: "#3F000000" // 25% shadow - source: pointedRectangle - transparentBorder: true - verticalOffset: 2 - } - - Item - { - id: pointedRectangle - width: parent.width - 10 * screenScaleFactor // Because of the shadow - height: parent.height - 10 * screenScaleFactor // Because of the shadow - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - - Rectangle - { - id: point - height: 14 * screenScaleFactor - width: 14 * screenScaleFactor - color: UM.Theme.getColor("setting_control") - transform: Rotation { angle: 45} - anchors.right: bloop.right - anchors.rightMargin: 24 - y: 1 - } - - Rectangle - { - id: bloop - color: UM.Theme.getColor("setting_control") - width: parent.width - anchors.top: parent.top - anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point - anchors.bottom: parent.bottom - anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow - } - } - } - - exit: Transition - { - // This applies a default NumberAnimation to any changes a state change makes to x or y properties - NumberAnimation { property: "visible"; duration: 75; } - } - enter: Transition - { - // This applies a default NumberAnimation to any changes a state change makes to x or y properties - NumberAnimation { property: "visible"; duration: 75; } - } - - onClosed: visible = false - onOpened: visible = true - } - - Row - { - id: printerFamilyPills - spacing: 0.5 * UM.Theme.getSize("default_margin").width - anchors - { - left: parent.left - right: parent.right - bottom: extrudersInfo.top - bottomMargin: UM.Theme.getSize("default_margin").height - } - height: childrenRect.height - Repeater - { - model: printJob.compatibleMachineFamilies - - delegate: PrinterFamilyPill - { - text: modelData - color: UM.Theme.getColor("viewport_background") - padding: 3 * screenScaleFactor - } - } - } - // PrintCore && Material config - Row - { - id: extrudersInfo - anchors.bottom: parent.bottom - - anchors - { - left: parent.left - right: parent.right - } - height: childrenRect.height - - spacing: UM.Theme.getSize("default_margin").width - - PrintCoreConfiguration - { - id: leftExtruderInfo - width: Math.round(parent.width / 2) * screenScaleFactor - printCoreConfiguration: printJob.configuration.extruderConfigurations[0] - } - - PrintCoreConfiguration - { - id: rightExtruderInfo - width: Math.round(parent.width / 2) * screenScaleFactor - printCoreConfiguration: printJob.configuration.extruderConfigurations[1] - } - } - - } - } - Rectangle - { - height: cardHeight * screenScaleFactor - color: UM.Theme.getColor("viewport_background") - width: 2 * screenScaleFactor - anchors.top: parent.top - anchors.margins: UM.Theme.getSize("default_margin").height - anchors.horizontalCenter: parent.horizontalCenter - } - - // Alert / Configuration change box - Rectangle - { - height: alertHeight() * screenScaleFactor - - anchors.left: parent.left - anchors.right: parent.right - anchors.bottom: parent.bottom - -color: "#ff00ff" - ColumnLayout - { - anchors.fill: parent - RowLayout - { - Item - { - Layout.fillWidth: true - } - - Label - { - font: UM.Theme.getFont("default_bold") - text: "Configuration change" - } - - UM.RecolorImage - { - id: collapseIcon - width: 15 - height: 15 - sourceSize.width: width - sourceSize.height: height - - // FIXME - source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") - color: "black" - } - - Item - { - Layout.fillWidth: true - } - - } - - Rectangle - { - Layout.fillHeight: true - Layout.fillWidth: true -color: "red" - - Rectangle - { -color: "green" - width: childrenRect.width - - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.bottom: parent.bottom - - ColumnLayout - { - width: childrenRect.width - - anchors.top: parent.top - anchors.bottom: parent.bottom - - Text - { - Layout.alignment: Qt.AlignTop - - textFormat: Text.StyledText - font: UM.Theme.getFont("default_bold") - text: alertText() - } - - Button - { - visible: isPrintJobForcable(printJob) - text: catalog.i18nc("@label", "Override") - onClicked: { - overrideConfirmationDialog.visible = true; - } - } - - // Spacer - Item - { - Layout.fillHeight: true - } - } - } - } - } - } - - MessageDialog - { - id: overrideConfirmationDialog - title: catalog.i18nc("@window:title", "Override configuration configuration and start print") - icon: StandardIcon.Warning - text: { - var printJobName = formatPrintJobName(printJob.name); - var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); - return confirmText; - } - - standardButtons: StandardButton.Yes | StandardButton.No - Component.onCompleted: visible = false - onYes: OutputDevice.forceSendJob(printJob.key) - } - } -} \ No newline at end of file +// Item +// { +// id: base + +// function haveAlert() { +// return printJob.configurationChanges.length !== 0; +// } + +// function alertHeight() { +// return haveAlert() ? 230 : 0; +// } + +// function alertText() { +// if (printJob.configurationChanges.length === 0) { +// return ""; +// } + +// var topLine; +// if (materialsAreKnown(printJob)) { +// topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(printJob.assignedPrinter.name); +// } else { +// topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(printJob.assignedPrinter.name); +// } +// var result = "

" + topLine +"

"; + +// for (var i=0; i

"; +// } +// return result; +// } + +// function materialsAreKnown(printJob) { +// var conf0 = printJob.configuration[0]; +// if (conf0 && !conf0.material.material) { +// return false; +// } + +// var conf1 = printJob.configuration[1]; +// if (conf1 && !conf1.material.material) { +// return false; +// } + +// return true; +// } + +// function formatBuildPlateType(buildPlateType) { +// var translationText = ""; + +// switch (buildPlateType) { +// case 'glass': +// translationText = catalog.i18nc("@label", "Glass"); +// break; +// case 'aluminum': +// translationText = catalog.i18nc("@label", "Aluminum"); +// break; +// default: +// translationText = null; +// } +// return translationText; +// } + +// function formatPrintJobName(name) { +// var extensionsToRemove = [ +// '.gz', +// '.gcode', +// '.ufp' +// ]; + +// for (var i = 0; i < extensionsToRemove.length; i++) { +// var extension = extensionsToRemove[i]; + +// if (name.slice(-extension.length) === extension) { +// name = name.substring(0, name.length - extension.length); +// } +// } + +// return name; +// } + +// function isPrintJobForcable(printJob) { +// var forcable = true; + +// for (var i = 0; i < printJob.configurationChanges.length; i++) { +// var typeOfChange = printJob.configurationChanges[i].typeOfChange; +// if (typeOfChange === 'material_insert' || typeOfChange === 'buildplate_change') { +// forcable = false; +// } +// } + +// return forcable; +// } + +// property var cardHeight: 175 + +// height: (cardHeight + alertHeight()) * screenScaleFactor +// property var printJob: null +// property var shadowRadius: 5 * screenScaleFactor +// function getPrettyTime(time) +// { +// return OutputDevice.formatDuration(time) +// } + +// width: parent.width + +// UM.I18nCatalog +// { +// id: catalog +// name: "cura" +// } + +// Rectangle +// { +// id: background + +// height: (cardHeight + alertHeight()) * screenScaleFactor + +// anchors +// { +// top: parent.top +// topMargin: 3 * screenScaleFactor +// left: parent.left +// leftMargin: base.shadowRadius +// rightMargin: base.shadowRadius +// right: parent.right +// //bottom: parent.bottom - alertHeight() * screenScaleFactor +// bottomMargin: base.shadowRadius +// } + +// layer.enabled: true +// layer.effect: DropShadow +// { +// radius: base.shadowRadius +// verticalOffset: 2 * screenScaleFactor +// color: "#3F000000" // 25% shadow +// } + +// Rectangle +// { +// height: cardHeight * screenScaleFactor + +// anchors +// { +// top: parent.top +// left: parent.left +// right: parent.right +// // bottom: parent.bottom +// } + +// Item +// { +// // Content on the left of the infobox +// anchors +// { +// top: parent.top +// bottom: parent.bottom +// left: parent.left +// right: parent.horizontalCenter +// margins: UM.Theme.getSize("wide_margin").width +// rightMargin: UM.Theme.getSize("default_margin").width +// } + +// Label +// { +// id: printJobName +// text: printJob.name +// font: UM.Theme.getFont("default_bold") +// width: parent.width +// elide: Text.ElideRight +// } + +// Label +// { +// id: ownerName +// anchors.top: printJobName.bottom +// text: printJob.owner +// font: UM.Theme.getFont("default") +// opacity: 0.6 +// width: parent.width +// elide: Text.ElideRight +// } + +// Image +// { +// id: printJobPreview +// source: printJob.previewImageUrl +// anchors.top: ownerName.bottom +// anchors.horizontalCenter: parent.horizontalCenter +// anchors.bottom: totalTimeLabel.bottom +// width: height +// opacity: printJob.state == "error" ? 0.5 : 1.0 +// } + +// UM.RecolorImage +// { +// id: statusImage +// anchors.centerIn: printJobPreview +// source: printJob.state == "error" ? "../svg/aborted-icon.svg" : "" +// visible: source != "" +// width: 0.5 * printJobPreview.width +// height: 0.5 * printJobPreview.height +// sourceSize.width: width +// sourceSize.height: height +// color: "black" +// } + +// Label +// { +// id: totalTimeLabel +// anchors.bottom: parent.bottom +// anchors.right: parent.right +// font: UM.Theme.getFont("default") +// text: printJob != null ? getPrettyTime(printJob.timeTotal) : "" +// elide: Text.ElideRight +// } +// } + +// Item +// { +// // Content on the right side of the infobox. +// anchors +// { +// top: parent.top +// bottom: parent.bottom +// left: parent.horizontalCenter +// right: parent.right +// margins: 2 * UM.Theme.getSize("default_margin").width +// leftMargin: UM.Theme.getSize("default_margin").width +// rightMargin: UM.Theme.getSize("default_margin").width / 2 +// } + +// Label +// { +// id: targetPrinterLabel +// elide: Text.ElideRight +// font: UM.Theme.getFont("default_bold") +// text: +// { +// if(printJob.assignedPrinter == null) +// { +// if(printJob.state == "error") +// { +// return catalog.i18nc("@label", "Waiting for: Unavailable printer") +// } +// return catalog.i18nc("@label", "Waiting for: First available") +// } +// else +// { +// return catalog.i18nc("@label", "Waiting for: ") + printJob.assignedPrinter.name +// } + +// } + +// anchors +// { +// left: parent.left +// right: contextButton.left +// rightMargin: UM.Theme.getSize("default_margin").width +// } +// } + + +// function switchPopupState() +// { +// popup.visible ? popup.close() : popup.open() +// } + +// Button +// { +// id: contextButton +// text: "\u22EE" //Unicode; Three stacked points. +// width: 35 +// height: width +// anchors +// { +// right: parent.right +// top: parent.top +// } +// hoverEnabled: true + +// background: Rectangle +// { +// opacity: contextButton.down || contextButton.hovered ? 1 : 0 +// width: contextButton.width +// height: contextButton.height +// radius: 0.5 * width +// color: UM.Theme.getColor("viewport_background") +// } +// contentItem: Label +// { +// text: contextButton.text +// color: UM.Theme.getColor("monitor_text_inactive") +// font.pixelSize: 25 +// verticalAlignment: Text.AlignVCenter +// horizontalAlignment: Text.AlignHCenter +// } + +// onClicked: parent.switchPopupState() +// } + +// Popup +// { +// // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property +// id: popup +// clip: true +// closePolicy: Popup.CloseOnPressOutside +// x: (parent.width - width) + 26 * screenScaleFactor +// y: contextButton.height - 5 * screenScaleFactor // Because shadow +// width: 182 * screenScaleFactor +// height: contentItem.height + 2 * padding +// visible: false +// padding: 5 * screenScaleFactor // Because shadow + +// transformOrigin: Popup.Top +// contentItem: Item +// { +// width: popup.width +// height: childrenRect.height + 36 * screenScaleFactor +// anchors.topMargin: 10 * screenScaleFactor +// anchors.bottomMargin: 10 * screenScaleFactor +// Button +// { +// id: sendToTopButton +// text: catalog.i18nc("@label", "Move to top") +// onClicked: +// { +// sendToTopConfirmationDialog.visible = true; +// popup.close(); +// } +// width: parent.width +// enabled: OutputDevice.queuedPrintJobs[0].key != printJob.key +// visible: enabled +// anchors.top: parent.top +// anchors.topMargin: 18 * screenScaleFactor +// height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor +// hoverEnabled: true +// background: Rectangle +// { +// opacity: sendToTopButton.down || sendToTopButton.hovered ? 1 : 0 +// color: UM.Theme.getColor("viewport_background") +// } +// contentItem: Label +// { +// text: sendToTopButton.text +// horizontalAlignment: Text.AlignLeft +// verticalAlignment: Text.AlignVCenter +// } +// } + +// MessageDialog +// { +// id: sendToTopConfirmationDialog +// title: catalog.i18nc("@window:title", "Move print job to top") +// icon: StandardIcon.Warning +// text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) +// standardButtons: StandardButton.Yes | StandardButton.No +// Component.onCompleted: visible = false +// onYes: OutputDevice.sendJobToTop(printJob.key) +// } + +// Button +// { +// id: deleteButton +// text: catalog.i18nc("@label", "Delete") +// onClicked: +// { +// deleteConfirmationDialog.visible = true; +// popup.close(); +// } +// width: parent.width +// height: 39 * screenScaleFactor +// anchors.top: sendToTopButton.bottom +// hoverEnabled: true +// background: Rectangle +// { +// opacity: deleteButton.down || deleteButton.hovered ? 1 : 0 +// color: UM.Theme.getColor("viewport_background") +// } +// contentItem: Label +// { +// text: deleteButton.text +// horizontalAlignment: Text.AlignLeft +// verticalAlignment: Text.AlignVCenter +// } +// } + +// MessageDialog +// { +// id: deleteConfirmationDialog +// title: catalog.i18nc("@window:title", "Delete print job") +// icon: StandardIcon.Warning +// text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) +// standardButtons: StandardButton.Yes | StandardButton.No +// Component.onCompleted: visible = false +// onYes: OutputDevice.deleteJobFromQueue(printJob.key) +// } +// } + +// background: Item +// { +// width: popup.width +// height: popup.height + +// DropShadow +// { +// anchors.fill: pointedRectangle +// radius: 5 +// color: "#3F000000" // 25% shadow +// source: pointedRectangle +// transparentBorder: true +// verticalOffset: 2 +// } + +// Item +// { +// id: pointedRectangle +// width: parent.width - 10 * screenScaleFactor // Because of the shadow +// height: parent.height - 10 * screenScaleFactor // Because of the shadow +// anchors.horizontalCenter: parent.horizontalCenter +// anchors.verticalCenter: parent.verticalCenter + +// Rectangle +// { +// id: point +// height: 14 * screenScaleFactor +// width: 14 * screenScaleFactor +// color: UM.Theme.getColor("setting_control") +// transform: Rotation { angle: 45} +// anchors.right: bloop.right +// anchors.rightMargin: 24 +// y: 1 +// } + +// Rectangle +// { +// id: bloop +// color: UM.Theme.getColor("setting_control") +// width: parent.width +// anchors.top: parent.top +// anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point +// anchors.bottom: parent.bottom +// anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow +// } +// } +// } + +// exit: Transition +// { +// // This applies a default NumberAnimation to any changes a state change makes to x or y properties +// NumberAnimation { property: "visible"; duration: 75; } +// } +// enter: Transition +// { +// // This applies a default NumberAnimation to any changes a state change makes to x or y properties +// NumberAnimation { property: "visible"; duration: 75; } +// } + +// onClosed: visible = false +// onOpened: visible = true +// } + +// Row +// { +// id: printerFamilyPills +// spacing: 0.5 * UM.Theme.getSize("default_margin").width +// anchors +// { +// left: parent.left +// right: parent.right +// bottom: extrudersInfo.top +// bottomMargin: UM.Theme.getSize("default_margin").height +// } +// height: childrenRect.height +// Repeater +// { +// model: printJob.compatibleMachineFamilies + +// delegate: PrinterFamilyPill +// { +// text: modelData +// color: UM.Theme.getColor("viewport_background") +// padding: 3 * screenScaleFactor +// } +// } +// } +// // PrintCore && Material config +// Row +// { +// id: extrudersInfo +// anchors.bottom: parent.bottom + +// anchors +// { +// left: parent.left +// right: parent.right +// } +// height: childrenRect.height + +// spacing: UM.Theme.getSize("default_margin").width + +// PrintCoreConfiguration +// { +// id: leftExtruderInfo +// width: Math.round(parent.width / 2) * screenScaleFactor +// printCoreConfiguration: printJob.configuration.extruderConfigurations[0] +// } + +// PrintCoreConfiguration +// { +// id: rightExtruderInfo +// width: Math.round(parent.width / 2) * screenScaleFactor +// printCoreConfiguration: printJob.configuration.extruderConfigurations[1] +// } +// } + +// } +// } +// Rectangle +// { +// height: cardHeight * screenScaleFactor +// color: UM.Theme.getColor("viewport_background") +// width: 2 * screenScaleFactor +// anchors.top: parent.top +// anchors.margins: UM.Theme.getSize("default_margin").height +// anchors.horizontalCenter: parent.horizontalCenter +// } + +// // Alert / Configuration change box +// Rectangle +// { +// height: alertHeight() * screenScaleFactor + +// anchors.left: parent.left +// anchors.right: parent.right +// anchors.bottom: parent.bottom + +// color: "#ff00ff" +// ColumnLayout +// { +// anchors.fill: parent +// RowLayout +// { +// Item +// { +// Layout.fillWidth: true +// } + +// Label +// { +// font: UM.Theme.getFont("default_bold") +// text: "Configuration change" +// } + +// UM.RecolorImage +// { +// id: collapseIcon +// width: 15 +// height: 15 +// sourceSize.width: width +// sourceSize.height: height + +// // FIXME +// source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") +// color: "black" +// } + +// Item +// { +// Layout.fillWidth: true +// } + +// } + +// Rectangle +// { +// Layout.fillHeight: true +// Layout.fillWidth: true +// color: "red" + +// Rectangle +// { +// color: "green" +// width: childrenRect.width + +// anchors.horizontalCenter: parent.horizontalCenter +// anchors.top: parent.top +// anchors.bottom: parent.bottom + +// ColumnLayout +// { +// width: childrenRect.width + +// anchors.top: parent.top +// anchors.bottom: parent.bottom + +// Text +// { +// Layout.alignment: Qt.AlignTop + +// textFormat: Text.StyledText +// font: UM.Theme.getFont("default_bold") +// text: alertText() +// } + +// Button +// { +// visible: isPrintJobForcable(printJob) +// text: catalog.i18nc("@label", "Override") +// onClicked: { +// overrideConfirmationDialog.visible = true; +// } +// } + +// // Spacer +// Item +// { +// Layout.fillHeight: true +// } +// } +// } +// } +// } +// } + +// MessageDialog +// { +// id: overrideConfirmationDialog +// title: catalog.i18nc("@window:title", "Override configuration configuration and start print") +// icon: StandardIcon.Warning +// text: { +// var printJobName = formatPrintJobName(printJob.name); +// var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); +// return confirmText; +// } + +// standardButtons: StandardButton.Yes | StandardButton.No +// Component.onCompleted: visible = false +// onYes: OutputDevice.forceSendJob(printJob.key) +// } +// } +// } \ No newline at end of file From 50e07ae2a782a84a9b9bedd32c613192c02bc502 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 20 Sep 2018 17:14:19 +0200 Subject: [PATCH 057/423] ...and in with the new. Contributes to CL-897 --- .../resources/qml/PrintJobInfoBlock.qml | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 4e79d1ce4e..aa2bcc7906 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -7,6 +7,155 @@ import QtQuick.Layouts 1.1 import QtQuick.Dialogs 1.1 import UM 1.3 as UM +Item { + + id: root + + property var shadowRadius: 5; + property var shadowOffset: 2; + property var debug: true; + property var printJob: null; + property var hasChanges: { + if (printJob) { + return printJob.configurationChanges.length !== 0; + } + return false; + } + + width: parent.width; // Bubbles downward + height: childrenRect.height + shadowRadius * 2; // Bubbles upward + + // The actual card (white block) + Rectangle { + + color: "white"; + height: childrenRect.height; + width: parent.width - shadowRadius * 2; + + // 5px margin, but shifted 2px vertically because of the shadow + anchors { + topMargin: shadowRadius - shadowOffset; + bottomMargin: shadowRadius + shadowOffset; + leftMargin: shadowRadius; + rightMargin: shadowRadius; + } + + Column { + + width: parent.width; + height: childrenRect.height + + // Main content + Rectangle { + + color: root.debug ? "red" : "transparent"; + width: parent.width; + height: 200; + + // Left content + Rectangle { + color: root.debug ? "lightblue" : "transparent"; + anchors { + left: parent.left; + right: parent.horizontalCenter; + top: parent.top; + bottom: parent.bottom; + margins: UM.Theme.getSize("wide_margin").width + } + } + + Rectangle { + height: parent.height - 2 * UM.Theme.getSize("default_margin").height; + width: 1 + color: "black"; + anchors { + horizontalCenter: parent.horizontalCenter; + verticalCenter: parent.verticalCenter; + } + } + + // Right content + Rectangle { + color: root.debug ? "blue" : "transparent"; + anchors { + left: parent.horizontalCenter; + right: parent.right; + top: parent.top; + bottom: parent.bottom; + margins: UM.Theme.getSize("wide_margin").width + } + } + } + + // Config change toggle + Rectangle { + color: root.debug ? "orange" : "transparent"; + width: parent.width; + visible: root.hasChanges; + height: visible ? 40 : 0; + MouseArea { + anchors.fill: parent; + onClicked: { + configChangeDetails.visible = !configChangeDetails.visible; + } + } + Label { + id: configChangeToggleLabel; + anchors { + horizontalCenter: parent.horizontalCenter; + verticalCenter: parent.verticalCenter; + } + text: "Configuration change"; + } + UM.RecolorImage { + width: 15; + height: 15; + anchors { + left: configChangeToggleLabel.right; + leftMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + sourceSize.width: width; + sourceSize.height: height; + source: { + if (configChangeDetails.visible) { + return UM.Theme.getIcon("arrow_top"); + } else { + return UM.Theme.getIcon("arrow_bottom"); + } + } + color: "black"; + } + } + + // Config change details + Rectangle { + id: configChangeDetails + color: root.debug ? "yellow" : "transparent"; + width: parent.width; + visible: false; + height: visible ? 150 : 0; + Behavior on height { NumberAnimation { duration: 100 } } + + Rectangle { + color: root.debug ? "lime" : "transparent"; + anchors { + fill: parent; + topMargin: UM.Theme.getSize("wide_margin").height; + bottomMargin: UM.Theme.getSize("wide_margin").height; + leftMargin: UM.Theme.getSize("wide_margin").height * 4; + rightMargin: UM.Theme.getSize("wide_margin").height * 4; + } + Label { + wrapMode: Text.WordWrap; + text: "The assigned printer, UltiSandra, requires the following configuration change(s): Change material 1 from PLA to ABS."; + } + } + } + } + } +} + // Item // { // id: base From 3830fa0fd9deb1129013087343ee340cf1befe5e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 21 Sep 2018 11:58:30 +0200 Subject: [PATCH 058/423] Initial move of the code of CuraPluginOAuth2Module CURA-5744 --- cura/OAuth2/AuthorizationHelpers.py | 127 +++++++++++++++++ cura/OAuth2/AuthorizationRequestHandler.py | 105 ++++++++++++++ cura/OAuth2/AuthorizationRequestServer.py | 25 ++++ cura/OAuth2/AuthorizationService.py | 151 +++++++++++++++++++++ cura/OAuth2/LocalAuthorizationServer.py | 67 +++++++++ cura/OAuth2/Models.py | 60 ++++++++ cura/OAuth2/__init__.py | 2 + 7 files changed, 537 insertions(+) create mode 100644 cura/OAuth2/AuthorizationHelpers.py create mode 100644 cura/OAuth2/AuthorizationRequestHandler.py create mode 100644 cura/OAuth2/AuthorizationRequestServer.py create mode 100644 cura/OAuth2/AuthorizationService.py create mode 100644 cura/OAuth2/LocalAuthorizationServer.py create mode 100644 cura/OAuth2/Models.py create mode 100644 cura/OAuth2/__init__.py diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py new file mode 100644 index 0000000000..10041f70ce --- /dev/null +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -0,0 +1,127 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +import json +import random +from _sha512 import sha512 +from base64 import b64encode +from typing import Optional + +import requests + +# As this module is specific for Cura plugins, we can rely on these imports. +from UM.Logger import Logger + +# Plugin imports need to be relative to work in final builds. +from .models import AuthenticationResponse, UserProfile, OAuth2Settings + + +class AuthorizationHelpers: + """Class containing several helpers to deal with the authorization flow.""" + + def __init__(self, settings: "OAuth2Settings"): + self._settings = settings + self._token_url = "{}/token".format(self._settings.OAUTH_SERVER_URL) + + @property + def settings(self) -> "OAuth2Settings": + """Get the OAuth2 settings object.""" + return self._settings + + def getAccessTokenUsingAuthorizationCode(self, authorization_code: str, verification_code: str)->\ + Optional["AuthenticationResponse"]: + """ + Request the access token from the authorization server. + :param authorization_code: The authorization code from the 1st step. + :param verification_code: The verification code needed for the PKCE extension. + :return: An AuthenticationResponse object. + """ + return self.parseTokenResponse(requests.post(self._token_url, data={ + "client_id": self._settings.CLIENT_ID, + "redirect_uri": self._settings.CALLBACK_URL, + "grant_type": "authorization_code", + "code": authorization_code, + "code_verifier": verification_code, + "scope": self._settings.CLIENT_SCOPES + })) + + def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> Optional["AuthenticationResponse"]: + """ + Request the access token from the authorization server using a refresh token. + :param refresh_token: + :return: An AuthenticationResponse object. + """ + return self.parseTokenResponse(requests.post(self._token_url, data={ + "client_id": self._settings.CLIENT_ID, + "redirect_uri": self._settings.CALLBACK_URL, + "grant_type": "refresh_token", + "refresh_token": refresh_token, + "scope": self._settings.CLIENT_SCOPES + })) + + @staticmethod + def parseTokenResponse(token_response: "requests.request") -> Optional["AuthenticationResponse"]: + """ + Parse the token response from the authorization server into an AuthenticationResponse object. + :param token_response: The JSON string data response from the authorization server. + :return: An AuthenticationResponse object. + """ + token_data = None + + try: + token_data = json.loads(token_response.text) + except ValueError: + Logger.log("w", "Could not parse token response data: %s", token_response.text) + + if not token_data: + return AuthenticationResponse(success=False, err_message="Could not read response.") + + if token_response.status_code not in (200, 201): + return AuthenticationResponse(success=False, err_message=token_data["error_description"]) + + return AuthenticationResponse(success=True, + token_type=token_data["token_type"], + access_token=token_data["access_token"], + refresh_token=token_data["refresh_token"], + expires_in=token_data["expires_in"], + scope=token_data["scope"]) + + def parseJWT(self, access_token: str) -> Optional["UserProfile"]: + """ + Calls the authentication API endpoint to get the token data. + :param access_token: The encoded JWT token. + :return: Dict containing some profile data. + """ + token_request = requests.get("{}/check-token".format(self._settings.OAUTH_SERVER_URL), headers = { + "Authorization": "Bearer {}".format(access_token) + }) + if token_request.status_code not in (200, 201): + Logger.log("w", "Could not retrieve token data from auth server: %s", token_request.text) + return None + user_data = token_request.json().get("data") + if not user_data or not isinstance(user_data, dict): + Logger.log("w", "Could not parse user data from token: %s", user_data) + return None + return UserProfile( + user_id = user_data["user_id"], + username = user_data["username"], + profile_image_url = user_data.get("profile_image_url", "") + ) + + @staticmethod + def generateVerificationCode(code_length: int = 16) -> str: + """ + Generate a 16-character verification code. + :param code_length: + :return: + """ + return "".join(random.choice("0123456789ABCDEF") for i in range(code_length)) + + @staticmethod + def generateVerificationCodeChallenge(verification_code: str) -> str: + """ + Generates a base64 encoded sha512 encrypted version of a given string. + :param verification_code: + :return: The encrypted code in base64 format. + """ + encoded = sha512(verification_code.encode()).digest() + return b64encode(encoded, altchars = b"_-").decode() diff --git a/cura/OAuth2/AuthorizationRequestHandler.py b/cura/OAuth2/AuthorizationRequestHandler.py new file mode 100644 index 0000000000..eb703fc5c1 --- /dev/null +++ b/cura/OAuth2/AuthorizationRequestHandler.py @@ -0,0 +1,105 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +from typing import Optional, Callable + +from http.server import BaseHTTPRequestHandler +from urllib.parse import parse_qs, urlparse + +# Plugin imports need to be relative to work in final builds. +from .AuthorizationHelpers import AuthorizationHelpers +from .models import AuthenticationResponse, ResponseData, HTTP_STATUS, ResponseStatus + + +class AuthorizationRequestHandler(BaseHTTPRequestHandler): + """ + This handler handles all HTTP requests on the local web server. + It also requests the access token for the 2nd stage of the OAuth flow. + """ + + def __init__(self, request, client_address, server): + super().__init__(request, client_address, server) + + # These values will be injected by the HTTPServer that this handler belongs to. + self.authorization_helpers = None # type: AuthorizationHelpers + self.authorization_callback = None # type: Callable[[AuthenticationResponse], None] + self.verification_code = None # type: str + + def do_GET(self): + """Entry point for GET requests""" + + # Extract values from the query string. + parsed_url = urlparse(self.path) + query = parse_qs(parsed_url.query) + + # Handle the possible requests + if parsed_url.path == "/callback": + server_response, token_response = self._handleCallback(query) + else: + server_response = self._handleNotFound() + token_response = None + + # Send the data to the browser. + self._sendHeaders(server_response.status, server_response.content_type, server_response.redirect_uri) + + if server_response.data_stream: + # If there is data in the response, we send it. + self._sendData(server_response.data_stream) + + if token_response: + # Trigger the callback if we got a response. + # This will cause the server to shut down, so we do it at the very end of the request handling. + self.authorization_callback(token_response) + + def _handleCallback(self, query: dict) -> ("ResponseData", Optional["AuthenticationResponse"]): + """ + Handler for the callback URL redirect. + :param query: Dict containing the HTTP query parameters. + :return: HTTP ResponseData containing a success page to show to the user. + """ + if self._queryGet(query, "code"): + # If the code was returned we get the access token. + token_response = self.authorization_helpers.getAccessTokenUsingAuthorizationCode( + self._queryGet(query, "code"), self.verification_code) + + elif self._queryGet(query, "error_code") == "user_denied": + # Otherwise we show an error message (probably the user clicked "Deny" in the auth dialog). + token_response = AuthenticationResponse( + success=False, + err_message="Please give the required permissions when authorizing this application." + ) + + else: + # We don't know what went wrong here, so instruct the user to check the logs. + token_response = AuthenticationResponse( + success=False, + error_message="Something unexpected happened when trying to log in, please try again." + ) + + return ResponseData( + status=HTTP_STATUS["REDIRECT"], + data_stream=b"Redirecting...", + redirect_uri=self.authorization_helpers.settings.AUTH_SUCCESS_REDIRECT if token_response.success else + self.authorization_helpers.settings.AUTH_FAILED_REDIRECT + ), token_response + + @staticmethod + def _handleNotFound() -> "ResponseData": + """Handle all other non-existing server calls.""" + return ResponseData(status=HTTP_STATUS["NOT_FOUND"], content_type="text/html", data_stream=b"Not found.") + + def _sendHeaders(self, status: "ResponseStatus", content_type: str, redirect_uri: str = None) -> None: + """Send out the headers""" + self.send_response(status.code, status.message) + self.send_header("Content-type", content_type) + if redirect_uri: + self.send_header("Location", redirect_uri) + self.end_headers() + + def _sendData(self, data: bytes) -> None: + """Send out the data""" + self.wfile.write(data) + + @staticmethod + def _queryGet(query_data: dict, key: str, default=None) -> Optional[str]: + """Helper for getting values from a pre-parsed query string""" + return query_data.get(key, [default])[0] diff --git a/cura/OAuth2/AuthorizationRequestServer.py b/cura/OAuth2/AuthorizationRequestServer.py new file mode 100644 index 0000000000..ee428bc236 --- /dev/null +++ b/cura/OAuth2/AuthorizationRequestServer.py @@ -0,0 +1,25 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +from http.server import HTTPServer + +from .AuthorizationHelpers import AuthorizationHelpers + + +class AuthorizationRequestServer(HTTPServer): + """ + The authorization request callback handler server. + This subclass is needed to be able to pass some data to the request handler. + This cannot be done on the request handler directly as the HTTPServer creates an instance of the handler after init. + """ + + def setAuthorizationHelpers(self, authorization_helpers: "AuthorizationHelpers") -> None: + """Set the authorization helpers instance on the request handler.""" + self.RequestHandlerClass.authorization_helpers = authorization_helpers + + def setAuthorizationCallback(self, authorization_callback) -> None: + """Set the authorization callback on the request handler.""" + self.RequestHandlerClass.authorization_callback = authorization_callback + + def setVerificationCode(self, verification_code: str) -> None: + """Set the verification code on the request handler.""" + self.RequestHandlerClass.verification_code = verification_code diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py new file mode 100644 index 0000000000..f425e3a003 --- /dev/null +++ b/cura/OAuth2/AuthorizationService.py @@ -0,0 +1,151 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +import json +import webbrowser +from typing import Optional +from urllib.parse import urlencode + +# As this module is specific for Cura plugins, we can rely on these imports. +from UM.Logger import Logger +from UM.Signal import Signal + +# Plugin imports need to be relative to work in final builds. +from .LocalAuthorizationServer import LocalAuthorizationServer +from .AuthorizationHelpers import AuthorizationHelpers +from .models import OAuth2Settings, AuthenticationResponse, UserProfile + + +class AuthorizationService: + """ + The authorization service is responsible for handling the login flow, + storing user credentials and providing account information. + """ + + # Emit signal when authentication is completed. + onAuthStateChanged = Signal() + + # Emit signal when authentication failed. + onAuthenticationError = Signal() + + def __init__(self, preferences, settings: "OAuth2Settings"): + self._settings = settings + self._auth_helpers = AuthorizationHelpers(settings) + self._auth_url = "{}/authorize".format(self._settings.OAUTH_SERVER_URL) + self._auth_data = None # type: Optional[AuthenticationResponse] + self._user_profile = None # type: Optional[UserProfile] + self._cura_preferences = preferences + self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True) + self._loadAuthData() + + def getUserProfile(self) -> Optional["UserProfile"]: + """ + Get the user data that is stored in the JWT token. + :return: Dict containing some user data. + """ + if not self._user_profile: + # If no user profile was stored locally, we try to get it from JWT. + self._user_profile = self._parseJWT() + if not self._user_profile: + # If there is still no user profile from the JWT, we have to log in again. + return None + return self._user_profile + + def _parseJWT(self) -> Optional["UserProfile"]: + """ + Tries to parse the JWT if all the needed data exists. + :return: UserProfile if found, otherwise None. + """ + if not self._auth_data: + # If no auth data exists, we should always log in again. + return None + user_data = self._auth_helpers.parseJWT(self._auth_data.access_token) + if user_data: + # If the profile was found, we return it immediately. + return user_data + # The JWT was expired or invalid and we should request a new one. + self._auth_data = self._auth_helpers.getAccessTokenUsingRefreshToken(self._auth_data.refresh_token) + if not self._auth_data: + # The token could not be refreshed using the refresh token. We should login again. + return None + return self._auth_helpers.parseJWT(self._auth_data.access_token) + + def getAccessToken(self) -> Optional[str]: + """ + Get the access token response data. + :return: Dict containing token data. + """ + if not self.getUserProfile(): + # We check if we can get the user profile. + # If we can't get it, that means the access token (JWT) was invalid or expired. + return None + return self._auth_data.access_token + + def refreshAccessToken(self) -> None: + """ + Refresh the access token when it expired. + """ + self._storeAuthData(self._auth_helpers.getAccessTokenUsingRefreshToken(self._auth_data.refresh_token)) + self.onAuthStateChanged.emit(logged_in=True) + + def deleteAuthData(self): + """Delete authentication data from preferences and locally.""" + self._storeAuthData() + self.onAuthStateChanged.emit(logged_in=False) + + def startAuthorizationFlow(self) -> None: + """Start a new OAuth2 authorization flow.""" + + Logger.log("d", "Starting new OAuth2 flow...") + + # Create the tokens needed for the code challenge (PKCE) extension for OAuth2. + # This is needed because the CuraDrivePlugin is a untrusted (open source) client. + # More details can be found at https://tools.ietf.org/html/rfc7636. + verification_code = self._auth_helpers.generateVerificationCode() + challenge_code = self._auth_helpers.generateVerificationCodeChallenge(verification_code) + + # Create the query string needed for the OAuth2 flow. + query_string = urlencode({ + "client_id": self._settings.CLIENT_ID, + "redirect_uri": self._settings.CALLBACK_URL, + "scope": self._settings.CLIENT_SCOPES, + "response_type": "code", + "state": "CuraDriveIsAwesome", + "code_challenge": challenge_code, + "code_challenge_method": "S512" + }) + + # Open the authorization page in a new browser window. + webbrowser.open_new("{}?{}".format(self._auth_url, query_string)) + + # Start a local web server to receive the callback URL on. + self._server.start(verification_code) + + def _onAuthStateChanged(self, auth_response: "AuthenticationResponse") -> None: + """Callback method for an authentication flow.""" + if auth_response.success: + self._storeAuthData(auth_response) + self.onAuthStateChanged.emit(logged_in=True) + else: + self.onAuthenticationError.emit(logged_in=False, error_message=auth_response.err_message) + self._server.stop() # Stop the web server at all times. + + def _loadAuthData(self) -> None: + """Load authentication data from preferences if available.""" + self._cura_preferences.addPreference(self._settings.AUTH_DATA_PREFERENCE_KEY, "{}") + try: + preferences_data = json.loads(self._cura_preferences.getValue(self._settings.AUTH_DATA_PREFERENCE_KEY)) + if preferences_data: + self._auth_data = AuthenticationResponse(**preferences_data) + self.onAuthStateChanged.emit(logged_in=True) + except ValueError as err: + Logger.log("w", "Could not load auth data from preferences: %s", err) + + def _storeAuthData(self, auth_data: Optional["AuthenticationResponse"] = None) -> None: + """Store authentication data in preferences and locally.""" + self._auth_data = auth_data + if auth_data: + self._user_profile = self.getUserProfile() + self._cura_preferences.setValue(self._settings.AUTH_DATA_PREFERENCE_KEY, json.dumps(vars(auth_data))) + else: + self._user_profile = None + self._cura_preferences.resetPreference(self._settings.AUTH_DATA_PREFERENCE_KEY) diff --git a/cura/OAuth2/LocalAuthorizationServer.py b/cura/OAuth2/LocalAuthorizationServer.py new file mode 100644 index 0000000000..5dc05786bf --- /dev/null +++ b/cura/OAuth2/LocalAuthorizationServer.py @@ -0,0 +1,67 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +import threading +from http.server import HTTPServer +from typing import Optional, Callable + +# As this module is specific for Cura plugins, we can rely on these imports. +from UM.Logger import Logger + +# Plugin imports need to be relative to work in final builds. +from .AuthorizationHelpers import AuthorizationHelpers +from .AuthorizationRequestServer import AuthorizationRequestServer +from .AuthorizationRequestHandler import AuthorizationRequestHandler +from .models import AuthenticationResponse + + +class LocalAuthorizationServer: + def __init__(self, auth_helpers: "AuthorizationHelpers", + auth_state_changed_callback: "Callable[[AuthenticationResponse], any]", + daemon: bool): + """ + :param auth_helpers: An instance of the authorization helpers class. + :param auth_state_changed_callback: A callback function to be called when the authorization state changes. + :param daemon: Whether the server thread should be run in daemon mode. Note: Daemon threads are abruptly stopped + at shutdown. Their resources (e.g. open files) may never be released. + """ + self._web_server = None # type: Optional[HTTPServer] + self._web_server_thread = None # type: Optional[threading.Thread] + self._web_server_port = auth_helpers.settings.CALLBACK_PORT + self._auth_helpers = auth_helpers + self._auth_state_changed_callback = auth_state_changed_callback + self._daemon = daemon + + def start(self, verification_code: "str") -> None: + """ + Starts the local web server to handle the authorization callback. + :param verification_code: The verification code part of the OAuth2 client identification. + """ + if self._web_server: + # If the server is already running (because of a previously aborted auth flow), we don't have to start it. + # We still inject the new verification code though. + self._web_server.setVerificationCode(verification_code) + return + + Logger.log("d", "Starting local web server to handle authorization callback on port %s", + self._web_server_port) + + # Create the server and inject the callback and code. + self._web_server = AuthorizationRequestServer(("0.0.0.0", self._web_server_port), + AuthorizationRequestHandler) + self._web_server.setAuthorizationHelpers(self._auth_helpers) + self._web_server.setAuthorizationCallback(self._auth_state_changed_callback) + self._web_server.setVerificationCode(verification_code) + + # Start the server on a new thread. + self._web_server_thread = threading.Thread(None, self._web_server.serve_forever, daemon = self._daemon) + self._web_server_thread.start() + + def stop(self) -> None: + """ Stops the web server if it was running. Also deletes the objects. """ + + Logger.log("d", "Stopping local web server...") + + if self._web_server: + self._web_server.server_close() + self._web_server = None + self._web_server_thread = None diff --git a/cura/OAuth2/Models.py b/cura/OAuth2/Models.py new file mode 100644 index 0000000000..08bed7e6d9 --- /dev/null +++ b/cura/OAuth2/Models.py @@ -0,0 +1,60 @@ +# Copyright (c) 2018 Ultimaker B.V. +from typing import Optional + + +class BaseModel: + def __init__(self, **kwargs): + self.__dict__.update(kwargs) + + +# OAuth OAuth2Settings data template. +class OAuth2Settings(BaseModel): + CALLBACK_PORT = None # type: Optional[str] + OAUTH_SERVER_URL = None # type: Optional[str] + CLIENT_ID = None # type: Optional[str] + CLIENT_SCOPES = None # type: Optional[str] + CALLBACK_URL = None # type: Optional[str] + AUTH_DATA_PREFERENCE_KEY = None # type: Optional[str] + AUTH_SUCCESS_REDIRECT = "https://ultimaker.com" # type: str + AUTH_FAILED_REDIRECT = "https://ultimaker.com" # type: str + + +# User profile data template. +class UserProfile(BaseModel): + user_id = None # type: Optional[str] + username = None # type: Optional[str] + profile_image_url = None # type: Optional[str] + + +# Authentication data template. +class AuthenticationResponse(BaseModel): + """Data comes from the token response with success flag and error message added.""" + success = True # type: bool + token_type = None # type: Optional[str] + access_token = None # type: Optional[str] + refresh_token = None # type: Optional[str] + expires_in = None # type: Optional[str] + scope = None # type: Optional[str] + err_message = None # type: Optional[str] + + +# Response status template. +class ResponseStatus(BaseModel): + code = 200 # type: int + message = "" # type str + + +# Response data template. +class ResponseData(BaseModel): + status = None # type: Optional[ResponseStatus] + data_stream = None # type: Optional[bytes] + redirect_uri = None # type: Optional[str] + content_type = "text/html" # type: str + + +# Possible HTTP responses. +HTTP_STATUS = { + "OK": ResponseStatus(code=200, message="OK"), + "NOT_FOUND": ResponseStatus(code=404, message="NOT FOUND"), + "REDIRECT": ResponseStatus(code=302, message="REDIRECT") +} diff --git a/cura/OAuth2/__init__.py b/cura/OAuth2/__init__.py new file mode 100644 index 0000000000..f3f6970c54 --- /dev/null +++ b/cura/OAuth2/__init__.py @@ -0,0 +1,2 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. From 3ae223334f550474e536600ff3519385e18241eb Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 21 Sep 2018 12:02:11 +0200 Subject: [PATCH 059/423] Removed relative imports Since the oauth module isn't just in a plugin anymore, there is no need for any of the relative imports CURA-5744 --- cura/OAuth2/AuthorizationHelpers.py | 4 +--- cura/OAuth2/AuthorizationRequestHandler.py | 5 ++--- cura/OAuth2/AuthorizationRequestServer.py | 2 +- cura/OAuth2/AuthorizationService.py | 6 +++--- cura/OAuth2/LocalAuthorizationServer.py | 8 ++++---- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index 10041f70ce..a122290c38 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -8,11 +8,9 @@ from typing import Optional import requests -# As this module is specific for Cura plugins, we can rely on these imports. from UM.Logger import Logger -# Plugin imports need to be relative to work in final builds. -from .models import AuthenticationResponse, UserProfile, OAuth2Settings +from cura.OAuth2.Models import AuthenticationResponse, UserProfile, OAuth2Settings class AuthorizationHelpers: diff --git a/cura/OAuth2/AuthorizationRequestHandler.py b/cura/OAuth2/AuthorizationRequestHandler.py index eb703fc5c1..923787d33f 100644 --- a/cura/OAuth2/AuthorizationRequestHandler.py +++ b/cura/OAuth2/AuthorizationRequestHandler.py @@ -5,9 +5,8 @@ from typing import Optional, Callable from http.server import BaseHTTPRequestHandler from urllib.parse import parse_qs, urlparse -# Plugin imports need to be relative to work in final builds. -from .AuthorizationHelpers import AuthorizationHelpers -from .models import AuthenticationResponse, ResponseData, HTTP_STATUS, ResponseStatus +from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers +from cura.OAuth2.Models import AuthenticationResponse, ResponseData, HTTP_STATUS, ResponseStatus class AuthorizationRequestHandler(BaseHTTPRequestHandler): diff --git a/cura/OAuth2/AuthorizationRequestServer.py b/cura/OAuth2/AuthorizationRequestServer.py index ee428bc236..270c558167 100644 --- a/cura/OAuth2/AuthorizationRequestServer.py +++ b/cura/OAuth2/AuthorizationRequestServer.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. from http.server import HTTPServer -from .AuthorizationHelpers import AuthorizationHelpers +from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers class AuthorizationRequestServer(HTTPServer): diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index f425e3a003..eb68d5c0a4 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -10,9 +10,9 @@ from UM.Logger import Logger from UM.Signal import Signal # Plugin imports need to be relative to work in final builds. -from .LocalAuthorizationServer import LocalAuthorizationServer -from .AuthorizationHelpers import AuthorizationHelpers -from .models import OAuth2Settings, AuthenticationResponse, UserProfile +from cura.OAuth2.LocalAuthorizationServer import LocalAuthorizationServer +from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers +from cura.OAuth2.Models import OAuth2Settings, AuthenticationResponse, UserProfile class AuthorizationService: diff --git a/cura/OAuth2/LocalAuthorizationServer.py b/cura/OAuth2/LocalAuthorizationServer.py index 5dc05786bf..9979eaaa08 100644 --- a/cura/OAuth2/LocalAuthorizationServer.py +++ b/cura/OAuth2/LocalAuthorizationServer.py @@ -8,10 +8,10 @@ from typing import Optional, Callable from UM.Logger import Logger # Plugin imports need to be relative to work in final builds. -from .AuthorizationHelpers import AuthorizationHelpers -from .AuthorizationRequestServer import AuthorizationRequestServer -from .AuthorizationRequestHandler import AuthorizationRequestHandler -from .models import AuthenticationResponse +from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers +from cura.OAuth2.AuthorizationRequestServer import AuthorizationRequestServer +from cura.OAuth2.AuthorizationRequestHandler import AuthorizationRequestHandler +from cura.OAuth2.Models import AuthenticationResponse class LocalAuthorizationServer: From d0fc4878c29a04bbcfcb289775d93a04b62b9517 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 21 Sep 2018 13:54:37 +0200 Subject: [PATCH 060/423] Fix number of mypy mistakes CURA-5744 --- cura/OAuth2/AuthorizationHelpers.py | 9 ++++----- cura/OAuth2/AuthorizationRequestHandler.py | 11 ++++++----- cura/OAuth2/AuthorizationService.py | 18 ++++++++++++++---- cura/OAuth2/LocalAuthorizationServer.py | 13 ++++++++----- cura/OAuth2/Models.py | 2 +- 5 files changed, 33 insertions(+), 20 deletions(-) diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index a122290c38..06cc0a6061 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -16,7 +16,7 @@ from cura.OAuth2.Models import AuthenticationResponse, UserProfile, OAuth2Settin class AuthorizationHelpers: """Class containing several helpers to deal with the authorization flow.""" - def __init__(self, settings: "OAuth2Settings"): + def __init__(self, settings: "OAuth2Settings") -> None: self._settings = settings self._token_url = "{}/token".format(self._settings.OAUTH_SERVER_URL) @@ -25,8 +25,7 @@ class AuthorizationHelpers: """Get the OAuth2 settings object.""" return self._settings - def getAccessTokenUsingAuthorizationCode(self, authorization_code: str, verification_code: str)->\ - Optional["AuthenticationResponse"]: + def getAccessTokenUsingAuthorizationCode(self, authorization_code: str, verification_code: str)-> "AuthenticationResponse": """ Request the access token from the authorization server. :param authorization_code: The authorization code from the 1st step. @@ -42,7 +41,7 @@ class AuthorizationHelpers: "scope": self._settings.CLIENT_SCOPES })) - def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> Optional["AuthenticationResponse"]: + def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> AuthenticationResponse: """ Request the access token from the authorization server using a refresh token. :param refresh_token: @@ -57,7 +56,7 @@ class AuthorizationHelpers: })) @staticmethod - def parseTokenResponse(token_response: "requests.request") -> Optional["AuthenticationResponse"]: + def parseTokenResponse(token_response: requests.models.Response) -> AuthenticationResponse: """ Parse the token response from the authorization server into an AuthenticationResponse object. :param token_response: The JSON string data response from the authorization server. diff --git a/cura/OAuth2/AuthorizationRequestHandler.py b/cura/OAuth2/AuthorizationRequestHandler.py index 923787d33f..d13639c45d 100644 --- a/cura/OAuth2/AuthorizationRequestHandler.py +++ b/cura/OAuth2/AuthorizationRequestHandler.py @@ -1,6 +1,6 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Optional, Callable +from typing import Optional, Callable, Tuple, Dict, Any, List from http.server import BaseHTTPRequestHandler from urllib.parse import parse_qs, urlparse @@ -49,16 +49,17 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): # This will cause the server to shut down, so we do it at the very end of the request handling. self.authorization_callback(token_response) - def _handleCallback(self, query: dict) -> ("ResponseData", Optional["AuthenticationResponse"]): + def _handleCallback(self, query: Dict[Any, List]) -> Tuple["ResponseData", Optional["AuthenticationResponse"]]: """ Handler for the callback URL redirect. :param query: Dict containing the HTTP query parameters. :return: HTTP ResponseData containing a success page to show to the user. """ - if self._queryGet(query, "code"): + code = self._queryGet(query, "code") + if code: # If the code was returned we get the access token. token_response = self.authorization_helpers.getAccessTokenUsingAuthorizationCode( - self._queryGet(query, "code"), self.verification_code) + code, self.verification_code) elif self._queryGet(query, "error_code") == "user_denied": # Otherwise we show an error message (probably the user clicked "Deny" in the auth dialog). @@ -99,6 +100,6 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): self.wfile.write(data) @staticmethod - def _queryGet(query_data: dict, key: str, default=None) -> Optional[str]: + def _queryGet(query_data: Dict[Any, List], key: str, default=None) -> Optional[str]: """Helper for getting values from a pre-parsed query string""" return query_data.get(key, [default])[0] diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index eb68d5c0a4..4c66170c32 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -27,7 +27,7 @@ class AuthorizationService: # Emit signal when authentication failed. onAuthenticationError = Signal() - def __init__(self, preferences, settings: "OAuth2Settings"): + def __init__(self, preferences, settings: "OAuth2Settings") -> None: self._settings = settings self._auth_helpers = AuthorizationHelpers(settings) self._auth_url = "{}/authorize".format(self._settings.OAUTH_SERVER_URL) @@ -55,7 +55,7 @@ class AuthorizationService: Tries to parse the JWT if all the needed data exists. :return: UserProfile if found, otherwise None. """ - if not self._auth_data: + if not self._auth_data or self._auth_data.access_token is None: # If no auth data exists, we should always log in again. return None user_data = self._auth_helpers.parseJWT(self._auth_data.access_token) @@ -63,10 +63,13 @@ class AuthorizationService: # If the profile was found, we return it immediately. return user_data # The JWT was expired or invalid and we should request a new one. + if self._auth_data.refresh_token is None: + return None self._auth_data = self._auth_helpers.getAccessTokenUsingRefreshToken(self._auth_data.refresh_token) - if not self._auth_data: + if not self._auth_data or self._auth_data.access_token is None: # The token could not be refreshed using the refresh token. We should login again. return None + return self._auth_helpers.parseJWT(self._auth_data.access_token) def getAccessToken(self) -> Optional[str]: @@ -78,16 +81,23 @@ class AuthorizationService: # We check if we can get the user profile. # If we can't get it, that means the access token (JWT) was invalid or expired. return None + + if self._auth_data is None: + return None + return self._auth_data.access_token def refreshAccessToken(self) -> None: """ Refresh the access token when it expired. """ + if self._auth_data is None or self._auth_data.refresh_token is None: + Logger.log("w", "Unable to refresh acces token, since there is no refresh token.") + return self._storeAuthData(self._auth_helpers.getAccessTokenUsingRefreshToken(self._auth_data.refresh_token)) self.onAuthStateChanged.emit(logged_in=True) - def deleteAuthData(self): + def deleteAuthData(self) -> None: """Delete authentication data from preferences and locally.""" self._storeAuthData() self.onAuthStateChanged.emit(logged_in=False) diff --git a/cura/OAuth2/LocalAuthorizationServer.py b/cura/OAuth2/LocalAuthorizationServer.py index 9979eaaa08..d6a4bf5216 100644 --- a/cura/OAuth2/LocalAuthorizationServer.py +++ b/cura/OAuth2/LocalAuthorizationServer.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. import threading from http.server import HTTPServer -from typing import Optional, Callable +from typing import Optional, Callable, Any # As this module is specific for Cura plugins, we can rely on these imports. from UM.Logger import Logger @@ -16,22 +16,22 @@ from cura.OAuth2.Models import AuthenticationResponse class LocalAuthorizationServer: def __init__(self, auth_helpers: "AuthorizationHelpers", - auth_state_changed_callback: "Callable[[AuthenticationResponse], any]", - daemon: bool): + auth_state_changed_callback: "Callable[[AuthenticationResponse], Any]", + daemon: bool) -> None: """ :param auth_helpers: An instance of the authorization helpers class. :param auth_state_changed_callback: A callback function to be called when the authorization state changes. :param daemon: Whether the server thread should be run in daemon mode. Note: Daemon threads are abruptly stopped at shutdown. Their resources (e.g. open files) may never be released. """ - self._web_server = None # type: Optional[HTTPServer] + self._web_server = None # type: Optional[AuthorizationRequestServer] self._web_server_thread = None # type: Optional[threading.Thread] self._web_server_port = auth_helpers.settings.CALLBACK_PORT self._auth_helpers = auth_helpers self._auth_state_changed_callback = auth_state_changed_callback self._daemon = daemon - def start(self, verification_code: "str") -> None: + def start(self, verification_code: str) -> None: """ Starts the local web server to handle the authorization callback. :param verification_code: The verification code part of the OAuth2 client identification. @@ -42,6 +42,9 @@ class LocalAuthorizationServer: self._web_server.setVerificationCode(verification_code) return + if self._web_server_port is None: + raise Exception("Unable to start server without specifying the port.") + Logger.log("d", "Starting local web server to handle authorization callback on port %s", self._web_server_port) diff --git a/cura/OAuth2/Models.py b/cura/OAuth2/Models.py index 08bed7e6d9..a6b91cae26 100644 --- a/cura/OAuth2/Models.py +++ b/cura/OAuth2/Models.py @@ -9,7 +9,7 @@ class BaseModel: # OAuth OAuth2Settings data template. class OAuth2Settings(BaseModel): - CALLBACK_PORT = None # type: Optional[str] + CALLBACK_PORT = None # type: Optional[int] OAUTH_SERVER_URL = None # type: Optional[str] CLIENT_ID = None # type: Optional[str] CLIENT_SCOPES = None # type: Optional[str] From 060ea0b762ae6dce1a1f041f56c7617346be118a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 21 Sep 2018 14:12:31 +0200 Subject: [PATCH 061/423] Fixed up final bit of mypy issues CURA-5744 --- cura/OAuth2/AuthorizationRequestHandler.py | 27 +++++++++++++--------- cura/OAuth2/AuthorizationRequestServer.py | 13 +++++++---- cura/OAuth2/AuthorizationService.py | 16 ++++++------- cura/OAuth2/LocalAuthorizationServer.py | 13 +++++------ cura/OAuth2/Models.py | 2 +- 5 files changed, 39 insertions(+), 32 deletions(-) diff --git a/cura/OAuth2/AuthorizationRequestHandler.py b/cura/OAuth2/AuthorizationRequestHandler.py index d13639c45d..0558db784f 100644 --- a/cura/OAuth2/AuthorizationRequestHandler.py +++ b/cura/OAuth2/AuthorizationRequestHandler.py @@ -1,12 +1,15 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Optional, Callable, Tuple, Dict, Any, List +from typing import Optional, Callable, Tuple, Dict, Any, List, TYPE_CHECKING from http.server import BaseHTTPRequestHandler from urllib.parse import parse_qs, urlparse from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers -from cura.OAuth2.Models import AuthenticationResponse, ResponseData, HTTP_STATUS, ResponseStatus +from cura.OAuth2.Models import AuthenticationResponse, ResponseData, HTTP_STATUS + +if TYPE_CHECKING: + from cura.OAuth2.Models import ResponseStatus class AuthorizationRequestHandler(BaseHTTPRequestHandler): @@ -15,15 +18,15 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): It also requests the access token for the 2nd stage of the OAuth flow. """ - def __init__(self, request, client_address, server): + def __init__(self, request, client_address, server) -> None: super().__init__(request, client_address, server) # These values will be injected by the HTTPServer that this handler belongs to. - self.authorization_helpers = None # type: AuthorizationHelpers - self.authorization_callback = None # type: Callable[[AuthenticationResponse], None] - self.verification_code = None # type: str + self.authorization_helpers = None # type: Optional[AuthorizationHelpers] + self.authorization_callback = None # type: Optional[Callable[[AuthenticationResponse], None]] + self.verification_code = None # type: Optional[str] - def do_GET(self): + def do_GET(self) -> None: """Entry point for GET requests""" # Extract values from the query string. @@ -44,7 +47,7 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): # If there is data in the response, we send it. self._sendData(server_response.data_stream) - if token_response: + if token_response and self.authorization_callback is not None: # Trigger the callback if we got a response. # This will cause the server to shut down, so we do it at the very end of the request handling. self.authorization_callback(token_response) @@ -56,7 +59,7 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): :return: HTTP ResponseData containing a success page to show to the user. """ code = self._queryGet(query, "code") - if code: + if code and self.authorization_helpers is not None and self.verification_code is not None: # If the code was returned we get the access token. token_response = self.authorization_helpers.getAccessTokenUsingAuthorizationCode( code, self.verification_code) @@ -74,6 +77,8 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): success=False, error_message="Something unexpected happened when trying to log in, please try again." ) + if self.authorization_helpers is None: + return ResponseData(), token_response return ResponseData( status=HTTP_STATUS["REDIRECT"], @@ -83,7 +88,7 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): ), token_response @staticmethod - def _handleNotFound() -> "ResponseData": + def _handleNotFound() -> ResponseData: """Handle all other non-existing server calls.""" return ResponseData(status=HTTP_STATUS["NOT_FOUND"], content_type="text/html", data_stream=b"Not found.") @@ -100,6 +105,6 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): self.wfile.write(data) @staticmethod - def _queryGet(query_data: Dict[Any, List], key: str, default=None) -> Optional[str]: + def _queryGet(query_data: Dict[Any, List], key: str, default: Optional[str]=None) -> Optional[str]: """Helper for getting values from a pre-parsed query string""" return query_data.get(key, [default])[0] diff --git a/cura/OAuth2/AuthorizationRequestServer.py b/cura/OAuth2/AuthorizationRequestServer.py index 270c558167..514a4ab5de 100644 --- a/cura/OAuth2/AuthorizationRequestServer.py +++ b/cura/OAuth2/AuthorizationRequestServer.py @@ -1,8 +1,11 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from http.server import HTTPServer +from typing import Callable, Any, TYPE_CHECKING -from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers +if TYPE_CHECKING: + from cura.OAuth2.Models import AuthenticationResponse + from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers class AuthorizationRequestServer(HTTPServer): @@ -14,12 +17,12 @@ class AuthorizationRequestServer(HTTPServer): def setAuthorizationHelpers(self, authorization_helpers: "AuthorizationHelpers") -> None: """Set the authorization helpers instance on the request handler.""" - self.RequestHandlerClass.authorization_helpers = authorization_helpers + self.RequestHandlerClass.authorization_helpers = authorization_helpers # type: ignore - def setAuthorizationCallback(self, authorization_callback) -> None: + def setAuthorizationCallback(self, authorization_callback: Callable[["AuthenticationResponse"], Any]) -> None: """Set the authorization callback on the request handler.""" - self.RequestHandlerClass.authorization_callback = authorization_callback + self.RequestHandlerClass.authorization_callback = authorization_callback # type: ignore def setVerificationCode(self, verification_code: str) -> None: """Set the verification code on the request handler.""" - self.RequestHandlerClass.verification_code = verification_code + self.RequestHandlerClass.verification_code = verification_code # type: ignore diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 4c66170c32..33ea419ff5 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -2,17 +2,18 @@ # Cura is released under the terms of the LGPLv3 or higher. import json import webbrowser -from typing import Optional +from typing import Optional, TYPE_CHECKING from urllib.parse import urlencode -# As this module is specific for Cura plugins, we can rely on these imports. from UM.Logger import Logger from UM.Signal import Signal -# Plugin imports need to be relative to work in final builds. from cura.OAuth2.LocalAuthorizationServer import LocalAuthorizationServer from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers -from cura.OAuth2.Models import OAuth2Settings, AuthenticationResponse, UserProfile +from cura.OAuth2.Models import AuthenticationResponse + +if TYPE_CHECKING: + from cura.OAuth2.Models import UserProfile, OAuth2Settings class AuthorizationService: @@ -32,7 +33,7 @@ class AuthorizationService: self._auth_helpers = AuthorizationHelpers(settings) self._auth_url = "{}/authorize".format(self._settings.OAUTH_SERVER_URL) self._auth_data = None # type: Optional[AuthenticationResponse] - self._user_profile = None # type: Optional[UserProfile] + self._user_profile = None # type: Optional["UserProfile"] self._cura_preferences = preferences self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True) self._loadAuthData() @@ -75,7 +76,6 @@ class AuthorizationService: def getAccessToken(self) -> Optional[str]: """ Get the access token response data. - :return: Dict containing token data. """ if not self.getUserProfile(): # We check if we can get the user profile. @@ -130,7 +130,7 @@ class AuthorizationService: # Start a local web server to receive the callback URL on. self._server.start(verification_code) - def _onAuthStateChanged(self, auth_response: "AuthenticationResponse") -> None: + def _onAuthStateChanged(self, auth_response: AuthenticationResponse) -> None: """Callback method for an authentication flow.""" if auth_response.success: self._storeAuthData(auth_response) @@ -150,7 +150,7 @@ class AuthorizationService: except ValueError as err: Logger.log("w", "Could not load auth data from preferences: %s", err) - def _storeAuthData(self, auth_data: Optional["AuthenticationResponse"] = None) -> None: + def _storeAuthData(self, auth_data: Optional[AuthenticationResponse] = None) -> None: """Store authentication data in preferences and locally.""" self._auth_data = auth_data if auth_data: diff --git a/cura/OAuth2/LocalAuthorizationServer.py b/cura/OAuth2/LocalAuthorizationServer.py index d6a4bf5216..d1d07b5c91 100644 --- a/cura/OAuth2/LocalAuthorizationServer.py +++ b/cura/OAuth2/LocalAuthorizationServer.py @@ -1,22 +1,21 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import threading -from http.server import HTTPServer -from typing import Optional, Callable, Any +from typing import Optional, Callable, Any, TYPE_CHECKING -# As this module is specific for Cura plugins, we can rely on these imports. from UM.Logger import Logger -# Plugin imports need to be relative to work in final builds. from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers from cura.OAuth2.AuthorizationRequestServer import AuthorizationRequestServer from cura.OAuth2.AuthorizationRequestHandler import AuthorizationRequestHandler -from cura.OAuth2.Models import AuthenticationResponse + +if TYPE_CHECKING: + from cura.OAuth2.Models import AuthenticationResponse class LocalAuthorizationServer: def __init__(self, auth_helpers: "AuthorizationHelpers", - auth_state_changed_callback: "Callable[[AuthenticationResponse], Any]", + auth_state_changed_callback: Callable[["AuthenticationResponse"], Any], daemon: bool) -> None: """ :param auth_helpers: An instance of the authorization helpers class. @@ -62,7 +61,7 @@ class LocalAuthorizationServer: def stop(self) -> None: """ Stops the web server if it was running. Also deletes the objects. """ - Logger.log("d", "Stopping local web server...") + Logger.log("d", "Stopping local oauth2 web server...") if self._web_server: self._web_server.server_close() diff --git a/cura/OAuth2/Models.py b/cura/OAuth2/Models.py index a6b91cae26..796fdf8746 100644 --- a/cura/OAuth2/Models.py +++ b/cura/OAuth2/Models.py @@ -46,7 +46,7 @@ class ResponseStatus(BaseModel): # Response data template. class ResponseData(BaseModel): - status = None # type: Optional[ResponseStatus] + status = None # type: ResponseStatus data_stream = None # type: Optional[bytes] redirect_uri = None # type: Optional[str] content_type = "text/html" # type: str From b54383e685a0fc5909a4a3f3c9a3d414bf0e8c44 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 21 Sep 2018 16:43:32 +0200 Subject: [PATCH 062/423] Added account object to API CURA-5744 --- cura/API/Account.py | 88 +++++++++++++++++++++++++++++ cura/API/__init__.py | 5 +- cura/OAuth2/AuthorizationService.py | 1 + 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 cura/API/Account.py diff --git a/cura/API/Account.py b/cura/API/Account.py new file mode 100644 index 0000000000..377464f438 --- /dev/null +++ b/cura/API/Account.py @@ -0,0 +1,88 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. +from typing import Tuple, Optional, Dict + +from PyQt5.QtCore.QObject import QObject, pyqtSignal, pyqtSlot, pyqtProperty + +from UM.Message import Message +from cura.OAuth2.AuthorizationService import AuthorizationService +from cura.OAuth2.Models import OAuth2Settings +from UM.Application import Application + +from UM.i18n import i18nCatalog +i18n_catalog = i18nCatalog("cura") + + +## The account API provides a version-proof bridge to use Ultimaker Accounts +# +# Usage: +# ``from cura.API import CuraAPI +# api = CuraAPI() +# api.account.login() +# api.account.logout() +# api.account.userProfile # Who is logged in`` +# +class Account(QObject): + # Signal emitted when user logged in or out. + loginStateChanged = pyqtSignal() + + def __init__(self, parent = None) -> None: + super().__init__(parent) + self._callback_port = 32118 + self._oauth_root = "https://account.ultimaker.com" + self._cloud_api_root = "https://api.ultimaker.com" + + self._oauth_settings = OAuth2Settings( + OAUTH_SERVER_URL= self._oauth_root, + CALLBACK_PORT=self._callback_port, + CALLBACK_URL="http://localhost:{}/callback".format(self._callback_port), + CLIENT_ID="um---------------ultimaker_cura_drive_plugin", + CLIENT_SCOPES="user.read drive.backups.read drive.backups.write", + AUTH_DATA_PREFERENCE_KEY="cura_drive/auth_data", + AUTH_SUCCESS_REDIRECT="{}/cura-drive/v1/auth-success".format(self._cloud_api_root), + AUTH_FAILED_REDIRECT="{}/cura-drive/v1/auth-error".format(self._cloud_api_root) + ) + + self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) + + self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged) + self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged) + + self._error_message = None + self._logged_in = False + + @pyqtProperty(bool, notify=loginStateChanged) + def isLoggedIn(self) -> bool: + return self._logged_in + + def _onLoginStateChanged(self, logged_in: bool = False, error_message: Optional[str] = None) -> None: + if error_message: + if self._error_message: + self._error_message.hide() + self._error_message = Message(error_message, title = i18n_catalog.i18nc("@info:title", "Login failed")) + self._error_message.show() + + if self._logged_in != logged_in: + self._logged_in = logged_in + self.loginStateChanged.emit() + + def login(self) -> None: + if self._logged_in: + # Nothing to do, user already logged in. + return + self._authorization_service.startAuthorizationFlow() + + # Get the profile of the logged in user + # @returns None if no user is logged in, a dict containing user_id, username and profile_image_url + @pyqtProperty("QVariantMap", notify = loginStateChanged) + def userProfile(self) -> Optional[Dict[str, Optional[str]]]: + user_profile = self._authorization_service.getUserProfile() + if not user_profile: + return None + return user_profile.__dict__ + + def logout(self) -> None: + if not self._logged_in: + return # Nothing to do, user isn't logged in. + + self._authorization_service.deleteAuthData() diff --git a/cura/API/__init__.py b/cura/API/__init__.py index 64d636903d..d6d9092219 100644 --- a/cura/API/__init__.py +++ b/cura/API/__init__.py @@ -3,6 +3,8 @@ from UM.PluginRegistry import PluginRegistry from cura.API.Backups import Backups from cura.API.Interface import Interface +from cura.API.Account import Account + ## The official Cura API that plug-ins can use to interact with Cura. # @@ -10,7 +12,6 @@ from cura.API.Interface import Interface # this API provides a version-safe interface with proper deprecation warnings # etc. Usage of any other methods than the ones provided in this API can cause # plug-ins to be unstable. - class CuraAPI: # For now we use the same API version to be consistent. @@ -21,3 +22,5 @@ class CuraAPI: # Interface API interface = Interface() + + account = Account() diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 33ea419ff5..868dbe8034 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -49,6 +49,7 @@ class AuthorizationService: if not self._user_profile: # If there is still no user profile from the JWT, we have to log in again. return None + return self._user_profile def _parseJWT(self) -> Optional["UserProfile"]: From 081b2a28fe6a3b6d8136ec6e8bc67745262e9ede Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 21 Sep 2018 17:23:30 +0200 Subject: [PATCH 063/423] Expose Account API to QML This is done by adding the API as an SingletonType to Cura. CURA-5744 --- cura/API/Account.py | 18 +++++++++++++++++- cura/API/__init__.py | 10 ++++++++-- cura/CuraApplication.py | 10 ++++++++++ resources/qml/Cura.qml | 3 +-- 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 377464f438..7ccd995be3 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. from typing import Tuple, Optional, Dict -from PyQt5.QtCore.QObject import QObject, pyqtSignal, pyqtSlot, pyqtProperty +from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, pyqtProperty from UM.Message import Message from cura.OAuth2.AuthorizationService import AuthorizationService @@ -66,12 +66,27 @@ class Account(QObject): self._logged_in = logged_in self.loginStateChanged.emit() + @pyqtSlot() def login(self) -> None: if self._logged_in: # Nothing to do, user already logged in. return self._authorization_service.startAuthorizationFlow() + @pyqtProperty(str, notify=loginStateChanged) + def userName(self): + user_profile = self._authorization_service.getUserProfile() + if not user_profile: + return None + return user_profile.username + + @pyqtProperty(str, notify = loginStateChanged) + def profileImageUrl(self): + user_profile = self._authorization_service.getUserProfile() + if not user_profile: + return None + return user_profile.profile_image_url + # Get the profile of the logged in user # @returns None if no user is logged in, a dict containing user_id, username and profile_image_url @pyqtProperty("QVariantMap", notify = loginStateChanged) @@ -81,6 +96,7 @@ class Account(QObject): return None return user_profile.__dict__ + @pyqtSlot() def logout(self) -> None: if not self._logged_in: return # Nothing to do, user isn't logged in. diff --git a/cura/API/__init__.py b/cura/API/__init__.py index d6d9092219..54f5c1f8b0 100644 --- a/cura/API/__init__.py +++ b/cura/API/__init__.py @@ -1,5 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from PyQt5.QtCore import QObject, pyqtProperty + from UM.PluginRegistry import PluginRegistry from cura.API.Backups import Backups from cura.API.Interface import Interface @@ -12,7 +14,7 @@ from cura.API.Account import Account # this API provides a version-safe interface with proper deprecation warnings # etc. Usage of any other methods than the ones provided in this API can cause # plug-ins to be unstable. -class CuraAPI: +class CuraAPI(QObject): # For now we use the same API version to be consistent. VERSION = PluginRegistry.APIVersion @@ -23,4 +25,8 @@ class CuraAPI: # Interface API interface = Interface() - account = Account() + _account = Account() + + @pyqtProperty(QObject, constant = True) + def account(self) -> Account: + return CuraAPI._account diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index a94814502e..cd0cfb95d6 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -204,6 +204,7 @@ class CuraApplication(QtApplication): self._quality_profile_drop_down_menu_model = None self._custom_quality_profile_drop_down_menu_model = None + self._cura_API = None self._physics = None self._volume = None @@ -894,6 +895,12 @@ class CuraApplication(QtApplication): self._custom_quality_profile_drop_down_menu_model = CustomQualityProfilesDropDownMenuModel(self) return self._custom_quality_profile_drop_down_menu_model + def getCuraAPI(self, *args, **kwargs): + if self._cura_API is None: + from cura.API import CuraAPI + self._cura_API = CuraAPI() + return self._cura_API + ## Registers objects for the QML engine to use. # # \param engine The QML engine. @@ -942,6 +949,9 @@ class CuraApplication(QtApplication): qmlRegisterSingletonType(ContainerManager, "Cura", 1, 0, "ContainerManager", ContainerManager.getInstance) qmlRegisterType(SidebarCustomMenuItemsModel, "Cura", 1, 0, "SidebarCustomMenuItemsModel") + from cura.API import CuraAPI + qmlRegisterSingletonType(CuraAPI, "Cura", 1, 1, "API", self.getCuraAPI) + # As of Qt5.7, it is necessary to get rid of any ".." in the path for the singleton to work. actions_url = QUrl.fromLocalFile(os.path.abspath(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "Actions.qml"))) qmlRegisterSingletonType(actions_url, "Cura", 1, 0, "Actions") diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 07154a0729..b3367471ad 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -8,7 +8,7 @@ import QtQuick.Layouts 1.1 import QtQuick.Dialogs 1.2 import UM 1.3 as UM -import Cura 1.0 as Cura +import Cura 1.1 as Cura import "Menus" @@ -21,7 +21,6 @@ UM.MainWindow property bool showPrintMonitor: false backgroundColor: UM.Theme.getColor("viewport_background") - // This connection is here to support legacy printer output devices that use the showPrintMonitor signal on Application to switch to the monitor stage // It should be phased out in newer plugin versions. Connections From c29d38361b754d1acbbf4391b5b333a0b5ef2edd Mon Sep 17 00:00:00 2001 From: Cherubim Date: Sun, 23 Sep 2018 00:27:50 +0200 Subject: [PATCH 064/423] Fix initial start-up when providing model parameter If you're adding a model file as command line argument to Cura, it should auto-load this file upon start-up. However when adding this command line argument upon first launch of Cura, there is no printer yet so Cura would crash because it tries to load a model before there is a build volume. This prevents that crash and instead doesn't load the model at all. --- cura/CuraApplication.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index dbaef4df34..65e95f1c11 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1580,6 +1580,11 @@ class CuraApplication(QtApplication): job.start() def _readMeshFinished(self, job): + global_container_stack = self.getGlobalContainerStack() + if not global_container_stack: + Logger.log("w", "Can't load meshes before a printer is added.") + return + nodes = job.getResult() file_name = job.getFileName() file_name_lower = file_name.lower() @@ -1594,7 +1599,6 @@ class CuraApplication(QtApplication): for node_ in DepthFirstIterator(root): if node_.callDecoration("isSliceable") and node_.callDecoration("getBuildPlateNumber") == target_build_plate: fixed_nodes.append(node_) - global_container_stack = self.getGlobalContainerStack() machine_width = global_container_stack.getProperty("machine_width", "value") machine_depth = global_container_stack.getProperty("machine_depth", "value") arranger = Arrange.create(x = machine_width, y = machine_depth, fixed_nodes = fixed_nodes) From 8c6f2dc86a7c6df973d14ff6cf42da1260b2f60b Mon Sep 17 00:00:00 2001 From: drzejkopf <41212609+drzejkopf@users.noreply.github.com> Date: Sun, 23 Sep 2018 15:21:14 +0200 Subject: [PATCH 065/423] Complete Polish translation for version 3.5 --- resources/i18n/pl_PL/cura.po | 256 ++++++++++++++++++----------------- 1 file changed, 130 insertions(+), 126 deletions(-) diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index bab972db8c..5003eee692 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -8,15 +8,15 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-14 14:35+0200\n" -"Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" +"PO-Revision-Date: 2018-09-21 20:52+0200\n" +"Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.1.1\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -43,18 +43,18 @@ msgstr "Pliki G-code" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "Zapisywacz G-code nie obsługuje trybu nietekstowego." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Wygeneruj G-code przed zapisem." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" msgid "3D Model Assistant" -msgstr "" +msgstr "Asystent Modelu 3D" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:80 #, python-brace-format @@ -65,6 +65,10 @@ msgid "" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" msgstr "" +"

Jeden lub więcej modeli 3D może nie zostać wydrukowanych optymalnie ze względu na wymiary modelu oraz konfigurację materiału:

\n" +"

{model_names}

\n" +"

Dowiedz się, jak zapewnić najlepszą możliwą jakość oraz niezawodnośc wydruku.

\n" +"

Zobacz przewodnik po jakości wydruku (strona w języku angielskim)

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -104,7 +108,7 @@ msgstr "Połączono przez USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Trwa drukowanie przez USB, zamknięcie Cura spowoduje jego zatrzymanie. Jesteś pewien?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -115,12 +119,12 @@ msgstr "Plik X3G" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/GPX-prefix/src/GPX/slicerplugins/cura15.06/X3gWriter/__init__.py:16 msgctxt "X3g Writer Plugin Description" msgid "Writes X3g to files" -msgstr "" +msgstr "Zapisuje do plików X3g" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/GPX-prefix/src/GPX/slicerplugins/cura15.06/X3gWriter/__init__.py:21 msgctxt "X3g Writer File Description" msgid "X3g File" -msgstr "" +msgstr "Plik X3g" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/__init__.py:17 #: /home/ruben/Projects/Cura/plugins/GCodeGzReader/__init__.py:17 @@ -131,7 +135,7 @@ msgstr "Skompresowany Plik G-code" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "Zapisywacz skompresowanego G-code nie obsługuje trybu tekstowego." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -501,7 +505,7 @@ msgstr "Jak zaktualizować" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 msgctxt "@info" msgid "Could not access update information." -msgstr "Nie można uzyskać dostępu do informacji o aktualizacji" +msgstr "Nie można uzyskać dostępu do informacji o aktualizacji." #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" @@ -545,12 +549,12 @@ msgstr "Zbieranie Danych" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "More info" -msgstr "" +msgstr "Więcej informacji" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." -msgstr "" +msgstr "Zobacz więcej informacji o tym, jakie dane przesyła Cura." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 msgctxt "@action:button" @@ -565,7 +569,7 @@ msgstr "Zezwól Cura na wysyłanie anonimowych danych statystycznych, aby pomóc #: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "Cura 15.04 profiles" -msgstr "Profile Cura 15.04 " +msgstr "Profile Cura 15.04" #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" @@ -628,7 +632,7 @@ msgstr "Nie można pociąć, ponieważ wieża czyszcząca lub jej pozycja(e) są #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Nie można pociąć, ponieważ obecne są obiekty powiązane z wyłączonym ekstruderem %s." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -684,12 +688,12 @@ msgstr "Dysza" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Plik projektu {0} zawiera nieznany typ maszyny {1}. Nie można zaimportować maszyny. Zostaną zaimportowane modele." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Otwórz Plik Projektu" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -746,7 +750,7 @@ msgstr "Plik Cura Project 3MF" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Błąd zapisu pliku 3mf." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -802,7 +806,7 @@ msgstr "Łączenie podpory" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 msgctxt "@tooltip" msgid "Support" -msgstr "Podpory " +msgstr "Podpory" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 msgctxt "@tooltip" @@ -1008,22 +1012,22 @@ msgstr "Obszar Roboczy" #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" -msgstr "" +msgstr "Nie można utworzyć archiwum z folderu danych użytkownika: {}" #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 msgctxt "@info:title" msgid "Backup" -msgstr "" +msgstr "Kopia zapasowa" #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." -msgstr "" +msgstr "Podjęto próbę przywrócenia kopii zapasowej Cura na podstawie niepoprawnych danych lub metadanych." #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." -msgstr "" +msgstr "Podjęto próbę przywrócenia kopii zapasowej Cura, która nie odpowiada obecnej wersji programu." #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:27 msgctxt "@info:status" @@ -1429,7 +1433,7 @@ msgstr "Zainstalowane" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxErrorPage.qml:16 msgctxt "@info" msgid "Could not connect to the Cura Package database. Please check your connection." -msgstr "" +msgstr "Nie można połączyć się z bazą danych pakietów Cura. Sprawdź swoje połączenie z internetem." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 @@ -1447,22 +1451,22 @@ msgstr "Materiał" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 msgctxt "@label" msgid "Version" -msgstr "" +msgstr "Wersja" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 msgctxt "@label" msgid "Last updated" -msgstr "" +msgstr "Ostatnia aktualizacja" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 msgctxt "@label" msgid "Author" -msgstr "" +msgstr "Autor" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Pobrań" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1481,93 +1485,93 @@ msgstr "Aktualizuj" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:31 msgctxt "@action:button" msgid "Updating" -msgstr "" +msgstr "Aktualizowanie" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailTileActions.qml:46 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:32 msgctxt "@action:button" msgid "Updated" -msgstr "" +msgstr "Zaktualizowano" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/Toolbox.qml:13 msgctxt "@title" msgid "Toolbox" -msgstr "" +msgstr "Narzędzia" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxBackColumn.qml:25 msgctxt "@action:button" msgid "Back" -msgstr "" +msgstr "Powrót" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Potwierdź odinstalowanie " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Odinstalowujesz materiały i/lub profile, które są aktualnie używane. Zatwierdzenie spowoduje przywrócenie bieżących ustawień materiału/profilu do ustawień domyślnych." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materiały" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Profile" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Potwierdź" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" msgid "You will need to restart Cura before changes in packages have effect." -msgstr "" +msgstr "Należy uruchomić ponownie Cura, aby zmiany w pakietach przyniosły efekt." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:34 msgctxt "@info:button" msgid "Quit Cura" -msgstr "" +msgstr "Zakończ Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Udział Społeczności" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Wtyczki Społeczności" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Materiały Podstawowe" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" msgid "Installed" -msgstr "" +msgstr "Zainstalowano" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:19 msgctxt "@label" msgid "Will install upon restarting" -msgstr "" +msgstr "Zostanie zainstalowane po ponownym uruchomieniu" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:51 msgctxt "@action:button" msgid "Downgrade" -msgstr "" +msgstr "Zainstaluj poprzednią wersję" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:51 msgctxt "@action:button" msgid "Uninstall" -msgstr "" +msgstr "Odinstaluj" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:16 msgctxt "@title:window" @@ -1598,27 +1602,27 @@ msgstr "Odrzuć" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcase.qml:23 msgctxt "@label" msgid "Featured" -msgstr "" +msgstr "Polecane" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml:31 msgctxt "@label" msgid "Compatibility" -msgstr "" +msgstr "Zgodność" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLoadingPage.qml:16 msgctxt "@info" msgid "Fetching packages..." -msgstr "" +msgstr "Uzyskiwanie pakietów..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Strona internetowa" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-mail" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1755,12 +1759,12 @@ msgstr "Adres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Ta drukarka nie jest skonfigurowana jako host dla grupy drukarek." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Ta drukarka jest hostem grupy %1 drukarek." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1808,52 +1812,52 @@ msgstr "Drukuj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Oczekiwanie na: Niedostępną drukarkę" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Oczekiwanie na: Pierwszą dostępną" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Oczekiwanie na: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Przesuń na początek" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Przesuń zadanie drukowania na początek" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz przesunąć %1 na początek kolejki?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Usuń" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Usuń zadanie drukowania" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz usunąć %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Zarządzaj kolejką" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1868,57 +1872,57 @@ msgstr "Drukowanie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Zarządzaj drukarkami" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Niedostępny" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Nieosiągalny" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Dostępny" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Ponów" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Wstrzymaj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Anuluj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" -msgstr "Przerwij wydruk" +msgstr "Anuluj wydruk" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz anulować %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Anulowano" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1933,7 +1937,7 @@ msgstr "Przygotowywanie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Wstrzymywanie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2073,22 +2077,22 @@ msgstr "Zmień aktywne skrypty post-processingu" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:16 msgctxt "@title:window" msgid "More information on anonymous data collection" -msgstr "" +msgstr "Wiećej informacji o zbieraniu anonimowych danych" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:66 msgctxt "@text:window" msgid "Cura sends anonymous data to Ultimaker in order to improve the print quality and user experience. Below is an example of all the data that is sent." -msgstr "" +msgstr "Cura wysyła anonimowe dane do Ultimaker w celu polepszenia jakości wydruków oraz interakcji z użytkownikiem. Poniżej podano przykład wszystkich danych, jakie mogą być przesyłane." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:101 msgctxt "@text:window" msgid "I don't want to send these data" -msgstr "" +msgstr "Nie chcę przesyłać tych danych" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:111 msgctxt "@text:window" msgid "Allow sending these data to Ultimaker and help us improve Cura" -msgstr "" +msgstr "Zezwól na przesyłanie tych danych do Ultimaker i pomóż nam ulepszać Cura" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:19 msgctxt "@title:window" @@ -2351,7 +2355,7 @@ msgstr "Otwórz" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Poprzedni" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2363,12 +2367,12 @@ msgstr "Eksportuj" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Następny" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Końcówka" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2417,12 +2421,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Próbny wydruk" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Lista kontrolna" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2645,7 +2649,7 @@ msgstr "Usuń wydruk" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Anuluj Wydruk" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2725,7 +2729,7 @@ msgstr "Potwierdź Zmianę Średnicy" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:101 msgctxt "@label (%1 is a number)" msgid "The new filament diameter is set to %1 mm, which is not compatible with the current extruder. Do you wish to continue?" -msgstr "" +msgstr "Średnica nowego filamentu została ustawiona na %1mm, i nie jest kompatybilna z bieżącym ekstruderem. Czy chcesz kontynuować?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:133 msgctxt "@label" @@ -3068,12 +3072,12 @@ msgstr "Skaluj bardzo małe modele" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" -msgstr "" +msgstr "Czy modele powinny zostać zaznaczone po załadowaniu?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@option:check" msgid "Select models when loaded" -msgstr "" +msgstr "Zaznaczaj modele po załadowaniu" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 msgctxt "@info:tooltip" @@ -3108,7 +3112,7 @@ msgstr "Domyślne zachowanie podczas otwierania pliku projektu: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Zawsze pytaj" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3128,22 +3132,22 @@ msgstr "Kiedy dokonasz zmian w profilu i przełączysz się na inny, zostanie wy #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Profile" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Domyślne zachowanie dla zmienionych ustawień podczas zmiany profilu na inny: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Zawsze odrzucaj wprowadzone zmiany" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Zawsze przenoś wprowadzone zmiany do nowego profilu" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3173,7 +3177,7 @@ msgstr "Wyślij (anonimowe) informacje o drukowaniu" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 msgctxt "@action:button" msgid "More information" -msgstr "" +msgstr "Więcej informacji" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 msgctxt "@label" @@ -3338,7 +3342,7 @@ msgstr "Dodaj drukarkę" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Bez tytułu" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3519,12 +3523,12 @@ msgstr "Skonfiguruj widoczność ustawień ..." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 msgctxt "@action:inmenu" msgid "Collapse All" -msgstr "" +msgstr "Schowaj wszystkie" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 msgctxt "@action:inmenu" msgid "Expand All" -msgstr "" +msgstr "Rozwiń wszystkie" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 msgctxt "@label" @@ -3696,17 +3700,17 @@ msgstr "Przed drukowaniem podgrzej stół. W dalszym ciągu można dostosowywać #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Materiał" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Ulubione" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Podstawowe" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3780,12 +3784,12 @@ msgstr "Ekstruder" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/SyncButton.qml:16 msgctxt "@label:extruder label" msgid "Yes" -msgstr "" +msgstr "Tak" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/SyncButton.qml:16 msgctxt "@label:extruder label" msgid "No" -msgstr "" +msgstr "Nie" #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" @@ -3980,7 +3984,7 @@ msgstr "&Grupuj modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" -msgstr "Rozgrupuj modele " +msgstr "Rozgrupuj modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 msgctxt "@action:inmenu menubar:edit" @@ -4010,7 +4014,7 @@ msgstr "Przeładuj wszystkie modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" -msgstr "Rozłóż Wszystkie Modele na Wszystkie Platformy Robocze." +msgstr "Rozłóż Wszystkie Modele na Wszystkie Platformy Robocze" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 msgctxt "@action:inmenu menubar:edit" @@ -4055,7 +4059,7 @@ msgstr "Pokaż folder konfiguracji" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 msgctxt "@action:menu" msgid "Browse packages..." -msgstr "" +msgstr "Przeglądaj pakiety..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 msgctxt "@action:inmenu menubar:view" @@ -4146,17 +4150,17 @@ msgstr "&Plik" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Zapisz..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Eksportuj..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Eksportuj Zaznaczenie..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4218,7 +4222,7 @@ msgstr "&Rozszerzenia" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" -msgstr "" +msgstr "&Narzędzia" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 msgctxt "@title:menu menubar:toplevel" @@ -4233,7 +4237,7 @@ msgstr "P&omoc" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 msgctxt "@label" msgid "This package will be installed after restarting." -msgstr "" +msgstr "Ten pakiet zostanie zainstalowany po ponownym uruchomieniu." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 msgctxt "@action:button" @@ -4258,18 +4262,18 @@ msgstr "Czy na pewno chcesz rozpocząć nowy projekt? Spowoduje to wyczyszczenie #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Zamykanie Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz zakończyć Cura?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" msgid "Install Package" -msgstr "" +msgstr "Instaluj pakiety" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@title:window" @@ -4446,7 +4450,7 @@ msgstr "Materiał" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Użyj kleju z tą kombinacją materiałów" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4476,7 +4480,7 @@ msgstr "Rozłóż na obecnej platformie roboczej" #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc.)." -msgstr "" +msgstr "Zapewnia możliwość zmiany ustawień maszyny (takich jak objętość robocza, rozmiar dyszy itp.)." #: MachineSettingsAction/plugin.json msgctxt "name" @@ -4486,12 +4490,12 @@ msgstr "Ustawienia Maszyny" #: Toolbox/plugin.json msgctxt "description" msgid "Find, manage and install new Cura packages." -msgstr "" +msgstr "Znajdź, zarządzaj i instaluj nowe pakiety Cura." #: Toolbox/plugin.json msgctxt "name" msgid "Toolbox" -msgstr "" +msgstr "Narzędzia" #: XRayView/plugin.json msgctxt "description" @@ -4521,7 +4525,7 @@ msgstr "Zapisuje g-code do pliku." #: GCodeWriter/plugin.json msgctxt "name" msgid "G-code Writer" -msgstr "Pisarz G-code" +msgstr "Zapisywacz G-code" #: ModelChecker/plugin.json msgctxt "description" @@ -4576,7 +4580,7 @@ msgstr "Drukowanie USB" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "" +msgstr "Zapytaj użytkownika jednokrotnie, czy zgadza się z warunkami naszej licencji." #: UserAgreement/plugin.json msgctxt "name" @@ -4586,12 +4590,12 @@ msgstr "ZgodaUżytkownika" #: X3GWriter/plugin.json msgctxt "description" msgid "Allows saving the resulting slice as an X3G file, to support printers that read this format (Malyan, Makerbot and other Sailfish-based printers)." -msgstr "" +msgstr "Umożliwia zapisanie wyników cięcia jako plik X3G, aby wspierać drukarki obsługujące ten format (Malyan, Makerbot oraz inne oparte o oprogramowanie Sailfish)." #: X3GWriter/plugin.json msgctxt "name" msgid "X3GWriter" -msgstr "" +msgstr "Zapisywacz X3G" #: GCodeGzWriter/plugin.json msgctxt "description" @@ -4636,7 +4640,7 @@ msgstr "Wtyczka Urządzenia Wyjścia Dysku Zewn." #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "" +msgstr "Zarządza ustawieniami połączenia sieciowego z drukarkami Ultimaker 3." #: UM3NetworkPrinting/plugin.json msgctxt "name" @@ -4756,12 +4760,12 @@ msgstr "Ulepszenie Wersji z 3.2 do 3.3" #: VersionUpgrade/VersionUpgrade33to34/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.3 to Cura 3.4." -msgstr "" +msgstr "Ulepsza konfigurację z Cura 3.3 do Cura 3.4." #: VersionUpgrade/VersionUpgrade33to34/plugin.json msgctxt "name" msgid "Version Upgrade 3.3 to 3.4" -msgstr "" +msgstr "Ulepszenie Wersji z 3.3 do 3.4" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" @@ -4786,12 +4790,12 @@ msgstr "Ulepszenie Wersji 2.7 do 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Ulepsza konfigurację z Cura 3.4 do Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Ulepszenie Wersji z 3.4 do 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" @@ -4926,7 +4930,7 @@ msgstr "3MF Writer" #: UltimakerMachineActions/plugin.json msgctxt "description" msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.)." -msgstr "" +msgstr "Zapewnia czynności maszyny dla urządzeń Ultimaker (na przykład kreator poziomowania stołu, wybór ulepszeń itp.)." #: UltimakerMachineActions/plugin.json msgctxt "name" From 79cd9f332d0b4ae2b6c5931bc60dd3b4de1722ea Mon Sep 17 00:00:00 2001 From: drzejkopf <41212609+drzejkopf@users.noreply.github.com> Date: Sun, 23 Sep 2018 15:28:14 +0200 Subject: [PATCH 066/423] Update fdmprinter.def.json.po --- resources/i18n/pl_PL/fdmprinter.def.json.po | 127 ++++++++++---------- 1 file changed, 66 insertions(+), 61 deletions(-) diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index caff3d9438..53aa32009e 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -6,16 +6,17 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-17 16:45+0200\n" -"Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" +"PO-Revision-Date: 2018-09-21 21:52+0200\n" +"Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.1.1\n" +"POT-Creation-Date: \n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -1073,12 +1074,12 @@ msgstr "Zygzak" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Połącz Górne/Dolne Wieloboki" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Łączy górne/dolne ścieżki powłoki, gdy są one prowadzone obok siebie. Przy wzorze koncentrycznym, załączenie tego ustawienia znacznie zredukuje czas ruchów jałowych, ale ze względu na to, że połączenie może nastąpić w połowie drogi ponad wypełnieniem, ta fukncja może pogorszyć jakość górnej powierzchni." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1108,7 +1109,7 @@ msgstr "Optymalizuj Kolejność Drukowania Ścian" #: fdmprinter.def.json msgctxt "optimize_wall_printing_order description" msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization. First layer is not optimized when choosing brim as build plate adhesion type." -msgstr "" +msgstr "Optymalizuje kolejność, w jakiej będą drukowane ścianki w celu zredukowania ilości retrakcji oraz dystansu ruchów jałowych. Większość części skorzysta na załączeniu tej funkcji, jednak w niektórych przypadkach czas druku może się wydłużyć, proszę więc o porównanie oszacowanego czasu z funkcją załączoną oraz wyłączoną. Pierwsza warstwa nie zostanie zoptymalizowana, jeżeli jako poprawa przyczepności stołu zostanie wybrany obrys." #: fdmprinter.def.json msgctxt "outer_inset_first label" @@ -1163,22 +1164,22 @@ msgstr "Kompensuje przepływ dla części, których wewnętrzna ściana jest dru #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Minimalny Przepływ Dla Ścianek" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Minimalny dopuszczalny przepływ procentowy dla linii ścianki. Kompensacja nakładania się ścianek redukuje przepływ, gdy dana ścianka znajduje się blisko wydrukowanej już ścianki. Ścianki, których przepływ powinien być mniejszy, niż ta wartość, będą zastąpione ruchami jałowymi. Aby używać tego ustawienia należy załączyć kompensację nakładających się ścianek oraz drukowanie ścianek zewnętrznych przed wewnętrznymi." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Preferuj Retrakcję" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Gdy załączone, retrakcja jest używana zamiast kombinowanego ruchu jałowego, który zastępuje ściankę, której przepływ jest mniejszy od minimalnego." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1478,7 +1479,7 @@ msgstr "Gęstość Wypełn." #: fdmprinter.def.json msgctxt "infill_sparse_density description" msgid "Adjusts the density of infill of the print." -msgstr "Dostosowuje gęstość wypełnienia wydruku" +msgstr "Dostosowuje gęstość wypełnienia wydruku." #: fdmprinter.def.json msgctxt "infill_line_distance label" @@ -1573,12 +1574,12 @@ msgstr "Łączy końce gdzie wzór wypełnienia spotyka się z wewn. ścianą u #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Połącz Wieloboki Wypełnienia" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Łączy ścieżki wypełnienia, gdy są one prowadzone obok siebie. Dla wzorów wypełnienia zawierających kilka zamkniętych wieloboków, załączenie tego ustawienia znacznie skróci czas ruchów jałowych." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1613,17 +1614,17 @@ msgstr "Wzór wypełnienia jest przesunięty o tę odległość wzdłuż osi Y." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Mnożnik Linii Wypełnienia" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Zmienia pojedynczą linię wypełnienia na zadaną ilość linii. Dodatkowe linie wypełnienia nie będą nad sobą przechodzić, ale będą się unikać. Sprawi to, że wypełnienie będzie sztywniejsze, ale czas druku oraz zużycie materiału zwiększą się." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Ilość Dodatkowych Ścianek Wypełnienia" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" @@ -1631,6 +1632,8 @@ msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." msgstr "" +"Dodaje ścianki naokoło wypełnienia. Takie ścianki mogą spowodować, że linie górnej/dolnej powłoki będą zwisać mniej, co pozwoli na zastosowanie mniejszej ilości górnych/dolnych warstw przy zachowaniu takiej samej jakości kosztem dodatkowego materiału.\n" +"Ta funkcja może być używana razem z funkcją \"Połącz Wieloboki Wypełnienia\", aby połączyć całe wypełnienie w pojedynczą ścieżkę, co przy poprawnej konfiguracji wyelinimuje potrzebę wykonywania ruchów jałowych lub retrakcji." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1745,22 +1748,22 @@ msgstr "Nie generuj obszarów wypełnienia mniejszych niż to (zamiast tego uży #: fdmprinter.def.json msgctxt "infill_support_enabled label" msgid "Infill Support" -msgstr "" +msgstr "Wypełnienie Podporowe" #: fdmprinter.def.json msgctxt "infill_support_enabled description" msgid "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." -msgstr "" +msgstr "Drukuj wypełnienie tylko w miejscach, w których górna część modelu powinna być podparta strukturą wewnętrzną. Załączenie tej funkcji skutkuje redukcją czasu druku, ale prowadzi do niejednolitej wytrzymałości obiektu." #: fdmprinter.def.json msgctxt "infill_support_angle label" msgid "Infill Overhang Angle" -msgstr "" +msgstr "Kąt Zwisu dla Wypełnienia" #: fdmprinter.def.json msgctxt "infill_support_angle description" msgid "The minimum angle of internal overhangs for which infill is added. At a value of 0° objects are totally filled with infill, 90° will not provide any infill." -msgstr "" +msgstr "Minimalny kąt zwisu wewnętrznego, dla którego zostanie dodane wypełnienie. Przy wartości 0° obiekty zostaną wypełnione całkowicie, natomiast przy 90° wypełnienie nie zostanie wygenerowane." #: fdmprinter.def.json msgctxt "skin_preshrink label" @@ -2095,12 +2098,12 @@ msgstr "Okno, w którym wymuszona jest maksymalna liczba retrakcji. Wartość ta #: fdmprinter.def.json msgctxt "limit_support_retractions label" msgid "Limit Support Retractions" -msgstr "" +msgstr "Ogranicz Retrakcje Pomiędzy Podporami" #: fdmprinter.def.json msgctxt "limit_support_retractions description" msgid "Omit retraction when moving from support to support in a straight line. Enabling this setting saves print time, but can lead to excesive stringing within the support structure." -msgstr "" +msgstr "Unikaj retrakcji podczas poruszania się od podpory do podpory w linii prostej. Załączenie tej funkcji spowoduje skrócenie czasu druku, lecz może prowadzić do nadmiernego nitkowania wewnątrz struktur podporowych." #: fdmprinter.def.json msgctxt "material_standby_temperature label" @@ -2210,7 +2213,7 @@ msgstr "Prędkość Wewn. Ściany" #: fdmprinter.def.json msgctxt "speed_wall_x description" msgid "The speed at which all inner walls are printed. Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall speed and the infill speed." -msgstr "Szybkość, z jaką drukowane są ściany wewnętrzne. Drukowanie wewnętrznej ściany szybciej niż zewn. pozwoli skrócić czas druku. Zaleca się, aby ustawić to pomiędzy prędkością zewn. ściany, a prędkością wypełnienia" +msgstr "Szybkość, z jaką drukowane są ściany wewnętrzne. Drukowanie wewnętrznej ściany szybciej niż zewn. pozwoli skrócić czas druku. Zaleca się, aby ustawić to pomiędzy prędkością zewn. ściany, a prędkością wypełnienia." #: fdmprinter.def.json msgctxt "speed_roofing label" @@ -2781,6 +2784,8 @@ msgstr "Tryb Kombinowania" msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." msgstr "" +"Kombinowanie utrzymuje dyszę w już zadrukowanych obszarach podczas ruchu jałowego. Powoduje to nieco dłuższe ruchy jałowe, ale zmniejsza potrzebę retrakcji. Jeśli kombinowanie jest wyłączone, materiał się cofa, a dysza przemieszcza się w linii prostej do następnego punktu. Można też unikać kombinowania na górnych/dolnych obszarach powłoki, a także kombinować tylko wewnątrz wypełnienia. Opcja \"Wewnątrz Wypełnienia\" wymusza takie samo zachowanie, jak opcja \"Nie w Powłoce\" we wcześniejszych " +"wydaniach Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2795,22 +2800,22 @@ msgstr "Wszędzie" #: fdmprinter.def.json msgctxt "retraction_combing option noskin" msgid "Not in Skin" -msgstr "" +msgstr "Nie w Powłoce" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Wewnątrz Wypełnienia" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" msgid "Max Comb Distance With No Retract" -msgstr "" +msgstr "Max. Dystans Kombinowania Bez Retrakcji" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance description" msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." -msgstr "" +msgstr "Przy wartości niezerowej, kombinowane ruchy jałowe o dystansie większym niż zadany bedą używały retrakcji." #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall label" @@ -2835,12 +2840,12 @@ msgstr "Dysza unika już wydrukowanych części podczas ruchu jałowego. Ta opcj #: fdmprinter.def.json msgctxt "travel_avoid_supports label" msgid "Avoid Supports When Traveling" -msgstr "" +msgstr "Unikaj Podpór Podczas Ruchu Jałowego" #: fdmprinter.def.json msgctxt "travel_avoid_supports description" msgid "The nozzle avoids already printed supports when traveling. This option is only available when combing is enabled." -msgstr "" +msgstr "Dysza będzie omijała już wydrukowane podpory podczas ruchu jałowego. Ta opcja jest dostępna jedynie, gdy kombinowanie jest włączone." #: fdmprinter.def.json msgctxt "travel_avoid_distance label" @@ -3195,12 +3200,12 @@ msgstr "Krzyż" #: fdmprinter.def.json msgctxt "support_wall_count label" msgid "Support Wall Line Count" -msgstr "" +msgstr "Ilość Ścianek Podpory" #: fdmprinter.def.json msgctxt "support_wall_count description" msgid "The number of walls with which to surround support infill. Adding a wall can make support print more reliably and can support overhangs better, but increases print time and material used." -msgstr "" +msgstr "Liczba ścianek otaczających wypełnienie podpory. Dodanie ścianki może sprawić, że podpory będą drukowane solidniej i będą mogły lepiej podpierać nawisy, ale wydłuży to czas druku i zwiększy ilość użytego materiału." #: fdmprinter.def.json msgctxt "zig_zaggify_support label" @@ -3245,22 +3250,22 @@ msgstr "Odległość między drukowanymi liniami struktury podpory. To ustawieni #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Odstęp Między Liniami Podpory w Pocz. Warstwie" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Odległość między drukowanymi liniami struktury podpory w początkowej warstwie. To ustawienie jest obliczane na podstawie gęstości podpory." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Kierunek Linii Wypełnienia Podpory" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Orientacja wzoru wypełnienia dla podpór. Wzór podpory jest obracany w płaszczyźnie poziomej." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3630,22 +3635,22 @@ msgstr "Zygzak" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Nadpisanie Prędkości Wentylatora" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Gdy załączone, prędkość wentylatora chłodzącego wydruk jest zmieniana dla obszarów leżących bezpośrednio ponad podporami," #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Prędkość Wentylatora Podpartej Powłoki" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Procentowa prędkść wentylatora, która zostanie użyta podczas drukowania obszarów powłoki leżących bezpośrednio nad podstawami. Użycie wysokiej prędkości może ułatwić usuwanie podpór." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3974,7 +3979,7 @@ msgstr "Szerokość linii na podstawowej warstwie tratwy. Powinny być to grube #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Rozstaw Linii Podstawy Tratwy" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4069,7 +4074,7 @@ msgstr "Zryw Tratwy" #: fdmprinter.def.json msgctxt "raft_jerk description" msgid "The jerk with which the raft is printed." -msgstr "Zryw, z jakim drukowana jest tratwa" +msgstr "Zryw, z jakim drukowana jest tratwa." #: fdmprinter.def.json msgctxt "raft_surface_jerk label" @@ -4719,12 +4724,12 @@ msgstr "Dane łączące przepływ materiału (w mm3 na sekundę) z temperaturą #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Minimalny Obwód Wieloboku" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Wieloboki w pociętych warstwach mające obwód mniejszy, niż podany, będą odfiltrowane. Mniejsze wartości dają wyższą rozdzielczość siatki kosztem czasu cięcia. Funkcja ta jest przeznaczona głównie dla drukarek wysokiej rozdzielczości SLA oraz bardzo małych modeli z dużą ilością detali." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -4739,12 +4744,12 @@ msgstr "Minimalny rozmiar linii segmentu po pocięciu. Jeżeli to zwiększysz, s #: fdmprinter.def.json msgctxt "meshfix_maximum_travel_resolution label" msgid "Maximum Travel Resolution" -msgstr "" +msgstr "Maksymalna Rozdzielczość Ruchów Jałowych" #: fdmprinter.def.json msgctxt "meshfix_maximum_travel_resolution description" msgid "The minimum size of a travel line segment after slicing. If you increase this, the travel moves will have less smooth corners. This may allow the printer to keep up with the speed it has to process g-code, but it may cause model avoidance to become less accurate." -msgstr "" +msgstr "Minimalny rozmiar segmentu linii ruchu jałowego po pocięciu. Jeżeli ta wartość zostanie zwiększona, ruch jałowy będzie miał mniej gładkie zakręty. Może to spowodować przyspieszenie prędkości przetwarzania g-code, ale unikanie modelu może być mniej dokładne." #: fdmprinter.def.json msgctxt "support_skip_some_zags label" @@ -4909,22 +4914,22 @@ msgstr "Rozmiar kieszeni na czterostronnych skrzyżowaniach we wzorze krzyż 3D #: fdmprinter.def.json msgctxt "cross_infill_density_image label" msgid "Cross Infill Density Image" -msgstr "" +msgstr "Gęstośc Wypełnienia Krzyżowego Według Obrazu" #: fdmprinter.def.json msgctxt "cross_infill_density_image description" msgid "The file location of an image of which the brightness values determine the minimal density at the corresponding location in the infill of the print." -msgstr "" +msgstr "Lokalizacja pliku obrazu, którego jasność będzie determinowała minimalną gęstość wypełnienia wydruku w danym punkcie." #: fdmprinter.def.json msgctxt "cross_support_density_image label" msgid "Cross Fill Density Image for Support" -msgstr "" +msgstr "Gęstości Wypełnienia Krzyżowego Podstaw Według Obrazu" #: fdmprinter.def.json msgctxt "cross_support_density_image description" msgid "The file location of an image of which the brightness values determine the minimal density at the corresponding location in the support." -msgstr "" +msgstr "Lokalizacja pliku obrazu, którego jasność będzie determinowała minimalną gęstość wypełnienia podstawy w danym punkcie." #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" @@ -5174,7 +5179,7 @@ msgstr "DD Przepływ" #: fdmprinter.def.json msgctxt "wireframe_flow description" msgid "Flow compensation: the amount of material extruded is multiplied by this value. Only applies to Wire Printing." -msgstr "Kompensacja przepływu: ilość wytłaczanego materiału jest mnożona przez tę wartość. Odnosi się tylko do Drukowania Drutu. " +msgstr "Kompensacja przepływu: ilość wytłaczanego materiału jest mnożona przez tę wartość. Odnosi się tylko do Drukowania Drutu." #: fdmprinter.def.json msgctxt "wireframe_flow_connection label" @@ -5258,7 +5263,7 @@ msgstr "DD Spadek" #: fdmprinter.def.json msgctxt "wireframe_fall_down description" msgid "Distance with which the material falls down after an upward extrusion. This distance is compensated for. Only applies to Wire Printing." -msgstr "Odległość o jaką spada materiału przez wytłaczanie w górę. Długość ta jest kompensowana. Odnosi się tylko do Drukowania Drutu" +msgstr "Odległość o jaką spada materiału przez wytłaczanie w górę. Długość ta jest kompensowana. Odnosi się tylko do Drukowania Drutu." #: fdmprinter.def.json msgctxt "wireframe_drag_along label" @@ -5363,7 +5368,7 @@ msgstr "Maks. zmiana zmiennych warstw" #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation description" msgid "The maximum allowed height different from the base layer height." -msgstr "" +msgstr "Maksymalna dozwolona różnica wysokości względem bazowej wysokości warstwy." #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation_step label" @@ -5388,22 +5393,22 @@ msgstr "Opóźnienie w wyborze, czy użyć mniejszej warstwy, czy nie. Ta liczba #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Kąt Nawisającej Ścianki" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Ścianka o większym kącie nawisu niż podany będzie drukowana z użyciem ustawień nawisającej ścianki. Przy wartości 90°, żadna ścianka nie będzie traktowana jako ścianka nawisająca." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Prędkość Ścianki Nawisającej" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Nawisające ścianki będą drukowane z taką procentową wartością względem normalnej prędkości druku." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" @@ -5608,7 +5613,7 @@ msgstr "Ustawienia, które są używane tylko wtedy, gdy CuraEngine nie jest wyw #: fdmprinter.def.json msgctxt "center_object label" msgid "Center Object" -msgstr "" +msgstr "Wyśrodkuj obiekt" #: fdmprinter.def.json msgctxt "center_object description" @@ -5618,7 +5623,7 @@ msgstr "Czy wyśrodkować obiekt na środku stołu (0,0), zamiast używać ukła #: fdmprinter.def.json msgctxt "mesh_position_x label" msgid "Mesh Position X" -msgstr "" +msgstr "Pozycja Siatki w X" #: fdmprinter.def.json msgctxt "mesh_position_x description" @@ -5628,7 +5633,7 @@ msgstr "Przesunięcie zastosowane dla obiektu w kierunku X." #: fdmprinter.def.json msgctxt "mesh_position_y label" msgid "Mesh Position Y" -msgstr "" +msgstr "Pozycja Siatki w Y" #: fdmprinter.def.json msgctxt "mesh_position_y description" @@ -5638,7 +5643,7 @@ msgstr "Przesunięcie zastosowane dla obiektu w kierunku Y." #: fdmprinter.def.json msgctxt "mesh_position_z label" msgid "Mesh Position Z" -msgstr "" +msgstr "Pozycja Siatki w Z" #: fdmprinter.def.json msgctxt "mesh_position_z description" From 1e5177a44f1258d45c4ed188b9114e7c2bdf5e92 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 24 Sep 2018 17:04:20 +0200 Subject: [PATCH 067/423] Added unit tests for authorization service CURA-5744 --- cura/OAuth2/AuthorizationService.py | 6 +- tests/TestOAuth2.py | 90 +++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 tests/TestOAuth2.py diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 868dbe8034..0f57621a47 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -93,7 +93,7 @@ class AuthorizationService: Refresh the access token when it expired. """ if self._auth_data is None or self._auth_data.refresh_token is None: - Logger.log("w", "Unable to refresh acces token, since there is no refresh token.") + Logger.log("w", "Unable to refresh access token, since there is no refresh token.") return self._storeAuthData(self._auth_helpers.getAccessTokenUsingRefreshToken(self._auth_data.refresh_token)) self.onAuthStateChanged.emit(logged_in=True) @@ -148,8 +148,8 @@ class AuthorizationService: if preferences_data: self._auth_data = AuthenticationResponse(**preferences_data) self.onAuthStateChanged.emit(logged_in=True) - except ValueError as err: - Logger.log("w", "Could not load auth data from preferences: %s", err) + except ValueError: + Logger.logException("w", "Could not load auth data from preferences") def _storeAuthData(self, auth_data: Optional[AuthenticationResponse] = None) -> None: """Store authentication data in preferences and locally.""" diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py new file mode 100644 index 0000000000..10578eaeb0 --- /dev/null +++ b/tests/TestOAuth2.py @@ -0,0 +1,90 @@ +from unittest.mock import MagicMock, patch + +from UM.Preferences import Preferences +from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers +from cura.OAuth2.AuthorizationService import AuthorizationService +from cura.OAuth2.Models import OAuth2Settings, AuthenticationResponse, UserProfile + +CALLBACK_PORT = 32118 +OAUTH_ROOT = "https://account.ultimaker.com" +CLOUD_API_ROOT = "https://api.ultimaker.com" + +OAUTH_SETTINGS = OAuth2Settings( + OAUTH_SERVER_URL= OAUTH_ROOT, + CALLBACK_PORT=CALLBACK_PORT, + CALLBACK_URL="http://localhost:{}/callback".format(CALLBACK_PORT), + CLIENT_ID="", + CLIENT_SCOPES="", + AUTH_DATA_PREFERENCE_KEY="test/auth_data", + AUTH_SUCCESS_REDIRECT="{}/auth-success".format(CLOUD_API_ROOT), + AUTH_FAILED_REDIRECT="{}/auth-error".format(CLOUD_API_ROOT) + ) + +FAILED_AUTH_RESPONSE = AuthenticationResponse(success = False, err_message = "FAILURE!") + +SUCCESFULL_AUTH_RESPONSE = AuthenticationResponse(access_token = "beep", refresh_token = "beep?") + +MALFORMED_AUTH_RESPONSE = AuthenticationResponse() + + +def test_cleanAuthService(): + # Ensure that when setting up an AuthorizationService, no data is set. + authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) + assert authorization_service.getUserProfile() is None + assert authorization_service.getAccessToken() is None + + +def test_failedLogin(): + authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) + authorization_service.onAuthenticationError.emit = MagicMock() + authorization_service.onAuthStateChanged.emit = MagicMock() + + # Let the service think there was a failed response + authorization_service._onAuthStateChanged(FAILED_AUTH_RESPONSE) + + # Check that the error signal was triggered + assert authorization_service.onAuthenticationError.emit.call_count == 1 + + # Since nothing changed, this should still be 0. + assert authorization_service.onAuthStateChanged.emit.call_count == 0 + + # Validate that there is no user profile or token + assert authorization_service.getUserProfile() is None + assert authorization_service.getAccessToken() is None + + +def test_loginAndLogout(): + preferences = Preferences() + authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) + authorization_service.onAuthenticationError.emit = MagicMock() + authorization_service.onAuthStateChanged.emit = MagicMock() + + # Let the service think there was a succesfull response + with patch.object(AuthorizationHelpers, "parseJWT", return_value=UserProfile()): + authorization_service._onAuthStateChanged(SUCCESFULL_AUTH_RESPONSE) + + # Ensure that the error signal was not triggered + assert authorization_service.onAuthenticationError.emit.call_count == 0 + + # Since we said that it went right this time, validate that we got a signal. + assert authorization_service.onAuthStateChanged.emit.call_count == 1 + assert authorization_service.getUserProfile() is not None + assert authorization_service.getAccessToken() == "beep" + + # Check that we stored the authentication data, so next time the user won't have to log in again. + assert preferences.getValue("test/auth_data") is not None + + # We're logged in now, also check if logging out works + authorization_service.deleteAuthData() + assert authorization_service.onAuthStateChanged.emit.call_count == 2 + assert authorization_service.getUserProfile() is None + + # Ensure the data is gone after we logged out. + assert preferences.getValue("test/auth_data") == "{}" + + +def test_wrongServerResponses(): + authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) + with patch.object(AuthorizationHelpers, "parseJWT", return_value=UserProfile()): + authorization_service._onAuthStateChanged(MALFORMED_AUTH_RESPONSE) + assert authorization_service.getUserProfile() is None \ No newline at end of file From fe85c020b1bed640277df95160d3e77ef2a0e614 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 24 Sep 2018 17:12:45 +0200 Subject: [PATCH 068/423] Fixed incorrect OAuth2 settings CURA-5744 --- cura/API/Account.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 7ccd995be3..19ee0123d7 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -36,11 +36,11 @@ class Account(QObject): OAUTH_SERVER_URL= self._oauth_root, CALLBACK_PORT=self._callback_port, CALLBACK_URL="http://localhost:{}/callback".format(self._callback_port), - CLIENT_ID="um---------------ultimaker_cura_drive_plugin", - CLIENT_SCOPES="user.read drive.backups.read drive.backups.write", - AUTH_DATA_PREFERENCE_KEY="cura_drive/auth_data", - AUTH_SUCCESS_REDIRECT="{}/cura-drive/v1/auth-success".format(self._cloud_api_root), - AUTH_FAILED_REDIRECT="{}/cura-drive/v1/auth-error".format(self._cloud_api_root) + CLIENT_ID="um---------------ultimaker_cura", + CLIENT_SCOPES="user.read drive.backups.read drive.backups.write.client.package.download", + AUTH_DATA_PREFERENCE_KEY="general/ultimaker_auth_data", + AUTH_SUCCESS_REDIRECT="{}/auth-success".format(self._cloud_api_root), + AUTH_FAILED_REDIRECT="{}//auth-error".format(self._cloud_api_root) ) self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) From 7360313ff7555253fdf01390d582574ed745bffd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 24 Sep 2018 17:26:08 +0200 Subject: [PATCH 069/423] Add LocalAuthServer test This is to ensure that once we try to login, it actually attempts to start the local server CURA-5744 --- tests/TestOAuth2.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 10578eaeb0..708dd2d41b 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -1,8 +1,10 @@ +import webbrowser from unittest.mock import MagicMock, patch from UM.Preferences import Preferences from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers from cura.OAuth2.AuthorizationService import AuthorizationService +from cura.OAuth2.LocalAuthorizationServer import LocalAuthorizationServer from cura.OAuth2.Models import OAuth2Settings, AuthenticationResponse, UserProfile CALLBACK_PORT = 32118 @@ -53,6 +55,24 @@ def test_failedLogin(): assert authorization_service.getAccessToken() is None +def test_localAuthServer(): + preferences = Preferences() + authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) + with patch.object(webbrowser, "open_new") as webrowser_open: + with patch.object(LocalAuthorizationServer, "start") as start_auth_server: + with patch.object(LocalAuthorizationServer, "stop") as stop_auth_server: + authorization_service.startAuthorizationFlow() + assert webrowser_open.call_count == 1 + + # Ensure that the Authorization service tried to start the server. + assert start_auth_server.call_count == 1 + assert stop_auth_server.call_count == 0 + authorization_service._onAuthStateChanged(FAILED_AUTH_RESPONSE) + + # Ensure that it stopped the server. + assert stop_auth_server.call_count == 1 + + def test_loginAndLogout(): preferences = Preferences() authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) From f16a9c62b52723c4974d6d333f3c293aebd9ce78 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 24 Sep 2018 17:28:19 +0200 Subject: [PATCH 070/423] Fix typo CL-5744 --- cura/API/Account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 19ee0123d7..cb80131425 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -37,7 +37,7 @@ class Account(QObject): CALLBACK_PORT=self._callback_port, CALLBACK_URL="http://localhost:{}/callback".format(self._callback_port), CLIENT_ID="um---------------ultimaker_cura", - CLIENT_SCOPES="user.read drive.backups.read drive.backups.write.client.package.download", + CLIENT_SCOPES="user.read drive.backups.read drive.backups.write client.package.download", AUTH_DATA_PREFERENCE_KEY="general/ultimaker_auth_data", AUTH_SUCCESS_REDIRECT="{}/auth-success".format(self._cloud_api_root), AUTH_FAILED_REDIRECT="{}//auth-error".format(self._cloud_api_root) From b48adf5b3e4fd68f3329105d17a668021738df9f Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 24 Sep 2018 17:37:06 +0200 Subject: [PATCH 071/423] Typing fixes CURA-5744 --- cura/API/Account.py | 4 ++-- cura/OAuth2/AuthorizationRequestHandler.py | 6 +++--- cura/OAuth2/LocalAuthorizationServer.py | 3 +-- tests/TestOAuth2.py | 10 +++++----- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index cb80131425..6bb5b4e50d 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -1,6 +1,6 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Tuple, Optional, Dict +from typing import Optional, Dict from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, pyqtProperty @@ -48,7 +48,7 @@ class Account(QObject): self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged) self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged) - self._error_message = None + self._error_message = None # type: Optional[Message] self._logged_in = False @pyqtProperty(bool, notify=loginStateChanged) diff --git a/cura/OAuth2/AuthorizationRequestHandler.py b/cura/OAuth2/AuthorizationRequestHandler.py index 0558db784f..3b5b0c34d8 100644 --- a/cura/OAuth2/AuthorizationRequestHandler.py +++ b/cura/OAuth2/AuthorizationRequestHandler.py @@ -5,11 +5,11 @@ from typing import Optional, Callable, Tuple, Dict, Any, List, TYPE_CHECKING from http.server import BaseHTTPRequestHandler from urllib.parse import parse_qs, urlparse -from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers from cura.OAuth2.Models import AuthenticationResponse, ResponseData, HTTP_STATUS if TYPE_CHECKING: from cura.OAuth2.Models import ResponseStatus + from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers class AuthorizationRequestHandler(BaseHTTPRequestHandler): @@ -22,7 +22,7 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): super().__init__(request, client_address, server) # These values will be injected by the HTTPServer that this handler belongs to. - self.authorization_helpers = None # type: Optional[AuthorizationHelpers] + self.authorization_helpers = None # type: Optional["AuthorizationHelpers"] self.authorization_callback = None # type: Optional[Callable[[AuthenticationResponse], None]] self.verification_code = None # type: Optional[str] @@ -52,7 +52,7 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): # This will cause the server to shut down, so we do it at the very end of the request handling. self.authorization_callback(token_response) - def _handleCallback(self, query: Dict[Any, List]) -> Tuple["ResponseData", Optional["AuthenticationResponse"]]: + def _handleCallback(self, query: Dict[Any, List]) -> Tuple[ResponseData, Optional[AuthenticationResponse]]: """ Handler for the callback URL redirect. :param query: Dict containing the HTTP query parameters. diff --git a/cura/OAuth2/LocalAuthorizationServer.py b/cura/OAuth2/LocalAuthorizationServer.py index d1d07b5c91..488a33941d 100644 --- a/cura/OAuth2/LocalAuthorizationServer.py +++ b/cura/OAuth2/LocalAuthorizationServer.py @@ -5,13 +5,12 @@ from typing import Optional, Callable, Any, TYPE_CHECKING from UM.Logger import Logger -from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers from cura.OAuth2.AuthorizationRequestServer import AuthorizationRequestServer from cura.OAuth2.AuthorizationRequestHandler import AuthorizationRequestHandler if TYPE_CHECKING: from cura.OAuth2.Models import AuthenticationResponse - + from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers class LocalAuthorizationServer: def __init__(self, auth_helpers: "AuthorizationHelpers", diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 708dd2d41b..7deb712aea 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -29,14 +29,14 @@ SUCCESFULL_AUTH_RESPONSE = AuthenticationResponse(access_token = "beep", refresh MALFORMED_AUTH_RESPONSE = AuthenticationResponse() -def test_cleanAuthService(): +def test_cleanAuthService() -> None: # Ensure that when setting up an AuthorizationService, no data is set. authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) assert authorization_service.getUserProfile() is None assert authorization_service.getAccessToken() is None -def test_failedLogin(): +def test_failedLogin() -> None: authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) authorization_service.onAuthenticationError.emit = MagicMock() authorization_service.onAuthStateChanged.emit = MagicMock() @@ -55,7 +55,7 @@ def test_failedLogin(): assert authorization_service.getAccessToken() is None -def test_localAuthServer(): +def test_localAuthServer() -> None: preferences = Preferences() authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) with patch.object(webbrowser, "open_new") as webrowser_open: @@ -73,7 +73,7 @@ def test_localAuthServer(): assert stop_auth_server.call_count == 1 -def test_loginAndLogout(): +def test_loginAndLogout() -> None: preferences = Preferences() authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) authorization_service.onAuthenticationError.emit = MagicMock() @@ -103,7 +103,7 @@ def test_loginAndLogout(): assert preferences.getValue("test/auth_data") == "{}" -def test_wrongServerResponses(): +def test_wrongServerResponses() -> None: authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) with patch.object(AuthorizationHelpers, "parseJWT", return_value=UserProfile()): authorization_service._onAuthStateChanged(MALFORMED_AUTH_RESPONSE) From 91bcfb9445ad937a84c25e078a15b3f9346b02bd Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 25 Sep 2018 15:29:29 +0200 Subject: [PATCH 072/423] Take in account extruders that haven't been loaded yet CURA-5751 --- cura/Settings/ExtruderManager.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 18744cd13f..8221203b78 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -357,8 +357,19 @@ class ExtruderManager(QObject): # After 3.4, all single-extrusion machines have their own extruder definition files instead of reusing # "fdmextruder". We need to check a machine here so its extruder definition is correct according to this. def _fixSingleExtrusionMachineExtruderDefinition(self, global_stack: "GlobalStack") -> None: + container_registry = ContainerRegistry.getInstance() expected_extruder_definition_0_id = global_stack.getMetaDataEntry("machine_extruder_trains")["0"] extruder_stack_0 = global_stack.extruders.get("0") + # At this point, extruder stacks for this machine may not have been loaded yet. In this case, need to look in + # the container registry as well. + if not global_stack.extruders: + extruder_trains = container_registry.findContainerStacks(type = "extruder_train", + machine = global_stack.getId()) + if extruder_trains: + for extruder in extruder_trains: + if extruder.getMetaDataEntry("position") == "0": + extruder_stack_0 = extruder + break if extruder_stack_0 is None: Logger.log("i", "No extruder stack for global stack [%s], create one", global_stack.getId()) @@ -369,7 +380,6 @@ class ExtruderManager(QObject): elif extruder_stack_0.definition.getId() != expected_extruder_definition_0_id: Logger.log("e", "Single extruder printer [{printer}] expected extruder [{expected}], but got [{got}]. I'm making it [{expected}].".format( printer = global_stack.getId(), expected = expected_extruder_definition_0_id, got = extruder_stack_0.definition.getId())) - container_registry = ContainerRegistry.getInstance() extruder_definition = container_registry.findDefinitionContainers(id = expected_extruder_definition_0_id)[0] extruder_stack_0.definition = extruder_definition From d5c86365f86a7eee90539a25ebc8613cb9b5dc8f Mon Sep 17 00:00:00 2001 From: THeijmans Date: Wed, 26 Sep 2018 15:02:25 +0200 Subject: [PATCH 073/423] S5 profile optimizations Removing the prime blob, equalizing flows and avoiding supports. --- resources/definitions/ultimaker_s5.def.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 115c84c0db..2024acdf73 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -63,7 +63,7 @@ "machine_end_gcode": { "default_value": "" }, "prime_tower_position_x": { "default_value": 345 }, "prime_tower_position_y": { "default_value": 222.5 }, - "prime_blob_enable": { "enabled": true }, + "prime_blob_enable": { "enabled": false }, "speed_travel": { @@ -127,6 +127,7 @@ "retraction_min_travel": { "value": "5" }, "retraction_prime_speed": { "value": "15" }, "skin_overlap": { "value": "10" }, + "speed_equalize_flow_enabled": { "value": "True" }, "speed_layer_0": { "value": "20" }, "speed_prime_tower": { "value": "speed_topbottom" }, "speed_print": { "value": "35" }, @@ -145,6 +146,7 @@ "switch_extruder_prime_speed": { "value": "15" }, "switch_extruder_retraction_amount": { "value": "8" }, "top_bottom_thickness": { "value": "1" }, + "travel_avoid_supports": { "value": "True" }, "travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" }, "wall_0_inset": { "value": "0" }, "wall_line_width_x": { "value": "round(line_width * 0.3 / 0.35, 2)" }, From 7a681a2ae4260b0777072564e78a499ab0257eca Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 26 Sep 2018 16:54:00 +0200 Subject: [PATCH 074/423] Move Cura custom setting functions to a separate file --- cura/CuraApplication.py | 16 ++- cura/Settings/CustomSettingFunctions.py | 134 ++++++++++++++++++++ cura/Settings/ExtruderManager.py | 162 +----------------------- cura/Settings/UserChangesModel.py | 26 ++-- 4 files changed, 161 insertions(+), 177 deletions(-) create mode 100644 cura/Settings/CustomSettingFunctions.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index dbaef4df34..857aafb567 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -107,6 +107,7 @@ from cura.Settings.MaterialSettingsVisibilityHandler import MaterialSettingsVisi from cura.Settings.ContainerManager import ContainerManager from cura.Settings.SidebarCustomMenuItemsModel import SidebarCustomMenuItemsModel import cura.Settings.cura_empty_instance_containers +from cura.Settings.CustomSettingFunctions import CustomSettingFunctions from cura.ObjectsModel import ObjectsModel @@ -174,6 +175,8 @@ class CuraApplication(QtApplication): self._single_instance = None + self._custom_setting_functions = None + self._cura_package_manager = None self._machine_action_manager = None @@ -317,6 +320,8 @@ class CuraApplication(QtApplication): # Adds custom property types, settings types, and extra operators (functions) that need to be registered in # SettingDefinition and SettingFunction. def __initializeSettingDefinitionsAndFunctions(self): + self._custom_setting_functions = CustomSettingFunctions(self) + # Need to do this before ContainerRegistry tries to load the machines SettingDefinition.addSupportedProperty("settable_per_mesh", DefinitionPropertyType.Any, default = True, read_only = True) SettingDefinition.addSupportedProperty("settable_per_extruder", DefinitionPropertyType.Any, default = True, read_only = True) @@ -337,10 +342,10 @@ class CuraApplication(QtApplication): SettingDefinition.addSettingType("optional_extruder", None, str, None) SettingDefinition.addSettingType("[int]", None, str, None) - SettingFunction.registerOperator("extruderValues", ExtruderManager.getExtruderValues) - SettingFunction.registerOperator("extruderValue", ExtruderManager.getExtruderValue) - SettingFunction.registerOperator("resolveOrValue", ExtruderManager.getResolveOrValue) - SettingFunction.registerOperator("defaultExtruderPosition", ExtruderManager.getDefaultExtruderPosition) + SettingFunction.registerOperator("extruderValue", self._custom_setting_functions.getValueInExtruder) + SettingFunction.registerOperator("extruderValues", self._custom_setting_functions.getValuesInAllExtruders) + SettingFunction.registerOperator("resolveOrValue", self._custom_setting_functions.getResolveOrValue) + SettingFunction.registerOperator("defaultExtruderPosition", self._custom_setting_functions.getDefaultExtruderPosition) # Adds all resources and container related resources. def __addAllResourcesAndContainerResources(self) -> None: @@ -804,6 +809,9 @@ class CuraApplication(QtApplication): def getSettingVisibilityPresetsModel(self, *args) -> SettingVisibilityPresetsModel: return self._setting_visibility_presets_model + def getCustomSettingFunctions(self, *args) -> CustomSettingFunctions: + return self._custom_setting_functions + def getMachineErrorChecker(self, *args) -> MachineErrorChecker: return self._machine_error_checker diff --git a/cura/Settings/CustomSettingFunctions.py b/cura/Settings/CustomSettingFunctions.py new file mode 100644 index 0000000000..fe3ea1a935 --- /dev/null +++ b/cura/Settings/CustomSettingFunctions.py @@ -0,0 +1,134 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from typing import Any, List, Optional, TYPE_CHECKING + +from UM.Settings.PropertyEvaluationContext import PropertyEvaluationContext +from UM.Settings.SettingFunction import SettingFunction + +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + from cura.Settings.CuraContainerStack import CuraContainerStack + + +# +# This class contains all Cura-related custom setting functions. Some functions requires information such as the +# currently active machine, so this is made into a class instead of standalone functions. +# +class CustomSettingFunctions: + + def __init__(self, application: "CuraApplication") -> None: + self._application = application + + # ================ + # Custom Functions + # ================ + + # Gets the default extruder position of the currently active machine. + def getDefaultExtruderPosition(self) -> str: + machine_manager = self._application.getMachineManager() + return machine_manager.defaultExtruderPosition + + # Gets the given setting key from the given extruder position. + def getValueInExtruder(self, extruder_position: int, property_key: str, + context: Optional["PropertyEvaluationContext"] = None) -> Any: + machine_manager = self._application.getMachineManager() + + if extruder_position == -1: + extruder_position = int(machine_manager.defaultExtruderPosition) + + global_stack = machine_manager.activeMachine + extruder_stack = global_stack.extruders[str(extruder_position)] + + if extruder_stack: + value = extruder_stack.getRawProperty(property_key, "value", context = context) + if isinstance(value, SettingFunction): + value = value(extruder_stack, context = context) + else: + # Just a value from global. + value = global_stack.getProperty(property_key, "value", context = context) + + return value + + # Gets all extruder values as a list for the given property. + def getValuesInAllExtruders(self, property_key: str, + context: Optional["PropertyEvaluationContext"] = None) -> List[Any]: + machine_manager = self._application.getMachineManager() + extruder_manager = self._application.getExtruderManager() + + global_stack = machine_manager.activeMachine + + result = [] + for extruder in extruder_manager.getActiveExtruderStacks(): + if not extruder.isEnabled: + continue + # only include values from extruders that are "active" for the current machine instance + if int(extruder.getMetaDataEntry("position")) >= global_stack.getProperty("machine_extruder_count", "value", context = context): + continue + + value = extruder.getRawProperty(property_key, "value", context = context) + + if value is None: + continue + + if isinstance(value, SettingFunction): + value = value(extruder, context= context) + + result.append(value) + + if not result: + result.append(global_stack.getProperty(property_key, "value", context = context)) + + return result + + # Get the resolve value or value for a given key. + def getResolveOrValue(self, property_key: str, context: Optional["PropertyEvaluationContext"] = None) -> Any: + machine_manager = self._application.getMachineManager() + + global_stack = machine_manager.activeMachine + resolved_value = global_stack.getProperty(property_key, "value", context = context) + + return resolved_value + + # Gets the default setting value from given extruder position. The default value is what excludes the values in + # the user_changes container. + def getDefaultValueInExtruder(self, extruder_position: int, property_key: str) -> Any: + machine_manager = self._application.getMachineManager() + + global_stack = machine_manager.activeMachine + extruder_stack = global_stack.extruders[str(extruder_position)] + + context = self.createContextForDefaultValueEvaluation(extruder_stack) + + return self.getValueInExtruder(extruder_position, property_key, context = context) + + # Gets all default setting values as a list from all extruders of the currently active machine. + # The default values are those excluding the values in the user_changes container. + def getDefaultValuesInAllExtruders(self, property_key: str) -> List[Any]: + machine_manager = self._application.getMachineManager() + + global_stack = machine_manager.activeMachine + + context = self.createContextForDefaultValueEvaluation(global_stack) + + return self.getValuesInAllExtruders(property_key, context = context) + + # Gets the resolve value or value for a given key without looking the first container (user container). + def getDefaultResolveOrValue(self, property_key: str) -> Any: + machine_manager = self._application.getMachineManager() + + global_stack = machine_manager.activeMachine + + context = self.createContextForDefaultValueEvaluation(global_stack) + return self.getResolveOrValue(property_key, context = context) + + # Creates a context for evaluating default values (skip the user_changes container). + def createContextForDefaultValueEvaluation(self, source_stack: "CuraContainerStack") -> "PropertyEvaluationContext": + context = PropertyEvaluationContext(source_stack) + context.context["evaluate_from_container_index"] = 1 # skip the user settings container + context.context["override_operators"] = { + "extruderValue": self.getDefaultValueInExtruder, + "extruderValues": self.getDefaultValuesInAllExtruders, + "resolveOrValue": self.getDefaultResolveOrValue, + } + return context diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 803491d1b3..99bd7e9b56 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -12,9 +12,7 @@ from UM.Scene.SceneNode import SceneNode from UM.Scene.Selection import Selection from UM.Scene.Iterator.BreadthFirstIterator import BreadthFirstIterator from UM.Settings.ContainerRegistry import ContainerRegistry # Finding containers by ID. -from UM.Settings.SettingFunction import SettingFunction from UM.Settings.ContainerStack import ContainerStack -from UM.Settings.PropertyEvaluationContext import PropertyEvaluationContext from typing import Any, cast, Dict, List, Optional, TYPE_CHECKING, Union @@ -376,86 +374,6 @@ class ExtruderManager(QObject): extruder_definition = container_registry.findDefinitionContainers(id = expected_extruder_definition_0_id)[0] extruder_stack_0.definition = extruder_definition - ## Get all extruder values for a certain setting. - # - # This is exposed to SettingFunction so it can be used in value functions. - # - # \param key The key of the setting to retrieve values for. - # - # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. - # If no extruder has the value, the list will contain the global value. - @staticmethod - def getExtruderValues(key: str) -> List[Any]: - global_stack = cast(GlobalStack, cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()) #We know that there must be a global stack by the time you're requesting setting values. - - result = [] - for extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): - if not extruder.isEnabled: - continue - # only include values from extruders that are "active" for the current machine instance - if int(extruder.getMetaDataEntry("position")) >= global_stack.getProperty("machine_extruder_count", "value"): - continue - - value = extruder.getRawProperty(key, "value") - - if value is None: - continue - - if isinstance(value, SettingFunction): - value = value(extruder) - - result.append(value) - - if not result: - result.append(global_stack.getProperty(key, "value")) - - return result - - ## Get all extruder values for a certain setting. This function will skip the user settings container. - # - # This is exposed to SettingFunction so it can be used in value functions. - # - # \param key The key of the setting to retrieve values for. - # - # \return A list of values for all extruders. If an extruder does not have a value, it will not be in the list. - # If no extruder has the value, the list will contain the global value. - @staticmethod - def getDefaultExtruderValues(key: str) -> List[Any]: - global_stack = cast(GlobalStack, cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()) #We know that there must be a global stack by the time you're requesting setting values. - context = PropertyEvaluationContext(global_stack) - context.context["evaluate_from_container_index"] = 1 # skip the user settings container - context.context["override_operators"] = { - "extruderValue": ExtruderManager.getDefaultExtruderValue, - "extruderValues": ExtruderManager.getDefaultExtruderValues, - "resolveOrValue": ExtruderManager.getDefaultResolveOrValue - } - - result = [] - for extruder in ExtruderManager.getInstance().getActiveExtruderStacks(): - # only include values from extruders that are "active" for the current machine instance - if int(extruder.getMetaDataEntry("position")) >= global_stack.getProperty("machine_extruder_count", "value", context = context): - continue - - value = extruder.getRawProperty(key, "value", context = context) - - if value is None: - continue - - if isinstance(value, SettingFunction): - value = value(extruder, context = context) - - result.append(value) - - if not result: - result.append(global_stack.getProperty(key, "value", context = context)) - - return result - - ## Return the default extruder position from the machine manager - @staticmethod - def getDefaultExtruderPosition() -> str: - return cura.CuraApplication.CuraApplication.getInstance().getMachineManager().defaultExtruderPosition - ## Get all extruder values for a certain setting. # # This is exposed to qml for display purposes @@ -464,62 +382,8 @@ class ExtruderManager(QObject): # # \return String representing the extruder values @pyqtSlot(str, result="QVariant") - def getInstanceExtruderValues(self, key) -> List: - return ExtruderManager.getExtruderValues(key) - - ## Get the value for a setting from a specific extruder. - # - # This is exposed to SettingFunction to use in value functions. - # - # \param extruder_index The index of the extruder to get the value from. - # \param key The key of the setting to get the value of. - # - # \return The value of the setting for the specified extruder or for the - # global stack if not found. - @staticmethod - def getExtruderValue(extruder_index: int, key: str) -> Any: - if extruder_index == -1: - extruder_index = int(cura.CuraApplication.CuraApplication.getInstance().getMachineManager().defaultExtruderPosition) - extruder = ExtruderManager.getInstance().getExtruderStack(extruder_index) - - if extruder: - value = extruder.getRawProperty(key, "value") - if isinstance(value, SettingFunction): - value = value(extruder) - else: - # Just a value from global. - value = cast(GlobalStack, cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()).getProperty(key, "value") - - return value - - ## Get the default value from the given extruder. This function will skip the user settings container. - # - # This is exposed to SettingFunction to use in value functions. - # - # \param extruder_index The index of the extruder to get the value from. - # \param key The key of the setting to get the value of. - # - # \return The value of the setting for the specified extruder or for the - # global stack if not found. - @staticmethod - def getDefaultExtruderValue(extruder_index: int, key: str) -> Any: - extruder = ExtruderManager.getInstance().getExtruderStack(extruder_index) - context = PropertyEvaluationContext(extruder) - context.context["evaluate_from_container_index"] = 1 # skip the user settings container - context.context["override_operators"] = { - "extruderValue": ExtruderManager.getDefaultExtruderValue, - "extruderValues": ExtruderManager.getDefaultExtruderValues, - "resolveOrValue": ExtruderManager.getDefaultResolveOrValue - } - - if extruder: - value = extruder.getRawProperty(key, "value", context = context) - if isinstance(value, SettingFunction): - value = value(extruder, context = context) - else: # Just a value from global. - value = cast(GlobalStack, cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()).getProperty(key, "value", context = context) - - return value + def getInstanceExtruderValues(self, key: str) -> List: + return self._application.getCustomSettingFunctions().getValuesInAllExtruders(key) ## Get the resolve value or value for a given key # @@ -535,28 +399,6 @@ class ExtruderManager(QObject): return resolved_value - ## Get the resolve value or value for a given key without looking the first container (user container) - # - # This is the effective value for a given key, it is used for values in the global stack. - # This is exposed to SettingFunction to use in value functions. - # \param key The key of the setting to get the value of. - # - # \return The effective value - @staticmethod - def getDefaultResolveOrValue(key: str) -> Any: - global_stack = cast(GlobalStack, cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()) - context = PropertyEvaluationContext(global_stack) - context.context["evaluate_from_container_index"] = 1 # skip the user settings container - context.context["override_operators"] = { - "extruderValue": ExtruderManager.getDefaultExtruderValue, - "extruderValues": ExtruderManager.getDefaultExtruderValues, - "resolveOrValue": ExtruderManager.getDefaultResolveOrValue - } - - resolved_value = global_stack.getProperty(key, "value", context = context) - - return resolved_value - __instance = None # type: ExtruderManager @classmethod diff --git a/cura/Settings/UserChangesModel.py b/cura/Settings/UserChangesModel.py index 95674e5ecd..d2ea84f79d 100644 --- a/cura/Settings/UserChangesModel.py +++ b/cura/Settings/UserChangesModel.py @@ -1,15 +1,17 @@ -from UM.Qt.ListModel import ListModel +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +import os +from collections import OrderedDict from PyQt5.QtCore import pyqtSlot, Qt + from UM.Application import Application -from cura.Settings.ExtruderManager import ExtruderManager from UM.Settings.ContainerRegistry import ContainerRegistry from UM.i18n import i18nCatalog from UM.Settings.SettingFunction import SettingFunction -from UM.Settings.PropertyEvaluationContext import PropertyEvaluationContext -from collections import OrderedDict -import os +from UM.Qt.ListModel import ListModel class UserChangesModel(ListModel): @@ -38,9 +40,13 @@ class UserChangesModel(ListModel): self._update() def _update(self): + application = Application.getInstance() + machine_manager = application.getMachineManager() + custom_setting_functions = application.getCustomSettingFunctions() + item_dict = OrderedDict() item_list = [] - global_stack = Application.getInstance().getGlobalContainerStack() + global_stack = machine_manager.activeMachine if not global_stack: return @@ -71,13 +77,7 @@ class UserChangesModel(ListModel): # Override "getExtruderValue" with "getDefaultExtruderValue" so we can get the default values user_changes = containers.pop(0) - default_value_resolve_context = PropertyEvaluationContext(stack) - default_value_resolve_context.context["evaluate_from_container_index"] = 1 # skip the user settings container - default_value_resolve_context.context["override_operators"] = { - "extruderValue": ExtruderManager.getDefaultExtruderValue, - "extruderValues": ExtruderManager.getDefaultExtruderValues, - "resolveOrValue": ExtruderManager.getDefaultResolveOrValue - } + default_value_resolve_context = custom_setting_functions.createContextForDefaultValueEvaluation(stack) for setting_key in user_changes.getAllKeys(): original_value = None From 3c8368827bb9f86fce870d9767a04cba8eaa2a09 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 26 Sep 2018 17:04:15 +0200 Subject: [PATCH 075/423] Remove unused functions in ExtruderManager --- cura/Settings/ExtruderManager.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 99bd7e9b56..86ee546240 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -67,16 +67,6 @@ class ExtruderManager(QObject): except KeyError: # Extruder index could be -1 if the global tab is selected, or the entry doesn't exist if the machine definition is wrong. return None - ## Return extruder count according to extruder trains. - @pyqtProperty(int, notify = extrudersChanged) - def extruderCount(self) -> int: - if not self._application.getGlobalContainerStack(): - return 0 # No active machine, so no extruders. - try: - return len(self._extruder_trains[self._application.getGlobalContainerStack().getId()]) - except KeyError: - return 0 - ## Gets a dict with the extruder stack ids with the extruder number as the key. @pyqtProperty("QVariantMap", notify = extrudersChanged) def extruderIds(self) -> Dict[str, str]: From 067e59a254a66a4939cc0ecf20454a841c5257d0 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 26 Sep 2018 17:06:09 +0200 Subject: [PATCH 076/423] Add logged_in as argument to loginStateChanged callback CURA-5744 --- cura/API/Account.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 6bb5b4e50d..c4499fb750 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -24,7 +24,7 @@ i18n_catalog = i18nCatalog("cura") # class Account(QObject): # Signal emitted when user logged in or out. - loginStateChanged = pyqtSignal() + loginStateChanged = pyqtSignal(bool) def __init__(self, parent = None) -> None: super().__init__(parent) @@ -64,7 +64,7 @@ class Account(QObject): if self._logged_in != logged_in: self._logged_in = logged_in - self.loginStateChanged.emit() + self.loginStateChanged.emit(logged_in) @pyqtSlot() def login(self) -> None: From 2a201cef23b8e2620cecf70f84b42568702bee91 Mon Sep 17 00:00:00 2001 From: alekseisasin Date: Wed, 26 Sep 2018 17:06:24 +0200 Subject: [PATCH 077/423] Prevent cura crash after setting Print as Support in per object setting menu CURA-5766 --- plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index 596fbd2e99..4c9ba2169c 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -185,6 +185,12 @@ Item { { selectedObjectId: UM.ActiveTool.properties.getValue("SelectedObjectId") } + + // For some reason the model object is updated after removing him from the memory and + // it happens only on Windows. For this reason, set the destroyed value manually. + Component.onDestruction: { + setDestroyed(true); + } } delegate: Row From 16ff1c371236d8dc01daee4694858b51ee5250e7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 26 Sep 2018 17:12:00 +0200 Subject: [PATCH 078/423] Add property for the accessToken CURA-5744 --- cura/API/Account.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cura/API/Account.py b/cura/API/Account.py index c4499fb750..c30b8d4586 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -87,6 +87,10 @@ class Account(QObject): return None return user_profile.profile_image_url + @pyqtProperty(str, notify=loginStateChanged) + def accessToken(self) -> Optional[str]: + return self._authorization_service.getAccessToken() + # Get the profile of the logged in user # @returns None if no user is logged in, a dict containing user_id, username and profile_image_url @pyqtProperty("QVariantMap", notify = loginStateChanged) From d5dbf91a4f90892aa81871386589f2d3f35008d4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 26 Sep 2018 17:23:36 +0200 Subject: [PATCH 079/423] Switch unit test to use decoratior instead of with waterfall CURA-5744 --- tests/TestOAuth2.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 7deb712aea..312d71fd5f 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -55,22 +55,22 @@ def test_failedLogin() -> None: assert authorization_service.getAccessToken() is None -def test_localAuthServer() -> None: +@patch.object(LocalAuthorizationServer, "stop") +@patch.object(LocalAuthorizationServer, "start") +@patch.object(webbrowser, "open_new") +def test_localAuthServer(webbrowser_open, start_auth_server, stop_auth_server) -> None: preferences = Preferences() authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) - with patch.object(webbrowser, "open_new") as webrowser_open: - with patch.object(LocalAuthorizationServer, "start") as start_auth_server: - with patch.object(LocalAuthorizationServer, "stop") as stop_auth_server: - authorization_service.startAuthorizationFlow() - assert webrowser_open.call_count == 1 + authorization_service.startAuthorizationFlow() + assert webbrowser_open.call_count == 1 - # Ensure that the Authorization service tried to start the server. - assert start_auth_server.call_count == 1 - assert stop_auth_server.call_count == 0 - authorization_service._onAuthStateChanged(FAILED_AUTH_RESPONSE) + # Ensure that the Authorization service tried to start the server. + assert start_auth_server.call_count == 1 + assert stop_auth_server.call_count == 0 + authorization_service._onAuthStateChanged(FAILED_AUTH_RESPONSE) - # Ensure that it stopped the server. - assert stop_auth_server.call_count == 1 + # Ensure that it stopped the server. + assert stop_auth_server.call_count == 1 def test_loginAndLogout() -> None: From 52ffe39c07cf040e5e44c503807a4075ef4b3fee Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Thu, 27 Sep 2018 10:33:50 +0200 Subject: [PATCH 080/423] Small fixes in settings --- cura/API/Account.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index c30b8d4586..7944290f6e 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -36,11 +36,11 @@ class Account(QObject): OAUTH_SERVER_URL= self._oauth_root, CALLBACK_PORT=self._callback_port, CALLBACK_URL="http://localhost:{}/callback".format(self._callback_port), - CLIENT_ID="um---------------ultimaker_cura", + CLIENT_ID="um---------------ultimaker_cura_drive_plugin", CLIENT_SCOPES="user.read drive.backups.read drive.backups.write client.package.download", AUTH_DATA_PREFERENCE_KEY="general/ultimaker_auth_data", AUTH_SUCCESS_REDIRECT="{}/auth-success".format(self._cloud_api_root), - AUTH_FAILED_REDIRECT="{}//auth-error".format(self._cloud_api_root) + AUTH_FAILED_REDIRECT="{}/auth-error".format(self._cloud_api_root) ) self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) From 246d12a596c8122516d15d82742ecc3dca369aad Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Thu, 27 Sep 2018 10:48:22 +0200 Subject: [PATCH 081/423] Remove client.package.download scope until that is deployed on production --- cura/API/Account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 7944290f6e..e28f943009 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -37,7 +37,7 @@ class Account(QObject): CALLBACK_PORT=self._callback_port, CALLBACK_URL="http://localhost:{}/callback".format(self._callback_port), CLIENT_ID="um---------------ultimaker_cura_drive_plugin", - CLIENT_SCOPES="user.read drive.backups.read drive.backups.write client.package.download", + CLIENT_SCOPES="user.read drive.backups.read drive.backups.write", AUTH_DATA_PREFERENCE_KEY="general/ultimaker_auth_data", AUTH_SUCCESS_REDIRECT="{}/auth-success".format(self._cloud_api_root), AUTH_FAILED_REDIRECT="{}/auth-error".format(self._cloud_api_root) From 1c8804ff2c637425d4b80b5472787e8b1e8d1e3c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 11:03:17 +0200 Subject: [PATCH 082/423] Changed documentation style to doxygen CURA-5744 --- cura/OAuth2/AuthorizationHelpers.py | 54 ++++++++-------------- cura/OAuth2/AuthorizationRequestHandler.py | 23 +++------ cura/OAuth2/AuthorizationRequestServer.py | 16 +++---- cura/OAuth2/AuthorizationService.py | 38 +++++++-------- cura/OAuth2/LocalAuthorizationServer.py | 28 +++++------ 5 files changed, 62 insertions(+), 97 deletions(-) diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index 06cc0a6061..7141b83279 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -13,25 +13,22 @@ from UM.Logger import Logger from cura.OAuth2.Models import AuthenticationResponse, UserProfile, OAuth2Settings +# Class containing several helpers to deal with the authorization flow. class AuthorizationHelpers: - """Class containing several helpers to deal with the authorization flow.""" - def __init__(self, settings: "OAuth2Settings") -> None: self._settings = settings self._token_url = "{}/token".format(self._settings.OAUTH_SERVER_URL) @property + # The OAuth2 settings object. def settings(self) -> "OAuth2Settings": - """Get the OAuth2 settings object.""" return self._settings + # Request the access token from the authorization server. + # \param authorization_code: The authorization code from the 1st step. + # \param verification_code: The verification code needed for the PKCE extension. + # \return: An AuthenticationResponse object. def getAccessTokenUsingAuthorizationCode(self, authorization_code: str, verification_code: str)-> "AuthenticationResponse": - """ - Request the access token from the authorization server. - :param authorization_code: The authorization code from the 1st step. - :param verification_code: The verification code needed for the PKCE extension. - :return: An AuthenticationResponse object. - """ return self.parseTokenResponse(requests.post(self._token_url, data={ "client_id": self._settings.CLIENT_ID, "redirect_uri": self._settings.CALLBACK_URL, @@ -41,12 +38,10 @@ class AuthorizationHelpers: "scope": self._settings.CLIENT_SCOPES })) + # Request the access token from the authorization server using a refresh token. + # \param refresh_token: + # \return: An AuthenticationResponse object. def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> AuthenticationResponse: - """ - Request the access token from the authorization server using a refresh token. - :param refresh_token: - :return: An AuthenticationResponse object. - """ return self.parseTokenResponse(requests.post(self._token_url, data={ "client_id": self._settings.CLIENT_ID, "redirect_uri": self._settings.CALLBACK_URL, @@ -56,12 +51,10 @@ class AuthorizationHelpers: })) @staticmethod + # Parse the token response from the authorization server into an AuthenticationResponse object. + # \param token_response: The JSON string data response from the authorization server. + # \return: An AuthenticationResponse object. def parseTokenResponse(token_response: requests.models.Response) -> AuthenticationResponse: - """ - Parse the token response from the authorization server into an AuthenticationResponse object. - :param token_response: The JSON string data response from the authorization server. - :return: An AuthenticationResponse object. - """ token_data = None try: @@ -82,12 +75,10 @@ class AuthorizationHelpers: expires_in=token_data["expires_in"], scope=token_data["scope"]) + # Calls the authentication API endpoint to get the token data. + # \param access_token: The encoded JWT token. + # \return: Dict containing some profile data. def parseJWT(self, access_token: str) -> Optional["UserProfile"]: - """ - Calls the authentication API endpoint to get the token data. - :param access_token: The encoded JWT token. - :return: Dict containing some profile data. - """ token_request = requests.get("{}/check-token".format(self._settings.OAUTH_SERVER_URL), headers = { "Authorization": "Bearer {}".format(access_token) }) @@ -105,20 +96,15 @@ class AuthorizationHelpers: ) @staticmethod + # Generate a 16-character verification code. + # \param code_length: How long should the code be? def generateVerificationCode(code_length: int = 16) -> str: - """ - Generate a 16-character verification code. - :param code_length: - :return: - """ return "".join(random.choice("0123456789ABCDEF") for i in range(code_length)) @staticmethod + # Generates a base64 encoded sha512 encrypted version of a given string. + # \param verification_code: + # \return: The encrypted code in base64 format. def generateVerificationCodeChallenge(verification_code: str) -> str: - """ - Generates a base64 encoded sha512 encrypted version of a given string. - :param verification_code: - :return: The encrypted code in base64 format. - """ encoded = sha512(verification_code.encode()).digest() return b64encode(encoded, altchars = b"_-").decode() diff --git a/cura/OAuth2/AuthorizationRequestHandler.py b/cura/OAuth2/AuthorizationRequestHandler.py index 3b5b0c34d8..7e0a659a56 100644 --- a/cura/OAuth2/AuthorizationRequestHandler.py +++ b/cura/OAuth2/AuthorizationRequestHandler.py @@ -12,12 +12,9 @@ if TYPE_CHECKING: from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers +# This handler handles all HTTP requests on the local web server. +# It also requests the access token for the 2nd stage of the OAuth flow. class AuthorizationRequestHandler(BaseHTTPRequestHandler): - """ - This handler handles all HTTP requests on the local web server. - It also requests the access token for the 2nd stage of the OAuth flow. - """ - def __init__(self, request, client_address, server) -> None: super().__init__(request, client_address, server) @@ -27,8 +24,6 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): self.verification_code = None # type: Optional[str] def do_GET(self) -> None: - """Entry point for GET requests""" - # Extract values from the query string. parsed_url = urlparse(self.path) query = parse_qs(parsed_url.query) @@ -52,12 +47,10 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): # This will cause the server to shut down, so we do it at the very end of the request handling. self.authorization_callback(token_response) + # Handler for the callback URL redirect. + # \param query: Dict containing the HTTP query parameters. + # \return: HTTP ResponseData containing a success page to show to the user. def _handleCallback(self, query: Dict[Any, List]) -> Tuple[ResponseData, Optional[AuthenticationResponse]]: - """ - Handler for the callback URL redirect. - :param query: Dict containing the HTTP query parameters. - :return: HTTP ResponseData containing a success page to show to the user. - """ code = self._queryGet(query, "code") if code and self.authorization_helpers is not None and self.verification_code is not None: # If the code was returned we get the access token. @@ -88,12 +81,11 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): ), token_response @staticmethod + # Handle all other non-existing server calls. def _handleNotFound() -> ResponseData: - """Handle all other non-existing server calls.""" return ResponseData(status=HTTP_STATUS["NOT_FOUND"], content_type="text/html", data_stream=b"Not found.") def _sendHeaders(self, status: "ResponseStatus", content_type: str, redirect_uri: str = None) -> None: - """Send out the headers""" self.send_response(status.code, status.message) self.send_header("Content-type", content_type) if redirect_uri: @@ -101,10 +93,9 @@ class AuthorizationRequestHandler(BaseHTTPRequestHandler): self.end_headers() def _sendData(self, data: bytes) -> None: - """Send out the data""" self.wfile.write(data) @staticmethod + # Convenience Helper for getting values from a pre-parsed query string def _queryGet(query_data: Dict[Any, List], key: str, default: Optional[str]=None) -> Optional[str]: - """Helper for getting values from a pre-parsed query string""" return query_data.get(key, [default])[0] diff --git a/cura/OAuth2/AuthorizationRequestServer.py b/cura/OAuth2/AuthorizationRequestServer.py index 514a4ab5de..288e348ea9 100644 --- a/cura/OAuth2/AuthorizationRequestServer.py +++ b/cura/OAuth2/AuthorizationRequestServer.py @@ -8,21 +8,19 @@ if TYPE_CHECKING: from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers +# The authorization request callback handler server. +# This subclass is needed to be able to pass some data to the request handler. +# This cannot be done on the request handler directly as the HTTPServer creates an instance of the handler after +# init. class AuthorizationRequestServer(HTTPServer): - """ - The authorization request callback handler server. - This subclass is needed to be able to pass some data to the request handler. - This cannot be done on the request handler directly as the HTTPServer creates an instance of the handler after init. - """ - + # Set the authorization helpers instance on the request handler. def setAuthorizationHelpers(self, authorization_helpers: "AuthorizationHelpers") -> None: - """Set the authorization helpers instance on the request handler.""" self.RequestHandlerClass.authorization_helpers = authorization_helpers # type: ignore + # Set the authorization callback on the request handler. def setAuthorizationCallback(self, authorization_callback: Callable[["AuthenticationResponse"], Any]) -> None: - """Set the authorization callback on the request handler.""" self.RequestHandlerClass.authorization_callback = authorization_callback # type: ignore + # Set the verification code on the request handler. def setVerificationCode(self, verification_code: str) -> None: - """Set the verification code on the request handler.""" self.RequestHandlerClass.verification_code = verification_code # type: ignore diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 0f57621a47..04891b8d76 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -38,11 +38,11 @@ class AuthorizationService: self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True) self._loadAuthData() + # Get the user profile as obtained from the JWT (JSON Web Token). + # If the JWT is not yet parsed, calling this will take care of that. + # \return UserProfile if a user is logged in, None otherwise. + # \sa _parseJWT def getUserProfile(self) -> Optional["UserProfile"]: - """ - Get the user data that is stored in the JWT token. - :return: Dict containing some user data. - """ if not self._user_profile: # If no user profile was stored locally, we try to get it from JWT. self._user_profile = self._parseJWT() @@ -52,11 +52,9 @@ class AuthorizationService: return self._user_profile + # Tries to parse the JWT (JSON Web Token) data, which it does if all the needed data is there. + # \return UserProfile if it was able to parse, None otherwise. def _parseJWT(self) -> Optional["UserProfile"]: - """ - Tries to parse the JWT if all the needed data exists. - :return: UserProfile if found, otherwise None. - """ if not self._auth_data or self._auth_data.access_token is None: # If no auth data exists, we should always log in again. return None @@ -74,10 +72,8 @@ class AuthorizationService: return self._auth_helpers.parseJWT(self._auth_data.access_token) + # Get the access token as provided by the repsonse data. def getAccessToken(self) -> Optional[str]: - """ - Get the access token response data. - """ if not self.getUserProfile(): # We check if we can get the user profile. # If we can't get it, that means the access token (JWT) was invalid or expired. @@ -88,24 +84,22 @@ class AuthorizationService: return self._auth_data.access_token + # Try to refresh the access token. This should be used when it has expired. def refreshAccessToken(self) -> None: - """ - Refresh the access token when it expired. - """ if self._auth_data is None or self._auth_data.refresh_token is None: Logger.log("w", "Unable to refresh access token, since there is no refresh token.") return self._storeAuthData(self._auth_helpers.getAccessTokenUsingRefreshToken(self._auth_data.refresh_token)) self.onAuthStateChanged.emit(logged_in=True) + # Delete the authentication data that we have stored locally (eg; logout) def deleteAuthData(self) -> None: - """Delete authentication data from preferences and locally.""" - self._storeAuthData() - self.onAuthStateChanged.emit(logged_in=False) + if self._auth_data is not None: + self._storeAuthData() + self.onAuthStateChanged.emit(logged_in=False) + # Start the flow to become authenticated. This will start a new webbrowser tap, prompting the user to login. def startAuthorizationFlow(self) -> None: - """Start a new OAuth2 authorization flow.""" - Logger.log("d", "Starting new OAuth2 flow...") # Create the tokens needed for the code challenge (PKCE) extension for OAuth2. @@ -131,8 +125,8 @@ class AuthorizationService: # Start a local web server to receive the callback URL on. self._server.start(verification_code) + # Callback method for the authentication flow. def _onAuthStateChanged(self, auth_response: AuthenticationResponse) -> None: - """Callback method for an authentication flow.""" if auth_response.success: self._storeAuthData(auth_response) self.onAuthStateChanged.emit(logged_in=True) @@ -140,8 +134,8 @@ class AuthorizationService: self.onAuthenticationError.emit(logged_in=False, error_message=auth_response.err_message) self._server.stop() # Stop the web server at all times. + # Load authentication data from preferences. def _loadAuthData(self) -> None: - """Load authentication data from preferences if available.""" self._cura_preferences.addPreference(self._settings.AUTH_DATA_PREFERENCE_KEY, "{}") try: preferences_data = json.loads(self._cura_preferences.getValue(self._settings.AUTH_DATA_PREFERENCE_KEY)) @@ -151,8 +145,8 @@ class AuthorizationService: except ValueError: Logger.logException("w", "Could not load auth data from preferences") + # Store authentication data in preferences. def _storeAuthData(self, auth_data: Optional[AuthenticationResponse] = None) -> None: - """Store authentication data in preferences and locally.""" self._auth_data = auth_data if auth_data: self._user_profile = self.getUserProfile() diff --git a/cura/OAuth2/LocalAuthorizationServer.py b/cura/OAuth2/LocalAuthorizationServer.py index 488a33941d..5a282d8135 100644 --- a/cura/OAuth2/LocalAuthorizationServer.py +++ b/cura/OAuth2/LocalAuthorizationServer.py @@ -12,16 +12,17 @@ if TYPE_CHECKING: from cura.OAuth2.Models import AuthenticationResponse from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers + class LocalAuthorizationServer: + # The local LocalAuthorizationServer takes care of the oauth2 callbacks. + # Once the flow is completed, this server should be closed down again by calling stop() + # \param auth_helpers: An instance of the authorization helpers class. + # \param auth_state_changed_callback: A callback function to be called when the authorization state changes. + # \param daemon: Whether the server thread should be run in daemon mode. Note: Daemon threads are abruptly stopped + # at shutdown. Their resources (e.g. open files) may never be released. def __init__(self, auth_helpers: "AuthorizationHelpers", auth_state_changed_callback: Callable[["AuthenticationResponse"], Any], daemon: bool) -> None: - """ - :param auth_helpers: An instance of the authorization helpers class. - :param auth_state_changed_callback: A callback function to be called when the authorization state changes. - :param daemon: Whether the server thread should be run in daemon mode. Note: Daemon threads are abruptly stopped - at shutdown. Their resources (e.g. open files) may never be released. - """ self._web_server = None # type: Optional[AuthorizationRequestServer] self._web_server_thread = None # type: Optional[threading.Thread] self._web_server_port = auth_helpers.settings.CALLBACK_PORT @@ -29,11 +30,9 @@ class LocalAuthorizationServer: self._auth_state_changed_callback = auth_state_changed_callback self._daemon = daemon + # Starts the local web server to handle the authorization callback. + # \param verification_code: The verification code part of the OAuth2 client identification. def start(self, verification_code: str) -> None: - """ - Starts the local web server to handle the authorization callback. - :param verification_code: The verification code part of the OAuth2 client identification. - """ if self._web_server: # If the server is already running (because of a previously aborted auth flow), we don't have to start it. # We still inject the new verification code though. @@ -43,12 +42,10 @@ class LocalAuthorizationServer: if self._web_server_port is None: raise Exception("Unable to start server without specifying the port.") - Logger.log("d", "Starting local web server to handle authorization callback on port %s", - self._web_server_port) + Logger.log("d", "Starting local web server to handle authorization callback on port %s", self._web_server_port) # Create the server and inject the callback and code. - self._web_server = AuthorizationRequestServer(("0.0.0.0", self._web_server_port), - AuthorizationRequestHandler) + self._web_server = AuthorizationRequestServer(("0.0.0.0", self._web_server_port), AuthorizationRequestHandler) self._web_server.setAuthorizationHelpers(self._auth_helpers) self._web_server.setAuthorizationCallback(self._auth_state_changed_callback) self._web_server.setVerificationCode(verification_code) @@ -57,9 +54,8 @@ class LocalAuthorizationServer: self._web_server_thread = threading.Thread(None, self._web_server.serve_forever, daemon = self._daemon) self._web_server_thread.start() + # Stops the web server if it was running. It also does some cleanup. def stop(self) -> None: - """ Stops the web server if it was running. Also deletes the objects. """ - Logger.log("d", "Stopping local oauth2 web server...") if self._web_server: From 506ec5109d51a2627ec76a3906554c99e3e18970 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 11:37:22 +0200 Subject: [PATCH 083/423] Moved loading of the authentication to the account CURA-5744 --- cura/API/Account.py | 2 +- cura/OAuth2/AuthorizationService.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index e28f943009..e0cc4013ac 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -44,7 +44,7 @@ class Account(QObject): ) self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) - + self._authorization_service.loadAuthDataFromPreferences() self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged) self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged) diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 04891b8d76..a118235499 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -36,7 +36,6 @@ class AuthorizationService: self._user_profile = None # type: Optional["UserProfile"] self._cura_preferences = preferences self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True) - self._loadAuthData() # Get the user profile as obtained from the JWT (JSON Web Token). # If the JWT is not yet parsed, calling this will take care of that. @@ -135,7 +134,7 @@ class AuthorizationService: self._server.stop() # Stop the web server at all times. # Load authentication data from preferences. - def _loadAuthData(self) -> None: + def loadAuthDataFromPreferences(self) -> None: self._cura_preferences.addPreference(self._settings.AUTH_DATA_PREFERENCE_KEY, "{}") try: preferences_data = json.loads(self._cura_preferences.getValue(self._settings.AUTH_DATA_PREFERENCE_KEY)) From 0ccbabd857c7ba651a22044ede777b4c3a230e59 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 11:37:44 +0200 Subject: [PATCH 084/423] Switch SHA512 implementation to use the one from hashlib CURA-5744 --- cura/OAuth2/AuthorizationHelpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index 7141b83279..4d485b3bda 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. import json import random -from _sha512 import sha512 +from hashlib import sha512 from base64 import b64encode from typing import Optional From 649f1c8961151d0b2fed756793a97a49578a0282 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 11:42:12 +0200 Subject: [PATCH 085/423] Make it optional for the AuthService to have a preference object This should make it easier if we ever want to re-use the authService, since it no longer has a hard link with the Preferences CURA-5744 --- cura/OAuth2/AuthorizationService.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index a118235499..e9e3a7e65b 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -14,6 +14,7 @@ from cura.OAuth2.Models import AuthenticationResponse if TYPE_CHECKING: from cura.OAuth2.Models import UserProfile, OAuth2Settings + from UM.Preferences import Preferences class AuthorizationService: @@ -28,15 +29,18 @@ class AuthorizationService: # Emit signal when authentication failed. onAuthenticationError = Signal() - def __init__(self, preferences, settings: "OAuth2Settings") -> None: + def __init__(self, preferences: Optional["Preferences"], settings: "OAuth2Settings") -> None: self._settings = settings self._auth_helpers = AuthorizationHelpers(settings) self._auth_url = "{}/authorize".format(self._settings.OAUTH_SERVER_URL) self._auth_data = None # type: Optional[AuthenticationResponse] self._user_profile = None # type: Optional["UserProfile"] - self._cura_preferences = preferences + self._preferences = preferences self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True) + if self._preferences: + self._preferences.addPreference(self._settings.AUTH_DATA_PREFERENCE_KEY, "{}") + # Get the user profile as obtained from the JWT (JSON Web Token). # If the JWT is not yet parsed, calling this will take care of that. # \return UserProfile if a user is logged in, None otherwise. @@ -135,9 +139,11 @@ class AuthorizationService: # Load authentication data from preferences. def loadAuthDataFromPreferences(self) -> None: - self._cura_preferences.addPreference(self._settings.AUTH_DATA_PREFERENCE_KEY, "{}") + if self._preferences is None: + Logger.logException("e", "Unable to load authentication data, since no preference has been set!") + return try: - preferences_data = json.loads(self._cura_preferences.getValue(self._settings.AUTH_DATA_PREFERENCE_KEY)) + preferences_data = json.loads(self._preferences.getValue(self._settings.AUTH_DATA_PREFERENCE_KEY)) if preferences_data: self._auth_data = AuthenticationResponse(**preferences_data) self.onAuthStateChanged.emit(logged_in=True) @@ -149,7 +155,7 @@ class AuthorizationService: self._auth_data = auth_data if auth_data: self._user_profile = self.getUserProfile() - self._cura_preferences.setValue(self._settings.AUTH_DATA_PREFERENCE_KEY, json.dumps(vars(auth_data))) + self._preferences.setValue(self._settings.AUTH_DATA_PREFERENCE_KEY, json.dumps(vars(auth_data))) else: self._user_profile = None - self._cura_preferences.resetPreference(self._settings.AUTH_DATA_PREFERENCE_KEY) + self._preferences.resetPreference(self._settings.AUTH_DATA_PREFERENCE_KEY) From b1198ee1b8e8c24db4986599324c2acbbceb9850 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 27 Sep 2018 11:43:18 +0200 Subject: [PATCH 086/423] Remove an if-else block that assumes no ExtruderStack There is always an ExtruderStack, so the else-block will never be executed. --- cura/Settings/CustomSettingFunctions.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/cura/Settings/CustomSettingFunctions.py b/cura/Settings/CustomSettingFunctions.py index fe3ea1a935..03cff6b069 100644 --- a/cura/Settings/CustomSettingFunctions.py +++ b/cura/Settings/CustomSettingFunctions.py @@ -40,13 +40,9 @@ class CustomSettingFunctions: global_stack = machine_manager.activeMachine extruder_stack = global_stack.extruders[str(extruder_position)] - if extruder_stack: - value = extruder_stack.getRawProperty(property_key, "value", context = context) - if isinstance(value, SettingFunction): - value = value(extruder_stack, context = context) - else: - # Just a value from global. - value = global_stack.getProperty(property_key, "value", context = context) + value = extruder_stack.getRawProperty(property_key, "value", context = context) + if isinstance(value, SettingFunction): + value = value(extruder_stack, context = context) return value From 329b38663eaa0786997aeff092b825e3f5e65176 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 27 Sep 2018 11:43:51 +0200 Subject: [PATCH 087/423] Fix code style --- cura/Settings/CustomSettingFunctions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/CustomSettingFunctions.py b/cura/Settings/CustomSettingFunctions.py index 03cff6b069..5951ac1e73 100644 --- a/cura/Settings/CustomSettingFunctions.py +++ b/cura/Settings/CustomSettingFunctions.py @@ -68,7 +68,7 @@ class CustomSettingFunctions: continue if isinstance(value, SettingFunction): - value = value(extruder, context= context) + value = value(extruder, context = context) result.append(value) From 202cf698c3061f1dee712b69a18ee8ae256f8310 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 11:56:19 +0200 Subject: [PATCH 088/423] Change callback for succes / failure to the new location CURA-5744 --- cura/API/Account.py | 4 ++-- tests/TestOAuth2.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index e0cc4013ac..18d9d5df03 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -39,8 +39,8 @@ class Account(QObject): CLIENT_ID="um---------------ultimaker_cura_drive_plugin", CLIENT_SCOPES="user.read drive.backups.read drive.backups.write", AUTH_DATA_PREFERENCE_KEY="general/ultimaker_auth_data", - AUTH_SUCCESS_REDIRECT="{}/auth-success".format(self._cloud_api_root), - AUTH_FAILED_REDIRECT="{}/auth-error".format(self._cloud_api_root) + AUTH_SUCCESS_REDIRECT="{}/app/auth-success".format(self._oauth_root), + AUTH_FAILED_REDIRECT="{}/app/auth-error".format(self._oauth_root) ) self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 312d71fd5f..22bf0656ef 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -18,8 +18,8 @@ OAUTH_SETTINGS = OAuth2Settings( CLIENT_ID="", CLIENT_SCOPES="", AUTH_DATA_PREFERENCE_KEY="test/auth_data", - AUTH_SUCCESS_REDIRECT="{}/auth-success".format(CLOUD_API_ROOT), - AUTH_FAILED_REDIRECT="{}/auth-error".format(CLOUD_API_ROOT) + AUTH_SUCCESS_REDIRECT="{}/app/auth-success".format(OAUTH_ROOT), + AUTH_FAILED_REDIRECT="{}/app/auth-error".format(OAUTH_ROOT) ) FAILED_AUTH_RESPONSE = AuthenticationResponse(success = False, err_message = "FAILURE!") From 47c5dbaf840cf2f4eca3575b46ea200d3229689e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 13:07:37 +0200 Subject: [PATCH 089/423] Add extra unit test that tests the storing and loading of data to the preferences --- tests/TestOAuth2.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 22bf0656ef..78585804f5 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -55,6 +55,23 @@ def test_failedLogin() -> None: assert authorization_service.getAccessToken() is None +@patch.object(AuthorizationService, "getUserProfile", return_value=UserProfile()) +def test_storeAuthData(get_user_profile) -> None: + preferences = Preferences() + authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) + + # Write stuff to the preferences. + authorization_service._storeAuthData(SUCCESFULL_AUTH_RESPONSE) + preference_value = preferences.getValue(OAUTH_SETTINGS.AUTH_DATA_PREFERENCE_KEY) + # Check that something was actually put in the preferences + assert preference_value is not None and preference_value != {} + + # Create a second auth service, so we can load the data. + second_auth_service = AuthorizationService(preferences, OAUTH_SETTINGS) + second_auth_service.loadAuthDataFromPreferences() + assert second_auth_service.getAccessToken() == SUCCESFULL_AUTH_RESPONSE.access_token + + @patch.object(LocalAuthorizationServer, "stop") @patch.object(LocalAuthorizationServer, "start") @patch.object(webbrowser, "open_new") From 6d402806ac2cbc914d701b58b50ac6a796c40a39 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Thu, 27 Sep 2018 13:35:18 +0200 Subject: [PATCH 090/423] Ensure logged in state is not always set to False after loading from preferences --- cura/API/Account.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 18d9d5df03..d91276fb56 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -28,6 +28,10 @@ class Account(QObject): def __init__(self, parent = None) -> None: super().__init__(parent) + + self._error_message = None # type: Optional[Message] + self._logged_in = False + self._callback_port = 32118 self._oauth_root = "https://account.ultimaker.com" self._cloud_api_root = "https://api.ultimaker.com" @@ -48,9 +52,6 @@ class Account(QObject): self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged) self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged) - self._error_message = None # type: Optional[Message] - self._logged_in = False - @pyqtProperty(bool, notify=loginStateChanged) def isLoggedIn(self) -> bool: return self._logged_in From 302f9a95b34fb911aa21fcab57f796c8e9573afa Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 27 Sep 2018 13:40:46 +0200 Subject: [PATCH 091/423] Cleaned-up printe job info block Contributes to CL-897, CL-1051 --- .../resources/qml/ClusterControlItem.qml | 14 +- .../resources/qml/ClusterMonitorItem.qml | 52 +- .../qml/ConfigurationChangeBlock.qml | 243 +++++++++ .../resources/qml/PrintCoreConfiguration.qml | 166 +++--- .../resources/qml/PrintJobInfoBlock.qml | 481 +++++++++++++++--- .../resources/svg/ultibot.svg | 1 + .../resources/svg/warning-icon.svg | 5 +- resources/themes/cura-light/theme.json | 15 +- 8 files changed, 811 insertions(+), 166 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml create mode 100644 plugins/UM3NetworkPrinting/resources/svg/ultibot.svg diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index f8ad0e763e..774ab75f0d 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -111,11 +111,11 @@ Component { if(modelData.state == "disabled") { - return UM.Theme.getColor("monitor_background_inactive") + return UM.Theme.getColor("monitor_tab_background_inactive") } else { - return UM.Theme.getColor("monitor_background_active") + return UM.Theme.getColor("monitor_tab_background_active") } } id: base @@ -196,7 +196,7 @@ Component { if(modelData.state == "disabled") { - return UM.Theme.getColor("monitor_text_inactive") + return UM.Theme.getColor("monitor_tab_text_inactive") } if(modelData.activePrintJob != undefined) @@ -204,7 +204,7 @@ Component return UM.Theme.getColor("primary") } - return UM.Theme.getColor("monitor_text_inactive") + return UM.Theme.getColor("monitor_tab_text_inactive") } } } @@ -252,7 +252,7 @@ Component width: parent.width elide: Text.ElideRight font: UM.Theme.getFont("default") - color: UM.Theme.getColor("monitor_text_inactive") + color: UM.Theme.getColor("monitor_tab_text_inactive") } } @@ -427,7 +427,7 @@ Component contentItem: Label { text: contextButton.text - color: UM.Theme.getColor("monitor_text_inactive") + color: UM.Theme.getColor("monitor_tab_text_inactive") font.pixelSize: 25 verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter @@ -762,7 +762,7 @@ Component ] if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) { - return UM.Theme.getColor("monitor_text_inactive") + return UM.Theme.getColor("monitor_tab_text_inactive") } else { diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index b55b5c6779..a027043b85 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -56,35 +56,69 @@ Component color: UM.Theme.getColor("text") } - ScrollView + Column { - id: queuedPrintJobs - + id: skeletonLoader + visible: printJobList.count === 0; + width: Math.min(800 * screenScaleFactor, maximumWidth) anchors { top: queuedLabel.bottom topMargin: UM.Theme.getSize("default_margin").height horizontalCenter: parent.horizontalCenter - bottomMargin: 0 + bottomMargin: UM.Theme.getSize("default_margin").height + bottom: parent.bottom + } + PrintJobInfoBlock + { + printJob: null // Use as skeleton + anchors + { + left: parent.left + right: parent.right + rightMargin: UM.Theme.getSize("default_margin").width + leftMargin: UM.Theme.getSize("default_margin").width + } + } + PrintJobInfoBlock + { + printJob: null // Use as skeleton + anchors + { + left: parent.left + right: parent.right + rightMargin: UM.Theme.getSize("default_margin").width + leftMargin: UM.Theme.getSize("default_margin").width + } + } + } + + ScrollView + { + id: queuedPrintJobs + anchors { + top: queuedLabel.bottom + topMargin: UM.Theme.getSize("default_margin").height + horizontalCenter: parent.horizontalCenter + bottomMargin: UM.Theme.getSize("default_margin").height bottom: parent.bottom } style: UM.Theme.styles.scrollview width: Math.min(800 * screenScaleFactor, maximumWidth) + ListView { + id: printJobList; anchors.fill: parent - //anchors.margins: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height - 10 // 2x the shadow radius - model: OutputDevice.queuedPrintJobs - delegate: PrintJobInfoBlock { printJob: modelData anchors.left: parent.left anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").height - anchors.leftMargin: UM.Theme.getSize("default_margin").height + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.leftMargin: UM.Theme.getSize("default_margin").width } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml new file mode 100644 index 0000000000..48e2e9ce3c --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -0,0 +1,243 @@ +import QtQuick 2.2 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.4 +import QtGraphicalEffects 1.0 +import QtQuick.Layouts 1.1 +import QtQuick.Dialogs 1.1 +import UM 1.3 as UM + +Rectangle { + id: root; + property var job: null; + property var materialsAreKnown: { + var conf0 = job.configuration[0]; + if (conf0 && !conf0.material.material) { + return false; + } + var conf1 = job.configuration[1]; + if (conf1 && !conf1.material.material) { + return false; + } + return true; + } + color: "pink"; + width: parent.width; + height: childrenRect.height; + + Column { + width: parent.width; + height: childrenRect.height; + + // Config change toggle + Rectangle { + color: { + if(configurationChangeToggle.containsMouse) { + return UM.Theme.getColor("viewport_background"); // TODO: Theme! + } else { + return "transparent"; + } + } + width: parent.width; + height: UM.Theme.getSize("default_margin").height * 4; // TODO: Theme! + anchors { + left: parent.left; + right: parent.right; + top: parent.top; + } + + Rectangle { + width: parent.width; + height: UM.Theme.getSize("default_lining").height; + color: "#e6e6e6"; // TODO: Theme! + } + + UM.RecolorImage { + width: 23; // TODO: Theme! + height: 23; // TODO: Theme! + anchors { + right: configChangeToggleLabel.left; + rightMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + sourceSize.width: width; + sourceSize.height: height; + source: "../svg/warning-icon.svg"; + color: UM.Theme.getColor("text"); + } + + Label { + id: configChangeToggleLabel; + anchors { + horizontalCenter: parent.horizontalCenter; + verticalCenter: parent.verticalCenter; + } + text: "Configuration change"; // TODO: i18n! + } + + UM.RecolorImage { + width: 15; // TODO: Theme! + height: 15; // TODO: Theme! + anchors { + left: configChangeToggleLabel.right; + leftMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + sourceSize.width: width; + sourceSize.height: height; + source: { + if (configChangeDetails.visible) { + return UM.Theme.getIcon("arrow_top"); + } else { + return UM.Theme.getIcon("arrow_bottom"); + } + } + color: UM.Theme.getColor("text"); + } + + MouseArea { + id: configurationChangeToggle; + anchors.fill: parent; + hoverEnabled: true; + onClicked: { + configChangeDetails.visible = !configChangeDetails.visible; + } + } + } + + // Config change details + Rectangle { + id: configChangeDetails + color: "transparent"; + width: parent.width; + visible: false; + height: visible ? UM.Theme.getSize("monitor_tab_config_override_box").height : 0; + Behavior on height { NumberAnimation { duration: 100 } } + + Rectangle { + color: "transparent"; + clip: true; + anchors { + fill: parent; + topMargin: UM.Theme.getSize("wide_margin").height; + bottomMargin: UM.Theme.getSize("wide_margin").height; + leftMargin: UM.Theme.getSize("wide_margin").height * 4; + rightMargin: UM.Theme.getSize("wide_margin").height * 4; + } + + Label { + anchors.fill: parent; + wrapMode: Text.WordWrap; + elide: Text.ElideRight; + font: UM.Theme.getFont("large_nonbold"); + text: { + if (root.job.configurationChanges.length === 0) { + return ""; + } + var topLine; + if (root.materialsAreKnown) { + topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(root.job.assignedPrinter.name); + } else { + topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(root.job.assignedPrinter.name); + } + var result = "

" + topLine +"

"; + for (var i = 0; i < root.job.configurationChanges.length; i++) { + var change = root.job.configurationChanges[i]; + var text; + switch (change.typeOfChange) { + case 'material_change': + text = catalog.i18nc("@label", "Change material %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); + break; + case 'material_insert': + text = catalog.i18nc("@label", "Load %3 as material %1 (This cannot be overridden).").arg(change.index + 1).arg(change.targetName); + break; + case 'print_core_change': + text = catalog.i18nc("@label", "Change print core %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); + break; + case 'buildplate_change': + text = catalog.i18nc("@label", "Change build plate to %1 (This cannot be overridden).").arg(formatBuildPlateType(change.target_name)); + break; + default: + text = ""; + } + result += "

" + text + "

"; + } + return result; + } + } + + Button { + anchors { + bottom: parent.bottom; + left: parent.left; + } + visible: { + var length = root.job.configurationChanges.length; + for (var i = 0; i < length; i++) { + var typeOfChange = root.job.configurationChanges[i].typeOfChange; + if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { + return false; + } + } + return true; + } + text: catalog.i18nc("@label", "Override"); + onClicked: { + overrideConfirmationDialog.visible = true; + } + } + } + } + } + + MessageDialog { + id: overrideConfirmationDialog; + title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); + icon: StandardIcon.Warning; + text: { + var printJobName = formatPrintJobName(root.job.name); + var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); + return confirmText; + } + standardButtons: StandardButton.Yes | StandardButton.No; + Component.onCompleted: visible = false; + onYes: OutputDevice.forceSendJob(root.job.key); + } + + // Utils + function formatPrintJobName(name) { + var extensions = [ ".gz", ".gcode", ".ufp" ]; + for (var i = 0; i < extensions.length; i++) { + var extension = extensions[i]; + if (name.slice(-extension.length) === extension) { + name = name.substring(0, name.length - extension.length); + } + } + return name; + } + function materialsAreKnown(job) { + var conf0 = job.configuration[0]; + if (conf0 && !conf0.material.material) { + return false; + } + var conf1 = job.configuration[1]; + if (conf1 && !conf1.material.material) { + return false; + } + return true; + } + function formatBuildPlateType(buildPlateType) { + var translationText = ""; + switch (buildPlateType) { + case 'glass': + translationText = catalog.i18nc("@label", "Glass"); + break; + case 'aluminum': + translationText = catalog.i18nc("@label", "Aluminum"); + break; + default: + translationText = null; + } + return translationText; + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index b2f4e85f9a..ca39d2663d 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -1,93 +1,119 @@ import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 - import UM 1.2 as UM - -Item -{ +Item { id: extruderInfo - property var printCoreConfiguration - width: Math.round(parent.width / 2) - height: childrenRect.height + property var printCoreConfiguration: null; - Item - { + width: Math.round(parent.width / 2); + height: childrenRect.height; + + // Extruder circle + Item { id: extruderCircle - width: 30 - height: 30 - anchors.verticalCenter: printAndMaterialLabel.verticalCenter - opacity: - { - if(printCoreConfiguration == null || printCoreConfiguration.activeMaterial == null || printCoreConfiguration.hotendID == null) - { - return 0.5 + width: UM.Theme.getSize("monitor_tab_extruder_circle").width; + height: UM.Theme.getSize("monitor_tab_extruder_circle").height; + anchors.verticalCenter: parent.verticalCenter; + + // Loading skeleton + Rectangle { + visible: !extruderInfo.printCoreConfiguration; + anchors.fill: parent; + radius: Math.round(width / 2); + color: UM.Theme.getColor("viewport_background"); + } + + // Actual content + Rectangle { + visible: extruderInfo.printCoreConfiguration; + anchors.fill: parent; + radius: Math.round(width / 2); + border.width: UM.Theme.getSize("monitor_tab_thick_lining").width; + border.color: UM.Theme.getColor("monitor_tab_lining_active"); + opacity: { + if (printCoreConfiguration == null || printCoreConfiguration.activeMaterial == null || printCoreConfiguration.hotendID == null) { + return 0.5; + } + return 1; } - return 1 - } - Rectangle - { - anchors.fill: parent - radius: Math.round(width / 2) - border.width: 2 - border.color: "black" - } - - Label - { - anchors.centerIn: parent - font: UM.Theme.getFont("default_bold") - text: printCoreConfiguration.position + 1 + Label { + anchors.centerIn: parent; + font: UM.Theme.getFont("default_bold"); + text: printCoreConfiguration.position + 1; + } } } - Item - { - id: printAndMaterialLabel - anchors - { - right: parent.right - left: extruderCircle.right - margins: UM.Theme.getSize("default_margin").width - } - height: childrenRect.height + // Print core and material labels + Item { + id: materialLabel - Label - { - id: materialLabel - text: - { - if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) - { - return printCoreConfiguration.activeMaterial.name - } - return "" - } - font: UM.Theme.getFont("default") - elide: Text.ElideRight - width: parent.width + anchors { + left: extruderCircle.right; + leftMargin: UM.Theme.getSize("default_margin").width; + top: parent.top; + right: parent.right; + } + height: UM.Theme.getSize("monitor_tab_text_line").height; + + // Loading skeleton + Rectangle { + visible: !extruderInfo.printCoreConfiguration; + anchors.fill: parent; + color: UM.Theme.getColor("viewport_background"); } - Label - { - id: printCoreLabel - text: - { - if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) - { - return printCoreConfiguration.hotendID + // Actual content + Label { + visible: extruderInfo.printCoreConfiguration; + anchors.fill: parent; + text: { + if (printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) { + return printCoreConfiguration.activeMaterial.name; } - return "" + return ""; } - anchors.top: materialLabel.bottom - elide: Text.ElideRight - width: parent.width - opacity: 0.6 - font: UM.Theme.getFont("default") + font: UM.Theme.getFont("default"); + elide: Text.ElideRight; + } + } + + Item { + id: printCoreLabel; + + anchors { + right: parent.right; + left: extruderCircle.right; + leftMargin: UM.Theme.getSize("default_margin").width; + bottom: parent.bottom; + } + height: UM.Theme.getSize("monitor_tab_text_line").height; + + // Loading skeleton + Rectangle { + visible: !extruderInfo.printCoreConfiguration; + width: parent.width / 3; + height: parent.height; + color: UM.Theme.getColor("viewport_background"); + } + + // Actual content + Label { + visible: extruderInfo.printCoreConfiguration; + text: { + if (printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) { + return printCoreConfiguration.hotendID; + } + return ""; + } + elide: Text.ElideRight; + opacity: 0.6; + font: UM.Theme.getFont("default"); } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index aa2bcc7906..cb6b0fb4df 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -8,49 +8,51 @@ import QtQuick.Dialogs 1.1 import UM 1.3 as UM Item { - id: root property var shadowRadius: 5; property var shadowOffset: 2; - property var debug: true; + property var debug: false; property var printJob: null; - property var hasChanges: { - if (printJob) { - return printJob.configurationChanges.length !== 0; - } - return false; - } width: parent.width; // Bubbles downward height: childrenRect.height + shadowRadius * 2; // Bubbles upward + UM.I18nCatalog { + id: catalog; + name: "cura"; + } + // The actual card (white block) Rectangle { - - color: "white"; + color: "white"; // TODO: Theme! height: childrenRect.height; width: parent.width - shadowRadius * 2; // 5px margin, but shifted 2px vertically because of the shadow anchors { - topMargin: shadowRadius - shadowOffset; - bottomMargin: shadowRadius + shadowOffset; - leftMargin: shadowRadius; - rightMargin: shadowRadius; + topMargin: root.shadowRadius - root.shadowOffset; + bottomMargin: root.shadowRadius + root.shadowOffset; + leftMargin: root.shadowRadius; + rightMargin: root.shadowRadius; + } + layer.enabled: true + layer.effect: DropShadow { + radius: root.shadowRadius + verticalOffset: 2 * screenScaleFactor + color: "#3F000000" // 25% shadow } Column { - width: parent.width; - height: childrenRect.height + height: childrenRect.height; // Main content Rectangle { - + id: mainContent; color: root.debug ? "red" : "transparent"; width: parent.width; - height: 200; + height: 200; // TODO: Theme! // Left content Rectangle { @@ -62,12 +64,114 @@ Item { bottom: parent.bottom; margins: UM.Theme.getSize("wide_margin").width } + + Item { + id: printJobName; + + width: parent.width; + height: UM.Theme.getSize("monitor_tab_text_line").height; + + Rectangle { + visible: !root.printJob; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + height: parent.height; + width: parent.width / 3; + } + Label { + visible: root.printJob; + text: root.printJob ? root.printJob.name : ""; // Supress QML warnings + font: UM.Theme.getFont("default_bold"); + elide: Text.ElideRight; + anchors.fill: parent; + } + } + + Item { + id: printJobOwnerName; + + width: parent.width; + height: UM.Theme.getSize("monitor_tab_text_line").height; + anchors { + top: printJobName.bottom; + topMargin: Math.floor(UM.Theme.getSize("default_margin").height / 2); + } + + Rectangle { + visible: !root.printJob; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + height: parent.height; + width: parent.width / 2; + } + Label { + visible: root.printJob; + text: root.printJob ? root.printJob.owner : ""; // Supress QML warnings + font: UM.Theme.getFont("default"); + elide: Text.ElideRight; + anchors.fill: parent; + } + } + + Item { + id: printJobPreview; + property var useUltibot: false; + anchors { + top: printJobOwnerName.bottom; + horizontalCenter: parent.horizontalCenter; + topMargin: UM.Theme.getSize("default_margin").height; + bottom: parent.bottom; + } + width: height; + + // Skeleton + Rectangle { + visible: !root.printJob; + anchors.fill: parent; + radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + } + + // Actual content + Image { + id: previewImage; + visible: root.printJob; + source: root.printJob.previewImageUrl; + opacity: root.printJob.state == "error" ? 0.5 : 1.0; + anchors.fill: parent; + } + + UM.RecolorImage { + id: ultiBotImage; + anchors.centerIn: printJobPreview; + source: "../svg/ultibot.svg"; + /* Since print jobs ALWAYS have an image url, we have to check if that image URL errors or + not in order to determine if we show the placeholder (ultibot) image instead. */ + visible: root.printJob && previewImage.status == Image.Error; + width: printJobPreview.width; + height: printJobPreview.height; + sourceSize.width: width; + sourceSize.height: height; + color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! + } + + UM.RecolorImage { + id: statusImage; + anchors.centerIn: printJobPreview; + source: printJob.state == "error" ? "../svg/aborted-icon.svg" : ""; + visible: source != ""; + width: 0.5 * printJobPreview.width; + height: 0.5 * printJobPreview.height; + sourceSize.width: width; + sourceSize.height: height; + color: "black"; + } + } } + // Divider Rectangle { height: parent.height - 2 * UM.Theme.getSize("default_margin").height; - width: 1 - color: "black"; + width: UM.Theme.getSize("default_lining").width; + color: !root.printJob ? UM.Theme.getColor("viewport_background") : "#e6e6e6"; // TODO: Theme! anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; @@ -82,80 +186,309 @@ Item { right: parent.right; top: parent.top; bottom: parent.bottom; - margins: UM.Theme.getSize("wide_margin").width + margins: UM.Theme.getSize("wide_margin").width; } - } - } - // Config change toggle - Rectangle { - color: root.debug ? "orange" : "transparent"; - width: parent.width; - visible: root.hasChanges; - height: visible ? 40 : 0; - MouseArea { - anchors.fill: parent; - onClicked: { - configChangeDetails.visible = !configChangeDetails.visible; - } - } - Label { - id: configChangeToggleLabel; - anchors { - horizontalCenter: parent.horizontalCenter; - verticalCenter: parent.verticalCenter; - } - text: "Configuration change"; - } - UM.RecolorImage { - width: 15; - height: 15; - anchors { - left: configChangeToggleLabel.right; - leftMargin: UM.Theme.getSize("default_margin").width; - verticalCenter: parent.verticalCenter; - } - sourceSize.width: width; - sourceSize.height: height; - source: { - if (configChangeDetails.visible) { - return UM.Theme.getIcon("arrow_top"); - } else { - return UM.Theme.getIcon("arrow_bottom"); + Item { + id: targetPrinterLabel; + + width: parent.width; + height: UM.Theme.getSize("monitor_tab_text_line").height; + + Rectangle { + visible: !root.printJob; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + anchors.fill: parent; + } + Label { + visible: root.printJob; + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: { + if (root.printJob.assignedPrinter == null) { + if (root.printJob.state == "error") { + return catalog.i18nc("@label", "Waiting for: Unavailable printer"); + } + return catalog.i18nc("@label", "Waiting for: First available"); + } else { + return catalog.i18nc("@label", "Waiting for: ") + root.printJob.assignedPrinter.name; + } + } + } + } + + // Printer family pills + Row { + id: printerFamilyPills; + visible: root.printJob; + spacing: Math.round(0.5 * UM.Theme.getSize("default_margin").width); + anchors { + left: parent.left; + right: parent.right; + bottom: extrudersInfo.top; + bottomMargin: UM.Theme.getSize("default_margin").height; + } + height: childrenRect.height; + Repeater { + model: printJob.compatibleMachineFamilies; + delegate: PrinterFamilyPill { + text: modelData; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + padding: 3 * screenScaleFactor; // TODO: Theme! + } + } + } + + // Print core & material config + Row { + id: extrudersInfo; + anchors { + bottom: parent.bottom; + left: parent.left; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + height: childrenRect.height; + spacing: UM.Theme.getSize("default_margin").width; + PrintCoreConfiguration { + id: leftExtruderInfo; + width: Math.round(parent.width / 2) * screenScaleFactor; + printCoreConfiguration: root.printJob !== null ? printJob.configuration.extruderConfigurations[0] : null; + } + PrintCoreConfiguration { + id: rightExtruderInfo; + width: Math.round(parent.width / 2) * screenScaleFactor; + printCoreConfiguration: root.printJob !== null ? printJob.configuration.extruderConfigurations[1] : null; } } - color: "black"; } } - // Config change details Rectangle { - id: configChangeDetails - color: root.debug ? "yellow" : "transparent"; + id: configChangesBox; width: parent.width; - visible: false; - height: visible ? 150 : 0; - Behavior on height { NumberAnimation { duration: 100 } } + height: childrenRect.height; + visible: root.printJob && root.printJob.configurationChanges.length !== 0; + // Config change toggle Rectangle { - color: root.debug ? "lime" : "transparent"; + id: configChangeToggle; + color: { + if(configChangeToggleArea.containsMouse) { + return UM.Theme.getColor("viewport_background"); // TODO: Theme! + } else { + return "transparent"; + } + } + width: parent.width; + height: UM.Theme.getSize("default_margin").height * 4; // TODO: Theme! anchors { - fill: parent; - topMargin: UM.Theme.getSize("wide_margin").height; - bottomMargin: UM.Theme.getSize("wide_margin").height; - leftMargin: UM.Theme.getSize("wide_margin").height * 4; - rightMargin: UM.Theme.getSize("wide_margin").height * 4; + left: parent.left; + right: parent.right; + top: parent.top; } + + Rectangle { + width: parent.width; + height: UM.Theme.getSize("default_lining").height; + color: "#e6e6e6"; // TODO: Theme! + } + + UM.RecolorImage { + width: 23; // TODO: Theme! + height: 23; // TODO: Theme! + anchors { + right: configChangeToggleLabel.left; + rightMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + sourceSize.width: width; + sourceSize.height: height; + source: "../svg/warning-icon.svg"; + color: UM.Theme.getColor("text"); + } + Label { - wrapMode: Text.WordWrap; - text: "The assigned printer, UltiSandra, requires the following configuration change(s): Change material 1 from PLA to ABS."; + id: configChangeToggleLabel; + anchors { + horizontalCenter: parent.horizontalCenter; + verticalCenter: parent.verticalCenter; + } + text: "Configuration change"; // TODO: i18n! } + + UM.RecolorImage { + width: 15; // TODO: Theme! + height: 15; // TODO: Theme! + anchors { + left: configChangeToggleLabel.right; + leftMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + sourceSize.width: width; + sourceSize.height: height; + source: { + if (configChangeDetails.visible) { + return UM.Theme.getIcon("arrow_top"); + } else { + return UM.Theme.getIcon("arrow_bottom"); + } + } + color: UM.Theme.getColor("text"); + } + + MouseArea { + id: configChangeToggleArea; + anchors.fill: parent; + hoverEnabled: true; + onClicked: { + configChangeDetails.visible = !configChangeDetails.visible; + } + } + } + + // Config change details + Rectangle { + id: configChangeDetails; + color: "transparent"; + width: parent.width; + visible: false; + // In case of really massive multi-line configuration changes + height: visible ? Math.max(UM.Theme.getSize("monitor_tab_config_override_box").height, childrenRect.height) : 0; + Behavior on height { NumberAnimation { duration: 100 } } + anchors.top: configChangeToggle.bottom; + + Rectangle { + color: "transparent"; + clip: true; + anchors { + fill: parent; + topMargin: UM.Theme.getSize("wide_margin").height; + bottomMargin: UM.Theme.getSize("wide_margin").height; + leftMargin: UM.Theme.getSize("wide_margin").height * 4; + rightMargin: UM.Theme.getSize("wide_margin").height * 4; + } + + Label { + anchors.fill: parent; + wrapMode: Text.WordWrap; + elide: Text.ElideRight; + font: UM.Theme.getFont("large_nonbold"); + text: { + if (root.printJob.configurationChanges.length === 0) { + return ""; + } + var topLine; + if (materialsAreKnown(root.printJob)) { + topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(root.printJob.assignedPrinter.name); + } else { + topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(root.printJob.assignedPrinter.name); + } + var result = "

" + topLine +"

"; + for (var i = 0; i < root.printJob.configurationChanges.length; i++) { + var change = root.printJob.configurationChanges[i]; + var text; + switch (change.typeOfChange) { + case "material_change": + text = catalog.i18nc("@label", "Change material %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); + break; + case "material_insert": + text = catalog.i18nc("@label", "Load %3 as material %1 (This cannot be overridden).").arg(change.index + 1).arg(change.targetName); + break; + case "print_core_change": + text = catalog.i18nc("@label", "Change print core %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); + break; + case "buildplate_change": + text = catalog.i18nc("@label", "Change build plate to %1 (This cannot be overridden).").arg(formatBuildPlateType(change.target_name)); + break; + default: + text = ""; + } + result += "

" + text + "

"; + } + return result; + } + } + + Button { + anchors { + bottom: parent.bottom; + left: parent.left; + } + visible: { + var length = root.printJob.configurationChanges.length; + for (var i = 0; i < length; i++) { + var typeOfChange = root.printJob.configurationChanges[i].typeOfChange; + if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { + return false; + } + } + return true; + } + text: catalog.i18nc("@label", "Override"); + onClicked: { + overrideConfirmationDialog.visible = true; + } + } + } + } + + MessageDialog { + id: overrideConfirmationDialog; + title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); + icon: StandardIcon.Warning; + text: { + var printJobName = formatPrintJobName(root.printJob.name); + var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); + return confirmText; + } + standardButtons: StandardButton.Yes | StandardButton.No; + Component.onCompleted: visible = false; + onYes: OutputDevice.forceSendJob(root.printJob.key); } } } } + // Utils + function formatPrintJobName(name) { + var extensions = [ ".gz", ".gcode", ".ufp" ]; + for (var i = 0; i < extensions.length; i++) { + var extension = extensions[i]; + if (name.slice(-extension.length) === extension) { + name = name.substring(0, name.length - extension.length); + } + } + return name; + } + function materialsAreKnown(job) { + var conf0 = job.configuration[0]; + if (conf0 && !conf0.material.material) { + return false; + } + var conf1 = job.configuration[1]; + if (conf1 && !conf1.material.material) { + return false; + } + return true; + } + function formatBuildPlateType(buildPlateType) { + var translationText = ""; + switch (buildPlateType) { + case "glass": + translationText = catalog.i18nc("@label", "Glass"); + break; + case "aluminum": + translationText = catalog.i18nc("@label", "Aluminum"); + break; + default: + translationText = null; + } + return translationText; + } } + + // Item // { // id: base @@ -458,7 +791,7 @@ Item { // contentItem: Label // { // text: contextButton.text -// color: UM.Theme.getColor("monitor_text_inactive") +// color: UM.Theme.getColor("monitor_tab_text_inactive") // font.pixelSize: 25 // verticalAlignment: Text.AlignVCenter // horizontalAlignment: Text.AlignHCenter diff --git a/plugins/UM3NetworkPrinting/resources/svg/ultibot.svg b/plugins/UM3NetworkPrinting/resources/svg/ultibot.svg new file mode 100644 index 0000000000..be6ca64723 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/svg/ultibot.svg @@ -0,0 +1 @@ +logobot-placeholder \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg b/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg index 1e5359a5eb..064d0783e0 100644 --- a/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg +++ b/plugins/UM3NetworkPrinting/resources/svg/warning-icon.svg @@ -1 +1,4 @@ -warning-icon \ No newline at end of file + + warning-icon + + \ No newline at end of file diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 43d892c34c..390f0ba995 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -323,10 +323,12 @@ "favorites_header_text_hover": [31, 36, 39, 255], "favorites_row_selected": [196, 239, 255, 255], - "monitor_text_inactive": [154, 154, 154, 255], - "monitor_background_inactive": [240, 240, 240, 255], - "monitor_background_active": [255, 255, 255, 255], - "monitor_lining_inactive": [230, 230, 230, 255] + "monitor_tab_background_active": [255, 255, 255, 255], + "monitor_tab_background_inactive": [240, 240, 240, 255], + "monitor_tab_lining_active": [0, 0, 0, 255], + "monitor_tab_lining_inactive": [230, 230, 230, 255], + "monitor_tab_placeholder_image": [230, 230, 230, 255], + "monitor_tab_text_inactive": [154, 154, 154, 255] }, "sizes": { @@ -476,6 +478,9 @@ "toolbox_action_button": [8.0, 2.5], "toolbox_loader": [2.0, 2.0], - "drop_shadow_radius": [1.0, 1.0] + "monitor_tab_config_override_box": [1.0, 14.0], + "monitor_tab_extruder_circle": [2.75, 2.75], + "monitor_tab_text_line": [1.16, 1.16], + "monitor_tab_thick_lining": [0.16, 0.16] } } From f8369703ed4775c6e9ae2f5da3c32451f3c8b4a9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 13:45:46 +0200 Subject: [PATCH 092/423] Connect signals before loading auth data CURA-5744 --- cura/API/Account.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 18d9d5df03..3f328d71ef 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -42,15 +42,14 @@ class Account(QObject): AUTH_SUCCESS_REDIRECT="{}/app/auth-success".format(self._oauth_root), AUTH_FAILED_REDIRECT="{}/app/auth-error".format(self._oauth_root) ) - - self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) - self._authorization_service.loadAuthDataFromPreferences() - self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged) - self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged) - self._error_message = None # type: Optional[Message] self._logged_in = False + self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) + self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged) + self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged) + self._authorization_service.loadAuthDataFromPreferences() + @pyqtProperty(bool, notify=loginStateChanged) def isLoggedIn(self) -> bool: return self._logged_in From 853ccbdb71df307d4de6a47981235b5531af3f55 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 14:00:28 +0200 Subject: [PATCH 093/423] Fix mypy typing issue --- cura/OAuth2/AuthorizationService.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index e9e3a7e65b..16f525625e 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -140,7 +140,7 @@ class AuthorizationService: # Load authentication data from preferences. def loadAuthDataFromPreferences(self) -> None: if self._preferences is None: - Logger.logException("e", "Unable to load authentication data, since no preference has been set!") + Logger.log("e", "Unable to load authentication data, since no preference has been set!") return try: preferences_data = json.loads(self._preferences.getValue(self._settings.AUTH_DATA_PREFERENCE_KEY)) @@ -152,6 +152,10 @@ class AuthorizationService: # Store authentication data in preferences. def _storeAuthData(self, auth_data: Optional[AuthenticationResponse] = None) -> None: + if self._preferences is None: + Logger.log("e", "Unable to save authentication data, since no preference has been set!") + return + self._auth_data = auth_data if auth_data: self._user_profile = self.getUserProfile() From fc333d53c5b77633a9a303054c4453f476b0bbac Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 27 Sep 2018 14:54:40 +0200 Subject: [PATCH 094/423] Replaced print job context menu Contributes to CL-897, CL-1051 --- .../resources/qml/PrintCoreConfiguration.qml | 6 +- .../resources/qml/PrintJobContextMenu.qml | 199 +++++ .../resources/qml/PrintJobInfoBlock.qml | 744 ++---------------- 3 files changed, 253 insertions(+), 696 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index ca39d2663d..289b3f3f00 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -21,7 +21,7 @@ Item { // Loading skeleton Rectangle { - visible: !extruderInfo.printCoreConfiguration; + visible: !printCoreConfiguration; anchors.fill: parent; radius: Math.round(width / 2); color: UM.Theme.getColor("viewport_background"); @@ -29,7 +29,7 @@ Item { // Actual content Rectangle { - visible: extruderInfo.printCoreConfiguration; + visible: printCoreConfiguration; anchors.fill: parent; radius: Math.round(width / 2); border.width: UM.Theme.getSize("monitor_tab_thick_lining").width; @@ -44,7 +44,7 @@ Item { Label { anchors.centerIn: parent; font: UM.Theme.getFont("default_bold"); - text: printCoreConfiguration.position + 1; + text: printCoreConfiguration ? printCoreConfiguration.position + 1 : 0; } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml new file mode 100644 index 0000000000..74c4bb030c --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -0,0 +1,199 @@ +import QtQuick 2.2 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.4 +import QtGraphicalEffects 1.0 +import QtQuick.Layouts 1.1 +import QtQuick.Dialogs 1.1 +import UM 1.3 as UM + +Item { + id: root; + property var printJob: null; + + Button { + id: button; + background: Rectangle { + color: UM.Theme.getColor("viewport_background"); + height: button.height; + opacity: button.down || button.hovered ? 1 : 0; + radius: 0.5 * width; + width: button.width; + } + contentItem: Label { + color: UM.Theme.getColor("monitor_tab_text_inactive"); + font.pixelSize: 25; + horizontalAlignment: Text.AlignHCenter; + text: button.text; + verticalAlignment: Text.AlignVCenter; + } + height: width; + hoverEnabled: true; + onClicked: parent.switchPopupState(); + text: "\u22EE"; //Unicode; Three stacked points. + width: 35; + } + + Popup { + id: popup; + clip: true; + closePolicy: Popup.CloseOnPressOutside; + height: contentItem.height + 2 * padding; + padding: 5 * screenScaleFactor; // Because shadow + transformOrigin: Popup.Top; + visible: false; + width: 182 * screenScaleFactor; + x: (button.width - width) + 26 * screenScaleFactor; + y: button.height + 5 * screenScaleFactor; // Because shadow + contentItem: Item { + width: popup.width + height: childrenRect.height + 36 * screenScaleFactor + anchors.topMargin: 10 * screenScaleFactor + anchors.bottomMargin: 10 * screenScaleFactor + Button { + id: sendToTopButton + text: catalog.i18nc("@label", "Move to top") + onClicked: + { + sendToTopConfirmationDialog.visible = true; + popup.close(); + } + width: parent.width + enabled: printJob ? OutputDevice.queuedPrintJobs[0].key != printJob.key : false; + visible: enabled + anchors.top: parent.top + anchors.topMargin: 18 * screenScaleFactor + height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor + hoverEnabled: true + background: Rectangle + { + opacity: sendToTopButton.down || sendToTopButton.hovered ? 1 : 0 + color: UM.Theme.getColor("viewport_background") + } + contentItem: Label + { + text: sendToTopButton.text + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + } + } + + MessageDialog + { + id: sendToTopConfirmationDialog + title: catalog.i18nc("@window:title", "Move print job to top") + icon: StandardIcon.Warning + text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) : ""; + standardButtons: StandardButton.Yes | StandardButton.No + Component.onCompleted: visible = false + onYes: { + if (printJob) { + OutputDevice.sendJobToTop(printJob.key) + } + } + } + + Button + { + id: deleteButton + text: catalog.i18nc("@label", "Delete") + onClicked: + { + deleteConfirmationDialog.visible = true; + popup.close(); + } + width: parent.width + height: 39 * screenScaleFactor + anchors.top: sendToTopButton.bottom + hoverEnabled: true + background: Rectangle + { + opacity: deleteButton.down || deleteButton.hovered ? 1 : 0 + color: UM.Theme.getColor("viewport_background") + } + contentItem: Label + { + text: deleteButton.text + horizontalAlignment: Text.AlignLeft + verticalAlignment: Text.AlignVCenter + } + } + + MessageDialog + { + id: deleteConfirmationDialog + title: catalog.i18nc("@window:title", "Delete print job") + icon: StandardIcon.Warning + text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) : ""; + standardButtons: StandardButton.Yes | StandardButton.No + Component.onCompleted: visible = false + onYes: OutputDevice.deleteJobFromQueue(printJob.key) + } + } + + background: Item + { + width: popup.width + height: popup.height + + DropShadow + { + anchors.fill: pointedRectangle + radius: 5 + color: "#3F000000" // 25% shadow + source: pointedRectangle + transparentBorder: true + verticalOffset: 2 + } + + Item + { + id: pointedRectangle + width: parent.width - 10 * screenScaleFactor // Because of the shadow + height: parent.height - 10 * screenScaleFactor // Because of the shadow + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + + Rectangle + { + id: point + height: 14 * screenScaleFactor + width: 14 * screenScaleFactor + color: UM.Theme.getColor("setting_control") + transform: Rotation { angle: 45} + anchors.right: bloop.right + anchors.rightMargin: 24 + y: 1 + } + + Rectangle + { + id: bloop + color: UM.Theme.getColor("setting_control") + width: parent.width + anchors.top: parent.top + anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point + anchors.bottom: parent.bottom + anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow + } + } + } + + exit: Transition + { + NumberAnimation { property: "visible"; duration: 75; } + } + enter: Transition + { + NumberAnimation { property: "visible"; duration: 75; } + } + + onClosed: visible = false + onOpened: visible = true + } + + // Utils + function switchPopupState() { + popup.visible ? popup.close() : popup.open() + } +} diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index cb6b0fb4df..89fb8a2391 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -72,14 +72,14 @@ Item { height: UM.Theme.getSize("monitor_tab_text_line").height; Rectangle { - visible: !root.printJob; + visible: !printJob; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! height: parent.height; width: parent.width / 3; } Label { - visible: root.printJob; - text: root.printJob ? root.printJob.name : ""; // Supress QML warnings + visible: printJob; + text: printJob ? printJob.name : ""; // Supress QML warnings font: UM.Theme.getFont("default_bold"); elide: Text.ElideRight; anchors.fill: parent; @@ -97,14 +97,14 @@ Item { } Rectangle { - visible: !root.printJob; + visible: !printJob; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! height: parent.height; width: parent.width / 2; } Label { - visible: root.printJob; - text: root.printJob ? root.printJob.owner : ""; // Supress QML warnings + visible: printJob; + text: printJob ? printJob.owner : ""; // Supress QML warnings font: UM.Theme.getFont("default"); elide: Text.ElideRight; anchors.fill: parent; @@ -124,7 +124,7 @@ Item { // Skeleton Rectangle { - visible: !root.printJob; + visible: !printJob; anchors.fill: parent; radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! color: UM.Theme.getColor("viewport_background"); // TODO: Theme! @@ -133,9 +133,9 @@ Item { // Actual content Image { id: previewImage; - visible: root.printJob; - source: root.printJob.previewImageUrl; - opacity: root.printJob.state == "error" ? 0.5 : 1.0; + visible: printJob; + source: printJob ? printJob.previewImageUrl : ""; + opacity: printJob && printJob.state == "error" ? 0.5 : 1.0; anchors.fill: parent; } @@ -145,7 +145,7 @@ Item { source: "../svg/ultibot.svg"; /* Since print jobs ALWAYS have an image url, we have to check if that image URL errors or not in order to determine if we show the placeholder (ultibot) image instead. */ - visible: root.printJob && previewImage.status == Image.Error; + visible: printJob && previewImage.status == Image.Error; width: printJobPreview.width; height: printJobPreview.height; sourceSize.width: width; @@ -156,7 +156,7 @@ Item { UM.RecolorImage { id: statusImage; anchors.centerIn: printJobPreview; - source: printJob.state == "error" ? "../svg/aborted-icon.svg" : ""; + source: printJob && printJob.state == "error" ? "../svg/aborted-icon.svg" : ""; visible: source != ""; width: 0.5 * printJobPreview.width; height: 0.5 * printJobPreview.height; @@ -171,7 +171,7 @@ Item { Rectangle { height: parent.height - 2 * UM.Theme.getSize("default_margin").height; width: UM.Theme.getSize("default_lining").width; - color: !root.printJob ? UM.Theme.getColor("viewport_background") : "#e6e6e6"; // TODO: Theme! + color: !printJob ? UM.Theme.getColor("viewport_background") : "#e6e6e6"; // TODO: Theme! anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; @@ -191,28 +191,29 @@ Item { Item { id: targetPrinterLabel; - width: parent.width; height: UM.Theme.getSize("monitor_tab_text_line").height; - Rectangle { - visible: !root.printJob; + visible: !printJob; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! anchors.fill: parent; } Label { - visible: root.printJob; + visible: printJob; elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); text: { - if (root.printJob.assignedPrinter == null) { - if (root.printJob.state == "error") { - return catalog.i18nc("@label", "Waiting for: Unavailable printer"); + if (printJob) { + if (printJob.assignedPrinter == null) { + if (printJob.state == "error") { + return catalog.i18nc("@label", "Waiting for: Unavailable printer"); + } + return catalog.i18nc("@label", "Waiting for: First available"); + } else { + return catalog.i18nc("@label", "Waiting for: ") + printJob.assignedPrinter.name; } - return catalog.i18nc("@label", "Waiting for: First available"); - } else { - return catalog.i18nc("@label", "Waiting for: ") + root.printJob.assignedPrinter.name; } + return ""; } } } @@ -220,7 +221,7 @@ Item { // Printer family pills Row { id: printerFamilyPills; - visible: root.printJob; + visible: printJob; spacing: Math.round(0.5 * UM.Theme.getSize("default_margin").width); anchors { left: parent.left; @@ -230,7 +231,7 @@ Item { } height: childrenRect.height; Repeater { - model: printJob.compatibleMachineFamilies; + model: printJob ? printJob.compatibleMachineFamilies : []; delegate: PrinterFamilyPill { text: modelData; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! @@ -253,22 +254,34 @@ Item { PrintCoreConfiguration { id: leftExtruderInfo; width: Math.round(parent.width / 2) * screenScaleFactor; - printCoreConfiguration: root.printJob !== null ? printJob.configuration.extruderConfigurations[0] : null; + printCoreConfiguration: printJob !== null ? printJob.configuration.extruderConfigurations[0] : null; } PrintCoreConfiguration { id: rightExtruderInfo; width: Math.round(parent.width / 2) * screenScaleFactor; - printCoreConfiguration: root.printJob !== null ? printJob.configuration.extruderConfigurations[1] : null; + printCoreConfiguration: printJob !== null ? printJob.configuration.extruderConfigurations[1] : null; } } } + + PrintJobContextMenu { + id: contextButton; + anchors { + right: mainContent.right; + rightMargin: UM.Theme.getSize("default_margin").width * 3 + root.shadowRadius; + top: mainContent.top; + topMargin: UM.Theme.getSize("default_margin").height; + } + printJob: root.printJob; + visible: root.printJob; + } } Rectangle { id: configChangesBox; width: parent.width; height: childrenRect.height; - visible: root.printJob && root.printJob.configurationChanges.length !== 0; + visible: printJob && printJob.configurationChanges.length !== 0; // Config change toggle Rectangle { @@ -375,18 +388,18 @@ Item { elide: Text.ElideRight; font: UM.Theme.getFont("large_nonbold"); text: { - if (root.printJob.configurationChanges.length === 0) { + if (!printJob || printJob.configurationChanges.length === 0) { return ""; } var topLine; - if (materialsAreKnown(root.printJob)) { - topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(root.printJob.assignedPrinter.name); + if (materialsAreKnown(printJob)) { + topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(printJob.assignedPrinter.name); } else { - topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(root.printJob.assignedPrinter.name); + topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(printJob.assignedPrinter.name); } var result = "

" + topLine +"

"; - for (var i = 0; i < root.printJob.configurationChanges.length; i++) { - var change = root.printJob.configurationChanges[i]; + for (var i = 0; i < printJob.configurationChanges.length; i++) { + var change = printJob.configurationChanges[i]; var text; switch (change.typeOfChange) { case "material_change": @@ -416,9 +429,9 @@ Item { left: parent.left; } visible: { - var length = root.printJob.configurationChanges.length; + var length = printJob.configurationChanges.length; for (var i = 0; i < length; i++) { - var typeOfChange = root.printJob.configurationChanges[i].typeOfChange; + var typeOfChange = printJob.configurationChanges[i].typeOfChange; if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { return false; } @@ -438,13 +451,13 @@ Item { title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); icon: StandardIcon.Warning; text: { - var printJobName = formatPrintJobName(root.printJob.name); + var printJobName = formatPrintJobName(printJob.name); var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); return confirmText; } standardButtons: StandardButton.Yes | StandardButton.No; Component.onCompleted: visible = false; - onYes: OutputDevice.forceSendJob(root.printJob.key); + onYes: OutputDevice.forceSendJob(printJob.key); } } } @@ -486,658 +499,3 @@ Item { return translationText; } } - - - -// Item -// { -// id: base - -// function haveAlert() { -// return printJob.configurationChanges.length !== 0; -// } - -// function alertHeight() { -// return haveAlert() ? 230 : 0; -// } - -// function alertText() { -// if (printJob.configurationChanges.length === 0) { -// return ""; -// } - -// var topLine; -// if (materialsAreKnown(printJob)) { -// topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(printJob.assignedPrinter.name); -// } else { -// topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(printJob.assignedPrinter.name); -// } -// var result = "

" + topLine +"

"; - -// for (var i=0; i

"; -// } -// return result; -// } - -// function materialsAreKnown(printJob) { -// var conf0 = printJob.configuration[0]; -// if (conf0 && !conf0.material.material) { -// return false; -// } - -// var conf1 = printJob.configuration[1]; -// if (conf1 && !conf1.material.material) { -// return false; -// } - -// return true; -// } - -// function formatBuildPlateType(buildPlateType) { -// var translationText = ""; - -// switch (buildPlateType) { -// case 'glass': -// translationText = catalog.i18nc("@label", "Glass"); -// break; -// case 'aluminum': -// translationText = catalog.i18nc("@label", "Aluminum"); -// break; -// default: -// translationText = null; -// } -// return translationText; -// } - -// function formatPrintJobName(name) { -// var extensionsToRemove = [ -// '.gz', -// '.gcode', -// '.ufp' -// ]; - -// for (var i = 0; i < extensionsToRemove.length; i++) { -// var extension = extensionsToRemove[i]; - -// if (name.slice(-extension.length) === extension) { -// name = name.substring(0, name.length - extension.length); -// } -// } - -// return name; -// } - -// function isPrintJobForcable(printJob) { -// var forcable = true; - -// for (var i = 0; i < printJob.configurationChanges.length; i++) { -// var typeOfChange = printJob.configurationChanges[i].typeOfChange; -// if (typeOfChange === 'material_insert' || typeOfChange === 'buildplate_change') { -// forcable = false; -// } -// } - -// return forcable; -// } - -// property var cardHeight: 175 - -// height: (cardHeight + alertHeight()) * screenScaleFactor -// property var printJob: null -// property var shadowRadius: 5 * screenScaleFactor -// function getPrettyTime(time) -// { -// return OutputDevice.formatDuration(time) -// } - -// width: parent.width - -// UM.I18nCatalog -// { -// id: catalog -// name: "cura" -// } - -// Rectangle -// { -// id: background - -// height: (cardHeight + alertHeight()) * screenScaleFactor - -// anchors -// { -// top: parent.top -// topMargin: 3 * screenScaleFactor -// left: parent.left -// leftMargin: base.shadowRadius -// rightMargin: base.shadowRadius -// right: parent.right -// //bottom: parent.bottom - alertHeight() * screenScaleFactor -// bottomMargin: base.shadowRadius -// } - -// layer.enabled: true -// layer.effect: DropShadow -// { -// radius: base.shadowRadius -// verticalOffset: 2 * screenScaleFactor -// color: "#3F000000" // 25% shadow -// } - -// Rectangle -// { -// height: cardHeight * screenScaleFactor - -// anchors -// { -// top: parent.top -// left: parent.left -// right: parent.right -// // bottom: parent.bottom -// } - -// Item -// { -// // Content on the left of the infobox -// anchors -// { -// top: parent.top -// bottom: parent.bottom -// left: parent.left -// right: parent.horizontalCenter -// margins: UM.Theme.getSize("wide_margin").width -// rightMargin: UM.Theme.getSize("default_margin").width -// } - -// Label -// { -// id: printJobName -// text: printJob.name -// font: UM.Theme.getFont("default_bold") -// width: parent.width -// elide: Text.ElideRight -// } - -// Label -// { -// id: ownerName -// anchors.top: printJobName.bottom -// text: printJob.owner -// font: UM.Theme.getFont("default") -// opacity: 0.6 -// width: parent.width -// elide: Text.ElideRight -// } - -// Image -// { -// id: printJobPreview -// source: printJob.previewImageUrl -// anchors.top: ownerName.bottom -// anchors.horizontalCenter: parent.horizontalCenter -// anchors.bottom: totalTimeLabel.bottom -// width: height -// opacity: printJob.state == "error" ? 0.5 : 1.0 -// } - -// UM.RecolorImage -// { -// id: statusImage -// anchors.centerIn: printJobPreview -// source: printJob.state == "error" ? "../svg/aborted-icon.svg" : "" -// visible: source != "" -// width: 0.5 * printJobPreview.width -// height: 0.5 * printJobPreview.height -// sourceSize.width: width -// sourceSize.height: height -// color: "black" -// } - -// Label -// { -// id: totalTimeLabel -// anchors.bottom: parent.bottom -// anchors.right: parent.right -// font: UM.Theme.getFont("default") -// text: printJob != null ? getPrettyTime(printJob.timeTotal) : "" -// elide: Text.ElideRight -// } -// } - -// Item -// { -// // Content on the right side of the infobox. -// anchors -// { -// top: parent.top -// bottom: parent.bottom -// left: parent.horizontalCenter -// right: parent.right -// margins: 2 * UM.Theme.getSize("default_margin").width -// leftMargin: UM.Theme.getSize("default_margin").width -// rightMargin: UM.Theme.getSize("default_margin").width / 2 -// } - -// Label -// { -// id: targetPrinterLabel -// elide: Text.ElideRight -// font: UM.Theme.getFont("default_bold") -// text: -// { -// if(printJob.assignedPrinter == null) -// { -// if(printJob.state == "error") -// { -// return catalog.i18nc("@label", "Waiting for: Unavailable printer") -// } -// return catalog.i18nc("@label", "Waiting for: First available") -// } -// else -// { -// return catalog.i18nc("@label", "Waiting for: ") + printJob.assignedPrinter.name -// } - -// } - -// anchors -// { -// left: parent.left -// right: contextButton.left -// rightMargin: UM.Theme.getSize("default_margin").width -// } -// } - - -// function switchPopupState() -// { -// popup.visible ? popup.close() : popup.open() -// } - -// Button -// { -// id: contextButton -// text: "\u22EE" //Unicode; Three stacked points. -// width: 35 -// height: width -// anchors -// { -// right: parent.right -// top: parent.top -// } -// hoverEnabled: true - -// background: Rectangle -// { -// opacity: contextButton.down || contextButton.hovered ? 1 : 0 -// width: contextButton.width -// height: contextButton.height -// radius: 0.5 * width -// color: UM.Theme.getColor("viewport_background") -// } -// contentItem: Label -// { -// text: contextButton.text -// color: UM.Theme.getColor("monitor_tab_text_inactive") -// font.pixelSize: 25 -// verticalAlignment: Text.AlignVCenter -// horizontalAlignment: Text.AlignHCenter -// } - -// onClicked: parent.switchPopupState() -// } - -// Popup -// { -// // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property -// id: popup -// clip: true -// closePolicy: Popup.CloseOnPressOutside -// x: (parent.width - width) + 26 * screenScaleFactor -// y: contextButton.height - 5 * screenScaleFactor // Because shadow -// width: 182 * screenScaleFactor -// height: contentItem.height + 2 * padding -// visible: false -// padding: 5 * screenScaleFactor // Because shadow - -// transformOrigin: Popup.Top -// contentItem: Item -// { -// width: popup.width -// height: childrenRect.height + 36 * screenScaleFactor -// anchors.topMargin: 10 * screenScaleFactor -// anchors.bottomMargin: 10 * screenScaleFactor -// Button -// { -// id: sendToTopButton -// text: catalog.i18nc("@label", "Move to top") -// onClicked: -// { -// sendToTopConfirmationDialog.visible = true; -// popup.close(); -// } -// width: parent.width -// enabled: OutputDevice.queuedPrintJobs[0].key != printJob.key -// visible: enabled -// anchors.top: parent.top -// anchors.topMargin: 18 * screenScaleFactor -// height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor -// hoverEnabled: true -// background: Rectangle -// { -// opacity: sendToTopButton.down || sendToTopButton.hovered ? 1 : 0 -// color: UM.Theme.getColor("viewport_background") -// } -// contentItem: Label -// { -// text: sendToTopButton.text -// horizontalAlignment: Text.AlignLeft -// verticalAlignment: Text.AlignVCenter -// } -// } - -// MessageDialog -// { -// id: sendToTopConfirmationDialog -// title: catalog.i18nc("@window:title", "Move print job to top") -// icon: StandardIcon.Warning -// text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) -// standardButtons: StandardButton.Yes | StandardButton.No -// Component.onCompleted: visible = false -// onYes: OutputDevice.sendJobToTop(printJob.key) -// } - -// Button -// { -// id: deleteButton -// text: catalog.i18nc("@label", "Delete") -// onClicked: -// { -// deleteConfirmationDialog.visible = true; -// popup.close(); -// } -// width: parent.width -// height: 39 * screenScaleFactor -// anchors.top: sendToTopButton.bottom -// hoverEnabled: true -// background: Rectangle -// { -// opacity: deleteButton.down || deleteButton.hovered ? 1 : 0 -// color: UM.Theme.getColor("viewport_background") -// } -// contentItem: Label -// { -// text: deleteButton.text -// horizontalAlignment: Text.AlignLeft -// verticalAlignment: Text.AlignVCenter -// } -// } - -// MessageDialog -// { -// id: deleteConfirmationDialog -// title: catalog.i18nc("@window:title", "Delete print job") -// icon: StandardIcon.Warning -// text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) -// standardButtons: StandardButton.Yes | StandardButton.No -// Component.onCompleted: visible = false -// onYes: OutputDevice.deleteJobFromQueue(printJob.key) -// } -// } - -// background: Item -// { -// width: popup.width -// height: popup.height - -// DropShadow -// { -// anchors.fill: pointedRectangle -// radius: 5 -// color: "#3F000000" // 25% shadow -// source: pointedRectangle -// transparentBorder: true -// verticalOffset: 2 -// } - -// Item -// { -// id: pointedRectangle -// width: parent.width - 10 * screenScaleFactor // Because of the shadow -// height: parent.height - 10 * screenScaleFactor // Because of the shadow -// anchors.horizontalCenter: parent.horizontalCenter -// anchors.verticalCenter: parent.verticalCenter - -// Rectangle -// { -// id: point -// height: 14 * screenScaleFactor -// width: 14 * screenScaleFactor -// color: UM.Theme.getColor("setting_control") -// transform: Rotation { angle: 45} -// anchors.right: bloop.right -// anchors.rightMargin: 24 -// y: 1 -// } - -// Rectangle -// { -// id: bloop -// color: UM.Theme.getColor("setting_control") -// width: parent.width -// anchors.top: parent.top -// anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point -// anchors.bottom: parent.bottom -// anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow -// } -// } -// } - -// exit: Transition -// { -// // This applies a default NumberAnimation to any changes a state change makes to x or y properties -// NumberAnimation { property: "visible"; duration: 75; } -// } -// enter: Transition -// { -// // This applies a default NumberAnimation to any changes a state change makes to x or y properties -// NumberAnimation { property: "visible"; duration: 75; } -// } - -// onClosed: visible = false -// onOpened: visible = true -// } - -// Row -// { -// id: printerFamilyPills -// spacing: 0.5 * UM.Theme.getSize("default_margin").width -// anchors -// { -// left: parent.left -// right: parent.right -// bottom: extrudersInfo.top -// bottomMargin: UM.Theme.getSize("default_margin").height -// } -// height: childrenRect.height -// Repeater -// { -// model: printJob.compatibleMachineFamilies - -// delegate: PrinterFamilyPill -// { -// text: modelData -// color: UM.Theme.getColor("viewport_background") -// padding: 3 * screenScaleFactor -// } -// } -// } -// // PrintCore && Material config -// Row -// { -// id: extrudersInfo -// anchors.bottom: parent.bottom - -// anchors -// { -// left: parent.left -// right: parent.right -// } -// height: childrenRect.height - -// spacing: UM.Theme.getSize("default_margin").width - -// PrintCoreConfiguration -// { -// id: leftExtruderInfo -// width: Math.round(parent.width / 2) * screenScaleFactor -// printCoreConfiguration: printJob.configuration.extruderConfigurations[0] -// } - -// PrintCoreConfiguration -// { -// id: rightExtruderInfo -// width: Math.round(parent.width / 2) * screenScaleFactor -// printCoreConfiguration: printJob.configuration.extruderConfigurations[1] -// } -// } - -// } -// } -// Rectangle -// { -// height: cardHeight * screenScaleFactor -// color: UM.Theme.getColor("viewport_background") -// width: 2 * screenScaleFactor -// anchors.top: parent.top -// anchors.margins: UM.Theme.getSize("default_margin").height -// anchors.horizontalCenter: parent.horizontalCenter -// } - -// // Alert / Configuration change box -// Rectangle -// { -// height: alertHeight() * screenScaleFactor - -// anchors.left: parent.left -// anchors.right: parent.right -// anchors.bottom: parent.bottom - -// color: "#ff00ff" -// ColumnLayout -// { -// anchors.fill: parent -// RowLayout -// { -// Item -// { -// Layout.fillWidth: true -// } - -// Label -// { -// font: UM.Theme.getFont("default_bold") -// text: "Configuration change" -// } - -// UM.RecolorImage -// { -// id: collapseIcon -// width: 15 -// height: 15 -// sourceSize.width: width -// sourceSize.height: height - -// // FIXME -// source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") -// color: "black" -// } - -// Item -// { -// Layout.fillWidth: true -// } - -// } - -// Rectangle -// { -// Layout.fillHeight: true -// Layout.fillWidth: true -// color: "red" - -// Rectangle -// { -// color: "green" -// width: childrenRect.width - -// anchors.horizontalCenter: parent.horizontalCenter -// anchors.top: parent.top -// anchors.bottom: parent.bottom - -// ColumnLayout -// { -// width: childrenRect.width - -// anchors.top: parent.top -// anchors.bottom: parent.bottom - -// Text -// { -// Layout.alignment: Qt.AlignTop - -// textFormat: Text.StyledText -// font: UM.Theme.getFont("default_bold") -// text: alertText() -// } - -// Button -// { -// visible: isPrintJobForcable(printJob) -// text: catalog.i18nc("@label", "Override") -// onClicked: { -// overrideConfirmationDialog.visible = true; -// } -// } - -// // Spacer -// Item -// { -// Layout.fillHeight: true -// } -// } -// } -// } -// } -// } - -// MessageDialog -// { -// id: overrideConfirmationDialog -// title: catalog.i18nc("@window:title", "Override configuration configuration and start print") -// icon: StandardIcon.Warning -// text: { -// var printJobName = formatPrintJobName(printJob.name); -// var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); -// return confirmText; -// } - -// standardButtons: StandardButton.Yes | StandardButton.No -// Component.onCompleted: visible = false -// onYes: OutputDevice.forceSendJob(printJob.key) -// } -// } -// } \ No newline at end of file From 3b70e5eb6bcbab6da11f6864b85a6a23ae0ccc30 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 27 Sep 2018 20:01:55 +0200 Subject: [PATCH 095/423] Fix typing For some reason, my MyPy started acting up once I started using the PythonPath while calling it. --- cura/CuraApplication.py | 6 + .../Models/SettingVisibilityPresetsModel.py | 8 +- cura/Machines/QualityManager.py | 6 +- cura/OAuth2/AuthorizationHelpers.py | 4 +- cura/OAuth2/Models.py | 2 +- cura/Scene/ConvexHullDecorator.py | 135 ++++++++++-------- cura/Settings/ContainerManager.py | 7 +- cura/Settings/MachineManager.py | 2 +- plugins/SimulationView/SimulationView.py | 41 +++--- 9 files changed, 120 insertions(+), 91 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 5ff4161fea..04c9ea88db 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -61,6 +61,7 @@ from cura.Scene.CuraSceneController import CuraSceneController from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.SettingFunction import SettingFunction +from cura.Settings.CuraContainerRegistry import CuraContainerRegistry from cura.Settings.MachineNameValidator import MachineNameValidator from cura.Machines.Models.BuildPlateModel import BuildPlateModel @@ -242,6 +243,8 @@ class CuraApplication(QtApplication): from cura.Settings.CuraContainerRegistry import CuraContainerRegistry self._container_registry_class = CuraContainerRegistry + # Redefined here in order to please the typing. + self._container_registry = None # type: CuraContainerRegistry from cura.CuraPackageManager import CuraPackageManager self._package_manager_class = CuraPackageManager @@ -266,6 +269,9 @@ class CuraApplication(QtApplication): help = "FOR TESTING ONLY. Trigger an early crash to show the crash dialog.") self._cli_parser.add_argument("file", nargs = "*", help = "Files to load after starting the application.") + def getContainerRegistry(self) -> "CuraContainerRegistry": + return self._container_registry + def parseCliOptions(self): super().parseCliOptions() diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index d5fa51d20a..7e098197a9 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Optional +from typing import Optional, List, Dict, Union import os import urllib.parse from configparser import ConfigParser @@ -60,7 +60,7 @@ class SettingVisibilityPresetsModel(ListModel): def _populate(self) -> None: from cura.CuraApplication import CuraApplication - items = [] + items = [] # type: List[Dict[str, Union[str, int, List[str]]]] for file_path in Resources.getAllResourcesOfType(CuraApplication.ResourceTypes.SettingVisibilityPreset): try: mime_type = MimeTypeDatabase.getMimeTypeForFile(file_path) @@ -79,7 +79,7 @@ class SettingVisibilityPresetsModel(ListModel): if not parser.has_option("general", "name") or not parser.has_option("general", "weight"): continue - settings = [] + settings = [] # type: List[str] for section in parser.sections(): if section == 'general': continue @@ -98,7 +98,7 @@ class SettingVisibilityPresetsModel(ListModel): except Exception: Logger.logException("e", "Failed to load setting preset %s", file_path) - items.sort(key = lambda k: (int(k["weight"]), k["id"])) + items.sort(key = lambda k: (int(k["weight"]), k["id"])) # type: ignore # Put "custom" at the top items.insert(0, {"id": "custom", "name": "Custom selection", diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index 21abb5a9cc..d924f4c83e 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -6,6 +6,7 @@ from typing import TYPE_CHECKING, Optional, cast, Dict, List from PyQt5.QtCore import QObject, QTimer, pyqtSignal, pyqtSlot from UM.Application import Application + from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Logger import Logger from UM.Util import parseBool @@ -40,7 +41,8 @@ class QualityManager(QObject): def __init__(self, container_registry: "ContainerRegistry", parent = None) -> None: super().__init__(parent) - self._application = Application.getInstance() # type: CuraApplication + from cura.CuraApplication import CuraApplication + self._application = CuraApplication.getInstance() # type: CuraApplication self._material_manager = self._application.getMaterialManager() self._container_registry = container_registry @@ -458,7 +460,7 @@ class QualityManager(QObject): # stack and clear the user settings. @pyqtSlot(str) def createQualityChanges(self, base_name: str) -> None: - machine_manager = Application.getInstance().getMachineManager() + machine_manager = CuraApplication.getInstance().getMachineManager() global_stack = machine_manager.activeMachine if not global_stack: diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index 4d485b3bda..6cb53d2252 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -36,7 +36,7 @@ class AuthorizationHelpers: "code": authorization_code, "code_verifier": verification_code, "scope": self._settings.CLIENT_SCOPES - })) + })) # type: ignore # Request the access token from the authorization server using a refresh token. # \param refresh_token: @@ -48,7 +48,7 @@ class AuthorizationHelpers: "grant_type": "refresh_token", "refresh_token": refresh_token, "scope": self._settings.CLIENT_SCOPES - })) + })) # type: ignore @staticmethod # Parse the token response from the authorization server into an AuthenticationResponse object. diff --git a/cura/OAuth2/Models.py b/cura/OAuth2/Models.py index 796fdf8746..83fc22554f 100644 --- a/cura/OAuth2/Models.py +++ b/cura/OAuth2/Models.py @@ -14,7 +14,7 @@ class OAuth2Settings(BaseModel): CLIENT_ID = None # type: Optional[str] CLIENT_SCOPES = None # type: Optional[str] CALLBACK_URL = None # type: Optional[str] - AUTH_DATA_PREFERENCE_KEY = None # type: Optional[str] + AUTH_DATA_PREFERENCE_KEY = "" # type: str AUTH_SUCCESS_REDIRECT = "https://ultimaker.com" # type: str AUTH_FAILED_REDIRECT = "https://ultimaker.com" # type: str diff --git a/cura/Scene/ConvexHullDecorator.py b/cura/Scene/ConvexHullDecorator.py index 31e21df6bf..8532f40890 100644 --- a/cura/Scene/ConvexHullDecorator.py +++ b/cura/Scene/ConvexHullDecorator.py @@ -5,9 +5,11 @@ from PyQt5.QtCore import QTimer from UM.Application import Application from UM.Math.Polygon import Polygon + from UM.Scene.SceneNodeDecorator import SceneNodeDecorator from UM.Settings.ContainerRegistry import ContainerRegistry + from cura.Settings.ExtruderManager import ExtruderManager from cura.Scene import ConvexHullNode @@ -18,6 +20,8 @@ from typing import TYPE_CHECKING, Any, Optional if TYPE_CHECKING: from UM.Scene.SceneNode import SceneNode from cura.Settings.GlobalStack import GlobalStack + from UM.Mesh.MeshData import MeshData + from UM.Math.Matrix import Matrix ## The convex hull decorator is a scene node decorator that adds the convex hull functionality to a scene node. @@ -33,17 +37,17 @@ class ConvexHullDecorator(SceneNodeDecorator): # Make sure the timer is created on the main thread self._recompute_convex_hull_timer = None # type: Optional[QTimer] - - if Application.getInstance() is not None: - Application.getInstance().callLater(self.createRecomputeConvexHullTimer) + from cura.CuraApplication import CuraApplication + if CuraApplication.getInstance() is not None: + CuraApplication.getInstance().callLater(self.createRecomputeConvexHullTimer) self._raft_thickness = 0.0 - self._build_volume = Application.getInstance().getBuildVolume() + self._build_volume = CuraApplication.getInstance().getBuildVolume() self._build_volume.raftThicknessChanged.connect(self._onChanged) - Application.getInstance().globalContainerStackChanged.connect(self._onGlobalStackChanged) - Application.getInstance().getController().toolOperationStarted.connect(self._onChanged) - Application.getInstance().getController().toolOperationStopped.connect(self._onChanged) + CuraApplication.getInstance().globalContainerStackChanged.connect(self._onGlobalStackChanged) + CuraApplication.getInstance().getController().toolOperationStarted.connect(self._onChanged) + CuraApplication.getInstance().getController().toolOperationStopped.connect(self._onChanged) self._onGlobalStackChanged() @@ -61,9 +65,9 @@ class ConvexHullDecorator(SceneNodeDecorator): previous_node.parentChanged.disconnect(self._onChanged) super().setNode(node) - - self._node.transformationChanged.connect(self._onChanged) - self._node.parentChanged.connect(self._onChanged) + # Mypy doesn't understand that self._node is no longer optional, so just use the node. + node.transformationChanged.connect(self._onChanged) + node.parentChanged.connect(self._onChanged) self._onChanged() @@ -78,9 +82,9 @@ class ConvexHullDecorator(SceneNodeDecorator): hull = self._compute2DConvexHull() - if self._global_stack and self._node and hull is not None: + if self._global_stack and self._node is not None and hull is not None: # Parent can be None if node is just loaded. - if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and (self._node.getParent() is None or not self._node.getParent().callDecoration("isGroup")): + if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self.hasGroupAsParent(self._node): hull = hull.getMinkowskiHull(Polygon(numpy.array(self._global_stack.getProperty("machine_head_polygon", "value"), numpy.float32))) hull = self._add2DAdhesionMargin(hull) return hull @@ -92,6 +96,13 @@ class ConvexHullDecorator(SceneNodeDecorator): return self._compute2DConvexHeadFull() + @staticmethod + def hasGroupAsParent(node: "SceneNode") -> bool: + parent = node.getParent() + if parent is None: + return False + return bool(parent.callDecoration("isGroup")) + ## Get convex hull of the object + head size # In case of printing all at once this is the same as the convex hull. # For one at the time this is area with intersection of mirrored head @@ -100,8 +111,10 @@ class ConvexHullDecorator(SceneNodeDecorator): return None if self._global_stack: - if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and (self._node.getParent() is None or not self._node.getParent().callDecoration("isGroup")): + if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self.hasGroupAsParent(self._node): head_with_fans = self._compute2DConvexHeadMin() + if head_with_fans is None: + return None head_with_fans_with_adhesion_margin = self._add2DAdhesionMargin(head_with_fans) return head_with_fans_with_adhesion_margin return None @@ -114,7 +127,7 @@ class ConvexHullDecorator(SceneNodeDecorator): return None if self._global_stack: - if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and (self._node.getParent() is None or not self._node.getParent().callDecoration("isGroup")): + if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self.hasGroupAsParent(self._node): # Printing one at a time and it's not an object in a group return self._compute2DConvexHull() return None @@ -153,15 +166,17 @@ class ConvexHullDecorator(SceneNodeDecorator): def _init2DConvexHullCache(self) -> None: # Cache for the group code path in _compute2DConvexHull() - self._2d_convex_hull_group_child_polygon = None - self._2d_convex_hull_group_result = None + self._2d_convex_hull_group_child_polygon = None # type: Optional[Polygon] + self._2d_convex_hull_group_result = None # type: Optional[Polygon] # Cache for the mesh code path in _compute2DConvexHull() - self._2d_convex_hull_mesh = None - self._2d_convex_hull_mesh_world_transform = None - self._2d_convex_hull_mesh_result = None + self._2d_convex_hull_mesh = None # type: Optional[MeshData] + self._2d_convex_hull_mesh_world_transform = None # type: Optional[Matrix] + self._2d_convex_hull_mesh_result = None # type: Optional[Polygon] def _compute2DConvexHull(self) -> Optional[Polygon]: + if self._node is None: + return None if self._node.callDecoration("isGroup"): points = numpy.zeros((0, 2), dtype=numpy.int32) for child in self._node.getChildren(): @@ -187,47 +202,47 @@ class ConvexHullDecorator(SceneNodeDecorator): return offset_hull else: - offset_hull = None - if self._node.getMeshData(): - mesh = self._node.getMeshData() - world_transform = self._node.getWorldTransformation() - - # Check the cache - if mesh is self._2d_convex_hull_mesh and world_transform == self._2d_convex_hull_mesh_world_transform: - return self._2d_convex_hull_mesh_result - - vertex_data = mesh.getConvexHullTransformedVertices(world_transform) - # Don't use data below 0. - # TODO; We need a better check for this as this gives poor results for meshes with long edges. - # Do not throw away vertices: the convex hull may be too small and objects can collide. - # vertex_data = vertex_data[vertex_data[:,1] >= -0.01] - - if len(vertex_data) >= 4: - # Round the vertex data to 1/10th of a mm, then remove all duplicate vertices - # This is done to greatly speed up further convex hull calculations as the convex hull - # becomes much less complex when dealing with highly detailed models. - vertex_data = numpy.round(vertex_data, 1) - - vertex_data = vertex_data[:, [0, 2]] # Drop the Y components to project to 2D. - - # Grab the set of unique points. - # - # This basically finds the unique rows in the array by treating them as opaque groups of bytes - # which are as long as the 2 float64s in each row, and giving this view to numpy.unique() to munch. - # See http://stackoverflow.com/questions/16970982/find-unique-rows-in-numpy-array - vertex_byte_view = numpy.ascontiguousarray(vertex_data).view( - numpy.dtype((numpy.void, vertex_data.dtype.itemsize * vertex_data.shape[1]))) - _, idx = numpy.unique(vertex_byte_view, return_index=True) - vertex_data = vertex_data[idx] # Select the unique rows by index. - - hull = Polygon(vertex_data) - - if len(vertex_data) >= 3: - convex_hull = hull.getConvexHull() - offset_hull = self._offsetHull(convex_hull) - else: + offset_hull = Polygon([]) + mesh = self._node.getMeshData() + if mesh is None: return Polygon([]) # Node has no mesh data, so just return an empty Polygon. + world_transform = self._node.getWorldTransformation() + + # Check the cache + if mesh is self._2d_convex_hull_mesh and world_transform == self._2d_convex_hull_mesh_world_transform: + return self._2d_convex_hull_mesh_result + + vertex_data = mesh.getConvexHullTransformedVertices(world_transform) + # Don't use data below 0. + # TODO; We need a better check for this as this gives poor results for meshes with long edges. + # Do not throw away vertices: the convex hull may be too small and objects can collide. + # vertex_data = vertex_data[vertex_data[:,1] >= -0.01] + + if len(vertex_data) >= 4: # type: ignore # mypy and numpy don't play along well just yet. + # Round the vertex data to 1/10th of a mm, then remove all duplicate vertices + # This is done to greatly speed up further convex hull calculations as the convex hull + # becomes much less complex when dealing with highly detailed models. + vertex_data = numpy.round(vertex_data, 1) + + vertex_data = vertex_data[:, [0, 2]] # Drop the Y components to project to 2D. + + # Grab the set of unique points. + # + # This basically finds the unique rows in the array by treating them as opaque groups of bytes + # which are as long as the 2 float64s in each row, and giving this view to numpy.unique() to munch. + # See http://stackoverflow.com/questions/16970982/find-unique-rows-in-numpy-array + vertex_byte_view = numpy.ascontiguousarray(vertex_data).view( + numpy.dtype((numpy.void, vertex_data.dtype.itemsize * vertex_data.shape[1]))) + _, idx = numpy.unique(vertex_byte_view, return_index=True) + vertex_data = vertex_data[idx] # Select the unique rows by index. + + hull = Polygon(vertex_data) + + if len(vertex_data) >= 3: + convex_hull = hull.getConvexHull() + offset_hull = self._offsetHull(convex_hull) + # Store the result in the cache self._2d_convex_hull_mesh = mesh self._2d_convex_hull_mesh_world_transform = world_transform @@ -338,7 +353,7 @@ class ConvexHullDecorator(SceneNodeDecorator): ## Private convenience function to get a setting from the correct extruder (as defined by limit_to_extruder property). def _getSettingProperty(self, setting_key: str, prop: str = "value") -> Any: - if not self._global_stack: + if self._global_stack is None or self._node is None: return None per_mesh_stack = self._node.callDecoration("getStack") if per_mesh_stack: @@ -358,7 +373,7 @@ class ConvexHullDecorator(SceneNodeDecorator): return self._global_stack.getProperty(setting_key, prop) ## Returns True if node is a descendant or the same as the root node. - def __isDescendant(self, root: "SceneNode", node: "SceneNode") -> bool: + def __isDescendant(self, root: "SceneNode", node: Optional["SceneNode"]) -> bool: if node is None: return False if root is node: diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index e1a1495dac..3cfca1a944 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -28,10 +28,10 @@ if TYPE_CHECKING: from cura.Machines.MaterialNode import MaterialNode from cura.Machines.QualityChangesGroup import QualityChangesGroup from UM.PluginRegistry import PluginRegistry - from UM.Settings.ContainerRegistry import ContainerRegistry from cura.Settings.MachineManager import MachineManager from cura.Machines.MaterialManager import MaterialManager from cura.Machines.QualityManager import QualityManager + from cura.Settings.CuraContainerRegistry import CuraContainerRegistry catalog = i18nCatalog("cura") @@ -52,7 +52,7 @@ class ContainerManager(QObject): self._application = application # type: CuraApplication self._plugin_registry = self._application.getPluginRegistry() # type: PluginRegistry - self._container_registry = self._application.getContainerRegistry() # type: ContainerRegistry + self._container_registry = self._application.getContainerRegistry() # type: CuraContainerRegistry self._machine_manager = self._application.getMachineManager() # type: MachineManager self._material_manager = self._application.getMaterialManager() # type: MaterialManager self._quality_manager = self._application.getQualityManager() # type: QualityManager @@ -391,7 +391,8 @@ class ContainerManager(QObject): continue mime_type = self._container_registry.getMimeTypeForContainer(container_type) - + if mime_type is None: + continue entry = { "type": serialize_type, "mime": mime_type, diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 0059b7aad2..063f894d23 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1148,7 +1148,7 @@ class MachineManager(QObject): self._fixQualityChangesGroupToNotSupported(quality_changes_group) quality_changes_container = self._empty_quality_changes_container - quality_container = self._empty_quality_container + quality_container = self._empty_quality_container # type: Optional[InstanceContainer] if quality_changes_group.node_for_global and quality_changes_group.node_for_global.getContainer(): quality_changes_container = cast(InstanceContainer, quality_changes_group.node_for_global.getContainer()) if quality_group is not None and quality_group.node_for_global and quality_group.node_for_global.getContainer(): diff --git a/plugins/SimulationView/SimulationView.py b/plugins/SimulationView/SimulationView.py index 8d739654d4..edf950e55a 100644 --- a/plugins/SimulationView/SimulationView.py +++ b/plugins/SimulationView/SimulationView.py @@ -21,6 +21,7 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.Selection import Selection from UM.Signal import Signal +from UM.View.CompositePass import CompositePass from UM.View.GL.OpenGL import OpenGL from UM.View.GL.OpenGLContext import OpenGLContext @@ -36,7 +37,7 @@ from .SimulationViewProxy import SimulationViewProxy import numpy import os.path -from typing import Optional, TYPE_CHECKING, List +from typing import Optional, TYPE_CHECKING, List, cast if TYPE_CHECKING: from UM.Scene.SceneNode import SceneNode @@ -64,7 +65,7 @@ class SimulationView(View): self._minimum_layer_num = 0 self._current_layer_mesh = None self._current_layer_jumps = None - self._top_layers_job = None + self._top_layers_job = None # type: Optional["_CreateTopLayersJob"] self._activity = False self._old_max_layers = 0 @@ -78,10 +79,10 @@ class SimulationView(View): self._ghost_shader = None # type: Optional["ShaderProgram"] self._layer_pass = None # type: Optional[SimulationPass] - self._composite_pass = None # type: Optional[RenderPass] - self._old_layer_bindings = None + self._composite_pass = None # type: Optional[CompositePass] + self._old_layer_bindings = None # type: Optional[List[str]] self._simulationview_composite_shader = None # type: Optional["ShaderProgram"] - self._old_composite_shader = None + self._old_composite_shader = None # type: Optional["ShaderProgram"] self._global_container_stack = None # type: Optional[ContainerStack] self._proxy = SimulationViewProxy() @@ -204,9 +205,11 @@ class SimulationView(View): if not self._ghost_shader: self._ghost_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "color.shader")) - self._ghost_shader.setUniformValue("u_color", Color(*Application.getInstance().getTheme().getColor("layerview_ghost").getRgb())) + theme = CuraApplication.getInstance().getTheme() + if theme is not None: + self._ghost_shader.setUniformValue("u_color", Color(*theme.getColor("layerview_ghost").getRgb())) - for node in DepthFirstIterator(scene.getRoot()): + for node in DepthFirstIterator(scene.getRoot()): # type: ignore # We do not want to render ConvexHullNode as it conflicts with the bottom layers. # However, it is somewhat relevant when the node is selected, so do render it then. if type(node) is ConvexHullNode and not Selection.isSelected(node.getWatchedNode()): @@ -347,7 +350,7 @@ class SimulationView(View): self._old_max_layers = self._max_layers ## Recalculate num max layers new_max_layers = 0 - for node in DepthFirstIterator(scene.getRoot()): + for node in DepthFirstIterator(scene.getRoot()): # type: ignore layer_data = node.callDecoration("getLayerData") if not layer_data: continue @@ -398,7 +401,7 @@ class SimulationView(View): def calculateMaxPathsOnLayer(self, layer_num: int) -> None: # Update the currentPath scene = self.getController().getScene() - for node in DepthFirstIterator(scene.getRoot()): + for node in DepthFirstIterator(scene.getRoot()): # type: ignore layer_data = node.callDecoration("getLayerData") if not layer_data: continue @@ -474,15 +477,17 @@ class SimulationView(View): self._onGlobalStackChanged() if not self._simulationview_composite_shader: - self._simulationview_composite_shader = OpenGL.getInstance().createShaderProgram(os.path.join(PluginRegistry.getInstance().getPluginPath("SimulationView"), "simulationview_composite.shader")) - theme = Application.getInstance().getTheme() - self._simulationview_composite_shader.setUniformValue("u_background_color", Color(*theme.getColor("viewport_background").getRgb())) - self._simulationview_composite_shader.setUniformValue("u_outline_color", Color(*theme.getColor("model_selection_outline").getRgb())) + plugin_path = cast(str, PluginRegistry.getInstance().getPluginPath("SimulationView")) + self._simulationview_composite_shader = OpenGL.getInstance().createShaderProgram(os.path.join(plugin_path, "simulationview_composite.shader")) + theme = CuraApplication.getInstance().getTheme() + if theme is not None: + self._simulationview_composite_shader.setUniformValue("u_background_color", Color(*theme.getColor("viewport_background").getRgb())) + self._simulationview_composite_shader.setUniformValue("u_outline_color", Color(*theme.getColor("model_selection_outline").getRgb())) if not self._composite_pass: - self._composite_pass = self.getRenderer().getRenderPass("composite") + self._composite_pass = cast(CompositePass, self.getRenderer().getRenderPass("composite")) - self._old_layer_bindings = self._composite_pass.getLayerBindings()[:] # make a copy so we can restore to it later + self._old_layer_bindings = self._composite_pass.getLayerBindings()[:] # make a copy so we can restore to it later self._composite_pass.getLayerBindings().append("simulationview") self._old_composite_shader = self._composite_pass.getCompositeShader() self._composite_pass.setCompositeShader(self._simulationview_composite_shader) @@ -496,8 +501,8 @@ class SimulationView(View): self._nozzle_node.setParent(None) self.getRenderer().removeRenderPass(self._layer_pass) if self._composite_pass: - self._composite_pass.setLayerBindings(self._old_layer_bindings) - self._composite_pass.setCompositeShader(self._old_composite_shader) + self._composite_pass.setLayerBindings(cast(List[str], self._old_layer_bindings)) + self._composite_pass.setCompositeShader(cast(ShaderProgram, self._old_composite_shader)) return False @@ -606,7 +611,7 @@ class _CreateTopLayersJob(Job): def run(self) -> None: layer_data = None - for node in DepthFirstIterator(self._scene.getRoot()): + for node in DepthFirstIterator(self._scene.getRoot()): # type: ignore layer_data = node.callDecoration("getLayerData") if layer_data: break From 9bd4ab2faa1065c91d87b33cf9cd90bc74301975 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Fri, 28 Sep 2018 10:46:14 +0200 Subject: [PATCH 096/423] Added unittest for PrintInformation class --- cura/PrintInformation.py | 12 ++-- tests/TestPrintInformation.py | 107 ++++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 5 deletions(-) create mode 100644 tests/TestPrintInformation.py diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 8527da1b8a..85cf6651fa 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -10,7 +10,6 @@ from typing import Dict from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty, pyqtSlot -from UM.i18n import i18nCatalog from UM.Logger import Logger from UM.Qt.Duration import Duration from UM.Scene.SceneNode import SceneNode @@ -52,6 +51,8 @@ class PrintInformation(QObject): super().__init__(parent) self._application = application + self.UNTITLED_JOB_NAME = "Untitled" + self.initializeCuraMessagePrintTimeProperties() self._material_lengths = {} # indexed by build plate number @@ -70,12 +71,13 @@ class PrintInformation(QObject): self._base_name = "" self._abbr_machine = "" self._job_name = "" - self._project_name = "" self._active_build_plate = 0 self._initVariablesWithBuildPlate(self._active_build_plate) self._multi_build_plate_model = self._application.getMultiBuildPlateModel() + ss = self._multi_build_plate_model.maxBuildPlate + self._application.globalContainerStackChanged.connect(self._updateJobName) self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation) self._application.fileLoaded.connect(self.setBaseName) @@ -300,13 +302,13 @@ class PrintInformation(QObject): def _updateJobName(self): if self._base_name == "": - self._job_name = "Untitled" + self._job_name = self.UNTITLED_JOB_NAME self._is_user_specified_job_name = False self.jobNameChanged.emit() return base_name = self._stripAccents(self._base_name) - self._setAbbreviatedMachineName() + self._defineAbbreviatedMachineName() # Only update the job name when it's not user-specified. if not self._is_user_specified_job_name: @@ -382,7 +384,7 @@ class PrintInformation(QObject): ## Created an acronym-like abbreviated machine name from the currently # active machine name. # Called each time the global stack is switched. - def _setAbbreviatedMachineName(self): + def _defineAbbreviatedMachineName(self): global_container_stack = self._application.getGlobalContainerStack() if not global_container_stack: self._abbr_machine = "" diff --git a/tests/TestPrintInformation.py b/tests/TestPrintInformation.py new file mode 100644 index 0000000000..a226a437c6 --- /dev/null +++ b/tests/TestPrintInformation.py @@ -0,0 +1,107 @@ + +from cura import PrintInformation + +from unittest.mock import MagicMock, patch +from UM.Application import Application +from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType + + +def getPrintInformation(printer_name) -> PrintInformation: + + mock_application = MagicMock() + + global_container_stack = MagicMock() + global_container_stack.definition.getName = MagicMock(return_value=printer_name) + mock_application.getGlobalContainerStack = MagicMock(return_value=global_container_stack) + + multiBuildPlateModel = MagicMock() + multiBuildPlateModel.maxBuildPlate = 0 + mock_application.getMultiBuildPlateModel = MagicMock(return_value=multiBuildPlateModel) + + Application.getInstance = MagicMock(return_type=mock_application) + + with patch("json.loads", lambda x: {}): + print_information = PrintInformation.PrintInformation(mock_application) + + return print_information + +def setup_module(): + MimeTypeDatabase.addMimeType( + MimeType( + name="application/vnd.ms-package.3dmanufacturing-3dmodel+xml", + comment="3MF", + suffixes=["3mf"] + ) + ) + + MimeTypeDatabase.addMimeType( + MimeType( + name="application/x-cura-gcode-file", + comment="Cura GCode File", + suffixes=["gcode"] + ) + ) + + + +def test_setProjectName(): + + print_information = getPrintInformation("ultimaker") + + # Test simple name + project_name = ["HelloWorld",".3mf"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert "UM_" + project_name[0] == print_information._job_name + + # Test the name with one dot + project_name = ["Hello.World",".3mf"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert "UM_" + project_name[0] == print_information._job_name + + # Test the name with two dot + project_name = ["Hello.World.World",".3mf"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert "UM_" + project_name[0] == print_information._job_name + + # Test the name with dot at the beginning + project_name = [".Hello.World",".3mf"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert "UM_" + project_name[0] == print_information._job_name + + # Test the name with underline + project_name = ["Hello_World",".3mf"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert "UM_" + project_name[0] == print_information._job_name + + # Test gcode extension + project_name = ["Hello_World",".gcode"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert "UM_" + project_name[0] == print_information._job_name + + # Test empty project name + project_name = ["",""] + print_information.setProjectName(project_name[0] + project_name[1]) + assert print_information.UNTITLED_JOB_NAME == print_information._job_name + + # Test wrong file extension + project_name = ["Hello_World",".test"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert "UM_" + project_name[0] != print_information._job_name + +def test_setJobName(): + + print_information = getPrintInformation("ultimaker") + + print_information._abbr_machine = "UM" + print_information.setJobName("UM_HelloWorld", is_user_specified_job_name=False) + + +def test_defineAbbreviatedMachineName(): + printer_name = "Test" + + print_information = getPrintInformation(printer_name) + + # Test not ultimaker printer, name suffix should have first letter from the printer name + project_name = ["HelloWorld",".3mf"] + print_information.setProjectName(project_name[0] + project_name[1]) + assert printer_name[0] + "_" + project_name[0] == print_information._job_name \ No newline at end of file From 9a98341bda96681388aefe2d2728fd7f1328c4e5 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 11:38:42 +0200 Subject: [PATCH 097/423] Fix code-style and typing --- cura/Settings/MachineManager.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 6fd945fc31..911022b6ac 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -4,13 +4,13 @@ import collections import time from typing import Any, Callable, List, Dict, TYPE_CHECKING, Optional, cast -import platform from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.Interfaces import ContainerInterface from UM.Signal import Signal +from UM.Platform import Platform from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal, QTimer from UM.FlameProfiler import pyqtSlot @@ -1543,17 +1543,16 @@ class MachineManager(QObject): ## Get default firmware file name if one is specified in the firmware @pyqtSlot(result = str) - def getDefaultFirmwareName(self): + def getDefaultFirmwareName(self) -> str: # Check if there is a valid global container stack if not self._global_container_stack: return "" # The bottom of the containerstack is the machine definition - machine_id = self._global_container_stack.getBottom().id machine_has_heated_bed = self._global_container_stack.getProperty("machine_heated_bed", "value") baudrate = 250000 - if platform.system() == "Linux": + if Platform.isLinux(): # Linux prefers a baudrate of 115200 here because older versions of # pySerial did not support a baudrate of 250000 baudrate = 115200 @@ -1570,5 +1569,5 @@ class MachineManager(QObject): Logger.log("w", "Firmware file %s not found.", hex_file) return "" else: - Logger.log("w", "There is no firmware for machine %s.", machine_id) + Logger.log("w", "There is no firmware for machine %s.", self._global_container_stack.getBottom().id) return "" From bc52830c8902f14a53bd40fa009856e545876436 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 11:49:00 +0200 Subject: [PATCH 098/423] Move getDefaultFirmwareName() into GlobalStack --- cura/Settings/GlobalStack.py | 29 ++++++++++++++++- cura/Settings/MachineManager.py | 32 ------------------- .../UpgradeFirmwareMachineAction.qml | 2 +- 3 files changed, 29 insertions(+), 34 deletions(-) diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py index 517b45eb98..e3ae8c2deb 100755 --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -4,7 +4,7 @@ from collections import defaultdict import threading from typing import Any, Dict, Optional, Set, TYPE_CHECKING -from PyQt5.QtCore import pyqtProperty +from PyQt5.QtCore import pyqtProperty, pyqtSlot from UM.Decorators import override from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase @@ -13,6 +13,8 @@ from UM.Settings.SettingInstance import InstanceState from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.Interfaces import PropertyEvaluationContext from UM.Logger import Logger +from UM.Resources import Resources +from UM.Platform import Platform from UM.Util import parseBool import cura.CuraApplication @@ -200,6 +202,31 @@ class GlobalStack(CuraContainerStack): def getHasMachineQuality(self) -> bool: return parseBool(self.getMetaDataEntry("has_machine_quality", False)) + ## Get default firmware file name if one is specified in the firmware + @pyqtSlot(result = str) + def getDefaultFirmwareName(self) -> str: + machine_has_heated_bed = self.getProperty("machine_heated_bed", "value") + + baudrate = 250000 + if Platform.isLinux(): + # Linux prefers a baudrate of 115200 here because older versions of + # pySerial did not support a baudrate of 250000 + baudrate = 115200 + + # If a firmware file is available, it should be specified in the definition for the printer + hex_file = self.getMetaDataEntry("firmware_file", None) + if machine_has_heated_bed: + hex_file = self.getMetaDataEntry("firmware_hbk_file", hex_file) + + if hex_file: + try: + return Resources.getPath(cura.CuraApplication.CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) + except FileNotFoundError: + Logger.log("w", "Firmware file %s not found.", hex_file) + return "" + else: + Logger.log("w", "There is no firmware for machine %s.", self.getBottom().id) + return "" ## private: global_stack_mime = MimeType( diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 911022b6ac..0abb1a5dc2 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -10,7 +10,6 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.Interfaces import ContainerInterface from UM.Signal import Signal -from UM.Platform import Platform from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal, QTimer from UM.FlameProfiler import pyqtSlot @@ -1540,34 +1539,3 @@ class MachineManager(QObject): with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): self.updateMaterialWithVariant(None) self._updateQualityWithMaterial() - - ## Get default firmware file name if one is specified in the firmware - @pyqtSlot(result = str) - def getDefaultFirmwareName(self) -> str: - # Check if there is a valid global container stack - if not self._global_container_stack: - return "" - - # The bottom of the containerstack is the machine definition - machine_has_heated_bed = self._global_container_stack.getProperty("machine_heated_bed", "value") - - baudrate = 250000 - if Platform.isLinux(): - # Linux prefers a baudrate of 115200 here because older versions of - # pySerial did not support a baudrate of 250000 - baudrate = 115200 - - # If a firmware file is available, it should be specified in the definition for the printer - hex_file = self._global_container_stack.getMetaDataEntry("firmware_file", None) - if machine_has_heated_bed: - hex_file = self._global_container_stack.getMetaDataEntry("firmware_hbk_file", hex_file) - - if hex_file: - try: - return Resources.getPath(cura.CuraApplication.CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) - except FileNotFoundError: - Logger.log("w", "Firmware file %s not found.", hex_file) - return "" - else: - Logger.log("w", "There is no firmware for machine %s.", self._global_container_stack.getBottom().id) - return "" diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index 0d12f72a0a..469ada7afb 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -51,7 +51,7 @@ Cura.MachineAction anchors.horizontalCenter: parent.horizontalCenter width: childrenRect.width spacing: UM.Theme.getSize("default_margin").width - property var firmwareName: Cura.MachineManager.getDefaultFirmwareName() + property var firmwareName: Cura.MachineManager.activeMachine.getDefaultFirmwareName() Button { id: autoUpgradeButton From a12c0e8d9eadb1bdf0d8609f1b1ffcfb09e706cc Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 11:51:33 +0200 Subject: [PATCH 099/423] Remove superfluous import --- cura/Settings/MachineManager.py | 1 - 1 file changed, 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 0abb1a5dc2..0059b7aad2 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -16,7 +16,6 @@ from UM.FlameProfiler import pyqtSlot from UM import Util from UM.Logger import Logger from UM.Message import Message -from UM.Resources import Resources from UM.Settings.SettingFunction import SettingFunction from UM.Signal import postponeSignals, CompressTechnique From dd150bbab979521c621f37b69b30b367229bedca Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 12:06:57 +0200 Subject: [PATCH 100/423] Resolve circular imports for CuraAPI --- cura/API/Account.py | 18 ++++++++++----- cura/API/Backups.py | 10 ++++++--- cura/API/Interface/Settings.py | 13 +++++++---- cura/API/Interface/__init__.py | 11 +++++++-- cura/API/__init__.py | 35 +++++++++++++++++++++++------ cura/Backups/BackupsManager.py | 10 +++++---- cura/CuraApplication.py | 11 ++++----- cura/OAuth2/AuthorizationService.py | 4 +++- 8 files changed, 81 insertions(+), 31 deletions(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index 93738a78e9..bc1ce8c2b9 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -1,15 +1,18 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Optional, Dict +from typing import Optional, Dict, TYPE_CHECKING from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, pyqtProperty +from UM.i18n import i18nCatalog from UM.Message import Message + from cura.OAuth2.AuthorizationService import AuthorizationService from cura.OAuth2.Models import OAuth2Settings -from UM.Application import Application -from UM.i18n import i18nCatalog +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + i18n_catalog = i18nCatalog("cura") @@ -26,8 +29,9 @@ class Account(QObject): # Signal emitted when user logged in or out. loginStateChanged = pyqtSignal(bool) - def __init__(self, parent = None) -> None: + def __init__(self, application: "CuraApplication", parent = None) -> None: super().__init__(parent) + self._application = application self._error_message = None # type: Optional[Message] self._logged_in = False @@ -47,7 +51,11 @@ class Account(QObject): AUTH_FAILED_REDIRECT="{}/app/auth-error".format(self._oauth_root) ) - self._authorization_service = AuthorizationService(Application.getInstance().getPreferences(), self._oauth_settings) + self._authorization_service = AuthorizationService(self._oauth_settings) + + def initialize(self) -> None: + self._authorization_service.initialize(self._application.getPreferences()) + self._authorization_service.onAuthStateChanged.connect(self._onLoginStateChanged) self._authorization_service.onAuthenticationError.connect(self._onLoginStateChanged) self._authorization_service.loadAuthDataFromPreferences() diff --git a/cura/API/Backups.py b/cura/API/Backups.py index f31933c844..8e5cd7b83a 100644 --- a/cura/API/Backups.py +++ b/cura/API/Backups.py @@ -1,9 +1,12 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Tuple, Optional +from typing import Tuple, Optional, TYPE_CHECKING from cura.Backups.BackupsManager import BackupsManager +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + ## The back-ups API provides a version-proof bridge between Cura's # BackupManager and plug-ins that hook into it. @@ -13,9 +16,10 @@ from cura.Backups.BackupsManager import BackupsManager # api = CuraAPI() # api.backups.createBackup() # api.backups.restoreBackup(my_zip_file, {"cura_release": "3.1"})`` - class Backups: - manager = BackupsManager() # Re-used instance of the backups manager. + + def __init__(self, application: "CuraApplication") -> None: + self.manager = BackupsManager(application) ## Create a new back-up using the BackupsManager. # \return Tuple containing a ZIP file with the back-up data and a dict diff --git a/cura/API/Interface/Settings.py b/cura/API/Interface/Settings.py index 2889db7022..371c40c14c 100644 --- a/cura/API/Interface/Settings.py +++ b/cura/API/Interface/Settings.py @@ -1,7 +1,11 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from cura.CuraApplication import CuraApplication +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + ## The Interface.Settings API provides a version-proof bridge between Cura's # (currently) sidebar UI and plug-ins that hook into it. @@ -19,8 +23,9 @@ from cura.CuraApplication import CuraApplication # api.interface.settings.addContextMenuItem(data)`` class Settings: - # Re-used instance of Cura: - application = CuraApplication.getInstance() # type: CuraApplication + + def __init__(self, application: "CuraApplication") -> None: + self.application = application ## Add items to the sidebar context menu. # \param menu_item dict containing the menu item to add. @@ -30,4 +35,4 @@ class Settings: ## Get all custom items currently added to the sidebar context menu. # \return List containing all custom context menu items. def getContextMenuItems(self) -> list: - return self.application.getSidebarCustomMenuItems() \ No newline at end of file + return self.application.getSidebarCustomMenuItems() diff --git a/cura/API/Interface/__init__.py b/cura/API/Interface/__init__.py index b38118949b..742254a1a4 100644 --- a/cura/API/Interface/__init__.py +++ b/cura/API/Interface/__init__.py @@ -1,9 +1,15 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from typing import TYPE_CHECKING + from UM.PluginRegistry import PluginRegistry from cura.API.Interface.Settings import Settings +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + + ## The Interface class serves as a common root for the specific API # methods for each interface element. # @@ -20,5 +26,6 @@ class Interface: # For now we use the same API version to be consistent. VERSION = PluginRegistry.APIVersion - # API methods specific to the settings portion of the UI - settings = Settings() + def __init__(self, application: "CuraApplication") -> None: + # API methods specific to the settings portion of the UI + self.settings = Settings(application) diff --git a/cura/API/__init__.py b/cura/API/__init__.py index 54f5c1f8b0..e9aba86a41 100644 --- a/cura/API/__init__.py +++ b/cura/API/__init__.py @@ -1,5 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from typing import Optional, TYPE_CHECKING + from PyQt5.QtCore import QObject, pyqtProperty from UM.PluginRegistry import PluginRegistry @@ -7,6 +9,9 @@ from cura.API.Backups import Backups from cura.API.Interface import Interface from cura.API.Account import Account +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + ## The official Cura API that plug-ins can use to interact with Cura. # @@ -19,14 +24,30 @@ class CuraAPI(QObject): # For now we use the same API version to be consistent. VERSION = PluginRegistry.APIVersion - # Backups API - backups = Backups() + def __init__(self, application: "CuraApplication") -> None: + super().__init__(parent = application) + self._application = application - # Interface API - interface = Interface() + # Accounts API + self._account = Account(self._application) - _account = Account() + # Backups API + self._backups = Backups(self._application) + + # Interface API + self._interface = Interface(self._application) + + def initialize(self) -> None: + self._account.initialize() @pyqtProperty(QObject, constant = True) - def account(self) -> Account: - return CuraAPI._account + def account(self) -> "Account": + return self._account + + @property + def backups(self) -> "Backups": + return self._backups + + @property + def interface(self) -> "Interface": + return self._interface \ No newline at end of file diff --git a/cura/Backups/BackupsManager.py b/cura/Backups/BackupsManager.py index 67e2a222f1..a4d8528960 100644 --- a/cura/Backups/BackupsManager.py +++ b/cura/Backups/BackupsManager.py @@ -1,11 +1,13 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Dict, Optional, Tuple +from typing import Dict, Optional, Tuple, TYPE_CHECKING from UM.Logger import Logger from cura.Backups.Backup import Backup -from cura.CuraApplication import CuraApplication + +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication ## The BackupsManager is responsible for managing the creating and restoring of @@ -13,8 +15,8 @@ from cura.CuraApplication import CuraApplication # # Back-ups themselves are represented in a different class. class BackupsManager: - def __init__(self): - self._application = CuraApplication.getInstance() + def __init__(self, application: "CuraApplication") -> None: + self._application = application ## Get a back-up of the current configuration. # \return A tuple containing a ZipFile (the actual back-up) and a dict diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 04c9ea88db..9d6a2361a1 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -44,6 +44,7 @@ from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation from UM.Operations.GroupedOperation import GroupedOperation from UM.Operations.SetTransformOperation import SetTransformOperation +from cura.API import CuraAPI from cura.Arranging.Arrange import Arrange from cura.Arranging.ArrangeObjectsJob import ArrangeObjectsJob from cura.Arranging.ArrangeObjectsAllBuildPlatesJob import ArrangeObjectsAllBuildPlatesJob @@ -204,7 +205,7 @@ class CuraApplication(QtApplication): self._quality_profile_drop_down_menu_model = None self._custom_quality_profile_drop_down_menu_model = None - self._cura_API = None + self._cura_API = CuraAPI(self) self._physics = None self._volume = None @@ -713,6 +714,9 @@ class CuraApplication(QtApplication): default_visibility_profile = self._setting_visibility_presets_model.getItem(0) self.getPreferences().setDefault("general/visible_settings", ";".join(default_visibility_profile["settings"])) + # Initialize Cura API + self._cura_API.initialize() + # Detect in which mode to run and execute that mode if self._is_headless: self.runWithoutGUI() @@ -900,10 +904,7 @@ class CuraApplication(QtApplication): self._custom_quality_profile_drop_down_menu_model = CustomQualityProfilesDropDownMenuModel(self) return self._custom_quality_profile_drop_down_menu_model - def getCuraAPI(self, *args, **kwargs): - if self._cura_API is None: - from cura.API import CuraAPI - self._cura_API = CuraAPI() + def getCuraAPI(self, *args, **kwargs) -> "CuraAPI": return self._cura_API ## Registers objects for the QML engine to use. diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 16f525625e..df068cc43e 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -29,7 +29,7 @@ class AuthorizationService: # Emit signal when authentication failed. onAuthenticationError = Signal() - def __init__(self, preferences: Optional["Preferences"], settings: "OAuth2Settings") -> None: + def __init__(self, settings: "OAuth2Settings", preferences: Optional["Preferences"] = None) -> None: self._settings = settings self._auth_helpers = AuthorizationHelpers(settings) self._auth_url = "{}/authorize".format(self._settings.OAUTH_SERVER_URL) @@ -38,6 +38,8 @@ class AuthorizationService: self._preferences = preferences self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True) + def initialize(self, preferences: Optional["Preferences"] = None) -> None: + self._preferences = preferences if self._preferences: self._preferences.addPreference(self._settings.AUTH_DATA_PREFERENCE_KEY, "{}") From b5c893c08e34b0398ba4ab433d0f49ac07467d9d Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 28 Sep 2018 12:15:33 +0200 Subject: [PATCH 101/423] Rework printer cards Contributes to CL-1051 --- .../resources/qml/ClusterControlItem.qml | 745 +----------------- .../resources/qml/PrintJobInfoBlock.qml | 2 +- .../resources/qml/PrinterCard.qml | 652 +++++++++++++++ .../resources/qml/PrinterCardProgressBar.qml | 119 +++ 4 files changed, 807 insertions(+), 711 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 774ab75f0d..bfde2ea7cd 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -66,12 +66,38 @@ Component onExited: managePrintersLabel.font.underline = false } + // Skeleton loading + Column + { + id: dummies + anchors + { + top: printingLabel.bottom + topMargin: UM.Theme.getSize("default_margin").height + left: parent.left + leftMargin: UM.Theme.getSize("wide_margin").width + right: parent.right + rightMargin: UM.Theme.getSize("wide_margin").width + } + spacing: UM.Theme.getSize("default_margin").height - 10 + + PrinterCard + { + printer: null + } + PrinterCard + { + printer: null + } + } + + // Actual content ScrollView { id: printerScrollView anchors { - top: printingLabel.bottom + top: dummies.bottom left: parent.left right: parent.right topMargin: UM.Theme.getSize("default_margin").height @@ -83,720 +109,19 @@ Component ListView { - id: printer_list - property var current_index: -1 + id: printerList + property var currentIndex: -1 anchors { - top: parent.top - bottom: parent.bottom - left: parent.left - right: parent.right - leftMargin: 2 * UM.Theme.getSize("default_margin").width - rightMargin: 2 * UM.Theme.getSize("default_margin").width + fill: parent + leftMargin: UM.Theme.getSize("wide_margin").width + rightMargin: UM.Theme.getSize("wide_margin").width } - spacing: UM.Theme.getSize("default_margin").height -10 + spacing: UM.Theme.getSize("default_margin").height - 10 model: OutputDevice.printers - - delegate: Item + delegate: PrinterCard { - width: parent.width - height: base.height + 2 * base.shadowRadius // To ensure that the shadow doesn't get cut off. - Rectangle - { - width: parent.width - 2 * shadowRadius - height: childrenRect.height + UM.Theme.getSize("default_margin").height - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - color: - { - if(modelData.state == "disabled") - { - return UM.Theme.getColor("monitor_tab_background_inactive") - } - else - { - return UM.Theme.getColor("monitor_tab_background_active") - } - } - id: base - property var shadowRadius: 5 * screenScaleFactor - property var collapsed: true - - layer.enabled: true - layer.effect: DropShadow - { - radius: 5 * screenScaleFactor - verticalOffset: 2 - color: "#3F000000" // 25% shadow - } - - Connections - { - target: printer_list - onCurrent_indexChanged: { base.collapsed = printer_list.current_index != model.index } - } - - Item - { - id: printerInfo - height: machineIcon.height - anchors - { - top: parent.top - left: parent.left - right: parent.right - margins: UM.Theme.getSize("default_margin").width - } - - MouseArea - { - anchors.fill: parent - onClicked: - { - if (base.collapsed) { - printer_list.current_index = model.index - } - else - { - printer_list.current_index = -1 - } - } - } - - Item - { - id: machineIcon - // Yeah, this is hardcoded now, but I can't think of a good way to fix this. - // The UI is going to get another update soon, so it's probably not worth the effort... - width: 58 - height: 58 - anchors.top: parent.top - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.left: parent.left - - UM.RecolorImage - { - anchors.centerIn: parent - source: - { - switch(modelData.type) - { - case "Ultimaker 3": - return "../svg/UM3-icon.svg" - case "Ultimaker 3 Extended": - return "../svg/UM3x-icon.svg" - case "Ultimaker S5": - return "../svg/UMs5-icon.svg" - } - } - width: sourceSize.width - height: sourceSize.height - - color: - { - if(modelData.state == "disabled") - { - return UM.Theme.getColor("monitor_tab_text_inactive") - } - - if(modelData.activePrintJob != undefined) - { - return UM.Theme.getColor("primary") - } - - return UM.Theme.getColor("monitor_tab_text_inactive") - } - } - } - Item - { - height: childrenRect.height - anchors - { - right: collapseIcon.left - rightMargin: UM.Theme.getSize("default_margin").width - left: machineIcon.right - leftMargin: UM.Theme.getSize("default_margin").width - - verticalCenter: machineIcon.verticalCenter - } - - Label - { - id: machineNameLabel - text: modelData.name - width: parent.width - elide: Text.ElideRight - font: UM.Theme.getFont("default_bold") - } - - Label - { - id: activeJobLabel - text: - { - if (modelData.state == "disabled") - { - return catalog.i18nc("@label", "Not available") - } else if (modelData.state == "unreachable") - { - return catalog.i18nc("@label", "Unreachable") - } - if (modelData.activePrintJob != null) - { - return modelData.activePrintJob.name - } - return catalog.i18nc("@label", "Available") - } - anchors.top: machineNameLabel.bottom - width: parent.width - elide: Text.ElideRight - font: UM.Theme.getFont("default") - color: UM.Theme.getColor("monitor_tab_text_inactive") - } - } - - UM.RecolorImage - { - id: collapseIcon - width: 15 - height: 15 - sourceSize.width: width - sourceSize.height: height - source: base.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom") - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - color: "black" - } - } - - Item - { - id: detailedInfo - property var printJob: modelData.activePrintJob - visible: height == childrenRect.height - anchors.top: printerInfo.bottom - width: parent.width - height: !base.collapsed ? childrenRect.height : 0 - opacity: visible ? 1 : 0 - Behavior on height { NumberAnimation { duration: 100 } } - Behavior on opacity { NumberAnimation { duration: 100 } } - Rectangle - { - id: topSpacer - color: - { - if(modelData.state == "disabled") - { - return UM.Theme.getColor("monitor_lining_inactive") - } - return UM.Theme.getColor("viewport_background") - } - // UM.Theme.getColor("viewport_background") - height: 1 - anchors - { - left: parent.left - right: parent.right - margins: UM.Theme.getSize("default_margin").width - top: parent.top - topMargin: UM.Theme.getSize("default_margin").width - } - } - PrinterFamilyPill - { - id: printerFamilyPill - color: - { - if(modelData.state == "disabled") - { - return "transparent" - } - return UM.Theme.getColor("viewport_background") - } - anchors.top: topSpacer.bottom - anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - text: modelData.type - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("default_margin").width - padding: 3 - } - Row - { - id: extrudersInfo - anchors.top: printerFamilyPill.bottom - anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width - anchors.right: parent.right - anchors.rightMargin: 2 * UM.Theme.getSize("default_margin").width - height: childrenRect.height - spacing: UM.Theme.getSize("default_margin").width - - PrintCoreConfiguration - { - id: leftExtruderInfo - width: Math.round(parent.width / 2) - printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[0] - } - - PrintCoreConfiguration - { - id: rightExtruderInfo - width: Math.round(parent.width / 2) - printCoreConfiguration: modelData.printerConfiguration.extruderConfigurations[1] - } - } - - Rectangle - { - id: jobSpacer - color: UM.Theme.getColor("viewport_background") - height: 2 - anchors - { - left: parent.left - right: parent.right - margins: UM.Theme.getSize("default_margin").width - top: extrudersInfo.bottom - topMargin: 2 * UM.Theme.getSize("default_margin").height - } - } - - Item - { - id: jobInfo - property var showJobInfo: modelData.activePrintJob != null && modelData.activePrintJob.state != "queued" - - anchors.top: jobSpacer.bottom - anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - anchors.left: parent.left - anchors.right: parent.right - anchors.margins: UM.Theme.getSize("default_margin").width - anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width - height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height: 0 - visible: showJobInfo - Label - { - id: printJobName - text: modelData.activePrintJob != null ? modelData.activePrintJob.name : "" - font: UM.Theme.getFont("default_bold") - anchors.left: parent.left - anchors.right: contextButton.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - elide: Text.ElideRight - } - Label - { - id: ownerName - anchors.top: printJobName.bottom - text: modelData.activePrintJob != null ? modelData.activePrintJob.owner : "" - font: UM.Theme.getFont("default") - opacity: 0.6 - width: parent.width - elide: Text.ElideRight - } - - function switchPopupState() - { - popup.visible ? popup.close() : popup.open() - } - - Controls2.Button - { - id: contextButton - text: "\u22EE" //Unicode; Three stacked points. - width: 35 - height: width - anchors - { - right: parent.right - top: parent.top - } - hoverEnabled: true - - background: Rectangle - { - opacity: contextButton.down || contextButton.hovered ? 1 : 0 - width: contextButton.width - height: contextButton.height - radius: 0.5 * width - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: contextButton.text - color: UM.Theme.getColor("monitor_tab_text_inactive") - font.pixelSize: 25 - verticalAlignment: Text.AlignVCenter - horizontalAlignment: Text.AlignHCenter - } - - onClicked: parent.switchPopupState() - } - - Controls2.Popup - { - // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property - id: popup - clip: true - closePolicy: Popup.CloseOnPressOutside - x: (parent.width - width) + 26 * screenScaleFactor - y: contextButton.height - 5 * screenScaleFactor // Because shadow - width: 182 * screenScaleFactor - height: contentItem.height + 2 * padding - visible: false - padding: 5 * screenScaleFactor // Because shadow - - transformOrigin: Popup.Top - contentItem: Item - { - width: popup.width - height: childrenRect.height + 36 * screenScaleFactor - anchors.topMargin: 10 * screenScaleFactor - anchors.bottomMargin: 10 * screenScaleFactor - Controls2.Button - { - id: pauseButton - text: modelData.activePrintJob != null && modelData.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") - onClicked: - { - if(modelData.activePrintJob.state == "paused") - { - modelData.activePrintJob.setState("print") - } - else if(modelData.activePrintJob.state == "printing") - { - modelData.activePrintJob.setState("pause") - } - popup.close() - } - width: parent.width - enabled: modelData.activePrintJob != null && ["paused", "printing"].indexOf(modelData.activePrintJob.state) >= 0 - visible: enabled - anchors.top: parent.top - anchors.topMargin: 18 * screenScaleFactor - height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor - hoverEnabled: true - background: Rectangle - { - opacity: pauseButton.down || pauseButton.hovered ? 1 : 0 - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: pauseButton.text - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - } - } - - Controls2.Button - { - id: abortButton - text: catalog.i18nc("@label", "Abort") - onClicked: - { - abortConfirmationDialog.visible = true; - popup.close(); - } - width: parent.width - height: 39 * screenScaleFactor - anchors.top: pauseButton.bottom - hoverEnabled: true - enabled: modelData.activePrintJob != null && ["paused", "printing", "pre_print"].indexOf(modelData.activePrintJob.state) >= 0 - background: Rectangle - { - opacity: abortButton.down || abortButton.hovered ? 1 : 0 - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: abortButton.text - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - } - } - - MessageDialog - { - id: abortConfirmationDialog - title: catalog.i18nc("@window:title", "Abort print") - icon: StandardIcon.Warning - text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(modelData.activePrintJob.name) - standardButtons: StandardButton.Yes | StandardButton.No - Component.onCompleted: visible = false - onYes: modelData.activePrintJob.setState("abort") - } - } - - background: Item - { - width: popup.width - height: popup.height - - DropShadow - { - anchors.fill: pointedRectangle - radius: 5 - color: "#3F000000" // 25% shadow - source: pointedRectangle - transparentBorder: true - verticalOffset: 2 - } - - Item - { - id: pointedRectangle - width: parent.width - 10 * screenScaleFactor // Because of the shadow - height: parent.height - 10 * screenScaleFactor // Because of the shadow - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - - Rectangle - { - id: point - height: 14 * screenScaleFactor - width: 14 * screenScaleFactor - color: UM.Theme.getColor("setting_control") - transform: Rotation { angle: 45} - anchors.right: bloop.right - anchors.rightMargin: 24 - y: 1 - } - - Rectangle - { - id: bloop - color: UM.Theme.getColor("setting_control") - width: parent.width - anchors.top: parent.top - anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point - anchors.bottom: parent.bottom - anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow - } - } - } - - exit: Transition - { - // This applies a default NumberAnimation to any changes a state change makes to x or y properties - NumberAnimation { property: "visible"; duration: 75; } - } - enter: Transition - { - // This applies a default NumberAnimation to any changes a state change makes to x or y properties - NumberAnimation { property: "visible"; duration: 75; } - } - - onClosed: visible = false - onOpened: visible = true - } - - Image - { - id: printJobPreview - source: modelData.activePrintJob != null ? modelData.activePrintJob.previewImageUrl : "" - anchors.top: ownerName.bottom - anchors.horizontalCenter: parent.horizontalCenter - width: parent.width / 2 - height: width - opacity: - { - if(modelData.activePrintJob == null) - { - return 1.0 - } - - switch(modelData.activePrintJob.state) - { - case "wait_cleanup": - case "wait_user_action": - case "paused": - return 0.5 - default: - return 1.0 - } - } - - - } - - UM.RecolorImage - { - id: statusImage - anchors.centerIn: printJobPreview - source: - { - if(modelData.activePrintJob == null) - { - return "" - } - switch(modelData.activePrintJob.state) - { - case "paused": - return "../svg/paused-icon.svg" - case "wait_cleanup": - if(modelData.activePrintJob.timeElapsed < modelData.activePrintJob.timeTotal) - { - return "../svg/aborted-icon.svg" - } - return "../svg/approved-icon.svg" - case "wait_user_action": - return "../svg/aborted-icon.svg" - default: - return "" - } - } - visible: source != "" - width: 0.5 * printJobPreview.width - height: 0.5 * printJobPreview.height - sourceSize.width: width - sourceSize.height: height - color: "black" - } - - CameraButton - { - id: showCameraButton - iconSource: "../svg/camera-icon.svg" - anchors - { - left: parent.left - bottom: printJobPreview.bottom - } - } - } - } - - ProgressBar - { - property var progress: - { - if(modelData.activePrintJob == null) - { - return 0 - } - var result = modelData.activePrintJob.timeElapsed / modelData.activePrintJob.timeTotal - if(result > 1.0) - { - result = 1.0 - } - return result - } - - id: jobProgressBar - width: parent.width - value: progress - anchors.top: detailedInfo.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - - visible: modelData.activePrintJob != null && modelData.activePrintJob != undefined - - style: ProgressBarStyle - { - property var remainingTime: - { - if(modelData.activePrintJob == null) - { - return 0 - } - /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining - time from ever being less than 0. Negative durations cause strange behavior such - as displaying "-1h -1m". */ - var activeJob = modelData.activePrintJob - return Math.max(activeJob.timeTotal - activeJob.timeElapsed, 0); - } - property var progressText: - { - if(modelData.activePrintJob == null) - { - return "" - } - switch(modelData.activePrintJob.state) - { - case "wait_cleanup": - if(modelData.activePrintJob.timeTotal > modelData.activePrintJob.timeElapsed) - { - return catalog.i18nc("@label:status", "Aborted") - } - return catalog.i18nc("@label:status", "Finished") - case "pre_print": - case "sent_to_printer": - return catalog.i18nc("@label:status", "Preparing") - case "aborted": - return catalog.i18nc("@label:status", "Aborted") - case "wait_user_action": - return catalog.i18nc("@label:status", "Aborted") - case "pausing": - return catalog.i18nc("@label:status", "Pausing") - case "paused": - return OutputDevice.formatDuration( remainingTime ) - case "resuming": - return catalog.i18nc("@label:status", "Resuming") - case "queued": - return catalog.i18nc("@label:status", "Action required") - default: - return OutputDevice.formatDuration( remainingTime ) - } - } - - background: Rectangle - { - implicitWidth: 100 - implicitHeight: visible ? 24 : 0 - color: UM.Theme.getColor("viewport_background") - } - - progress: Rectangle - { - color: - { - var state = modelData.activePrintJob.state - var inactiveStates = [ - "pausing", - "paused", - "resuming", - "wait_cleanup" - ] - if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) - { - return UM.Theme.getColor("monitor_tab_text_inactive") - } - else - { - return UM.Theme.getColor("primary") - } - } - id: progressItem - function getTextOffset() - { - if(progressItem.width + progressLabel.width + 16 < control.width) - { - return progressItem.width + UM.Theme.getSize("default_margin").width - } - else - { - return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width - } - } - - Label - { - id: progressLabel - anchors.left: parent.left - anchors.leftMargin: getTextOffset() - text: progressText - anchors.verticalCenter: parent.verticalCenter - color: progressItem.width + progressLabel.width < control.width ? "black" : "white" - width: contentWidth - font: UM.Theme.getFont("default") - } - } - } - } - } + printer: modelData } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 89fb8a2391..3e3f962908 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -40,7 +40,7 @@ Item { layer.effect: DropShadow { radius: root.shadowRadius verticalOffset: 2 * screenScaleFactor - color: "#3F000000" // 25% shadow + color: "#3F000000" // 25% shadow } Column { diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml new file mode 100644 index 0000000000..906774d2c2 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -0,0 +1,652 @@ +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import QtQuick.Controls 1.4 as LegacyControls +import UM 1.3 as UM + +Item { + id: root; + + property var shadowRadius: 5; + property var shadowOffset: 2; + property var printer: null; + property var collapsed: true; + + height: childrenRect.height + shadowRadius * 2; // Bubbles upward + width: parent.width; // Bubbles downward + + // The actual card (white block) + Rectangle { + // 5px margin, but shifted 2px vertically because of the shadow + anchors { + topMargin: root.shadowRadius - root.shadowOffset; + bottomMargin: root.shadowRadius + root.shadowOffset; + leftMargin: root.shadowRadius; + rightMargin: root.shadowRadius; + } + color: { + if (printer.state == "disabled") { + return UM.Theme.getColor("monitor_tab_background_inactive"); + } else { + return UM.Theme.getColor("monitor_tab_background_active"); + } + } + height: childrenRect.height; + layer.effect: DropShadow { + radius: root.shadowRadius; + verticalOffset: root.shadowOffset; + color: "#3F000000"; // 25% shadow + } + layer.enabled: true + width: parent.width - 2 * shadowRadius; + + // Main card + Rectangle { + id: mainCard; + anchors.top: parent.top; + color: "pink"; + height: childrenRect.height; + width: parent.width; + + // Machine icon + Item { + id: machineIcon; + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("wide_margin").width; + margins: UM.Theme.getSize("default_margin").width; + top: parent.top; + } + height: 58; + width: 58; + + // Skeleton + Rectangle { + anchors { + fill: parent; + // margins: Math.round(UM.Theme.getSize("default_margin").width / 4); + } + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + visible: !printer; + } + + // Content + UM.RecolorImage { + anchors.centerIn: parent; + color: { + if (printer.state == "disabled") { + return UM.Theme.getColor("monitor_tab_text_inactive"); + } + if (printer.activePrintJob != undefined) { + return UM.Theme.getColor("primary"); + } + return UM.Theme.getColor("monitor_tab_text_inactive"); + } + height: sourceSize.height; + source: { + switch(printer.type) { + case "Ultimaker 3": + return "../svg/UM3-icon.svg"; + case "Ultimaker 3 Extended": + return "../svg/UM3x-icon.svg"; + case "Ultimaker S5": + return "../svg/UMs5-icon.svg"; + } + } + visible: printer; + width: sourceSize.width; + } + } + + // Printer info + Item { + id: printerInfo; + height: childrenRect.height + anchors { + left: machineIcon.right; + leftMargin: UM.Theme.getSize("default_margin").width; + right: collapseIcon.left; + rightMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: machineIcon.verticalCenter; + } + + // Machine name + Item { + id: machineNameLabel; + height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width * 0.3; + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + visible: !printer; + } + + // Actual content + Label { + anchors.fill: parent; + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: printer.name; + visible: printer; + width: parent.width; + } + } + + // Job name + Item { + id: activeJobLabel; + anchors { + top: machineNameLabel.bottom; + topMargin: Math.round(UM.Theme.getSize("default_margin").height / 2); + } + height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width * 0.75; + + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + visible: !printer; + } + + // Actual content + Label { + anchors.fill: parent; + color: UM.Theme.getColor("monitor_tab_text_inactive"); + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + text: { + if (printer.state == "disabled") { + return catalog.i18nc("@label", "Not available"); + } else if (printer.state == "unreachable") { + return catalog.i18nc("@label", "Unreachable"); + } + if (printer.activePrintJob != null) { + return printer.activePrintJob.name; + } + return catalog.i18nc("@label", "Available"); + } + visible: printer; + } + } + } + + // Collapse icon + UM.RecolorImage { + id: collapseIcon; + anchors { + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + color: UM.Theme.getColor("text"); + height: 15; // TODO: Theme! + source: root.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom"); + sourceSize.height: height; + sourceSize.width: width; + visible: printer; + width: 15; // TODO: Theme! + } + + MouseArea { + anchors.fill: parent; + enabled: printer; + onClicked: { + console.log(printerInfo.height) + if (root.collapsed && model) { + printerList.currentIndex = model.index; + } else { + printerList.currentIndex = -1; + } + } + } + + Connections { + target: printerList + onCurrentIndexChanged: { + root.collapsed = printerList.currentIndex != model.index; + } + } + } + + // Detailed card + Rectangle { + width: parent.width; + height: 0; + anchors.top: mainCard.bottom; + anchors.bottom: progressBar.top; + } + + // Progress bar + PrinterCardProgressBar { + id: progressBar; + anchors { + bottom: parent.bottom; + } + visible: printer && printer.activePrintJob != null && printer.activePrintJob != undefined; + width: parent.width; + } + } +} + + + + + + + + + + + + + + + + + + // Item + // { + // id: detailedInfo + // property var printJob: printer.activePrintJob + // visible: height == childrenRect.height + // anchors.top: printerInfo.bottom + // width: parent.width + // height: !root.collapsed ? childrenRect.height : 0 + // opacity: visible ? 1 : 0 + // Behavior on height { NumberAnimation { duration: 100 } } + // Behavior on opacity { NumberAnimation { duration: 100 } } + // Rectangle + // { + // id: topSpacer + // color: + // { + // if(printer.state == "disabled") + // { + // return UM.Theme.getColor("monitor_lining_inactive") + // } + // return UM.Theme.getColor("viewport_background") + // } + // // UM.Theme.getColor("viewport_background") + // height: 1 + // anchors + // { + // left: parent.left + // right: parent.right + // margins: UM.Theme.getSize("default_margin").width + // top: parent.top + // topMargin: UM.Theme.getSize("default_margin").width + // } + // } + // PrinterFamilyPill + // { + // id: printerFamilyPill + // color: + // { + // if(printer.state == "disabled") + // { + // return "transparent" + // } + // return UM.Theme.getColor("viewport_background") + // } + // anchors.top: topSpacer.bottom + // anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height + // text: printer.type + // anchors.left: parent.left + // anchors.leftMargin: UM.Theme.getSize("default_margin").width + // padding: 3 + // } + // Row + // { + // id: extrudersInfo + // anchors.top: printerFamilyPill.bottom + // anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height + // anchors.left: parent.left + // anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width + // anchors.right: parent.right + // anchors.rightMargin: 2 * UM.Theme.getSize("default_margin").width + // height: childrenRect.height + // spacing: UM.Theme.getSize("default_margin").width + + // PrintCoreConfiguration + // { + // id: leftExtruderInfo + // width: Math.round(parent.width / 2) + // printCoreConfiguration: printer.printerConfiguration.extruderConfigurations[0] + // } + + // PrintCoreConfiguration + // { + // id: rightExtruderInfo + // width: Math.round(parent.width / 2) + // printCoreConfiguration: printer.printerConfiguration.extruderConfigurations[1] + // } + // } + + // Rectangle + // { + // id: jobSpacer + // color: UM.Theme.getColor("viewport_background") + // height: 2 + // anchors + // { + // left: parent.left + // right: parent.right + // margins: UM.Theme.getSize("default_margin").width + // top: extrudersInfo.bottom + // topMargin: 2 * UM.Theme.getSize("default_margin").height + // } + // } + + // Item + // { + // id: jobInfo + // property var showJobInfo: printer.activePrintJob != null && printer.activePrintJob.state != "queued" + + // anchors.top: jobSpacer.bottom + // anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height + // anchors.left: parent.left + // anchors.right: parent.right + // anchors.margins: UM.Theme.getSize("default_margin").width + // anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width + // height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height: 0 + // visible: showJobInfo + // Label + // { + // id: printJobName + // text: printer.activePrintJob != null ? printer.activePrintJob.name : "" + // font: UM.Theme.getFont("default_bold") + // anchors.left: parent.left + // anchors.right: contextButton.left + // anchors.rightMargin: UM.Theme.getSize("default_margin").width + // elide: Text.ElideRight + // } + // Label + // { + // id: ownerName + // anchors.top: printJobName.bottom + // text: printer.activePrintJob != null ? printer.activePrintJob.owner : "" + // font: UM.Theme.getFont("default") + // opacity: 0.6 + // width: parent.width + // elide: Text.ElideRight + // } + + // function switchPopupState() + // { + // popup.visible ? popup.close() : popup.open() + // } + + // Button + // { + // id: contextButton + // text: "\u22EE" //Unicode; Three stacked points. + // width: 35 + // height: width + // anchors + // { + // right: parent.right + // top: parent.top + // } + // hoverEnabled: true + + // background: Rectangle + // { + // opacity: contextButton.down || contextButton.hovered ? 1 : 0 + // width: contextButton.width + // height: contextButton.height + // radius: 0.5 * width + // color: UM.Theme.getColor("viewport_background") + // } + // contentItem: Label + // { + // text: contextButton.text + // color: UM.Theme.getColor("monitor_tab_text_inactive") + // font.pixelSize: 25 + // verticalAlignment: Text.AlignVCenter + // horizontalAlignment: Text.AlignHCenter + // } + + // onClicked: parent.switchPopupState() + // } + + // Popup + // { + // // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property + // id: popup + // clip: true + // closePolicy: Popup.CloseOnPressOutside + // x: (parent.width - width) + 26 * screenScaleFactor + // y: contextButton.height - 5 * screenScaleFactor // Because shadow + // width: 182 * screenScaleFactor + // height: contentItem.height + 2 * padding + // visible: false + // padding: 5 * screenScaleFactor // Because shadow + + // transformOrigin: Popup.Top + // contentItem: Item + // { + // width: popup.width + // height: childrenRect.height + 36 * screenScaleFactor + // anchors.topMargin: 10 * screenScaleFactor + // anchors.bottomMargin: 10 * screenScaleFactor + // Button + // { + // id: pauseButton + // text: printer.activePrintJob != null && printer.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") + // onClicked: + // { + // if(printer.activePrintJob.state == "paused") + // { + // printer.activePrintJob.setState("print") + // } + // else if(printer.activePrintJob.state == "printing") + // { + // printer.activePrintJob.setState("pause") + // } + // popup.close() + // } + // width: parent.width + // enabled: printer.activePrintJob != null && ["paused", "printing"].indexOf(printer.activePrintJob.state) >= 0 + // visible: enabled + // anchors.top: parent.top + // anchors.topMargin: 18 * screenScaleFactor + // height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor + // hoverEnabled: true + // background: Rectangle + // { + // opacity: pauseButton.down || pauseButton.hovered ? 1 : 0 + // color: UM.Theme.getColor("viewport_background") + // } + // contentItem: Label + // { + // text: pauseButton.text + // horizontalAlignment: Text.AlignLeft + // verticalAlignment: Text.AlignVCenter + // } + // } + + // Button + // { + // id: abortButton + // text: catalog.i18nc("@label", "Abort") + // onClicked: + // { + // abortConfirmationDialog.visible = true; + // popup.close(); + // } + // width: parent.width + // height: 39 * screenScaleFactor + // anchors.top: pauseButton.bottom + // hoverEnabled: true + // enabled: printer.activePrintJob != null && ["paused", "printing", "pre_print"].indexOf(printer.activePrintJob.state) >= 0 + // background: Rectangle + // { + // opacity: abortButton.down || abortButton.hovered ? 1 : 0 + // color: UM.Theme.getColor("viewport_background") + // } + // contentItem: Label + // { + // text: abortButton.text + // horizontalAlignment: Text.AlignLeft + // verticalAlignment: Text.AlignVCenter + // } + // } + + // MessageDialog + // { + // id: abortConfirmationDialog + // title: catalog.i18nc("@window:title", "Abort print") + // icon: StandardIcon.Warning + // text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(printer.activePrintJob.name) + // standardButtons: StandardButton.Yes | StandardButton.No + // Component.onCompleted: visible = false + // onYes: printer.activePrintJob.setState("abort") + // } + // } + + // background: Item + // { + // width: popup.width + // height: popup.height + + // DropShadow + // { + // anchors.fill: pointedRectangle + // radius: 5 + // color: "#3F000000" // 25% shadow + // source: pointedRectangle + // transparentBorder: true + // verticalOffset: 2 + // } + + // Item + // { + // id: pointedRectangle + // width: parent.width - 10 * screenScaleFactor // Because of the shadow + // height: parent.height - 10 * screenScaleFactor // Because of the shadow + // anchors.horizontalCenter: parent.horizontalCenter + // anchors.verticalCenter: parent.verticalCenter + + // Rectangle + // { + // id: point + // height: 14 * screenScaleFactor + // width: 14 * screenScaleFactor + // color: UM.Theme.getColor("setting_control") + // transform: Rotation { angle: 45} + // anchors.right: bloop.right + // anchors.rightMargin: 24 + // y: 1 + // } + + // Rectangle + // { + // id: bloop + // color: UM.Theme.getColor("setting_control") + // width: parent.width + // anchors.top: parent.top + // anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point + // anchors.bottom: parent.bottom + // anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow + // } + // } + // } + + // exit: Transition + // { + // // This applies a default NumberAnimation to any changes a state change makes to x or y properties + // NumberAnimation { property: "visible"; duration: 75; } + // } + // enter: Transition + // { + // // This applies a default NumberAnimation to any changes a state change makes to x or y properties + // NumberAnimation { property: "visible"; duration: 75; } + // } + + // onClosed: visible = false + // onOpened: visible = true + // } + + // Image + // { + // id: printJobPreview + // source: printer.activePrintJob != null ? printer.activePrintJob.previewImageUrl : "" + // anchors.top: ownerName.bottom + // anchors.horizontalCenter: parent.horizontalCenter + // width: parent.width / 2 + // height: width + // opacity: + // { + // if(printer.activePrintJob == null) + // { + // return 1.0 + // } + + // switch(printer.activePrintJob.state) + // { + // case "wait_cleanup": + // case "wait_user_action": + // case "paused": + // return 0.5 + // default: + // return 1.0 + // } + // } + + + // } + + // UM.RecolorImage + // { + // id: statusImage + // anchors.centerIn: printJobPreview + // source: + // { + // if(printer.activePrintJob == null) + // { + // return "" + // } + // switch(printer.activePrintJob.state) + // { + // case "paused": + // return "../svg/paused-icon.svg" + // case "wait_cleanup": + // if(printer.activePrintJob.timeElapsed < printer.activePrintJob.timeTotal) + // { + // return "../svg/aborted-icon.svg" + // } + // return "../svg/approved-icon.svg" + // case "wait_user_action": + // return "../svg/aborted-icon.svg" + // default: + // return "" + // } + // } + // visible: source != "" + // width: 0.5 * printJobPreview.width + // height: 0.5 * printJobPreview.height + // sourceSize.width: width + // sourceSize.height: height + // color: "black" + // } + + // CameraButton + // { + // id: showCameraButton + // iconSource: "../svg/camera-icon.svg" + // anchors + // { + // left: parent.left + // bottom: printJobPreview.bottom + // } + // } + // } + // } + // } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml new file mode 100644 index 0000000000..01bd908c8b --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -0,0 +1,119 @@ +import QtQuick 2.3 +import QtQuick.Controls.Styles 1.3 +import QtQuick.Controls 1.4 +import UM 1.3 as UM + +ProgressBar { + property var progress: { + if (printer.activePrintJob == null) { + return 0; + } + var result = printer.activePrintJob.timeElapsed / printer.activePrintJob.timeTotal; + if (result > 1.0) { + result = 1.0; + } + return result; + } + value: progress; + + style: ProgressBarStyle { + property var remainingTime: + { + if(printer.activePrintJob == null) + { + return 0 + } + /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining + time from ever being less than 0. Negative durations cause strange behavior such + as displaying "-1h -1m". */ + var activeJob = printer.activePrintJob + return Math.max(activeJob.timeTotal - activeJob.timeElapsed, 0); + } + property var progressText: + { + if(printer.activePrintJob == null) + { + return "" + } + switch(printer.activePrintJob.state) + { + case "wait_cleanup": + if(printer.activePrintJob.timeTotal > printer.activePrintJob.timeElapsed) + { + return catalog.i18nc("@label:status", "Aborted") + } + return catalog.i18nc("@label:status", "Finished") + case "pre_print": + case "sent_to_printer": + return catalog.i18nc("@label:status", "Preparing") + case "aborted": + return catalog.i18nc("@label:status", "Aborted") + case "wait_user_action": + return catalog.i18nc("@label:status", "Aborted") + case "pausing": + return catalog.i18nc("@label:status", "Pausing") + case "paused": + return OutputDevice.formatDuration( remainingTime ) + case "resuming": + return catalog.i18nc("@label:status", "Resuming") + case "queued": + return catalog.i18nc("@label:status", "Action required") + default: + return OutputDevice.formatDuration( remainingTime ) + } + } + + background: Rectangle + { + implicitWidth: 100 + implicitHeight: visible ? 24 : 0 + color: UM.Theme.getColor("viewport_background") + } + + progress: Rectangle + { + color: + { + var state = printer.activePrintJob.state + var inactiveStates = [ + "pausing", + "paused", + "resuming", + "wait_cleanup" + ] + if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) + { + return UM.Theme.getColor("monitor_tab_text_inactive") + } + else + { + return UM.Theme.getColor("primary") + } + } + id: progressItem + function getTextOffset() + { + if(progressItem.width + progressLabel.width + 16 < control.width) + { + return progressItem.width + UM.Theme.getSize("default_margin").width + } + else + { + return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width + } + } + + Label + { + id: progressLabel + anchors.left: parent.left + anchors.leftMargin: getTextOffset() + text: progressText + anchors.verticalCenter: parent.verticalCenter + color: progressItem.width + progressLabel.width < control.width ? "black" : "white" + width: contentWidth + font: UM.Theme.getFont("default") + } + } + } +} \ No newline at end of file From 6e467721700ce3aa79f55cf4bcf364d40aba5da6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 12:25:03 +0200 Subject: [PATCH 102/423] Fix imports in Backup --- cura/Backups/Backup.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/cura/Backups/Backup.py b/cura/Backups/Backup.py index cc47df770e..b9045a59b1 100644 --- a/cura/Backups/Backup.py +++ b/cura/Backups/Backup.py @@ -4,18 +4,18 @@ import io import os import re - import shutil - -from typing import Dict, Optional from zipfile import ZipFile, ZIP_DEFLATED, BadZipfile +from typing import Dict, Optional, TYPE_CHECKING from UM import i18nCatalog from UM.Logger import Logger from UM.Message import Message from UM.Platform import Platform from UM.Resources import Resources -from cura.CuraApplication import CuraApplication + +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication ## The back-up class holds all data about a back-up. @@ -29,7 +29,8 @@ class Backup: # Re-use translation catalog. catalog = i18nCatalog("cura") - def __init__(self, zip_file: bytes = None, meta_data: Dict[str, str] = None) -> None: + def __init__(self, application: "CuraApplication", zip_file: bytes = None, meta_data: Dict[str, str] = None) -> None: + self.application = application self.zip_file = zip_file # type: Optional[bytes] self.meta_data = meta_data # type: Optional[Dict[str, str]] @@ -41,12 +42,12 @@ class Backup: Logger.log("d", "Creating backup for Cura %s, using folder %s", cura_release, version_data_dir) # Ensure all current settings are saved. - CuraApplication.getInstance().saveSettings() + self.application.saveSettings() # We copy the preferences file to the user data directory in Linux as it's in a different location there. # When restoring a backup on Linux, we move it back. if Platform.isLinux(): - preferences_file_name = CuraApplication.getInstance().getApplicationName() + preferences_file_name = self.application.getApplicationName() 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", "Copying preferences file from %s to %s", preferences_file, backup_preferences_file) @@ -112,7 +113,7 @@ class Backup: "Tried to restore a Cura backup without having proper data or meta data.")) return False - current_version = CuraApplication.getInstance().getVersion() + current_version = self.application.getVersion() version_to_restore = self.meta_data.get("cura_release", "master") if current_version != version_to_restore: # Cannot restore version older or newer than current because settings might have changed. @@ -128,7 +129,7 @@ class Backup: # Under Linux, preferences are stored elsewhere, so we copy the file to there. if Platform.isLinux(): - preferences_file_name = CuraApplication.getInstance().getApplicationName() + preferences_file_name = self.application.getApplicationName() 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) From 3a01b63343668781cfcbb2bec84e8ec8d68d19b9 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 12:33:16 +0200 Subject: [PATCH 103/423] Fix refactor and tests --- cura/Backups/BackupsManager.py | 2 +- cura/OAuth2/AuthorizationService.py | 3 ++- tests/TestOAuth2.py | 22 ++++++++++++++-------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/cura/Backups/BackupsManager.py b/cura/Backups/BackupsManager.py index a4d8528960..6dfb4ae8bd 100644 --- a/cura/Backups/BackupsManager.py +++ b/cura/Backups/BackupsManager.py @@ -23,7 +23,7 @@ class BackupsManager: # containing some metadata (like version). def createBackup(self) -> Tuple[Optional[bytes], Optional[Dict[str, str]]]: self._disableAutoSave() - backup = Backup() + backup = Backup(self._application) backup.makeFromCurrent() self._enableAutoSave() # We don't return a Backup here because we want plugins only to interact with our API and not full objects. diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index df068cc43e..65b31f1ed7 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -39,7 +39,8 @@ class AuthorizationService: self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True) def initialize(self, preferences: Optional["Preferences"] = None) -> None: - self._preferences = preferences + if preferences is not None: + self._preferences = preferences if self._preferences: self._preferences.addPreference(self._settings.AUTH_DATA_PREFERENCE_KEY, "{}") diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 78585804f5..608d529e9f 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -31,15 +31,17 @@ MALFORMED_AUTH_RESPONSE = AuthenticationResponse() def test_cleanAuthService() -> None: # Ensure that when setting up an AuthorizationService, no data is set. - authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) + authorization_service = AuthorizationService(OAUTH_SETTINGS, Preferences()) + authorization_service.initialize() assert authorization_service.getUserProfile() is None assert authorization_service.getAccessToken() is None def test_failedLogin() -> None: - authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) + authorization_service = AuthorizationService(OAUTH_SETTINGS, Preferences()) authorization_service.onAuthenticationError.emit = MagicMock() authorization_service.onAuthStateChanged.emit = MagicMock() + authorization_service.initialize() # Let the service think there was a failed response authorization_service._onAuthStateChanged(FAILED_AUTH_RESPONSE) @@ -58,7 +60,8 @@ def test_failedLogin() -> None: @patch.object(AuthorizationService, "getUserProfile", return_value=UserProfile()) def test_storeAuthData(get_user_profile) -> None: preferences = Preferences() - authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) + authorization_service = AuthorizationService(OAUTH_SETTINGS, preferences) + authorization_service.initialize() # Write stuff to the preferences. authorization_service._storeAuthData(SUCCESFULL_AUTH_RESPONSE) @@ -67,7 +70,8 @@ def test_storeAuthData(get_user_profile) -> None: assert preference_value is not None and preference_value != {} # Create a second auth service, so we can load the data. - second_auth_service = AuthorizationService(preferences, OAUTH_SETTINGS) + second_auth_service = AuthorizationService(OAUTH_SETTINGS, preferences) + second_auth_service.initialize() second_auth_service.loadAuthDataFromPreferences() assert second_auth_service.getAccessToken() == SUCCESFULL_AUTH_RESPONSE.access_token @@ -77,7 +81,7 @@ def test_storeAuthData(get_user_profile) -> None: @patch.object(webbrowser, "open_new") def test_localAuthServer(webbrowser_open, start_auth_server, stop_auth_server) -> None: preferences = Preferences() - authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) + authorization_service = AuthorizationService(OAUTH_SETTINGS, preferences) authorization_service.startAuthorizationFlow() assert webbrowser_open.call_count == 1 @@ -92,9 +96,10 @@ def test_localAuthServer(webbrowser_open, start_auth_server, stop_auth_server) - def test_loginAndLogout() -> None: preferences = Preferences() - authorization_service = AuthorizationService(preferences, OAUTH_SETTINGS) + authorization_service = AuthorizationService(OAUTH_SETTINGS, preferences) authorization_service.onAuthenticationError.emit = MagicMock() authorization_service.onAuthStateChanged.emit = MagicMock() + authorization_service.initialize() # Let the service think there was a succesfull response with patch.object(AuthorizationHelpers, "parseJWT", return_value=UserProfile()): @@ -121,7 +126,8 @@ def test_loginAndLogout() -> None: def test_wrongServerResponses() -> None: - authorization_service = AuthorizationService(Preferences(), OAUTH_SETTINGS) + authorization_service = AuthorizationService(OAUTH_SETTINGS, Preferences()) + authorization_service.initialize() with patch.object(AuthorizationHelpers, "parseJWT", return_value=UserProfile()): authorization_service._onAuthStateChanged(MALFORMED_AUTH_RESPONSE) - assert authorization_service.getUserProfile() is None \ No newline at end of file + assert authorization_service.getUserProfile() is None From 6e2f7e72b699183bab9890bc6802f1fa95a71408 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 12:34:00 +0200 Subject: [PATCH 104/423] Fix missing argument --- cura/Backups/BackupsManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Backups/BackupsManager.py b/cura/Backups/BackupsManager.py index 6dfb4ae8bd..a0d3881209 100644 --- a/cura/Backups/BackupsManager.py +++ b/cura/Backups/BackupsManager.py @@ -41,7 +41,7 @@ class BackupsManager: self._disableAutoSave() - backup = Backup(zip_file = zip_file, meta_data = meta_data) + backup = Backup(self._application, zip_file = zip_file, meta_data = meta_data) restored = backup.restore() if restored: # At this point, Cura will need to restart for the changes to take effect. From a573a598b01445d0f785e4b9256d6c66e96012ab Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 12:40:44 +0200 Subject: [PATCH 105/423] Add typing and appease MYPY --- cura/PrinterOutput/FirmwareUpdater.py | 23 +++-- cura/PrinterOutput/PrintJobOutputModel.py | 2 +- cura/PrinterOutput/PrinterOutputController.py | 31 +++--- cura/PrinterOutput/PrinterOutputModel.py | 97 ++++++++++--------- plugins/USBPrinting/AvrFirmwareUpdater.py | 2 +- plugins/USBPrinting/USBPrinterOutputDevice.py | 4 +- 6 files changed, 83 insertions(+), 76 deletions(-) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index e7ffc2a2b5..06e019c593 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -5,9 +5,11 @@ from PyQt5.QtCore import QObject, QUrl, pyqtSignal, pyqtProperty from UM.Resources import Resources from cura.PrinterOutputDevice import PrinterOutputDevice +from cura.CuraApplication import CuraApplication from enum import IntEnum from threading import Thread +from typing import Any class FirmwareUpdater(QObject): firmwareProgressChanged = pyqtSignal() @@ -19,11 +21,11 @@ class FirmwareUpdater(QObject): self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) self._firmware_view = None - self._firmware_location = None + self._firmware_location = "" self._firmware_progress = 0 self._firmware_update_state = FirmwareUpdateState.idle - def updateFirmware(self, file): + def updateFirmware(self, file: Any[str, QUrl]) -> None: # the file path could be url-encoded. if file.startswith("file://"): self._firmware_location = QUrl(file).toLocalFile() @@ -33,10 +35,10 @@ class FirmwareUpdater(QObject): self.setFirmwareUpdateState(FirmwareUpdateState.updating) self._update_firmware_thread.start() - def _updateFirmware(self): + def _updateFirmware(self) -> None: raise NotImplementedError("_updateFirmware needs to be implemented") - def cleanupAfterUpdate(self): + def cleanupAfterUpdate(self) -> None: # Clean up for next attempt. self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) self._firmware_location = "" @@ -45,28 +47,29 @@ class FirmwareUpdater(QObject): ## Show firmware interface. # This will create the view if its not already created. - def showFirmwareInterface(self): + def showFirmwareInterface(self) -> None: if self._firmware_view is None: path = Resources.getPath(self.ResourceTypes.QmlFiles, "FirmwareUpdateWindow.qml") self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) - self._firmware_view.show() + if self._firmware_view: + self._firmware_view.show() @pyqtProperty(float, notify = firmwareProgressChanged) - def firmwareProgress(self): + def firmwareProgress(self) -> float: return self._firmware_progress @pyqtProperty(int, notify=firmwareUpdateStateChanged) - def firmwareUpdateState(self): + def firmwareUpdateState(self) -> FirmwareUpdateState: return self._firmware_update_state - def setFirmwareUpdateState(self, state): + def setFirmwareUpdateState(self, state) -> None: if self._firmware_update_state != state: self._firmware_update_state = state self.firmwareUpdateStateChanged.emit() # Callback function for firmware update progress. - def _onFirmwareProgress(self, progress, max_progress = 100): + def _onFirmwareProgress(self, progress, max_progress = 100) -> None: self._firmware_progress = (progress / max_progress) * 100 # Convert to scale of 0-100 self.firmwareProgressChanged.emit() diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index 7366b95f86..5b8cc39ad8 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -91,7 +91,7 @@ class PrintJobOutputModel(QObject): def assignedPrinter(self): return self._assigned_printer - def updateAssignedPrinter(self, assigned_printer: "PrinterOutputModel"): + def updateAssignedPrinter(self, assigned_printer: Optional[PrinterOutputModel]): if self._assigned_printer != assigned_printer: old_printer = self._assigned_printer self._assigned_printer = assigned_printer diff --git a/cura/PrinterOutput/PrinterOutputController.py b/cura/PrinterOutput/PrinterOutputController.py index dd2276d771..9a29233f95 100644 --- a/cura/PrinterOutput/PrinterOutputController.py +++ b/cura/PrinterOutput/PrinterOutputController.py @@ -4,15 +4,18 @@ from UM.Logger import Logger from UM.Signal import Signal +from typing import Any + MYPY = False if MYPY: from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.ExtruderOutputModel import ExtruderOutputModel from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel + from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice class PrinterOutputController: - def __init__(self, output_device): + def __init__(self, output_device: PrinterOutputDevice) -> None: self.can_pause = True self.can_abort = True self.can_pre_heat_bed = True @@ -22,44 +25,44 @@ class PrinterOutputController: self.can_update_firmware = False self._output_device = output_device - def setTargetHotendTemperature(self, printer: "PrinterOutputModel", extruder: "ExtruderOutputModel", temperature: int): + def setTargetHotendTemperature(self, printer: "PrinterOutputModel", extruder: "ExtruderOutputModel", temperature: Any[int, float]) -> None: Logger.log("w", "Set target hotend temperature not implemented in controller") - def setTargetBedTemperature(self, printer: "PrinterOutputModel", temperature: int): + def setTargetBedTemperature(self, printer: "PrinterOutputModel", temperature: int) -> None: Logger.log("w", "Set target bed temperature not implemented in controller") - def setJobState(self, job: "PrintJobOutputModel", state: str): + def setJobState(self, job: "PrintJobOutputModel", state: str) -> None: Logger.log("w", "Set job state not implemented in controller") - def cancelPreheatBed(self, printer: "PrinterOutputModel"): + def cancelPreheatBed(self, printer: "PrinterOutputModel") -> None: Logger.log("w", "Cancel preheat bed not implemented in controller") - def preheatBed(self, printer: "PrinterOutputModel", temperature, duration): + def preheatBed(self, printer: "PrinterOutputModel", temperature, duration) -> None: Logger.log("w", "Preheat bed not implemented in controller") - def cancelPreheatHotend(self, extruder: "ExtruderOutputModel"): + def cancelPreheatHotend(self, extruder: "ExtruderOutputModel") -> None: Logger.log("w", "Cancel preheat hotend not implemented in controller") - def preheatHotend(self, extruder: "ExtruderOutputModel", temperature, duration): + def preheatHotend(self, extruder: "ExtruderOutputModel", temperature, duration) -> None: Logger.log("w", "Preheat hotend not implemented in controller") - def setHeadPosition(self, printer: "PrinterOutputModel", x, y, z, speed): + def setHeadPosition(self, printer: "PrinterOutputModel", x, y, z, speed) -> None: Logger.log("w", "Set head position not implemented in controller") - def moveHead(self, printer: "PrinterOutputModel", x, y, z, speed): + def moveHead(self, printer: "PrinterOutputModel", x, y, z, speed) -> None: Logger.log("w", "Move head not implemented in controller") - def homeBed(self, printer: "PrinterOutputModel"): + def homeBed(self, printer: "PrinterOutputModel") -> None: Logger.log("w", "Home bed not implemented in controller") - def homeHead(self, printer: "PrinterOutputModel"): + def homeHead(self, printer: "PrinterOutputModel") -> None: Logger.log("w", "Home head not implemented in controller") - def sendRawCommand(self, printer: "PrinterOutputModel", command: str): + def sendRawCommand(self, printer: "PrinterOutputModel", command: str) -> None: Logger.log("w", "Custom command not implemented in controller") canUpdateFirmwareChanged = Signal() - def setCanUpdateFirmware(self, can_update_firmware: bool): + def setCanUpdateFirmware(self, can_update_firmware: bool) -> None: if can_update_firmware != self.can_update_firmware: self.can_update_firmware = can_update_firmware self.canUpdateFirmwareChanged.emit() \ No newline at end of file diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index 859165aef3..96feef1b55 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -2,7 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant, pyqtSlot -from typing import Optional +from typing import List, Dict, Optional from UM.Math.Vector import Vector from cura.PrinterOutput.ConfigurationModel import ConfigurationModel from cura.PrinterOutput.ExtruderOutputModel import ExtruderOutputModel @@ -11,6 +11,7 @@ MYPY = False if MYPY: from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.PrinterOutputController import PrinterOutputController + from cura.PrinterOutput.NetworkCamera import NetworkCamera class PrinterOutputModel(QObject): @@ -44,7 +45,7 @@ class PrinterOutputModel(QObject): self._printer_state = "unknown" self._is_preheating = False self._printer_type = "" - self._buildplate_name = None + self._buildplate_name = "" self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] @@ -52,32 +53,32 @@ class PrinterOutputModel(QObject): self._camera = None @pyqtProperty(str, constant = True) - def firmwareVersion(self): + def firmwareVersion(self) -> str: return self._firmware_version - def setCamera(self, camera): + def setCamera(self, camera: Optional["NetworkCamera"]) -> None: if self._camera is not camera: self._camera = camera self.cameraChanged.emit() - def updateIsPreheating(self, pre_heating): + def updateIsPreheating(self, pre_heating: bool) -> None: if self._is_preheating != pre_heating: self._is_preheating = pre_heating self.isPreheatingChanged.emit() @pyqtProperty(bool, notify=isPreheatingChanged) - def isPreheating(self): + def isPreheating(self) -> bool: return self._is_preheating @pyqtProperty(QObject, notify=cameraChanged) - def camera(self): + def camera(self) -> Optional["NetworkCamera"]: return self._camera @pyqtProperty(str, notify = printerTypeChanged) - def type(self): + def type(self) -> str: return self._printer_type - def updateType(self, printer_type): + def updateType(self, printer_type: str) -> None: if self._printer_type != printer_type: self._printer_type = printer_type self._printer_configuration.printerType = self._printer_type @@ -85,10 +86,10 @@ class PrinterOutputModel(QObject): self.configurationChanged.emit() @pyqtProperty(str, notify = buildplateChanged) - def buildplate(self): + def buildplate(self) -> str: return self._buildplate_name - def updateBuildplateName(self, buildplate_name): + def updateBuildplateName(self, buildplate_name: str) -> None: if self._buildplate_name != buildplate_name: self._buildplate_name = buildplate_name self._printer_configuration.buildplateConfiguration = self._buildplate_name @@ -96,66 +97,66 @@ class PrinterOutputModel(QObject): self.configurationChanged.emit() @pyqtProperty(str, notify=keyChanged) - def key(self): + def key(self) -> str: return self._key - def updateKey(self, key: str): + def updateKey(self, key: str) -> None: if self._key != key: self._key = key self.keyChanged.emit() @pyqtSlot() - def homeHead(self): + def homeHead(self) -> None: self._controller.homeHead(self) @pyqtSlot() - def homeBed(self): + def homeBed(self) -> None: self._controller.homeBed(self) @pyqtSlot(str) - def sendRawCommand(self, command: str): + def sendRawCommand(self, command: str) -> None: self._controller.sendRawCommand(self, command) @pyqtProperty("QVariantList", constant = True) - def extruders(self): + def extruders(self) -> List["ExtruderOutputModel"]: return self._extruders @pyqtProperty(QVariant, notify = headPositionChanged) - def headPosition(self): + def headPosition(self) -> Dict[str, float]: return {"x": self._head_position.x, "y": self._head_position.y, "z": self.head_position.z} - def updateHeadPosition(self, x, y, z): + def updateHeadPosition(self, x: float, y: float, z: float) -> None: if self._head_position.x != x or self._head_position.y != y or self._head_position.z != z: self._head_position = Vector(x, y, z) self.headPositionChanged.emit() @pyqtProperty(float, float, float) @pyqtProperty(float, float, float, float) - def setHeadPosition(self, x, y, z, speed = 3000): + def setHeadPosition(self, x: float, y: float, z: float, speed: float = 3000) -> None: self.updateHeadPosition(x, y, z) self._controller.setHeadPosition(self, x, y, z, speed) @pyqtProperty(float) @pyqtProperty(float, float) - def setHeadX(self, x, speed = 3000): + def setHeadX(self, x: float, speed: float = 3000) -> None: self.updateHeadPosition(x, self._head_position.y, self._head_position.z) self._controller.setHeadPosition(self, x, self._head_position.y, self._head_position.z, speed) @pyqtProperty(float) @pyqtProperty(float, float) - def setHeadY(self, y, speed = 3000): + def setHeadY(self, y: float, speed: float = 3000) -> None: self.updateHeadPosition(self._head_position.x, y, self._head_position.z) self._controller.setHeadPosition(self, self._head_position.x, y, self._head_position.z, speed) @pyqtProperty(float) @pyqtProperty(float, float) - def setHeadZ(self, z, speed = 3000): + def setHeadZ(self, z: float, speed:float = 3000) -> None: self.updateHeadPosition(self._head_position.x, self._head_position.y, z) self._controller.setHeadPosition(self, self._head_position.x, self._head_position.y, z, speed) @pyqtSlot(float, float, float) @pyqtSlot(float, float, float, float) - def moveHead(self, x = 0, y = 0, z = 0, speed = 3000): + def moveHead(self, x: float = 0, y: float = 0, z: float = 0, speed: float = 3000) -> None: self._controller.moveHead(self, x, y, z, speed) ## Pre-heats the heated bed of the printer. @@ -164,47 +165,47 @@ class PrinterOutputModel(QObject): # Celsius. # \param duration How long the bed should stay warm, in seconds. @pyqtSlot(float, float) - def preheatBed(self, temperature, duration): + def preheatBed(self, temperature: float, duration: float) -> None: self._controller.preheatBed(self, temperature, duration) @pyqtSlot() - def cancelPreheatBed(self): + def cancelPreheatBed(self) -> None: self._controller.cancelPreheatBed(self) - def getController(self): + def getController(self) -> PrinterOutputController: return self._controller @pyqtProperty(str, notify=nameChanged) - def name(self): + def name(self) -> str: return self._name - def setName(self, name): + def setName(self, name: str) -> None: self._setName(name) self.updateName(name) - def updateName(self, name): + def updateName(self, name: str) -> None: if self._name != name: self._name = name self.nameChanged.emit() ## Update the bed temperature. This only changes it locally. - def updateBedTemperature(self, temperature): + def updateBedTemperature(self, temperature: int) -> None: if self._bed_temperature != temperature: self._bed_temperature = temperature self.bedTemperatureChanged.emit() - def updateTargetBedTemperature(self, temperature): + def updateTargetBedTemperature(self, temperature: int) -> None: if self._target_bed_temperature != temperature: self._target_bed_temperature = temperature self.targetBedTemperatureChanged.emit() ## Set the target bed temperature. This ensures that it's actually sent to the remote. @pyqtSlot(int) - def setTargetBedTemperature(self, temperature): + def setTargetBedTemperature(self, temperature: int) -> None: self._controller.setTargetBedTemperature(self, temperature) self.updateTargetBedTemperature(temperature) - def updateActivePrintJob(self, print_job): + def updateActivePrintJob(self, print_job: Optional[PrintJobOutputModel]) -> None: if self._active_print_job != print_job: old_print_job = self._active_print_job @@ -216,83 +217,83 @@ class PrinterOutputModel(QObject): old_print_job.updateAssignedPrinter(None) self.activePrintJobChanged.emit() - def updateState(self, printer_state): + def updateState(self, printer_state: str) -> None: if self._printer_state != printer_state: self._printer_state = printer_state self.stateChanged.emit() @pyqtProperty(QObject, notify = activePrintJobChanged) - def activePrintJob(self): + def activePrintJob(self) -> Optional[PrintJobOutputModel]: return self._active_print_job @pyqtProperty(str, notify=stateChanged) - def state(self): + def state(self) -> str: return self._printer_state @pyqtProperty(int, notify = bedTemperatureChanged) - def bedTemperature(self): + def bedTemperature(self) -> int: return self._bed_temperature @pyqtProperty(int, notify=targetBedTemperatureChanged) - def targetBedTemperature(self): + def targetBedTemperature(self) -> int: return self._target_bed_temperature # Does the printer support pre-heating the bed at all @pyqtProperty(bool, constant=True) - def canPreHeatBed(self): + def canPreHeatBed(self) -> bool: if self._controller: return self._controller.can_pre_heat_bed return False # Does the printer support pre-heating the bed at all @pyqtProperty(bool, constant=True) - def canPreHeatHotends(self): + def canPreHeatHotends(self) -> bool: if self._controller: return self._controller.can_pre_heat_hotends return False # Does the printer support sending raw G-code at all @pyqtProperty(bool, constant=True) - def canSendRawGcode(self): + def canSendRawGcode(self) -> bool: if self._controller: return self._controller.can_send_raw_gcode return False # Does the printer support pause at all @pyqtProperty(bool, constant=True) - def canPause(self): + def canPause(self) -> bool: if self._controller: return self._controller.can_pause return False # Does the printer support abort at all @pyqtProperty(bool, constant=True) - def canAbort(self): + def canAbort(self) -> bool: if self._controller: return self._controller.can_abort return False # Does the printer support manual control at all @pyqtProperty(bool, constant=True) - def canControlManually(self): + def canControlManually(self) -> bool: if self._controller: return self._controller.can_control_manually return False # Does the printer support upgrading firmware @pyqtProperty(bool, notify = canUpdateFirmwareChanged) - def canUpdateFirmware(self): + def canUpdateFirmware(self) -> bool: if self._controller: return self._controller.can_update_firmware return False # Stub to connect UM.Signal to pyqtSignal - def _onControllerCanUpdateFirmwareChanged(self): + def _onControllerCanUpdateFirmwareChanged(self) -> None: self.canUpdateFirmwareChanged.emit() # Returns the configuration (material, variant and buildplate) of the current printer @pyqtProperty(QObject, notify = configurationChanged) - def printerConfiguration(self): + def printerConfiguration(self) -> Optional[ConfigurationModel]: if self._printer_configuration.isValid(): return self._printer_configuration return None \ No newline at end of file diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index 171c81d557..c3852c46f6 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -10,7 +10,7 @@ class AvrFirmwareUpdater(FirmwareUpdater): def __init__(self, output_device: PrinterOutputDevice) -> None: super().__init__(output_device) - def _updateFirmware(self): + def _updateFirmware(self) -> None: try: hex_file = intelHex.readHex(self._firmware_location) assert len(hex_file) > 0 diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 4813696ffe..5e18e216bc 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -99,12 +99,12 @@ class USBPrinterOutputDevice(PrinterOutputDevice): application.triggerNextExitCheck() @pyqtSlot(str) - def updateFirmware(self, file): + def updateFirmware(self, file: Any[str, QUrl]) -> None: self._firmware_updater.updateFirmware(file) ## Reset USB device settings # - def resetDeviceSettings(self): + def resetDeviceSettings(self) -> None: self._firmware_name = None ## Request the current scene to be sent to a USB-connected printer. From 6be6d6cfc322630c20db6fbfa5271967324b60d4 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 12:49:53 +0200 Subject: [PATCH 106/423] Fixed missing typing import --- plugins/USBPrinting/USBPrinterOutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 5e18e216bc..c9fcdbe625 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -21,7 +21,7 @@ from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event from time import time, sleep from queue import Queue -from typing import Union, Optional, List, cast +from typing import Union, Optional, List, cast, Any import re import functools # Used for reduce From 6ecc9366cb6ee80ad11bab33371dec7799a899ae Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 13:06:09 +0200 Subject: [PATCH 107/423] Fix filename typos --- resources/definitions/ultimaker_original.def.json | 2 +- resources/definitions/ultimaker_original_dual.def.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/ultimaker_original.def.json b/resources/definitions/ultimaker_original.def.json index bb6a64d8dc..bb21e4b82e 100644 --- a/resources/definitions/ultimaker_original.def.json +++ b/resources/definitions/ultimaker_original.def.json @@ -20,7 +20,7 @@ "0": "ultimaker_original_extruder_0" }, "firmware_file": "MarlinUltimaker-{baudrate}.hex", - "firmware_hbk_file": "MarlinUltimaker-HKB-{baudrate}.hex" + "firmware_hbk_file": "MarlinUltimaker-HBK-{baudrate}.hex" }, "overrides": { diff --git a/resources/definitions/ultimaker_original_dual.def.json b/resources/definitions/ultimaker_original_dual.def.json index c6002ef396..1ffb6e840b 100644 --- a/resources/definitions/ultimaker_original_dual.def.json +++ b/resources/definitions/ultimaker_original_dual.def.json @@ -20,7 +20,7 @@ "1": "ultimaker_original_dual_2nd" }, "firmware_file": "MarlinUltimaker-{baudrate}-dual.hex", - "firmware_hbk_file": "MarlinUltimaker-HKB-{baudrate}-dual.hex", + "firmware_hbk_file": "MarlinUltimaker-HBK-{baudrate}-dual.hex", "first_start_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel", "UpgradeFirmware"] }, From b73a71746eb4ac44c6387388c1fac68ddcc618b7 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 13:06:36 +0200 Subject: [PATCH 108/423] Fix missing imports --- plugins/USBPrinting/AvrFirmwareUpdater.py | 12 ++++++++++-- plugins/USBPrinting/USBPrinterOutputDevice.py | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index c3852c46f6..ab71f70e30 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -1,10 +1,16 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from UM.Logger import Logger + +from cura.CuraApplication import CuraApplication from cura.PrinterOutputDevice import PrinterOutputDevice from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater, FirmwareUpdateState from .avr_isp import stk500v2, intelHex +from serial import SerialException + +from time import sleep class AvrFirmwareUpdater(FirmwareUpdater): def __init__(self, output_device: PrinterOutputDevice) -> None: @@ -37,10 +43,12 @@ class AvrFirmwareUpdater(FirmwareUpdater): self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) try: programmer.programChip(hex_file) - except SerialException: + except SerialException as e: + Logger.log("e", "A serial port exception occured during firmware update: %s" % e) self.setFirmwareUpdateState(FirmwareUpdateState.io_error) return - except: + except Exception as e: + Logger.log("e", "An unknown exception occured during firmware update: %s" % e) self.setFirmwareUpdateState(FirmwareUpdateState.unknown_error) return diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index c9fcdbe625..9ab2a06d50 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -15,7 +15,7 @@ from cura.PrinterOutput.GenericOutputController import GenericOutputController from .AutoDetectBaudJob import AutoDetectBaudJob from .AvrFirmwareUpdater import AvrFirmwareUpdater -from PyQt5.QtCore import pyqtSlot, pyqtSignal, pyqtProperty +from PyQt5.QtCore import pyqtSlot, pyqtSignal, pyqtProperty, QUrl from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event From a68a591c18c68ab5e8271a4628e5a1f23d7883b1 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 28 Sep 2018 13:07:18 +0200 Subject: [PATCH 109/423] Correct typo leading to infinite recursion. --- cura/Scene/ConvexHullDecorator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Scene/ConvexHullDecorator.py b/cura/Scene/ConvexHullDecorator.py index 31e21df6bf..aca5d866be 100644 --- a/cura/Scene/ConvexHullDecorator.py +++ b/cura/Scene/ConvexHullDecorator.py @@ -241,7 +241,7 @@ class ConvexHullDecorator(SceneNodeDecorator): return Polygon() def _compute2DConvexHeadFull(self) -> Optional[Polygon]: - convex_hull = self._compute2DConvexHeadFull() + convex_hull = self._compute2DConvexHull() if convex_hull: return convex_hull.getMinkowskiHull(self._getHeadAndFans()) return None From 09742f0cf51769b46ac8be2402d1db9df10a5061 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 13:09:59 +0200 Subject: [PATCH 110/423] Simplify code --- cura/Settings/GlobalStack.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/cura/Settings/GlobalStack.py b/cura/Settings/GlobalStack.py index e3ae8c2deb..da1ec61254 100755 --- a/cura/Settings/GlobalStack.py +++ b/cura/Settings/GlobalStack.py @@ -218,16 +218,16 @@ class GlobalStack(CuraContainerStack): if machine_has_heated_bed: hex_file = self.getMetaDataEntry("firmware_hbk_file", hex_file) - if hex_file: - try: - return Resources.getPath(cura.CuraApplication.CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) - except FileNotFoundError: - Logger.log("w", "Firmware file %s not found.", hex_file) - return "" - else: + if not hex_file: Logger.log("w", "There is no firmware for machine %s.", self.getBottom().id) return "" + try: + return Resources.getPath(cura.CuraApplication.CuraApplication.ResourceTypes.Firmware, hex_file.format(baudrate=baudrate)) + except FileNotFoundError: + Logger.log("w", "Firmware file %s not found.", hex_file) + return "" + ## private: global_stack_mime = MimeType( name = "application/x-cura-globalstack", From 9af71f2888c1de1616af67f3241c08544f0958df Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 13:40:39 +0200 Subject: [PATCH 111/423] Fix incorrect typing and issues caused by typing --- cura/PrinterOutput/FirmwareUpdater.py | 6 +++--- cura/PrinterOutput/GenericOutputController.py | 4 ++-- cura/PrinterOutput/PrintJobOutputModel.py | 2 +- cura/PrinterOutput/PrinterOutputController.py | 6 +++--- cura/PrinterOutput/PrinterOutputModel.py | 8 ++++---- plugins/USBPrinting/USBPrinterOutputDevice.py | 4 ++-- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 06e019c593..2f200118a9 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -9,7 +9,7 @@ from cura.CuraApplication import CuraApplication from enum import IntEnum from threading import Thread -from typing import Any +from typing import Union class FirmwareUpdater(QObject): firmwareProgressChanged = pyqtSignal() @@ -25,7 +25,7 @@ class FirmwareUpdater(QObject): self._firmware_progress = 0 self._firmware_update_state = FirmwareUpdateState.idle - def updateFirmware(self, file: Any[str, QUrl]) -> None: + def updateFirmware(self, file: Union[str, QUrl]) -> None: # the file path could be url-encoded. if file.startswith("file://"): self._firmware_location = QUrl(file).toLocalFile() @@ -60,7 +60,7 @@ class FirmwareUpdater(QObject): return self._firmware_progress @pyqtProperty(int, notify=firmwareUpdateStateChanged) - def firmwareUpdateState(self) -> FirmwareUpdateState: + def firmwareUpdateState(self) -> "FirmwareUpdateState": return self._firmware_update_state def setFirmwareUpdateState(self, state) -> None: diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index e6310e5bff..e26fefb520 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Union from cura.PrinterOutput.PrinterOutputController import PrinterOutputController from PyQt5.QtCore import QTimer @@ -109,7 +109,7 @@ class GenericOutputController(PrinterOutputController): self.setTargetBedTemperature(self._preheat_printer, 0) self._preheat_printer.updateIsPreheating(False) - def setTargetHotendTemperature(self, printer: "PrinterOutputModel", position: int, temperature: int): + def setTargetHotendTemperature(self, printer: "PrinterOutputModel", position: int, temperature: Union[int, float]) -> None: self._output_device.sendCommand("M104 S%s T%s" % (temperature, position)) def _onTargetHotendTemperatureChanged(self): diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index 5b8cc39ad8..70878a7573 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -91,7 +91,7 @@ class PrintJobOutputModel(QObject): def assignedPrinter(self): return self._assigned_printer - def updateAssignedPrinter(self, assigned_printer: Optional[PrinterOutputModel]): + def updateAssignedPrinter(self, assigned_printer: Optional["PrinterOutputModel"]): if self._assigned_printer != assigned_printer: old_printer = self._assigned_printer self._assigned_printer = assigned_printer diff --git a/cura/PrinterOutput/PrinterOutputController.py b/cura/PrinterOutput/PrinterOutputController.py index 9a29233f95..cc7b78ac11 100644 --- a/cura/PrinterOutput/PrinterOutputController.py +++ b/cura/PrinterOutput/PrinterOutputController.py @@ -4,7 +4,7 @@ from UM.Logger import Logger from UM.Signal import Signal -from typing import Any +from typing import Union MYPY = False if MYPY: @@ -15,7 +15,7 @@ if MYPY: class PrinterOutputController: - def __init__(self, output_device: PrinterOutputDevice) -> None: + def __init__(self, output_device: "PrinterOutputDevice") -> None: self.can_pause = True self.can_abort = True self.can_pre_heat_bed = True @@ -25,7 +25,7 @@ class PrinterOutputController: self.can_update_firmware = False self._output_device = output_device - def setTargetHotendTemperature(self, printer: "PrinterOutputModel", extruder: "ExtruderOutputModel", temperature: Any[int, float]) -> None: + def setTargetHotendTemperature(self, printer: "PrinterOutputModel", position: int, temperature: Union[int, float]) -> None: Logger.log("w", "Set target hotend temperature not implemented in controller") def setTargetBedTemperature(self, printer: "PrinterOutputModel", temperature: int) -> None: diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index 96feef1b55..abfee41e80 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -172,7 +172,7 @@ class PrinterOutputModel(QObject): def cancelPreheatBed(self) -> None: self._controller.cancelPreheatBed(self) - def getController(self) -> PrinterOutputController: + def getController(self) -> "PrinterOutputController": return self._controller @pyqtProperty(str, notify=nameChanged) @@ -205,7 +205,7 @@ class PrinterOutputModel(QObject): self._controller.setTargetBedTemperature(self, temperature) self.updateTargetBedTemperature(temperature) - def updateActivePrintJob(self, print_job: Optional[PrintJobOutputModel]) -> None: + def updateActivePrintJob(self, print_job: Optional["PrintJobOutputModel"]) -> None: if self._active_print_job != print_job: old_print_job = self._active_print_job @@ -223,14 +223,14 @@ class PrinterOutputModel(QObject): self.stateChanged.emit() @pyqtProperty(QObject, notify = activePrintJobChanged) - def activePrintJob(self) -> Optional[PrintJobOutputModel]: + def activePrintJob(self) -> Optional["PrintJobOutputModel"]: return self._active_print_job @pyqtProperty(str, notify=stateChanged) def state(self) -> str: return self._printer_state - @pyqtProperty(int, notify = bedTemperatureChanged) + @pyqtProperty(int, notify=bedTemperatureChanged) def bedTemperature(self) -> int: return self._bed_temperature diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 9ab2a06d50..ebfdca2dab 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -21,7 +21,7 @@ from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event from time import time, sleep from queue import Queue -from typing import Union, Optional, List, cast, Any +from typing import Union, Optional, List, cast import re import functools # Used for reduce @@ -99,7 +99,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): application.triggerNextExitCheck() @pyqtSlot(str) - def updateFirmware(self, file: Any[str, QUrl]) -> None: + def updateFirmware(self, file: Union[str, QUrl]) -> None: self._firmware_updater.updateFirmware(file) ## Reset USB device settings From fa5ee4c5a270111dad13803d4149ec06f49f8e20 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 28 Sep 2018 13:44:18 +0200 Subject: [PATCH 112/423] Fix typo --- .../UltimakerMachineActions/UpgradeFirmwareMachineAction.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index 469ada7afb..1d0aabcae3 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -16,7 +16,7 @@ Cura.MachineAction anchors.fill: parent; property bool printerConnected: Cura.MachineManager.printerConnected property var activeOutputDevice: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null - property var canUpdateFirmware: activeOutputDevice ? activeOutputDevice.activePrinter.canUpdateFirmware : False + property var canUpdateFirmware: activeOutputDevice ? activeOutputDevice.activePrinter.canUpdateFirmware : false Column { From 7ae6800a14ada0b2c2ef81a1deaf0b1484b66e85 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 14:01:28 +0200 Subject: [PATCH 113/423] Fix imports in QualityManager --- cura/CuraApplication.py | 2 +- cura/Machines/QualityManager.py | 12 ++++-------- cura/Scene/ConvexHullDecorator.py | 1 - 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 04c9ea88db..6fb79403cc 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -681,7 +681,7 @@ class CuraApplication(QtApplication): Logger.log("i", "Initializing quality manager") from cura.Machines.QualityManager import QualityManager - self._quality_manager = QualityManager(container_registry, parent = self) + self._quality_manager = QualityManager(self, parent = self) self._quality_manager.initialize() Logger.log("i", "Initializing machine manager") diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index d924f4c83e..ce19624c21 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -5,8 +5,6 @@ from typing import TYPE_CHECKING, Optional, cast, Dict, List from PyQt5.QtCore import QObject, QTimer, pyqtSignal, pyqtSlot -from UM.Application import Application - from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Logger import Logger from UM.Util import parseBool @@ -22,7 +20,6 @@ if TYPE_CHECKING: from cura.Settings.GlobalStack import GlobalStack from .QualityChangesGroup import QualityChangesGroup from cura.CuraApplication import CuraApplication - from UM.Settings.ContainerRegistry import ContainerRegistry # @@ -39,12 +36,11 @@ class QualityManager(QObject): qualitiesUpdated = pyqtSignal() - def __init__(self, container_registry: "ContainerRegistry", parent = None) -> None: + def __init__(self, application: "CuraApplication", parent = None) -> None: super().__init__(parent) - from cura.CuraApplication import CuraApplication - self._application = CuraApplication.getInstance() # type: CuraApplication + self._application = application self._material_manager = self._application.getMaterialManager() - self._container_registry = container_registry + self._container_registry = self._application.getContainerRegistry() self._empty_quality_container = self._application.empty_quality_container self._empty_quality_changes_container = self._application.empty_quality_changes_container @@ -460,7 +456,7 @@ class QualityManager(QObject): # stack and clear the user settings. @pyqtSlot(str) def createQualityChanges(self, base_name: str) -> None: - machine_manager = CuraApplication.getInstance().getMachineManager() + machine_manager = self._application.getMachineManager() global_stack = machine_manager.activeMachine if not global_stack: diff --git a/cura/Scene/ConvexHullDecorator.py b/cura/Scene/ConvexHullDecorator.py index 8532f40890..bdb4cbcba8 100644 --- a/cura/Scene/ConvexHullDecorator.py +++ b/cura/Scene/ConvexHullDecorator.py @@ -9,7 +9,6 @@ from UM.Math.Polygon import Polygon from UM.Scene.SceneNodeDecorator import SceneNodeDecorator from UM.Settings.ContainerRegistry import ContainerRegistry - from cura.Settings.ExtruderManager import ExtruderManager from cura.Scene import ConvexHullNode From 3bc91f15c34814e3de424ec025b2f070ff7a223a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 14:17:00 +0200 Subject: [PATCH 114/423] Fix mypy complains --- cura/OAuth2/AuthorizationHelpers.py | 40 +++++++++++++++-------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index 6cb53d2252..0a1447297c 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -4,7 +4,7 @@ import json import random from hashlib import sha512 from base64 import b64encode -from typing import Optional +from typing import Dict, Optional import requests @@ -24,37 +24,39 @@ class AuthorizationHelpers: def settings(self) -> "OAuth2Settings": return self._settings + # Gets a dictionary with data that need to be used for any HTTP authorization request. + def getCommonRequestDataDict(self) -> Dict[str, str]: + data_dict = {"client_id": self._settings.CLIENT_ID if self._settings.CLIENT_ID is not None else "", + "redirect_uri": self._settings.CALLBACK_URL if self._settings.CALLBACK_URL is not None else "", + "scope": self._settings.CLIENT_SCOPES if self._settings.CLIENT_SCOPES is not None else "", + } + return data_dict + # Request the access token from the authorization server. # \param authorization_code: The authorization code from the 1st step. # \param verification_code: The verification code needed for the PKCE extension. # \return: An AuthenticationResponse object. - def getAccessTokenUsingAuthorizationCode(self, authorization_code: str, verification_code: str)-> "AuthenticationResponse": - return self.parseTokenResponse(requests.post(self._token_url, data={ - "client_id": self._settings.CLIENT_ID, - "redirect_uri": self._settings.CALLBACK_URL, - "grant_type": "authorization_code", - "code": authorization_code, - "code_verifier": verification_code, - "scope": self._settings.CLIENT_SCOPES - })) # type: ignore + def getAccessTokenUsingAuthorizationCode(self, authorization_code: str, verification_code: str) -> "AuthenticationResponse": + data = self.getCommonRequestDataDict() + data["grant_type"] = "authorization_code" + data["code"] = authorization_code + data["code_verifier"] = verification_code + return self.parseTokenResponse(requests.post(self._token_url, data = data)) # type: ignore # Request the access token from the authorization server using a refresh token. # \param refresh_token: # \return: An AuthenticationResponse object. - def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> AuthenticationResponse: - return self.parseTokenResponse(requests.post(self._token_url, data={ - "client_id": self._settings.CLIENT_ID, - "redirect_uri": self._settings.CALLBACK_URL, - "grant_type": "refresh_token", - "refresh_token": refresh_token, - "scope": self._settings.CLIENT_SCOPES - })) # type: ignore + def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> "AuthenticationResponse": + data = self.getCommonRequestDataDict() + data["grant_type"] = "refresh_token" + data["refresh_token"] = refresh_token + return self.parseTokenResponse(requests.post(self._token_url, data = data)) # type: ignore @staticmethod # Parse the token response from the authorization server into an AuthenticationResponse object. # \param token_response: The JSON string data response from the authorization server. # \return: An AuthenticationResponse object. - def parseTokenResponse(token_response: requests.models.Response) -> AuthenticationResponse: + def parseTokenResponse(token_response: requests.models.Response) -> "AuthenticationResponse": token_data = None try: From b0602e795c1d8b16f94af29c4748f946ac24b605 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 28 Sep 2018 14:20:12 +0200 Subject: [PATCH 115/423] Update translations by Bothof for Cura 3.5 These are the files that Bothof gave us. I'll check and correct them soon. Contributes to issue CURA-5741. --- resources/i18n/de_DE/cura.po | 188 +++++++---------- resources/i18n/de_DE/fdmprinter.def.json.po | 74 +++---- resources/i18n/es_ES/cura.po | 188 +++++++---------- resources/i18n/es_ES/fdmprinter.def.json.po | 74 +++---- resources/i18n/fr_FR/cura.po | 190 +++++++---------- resources/i18n/fr_FR/fdmprinter.def.json.po | 74 +++---- resources/i18n/it_IT/cura.po | 188 +++++++---------- resources/i18n/it_IT/fdmprinter.def.json.po | 74 +++---- resources/i18n/ja_JP/cura.po | 171 +++++++--------- resources/i18n/ja_JP/fdmprinter.def.json.po | 78 +++---- resources/i18n/ko_KR/cura.po | 188 +++++++---------- resources/i18n/ko_KR/fdmprinter.def.json.po | 70 +++---- resources/i18n/nl_NL/cura.po | 188 +++++++---------- resources/i18n/nl_NL/fdmprinter.def.json.po | 74 +++---- resources/i18n/pt_PT/cura.po | 202 ++++++++---------- resources/i18n/pt_PT/fdmprinter.def.json.po | 74 +++---- resources/i18n/ru_RU/cura.po | 216 ++++++++------------ resources/i18n/ru_RU/fdmprinter.def.json.po | 80 ++++---- resources/i18n/tr_TR/cura.po | 188 +++++++---------- resources/i18n/tr_TR/fdmprinter.def.json.po | 74 +++---- resources/i18n/zh_CN/cura.po | 188 +++++++---------- resources/i18n/zh_CN/fdmprinter.def.json.po | 74 +++---- 22 files changed, 1221 insertions(+), 1694 deletions(-) diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index dac39b8de1..91b76b69ec 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -43,13 +43,13 @@ msgstr "G-Code-Datei" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter unterstützt keinen Nicht-Textmodus." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Generieren Sie vor dem Speichern bitte einen G-Code." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:

\n" -"

{model_names}

\n" -"

Erfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.

\n" -"

Leitfaden zu Druckqualität anzeigen

" +msgstr "

Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:

\n

{model_names}

\n

Erfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.

\n

Leitfaden zu Druckqualität anzeigen

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -108,7 +104,7 @@ msgstr "Über USB verbunden" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Ein USB-Druck wird ausgeführt. Das Schließen von Cura beendet diesen Druck. Sind Sie sicher?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -135,7 +131,7 @@ msgstr "Komprimierte G-Code-Datei" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeWriter unterstützt keinen Textmodus." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -632,7 +628,7 @@ msgstr "Schneiden (Slicing) ist nicht möglich, da der Einzugsturm oder die Einz #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Schneiden (Slicing) ist nicht möglich, da Objekte vorhanden sind, die mit dem deaktivierten Extruder %s verbunden sind." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -688,12 +684,12 @@ msgstr "Düse" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Projektdatei {0} enthält einen unbekannten Maschinentyp {1}. Importieren der Maschine ist nicht möglich. Stattdessen werden die Modelle importiert." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Projektdatei öffnen" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -750,7 +746,7 @@ msgstr "Cura-Projekt 3MF-Datei" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Fehler beim Schreiben von 3MF-Datei." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1078,12 +1074,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.

\n" -"

Beim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.

\n" -"

Backups sind im Konfigurationsordner abgelegt.

\n" -"

Senden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.

\n" -" " +msgstr "

Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.

\n

Beim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.

\n

Backups sind im Konfigurationsordner abgelegt.

\n

Senden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1107,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben

\n" -"

Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden

\n" -" " +msgstr "

Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben

\n

Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1466,7 +1454,7 @@ msgstr "Autor" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Downloads" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1506,27 +1494,27 @@ msgstr "Zurück" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Deinstallieren bestätigen " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Sie sind dabei, Materialien und/oder Profile zu deinstallieren, die noch verwendet werden. Durch Bestätigen werden die folgenden Materialien/Profile auf ihre Standardeinstellungen zurückgesetzt." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materialien" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Profile" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Bestätigen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1541,17 +1529,17 @@ msgstr "Quit Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Community-Beiträge" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Community-Plugins" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Generische Materialien" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1584,10 +1572,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Dieses Plugin enthält eine Lizenz.\n" -"Sie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\n" -"Stimmen Sie den nachfolgenden Bedingungen zu?" +msgstr "Dieses Plugin enthält eine Lizenz.\nSie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\nStimmen Sie den nachfolgenden Bedingungen zu?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1617,12 +1602,12 @@ msgstr "Pakete werden abgeholt..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Website" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-Mail" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1707,10 +1692,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n" -"\n" -"Wählen Sie Ihren Drucker aus der folgenden Liste:" +msgstr "Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n\nWählen Sie Ihren Drucker aus der folgenden Liste:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1759,12 +1741,12 @@ msgstr "Adresse" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Dieser Drucker ist nicht eingerichtet um eine Gruppe von Druckern anzusteuern." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Dieser Drucker steuert eine Gruppe von %1 Druckern an." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1812,52 +1794,52 @@ msgstr "Drucken" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Warten auf: Drucker nicht verfügbar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Warten auf: Ersten verfügbaren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Warten auf: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Vorziehen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Druckauftrag vorziehen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Soll dieser %1 wirklich an den Anfang der Warteschlange vorgezogen werden?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Löschen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Druckauftrag löschen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Soll %1 wirklich gelöscht werden?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Warteschlange verwalten" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1872,40 +1854,40 @@ msgstr "Drucken" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Drucker verwalten" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Nicht verfügbar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Nicht erreichbar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Verfügbar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Zurückkehren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Pausieren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Abbrechen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1916,13 +1898,13 @@ msgstr "Drucken abbrechen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Möchten Sie %1 wirklich abbrechen?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Abgebrochen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1937,7 +1919,7 @@ msgstr "Vorbereitung" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Wird pausiert..." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2355,7 +2337,7 @@ msgstr "Öffnen" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Zurück" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2367,12 +2349,12 @@ msgstr "Export" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Weiter" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Tipp" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2421,12 +2403,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Druckexperiment" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Checkliste" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2649,7 +2631,7 @@ msgstr "Bitte den Ausdruck entfernen" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Drucken abbrechen" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2666,9 +2648,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Sie haben einige Profileinstellungen angepasst.\n" -"Möchten Sie diese Einstellungen übernehmen oder verwerfen?" +msgstr "Sie haben einige Profileinstellungen angepasst.\nMöchten Sie diese Einstellungen übernehmen oder verwerfen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3112,7 +3092,7 @@ msgstr "Standardverhalten beim Öffnen einer Projektdatei: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Stets nachfragen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3132,22 +3112,22 @@ msgstr "Wenn Sie Änderungen für ein Profil vorgenommen haben und zu einem ande #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Profile" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Standardverhalten für geänderte Einstellungswerte beim Wechsel zu einem anderen Profil: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Geänderte Einstellungen immer verwerfen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Geänderte Einstellungen immer auf neues Profil übertragen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3342,7 +3322,7 @@ msgstr "Drucker hinzufügen" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Unbenannt" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3364,9 +3344,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\n" -"Cura verwendet mit Stolz die folgenden Open Source-Projekte:" +msgstr "Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\nCura verwendet mit Stolz die folgenden Open Source-Projekte:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3479,10 +3457,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n" -"\n" -"Klicken Sie, um den Profilmanager zu öffnen." +msgstr "Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n\nKlicken Sie, um den Profilmanager zu öffnen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3536,10 +3511,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n" -"\n" -"Klicken Sie, um diese Einstellungen sichtbar zu machen." +msgstr "Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n\nKlicken Sie, um diese Einstellungen sichtbar zu machen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3567,10 +3539,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Diese Einstellung hat einen vom Profil abweichenden Wert.\n" -"\n" -"Klicken Sie, um den Wert des Profils wiederherzustellen." +msgstr "Diese Einstellung hat einen vom Profil abweichenden Wert.\n\nKlicken Sie, um den Wert des Profils wiederherzustellen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3578,10 +3547,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n" -"\n" -"Klicken Sie, um den berechneten Wert wiederherzustellen." +msgstr "Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n\nKlicken Sie, um den berechneten Wert wiederherzustellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3700,17 +3666,17 @@ msgstr "Heizen Sie das Bett vor Druckbeginn auf. Sie können Ihren Druck währen #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Favoriten" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Generisch" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3806,9 +3772,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Druckeinrichtung deaktiviert\n" -"G-Code-Dateien können nicht geändert werden" +msgstr "Druckeinrichtung deaktiviert\nG-Code-Dateien können nicht geändert werden" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4150,17 +4114,17 @@ msgstr "&Datei" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Speichern" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Exportieren..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Auswahl exportieren..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4262,13 +4226,13 @@ msgstr "Möchten Sie wirklich ein neues Projekt beginnen? Damit werden das Druck #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Cura wird geschlossen" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Möchten Sie Cura wirklich beenden?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4450,7 +4414,7 @@ msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Für diese Materialkombination Kleber verwenden" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4790,12 +4754,12 @@ msgstr "Upgrade von Version 2.7 auf 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Aktualisiert Konfigurationen von Cura 3.4 auf Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Upgrade von Version 3.4 auf 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index a4e3ac334f..693d27fb84 100644 --- a/resources/i18n/de_DE/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"G-Code-Befehle, die zu Beginn ausgeführt werden sollen – getrennt durch \n" -"." +msgstr "G-Code-Befehle, die zu Beginn ausgeführt werden sollen – getrennt durch \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"G-Code-Befehle, die am Ende ausgeführt werden sollen – getrennt durch \n" -"." +msgstr "G-Code-Befehle, die am Ende ausgeführt werden sollen – getrennt durch \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1072,12 +1068,12 @@ msgstr "Zickzack" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Polygone oben/unten verbinden" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Außenhaut-Pfade oben/unten verbinden, wenn sie nebeneinander laufen. Bei konzentrischen Mustern reduziert die Aktivierung dieser Einstellung die Durchlaufzeit erheblich. Da die Verbindungen jedoch auf halbem Weg über der Füllung erfolgen können, kann diese Funktion die Oberflächenqualität reduzieren." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1162,22 +1158,22 @@ msgstr "Der Fluss für Teile einer Innenwand wird ausgeglichen, die dort gedruck #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Mindestwandfluss" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Minimal zulässiger Fluss als Prozentwert für eine Wandlinie. Die Wand-Überlappungskompensation reduziert den Fluss einer Wand, wenn sie nah an einer vorhandenen Wand liegt. Wände, deren Fluss unter diesem Wert liegt, werden durch eine Fahrbewegung ersetzt. Bei Verwendung dieser Einstellung müssen Sie die Wand-Überlappungskompensation aktivieren und die Außenwand vor den Innenwänden drucken." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Einziehen bevorzugt" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Bei Aktivierung wird der Einzug anstelle des Combings für zurückzulegende Wege verwendet, die Wände ersetzen, deren Fluss unter der mindestens erforderlichen Flussschwelle liegt." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1572,12 +1568,12 @@ msgstr "Verbindet die Enden, an denen das Füllmuster auf die Innenwand trifft, #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Füllungspolygone verbinden" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Verbinden Sie Füllungspfade, wenn sie nebeneinander laufen. Bei Füllungsmustern, die aus mehreren geschlossenen Polygonen bestehen, reduziert die Aktivierung dieser Einstellung die Durchlaufzeit erheblich." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1612,24 +1608,24 @@ msgstr "Das Füllmuster wird um diese Distanz entlang der Y-Achse verschoben." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Fülllinie multiplizieren" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Konvertieren Sie jede Fülllinie in diese mehrfachen Linien. Die zusätzlichen Linien überschneiden sich nicht, sondern vermeiden sich vielmehr. Damit wird die Füllung steifer, allerdings erhöhen sich Druckzeit und Materialverbrauch." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Zusätzliche Füllung Wandlinien" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Fügen Sie zusätzliche Wände um den Füllbereich hinzu. Derartige Wände können zu einem verringerten Absacken der oberen/unteren Außenhautlinien beitragen, was bedeutet, dass Sie weniger Außenhautschichten oben/unten bei derselben Qualität von Kosten für zusätzliches Material benötigen.\n Diese Funktion ist verknüpfbar mit „Füllungspolygone verbinden“, um alle Füllungen mit einem einzigen Extrusionspfad zu verbinden, ohne dass hierzu Vorwärtsbewegungen oder Rückzüge erforderlich sind, sofern die richtige Konfiguration gewählt wurde." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2779,7 +2775,7 @@ msgstr "Combing-Modus" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "Durch Combing bleibt die Düse während der Bewegung innerhalb von bereits gedruckten Bereichen. Dies führt zu einer leicht verlängerten Bewegungszeit, reduziert jedoch die Notwendigkeit von Einzügen. Wenn Combing deaktiviert ist, wird das Material eingezogen und die Düse bewegt sich in einer geraden Linie zum nächsten Punkt. Es ist außerdem möglich, das Combing über die oberen/unteren Außenhautbereiche zu vermeiden, indem nur die Füllung berücksichtigt wird. Die Option „Innerhalb der Füllung“ verhält sich genauso wie die Option „Nicht in Außenhaut“ in früheren Cura Versionen." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2799,7 +2795,7 @@ msgstr "Nicht in Außenhaut" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Innerhalb der Füllung" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3244,22 +3240,22 @@ msgstr "Der Abstand zwischen den gedruckten Stützstrukturlinien. Diese Einstell #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Linienabstand der ursprünglichen Stützstruktur" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Der Abstand zwischen der ursprünglichen gedruckten Stützstrukturlinien. Diese Einstellung wird anhand der Dichte der Stützstruktur berechnet." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Unterstützung Linienrichtung Füllung" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Ausrichtung des Füllmusters für Unterstützung. Das Füllmuster für Unterstützung wird in der horizontalen Planfläche gedreht." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3629,22 +3625,22 @@ msgstr "Zickzack" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Lüfterdrehzahl überschreiben" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Bei Aktivierung wird die Lüfterdrehzahl für die Druckkühlung für die Außenhautbereiche direkt über der Stützstruktur geändert." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Unterstützte Lüfterdrehzahl für Außenhaut" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Prozentwert der Lüfterdrehzahl für die Verwendung beim Drucken der Außenhautbereiche direkt oberhalb der Stützstruktur. Die Verwendung einer hohen Lüfterdrehzahl ermöglicht ein leichteres Entfernen der Stützstruktur." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3796,9 +3792,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Der horizontale Abstand zwischen dem Skirt und der ersten Schicht des Drucks.\n" -"Es handelt sich dabei um den Mindestabstand. Ab diesem Abstand werden mehrere Skirt-Linien in äußerer Richtung angebracht." +msgstr "Der horizontale Abstand zwischen dem Skirt und der ersten Schicht des Drucks.\nEs handelt sich dabei um den Mindestabstand. Ab diesem Abstand werden mehrere Skirt-Linien in äußerer Richtung angebracht." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3973,7 +3967,7 @@ msgstr "Die Breite der Linien in der Raft-Basisschicht. Dabei sollte es sich um #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Linienabstand der Raft-Basis" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4718,12 +4712,12 @@ msgstr "Der Materialfluss (in mm3 pro Sekunde) in Bezug zur Temperatur (Grad Cel #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Mindestumfang Polygon" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Polygone in geschnittenen Schichten, die einen Umfang unter diesem Wert haben, werden ausgefiltert. Niedrigere Werte führen zu einem Mesh mit höherer Auflösung zulasten der Slicing-Zeit. Dies gilt in erster Linie für SLA-Drucker mit höherer Auflösung und sehr kleine 3D-Modelle mit zahlreichen Details." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5235,9 +5229,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\n" -"Dies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur." +msgstr "Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\nDies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5387,22 +5379,22 @@ msgstr "Das ist der Schwellenwert, der definiert, ob eine kleinere Schicht verwe #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Winkel für überhängende Wände" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Wände, die über diesen Winkel hinaus hängen, werden mithilfe der Einstellungen für Winkel für überhängende Wände gedruckt. Wenn der Wert 90 beträgt, werden keine Wände als überhängend behandelt." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Geschwindigkeit für überhängende Wände" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Überhängende Wände werden zu diesem Prozentwert ihrer normalen Druckgeschwindigkeit gedruckt." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 57b0ecf879..7a2e602c73 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -43,13 +43,13 @@ msgstr "Archivo GCode" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter no es compatible con el modo sin texto." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Genere un G-code antes de guardar." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:

\n" -"

{model_names}

\n" -"

Obtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.

\n" -"

Ver guía de impresión de calidad

" +msgstr "

Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:

\n

{model_names}

\n

Obtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.

\n

Ver guía de impresión de calidad

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -108,7 +104,7 @@ msgstr "Conectado mediante USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Se está realizando una impresión con USB, si cierra Cura detendrá la impresión. ¿Desea continuar?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -135,7 +131,7 @@ msgstr "Archivo GCode comprimido" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeGzWriter no es compatible con el modo texto." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -632,7 +628,7 @@ msgstr "No se puede segmentar porque la torre auxiliar o la posición o posicion #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "No se puede segmentar porque hay objetos asociados al extrusor %s que está deshabilitado." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -688,12 +684,12 @@ msgstr "Tobera" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "El archivo del proyecto{0} contiene un tipo de máquina desconocida {1}. No se puede importar la máquina, en su lugar, se importarán los modelos." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Abrir archivo de proyecto" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -750,7 +746,7 @@ msgstr "Archivo 3MF del proyecto de Cura" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Error al escribir el archivo 3MF." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1078,12 +1074,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

¡Vaya! Ultimaker Cura ha encontrado un error.

\n" -"

Hemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.

\n" -"

Las copias de seguridad se encuentran en la carpeta de configuración.

\n" -"

Envíenos el informe de errores para que podamos solucionar el problema.

\n" -" " +msgstr "

¡Vaya! Ultimaker Cura ha encontrado un error.

\n

Hemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.

\n

Las copias de seguridad se encuentran en la carpeta de configuración.

\n

Envíenos el informe de errores para que podamos solucionar el problema.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1107,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.

\n" -"

Utilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.

\n" -" " +msgstr "

Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.

\n

Utilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1466,7 +1454,7 @@ msgstr "Autor" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Descargas" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1506,27 +1494,27 @@ msgstr "Atrás" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Confirmar desinstalación " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Va a desinstalar materiales o perfiles que todavía están en uso. Si confirma la desinstalación, los siguientes materiales o perfiles volverán a sus valores predeterminados." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materiales" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Perfiles" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Confirmar" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1541,17 +1529,17 @@ msgstr "Salir de Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Contribuciones de la comunidad" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Complementos de la comunidad" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Materiales genéricos" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1584,10 +1572,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Este complemento incluye una licencia.\n" -"Debe aceptar dicha licencia para instalar el complemento.\n" -"¿Acepta las condiciones que aparecen a continuación?" +msgstr "Este complemento incluye una licencia.\nDebe aceptar dicha licencia para instalar el complemento.\n¿Acepta las condiciones que aparecen a continuación?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1617,12 +1602,12 @@ msgstr "Buscando paquetes..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Sitio web" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "Correo electrónico" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1707,10 +1692,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n" -"\n" -"Seleccione la impresora de la siguiente lista:" +msgstr "Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n\nSeleccione la impresora de la siguiente lista:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1759,12 +1741,12 @@ msgstr "Dirección" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Esta impresora no está configurada para alojar un grupo de impresoras." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Esta impresora aloja un grupo de %1 impresoras." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1812,52 +1794,52 @@ msgstr "Imprimir" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Esperando: impresora no disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Esperando: primera disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Esperando: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "mover al principio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Mover trabajo de impresión al principio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "¿Seguro que desea mover %1 al principio de la cola?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Borrar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Borrar trabajo de impresión" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "¿Seguro que desea borrar %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Administrar cola" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1872,40 +1854,40 @@ msgstr "Imprimiendo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Administrar impresoras" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "No disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "No se puede conectar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Reanudar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Pausar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Cancelar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1916,13 +1898,13 @@ msgstr "Cancela la impresión" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "¿Seguro que desea cancelar %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Cancelado" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1937,7 +1919,7 @@ msgstr "Preparando" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Pausando" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2355,7 +2337,7 @@ msgstr "Abrir" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Anterior" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2367,12 +2349,12 @@ msgstr "Exportar" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Siguiente" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Consejo" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2421,12 +2403,12 @@ msgstr "%1 m/~ %2 g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Ensayo de impresión" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Lista de verificación" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2649,7 +2631,7 @@ msgstr "Retire la impresión." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Cancelar impresión" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2666,9 +2648,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Ha personalizado parte de los ajustes del perfil.\n" -"¿Desea descartar los cambios o guardarlos?" +msgstr "Ha personalizado parte de los ajustes del perfil.\n¿Desea descartar los cambios o guardarlos?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3112,7 +3092,7 @@ msgstr "Comportamiento predeterminado al abrir un archivo del proyecto: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Preguntar siempre" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3132,22 +3112,22 @@ msgstr "Si ha realizado cambios en un perfil y, a continuación, ha cambiado a o #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Perfiles" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Comportamiento predeterminado para los valores modificados al cambiar a otro perfil: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Descartar siempre los ajustes modificados" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Transferir siempre los ajustes modificados al nuevo perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3342,7 +3322,7 @@ msgstr "Agregar impresora" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Sin título" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3364,9 +3344,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\n" -"Cura se enorgullece de utilizar los siguientes proyectos de código abierto:" +msgstr "Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\nCura se enorgullece de utilizar los siguientes proyectos de código abierto:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3479,10 +3457,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n" -"\n" -"Haga clic para abrir el administrador de perfiles." +msgstr "Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n\nHaga clic para abrir el administrador de perfiles." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3536,10 +3511,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n" -"\n" -"Haga clic para mostrar estos ajustes." +msgstr "Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n\nHaga clic para mostrar estos ajustes." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3567,10 +3539,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Este ajuste tiene un valor distinto del perfil.\n" -"\n" -"Haga clic para restaurar el valor del perfil." +msgstr "Este ajuste tiene un valor distinto del perfil.\n\nHaga clic para restaurar el valor del perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3578,10 +3547,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n" -"\n" -"Haga clic para restaurar el valor calculado." +msgstr "Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n\nHaga clic para restaurar el valor calculado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3700,17 +3666,17 @@ msgstr "Caliente la plataforma antes de imprimir. Puede continuar ajustando la i #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Favoritos" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Genérico" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3806,9 +3772,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Ajustes de impresión deshabilitados\n" -"No se pueden modificar los archivos GCode" +msgstr "Ajustes de impresión deshabilitados\nNo se pueden modificar los archivos GCode" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4150,17 +4114,17 @@ msgstr "&Archivo" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Guardar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Exportar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Exportar selección..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4262,13 +4226,13 @@ msgstr "¿Está seguro de que desea iniciar un nuevo proyecto? Esto borrará la #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Cerrando Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "¿Seguro que desea salir de Cura?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4450,7 +4414,7 @@ msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Utilizar pegamento con esta combinación de materiales" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4790,12 +4754,12 @@ msgstr "Actualización de la versión 2.7 a la 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Actualiza las configuraciones de Cura 3.4 a Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Actualización de la versión 3.4 a la 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 62d8d4a158..6cfbabcf13 100644 --- a/resources/i18n/es_ES/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -57,9 +57,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Los comandos de GCode que se ejecutarán justo al inicio separados por - \n" -"." +msgstr "Los comandos de GCode que se ejecutarán justo al inicio separados por - \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -71,9 +69,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Los comandos de GCode que se ejecutarán justo al final separados por -\n" -"." +msgstr "Los comandos de GCode que se ejecutarán justo al final separados por -\n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1073,12 +1069,12 @@ msgstr "Zigzag" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Conectar polígonos superiores/inferiores" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Conectar las trayectorias de forro superior/inferior cuando están próximas entre sí. Al habilitar este ajuste, en el patrón concéntrico se reduce considerablemente el tiempo de desplazamiento, pero las conexiones pueden producirse en mitad del relleno, con lo que la bajaría la calidad de la superficie superior." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1163,22 +1159,22 @@ msgstr "Compensa el flujo en partes de una pared interior que se están imprimie #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Flujo de pared mínimo" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Porcentaje mínimo de flujo permitido en una línea de pared. La compensación de superposición reduce el flujo de pared cuando se coloca cerca de otra pared. Las paredes con flujos inferiores a este valor se sustituirán con un movimiento de desplazamiento. Al utilizar este ajuste debe habilitar la compensación de superposición de pared e imprimir la pared exterior antes que las interiores." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Preferencia de retracción" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Si se habilita esta opción, se utilizará retracción en lugar de peinada para los movimientos de desplazamiento que sustituyen las paredes cuyo flujo está por debajo de los límites mínimos de flujo." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1573,12 +1569,12 @@ msgstr "Conectar los extremos donde los patrones de relleno se juntan con la par #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Conectar polígonos de relleno" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Conectar las trayectorias de polígonos cuando están próximas entre sí. Habilitar esta opción reduce considerablemente el tiempo de desplazamiento en los patrones de relleno que constan de varios polígonos cerrados." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1613,24 +1609,24 @@ msgstr "El patrón de relleno se mueve esta distancia a lo largo del eje Y." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Multiplicador de línea de relleno" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Multiplicar cada línea de relleno. Las líneas adicionales no se cruzan entre sí, sino que se evitan entre ellas. Esto consigue un relleno más rígido, pero incrementa el tiempo de impresión y el uso de material." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Recuento de líneas de pared adicional" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Agregar paredes adicionales alrededor del área de relleno. Estas paredes pueden hacer que las líneas del forro superior/inferior se aflojen menos, lo que significa que necesitaría menos capas de forro superior/inferior para obtener la misma calidad utilizando algo más de material.\nPuede utilizar esta función junto a la de Conectar polígonos de relleno para conectar todo el relleno en una única trayectoria de extrusión sin necesidad de desplazamientos ni retracciones si se configura correctamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2780,7 +2776,7 @@ msgstr "Modo Peinada" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "La opción de peinada mantiene la tobera dentro de las áreas ya impresas al desplazarse. Esto ocasiona movimientos de desplazamiento ligeramente más largos, pero reduce la necesidad de realizar retracciones. Si se desactiva la opción de peinada, el material se retraerá y la tobera se moverá en línea recta hasta el siguiente punto. Otra posibilidad es evitar la peinada en áreas de forro superiores/inferiores y además peinar solo en el relleno. La opción de «Sobre el relleno» actúa exactamente igual que la «No está en el forro» de las versiones de Cura anteriores." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2800,7 +2796,7 @@ msgstr "No en el forro" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Sobre el relleno" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3245,22 +3241,22 @@ msgstr "Distancia entre las líneas de estructuras del soporte impresas. Este aj #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Distancia de línea del soporte de la capa inicial" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Distancia entre las líneas de estructuras del soporte de la capa inicial impresas. Este ajuste se calcula por la densidad del soporte." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Dirección de línea de relleno de soporte" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Orientación del patrón de relleno para soportes. El patrón de relleno de soporte se gira en el plano horizontal." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3630,22 +3626,22 @@ msgstr "Zigzag" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Alteración de velocidad del ventilador" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Al habilitar esta opción, la velocidad del ventilador de enfriamiento de impresión cambia para las áreas de forro que se encuentran inmediatamente encima del soporte." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Velocidad del ventilador para forro con soporte" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Porcentaje para la velocidad de ventilador que se utiliza al imprimir las áreas del forro que se encuentran inmediatamente encima del soporte. Si utiliza una velocidad alta para el ventilador, será más fácil retirar el soporte." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3797,9 +3793,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"La distancia horizontal entre la falda y la primera capa de la impresión.\n" -"Se trata de la distancia mínima. Múltiples líneas de falda se extenderán hacia el exterior a partir de esta distancia." +msgstr "La distancia horizontal entre la falda y la primera capa de la impresión.\nSe trata de la distancia mínima. Múltiples líneas de falda se extenderán hacia el exterior a partir de esta distancia." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3974,7 +3968,7 @@ msgstr "Ancho de las líneas de la capa base de la balsa. Estas deben ser línea #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Espacio de la línea base de la balsa" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4719,12 +4713,12 @@ msgstr "Datos que vinculan el flujo de materiales (en 3 mm por segundo) a la tem #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Circunferencia mínima de polígono" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Se filtran los polígonos en capas segmentadas que tienen una circunferencia más pequeña que esta. Los valores más pequeños suponen una resolución de malla mayor a costa de un tiempo de segmentación. Está indicado, sobre todo, para impresoras SLA y modelos 3D muy pequeños con muchos detalles." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5236,9 +5230,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Distancia de un movimiento ascendente que se extrude a media velocidad.\n" -"Esto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre." +msgstr "Distancia de un movimiento ascendente que se extrude a media velocidad.\nEsto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5388,22 +5380,22 @@ msgstr "Umbral para usar o no una capa más pequeña. Este número se compara co #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Ángulo de voladizo de pared" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Las paredes con un ángulo de voladizo mayor que este se imprimirán con los ajustes de voladizo de pared. Cuando el valor sea 90, no se aplicará la condición de voladizo a la pared." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Velocidad de voladizo de pared" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Los voladizos de pared se imprimirán a este porcentaje de su velocidad de impresión normal." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index 2a075f7c31..3a92054283 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -43,13 +43,13 @@ msgstr "Fichier GCode" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter ne prend pas en charge le mode non-texte." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Veuillez générer le G-Code avant d'enregistrer." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :

\n" -"

{model_names}

\n" -"

Découvrez comment optimiser la qualité et la fiabilité de l'impression.

\n" -"

Consultez le guide de qualité d'impression

" +msgstr "

Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :

\n

{model_names}

\n

Découvrez comment optimiser la qualité et la fiabilité de l'impression.

\n

Consultez le guide de qualité d'impression

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -108,7 +104,7 @@ msgstr "Connecté via USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Une impression USB est en cours, la fermeture de Cura arrêtera cette impression. Êtes-vous sûr ?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -135,7 +131,7 @@ msgstr "Fichier G-Code compressé" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeGzWriter ne prend pas en charge le mode texte." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -632,7 +628,7 @@ msgstr "Impossible de couper car la tour primaire ou la (les) position(s) d'amor #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Impossible de couper car il existe des objets associés à l'extrudeuse désactivée %s." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -688,12 +684,12 @@ msgstr "Buse" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Le fichier projet {0} contient un type de machine inconnu {1}. Impossible d'importer la machine. Les modèles seront importés à la place." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Ouvrir un fichier de projet" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -750,7 +746,7 @@ msgstr "Projet Cura fichier 3MF" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Erreur d'écriture du fichier 3MF." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1078,12 +1074,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

Oups, un problème est survenu dans Ultimaker Cura.

\n" -"

Une erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.

\n" -"

Les sauvegardes se trouvent dans le dossier de configuration.

\n" -"

Veuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.

\n" -" " +msgstr "

Oups, un problème est survenu dans Ultimaker Cura.

\n

Une erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.

\n

Les sauvegardes se trouvent dans le dossier de configuration.

\n

Veuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1107,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème

\n" -"

Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs

\n" -" " +msgstr "

Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème

\n

Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1466,7 +1454,7 @@ msgstr "Auteur" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Téléchargements" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1506,27 +1494,27 @@ msgstr "Précédent" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Confirmer la désinstallation " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Vous désinstallez des matériaux et/ou des profils qui sont encore en cours d'utilisation. La confirmation réinitialisera les matériaux / profils suivants à leurs valeurs par défaut." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Matériaux" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Profils" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Confirmer" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1541,17 +1529,17 @@ msgstr "Quitter Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Contributions de la communauté" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Plug-ins de la communauté" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Matériaux génériques" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1584,10 +1572,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Ce plug-in contient une licence.\n" -"Vous devez approuver cette licence pour installer ce plug-in.\n" -"Acceptez-vous les clauses ci-dessous ?" +msgstr "Ce plug-in contient une licence.\nVous devez approuver cette licence pour installer ce plug-in.\nAcceptez-vous les clauses ci-dessous ?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1617,12 +1602,12 @@ msgstr "Récupération des paquets..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Site Internet" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-mail" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1707,10 +1692,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n" -"\n" -"Sélectionnez votre imprimante dans la liste ci-dessous :" +msgstr "Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n\nSélectionnez votre imprimante dans la liste ci-dessous :" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1759,12 +1741,12 @@ msgstr "Adresse" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Cette imprimante n'est pas configurée pour héberger un groupe d'imprimantes." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Cette imprimante est l'hôte d'un groupe d'imprimantes %1." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1812,52 +1794,52 @@ msgstr "Imprimer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "En attente : imprimante non disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "En attente : première imprimante disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "En attente : " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Déplacer l'impression en haut" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Déplacer l'impression en haut de la file d'attente" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Êtes-vous sûr de vouloir déplacer %1 en haut de la file d'attente ?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Effacer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Supprimer l'impression" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Êtes-vous sûr de vouloir supprimer %1 ?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Gérer la file d'attente" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1872,40 +1854,40 @@ msgstr "Impression..." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Gérer les imprimantes" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Non disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Injoignable" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Disponible" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Reprendre" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Pause" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Abandonner" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1916,13 +1898,13 @@ msgstr "Abandonner l'impression" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Êtes-vous sûr de vouloir annuler %1 ?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Abandonné" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1937,7 +1919,7 @@ msgstr "Préparation..." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Mise en pause" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2355,7 +2337,7 @@ msgstr "Ouvrir" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Précédent" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2367,12 +2349,12 @@ msgstr "Exporter" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Suivant" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Astuce" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2421,12 +2403,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Test d'impression" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Liste de contrôle" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2649,7 +2631,7 @@ msgstr "Supprimez l'imprimante" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Abandonner l'impression" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2666,9 +2648,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Vous avez personnalisé certains paramètres du profil.\n" -"Souhaitez-vous conserver ces changements, ou les annuler ?" +msgstr "Vous avez personnalisé certains paramètres du profil.\nSouhaitez-vous conserver ces changements, ou les annuler ?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3112,7 +3092,7 @@ msgstr "Comportement par défaut lors de l'ouverture d'un fichier de projet : " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Toujours me demander" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3132,22 +3112,22 @@ msgstr "Lorsque vous apportez des modifications à un profil puis passez à un a #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Profils" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Comportement par défaut pour les valeurs de paramètres modifiées lors du passage à un profil différent : " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Toujours rejeter les paramètres modifiés" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Toujours transférer les paramètres modifiés dans le nouveau profil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3342,7 +3322,7 @@ msgstr "Ajouter une imprimante" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Sans titre" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3364,9 +3344,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\n" -"Cura est fier d'utiliser les projets open source suivants :" +msgstr "Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\nCura est fier d'utiliser les projets open source suivants :" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3479,10 +3457,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n" -"\n" -"Cliquez pour ouvrir le gestionnaire de profils." +msgstr "Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n\nCliquez pour ouvrir le gestionnaire de profils." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3536,10 +3511,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n" -"\n" -"Cliquez pour rendre ces paramètres visibles." +msgstr "Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n\nCliquez pour rendre ces paramètres visibles." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3567,10 +3539,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Ce paramètre possède une valeur qui est différente du profil.\n" -"\n" -"Cliquez pour restaurer la valeur du profil." +msgstr "Ce paramètre possède une valeur qui est différente du profil.\n\nCliquez pour restaurer la valeur du profil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3578,10 +3547,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n" -"\n" -"Cliquez pour restaurer la valeur calculée." +msgstr "Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n\nCliquez pour restaurer la valeur calculée." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3700,17 +3666,17 @@ msgstr "Préchauffez le plateau avant l'impression. Vous pouvez continuer à aju #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Matériau" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Favoris" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Générique" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3806,9 +3772,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Configuration de l'impression désactivée\n" -"Les fichiers G-Code ne peuvent pas être modifiés" +msgstr "Configuration de l'impression désactivée\nLes fichiers G-Code ne peuvent pas être modifiés" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4150,17 +4114,17 @@ msgstr "&Fichier" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Enregistrer..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Exporter..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Exporter la sélection..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4207,7 +4171,7 @@ msgstr "Désactiver l'extrudeuse" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 msgctxt "@title:menu" msgid "&Build plate" -msgstr "Plateau" +msgstr "&Plateau" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 msgctxt "@title:settings" @@ -4262,13 +4226,13 @@ msgstr "Êtes-vous sûr(e) de souhaiter lancer un nouveau projet ? Cela supprim #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Fermeture de Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Êtes-vous sûr de vouloir quitter Cura ?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4450,7 +4414,7 @@ msgstr "Matériau" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Utiliser de la colle avec cette combinaison de matériaux" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4790,12 +4754,12 @@ msgstr "Mise à niveau de version, de 2.7 vers 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Configurations des mises à niveau de Cura 3.4 vers Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Mise à niveau de 3.4 vers 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index acf2f8d378..a411605fc2 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -57,9 +57,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Commandes G-Code à exécuter au tout début, séparées par \n" -"." +msgstr "Commandes G-Code à exécuter au tout début, séparées par \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -71,9 +69,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Commandes G-Code à exécuter tout à la fin, séparées par \n" -"." +msgstr "Commandes G-Code à exécuter tout à la fin, séparées par \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1073,12 +1069,12 @@ msgstr "Zig Zag" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Relier les polygones supérieurs / inférieurs" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Relier les voies de couche extérieure supérieures / inférieures lorsqu'elles sont côte à côte. Pour le motif concentrique, ce paramètre réduit considérablement le temps de parcours, mais comme les liens peuvent se trouver à mi-chemin sur le remplissage, cette fonctionnalité peut réduire la qualité de la surface supérieure." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1163,22 +1159,22 @@ msgstr "Compenser le débit pour les parties d'une paroi intérieure imprimées #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Débit minimal de la paroi" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Pourcentage de débit minimum autorisé pour une ligne de paroi. La compensation de chevauchement de paroi réduit le débit d'une paroi lorsqu'elle se trouve à proximité d'une paroi existante. Les parois dont le débit est inférieur à cette valeur seront remplacées par un déplacement. Lors de l'utilisation de ce paramètre, vous devez activer la compensation de chevauchement de paroi et imprimer la paroi externe avant les parois internes." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Préférer la rétractation" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Si cette option est activée, la rétraction est utilisée à la place des détours pour les déplacements qui remplacent les parois dont le débit est inférieur au seuil de débit minimal." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1573,12 +1569,12 @@ msgstr "Relie les extrémités où le motif de remplissage touche la paroi inter #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Relier les polygones de remplissage" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Relier les voies de remplissage lorsqu'elles sont côte à côte. Pour les motifs de remplissage composés de plusieurs polygones fermés, ce paramètre permet de réduire considérablement le temps de parcours." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1613,24 +1609,24 @@ msgstr "Le motif de remplissage est décalé de cette distance sur l'axe Y." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Multiplicateur de ligne de remplissage" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Convertir chaque ligne de remplissage en ce nombre de lignes. Les lignes supplémentaires ne se croisent pas entre elles, mais s'évitent mutuellement. Cela rend le remplissage plus rigide, mais augmente le temps d'impression et la quantité de matériau utilisé." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Nombre de parois de remplissage supplémentaire" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Ajoutez des parois supplémentaires autour de la zone de remplissage. De telles parois peuvent réduire l'affaissement des lignes de couche extérieure supérieure / inférieure, réduisant le nombre de couches extérieures supérieures / inférieures nécessaires pour obtenir la même qualité, au prix d'un peu de matériau supplémentaire.\nConfigurée correctement, cette fonctionnalité peut être combinée avec « Relier les polygones de remplissage » pour relier tous les remplissages en un seul mouvement d'extrusion sans avoir besoin de déplacements ou de rétractions." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2780,7 +2776,7 @@ msgstr "Mode de détours" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "Les détours maintiennent la buse dans les zones déjà imprimées lors des déplacements. Cela résulte en des déplacements légèrement plus longs mais réduit le recours aux rétractions. Si les détours sont désactivés, le matériau se rétractera et la buse se déplacera en ligne droite jusqu'au point suivant. Il est également possible d'éviter les détours sur les zones de la couche extérieure supérieure / inférieure et aussi de n'effectuer les détours que dans le remplissage. Notez que l'option « À l'intérieur du remplissage » se comporte exactement comme l'option « Pas dans la couche extérieure » dans les versions précédentes de Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2800,7 +2796,7 @@ msgstr "Pas dans la couche extérieure" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "À l'intérieur du remplissage" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3245,22 +3241,22 @@ msgstr "Distance entre les lignes de support imprimées. Ce paramètre est calcu #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Distance d'écartement de ligne du support de la couche initiale" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Distance entre les lignes de la structure de support de la couche initiale imprimée. Ce paramètre est calculé en fonction de la densité du support." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Direction de ligne de remplissage du support" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Orientation du motif de remplissage pour les supports. Le motif de remplissage du support pivote dans le plan horizontal." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3630,22 +3626,22 @@ msgstr "Zig Zag" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Annulation de la vitesse du ventilateur" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Lorsque cette fonction est activée, la vitesse du ventilateur de refroidissement de l'impression est modifiée pour les régions de la couche extérieure situées immédiatement au-dessus du support." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Vitesse du ventilateur de couche extérieure supportée" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Pourcentage de la vitesse du ventilateur à utiliser lors de l'impression des zones de couche extérieure situées immédiatement au-dessus du support. Une vitesse de ventilateur élevée facilite le retrait du support." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3797,9 +3793,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"La distance horizontale entre la jupe et la première couche de l’impression.\n" -"Il s’agit de la distance minimale séparant la jupe de l’objet. Si la jupe a d’autres lignes, celles-ci s’étendront vers l’extérieur." +msgstr "La distance horizontale entre la jupe et la première couche de l’impression.\nIl s’agit de la distance minimale séparant la jupe de l’objet. Si la jupe a d’autres lignes, celles-ci s’étendront vers l’extérieur." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3974,7 +3968,7 @@ msgstr "Largeur des lignes de la couche de base du radeau. Elles doivent être #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Espacement des lignes de base du radeau" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4719,12 +4713,12 @@ msgstr "Données reliant le flux de matériau (en mm3 par seconde) à la tempér #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Circonférence minimale du polygone" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Les polygones en couches tranchées dont la circonférence est inférieure à cette valeur seront filtrés. Des valeurs élevées permettent d'obtenir un maillage de meilleure résolution mais augmentent le temps de découpe. Cette option est principalement destinée aux imprimantes SLA haute résolution et aux modèles 3D de très petite taille avec beaucoup de détails." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5236,9 +5230,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Distance d’un déplacement ascendant qui est extrudé à mi-vitesse.\n" -"Cela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire." +msgstr "Distance d’un déplacement ascendant qui est extrudé à mi-vitesse.\nCela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5388,22 +5380,22 @@ msgstr "Limite indiquant d'utiliser ou non une couche plus petite. Ce nombre est #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Angle de parois en porte-à-faux" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Les parois ayant un angle supérieur à cette valeur seront imprimées en utilisant les paramètres de parois en porte-à-faux. Si la valeur est 90, aucune paroi ne sera considérée comme étant en porte-à-faux." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Vitesse de paroi en porte-à-faux" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Les parois en porte-à-faux seront imprimées à ce pourcentage de leur vitesse d'impression normale." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index fa0a1b7b71..07ea3e8580 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -41,13 +41,13 @@ msgstr "File G-Code" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter non supporta la modalità non di testo." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Generare il codice G prima di salvare." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -62,11 +62,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:

\n" -"

{model_names}

\n" -"

Scopri come garantire la migliore qualità ed affidabilità di stampa.

\n" -"

Visualizza la guida alla qualità di stampa

" +msgstr "

La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:

\n

{model_names}

\n

Scopri come garantire la migliore qualità ed affidabilità di stampa.

\n

Visualizza la guida alla qualità di stampa

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -106,7 +102,7 @@ msgstr "Connesso tramite USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Stampa tramite USB in corso, la chiusura di Cura interrompe la stampa. Confermare?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -133,7 +129,7 @@ msgstr "File G-Code compresso" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeGzWriter non supporta la modalità di testo." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -630,7 +626,7 @@ msgstr "Impossibile eseguire il sezionamento perché la torre di innesco o la po #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Impossibile effettuare il sezionamento in quanto vi sono oggetti associati a Extruder %s disabilitato." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -686,12 +682,12 @@ msgstr "Ugello" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Il file di progetto {0} contiene un tipo di macchina sconosciuto {1}. Impossibile importare la macchina. Verranno invece importati i modelli." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Apri file progetto" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -748,7 +744,7 @@ msgstr "File 3MF Progetto Cura" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Errore scrittura file 3MF." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1076,12 +1072,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.

\n" -"

Abbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.

\n" -"

I backup sono contenuti nella cartella configurazione.

\n" -"

Si prega di inviare questo Rapporto su crash per correggere il problema.

\n" -" " +msgstr "

Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.

\n

Abbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.

\n

I backup sono contenuti nella cartella configurazione.

\n

Si prega di inviare questo Rapporto su crash per correggere il problema.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1114,10 +1105,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema

\n" -"

Usare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server

\n" -" " +msgstr "

Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema

\n

Usare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1464,7 +1452,7 @@ msgstr "Autore" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Download" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1504,27 +1492,27 @@ msgstr "Indietro" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Conferma disinstalla " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Si stanno installando materiali e/o profili ancora in uso. La conferma ripristina i seguenti materiali/profili ai valori predefiniti." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materiali" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Profili" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Conferma" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1539,17 +1527,17 @@ msgstr "Esci da Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Contributi della comunità" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Plugin della comunità" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Materiali generici" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1582,10 +1570,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Questo plugin contiene una licenza.\n" -"È necessario accettare questa licenza per poter installare il plugin.\n" -"Accetti i termini sotto riportati?" +msgstr "Questo plugin contiene una licenza.\nÈ necessario accettare questa licenza per poter installare il plugin.\nAccetti i termini sotto riportati?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1615,12 +1600,12 @@ msgstr "Recupero dei pacchetti..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Sito web" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-mail" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1705,10 +1690,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n" -"\n" -"Selezionare la stampante dall’elenco seguente:" +msgstr "Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n\nSelezionare la stampante dall’elenco seguente:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1757,12 +1739,12 @@ msgstr "Indirizzo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Questa stampante non è predisposta per comandare un gruppo di stampanti." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Questa stampante comanda un gruppo di %1 stampanti." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1810,52 +1792,52 @@ msgstr "Stampa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "In attesa: stampante non disponibile" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "In attesa della prima disponibile" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "In attesa: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Sposta in alto" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Sposta il processo di stampa in alto" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Sei sicuro di voler spostare 1% all’inizio della coda?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Cancella" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Cancella processo di stampa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Sei sicuro di voler cancellare %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Gestione coda di stampa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1870,40 +1852,40 @@ msgstr "Stampa in corso" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Gestione stampanti" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Non disponibile" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Non raggiungibile" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Disponibile" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Riprendi" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Pausa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Interrompi" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1914,13 +1896,13 @@ msgstr "Interrompi la stampa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Sei sicuro di voler interrompere %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Interrotto" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1935,7 +1917,7 @@ msgstr "Preparazione in corso" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Messa in pausa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2353,7 +2335,7 @@ msgstr "Apri" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Precedente" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2365,12 +2347,12 @@ msgstr "Esporta" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Avanti" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Suggerimento" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2419,12 +2401,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Prova di stampa" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Lista di controllo" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2647,7 +2629,7 @@ msgstr "Rimuovere la stampa" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Interrompi la stampa" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Sono state personalizzate alcune impostazioni del profilo.\n" -"Mantenere o eliminare tali impostazioni?" +msgstr "Sono state personalizzate alcune impostazioni del profilo.\nMantenere o eliminare tali impostazioni?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3110,7 +3090,7 @@ msgstr "Comportamento predefinito all'apertura di un file progetto: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Chiedi sempre" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3130,22 +3110,22 @@ msgstr "Dopo aver modificato un profilo ed essere passati a un altro, si apre un #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Profili" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Comportamento predefinito per i valori di impostazione modificati al passaggio a un profilo diverso: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Elimina sempre le impostazioni modificate" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Trasferisci sempre le impostazioni modificate a un nuovo profilo" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3340,7 +3320,7 @@ msgstr "Aggiungi stampante" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Senza titolo" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3362,9 +3342,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\n" -"Cura è orgogliosa di utilizzare i seguenti progetti open source:" +msgstr "Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\nCura è orgogliosa di utilizzare i seguenti progetti open source:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3477,10 +3455,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n" -"\n" -"Fare clic per aprire la gestione profili." +msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3534,10 +3509,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n" -"\n" -"Fare clic per rendere visibili queste impostazioni." +msgstr "Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n\nFare clic per rendere visibili queste impostazioni." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3565,10 +3537,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Questa impostazione ha un valore diverso dal profilo.\n" -"\n" -"Fare clic per ripristinare il valore del profilo." +msgstr "Questa impostazione ha un valore diverso dal profilo.\n\nFare clic per ripristinare il valore del profilo." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3576,10 +3545,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n" -"\n" -"Fare clic per ripristinare il valore calcolato." +msgstr "Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n\nFare clic per ripristinare il valore calcolato." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3698,17 +3664,17 @@ msgstr "Riscalda il piano prima della stampa. È possibile continuare a regolare #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Materiale" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Preferiti" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Generale" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3804,9 +3770,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Impostazione di stampa disabilitata\n" -"I file codice G non possono essere modificati" +msgstr "Impostazione di stampa disabilitata\nI file codice G non possono essere modificati" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4148,17 +4112,17 @@ msgstr "&File" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Salva..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Esporta..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Esporta selezione..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4260,13 +4224,13 @@ msgstr "Sei sicuro di voler aprire un nuovo progetto? Questo cancellerà il pian #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Chiusura di Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Sei sicuro di voler uscire da Cura?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4448,7 +4412,7 @@ msgstr "Materiale" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Utilizzare la colla con questa combinazione di materiali" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4788,12 +4752,12 @@ msgstr "Aggiornamento della versione da 2.7 a 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Aggiorna le configurazioni da Cura 3.4 a Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Aggiornamento della versione da 3.4 a 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index f97eef75ba..2934b86a02 100644 --- a/resources/i18n/it_IT/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"I comandi codice G da eseguire all’avvio, separati da \n" -"." +msgstr "I comandi codice G da eseguire all’avvio, separati da \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"I comandi codice G da eseguire alla fine, separati da \n" -"." +msgstr "I comandi codice G da eseguire alla fine, separati da \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1072,12 +1068,12 @@ msgstr "Zig Zag" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Collega poligoni superiori/inferiori" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Collega i percorsi del rivestimento esterno superiore/inferiore quando corrono uno accanto all’altro. Per le configurazioni concentriche, l’abilitazione di questa impostazione riduce notevolmente il tempo di spostamento, tuttavia poiché i collegamenti possono aver luogo a metà del riempimento, con questa funzione la qualità della superficie superiore potrebbe risultare inferiore." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1162,22 +1158,22 @@ msgstr "Compensa il flusso per le parti di una parete interna che viene stampata #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Flusso minimo della parete" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Flusso percentuale minimo ammesso per una linea perimetrale. La compensazione di sovrapposizione pareti riduce il flusso di una parete quando si trova vicino a una parete esistente. Le pareti con un flusso inferiore a questo valore saranno sostituite da uno spostamento. Quando si utilizza questa impostazione, si deve abilitare la compensazione della sovrapposizione pareti e stampare la parete esterna prima delle pareti interne." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Preferire retrazione" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Se abilitata, la retrazione viene utilizzata al posto del combing per gli spostamenti che sostituiscono le pareti aventi un flusso inferiore alla soglia minima." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1572,12 +1568,12 @@ msgstr "Collegare le estremità nel punto in cui il riempimento incontra la pare #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Collega poligoni di riempimento" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Collega i percorsi di riempimento quando corrono uno accanto all’altro. Per le configurazioni di riempimento composte da più poligoni chiusi, l’abilitazione di questa impostazione riduce notevolmente il tempo di spostamento." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1612,24 +1608,24 @@ msgstr "Il riempimento si sposta di questa distanza lungo l'asse Y." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Moltiplicatore delle linee di riempimento" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Converte ogni linea di riempimento in questo numero di linee. Le linee supplementari non si incrociano tra loro, ma si evitano. In tal modo il riempimento risulta più rigido, ma il tempo di stampa e la quantità di materiale aumentano." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Conteggio pareti di riempimento supplementari" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Aggiunge pareti supplementari intorno alla zona di riempimento. Queste pareti possono ridurre l’abbassamento delle linee del rivestimento esterno superiore/inferiore, pertanto saranno necessari meno strati di rivestimento esterno superiore/inferiore per ottenere la stessa qualità al costo del materiale supplementare.\nQuesta funzione può essere abbinata a Collega poligoni riempimento per collegare tutto il riempimento in un unico percorso di estrusione senza necessità di avanzamenti o arretramenti, se configurata correttamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2779,7 +2775,7 @@ msgstr "Modalità Combing" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "La funzione Combing tiene l’ugello all’interno delle aree già stampate durante lo spostamento. In tal modo le corse di spostamento sono leggermente più lunghe, ma si riduce l’esigenza di effettuare retrazioni. Se questa funzione viene disabilitata, il materiale viene retratto e l’ugello si sposta in linea retta al punto successivo. È anche possibile evitare il combing sopra le aree del rivestimento esterno superiore/inferiore effettuando il combing solo nel riempimento. Si noti che l’opzione ‘Nel riempimento' si comporta esattamente come l’opzione ‘Non nel rivestimento' delle precedenti versioni Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2799,7 +2795,7 @@ msgstr "Non nel rivestimento" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Nel riempimento" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3244,22 +3240,22 @@ msgstr "Indica la distanza tra le linee della struttura di supporto stampata. Qu #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Distanza tra le linee del supporto dello strato iniziale" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Indica la distanza tra le linee della struttura di supporto dello strato iniziale stampato. Questa impostazione viene calcolata mediante la densità del supporto." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Direzione delle linee di riempimento supporto" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Indica l’orientamento della configurazione del riempimento per i supporti. La configurazione del riempimento del supporto viene ruotata sul piano orizzontale." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3629,22 +3625,22 @@ msgstr "Zig Zag" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Override velocità della ventola" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Quando abilitata, la velocità della ventola di raffreddamento stampa viene modificata per le zone del rivestimento esterno subito sopra il supporto." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Velocità della ventola del rivestimento esterno supportato" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Percentuale della velocità della ventola da usare quando si stampano le zone del rivestimento esterno subito sopra il supporto. L’uso di una velocità ventola elevata può facilitare la rimozione del supporto." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3796,9 +3792,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Indica la distanza orizzontale tra lo skirt ed il primo strato della stampa.\n" -"Questa è la distanza minima. Più linee di skirt aumenteranno tale distanza." +msgstr "Indica la distanza orizzontale tra lo skirt ed il primo strato della stampa.\nQuesta è la distanza minima. Più linee di skirt aumenteranno tale distanza." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3973,7 +3967,7 @@ msgstr "Indica la larghezza delle linee dello strato di base del raft. Le linee #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Spaziatura delle linee dello strato di base del raft" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4718,12 +4712,12 @@ msgstr "Collegamento dei dati di flusso del materiale (in mm3 al secondo) alla t #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Circonferenza minima dei poligoni" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "I poligoni in strati sezionati con una circonferenza inferiore a questo valore verranno scartati. I valori inferiori generano una maglia con risoluzione superiore al costo del tempo di sezionamento. È dedicata in particolare alle stampanti SLA ad alta risoluzione e a modelli 3D molto piccoli, ricchi di dettagli." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5235,9 +5229,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\n" -"Ciò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing." +msgstr "Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\nCiò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5387,22 +5379,22 @@ msgstr "Soglia per l’utilizzo o meno di uno strato di dimensioni minori. Quest #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Angolo parete di sbalzo" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Le pareti che sbalzano oltre questo angolo verranno stampate utilizzando le impostazioni parete di sbalzo. Quando il valore è 90, nessuna parete sarà trattata come sbalzo." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Velocità parete di sbalzo" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Le pareti di sbalzo verranno stampate a questa percentuale della loro normale velocità di stampa." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 2730f19b52..1f4d1a3e6d 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -43,13 +43,13 @@ msgstr "G-codeファイル" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter は非テキストモードはサポートしていません。" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "保存する前に G-code を生成してください。" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

\n" -"

{model_names}

\n" -"

可能な限り最高の品質および信頼性を得る方法をご覧ください。

\n" -"

印字品質ガイドを見る

" +msgstr "

モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

\n

{model_names}

\n

可能な限り最高の品質および信頼性を得る方法をご覧ください。

\n

印字品質ガイドを見る

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -110,7 +106,7 @@ msgstr "USBにて接続する" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "USBプリントを実行しています。Cura を閉じるとこのプリントも停止します。実行しますか?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -137,7 +133,7 @@ msgstr "圧縮G-codeファイル" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeGzWriter はテキストモードをサポートしていません。" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -634,7 +630,7 @@ msgstr "プライムタワーまたはプライム位置が無効なためスラ #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "無効な Extruder %s に関連付けられている造形物があるため、スライスできません。" #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -690,12 +686,12 @@ msgstr "ノズル" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "プロジェクトファイル {0} に不明なマシンタイプ {1} があります。マシンをインポートできません。代わりにモデルをインポートします。" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "プロジェクトファイルを開く" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -752,7 +748,7 @@ msgstr "Curaが3MF fileを算出します。" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "3Mf ファイルの書き込みエラー" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1080,12 +1076,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

\n" -"

開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

\n" -"

バックアップは、設定フォルダに保存されます。

\n" -"

問題解決のために、このクラッシュ報告をお送りください。

\n" -" " +msgstr "

申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

\n

開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

\n

バックアップは、設定フォルダに保存されます。

\n

問題解決のために、このクラッシュ報告をお送りください。

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1118,10 +1109,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

\n" -"

「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

\n" -" " +msgstr "

致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

\n

「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1468,7 +1456,7 @@ msgstr "著者" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "ダウンロード" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1508,27 +1496,27 @@ msgstr "戻る" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "アンインストール確認 " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "使用中の材料またはプロファイルをアンインストールしようとしています。確定すると以下の材料/プロファイルをデフォルトにリセットします。" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "材料" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "プロファイル" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "確認" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1543,17 +1531,17 @@ msgstr "Curaを終了する" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "地域貢献" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "コミュニティプラグイン" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "汎用材料" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1586,10 +1574,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"このプラグインにはライセンスが含まれています。\n" -"このプラグインをインストールするにはこのライセンスに同意する必要があります。\n" -"下の利用規約に同意しますか?" +msgstr "このプラグインにはライセンスが含まれています。\nこのプラグインをインストールするにはこのライセンスに同意する必要があります。\n下の利用規約に同意しますか?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1619,12 +1604,12 @@ msgstr "パッケージ取得中" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "ウェブサイト" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "電子メール" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1758,12 +1743,12 @@ msgstr "アドレス" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "このプリンターは、プリンターのグループをホストするために設定されていません。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "このプリンターは %1 プリンターのループのホストプリンターです。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1811,52 +1796,52 @@ msgstr "プリント" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "待ち時間: 利用できないプリンター" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "待ち時間: 次の空き" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "待ち時間: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "最上位に移動" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "印刷ジョブを最上位に移動する" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "%1 をキューの最上位に移動しますか?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "削除" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "印刷ジョブの削除" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "%1 を削除しますか?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "キュー管理" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1871,40 +1856,40 @@ msgstr "プリント中" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "プリンター管理" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "利用できません" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "到達不能" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "利用可能" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "再開" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "一時停止" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "中止" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1915,13 +1900,13 @@ msgstr "プリント中止" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "%1 を中止してよろしいですか?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "中止しました" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1936,7 +1921,7 @@ msgstr "準備中" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "一時停止中" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2356,7 +2341,7 @@ msgstr "開く" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "前" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2368,12 +2353,12 @@ msgstr "書き出す" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "次" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "ヒント" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2422,12 +2407,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "試し印刷" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "チェックリスト" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2650,7 +2635,7 @@ msgstr "造形物を取り出してください。" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "プリント中止" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -3111,7 +3096,7 @@ msgstr "プロジェクトファイル開く際のデフォルト機能:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "毎回確認する" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3131,22 +3116,22 @@ msgstr "プロファイル内を変更し異なるプロファイルにしまし #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "プロファイル" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "プロファイル交換時に設定値を変更するためのデフォルト処理: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "常に変更した設定を廃棄する" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "常に変更した設定を新しいプロファイルに送信する" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3341,7 +3326,7 @@ msgstr "プリンターについて" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "無題" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3476,9 +3461,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"いくらかの設定プロファイルにある値とことなる場合無効にします。\n" -"プロファイルマネージャーをクリックして開いてください。" +msgstr "いくらかの設定プロファイルにある値とことなる場合無効にします。\nプロファイルマネージャーをクリックして開いてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3532,9 +3515,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n" -"表示されるようにクリックしてください。" +msgstr "いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n表示されるようにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3562,9 +3543,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"この設定にプロファイルと異なった値があります。\n" -"プロファイルの値を戻すためにクリックしてください。" +msgstr "この設定にプロファイルと異なった値があります。\nプロファイルの値を戻すためにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3572,9 +3551,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"このセッティングは通常計算されます、今は絶対値に固定されています。\n" -"計算された値に変更するためにクリックを押してください。" +msgstr "このセッティングは通常計算されます、今は絶対値に固定されています。\n計算された値に変更するためにクリックを押してください。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3693,17 +3670,17 @@ msgstr "プリント開始前にベッドを加熱します。加熱中もプリ #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "材料" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "お気に入り" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "汎用" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3799,9 +3776,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"プリントセットアップが無効\n" -"G-codeファイルを修正することができません。" +msgstr "プリントセットアップが無効\nG-codeファイルを修正することができません。" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4143,17 +4118,17 @@ msgstr "&ファイル" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&保存..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&エクスポート..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "選択エクスポート..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4255,13 +4230,13 @@ msgstr "新しいプロジェクトを開始しますか?この作業では保 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Cura を閉じる" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Cura を終了しますか?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4443,7 +4418,7 @@ msgstr "フィラメント" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "この材料の組み合わせで接着する" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4783,12 +4758,12 @@ msgstr "2.7から3.0にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Cura 3.4 から Cura 3.5 のコンフィグレーションアップグレート" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "3.4 から 3.5 にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index 85b3a89cfd..919dbc2033 100644 --- a/resources/i18n/ja_JP/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -61,9 +61,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"最初に実行するG-codeコマンドは、\n" -"で区切ります。" +msgstr "最初に実行するG-codeコマンドは、\nで区切ります。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -75,9 +73,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"最後に実行するG-codeコマンドは、\n" -"で区切ります。" +msgstr "最後に実行するG-codeコマンドは、\nで区切ります。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -1118,12 +1114,12 @@ msgstr "ジグザグ" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "上層/底層ポリゴンに接合" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "互いに次に実行する上層/底層スキンパスに接合します。同心円のパターンの場合、この設定を有効にすることにより、移動時間が短縮されますが、インフィルまでの途中で接合があるため、この機能で上層面の品質が損なわれることがあります。" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1208,22 +1204,22 @@ msgstr "すでに壁が設置されている場所にプリントされている #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "最小壁フロー" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "ウォールラインに対する流れを最小割合にします。既存の壁に近い場合に、壁補正により壁の流れが減少します。壁の流れがこの値より低い場合は、移動に置き換えられます。この設定を使用する場合は、壁補正を有効にして、内装の前に外装を印刷する必要があります。" #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "引き戻し優先" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "有効にすると、フローが最小フローしきい値を下回っている壁を置き換える移動量より多い場合は、引き戻しを使用します。" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1326,9 +1322,7 @@ msgstr "ZシームX" #: fdmprinter.def.json msgctxt "z_seam_x description" msgid "The X coordinate of the position near where to start printing each part in a layer." -msgstr "" -"レイヤー内の各印刷を開始するX座\n" -"標の位置。" +msgstr "レイヤー内の各印刷を開始するX座\n標の位置。" #: fdmprinter.def.json msgctxt "z_seam_y label" @@ -1648,12 +1642,12 @@ msgstr "内壁の形状に沿ったラインを使用してインフィルパタ #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "インフィルポリゴン接合" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "互いに次に実行するインフィルパスに接合します。いくつかの閉じられたポリゴンを含むインフィルパターンの場合、この設定を有効にすることにより、移動時間が大幅に短縮されます。" #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1689,24 +1683,24 @@ msgstr "インフィルパターンはY軸に沿ってこの距離を移動し #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "インフィルライン乗算" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "各インフィルラインをこの多重ラインに変換します。余分なラインが互いに交差せず、互いを避け合います。これによりインフィルが硬くなり、印刷時間と材料使用量が増えます。" #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "外側インフィル壁の数" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "インフィルエリア周辺に外壁を追加します。このような壁は、上層/底層ラインにたるみを作ります。つまり、一部の外壁材料の費用で同じ品質を実現するためには、必要な上層/底層スキンが少ないことを意味します。\nこの機能は、インフィルポリゴン接合と組み合わせて、構成が正しい場合、移動または引き戻しが必要なく、すべてのインフィルを1つの押出経路に接続することができます。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1809,9 +1803,7 @@ msgstr "インフィル優先" #: fdmprinter.def.json msgctxt "infill_before_walls description" msgid "Print the infill before printing the walls. Printing the walls first may lead to more accurate walls, but overhangs print worse. Printing the infill first leads to sturdier walls, but the infill pattern might sometimes show through the surface." -msgstr "" -"壁より前にインフィルをプリントします はじめに壁をプリントするとより精密な壁になりますが、オーバーハングのプリントは悪化します\n" -"はじめにインフィルをプリントすると丈夫な壁になりますが、インフィルの模様が時折表面から透けて表れます" +msgstr "壁より前にインフィルをプリントします はじめに壁をプリントするとより精密な壁になりますが、オーバーハングのプリントは悪化します\nはじめにインフィルをプリントすると丈夫な壁になりますが、インフィルの模様が時折表面から透けて表れます" #: fdmprinter.def.json msgctxt "min_infill_area label" @@ -2878,7 +2870,7 @@ msgstr "コーミングモード" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "コーミングは、移動時に印刷済みエリア内にノズルを保持します。この結果、移動距離が長くなりますが、引き戻しの必要性が軽減されます。コーミングがオフの場合は、材料を引き戻して、ノズルを次のポイントまで直線に移動します。コーミングが上層/底層スキンエリアを超えずに、インフィル内のみコーミングするようにできます。「インフィル内」オプションは、Cura の旧版の「スキン内にない」オプションと全く同じ動作をします。" #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2898,7 +2890,7 @@ msgstr "スキン内にない" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "インフィル内" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3350,22 +3342,22 @@ msgstr "印刷されたサポート材の間隔。この設定は、サポート #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "初期層サポートラインの距離" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "印刷した初期層間の距離が構造ライをサポートします。この設定は、対応濃度で算出されます。" #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "サポートインフィルラインの向き" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "対応するインフィルラインの向きです。サポートインフィルパターンは平面で回転します。" #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3756,22 +3748,22 @@ msgstr "ジグザグ" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "ファン速度上書き" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "有効にすると、サポートを超えた直後に印刷冷却ファンの速度がスキン領域に対して変更されます。" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "サポート対象スキンファン速度" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "サポートを超えた直後にスキン領域に印字するときに使用するファン速度を割合で示します。高速ファンを使用すると、サポートが取り外しやすくなります。" # msgstr "ジグザグ" #: fdmprinter.def.json @@ -3930,9 +3922,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"スカートと印刷の最初の層の間の水平距離。\n" -"これは最小距離です。複数のスカートラインがこの距離から外側に展開されます。" +msgstr "スカートと印刷の最初の層の間の水平距離。\nこれは最小距離です。複数のスカートラインがこの距離から外側に展開されます。" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4107,7 +4097,7 @@ msgstr "ベースラフト層の線幅。ビルドプレートの接着のため #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "ラフトベースラインスペース" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4864,12 +4854,12 @@ msgstr "マテリアルフロー(毎秒 3mm) と温度 (° c) をリンクしま #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "最小ポリゴン円周" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "この量よりも小さい円周を持つスライスレイヤーのポリゴンは、除外されます。値を小さくすると、スライス時間のコストで、メッシュの解像度が高くなります。つまり、ほとんどが高解像 SLA プリンター、極小多機能 3D モデルです。" #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5542,22 +5532,22 @@ msgstr "小さいレイヤーを使用するかどうかの閾値。この値が #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "張り出し壁アングル" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "この角度以上に張り出した壁は、オーバーハング壁設定を使用して印刷されます。値が 90 の場合は、オーバーハング壁として処理されません。" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "張り出し壁速度" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "張り出し壁は、この割合で通常の印刷速度で印刷されます。" #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 530aede5c7..44beb606d6 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -43,13 +43,13 @@ msgstr "G-code 파일" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter는 텍스트가 아닌 모드는 지원하지 않습니다." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "저장하기 전에 G-code를 생성하십시오." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

\n" -"

{model_names}

\n" -"

인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

\n" -"

인쇄 품질 가이드 보기

" +msgstr "

하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

\n

{model_names}

\n

인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

\n

인쇄 품질 가이드 보기

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -108,7 +104,7 @@ msgstr "USB를 통해 연결" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "USB 인쇄가 진행 중입니다. Cura를 닫으면 인쇄도 중단됩니다. 계속하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -135,7 +131,7 @@ msgstr "압축된 G-code 파일" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeGzWriter는 텍스트 모드는 지원하지 않습니다." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -632,7 +628,7 @@ msgstr "프라임 타워 또는 위치가 유효하지 않아 슬라이스 할 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "비활성화된 익스트루더 %s(와)과 연결된 개체가 있기 때문에 슬라이스할 수 없습니다." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -688,12 +684,12 @@ msgstr "노즐" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "프로젝트 파일 {0}에 알 수 없는 기기 유형 {1}이(가) 포함되어 있습니다. 기기를 가져올 수 없습니다. 대신 모델을 가져옵니다." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "프로젝트 파일 열기" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -750,7 +746,7 @@ msgstr "Cura 프로젝트 3MF 파일" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "3MF 파일 작성 중 오류" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1078,12 +1074,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n" -"                    

시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n" -"                    

백업은 설정 폴더에서 찾을 수 있습니다. \n" -"                    

문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n" -" " +msgstr "

죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n                    

시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n                    

백업은 설정 폴더에서 찾을 수 있습니다. \n                    

문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1107,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

\n" -"

\"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

\n" -" " +msgstr "

치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

\n

\"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1466,7 +1454,7 @@ msgstr "원작자" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "다운로드" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1506,27 +1494,27 @@ msgstr "뒤로" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "제거 확인 " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "아직 사용 중인 재료 및/또는 프로파일을 제거합니다. 확인하면 다음 재료/프로파일이 기본값으로 재설정됩니다." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "재료" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "프로파일" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "확인" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1541,17 +1529,17 @@ msgstr "Cura 끝내기" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "커뮤니티 기여" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "커뮤니티 플러그인" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "일반 재료" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1584,10 +1572,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"이 플러그인에는 라이선스가 포함되어 있습니다.\n" -"이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n" -"아래의 약관에 동의하시겠습니까?" +msgstr "이 플러그인에는 라이선스가 포함되어 있습니다.\n이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n아래의 약관에 동의하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1617,12 +1602,12 @@ msgstr "패키지 가져오는 중..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "웹 사이트" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "이메일" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1707,10 +1692,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n" -"\n" -"아래 목록에서 프린터를 선택하십시오:" +msgstr "네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n\n아래 목록에서 프린터를 선택하십시오:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1759,12 +1741,12 @@ msgstr "주소" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "이 프린터는 프린터 그룹을 호스트하도록 설정되어 있지 않습니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "이 프린터는 1%개 프린터 그룹의 호스트입니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1812,52 +1794,52 @@ msgstr "프린트" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "대기: 사용할 수 없는 프린터" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "대기: 첫 번째로 사용 가능" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "대기: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "맨 위로 이동" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "인쇄 작업을 맨 위로 이동" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "%1(을)를 대기열의 맨 위로 이동하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "삭제" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "인쇄 작업 삭제" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "%1(을)를 삭제하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "대기열 관리" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1872,40 +1854,40 @@ msgstr "프린팅" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "프린터 관리" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "사용 불가" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "연결할 수 없음" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "유효한" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "재개" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "중지" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "중단" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1916,13 +1898,13 @@ msgstr "프린팅 중단" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "%1(을)를 정말로 중지하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "중단됨" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1937,7 +1919,7 @@ msgstr "준비중인" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "일시 정지 중" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2353,7 +2335,7 @@ msgstr "열기" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "이전" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2365,12 +2347,12 @@ msgstr "내보내기" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "다음" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "팁" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2419,12 +2401,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "인쇄 실험" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "체크리스트" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2647,7 +2629,7 @@ msgstr "프린트물을 제거하십시오" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "프린팅 중단" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"일부 프로파일 설정을 수정했습니다.\n" -"이러한 설정을 유지하거나 삭제 하시겠습니까?" +msgstr "일부 프로파일 설정을 수정했습니다.\n이러한 설정을 유지하거나 삭제 하시겠습니까?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3110,7 +3090,7 @@ msgstr "프로젝트 파일을 열 때 기본 동작 " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "항상 묻기" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3130,22 +3110,22 @@ msgstr "프로파일을 변경하고 다른 프로파일로 전환하면 수정 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "프로파일" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "다른 프로파일로 변경하는 경우 변경된 설정값에 대한 기본 동작 " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "항상 변경된 설정 삭제" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "항상 변경된 설정을 새 프로파일로 전송" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3340,7 +3320,7 @@ msgstr "프린터 추가" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "제목 없음" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3362,9 +3342,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\n" -"Cura는 다음의 오픈 소스 프로젝트를 사용합니다:" +msgstr "Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\nCura는 다음의 오픈 소스 프로젝트를 사용합니다:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3477,10 +3455,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n" -"\n" -"프로파일 매니저를 열려면 클릭하십시오." +msgstr "일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n\n프로파일 매니저를 열려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3534,10 +3509,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n" -"\n" -"이 설정을 표시하려면 클릭하십시오." +msgstr "일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n\n이 설정을 표시하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3565,10 +3537,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"이 설정에는 프로파일과 다른 값이 있습니다.\n" -"\n" -"프로파일 값을 복원하려면 클릭하십시오." +msgstr "이 설정에는 프로파일과 다른 값이 있습니다.\n\n프로파일 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3576,10 +3545,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n" -"\n" -"계산 된 값을 복원하려면 클릭하십시오." +msgstr "이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n\n계산 된 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3698,17 +3664,17 @@ msgstr "프린팅하기 전에 베드를 미리 가열하십시오. 가열되는 #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "재료" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "즐겨찾기" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "일반" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3802,9 +3768,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"프린팅 설정 사용 안 함\n" -"G-코드 파일은 수정할 수 없습니다" +msgstr "프린팅 설정 사용 안 함\nG-코드 파일은 수정할 수 없습니다" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4143,17 +4107,17 @@ msgstr "파일" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "저장(&S)..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "내보내기(&E)..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "내보내기 선택..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4255,13 +4219,13 @@ msgstr "새 프로젝트를 시작 하시겠습니까? 빌드 플레이트 및 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Cura 닫기" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Cura를 정말로 종료하시겠습니까?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4442,7 +4406,7 @@ msgstr "재료" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "이 재료 조합과 함께 접착제를 사용하십시오." #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4782,12 +4746,12 @@ msgstr "2.7에서 3.0으로 버전 업그레이드" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Cura 3.4에서 Cura 3.5로 구성을 업그레이드합니다." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "3.4에서 3.5로 버전 업그레이드" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 8ae7eb2b57..50df8f7128 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"시작과 동시에형실행될 G 코드 명령어 \n" -"." +msgstr "시작과 동시에형실행될 G 코드 명령어 \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"맨 마지막에 실행될 G 코드 명령 \n" -"." +msgstr "맨 마지막에 실행될 G 코드 명령 \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1074,12 +1070,12 @@ msgstr "지그재그" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "상단/하단 다각형 연결" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "스킨 경로가 나란히 이어지는 상단/하단 스킨 경로를 연결합니다. 동심원 패턴의 경우 이 설정을 사용하면 이동 시간이 크게 감소하지만, 내부채움의 중간에 연결될 수 있기 때문에 이 기능은 상단 표면 품질을 저하시킬 수 있습니다." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1164,22 +1160,22 @@ msgstr "이미 벽이있는 곳에 프린팅되는 내부 벽 부분에 대한 #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "최소 압출량" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "벽 라인에 대한 최소 허용 백분율 흐름 벽 오버랩 보상이 기존 벽과 가까울 때 벽의 흐름을 줄입니다. 흐름이 이 값보다 작은 벽은 이동으로 대체됩니다. 이 설정을 사용하는 경우 벽 오버랩 보상을 사용하고 내벽 전에 외벽을 인쇄해야 합니다." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "리트렉션 선호" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "이 옵션을 사용하면 흐름이 최소 흐름 임계 값보다 낮은 벽을 교체하는 이동에 대해 빗질 대신에 리트렉션을 사용합니다." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1574,12 +1570,12 @@ msgstr "내벽의 형태를 따라가는 선을 사용하여 내부채움 패턴 #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "내부채움 다각형 연결" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "스킨 경로가 나란히 이어지는 내부채움 경로를 연결합니다. 여러 개의 폐다각형으로 구성되는 내부채움 패턴의 경우 이 설정을 사용하면 이동 시간이 크게 감소합니다." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1614,24 +1610,24 @@ msgstr "내부채움 패턴이 Y축을 따라 이 거리만큼 이동합니다." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "내부채움 선 승수" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "각 내부채움 선을 여러 개의 선으로 변환합니다. 추가되는 선은 다른 선을 교차하지 않고, 다른 선을 피해 변환됩니다. 내부채움을 빽빽하게 만들지만, 인쇄 및 재료 사용이 증가합니다." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "여분의 내부채움 벽 수" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "내부채움 영역 주변에 여분의 벽을 추가합니다. 이러한 벽은 상단/하단 스킨 라인이 늘어지는 것을 줄여줄 수 있습니다. 일부 여분 재료를 사용해도 같은 품질을 유지하는 데 필요한 필요한 상단/하단 스킨 층이 감소한다는 의미입니다.\n이 기능을 올바르게 구성하는 경우 내부채움 다각형 연결과 함께 사용해 이동 또는 리트랙션없이 모든 내부채움을 단일 돌출 경로에 연결할 수 있습니다." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2781,7 +2777,7 @@ msgstr "Combing 모드" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "Combing은 이동할 때 이미 인쇄 된 영역 내에 노즐을 유지합니다. 이로 인해 이동이 약간 더 길어 지지만 리트렉션의 필요성은 줄어 듭니다. Combing이 꺼져 있으면 재료가 후퇴하고 노즐이 직선으로 다음 점으로 이동합니다. 또한 내부채움 내에서만 빗질하여 상단/하단 스킨 영역을 Combing하는 것을 피할 수 있습니다. '내부채움 내' 옵션은 이전 Cura 릴리즈에서 '스킨에 없음' 옵션과 정확하게 동일한 동작을 합니다." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2801,7 +2797,7 @@ msgstr "스킨에 없음" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "내부채움 내" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3246,22 +3242,22 @@ msgstr "프린팅 된 서포트 구조 선 사이의 거리. 이 설정은 서 #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "초기 레이어 서포트 선 거리" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "인쇄된 초기 레이어 서포트 구조 선 사이의 거리. 이 설정은 서포트 밀도로 계산됩니다." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "서포트 내부채움 선 방향" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "서포트에 대한 내부채움 패턴 방향. 서포트 내부채움 패턴은 수평면에서 회전합니다." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3631,22 +3627,22 @@ msgstr "지그재그" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "팬 속도 무시" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "활성화되면 서포트 바로 위의 스킨 영역에 대한 프린팅 냉각 팬 속도가 변경됩니다." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "지원되는 스킨 팬 속도" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "서포트 바로 위의 스킨 영역을 인쇄할 때 사용할 팬 속도 백분율 빠른 팬 속도를 사용하면 서포트를 더 쉽게 제거할 수 있습니다." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3798,9 +3794,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n" -"이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." +msgstr "프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3975,7 +3969,7 @@ msgstr "기본 래프트 층에있는 선의 너비. 이것은 빌드 플레이 #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "래프트 기준 선 간격" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4720,12 +4714,12 @@ msgstr "재료 공급 데이터 (mm3 / 초) - 온도 (섭씨)." #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "최소 다각형 둘레" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "레이어가 슬라이스 된, 이 값보다 둘레가 작은 다각형은 필터링됩니다. 값을 낮을수록 슬라이스가 느려지지만, 해상도 메쉬가 높아집니다. 주로 고해상도 SLA 프린터 및 세부 사항이 많은 매우 작은 3D 모델에 적합합니다." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5387,22 +5381,22 @@ msgstr "더 작은 레이어를 사용할지 여부에 대한 임계 값. 이 #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "오버행된 벽 각도" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "이 각도를 초과해 오버행된 벽은 오버행된 벽 설정을 사용해 인쇄됩니다. 값이 90인 경우 벽이 오버행된 것으로 간주하지 않습니다." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "오버행된 벽 속도" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "오버행된 벽은 정상적인 인쇄 속도의 이 비율로 인쇄됩니다." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index 165d26a8fc..7e903989eb 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -41,13 +41,13 @@ msgstr "G-code-bestand" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter ondersteunt geen non-tekstmodus." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Genereer G-code voordat u het bestand opslaat." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -62,11 +62,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

\n" -"

{model_names}

\n" -"

Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

\n" -"

Handleiding printkwaliteit bekijken

" +msgstr "

Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

\n

{model_names}

\n

Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

\n

Handleiding printkwaliteit bekijken

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -106,7 +102,7 @@ msgstr "Aangesloten via USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Er wordt momenteel via USB geprint. Wanneer u Cura afsluit, wordt het printen gestopt. Weet u zeker dat u wilt afsluiten?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -133,7 +129,7 @@ msgstr "Gecomprimeerd G-code-bestand" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeWriter ondersteunt geen tekstmodus." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -630,7 +626,7 @@ msgstr "Slicen is niet mogelijk omdat de terugduwpijler of terugduwpositie(s) on #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Slicen is niet mogelijk omdat er objecten gekoppeld zijn aan uitgeschakelde Extruder %s." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -686,12 +682,12 @@ msgstr "Nozzle" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Projectbestand {0} bevat een onbekend type machine {1}. Kan de machine niet importeren. In plaats daarvan worden er modellen geïmporteerd." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Projectbestand Openen" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -748,7 +744,7 @@ msgstr "Cura-project 3MF-bestand" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Fout bij het schrijven van het 3mf-bestand." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1076,12 +1072,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

\n" -"

Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

\n" -"

Back-ups bevinden zich in de configuratiemap.

\n" -"

Stuur ons dit crashrapport om het probleem op te lossen.

\n" -" " +msgstr "

Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

\n

Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

\n

Back-ups bevinden zich in de configuratiemap.

\n

Stuur ons dit crashrapport om het probleem op te lossen.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1114,10 +1105,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

\n" -"

Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

\n" -" " +msgstr "

Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

\n

Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1464,7 +1452,7 @@ msgstr "Auteur" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Downloads" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1504,27 +1492,27 @@ msgstr "Terug" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "De-installeren bevestigen " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "U verwijdert materialen en/of profielen die nog in gebruik zijn. Wanneer u het verwijderen bevestigt, worden de volgende materialen/profielen teruggezet naar hun standaardinstellingen." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materialen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Profielen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Bevestigen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1539,17 +1527,17 @@ msgstr "Cura sluiten" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Community-bijdragen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Community-invoegtoepassingen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Standaard materialen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1582,10 +1570,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Deze invoegtoepassing bevat een licentie.\n" -"U moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\n" -"Gaat u akkoord met de onderstaande voorwaarden?" +msgstr "Deze invoegtoepassing bevat een licentie.\nU moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\nGaat u akkoord met de onderstaande voorwaarden?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1615,12 +1600,12 @@ msgstr "Packages ophalen..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Website" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-mail" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1705,10 +1690,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n" -"\n" -"Selecteer uw printer in de onderstaande lijst:" +msgstr "Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n\nSelecteer uw printer in de onderstaande lijst:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1757,12 +1739,12 @@ msgstr "Adres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Deze printer is niet ingesteld voor het hosten van een groep printers." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Deze printer is de host voor een groep van %1 printers." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1810,52 +1792,52 @@ msgstr "Printen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Wachten op: Niet-beschikbare printer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Wachten op: Eerst beschikbaar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Wachten op: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Naar boven verplaatsen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Printtaak naar boven verplaatsen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Weet u zeker dat u %1 bovenaan de wachtrij wilt plaatsen?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Verwijderen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Printtaak verwijderen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Weet u zeker dat u %1 wilt verwijderen?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Wachtrij beheren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1870,40 +1852,40 @@ msgstr "Printen" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Printers beheren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Niet beschikbaar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Niet bereikbaar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Beschikbaar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Hervatten" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Pauzeren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Afbreken" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1914,13 +1896,13 @@ msgstr "Printen afbreken" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Weet u zeker dat u %1 wilt afbreken?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Afgebroken" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1935,7 +1917,7 @@ msgstr "Voorbereiden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Pauzeren" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2353,7 +2335,7 @@ msgstr "Openen" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Vorige" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2365,12 +2347,12 @@ msgstr "Exporteren" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Volgende" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Punt" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2419,12 +2401,12 @@ msgstr "%1 m / ~ %2 g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Proefprint" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Checklist" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2647,7 +2629,7 @@ msgstr "Verwijder de print" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Printen Afbreken" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"U hebt enkele profielinstellingen aangepast.\n" -"Wilt u deze instellingen behouden of verwijderen?" +msgstr "U hebt enkele profielinstellingen aangepast.\nWilt u deze instellingen behouden of verwijderen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3110,7 +3090,7 @@ msgstr "Standaardgedrag tijdens het openen van een projectbestand: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Altijd vragen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3130,22 +3110,22 @@ msgstr "Wanneer u wijzigingen hebt aangebracht aan een profiel en naar een ander #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Profielen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Standaardgedrag voor gewijzigde instellingen wanneer er naar een ander profiel wordt overgeschakeld: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Gewijzigde instellingen altijd verwijderen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Gewijzigde instellingen altijd naar nieuw profiel overbrengen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3340,7 +3320,7 @@ msgstr "Printer Toevoegen" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Zonder titel" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3362,9 +3342,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\n" -"Cura maakt met trots gebruik van de volgende opensourceprojecten:" +msgstr "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\nCura maakt met trots gebruik van de volgende opensourceprojecten:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3477,10 +3455,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n" -"\n" -"Klik om het profielbeheer te openen." +msgstr "Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3534,10 +3509,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n" -"\n" -"Klik om deze instellingen zichtbaar te maken." +msgstr "Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n\nKlik om deze instellingen zichtbaar te maken." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3565,10 +3537,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Deze instelling heeft een andere waarde dan in het profiel.\n" -"\n" -"Klik om de waarde van het profiel te herstellen." +msgstr "Deze instelling heeft een andere waarde dan in het profiel.\n\nKlik om de waarde van het profiel te herstellen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3576,10 +3545,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n" -"\n" -"Klik om de berekende waarde te herstellen." +msgstr "Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n\nKlik om de berekende waarde te herstellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3698,17 +3664,17 @@ msgstr "Verwarm het bed voordat u gaat printen. U kunt doorgaan met het aanpasse #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Materiaal" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Favorieten" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Standaard" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3804,9 +3770,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Instelling voor printen uitgeschakeld\n" -"G-code-bestanden kunnen niet worden aangepast" +msgstr "Instelling voor printen uitgeschakeld\nG-code-bestanden kunnen niet worden aangepast" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4148,17 +4112,17 @@ msgstr "&Bestand" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Opslaan..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Exporteren..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Selectie Exporteren..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4260,13 +4224,13 @@ msgstr "Weet u zeker dat u een nieuw project wilt starten? Hiermee wordt het pla #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Cura afsluiten" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Weet u zeker dat u Cura wilt verlaten?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4448,7 +4412,7 @@ msgstr "Materiaal" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Gebruik lijm bij deze combinatie van materialen" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4788,12 +4752,12 @@ msgstr "Versie-upgrade van 2.7 naar 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Hiermee worden configuraties bijgewerkt van Cura 3.4 naar Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Versie-upgrade van 3.4 naar 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index 73c9023c88..f7dab57356 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n" -"." +msgstr "G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n" -"." +msgstr "G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1072,12 +1068,12 @@ msgstr "Zigzag" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Boven-/onderkant Polygonen Verbinden" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Skinpaden aan boven-/onderkant verbinden waar ze naast elkaar lopen. Met deze instelling wordt bij concentrische patronen de bewegingstijd aanzienlijk verkort. Dit kan echter ten koste gaan van de kwaliteit van de bovenste laag aangezien de verbindingen in het midden van de vulling kunnen komen te liggen." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1162,22 +1158,22 @@ msgstr "Hiermee wordt de doorvoer gecompenseerd voor delen van binnenwanden die #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Minimale Wanddoorvoer" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Minimaal toegestane doorvoerpercentage voor een wandlijn. Compensatie van de overlapping van wanden zorgt voor een kortere doorvoer van een wand als deze dicht bij een bestaande wand ligt. Wanden waarbij de doorvoerwaarde lager is dan deze waarde, worden vervangen door een beweging. Wanneer u deze instelling gebruikt, moet u compensatie van overlapping van wanden inschakelen en de buitenwand printen voordat u de binnenwanden print." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Bij Voorkeur Intrekken" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Als deze optie ingeschakeld is, volgt er een intrekbeweging in plaats van een combing-beweging ter vervanging van wanden waarbij de doorvoer lager is dan de minimale doorvoerwaarde." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1572,12 +1568,12 @@ msgstr "Verbindt de uiteinden waar het vulpatroon bij de binnenwand komt, met ee #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Vulpolygonen Verbinden" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Vulpaden verbinden waar ze naast elkaar lopen. Bij vulpatronen die uit meerdere gesloten polygonen bestaan, wordt met deze instelling de bewegingstijd aanzienlijk verkort." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1612,24 +1608,24 @@ msgstr "Het vulpatroon wordt over deze afstand verplaatst langs de Y-as." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Vermenigvuldiging Vullijn" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Zet elke vullijn om naar zoveel keer vullijnen. De extra lijnen kruisen elkaar niet, maar mijden elkaar. Hierdoor wordt de vulling stijver, maar duurt het printen langer en wordt er meer materiaal verbruikt." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Aantal Extra Wanden Rond vulling" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Voeg extra wanden toe rondom de vulling. Deze wanden kunnen ervoor zorgen dat de skin aan de boven-/onderkant minder doorzakt. Dit betekent dat u met alleen wat extra materiaal voor dezelfde kwaliteit minder skinlagen aan de boven-/onderkant nodig hebt.\nDeze optie kan in combinatie met de optie 'Polygonen voor de vulling verbinden' worden gebruikt om alle vulling in één doorvoerpad te verbinden zonder extra bewegingen of intrekkingen, mits correct ingesteld." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2779,7 +2775,7 @@ msgstr "Combing-modus" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "Met combing blijft de nozzle tijdens bewegingen binnen eerder geprinte delen. Hierdoor zijn de bewegingen iets langer, maar hoeft het filament minder vaak te worden ingetrokken. Als combing uitgeschakeld is, wordt het materiaal ingetrokken en beweegt de nozzle in een rechte lijn naar het volgende punt. Het is ook mogelijk om combing over boven-/onderskingedeelten te voorkomen en ook om alleen combing te gebruiken binnen de vulling. Houd er rekening mee dat de optie 'Binnen Vulling' precies dezelfde uitwerking heeft als de optie 'Niet in skin' in eerdere versies van Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2799,7 +2795,7 @@ msgstr "Niet in skin" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Binnen Vulling" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3244,22 +3240,22 @@ msgstr "De afstand tussen de geprinte lijnen van de supportstructuur. Deze inste #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Lijnafstand Supportstructuur Eerste Laag" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Afstand tussen de lijnen van de supportstructuur voor de eerste laag. Deze wordt berekend op basis van de dichtheid van de supportstructuur." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Lijnrichting Vulling Supportstructuur" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Richting van het vulpatroon voor supportstructuren. Het vulpatroon voor de supportstructuur wordt in het horizontale vlak gedraaid." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3629,22 +3625,22 @@ msgstr "Zigzag" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Ventilatorsnelheid Overschrijven" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Wanneer deze optie ingeschakeld is, wordt de ventilatorsnelheid voor het koelen van de print gewijzigd voor de skinregio's direct boven de supportstructuur." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Ondersteunde Ventilatorsnelheid Skin" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Percentage van de ventilatorsnelheid dat tijdens het printen van skinregio's direct boven de supportstructuur moet worden gebruikt. Bij gebruikmaking van een hoge ventilatorsnelheid kan de supportstructuur gemakkelijker worden verwijderd." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3796,9 +3792,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"De horizontale afstand tussen de skirt en de eerste laag van de print.\n" -"Dit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." +msgstr "De horizontale afstand tussen de skirt en de eerste laag van de print.\nDit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3973,7 +3967,7 @@ msgstr "Breedte van de lijnen van de onderste laag van de raft. Deze lijnen moet #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Tussenruimte Lijnen Grondvlak Raft" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4718,12 +4712,12 @@ msgstr "Grafiek om de materiaaldoorvoer (in mm3 per seconde) te koppelen aan de #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Minimale Polygoonomtrek" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Polygonen in geslicete lagen, die een kleinere omtrek hebben dan deze waarde, worden eruit gefilterd. Bij lagere waarden krijgt het raster een hogere resolutie, waardoor het slicen langer duurt. Dit is voornamelijk bedoeld voor SLA-printers met een hoge resolutie en zeer kleine 3D-modellen die veel details bevatten." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5235,9 +5229,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\n" -"Hierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." +msgstr "De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\nHierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5387,22 +5379,22 @@ msgstr "De drempel of er al dan niet een kleinere laag moet worden gebruikt. Dez #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Hoek Overhangende Wand" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Wanden die overhangen in een hoek groter dan deze waarde, worden geprint met instellingen voor overhangende wanden. Wanneer de waarde 90 is, wordt een wand niet als een overhangende wand gezien." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Snelheid Overhangende Wand" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Overhangende wanden worden geprint met een snelheid die gelijk is aan dit percentage van hun normale printsnelheid." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index f77df4d932..e23d4705bf 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -43,13 +43,13 @@ msgstr "Ficheiro G-code" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "O GCodeWriter não suporta modo sem texto." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Crie um G-code antes de guardar." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -65,11 +65,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

Um, ou mais, dos modelos 3D podem ter menos qualidade de impressão devido à dimensão do modelo 3D e definição de material:

\n" -"

{model_names}

\n" -"

Descubra como assegurar a melhor qualidade e fiabilidade possível da impressão.

\n" -"

Ver o guia de qualidade da impressão

" +msgstr "

Um, ou mais, dos modelos 3D podem ter menos qualidade de impressão devido à dimensão do modelo 3D e definição de material:

\n

{model_names}

\n

Descubra como assegurar a melhor qualidade e fiabilidade possível da impressão.

\n

Ver o guia de qualidade da impressão

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -112,7 +108,7 @@ msgstr "Ligado via USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Existe uma impressão por USB em curso; fechar o Cura irá interromper esta impressão. Tem a certeza?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -139,7 +135,7 @@ msgstr "Ficheiro G-code comprimido" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "O GCodeGzWriter não suporta modo de texto." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -650,7 +646,7 @@ msgstr "Não é possível seccionar porque a torre de preparação ou a(s) posi #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Não é possível seccionar porque existem objetos associados à extrusora %s desativada." # rever! # models fit the @@ -712,12 +708,12 @@ msgstr "Nozzle" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "O ficheiro de projeto {0} contém um tipo de máquina desconhecido {1}. Não é possível importar a máquina. Em vez disso, serão importados os modelos." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Abrir ficheiro de projeto" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -754,12 +750,12 @@ msgstr "Perfil Cura" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 msgctxt "@item:inmenu" msgid "Profile Assistant" -msgstr "" +msgstr "Assistente de perfis" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 msgctxt "@item:inlistbox" msgid "Profile Assistant" -msgstr "" +msgstr "Assistente de perfis" #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" @@ -774,7 +770,7 @@ msgstr "Ficheiro 3MF de Projeto Cura" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Erro ao gravar ficheiro 3mf." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1105,12 +1101,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

Ups, o Ultimaker Cura encontrou um possível problema.

\n" -"

Foi encontrado um erro irrecuperável durante o arranque da aplicação. Este pode ter sido causado por alguns ficheiros de configuração incorrectos. Sugerimos que faça um backup e reponha a sua configuração.

\n" -"

Os backups estão localizados na pasta de configuração.

\n" -"

Por favor envie-nos este Relatório de Falhas para podermos resolver o problema.

\n" -" " +msgstr "

Ups, o Ultimaker Cura encontrou um possível problema.

\n

Foi encontrado um erro irrecuperável durante o arranque da aplicação. Este pode ter sido causado por alguns ficheiros de configuração incorrectos. Sugerimos que faça um backup e reponha a sua configuração.

\n

Os backups estão localizados na pasta de configuração.

\n

Por favor envie-nos este Relatório de Falhas para podermos resolver o problema.

\n " # rever! # button size? @@ -1145,10 +1136,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Ocorreu um erro fatal no Cura. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

\n" -"

Por favor utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

\n" -" " +msgstr "

Ocorreu um erro fatal no Cura. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

\n

Por favor utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1497,7 +1485,7 @@ msgstr "Autor" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Transferências" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1537,27 +1525,27 @@ msgstr "Anterior" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Confirmar desinstalação " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Está a desinstalar materiais e/ou perfis que ainda estão a ser utilizados. Mediante confirmação, as predefinições dos seguintes materiais/perfis serão repostas." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materiais" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Perfis" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Confirmar" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1572,17 +1560,17 @@ msgstr "Sair do Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Contribuições comunitárias" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Plug-ins comunitários" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Materiais genéricos" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1615,10 +1603,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Este plug-in contém uma licença.\n" -"É necessário aceitar esta licença para instalar o plug-in.\n" -"Concorda com os termos abaixo?" +msgstr "Este plug-in contém uma licença.\nÉ necessário aceitar esta licença para instalar o plug-in.\nConcorda com os termos abaixo?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1648,12 +1633,12 @@ msgstr "A obter pacotes..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Site" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-mail" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1738,10 +1723,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura por rede à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n" -"\n" -"Selecione a sua impressora na lista em baixo:" +msgstr "Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura por rede à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n\nSelecione a sua impressora na lista em baixo:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1790,12 +1772,12 @@ msgstr "Endereço" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Esta impressora não está configurada para alojar um grupo de impressoras." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Esta impressora aloja um grupo de %1 impressoras." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1843,52 +1825,52 @@ msgstr "Imprimir" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "A aguardar: Impressora indisponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "A aguardar: Primeira disponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "A aguardar: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Mover para o topo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Mover trabalho de impressão para o topo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Tem a certeza de que pretende mover %1 para o topo da fila?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Eliminar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Eliminar trabalho de impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Tem a certeza de que pretende eliminar %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Gerir fila" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1903,40 +1885,40 @@ msgstr "A Imprimir" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Gerir impressoras" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Não disponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Inacessível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Disponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Retomar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Colocar em pausa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Cancelar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1947,13 +1929,13 @@ msgstr "Cancelar impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Tem a certeza de que deseja cancelar %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Cancelado" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1963,12 +1945,12 @@ msgstr "Impressão terminada" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 msgctxt "@label:status" msgid "Preparing" -msgstr "" +msgstr "A preparar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "A colocar em pausa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2397,7 +2379,7 @@ msgstr "Abrir" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Anterior" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2409,12 +2391,12 @@ msgstr "Exportar" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Seguinte" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Sugestão" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2453,22 +2435,22 @@ msgstr "Total:" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "" +msgstr "%1 m / ~ %2 g / ~ %4 %3" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 msgctxt "@label Print estimates: m for meters, g for grams" msgid "%1m / ~ %2g" -msgstr "" +msgstr "%1 m / ~ %2 g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Imprimir teste" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Lista de verificação" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2699,7 +2681,7 @@ msgstr "Remova a impressão" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Cancelar impressão" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2716,9 +2698,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Alterou algumas das definições do perfil.\n" -"Gostaria de manter ou descartar essas alterações?" +msgstr "Alterou algumas das definições do perfil.\nGostaria de manter ou descartar essas alterações?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3164,7 +3144,7 @@ msgstr "Comportamento predefinido ao abrir um ficheiro de projeto: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Perguntar sempre isto" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3184,22 +3164,22 @@ msgstr "Quando tiver realizado alterações a um perfil e mudado para outro, ser #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Perfis" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Comportamento predefinido para valores de definição alterados ao mudar para um perfil diferente: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Descartar sempre definições alteradas" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Transferir sempre definições alteradas para o novo perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3396,7 +3376,7 @@ msgstr "Adicionar Impressora" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Sem título" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3418,9 +3398,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\n" -"O Cura tem o prazer de utilizar os seguintes projetos open source:" +msgstr "O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\nO Cura tem o prazer de utilizar os seguintes projetos open source:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3536,10 +3514,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n" -"\n" -"Clique para abrir o gestor de perfis." +msgstr "Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n\nClique para abrir o gestor de perfis." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3597,10 +3572,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n" -"\n" -"Clique para tornar estas definições visíveis." +msgstr "Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n\nClique para tornar estas definições visíveis." # rever! # Afeta? @@ -3637,10 +3609,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Esta definição tem um valor que é diferente do perfil.\n" -"\n" -"Clique para restaurar o valor do perfil." +msgstr "Esta definição tem um valor que é diferente do perfil.\n\nClique para restaurar o valor do perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3648,10 +3617,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor diferente.\n" -"\n" -"Clique para restaurar o valor calculado." +msgstr "Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor diferente.\n\nClique para restaurar o valor calculado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3776,17 +3742,17 @@ msgstr "Aqueçer a base com antecedência antes de imprimir. Pode continuar a aj #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Favoritos" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Genérico" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3884,9 +3850,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Configuração da Impressão desativada\n" -"Os ficheiros G-code não podem ser modificados" +msgstr "Configuração da Impressão desativada\nOs ficheiros G-code não podem ser modificados" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4237,17 +4201,17 @@ msgstr "&Ficheiro" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Guardar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Exportar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Exportar seleção..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4349,13 +4313,13 @@ msgstr "Tem a certeza de que deseja iniciar um novo projeto? Isto irá apagar tu #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Fechar Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Tem a certeza de que deseja sair do Cura?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4550,7 +4514,7 @@ msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Utilizar cola com esta combinação de materiais" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4899,12 +4863,12 @@ msgstr "Atualização da versão 2.7 para 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Atualiza as configurações do Cura 3.4 para o Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Atualização da versão 3.4 para 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" @@ -5021,12 +4985,12 @@ msgstr "Gravador de perfis Cura" #: CuraPrintProfileCreator/plugin.json msgctxt "description" msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "" +msgstr "Permite aos fabricantes de materiais criar novos materiais e perfis de qualidade utilizando uma IU de fácil acesso." #: CuraPrintProfileCreator/plugin.json msgctxt "name" msgid "Print Profile Assistant" -msgstr "" +msgstr "Assistente de perfis de impressão" #: 3MFWriter/plugin.json msgctxt "description" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index f56cc56345..5545d3f2cd 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Comandos G-code a serem executados no início – separados por \n" -"." +msgstr "Comandos G-code a serem executados no início – separados por \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Comandos G-code a serem executados no fim – separados por \n" -"." +msgstr "Comandos G-code a serem executados no fim – separados por \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1094,12 +1090,12 @@ msgstr "Ziguezague" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Ligar polígonos superiores/inferiores" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Ligar caminhos de revestimento superiores/inferiores quando as trajetórias são paralelas. Para o padrão concêntrico, ativar esta definição reduz consideravelmente o tempo de deslocação mas, uma vez que as ligações podem suceder num ponto intermediário sobre o enchimento, esta funcionalidade pode reduzir a qualidade da superfície superior." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1193,22 +1189,22 @@ msgstr "Compensar o fluxo em partes de uma parede interior a ser impressa, onde #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Fluxo de parede mínimo" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Fluxo percentual mínimo permitido para uma linha de parede. A compensação de substituição de paredes reduz o fluxo de uma parede quando se situa junto a uma parede existente. As paredes cujo fluxo é inferior a este valor serão substituídas com um movimento de deslocação. Ao utilizar esta definição, deve ativar a compensação de sobreposição de paredes e imprimir a parede exterior antes das paredes interiores." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Preferir retração" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Se ativada, é utilizada retração em vez de combing para movimentos de deslocação que substituem paredes cujo fluxo está abaixo do limiar mínimo de fluxo." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1642,12 +1638,12 @@ msgstr "Ligar as extremidades onde o padrão de enchimento entra em contacto com #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Ligar polígonos de enchimento" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Ligar caminhos de enchimento quando as trajetórias são paralelas. Para padrões de enchimento que consistem em vários polígonos fechados, ativar esta definição reduz consideravelmente o tempo de deslocação." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1685,24 +1681,24 @@ msgstr "O padrão geométrico de enchimento é deslocado por esta distância ao #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Multiplicador de linhas de enchimento" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Converter cada linha de enchimento em determinado número de linhas. As linhas adicionais não se cruzam, mas sim evitam-se. Isto torna o enchimento mais duro, mas também aumenta o tempo de impressão e o gasto de material." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Contagem de paredes de enchimento adicionais" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Adicionar paredes adicionais em torno da área de enchimento. Essas paredes podem fazer com que as linhas de revestimento superiores/inferiores desçam menos, o que significa que são necessárias menos camadas de revestimento superior/inferior para a mesma qualidade à custa de algum material adicional.\nEsta funcionalidade pode ser combinada com a opção Ligar polígonos de enchimento para unir todo o enchimento num único caminho de extrusão sem necessidade de deslocações ou retrações, se configurado corretamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2901,7 +2897,7 @@ msgstr "Modo de Combing" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "Combing mantém o bocal em áreas já impressas durante a deslocação. Isto resulta em movimentos de deslocação ligeiramente mais longos, mas reduz a necessidade de retrações. Se o combing estiver desativado, o material será retraído e o bocal irá deslocar-se em linha reta para o próximo ponto. Também é possível evitar o combing em áreas de revestimento superiores/inferiores e também apenas efetuar o combing no enchimento. Observe que a opção \"No enchimento\" tem o mesmo comportamento que a opção \"Não no Revestimento\" em versões anteriores do Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2921,7 +2917,7 @@ msgstr "Não no Revestimento" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "No Enchimento" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3384,22 +3380,22 @@ msgstr "A distância entre as linhas da estrutura de suporte impressas. Esta def #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Distância da linha de suporte da camada inicial" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Distância entre as linhas da estrutura de suporte da camada inicial impressas. Esta definição é calculada pela densidade do suporte." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Direção da linha de enchimento do suporte" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Orientação do padrão de enchimento para suportes. O padrão de enchimento do suporte gira no plano horizontal." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3772,22 +3768,22 @@ msgstr "Ziguezague" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Substituir velocidade da ventoinha" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Quando ativada, a velocidade da ventoinha de arrefecimento de impressão é alterada para as regiões de revestimento imediatamente acima do suporte." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Velocidade da ventoinha de revestimento suportada" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Velocidade percentual da ventoinha a utilizar ao imprimir as regiões de revestimento imediatamente acima do suporte. A utilização de uma velocidade de ventoinha elevada facilita a remoção do suporte." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3942,9 +3938,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\n" -"Esta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." +msgstr "A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\nEsta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4120,7 +4114,7 @@ msgstr "O diâmetro das linhas na camada inferior (base) do raft. Devem ser linh #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Espaçamento da Linha Base do Raft" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4892,12 +4886,12 @@ msgstr "Os dados que ligam o fluxo de material (em mm3 por segundo) à temperatu #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Circunferência Mínima do Polígono" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Os polígonos em camadas seccionadas que apresentem uma circunferência mais pequena do que este valor serão filtrados. Valores mais reduzidos originam malhas de resolução superior à custa do tempo de seccionamento. Destina-se principalmente a impressoras SLA de alta resolução e a modelos 3D muito pequenos com muitos detalhes." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5423,9 +5417,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"A distância de um movimento ascendente que é extrudido a metade da velocidade.\n" -"Isto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." +msgstr "A distância de um movimento ascendente que é extrudido a metade da velocidade.\nIsto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5575,22 +5567,22 @@ msgstr "O limiar em que se deve usar, ou não, uma menor espessura de camada. Es #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Ângulo da parede de saliências" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "As paredes que se salientam mais do que este ângulo serão impressas utilizando definições de parede de saliências. Quando o valor é 90, nenhuma parede será tratada como saliente." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Velocidade da parede de saliências" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "As paredes de saliências serão impressas a esta percentagem da sua velocidade de impressão normal." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index 3151acbd34..49ed8ab1a2 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -43,13 +43,13 @@ msgstr "Файл G-code" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "Средство записи G-кода (GCodeWriter) не поддерживает нетекстовый режим." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Сгенерируйте G-код перед сохранением." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

\n" -"

{model_names}

\n" -"

Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

\n" -"

Ознакомиться с руководством по качеству печати

" +msgstr "

Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

\n

{model_names}

\n

Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

\n

Ознакомиться с руководством по качеству печати

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -88,7 +84,7 @@ msgstr "Профиль был нормализован и активирован #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 msgctxt "@item:inmenu" msgid "USB printing" -msgstr "USB печать" +msgstr "Печать через USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 msgctxt "@action:button Preceded by 'Ready to'." @@ -108,7 +104,7 @@ msgstr "Подключено через USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Выполняется печать через USB, закрытие Cura остановит эту печать. Вы уверены?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -135,7 +131,7 @@ msgstr "Сжатый файл с G-кодом" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "Средство записи G-кода с расширением GZ (GCodeGzWriter) не поддерживает текстовый режим." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -632,7 +628,7 @@ msgstr "Слайсинг невозможен, так как черновая б #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Невозможно разделить на слои из-за наличия объектов, связанных с отключенным экструдером %s." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -688,12 +684,12 @@ msgstr "Сопло" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Файл проекта {0} содержит неизвестный тип принтера {1}. Не удалось импортировать принтер. Вместо этого будут импортированы модели." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Открыть файл проекта" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -750,7 +746,7 @@ msgstr "3MF файл проекта Cura" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Ошибка в ходе записи файла 3MF." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1078,12 +1074,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

В ПО Ultimaker Cura обнаружена ошибка.

\n" -"

Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

\n" -"

Резервные копии хранятся в папке конфигурации.

\n" -"

Отправьте нам этот отчет о сбое для устранения проблемы.

\n" -" " +msgstr "

В ПО Ultimaker Cura обнаружена ошибка.

\n

Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

\n

Резервные копии хранятся в папке конфигурации.

\n

Отправьте нам этот отчет о сбое для устранения проблемы.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1107,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

\n" -"

Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

\n" -" " +msgstr "

В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

\n

Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1466,7 +1454,7 @@ msgstr "Автор" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Загрузки" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1506,27 +1494,27 @@ msgstr "Назад" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Подтвердить удаление " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Вы удаляете материалы и/или профили, которые все еще используются. Подтверждение приведет к сбросу указанных ниже материалов/профилей к их настройкам по умолчанию." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Материалы" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Профили" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Подтвердить" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1541,17 +1529,17 @@ msgstr "Выйти из Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Вклад в развитие сообщества" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Плагины сообщества" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Универсальные материалы" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1584,10 +1572,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Этот плагин содержит лицензию.\n" -"Чтобы установить этот плагин, необходимо принять условия лицензии.\n" -"Принять приведенные ниже условия?" +msgstr "Этот плагин содержит лицензию.\nЧтобы установить этот плагин, необходимо принять условия лицензии.\nПринять приведенные ниже условия?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1617,12 +1602,12 @@ msgstr "Выборка пакетов..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Веб-сайт" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "Электронная почта" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1707,10 +1692,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n" -"\n" -"Укажите ваш принтер в списке ниже:" +msgstr "Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n\nУкажите ваш принтер в списке ниже:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1759,12 +1741,12 @@ msgstr "Адрес" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Данный принтер не настроен для управления группой принтеров." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Данный принтер управляет группой из %1 принтера (-ов)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1812,52 +1794,52 @@ msgstr "Печать" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Ожидание: недоступный принтер" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Ожидание: первое доступное" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Ожидание: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "переместить в начало" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Переместить задание печати в начало очереди" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Вы уверены, что хотите переместить %1 в начало очереди?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Удалить" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Удалить задание печати" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Вы уверены, что хотите удалить %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Управление очередью" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1872,57 +1854,57 @@ msgstr "Печать" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Управление принтерами" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Недоступно" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Недостижимо" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Доступен" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Продолжить" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Пауза" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Прервать" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" -msgstr "Прекращение печати" +msgstr "Прервать печать" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Вы уверены, что хотите прервать %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Прервано" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1937,7 +1919,7 @@ msgstr "Подготовка" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Приостановка" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2357,7 +2339,7 @@ msgstr "Открыть" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Предыдущий" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2369,12 +2351,12 @@ msgstr "Экспорт" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Следующий" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Кончик" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2423,12 +2405,12 @@ msgstr "%1 м / ~ %2 г" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Пробная печать" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Контрольный список" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2651,7 +2633,7 @@ msgstr "Пожалуйста, удалите напечатанное" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Прервать печать" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2668,9 +2650,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Вы изменили некоторые параметры профиля.\n" -"Желаете сохранить их или вернуть к прежним значениям?" +msgstr "Вы изменили некоторые параметры профиля.\nЖелаете сохранить их или вернуть к прежним значениям?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2888,7 +2868,7 @@ msgstr "Материал успешно экспортирован в #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 msgctxt "@title:tab" msgid "Setting Visibility" -msgstr "Видимость настроек" +msgstr "Видимость параметров" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:50 msgctxt "@label:textbox" @@ -3114,7 +3094,7 @@ msgstr "Стандартное поведение при открытии фай #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Всегда спрашивать меня" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3134,22 +3114,22 @@ msgstr "При внесении изменений в профиль и пере #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Профили" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Поведение по умолчанию для измененных значений настройки при переключении на другой профиль: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Всегда сбрасывать измененные настройки" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Всегда передавать измененные настройки новому профилю" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3344,7 +3324,7 @@ msgstr "Добавить принтер" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Без имени" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3366,9 +3346,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura разработана компанией Ultimaker B.V. совместно с сообществом.\n" -"Cura использует следующие проекты с открытым исходным кодом:" +msgstr "Cura разработана компанией Ultimaker B.V. совместно с сообществом.\nCura использует следующие проекты с открытым исходным кодом:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3481,10 +3459,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Значения некоторых параметров отличаются от значений профиля.\n" -"\n" -"Нажмите для открытия менеджера профилей." +msgstr "Значения некоторых параметров отличаются от значений профиля.\n\nНажмите для открытия менеджера профилей." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3538,10 +3513,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n" -"\n" -"Щёлкните, чтобы сделать эти параметры видимыми." +msgstr "Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n\nЩёлкните, чтобы сделать эти параметры видимыми." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3569,10 +3541,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Значение этого параметра отличается от значения в профиле.\n" -"\n" -"Щёлкните для восстановления значения из профиля." +msgstr "Значение этого параметра отличается от значения в профиле.\n\nЩёлкните для восстановления значения из профиля." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3580,10 +3549,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n" -"\n" -"Щёлкните для восстановления вычисленного значения." +msgstr "Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n\nЩёлкните для восстановления вычисленного значения." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3677,7 +3643,7 @@ msgstr "Сопло, вставленное в данный экструдер." #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:493 msgctxt "@label" msgid "Build plate" -msgstr "Стол" +msgstr "Рабочий стол" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:55 msgctxt "@tooltip" @@ -3702,17 +3668,17 @@ msgstr "Нагрев горячего стола перед печатью. Вы #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Материал" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Избранные" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Универсальные" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3810,9 +3776,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Настройка принтера отключена\n" -"G-code файлы нельзя изменять" +msgstr "Настройка принтера отключена\nG-code файлы нельзя изменять" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -3917,7 +3881,7 @@ msgstr "Управление материалами…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" -msgstr "Обновить профиль, используя текущие параметры" +msgstr "Обновить профиль текущими параметрами" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 msgctxt "@action:inmenu menubar:profile" @@ -4157,17 +4121,17 @@ msgstr "Файл" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Сохранить…" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Экспорт…" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Экспорт выбранного…" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4269,13 +4233,13 @@ msgstr "Вы действительно желаете начать новый #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Закрытие Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Вы уверены, что хотите выйти из Cura?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4458,7 +4422,7 @@ msgstr "Материал" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Использовать клей с этой комбинацией материалов" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4778,52 +4742,52 @@ msgstr "Обновление версии 3.3 до 3.4" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." -msgstr "Обновляет конфигурацию Cura 2.5 до Cura 2.6." +msgstr "Обновляет настройки Cura 2.5 до Cura 2.6." #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" -msgstr "Обновление версии с 2.5 до 2.6" +msgstr "Обновление версии 2.5 до 2.6" #: VersionUpgrade/VersionUpgrade27to30/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." -msgstr "Обновляет конфигурацию Cura 2.7 до Cura 3.0." +msgstr "Обновляет настройки Cura 2.7 до Cura 3.0." #: VersionUpgrade/VersionUpgrade27to30/plugin.json msgctxt "name" msgid "Version Upgrade 2.7 to 3.0" -msgstr "Обновление версии с 2.7 до 3.0" +msgstr "Обновление версии 2.7 до 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Обновляет настройки Cura 3.4 до Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Обновление версии 3.4 до 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.0 to Cura 3.1." -msgstr "Обновление конфигураций с Cura 3.0 до Cura 3.1." +msgstr "Обновление настроек Cura 3.0 до Cura 3.1." #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "name" msgid "Version Upgrade 3.0 to 3.1" -msgstr "Обновление версии с 3.0 до 3.1" +msgstr "Обновление версии 3.0 до 3.1" #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." -msgstr "Обновляет конфигурацию Cura 2.6 до Cura 2.7." +msgstr "Обновляет настройки Cura 2.6 до Cura 2.7." #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "name" msgid "Version Upgrade 2.6 to 2.7" -msgstr "Обновление версии с 2.6 до 2.7" +msgstr "Обновление версии 2.6 до 2.7" #: VersionUpgrade/VersionUpgrade21to22/plugin.json msgctxt "description" @@ -4838,7 +4802,7 @@ msgstr "Обновление версии 2.1 до 2.2" #: VersionUpgrade/VersionUpgrade22to24/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -msgstr "Обновляет конфигурации Cura 2.2 до Cura 2.4." +msgstr "Обновляет настройки Cura 2.2 до Cura 2.4." #: VersionUpgrade/VersionUpgrade22to24/plugin.json msgctxt "name" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 17efdcadaf..aa5d716e55 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n" -"." +msgstr "Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n" -"." +msgstr "Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1074,12 +1070,12 @@ msgstr "Зигзаг" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Соединение верхних/нижних полигонов" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Соединение верхних/нижних путей оболочки на участках, где они проходят рядом. При использовании концентрического шаблона активация данной настройки значительно сокращает время перемещения, но, учитывая возможность наличия соединений на полпути над заполнением, эта функция может ухудшить качество верхней оболочки." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1164,22 +1160,22 @@ msgstr "Компенсирует поток для печатаемых част #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Минимальный поток для стенки" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Минимальный разрешенный поток (в процентах) для линии стенки. Компенсация перекрытия стенок снижает поток для стенки при нахождении вблизи от существующей стенки. Стенки с потоком меньше указанного значения будут заменены посредством движения. При использовании этой настройки необходимо активировать компенсацию перекрытия стенок и печатать сначала внешнюю стенку, а затем — внутренние." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Предпочтительный откат" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Если включено, вместо комбинга для движений, заменяющих стенки с потоком меньше минимального установленного порога, используется откат." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1574,12 +1570,12 @@ msgstr "Соединение мест пересечения шаблона за #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Соединение полигонов заполнения" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Соединение путей заполнения на участках, где они проходят рядом. Для шаблонов заполнения, состоящих из нескольких замкнутых полигонов, активация данной настройки значительно сокращает время перемещения." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1614,24 +1610,24 @@ msgstr "Расстояние перемещения шаблона заполн #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Множитель для линии заполнения" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Преобразовывать каждую линию заполнения во множество линий. Дополнительные линии не пересекаются, а уклоняются от столкновения друг с другом. Благодаря этому заполнение становится более плотным, но время печати и расход материалов увеличиваются." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Количество дополнительных стенок заполнения" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Добавление дополнительных стенок вокруг области заполнения. Эти стенки могут уменьшить провисание верхних/нижних линий оболочки, что уменьшает необходимое количество верхних/нижних слоев оболочки без ухудшения качества за счет небольшого увеличения количества материала.\nЭта функция может сочетаться с соединением полигонов заполнения для соединения всего участка заполнения в один путь экструзии без необходимости в движениях или откатах в случае правильной настройки." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2751,7 +2747,7 @@ msgstr "Рывок перемещения первого слоя" #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 description" msgid "The acceleration for travel moves in the initial layer." -msgstr "Изменение максимальной мгновенной скорости, с которой происходят перемещения на первом слое." +msgstr "Ускорение для перемещения на первом слое." #: fdmprinter.def.json msgctxt "jerk_skirt_brim label" @@ -2781,7 +2777,7 @@ msgstr "Режим комбинга" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "Комбинг удерживает сопло внутри напечатанных зон при перемещении. Это выражается в небольшом увеличении пути, но уменьшает необходимость в откатах. При отключенном комбинге выполняется откат материала, а сопло передвигается в следующую точку по прямой. Также можно не применять комбинг над верхними/нижними областями оболочки, разрешив комбинг только в области заполнения. Обратите внимание, что опция «В области заполнения» предполагает те же действия, что и опция «Не в оболочке» более ранних выпусков Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2801,7 +2797,7 @@ msgstr "Не в оболочке" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "В области заполнения" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3246,22 +3242,22 @@ msgstr "Дистанция между напечатанными линями с #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Дистанция между линиями поддержки первого слоя" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Дистанция между напечатанными линиями структуры поддержек первого слоя. Этот параметр вычисляется по плотности поддержек." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Направление линии заполнения поддержек" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Ориентация шаблона заполнения для поддержек. Шаблон заполнения поддержек вращается в горизонтальной плоскости." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3631,22 +3627,22 @@ msgstr "Зигзаг" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Переопределение скорости вентилятора" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Если включено, скорость охлаждающего вентилятора, используемого во время печати, изменяется для областей оболочки непосредственно над поддержкой." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Поддерживаемая скорость вентилятора для оболочки" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Скорость вентилятора в процентах, с которой печатаются области оболочки непосредственно над поддержкой. Использование высоких значений скорости вентилятора может упростить снятие поддержки." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3701,7 +3697,7 @@ msgstr "Будет поддерживать всё ниже объекта, ни #: fdmprinter.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" -msgstr "Прилипание к столу" +msgstr "Тип прилипания к столу" #: fdmprinter.def.json msgctxt "platform_adhesion description" @@ -3766,7 +3762,7 @@ msgstr "Подложка" #: fdmprinter.def.json msgctxt "adhesion_type option none" msgid "None" -msgstr "Отсутствует" +msgstr "Нет" #: fdmprinter.def.json msgctxt "adhesion_extruder_nr label" @@ -3798,9 +3794,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Горизонтальное расстояние между юбкой и первым слоем печати.\n" -"Минимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." +msgstr "Горизонтальное расстояние между юбкой и первым слоем печати.\nМинимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3975,7 +3969,7 @@ msgstr "Ширина линий нижнего слоя подложки. Она #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Дистанция между линиями нижнего слоя подложки" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4720,12 +4714,12 @@ msgstr "График, объединяющий поток (в мм3 в секу #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Минимальная длина окружности полигона" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Полигоны в разделенных слоях, длина окружности которых меньше указанной величины, будут отфильтрованы. Пониженные значения приводят к увеличению разрешения объекта за счет времени разделения. Это предназначено главным образом для принтеров SLA с высоким разрешением и миниатюрных 3D-моделей с множеством деталей." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5237,9 +5231,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\n" -"Это может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." +msgstr "Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\nЭто может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5389,22 +5381,22 @@ msgstr "Пороговое значение, при достижении кот #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Угол нависающей стенки" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Стенки, нависающие под углом, который больше указанного, будут напечатаны с использованием настроек нависающей стенки. Если значение составляет 90, стенки не считаются нависающими." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Скорость печати нависающей стенки" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Нависающие стенки будут напечатаны с данным процентным значением нормальной скорости печати." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 8c85d5c456..057036220b 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -41,13 +41,13 @@ msgstr "G-code dosyası" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter metin dışı modu desteklemez." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Lütfen kaydetmeden önce G-code oluşturun." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -62,11 +62,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

\n" -"

{model_names}

\n" -"

En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

\n" -"

Yazdırma kalitesi kılavuzunu görüntüleyin

" +msgstr "

Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

\n

{model_names}

\n

En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

\n

Yazdırma kalitesi kılavuzunu görüntüleyin

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -106,7 +102,7 @@ msgstr "USB ile bağlı" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "USB’den yazdırma devam ediyor, Cura’yı kapatmanız bu yazdırma işlemini durduracak. Emin misiniz?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -133,7 +129,7 @@ msgstr "Sıkıştırılmış G-code Dosyası" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeGzWriter yazı modunu desteklemez." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -630,7 +626,7 @@ msgstr "İlk direk veya ilk konum(lar) geçersiz olduğu için dilimlenemiyor." #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Etkisizleştirilmiş Extruder %s ile ilgili nesneler olduğundan dilimleme yapılamıyor." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -686,12 +682,12 @@ msgstr "Nozül" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Proje dosyası {0} bilinmeyen bir makine tipi içeriyor: {1}. Makine alınamıyor. Bunun yerine modeller alınacak." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Proje Dosyası Aç" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -748,7 +744,7 @@ msgstr "Cura Projesi 3MF dosyası" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "3mf dosyasını yazarken hata oluştu." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1076,12 +1072,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

\n" -"

Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

\n" -"

Yedekler yapılandırma klasöründe bulunabilir.

\n" -"

Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

\n" -" " +msgstr "

Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

\n

Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

\n

Yedekler yapılandırma klasöründe bulunabilir.

\n

Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1114,10 +1105,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

\n" -"

Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

\n" -" " +msgstr "

Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

\n

Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1464,7 +1452,7 @@ msgstr "Yazar" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "İndirmeler" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1504,27 +1492,27 @@ msgstr "Geri" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Kaldırmayı onayla " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Kullanımda olan materyalleri ve/veya profilleri kaldırıyorsunuz. Onay verirseniz aşağıdaki materyaller/profiller varsayılan değerlerine sıfırlanacaktır." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Malzemeler" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Profiller" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Onayla" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1539,17 +1527,17 @@ msgstr "Cura’dan Çıkın" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Topluluk Katkıları" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Topluluk Eklentileri" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Genel Materyaller" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1582,10 +1570,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Bu eklenti bir lisans içerir.\n" -"Bu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\n" -"Aşağıdaki koşulları kabul ediyor musunuz?" +msgstr "Bu eklenti bir lisans içerir.\nBu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\nAşağıdaki koşulları kabul ediyor musunuz?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1615,12 +1600,12 @@ msgstr "Paketler alınıyor..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Web sitesi" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-posta" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1705,10 +1690,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n" -"\n" -"Aşağıdaki listeden yazıcınızı seçin:" +msgstr "Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n\nAşağıdaki listeden yazıcınızı seçin:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1757,12 +1739,12 @@ msgstr "Adres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Bu yazıcı, bir yazıcı grubunu barındırmak için ayarlı değildir." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Bu yazıcı, %1 yazıcı grubunun ana makinesidir." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1810,52 +1792,52 @@ msgstr "Yazdır" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Bekleniyor: Kullanım dışı yazıcı" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Bekleniyor: İlk mevcut olan" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Bekleniyor: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "En üste taşı" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Yazdırma işini en üste taşı" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "%1 öğesini kuyruğun en üstüne taşımak ister misiniz?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Sil" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Yazdırma işini sil" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "%1 öğesini silmek istediğinizden emin misiniz?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Kuyruğu yönet" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1870,40 +1852,40 @@ msgstr "Yazdırma" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Yazıcıları yönet" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Mevcut değil" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Ulaşılamıyor" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Mevcut" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Devam et" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Duraklat" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Durdur" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1914,13 +1896,13 @@ msgstr "Yazdırmayı durdur" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "%1 öğesini durdurmak istediğinizden emin misiniz?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Durduruldu" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1935,7 +1917,7 @@ msgstr "Hazırlanıyor" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Duraklatılıyor" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2353,7 +2335,7 @@ msgstr "Aç" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Önceki" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2365,12 +2347,12 @@ msgstr "Dışa Aktar" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Sonraki" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "İpucu" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2419,12 +2401,12 @@ msgstr "%1 m / ~ %2 g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Yazdırma denemesi" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Kontrol listesi" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2647,7 +2629,7 @@ msgstr "Lütfen yazıcıyı çıkarın " #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Yazdırmayı Durdur" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Bazı profil ayarlarını özelleştirdiniz.\n" -"Bu ayarları kaydetmek veya iptal etmek ister misiniz?" +msgstr "Bazı profil ayarlarını özelleştirdiniz.\nBu ayarları kaydetmek veya iptal etmek ister misiniz?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3110,7 +3090,7 @@ msgstr "Bir proje dosyası açıldığında varsayılan davranış: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Her zaman sor" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3130,22 +3110,22 @@ msgstr "Bir profil üzerinde değişiklik yapıp farklı bir profile geçtiğini #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Profiller" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Farklı bir profile geçerken değişen ayar değerleriyle ilgili varsayılan davranış: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Değiştirilen ayarları her zaman at" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Değiştirilen ayarları her zaman yeni profile taşı" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3340,7 +3320,7 @@ msgstr "Yazıcı Ekle" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Başlıksız" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3362,9 +3342,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\n" -"Cura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" +msgstr "Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\nCura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3477,10 +3455,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n" -"\n" -"Profil yöneticisini açmak için tıklayın." +msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3534,10 +3509,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n" -"\n" -"Bu ayarları görmek için tıklayın." +msgstr "Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n\nBu ayarları görmek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3565,10 +3537,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Bu ayarın değeri profilden farklıdır.\n" -"\n" -"Profil değerini yenilemek için tıklayın." +msgstr "Bu ayarın değeri profilden farklıdır.\n\nProfil değerini yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3576,10 +3545,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n" -"\n" -"Hesaplanan değeri yenilemek için tıklayın." +msgstr "Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n\nHesaplanan değeri yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3698,17 +3664,17 @@ msgstr "Yazdırma öncesinde yatağı ısıt. Isıtma sırasında yazdırma işi #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Malzeme" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Favoriler" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Genel" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3804,9 +3770,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Yazdırma Ayarı devre dışı\n" -"G-code dosyaları üzerinde değişiklik yapılamaz" +msgstr "Yazdırma Ayarı devre dışı\nG-code dosyaları üzerinde değişiklik yapılamaz" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4148,17 +4112,17 @@ msgstr "&Dosya" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Kaydet..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Dışa Aktar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Seçimi Dışa Aktar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4260,13 +4224,13 @@ msgstr "Yeni bir proje başlatmak istediğinizden emin misiniz? Bu işlem yapı #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Cura Kapatılıyor" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Cura’dan çıkmak istediğinizden emin misiniz?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4448,7 +4412,7 @@ msgstr "Malzeme" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Bu malzeme kombinasyonuyla yapışkan kullan" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4788,12 +4752,12 @@ msgstr "2.7’den 3.0’a Sürüm Yükseltme" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Yapılandırmaları Cura 3.4’ten Cura 3.5’e yükseltir." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "3.4’ten 3.5’e Sürüm Yükseltme" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index d8d7bd6524..7a6778aeff 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -" \n" -" ile ayrılan, başlangıçta yürütülecek G-code komutları." +msgstr " \n ile ayrılan, başlangıçta yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -" \n" -" ile ayrılan, bitişte yürütülecek G-code komutları." +msgstr " \n ile ayrılan, bitişte yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1072,12 +1068,12 @@ msgstr "Zikzak" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Üst/Alt Poligonları Bağla" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Üst/alt yüzey yollarını yan yana ise bağla. Eş merkezli şekil için bu ayarı etkinleştirmek hareket süresini önemli ölçüde kısaltır; ancak bağlantılar dolgunun üzerinde meydana gelebileceğinden bu özellik üst yüzeyin kalitesini düşürebilir." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1162,22 +1158,22 @@ msgstr "Halihazırda duvarın olduğu bir yere yazdırılan bir iç duvarın par #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Minimum Duvar Akışı" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Bir duvar hattı için izin verilen en düşük yüzde akımdır. Duvar çakışması, mevcut bir duvara yakın duruyorsa bir duvarın akışını azaltır. Akışları bu değerden düşük olan duvarların yerine hareket hamlesi konacaktır. Bu ayarı kullanırken duvar çakışma telafisini açmanız ve iç duvardan önce dış duvarı yazdırmanız gerekir." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Geri Çekmeyi Tercih Et" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Geri çekme etkinleştirildiğinde, akışları minimum akış eşiğinin altındaki duvarların yerini alacak hareketleri taramak yerine geri çekme kullanılır." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1572,12 +1568,12 @@ msgstr "İç duvarın şeklini takip eden bir hattı kullanarak dolgu şeklinin #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Dolgu Poligonlarını Bağla" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Yan yana giden dolgu yollarını bağla. Birkaç kapalı poligondan oluşan dolgu şekilleri için bu ayarı etkinleştirmek hareket süresini büyük ölçüde kısaltır." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1612,24 +1608,24 @@ msgstr "Dolgu şekli Y ekseni boyunca bu mesafe kadar kaydırılır." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Dolgu Hattı Çoğaltıcı" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Her bir dolgu hattını bu sayıda hatta dönüştür. Ekstra hatlar birbirlerini kesmez, birbirlerinden bağımsız kalırlar. Bu dolguyu sertleştirir, ancak yazdırma süresini uzatırken materyal kullanımını artırır." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Ekstra Dolgu Duvar Sayısı" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "Dolgu alanının etrafına ekstra duvar ekle. Bu duvarlar üst/alt yüzey hatlarının daha az aşağı düşmesini sağlar. Yani biraz fazla materyal kullanarak, daha az üst/alt yüzey katmanı ile aynı kaliteyi yakalayabilirsiniz.\nBu özellik, doğru konfigüre edildiğinde, harekete veya geri çekmeye gerek kalmadan Dolgu Poligonlarını Bağlama ile birlikte tüm dolguyu tek bir ekstrüzyon yoluna bağlayabilir." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2779,7 +2775,7 @@ msgstr "Tarama Modu" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "Tarama, hareket sırasında nozülü daha önce yazdırılmış alanlarda tutar. Bu durum hareketleri biraz uzatır ancak geri çekme ihtiyacını azaltır. Tarama kapalıysa materyal geri çekilecektir, nozül de bir sonraki noktaya düz bir çizgi üzerinden gider. Üst/alt yüzey alanlarının üzerinde tarama yapmayarak sadece dolgu içerisinde tarama yapılabilir. “Dolgu İçinde” seçeneğinin daha önceki Cura sürümlerinde bulunan “Yüzey Alanında Değil” seçeneğiyle tamamen aynı davranışı gösterdiğini unutmayın." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2799,7 +2795,7 @@ msgstr "Yüzey Alanında Değil" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Dolgu İçinde" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3244,22 +3240,22 @@ msgstr "Yazdırılan destek yapısı hatları arasındaki mesafe. Bu ayar, deste #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "İlk Katman Destek Hattı Mesafesi" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Yazdırılan ilk katman destek yapı hatları arasındaki mesafedir. Bu ayar destek yoğunluğuna göre hesaplanır." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Destek Dolgu Hattı Yönü" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Destekler için dolgu şeklinin döndürülmesi. Destek dolgu şekli yatay düzlemde döndürülür." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3629,22 +3625,22 @@ msgstr "Zikzak" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Fan Hızı Geçersiz Kılma" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Bu ayar etkinleştirildiğinde, yazıcı soğutma fanının hızı desteğin hemen üzerindeki yüzey bölgeleri için değiştirilir." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Desteklenen Yüzey Fan Hızı" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Desteğin hemen üzerindeki yüzey bölgeleri yazdırılırken kullanılacak yüzdelik fan hızıdır. Yüksek fan hızı kullanmak desteğin daha kolay kaldırılmasını sağlayabilir." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3796,9 +3792,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\n" -"Minimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." +msgstr "Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\nMinimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3973,7 +3967,7 @@ msgstr "Radyenin taban katmanındaki hatların genişliği. Bunlar, yapı levhas #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Radye Taban Hat Genişliği" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4718,12 +4712,12 @@ msgstr "Malzeme akışını (saniye başına mm3 bazında) sıcaklığa (santigr #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Minimum Poligon Çevre Uzunluğu" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Bu miktardan daha kısa çevre uzunluğuna sahip dilimlenmiş katmanlardaki poligonlar filtre ile elenecektir. Daha düşük değerler dilimleme süresini uzatacak ancak daha yüksek çözünürlükte bir ağ oluşturacaktır. Genellikle yüksek çözünürlüklü SLA yazıcılarına yöneliktir ve çok fazla detay içeren çok küçük 3D modellerinde kullanılır." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5235,9 +5229,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\n" -"Bu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." +msgstr "Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\nBu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5387,22 +5379,22 @@ msgstr "Daha küçük bir katmanın kullanılıp kullanılmayacağını belirley #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Çıkıntılı Duvar Açısı" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Bu açıdan daha fazla çıkıntı yapan duvarlar çıkıntılı duvar ayarları kullanılarak yazdırılacaktır. Değer 90 ise hiçbir duvar çıkıntılı kabul edilmeyecektir." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Çıkıntılı Duvar Hızı" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Çıkıntılı duvarlar, normal yazdırma hızına göre bu yüzdeye denk bir hızda yazdırılacaktır." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 7627e91a91..1c32f85fe6 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -43,13 +43,13 @@ msgstr "GCode 文件" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "GCodeWriter 不支持非文本模式。" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "保存之前,请生成 G-code。" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "" -"

由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

\n" -"

{model_names}

\n" -"

找出如何确保最好的打印质量和可靠性.

\n" -"

查看打印质量指南

" +msgstr "

由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

\n

{model_names}

\n

找出如何确保最好的打印质量和可靠性.

\n

查看打印质量指南

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -108,7 +104,7 @@ msgstr "通过 USB 连接" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "正在进行 USB 打印,关闭 Cura 将停止此打印。您确定吗?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -135,7 +131,7 @@ msgstr "压缩 G-code 文件" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "GCodeGzWriter 不支持文本模式。" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -632,7 +628,7 @@ msgstr "无法切片(原因:主塔或主位置无效)。" #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "无法切片,因为存在与已禁用挤出机 %s 相关联的对象。" #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -688,12 +684,12 @@ msgstr "喷嘴" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "项目文件 {0} 包含未知机器类型 {1}。无法导入机器。将改为导入模型。" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "打开项目文件" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -750,7 +746,7 @@ msgstr "Cura 项目 3MF 文件" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "写入 3mf 文件时出错。" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1078,12 +1074,7 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "" -"

糟糕,Ultimaker Cura 似乎遇到了问题。

\n" -"

在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

\n" -"

您可在配置文件夹中找到备份。

\n" -"

请向我们发送此错误报告,以便解决问题。

\n" -" " +msgstr "

糟糕,Ultimaker Cura 似乎遇到了问题。

\n

在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

\n

您可在配置文件夹中找到备份。

\n

请向我们发送此错误报告,以便解决问题。

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1116,10 +1107,7 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "" -"

Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

\n" -"

请使用“发送报告”按钮将错误报告自动发布到我们的服务器

\n" -" " +msgstr "

Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

\n

请使用“发送报告”按钮将错误报告自动发布到我们的服务器

\n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1466,7 +1454,7 @@ msgstr "作者" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "下载项" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1506,27 +1494,27 @@ msgstr "背部" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "确认卸载 " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "您正在卸载仍在使用的材料和/或配置文件。确认会将以下材料/配置文件重置为默认值。" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "材料" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "配置文件" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "确认" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1541,17 +1529,17 @@ msgstr "退出 Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "社区贡献" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "社区插件" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "通用材料" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1584,10 +1572,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"该插件包含一个许可。\n" -"您需要接受此许可才能安装此插件。\n" -"是否同意下列条款?" +msgstr "该插件包含一个许可。\n您需要接受此许可才能安装此插件。\n是否同意下列条款?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1617,12 +1602,12 @@ msgstr "获取包……" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "网站" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "电子邮件" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1707,10 +1692,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n" -"\n" -"从以下列表中选择您的打印机:" +msgstr "要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n\n从以下列表中选择您的打印机:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1759,12 +1741,12 @@ msgstr "地址" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "这台打印机未设置为运行一组打印机。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "这台打印机是一组共 %1 台打印机的主机。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1812,52 +1794,52 @@ msgstr "打印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "等待:不可用的打印机" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "等待:第一个可用的" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "等待: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "移至顶部" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "将打印作业移至顶部" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "您确定要将 %1 移至队列顶部吗?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "删除" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "删除打印作业" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "您确定要删除 %1 吗?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "管理队列" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1872,40 +1854,40 @@ msgstr "打印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "管理打印机" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "不可用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "无法连接" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "可用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "恢复" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "暂停" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "中止" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1916,13 +1898,13 @@ msgstr "中止打印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "您确定要中止 %1 吗?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "已中止" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1937,7 +1919,7 @@ msgstr "准备" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "暂停" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2353,7 +2335,7 @@ msgstr "打开" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "上一步" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2365,12 +2347,12 @@ msgstr "导出" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "下一步" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "提示" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2419,12 +2401,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "打印试验" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "检查表" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2647,7 +2629,7 @@ msgstr "请取出打印件" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "中止打印" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"您已自定义某些配置文件设置。\n" -"您想保留或舍弃这些设置吗?" +msgstr "您已自定义某些配置文件设置。\n您想保留或舍弃这些设置吗?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3110,7 +3090,7 @@ msgstr "打开项目文件时的默认行为:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "总是询问" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3130,22 +3110,22 @@ msgstr "当您对配置文件进行更改并切换到其他配置文件时将显 #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "配置文件" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "切换到不同配置文件时对设置值更改的默认操作: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "总是舍失更改的设置" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "总是将更改的设置传输至新配置文件" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3340,7 +3320,7 @@ msgstr "新增打印机" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "未命名" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3362,9 +3342,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura 由 Ultimaker B.V. 与社区合作开发。\n" -"Cura 使用以下开源项目:" +msgstr "Cura 由 Ultimaker B.V. 与社区合作开发。\nCura 使用以下开源项目:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3477,10 +3455,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"某些设置/重写值与存储在配置文件中的值不同。\n" -"\n" -"点击打开配置文件管理器。" +msgstr "某些设置/重写值与存储在配置文件中的值不同。\n\n点击打开配置文件管理器。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3534,10 +3509,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"一些隐藏设置正在使用有别于一般设置的计算值。\n" -"\n" -"单击以使这些设置可见。" +msgstr "一些隐藏设置正在使用有别于一般设置的计算值。\n\n单击以使这些设置可见。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3565,10 +3537,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"此设置的值与配置文件不同。\n" -"\n" -"单击以恢复配置文件的值。" +msgstr "此设置的值与配置文件不同。\n\n单击以恢复配置文件的值。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3576,10 +3545,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"此设置通常可被自动计算,但其当前已被绝对定义。\n" -"\n" -"单击以恢复自动计算的值。" +msgstr "此设置通常可被自动计算,但其当前已被绝对定义。\n\n单击以恢复自动计算的值。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3698,17 +3664,17 @@ msgstr "打印前请预热热床。您可以在热床加热时继续调整相关 #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "材料" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "收藏" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "通用" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3802,9 +3768,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"打印设置已禁用\n" -"G-code 文件无法被修改" +msgstr "打印设置已禁用\nG-code 文件无法被修改" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4143,17 +4107,17 @@ msgstr "文件(&F)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "保存(&S)..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "导出(&E)..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "导出选择..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4255,13 +4219,13 @@ msgstr "你确定要开始一个新项目吗?这将清除打印平台及任何 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "关闭 Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "您确定要退出 Cura 吗?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4442,7 +4406,7 @@ msgstr "材料" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "用胶粘和此材料组合" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4782,12 +4746,12 @@ msgstr "版本自 2.7 升级到 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "将配置从 Cura 3.4 版本升级至 3.5 版本。" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "版本自 3.4 升级到 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index f2e14bc412..57ebf225b4 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"在开始时执行的 G-code 命令 - 以 \n" -" 分行。" +msgstr "在开始时执行的 G-code 命令 - 以 \n 分行。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"在结束前执行的 G-code 命令 - 以 \n" -" 分行。" +msgstr "在结束前执行的 G-code 命令 - 以 \n 分行。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -1074,12 +1070,12 @@ msgstr "锯齿状" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "连接顶部/底部多边形" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "在顶部/底部皮肤路径互相紧靠运行的地方连接它们。对于同心图案,启用此设置可大大减少空驶时间,但因为连接可在填充中途发生,此功能可能会降低顶部表面质量。" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1164,22 +1160,22 @@ msgstr "在内壁已经存在时补偿所打印内壁部分的流量。" #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "最小壁流量" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "壁线允许的最小百分比流量。当某个壁靠近现有壁时,壁重叠补偿可减小其流量。流量小于此值的壁将由空驶替代。在使用此设置时,您必须启用壁重叠补偿并在打印内壁之前打印外壁。" #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "首选回抽" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "如启用,会使用回抽而不是梳理取代流量低于最小流量阈值的壁的空驶。" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1574,12 +1570,12 @@ msgstr "使用沿内壁形状的走线连接填充图案与内壁相接的各端 #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "连接填充多边形" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "在填充路径互相紧靠运行的地方连接它们。对于包含若干闭合多边形的填充图案,启用此设置可大大减少空驶时间。" #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1614,24 +1610,24 @@ msgstr "填充图案沿 Y 轴移动此距离。" #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "填充走线乘数" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "将每个填充走线转换成这种多重走线。额外走线互相不交叉,而是互相避开。这使得填充更严格,但会增加打印时间和材料使用。" #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "额外填充壁计数" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" +msgstr "在填充区域周围添加额外壁。此类壁可减少顶部/底部皮肤走线,这意味着只要付出一些额外的材料就可以使用更少的顶部/底部皮肤层达到相同的质量。\n在适当配置的情况下,此功能可结合连接填充多边形以将所有填充物连接到单一挤出路径而无需空驶或回抽。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2781,7 +2777,7 @@ msgstr "梳理模式" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "梳理可在空驶时让喷嘴保持在已打印区域内。这会使空驶距离稍微延长,但可减少回抽需求。如果关闭梳理,则材料将回抽,且喷嘴沿着直线移动到下一个点。也可以避免顶部/底部皮肤区域的梳理和仅在填充物内进行梳理。请注意,“在填充物内”选项的操作方式与较早 Cura 版本中的“不在皮肤中”选项完全相同。" #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2801,7 +2797,7 @@ msgstr "除了皮肤" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "在填充物内" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3246,22 +3242,22 @@ msgstr "已打印支撑结构走线之间的距离。 该设置通过支撑密 #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "起始层支撑走线距离" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "已打印起始层支撑结构走线之间的距离。该设置通过支撑密度计算。" #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "支撑填充走线方向" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "用于支撑的填充图案的方向。支撑填充图案在水平面中旋转。" #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3631,22 +3627,22 @@ msgstr "锯齿形" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "风扇速度覆盖" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "启用时,会为支撑正上方的表面区域更改打印冷却风扇速度。" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "支撑的表面风扇速度" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "打印支撑正上方表面区域时使用的风扇百分比速度。使用高风扇速度可能使支撑更容易移除。" #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3798,9 +3794,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"skirt 和打印第一层之间的水平距离。\n" -"这是最小距离。多个 skirt 走线将从此距离向外延伸。" +msgstr "skirt 和打印第一层之间的水平距离。\n这是最小距离。多个 skirt 走线将从此距离向外延伸。" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3975,7 +3969,7 @@ msgstr "基础 Raft 层的走线宽度。 这些走线应该是粗线,以便 #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Raft 基础走线间距" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4720,12 +4714,12 @@ msgstr "数据连接材料流量(mm3/s)到温度(摄氏度)。" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "最小多边形周长" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "切片层中周长小于此数值的多边形将被滤除。以切片时间为代价,较低的值可实现较高分辨率的网格。它主要用于高分辨率 SLA 打印机和包含大量细节的极小 3D 模型。" #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5237,9 +5231,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"以半速挤出的上行移动的距离。\n" -"这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" +msgstr "以半速挤出的上行移动的距离。\n这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5389,22 +5381,22 @@ msgstr "决定是否使用较小图层的阈值。该数字相当于一层中最 #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "悬垂壁角度" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "悬垂超过此角度的壁将使用悬垂壁设置打印。该值为 90 时,不会将任何壁视为悬垂。" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "悬垂壁速度" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "悬垂壁将以其正常打印速度的此百分比打印。" #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" From 5761d28f7f8620c4735c80ea442ec7a6ad4de877 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 14:24:21 +0200 Subject: [PATCH 116/423] Use old data dict code style, more readable --- cura/OAuth2/AuthorizationHelpers.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index 0a1447297c..c149f74ab2 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -37,19 +37,27 @@ class AuthorizationHelpers: # \param verification_code: The verification code needed for the PKCE extension. # \return: An AuthenticationResponse object. def getAccessTokenUsingAuthorizationCode(self, authorization_code: str, verification_code: str) -> "AuthenticationResponse": - data = self.getCommonRequestDataDict() - data["grant_type"] = "authorization_code" - data["code"] = authorization_code - data["code_verifier"] = verification_code + data = { + "client_id": self._settings.CLIENT_ID if self._settings.CLIENT_ID is not None else "", + "redirect_uri": self._settings.CALLBACK_URL if self._settings.CALLBACK_URL is not None else "", + "grant_type": "authorization_code", + "code": authorization_code, + "code_verifier": verification_code, + "scope": self._settings.CLIENT_SCOPES if self._settings.CLIENT_SCOPES is not None else "", + } return self.parseTokenResponse(requests.post(self._token_url, data = data)) # type: ignore # Request the access token from the authorization server using a refresh token. # \param refresh_token: # \return: An AuthenticationResponse object. def getAccessTokenUsingRefreshToken(self, refresh_token: str) -> "AuthenticationResponse": - data = self.getCommonRequestDataDict() - data["grant_type"] = "refresh_token" - data["refresh_token"] = refresh_token + data = { + "client_id": self._settings.CLIENT_ID if self._settings.CLIENT_ID is not None else "", + "redirect_uri": self._settings.CALLBACK_URL if self._settings.CALLBACK_URL is not None else "", + "grant_type": "refresh_token", + "refresh_token": refresh_token, + "scope": self._settings.CLIENT_SCOPES if self._settings.CLIENT_SCOPES is not None else "", + } return self.parseTokenResponse(requests.post(self._token_url, data = data)) # type: ignore @staticmethod From 1bee201cfd2db5453e34e06d98ccd166518bfd26 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 14:24:40 +0200 Subject: [PATCH 117/423] Remove unused code --- cura/OAuth2/AuthorizationHelpers.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index c149f74ab2..f75ad9c9f9 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -24,14 +24,6 @@ class AuthorizationHelpers: def settings(self) -> "OAuth2Settings": return self._settings - # Gets a dictionary with data that need to be used for any HTTP authorization request. - def getCommonRequestDataDict(self) -> Dict[str, str]: - data_dict = {"client_id": self._settings.CLIENT_ID if self._settings.CLIENT_ID is not None else "", - "redirect_uri": self._settings.CALLBACK_URL if self._settings.CALLBACK_URL is not None else "", - "scope": self._settings.CLIENT_SCOPES if self._settings.CLIENT_SCOPES is not None else "", - } - return data_dict - # Request the access token from the authorization server. # \param authorization_code: The authorization code from the 1st step. # \param verification_code: The verification code needed for the PKCE extension. From 44fd0752b6e680fee712d715516411f941199a99 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 28 Sep 2018 14:28:55 +0200 Subject: [PATCH 118/423] Update revision dates They are being checked today. I'm not that bothered about the exact time. Contributes to issue CURA-5741. --- resources/i18n/de_DE/cura.po | 2 +- resources/i18n/de_DE/fdmextruder.def.json.po | 2 +- resources/i18n/de_DE/fdmprinter.def.json.po | 2 +- resources/i18n/es_ES/cura.po | 2 +- resources/i18n/es_ES/fdmextruder.def.json.po | 2 +- resources/i18n/es_ES/fdmprinter.def.json.po | 2 +- resources/i18n/fr_FR/cura.po | 2 +- resources/i18n/fr_FR/fdmextruder.def.json.po | 2 +- resources/i18n/fr_FR/fdmprinter.def.json.po | 2 +- resources/i18n/it_IT/cura.po | 2 +- resources/i18n/it_IT/fdmextruder.def.json.po | 2 +- resources/i18n/it_IT/fdmprinter.def.json.po | 2 +- resources/i18n/ja_JP/cura.po | 2 +- resources/i18n/ja_JP/fdmextruder.def.json.po | 4 ++-- resources/i18n/ja_JP/fdmprinter.def.json.po | 4 ++-- resources/i18n/ko_KR/cura.po | 2 +- resources/i18n/ko_KR/fdmextruder.def.json.po | 2 +- resources/i18n/ko_KR/fdmprinter.def.json.po | 2 +- resources/i18n/nl_NL/cura.po | 2 +- resources/i18n/nl_NL/fdmextruder.def.json.po | 2 +- resources/i18n/nl_NL/fdmprinter.def.json.po | 2 +- resources/i18n/pt_PT/cura.po | 2 +- resources/i18n/pt_PT/fdmextruder.def.json.po | 2 +- resources/i18n/pt_PT/fdmprinter.def.json.po | 2 +- resources/i18n/ru_RU/cura.po | 2 +- resources/i18n/ru_RU/fdmextruder.def.json.po | 2 +- resources/i18n/ru_RU/fdmprinter.def.json.po | 2 +- resources/i18n/tr_TR/cura.po | 2 +- resources/i18n/tr_TR/fdmextruder.def.json.po | 2 +- resources/i18n/tr_TR/fdmprinter.def.json.po | 2 +- resources/i18n/zh_CN/cura.po | 2 +- resources/i18n/zh_CN/fdmextruder.def.json.po | 2 +- resources/i18n/zh_CN/fdmprinter.def.json.po | 2 +- 33 files changed, 35 insertions(+), 35 deletions(-) diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index 91b76b69ec..c3433ac9f1 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: German\n" "Language: de_DE\n" diff --git a/resources/i18n/de_DE/fdmextruder.def.json.po b/resources/i18n/de_DE/fdmextruder.def.json.po index 82b33e656b..56b6c35c93 100644 --- a/resources/i18n/de_DE/fdmextruder.def.json.po +++ b/resources/i18n/de_DE/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: German\n" "Language: de_DE\n" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index 693d27fb84..223639d3fc 100644 --- a/resources/i18n/de_DE/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: German\n" "Language: de_DE\n" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 7a2e602c73..95385902ca 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" "Language: es_ES\n" diff --git a/resources/i18n/es_ES/fdmextruder.def.json.po b/resources/i18n/es_ES/fdmextruder.def.json.po index 14bf25d79c..ec191c5271 100644 --- a/resources/i18n/es_ES/fdmextruder.def.json.po +++ b/resources/i18n/es_ES/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" "Language: es_ES\n" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 6cfbabcf13..5520a7737b 100644 --- a/resources/i18n/es_ES/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" "Language: es_ES\n" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index 3a92054283..87af488e31 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: French\n" "Language: fr_FR\n" diff --git a/resources/i18n/fr_FR/fdmextruder.def.json.po b/resources/i18n/fr_FR/fdmextruder.def.json.po index 0c408116b4..b2b54fbced 100644 --- a/resources/i18n/fr_FR/fdmextruder.def.json.po +++ b/resources/i18n/fr_FR/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: French\n" "Language: fr_FR\n" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index a411605fc2..60c17b93f8 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: French\n" "Language: fr_FR\n" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 07ea3e8580..610d113af8 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" "Language: it_IT\n" diff --git a/resources/i18n/it_IT/fdmextruder.def.json.po b/resources/i18n/it_IT/fdmextruder.def.json.po index 60346c3eb4..3fa62440ea 100644 --- a/resources/i18n/it_IT/fdmextruder.def.json.po +++ b/resources/i18n/it_IT/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" "Language: it_IT\n" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index 2934b86a02..b12c404f98 100644 --- a/resources/i18n/it_IT/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" "Language: it_IT\n" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 1f4d1a3e6d..2ab5bb0e1e 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" "Language: ja_JP\n" diff --git a/resources/i18n/ja_JP/fdmextruder.def.json.po b/resources/i18n/ja_JP/fdmextruder.def.json.po index 0fa92f6afe..cfa3fe4dee 100644 --- a/resources/i18n/ja_JP/fdmextruder.def.json.po +++ b/resources/i18n/ja_JP/fdmextruder.def.json.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" -"Language-Team: Brule\n" +"Language-Team: Japanese\n" "Language: ja_JP\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index 919dbc2033..23497053a7 100644 --- a/resources/i18n/ja_JP/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -8,9 +8,9 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" -"Language-Team: Brule\n" +"Language-Team: Japanese\n" "Language: ja_JP\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 44beb606d6..18a54715c1 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-19 16:10+0900\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index 047515e962..b3cf7e0e9d 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-19 13:27+0900\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 50df8f7128..232e7185e4 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-19 13:26+0900\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index 7e903989eb..23bcf17c19 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" diff --git a/resources/i18n/nl_NL/fdmextruder.def.json.po b/resources/i18n/nl_NL/fdmextruder.def.json.po index 24c5abae55..f7fd1717b0 100644 --- a/resources/i18n/nl_NL/fdmextruder.def.json.po +++ b/resources/i18n/nl_NL/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index f7dab57356..85d7a6e949 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index e23d4705bf..90bde6f361 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-06-21 14:30+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" diff --git a/resources/i18n/pt_PT/fdmextruder.def.json.po b/resources/i18n/pt_PT/fdmextruder.def.json.po index 8486de3f69..1d66fdb2f9 100644 --- a/resources/i18n/pt_PT/fdmextruder.def.json.po +++ b/resources/i18n/pt_PT/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-06-21 14:30+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index 5545d3f2cd..c485d84a89 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-06-21 14:30+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index 49ed8ab1a2..a01fbf0781 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" "Language: ru_RU\n" diff --git a/resources/i18n/ru_RU/fdmextruder.def.json.po b/resources/i18n/ru_RU/fdmextruder.def.json.po index fa8c434d2f..d9cd6287de 100644 --- a/resources/i18n/ru_RU/fdmextruder.def.json.po +++ b/resources/i18n/ru_RU/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" "Language: ru_RU\n" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index aa5d716e55..466eea158d 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" "Language: ru_RU\n" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 057036220b..22a1947c76 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" diff --git a/resources/i18n/tr_TR/fdmextruder.def.json.po b/resources/i18n/tr_TR/fdmextruder.def.json.po index de8f861922..9bb0d492af 100644 --- a/resources/i18n/tr_TR/fdmextruder.def.json.po +++ b/resources/i18n/tr_TR/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index 7a6778aeff..ba39d32284 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 1c32f85fe6..2bbe81cfda 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-06-22 11:32+0800\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" diff --git a/resources/i18n/zh_CN/fdmextruder.def.json.po b/resources/i18n/zh_CN/fdmextruder.def.json.po index a6625a02c6..e72bf45a2b 100644 --- a/resources/i18n/zh_CN/fdmextruder.def.json.po +++ b/resources/i18n/zh_CN/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-11 14:40+0100\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index 57ebf225b4..5f16293384 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-06-22 11:44+0800\n" +"PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" From c04c7654c107394be9cadff097c424368fc1aca7 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 28 Sep 2018 14:31:36 +0200 Subject: [PATCH 119/423] Make Backup._application private --- cura/Backups/Backup.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cura/Backups/Backup.py b/cura/Backups/Backup.py index b9045a59b1..82157a163a 100644 --- a/cura/Backups/Backup.py +++ b/cura/Backups/Backup.py @@ -30,7 +30,7 @@ class Backup: catalog = i18nCatalog("cura") def __init__(self, application: "CuraApplication", zip_file: bytes = None, meta_data: Dict[str, str] = None) -> None: - self.application = application + self._application = application self.zip_file = zip_file # type: Optional[bytes] self.meta_data = meta_data # type: Optional[Dict[str, str]] @@ -42,12 +42,12 @@ class Backup: Logger.log("d", "Creating backup for Cura %s, using folder %s", cura_release, version_data_dir) # Ensure all current settings are saved. - self.application.saveSettings() + self._application.saveSettings() # We copy the preferences file to the user data directory in Linux as it's in a different location there. # When restoring a backup on Linux, we move it back. if Platform.isLinux(): - preferences_file_name = self.application.getApplicationName() + preferences_file_name = self._application.getApplicationName() 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", "Copying preferences file from %s to %s", preferences_file, backup_preferences_file) @@ -113,7 +113,7 @@ class Backup: "Tried to restore a Cura backup without having proper data or meta data.")) return False - current_version = self.application.getVersion() + current_version = self._application.getVersion() version_to_restore = self.meta_data.get("cura_release", "master") if current_version != version_to_restore: # Cannot restore version older or newer than current because settings might have changed. @@ -129,7 +129,7 @@ class Backup: # Under Linux, preferences are stored elsewhere, so we copy the file to there. if Platform.isLinux(): - preferences_file_name = self.application.getApplicationName() + preferences_file_name = self._application.getApplicationName() 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) From 72d97a95c21b3dd44caefb341b500442574581d1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 28 Sep 2018 15:32:04 +0200 Subject: [PATCH 120/423] Fixes for 3.5 translations of DE, ES, FR, IT and JA I don't have time to do them all right now. Contributes to issue CURA-5741. --- resources/i18n/de_DE/cura.po | 102 +++++--- resources/i18n/de_DE/fdmprinter.def.json.po | 41 ++-- resources/i18n/es_ES/cura.po | 126 ++++++---- resources/i18n/es_ES/fdmprinter.def.json.po | 38 +-- resources/i18n/fr_FR/cura.po | 92 +++++--- resources/i18n/fr_FR/fdmprinter.def.json.po | 36 ++- resources/i18n/it_IT/cura.po | 78 ++++-- resources/i18n/it_IT/fdmprinter.def.json.po | 41 ++-- resources/i18n/ja_JP/cura.po | 236 ++++++++++--------- resources/i18n/ja_JP/fdmextruder.def.json.po | 22 +- resources/i18n/ja_JP/fdmprinter.def.json.po | 165 +++++++------ 11 files changed, 599 insertions(+), 378 deletions(-) diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index c3433ac9f1..2b118f942e 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-09-28 14:42+0200\n" "Last-Translator: Bothof \n" "Language-Team: German\n" "Language: de_DE\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -64,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:

\n

{model_names}

\n

Erfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.

\n

Leitfaden zu Druckqualität anzeigen

" +msgstr "" +"

Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:

\n" +"

{model_names}

\n" +"

Erfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.

\n" +"

Leitfaden zu Druckqualität anzeigen

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -437,7 +441,7 @@ msgstr "Die PrintCores und/oder Materialien auf Ihrem Drucker unterscheiden sich #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Über Netzwerk verbunden." +msgstr "Über Netzwerk verbunden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 msgctxt "@info:status" @@ -511,7 +515,7 @@ msgstr "Schichtenansicht" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "Cura zeigt die Schichten nicht akkurat an, wenn Wire Printing aktiviert ist." +msgstr "Cura zeigt die Schichten nicht akkurat an, wenn Wire Printing aktiviert ist" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 msgctxt "@info:title" @@ -884,7 +888,7 @@ msgstr "Export des Profils nach {0} fehlgeschlagen: !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr "Export des Profils nach {0} fehlgeschlagen: Fehlermeldung von Writer-Plugin" +msgstr "Export des Profils nach {0} fehlgeschlagen: Fehlermeldung von Writer-Plugin." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format @@ -1074,7 +1078,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.

\n

Beim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.

\n

Backups sind im Konfigurationsordner abgelegt.

\n

Senden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.

\n " +msgstr "" +"

Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.

\n" +"

Beim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.

\n" +"

Backups sind im Konfigurationsordner abgelegt.

\n" +"

Senden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1107,7 +1116,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben

\n

Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden

\n " +msgstr "" +"

Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben

\n" +"

Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1572,7 +1584,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Dieses Plugin enthält eine Lizenz.\nSie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\nStimmen Sie den nachfolgenden Bedingungen zu?" +msgstr "" +"Dieses Plugin enthält eine Lizenz.\n" +"Sie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\n" +"Stimmen Sie den nachfolgenden Bedingungen zu?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1679,7 +1694,7 @@ msgstr "Vorhandene Verbindung" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." -msgstr "Diese/r Drucker/Gruppe wurde bereits zu Cura hinzugefügt. Wählen Sie bitte eine/n andere/n Drucker/Gruppe" +msgstr "Diese/r Drucker/Gruppe wurde bereits zu Cura hinzugefügt. Wählen Sie bitte eine/n andere/n Drucker/Gruppe." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 msgctxt "@title:window" @@ -1692,7 +1707,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n\nWählen Sie Ihren Drucker aus der folgenden Liste:" +msgstr "" +"Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n" +"\n" +"Wählen Sie Ihren Drucker aus der folgenden Liste:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1919,7 +1937,7 @@ msgstr "Vorbereitung" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "Wird pausiert..." +msgstr "Wird pausiert" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -1929,7 +1947,7 @@ msgstr "Pausiert" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 msgctxt "@label:status" msgid "Resuming" -msgstr "Wird fortgesetzt ..." +msgstr "Wird fortgesetzt" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 msgctxt "@label:status" @@ -2069,7 +2087,7 @@ msgstr "Cura sendet anonyme Daten an Ultimaker, um die Druckqualität und Benutz #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:101 msgctxt "@text:window" msgid "I don't want to send these data" -msgstr "Ich möchte diese Daten nicht senden." +msgstr "Ich möchte diese Daten nicht senden" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:111 msgctxt "@text:window" @@ -2114,7 +2132,7 @@ msgstr "Breite (mm)" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:103 msgctxt "@info:tooltip" msgid "The depth in millimeters on the build plate" -msgstr "Die Tiefe der Druckplatte in Millimetern." +msgstr "Die Tiefe der Druckplatte in Millimetern" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:108 msgctxt "@action:label" @@ -2484,7 +2502,7 @@ msgstr "Benutzerdefinierte Firmware wählen" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" -msgstr "Wählen Sie bitte alle Upgrades für dieses Ultimaker-Original." +msgstr "Wählen Sie bitte alle Upgrades für dieses Ultimaker-Original" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:45 msgctxt "@label" @@ -2499,7 +2517,7 @@ msgstr "Drucker prüfen" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:39 msgctxt "@label" msgid "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" -msgstr "Sie sollten einige Sanity Checks bei Ihrem Ultimaker durchführen. Sie können diesen Schritt überspringen, wenn Sie wissen, dass Ihr Gerät funktionsfähig ist." +msgstr "Sie sollten einige Sanity Checks bei Ihrem Ultimaker durchführen. Sie können diesen Schritt überspringen, wenn Sie wissen, dass Ihr Gerät funktionsfähig ist" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 msgctxt "@action:button" @@ -2648,7 +2666,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Sie haben einige Profileinstellungen angepasst.\nMöchten Sie diese Einstellungen übernehmen oder verwerfen?" +msgstr "" +"Sie haben einige Profileinstellungen angepasst.\n" +"Möchten Sie diese Einstellungen übernehmen oder verwerfen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2769,7 +2789,7 @@ msgstr "Kosten pro Meter" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:321 msgctxt "@label" msgid "This material is linked to %1 and shares some of its properties." -msgstr "Dieses Material ist mit %1 verknüpft und teilt sich damit einige seiner Eigenschaften" +msgstr "Dieses Material ist mit %1 verknüpft und teilt sich damit einige seiner Eigenschaften." #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:328 msgctxt "@label" @@ -3067,7 +3087,7 @@ msgstr "Soll ein Präfix anhand des Druckernamens automatisch zum Namen des Druc #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 msgctxt "@option:check" msgid "Add machine prefix to job name" -msgstr "Geräte-Präfix zu Auftragsnamen hinzufügen." +msgstr "Geräte-Präfix zu Auftragsnamen hinzufügen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 msgctxt "@info:tooltip" @@ -3344,7 +3364,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\nCura verwendet mit Stolz die folgenden Open Source-Projekte:" +msgstr "" +"Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\n" +"Cura verwendet mit Stolz die folgenden Open Source-Projekte:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3457,7 +3479,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n\nKlicken Sie, um den Profilmanager zu öffnen." +msgstr "" +"Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n" +"\n" +"Klicken Sie, um den Profilmanager zu öffnen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3511,7 +3536,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n\nKlicken Sie, um diese Einstellungen sichtbar zu machen." +msgstr "" +"Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n" +"\n" +"Klicken Sie, um diese Einstellungen sichtbar zu machen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3539,7 +3567,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Diese Einstellung hat einen vom Profil abweichenden Wert.\n\nKlicken Sie, um den Wert des Profils wiederherzustellen." +msgstr "" +"Diese Einstellung hat einen vom Profil abweichenden Wert.\n" +"\n" +"Klicken Sie, um den Wert des Profils wiederherzustellen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3547,7 +3578,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n\nKlicken Sie, um den berechneten Wert wiederherzustellen." +msgstr "" +"Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n" +"\n" +"Klicken Sie, um den berechneten Wert wiederherzustellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3772,7 +3806,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Druckeinrichtung deaktiviert\nG-Code-Dateien können nicht geändert werden" +msgstr "" +"Druckeinrichtung deaktiviert\n" +"G-Code-Dateien können nicht geändert werden" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -3958,7 +3994,7 @@ msgstr "Modelle &zusammenführen" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 msgctxt "@action:inmenu" msgid "&Multiply Model..." -msgstr "Modell &multiplizieren" +msgstr "Modell &multiplizieren..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 msgctxt "@action:inmenu menubar:edit" @@ -4114,7 +4150,7 @@ msgstr "&Datei" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "&Speichern" +msgstr "&Speichern..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" @@ -4292,12 +4328,12 @@ msgstr "Schichtdicke" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:277 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "Dieses Qualitätsprofil ist für Ihr aktuelles Material und Ihre derzeitige Düsenkonfiguration nicht verfügbar. Bitte ändern Sie diese, um dieses Qualitätsprofil zu aktivieren." +msgstr "Dieses Qualitätsprofil ist für Ihr aktuelles Material und Ihre derzeitige Düsenkonfiguration nicht verfügbar. Bitte ändern Sie diese, um dieses Qualitätsprofil zu aktivieren" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:450 msgctxt "@tooltip" msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab" -msgstr "Ein benutzerdefiniertes Profil ist derzeit aktiv. Wählen Sie ein voreingestelltes Qualitätsprofil aus der Registerkarte „Benutzerdefiniert“, um den Schieberegler für Qualität zu aktivieren." +msgstr "Ein benutzerdefiniertes Profil ist derzeit aktiv. Wählen Sie ein voreingestelltes Qualitätsprofil aus der Registerkarte „Benutzerdefiniert“, um den Schieberegler für Qualität zu aktivieren" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:467 msgctxt "@label" @@ -4357,7 +4393,7 @@ msgstr "Druckplattenhaftung" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." -msgstr "Drucken eines Brim- oder Raft-Elements aktivieren. Es wird ein flacher Bereich rund um oder unter Ihrem Objekt hinzugefügt, das im Anschluss leicht abgeschnitten werden kann. " +msgstr "Drucken eines Brim- oder Raft-Elements aktivieren. Es wird ein flacher Bereich rund um oder unter Ihrem Objekt hinzugefügt, das im Anschluss leicht abgeschnitten werden kann." #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 msgctxt "@label" @@ -4604,7 +4640,7 @@ msgstr "Ausgabegerät-Plugin für Wechseldatenträger" #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "Verwaltet Netzwerkverbindungen zu Ultimaker 3-Druckern" +msgstr "Verwaltet Netzwerkverbindungen zu Ultimaker 3-Druckern." #: UM3NetworkPrinting/plugin.json msgctxt "name" @@ -4664,7 +4700,7 @@ msgstr "Nachbearbeitung" #: SupportEraser/plugin.json msgctxt "description" msgid "Creates an eraser mesh to block the printing of support in certain places" -msgstr "Erstellt ein Radierernetz, um den Druck von Stützstrukturen in bestimmten Positionen zu blockieren." +msgstr "Erstellt ein Radierernetz, um den Druck von Stützstrukturen in bestimmten Positionen zu blockieren" #: SupportEraser/plugin.json msgctxt "name" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index 223639d3fc..3b3e8b9115 100644 --- a/resources/i18n/de_DE/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -8,13 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-09-28 14:57+0200\n" "Last-Translator: Bothof \n" "Language-Team: German\n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -56,7 +57,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "G-Code-Befehle, die zu Beginn ausgeführt werden sollen – getrennt durch \n." +msgstr "" +"G-Code-Befehle, die zu Beginn ausgeführt werden sollen – getrennt durch \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -68,7 +71,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "G-Code-Befehle, die am Ende ausgeführt werden sollen – getrennt durch \n." +msgstr "" +"G-Code-Befehle, die am Ende ausgeführt werden sollen – getrennt durch \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -543,7 +548,7 @@ msgstr "Maximale Beschleunigung X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "Die maximale Beschleunigung für den Motor der X-Richtung." +msgstr "Die maximale Beschleunigung für den Motor der X-Richtung" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -1243,7 +1248,7 @@ msgstr "Justierung der Z-Naht" #: fdmprinter.def.json msgctxt "z_seam_type description" msgid "Starting point of each path in a layer. When paths in consecutive layers start at the same point a vertical seam may show on the print. When aligning these near a user specified location, the seam is easiest to remove. When placed randomly the inaccuracies at the paths' start will be less noticeable. When taking the shortest path the print will be quicker." -msgstr "Der Startdruckpunkt von jedem Teil einer Schicht. Wenn der Druck der Teile in aufeinanderfolgenden Schichten am gleichen Punkt startet, kann eine vertikale Naht sichtbar werden. Wird dieser neben einer benutzerdefinierten Position ausgerichtet, ist die Naht am einfachsten zu entfernen. Wird er zufällig platziert, fallen die Ungenauigkeiten am Startpunkt weniger auf. Wird der kürzeste Weg eingestellt, ist der Druck schneller. " +msgstr "Der Startdruckpunkt von jedem Teil einer Schicht. Wenn der Druck der Teile in aufeinanderfolgenden Schichten am gleichen Punkt startet, kann eine vertikale Naht sichtbar werden. Wird dieser neben einer benutzerdefinierten Position ausgerichtet, ist die Naht am einfachsten zu entfernen. Wird er zufällig platziert, fallen die Ungenauigkeiten am Startpunkt weniger auf. Wird der kürzeste Weg eingestellt, ist der Druck schneller." #: fdmprinter.def.json msgctxt "z_seam_type option back" @@ -1625,7 +1630,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Fügen Sie zusätzliche Wände um den Füllbereich hinzu. Derartige Wände können zu einem verringerten Absacken der oberen/unteren Außenhautlinien beitragen, was bedeutet, dass Sie weniger Außenhautschichten oben/unten bei derselben Qualität von Kosten für zusätzliches Material benötigen.\n Diese Funktion ist verknüpfbar mit „Füllungspolygone verbinden“, um alle Füllungen mit einem einzigen Extrusionspfad zu verbinden, ohne dass hierzu Vorwärtsbewegungen oder Rückzüge erforderlich sind, sofern die richtige Konfiguration gewählt wurde." +msgstr "" +"Fügen Sie zusätzliche Wände um den Füllbereich hinzu. Derartige Wände können zu einem verringerten Absacken der oberen/unteren Außenhautlinien beitragen, was bedeutet, dass Sie weniger Außenhautschichten oben/unten bei derselben Qualität von Kosten für zusätzliches Material benötigen.\n" +" Diese Funktion ist verknüpfbar mit „Füllungspolygone verbinden“, um alle Füllungen mit einem einzigen Extrusionspfad zu verbinden, ohne dass hierzu Vorwärtsbewegungen oder Rückzüge erforderlich sind, sofern die richtige Konfiguration gewählt wurde." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1735,7 +1742,7 @@ msgstr "Mindestbereich Füllung" #: fdmprinter.def.json msgctxt "min_infill_area description" msgid "Don't generate areas of infill smaller than this (use skin instead)." -msgstr "Keine Füllungsbereiche generieren, die kleiner als dieser sind (stattdessen Außenhaut verwenden). " +msgstr "Keine Füllungsbereiche generieren, die kleiner als dieser sind (stattdessen Außenhaut verwenden)." #: fdmprinter.def.json msgctxt "infill_support_enabled label" @@ -1855,7 +1862,7 @@ msgstr "Voreingestellte Drucktemperatur" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "Die für den Druck verwendete Standardtemperatur. Dies sollte die „Basis“-Temperatur eines Materials sein. Alle anderen Drucktemperaturen sollten anhand dieses Wertes einen Versatz verwenden." +msgstr "Die für den Druck verwendete Standardtemperatur. Dies sollte die „Basis“-Temperatur eines Materials sein. Alle anderen Drucktemperaturen sollten anhand dieses Wertes einen Versatz verwenden" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1915,7 +1922,7 @@ msgstr "Standardtemperatur Druckplatte" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "Die für die erhitzte Druckplatte verwendete Standardtemperatur. Dies sollte die „Basis“-Temperatur einer Druckplatte sein. Alle anderen Drucktemperaturen sollten anhand dieses Wertes einen Versatz verwenden." +msgstr "Die für die erhitzte Druckplatte verwendete Standardtemperatur. Dies sollte die „Basis“-Temperatur einer Druckplatte sein. Alle anderen Drucktemperaturen sollten anhand dieses Wertes einen Versatz verwenden" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -1945,7 +1952,7 @@ msgstr "Haftungstendenz" #: fdmprinter.def.json msgctxt "material_adhesion_tendency description" msgid "Surface adhesion tendency." -msgstr "Oberflächenhaftungstendenz" +msgstr "Oberflächenhaftungstendenz." #: fdmprinter.def.json msgctxt "material_surface_energy label" @@ -2005,7 +2012,7 @@ msgstr "Einziehen bei Schichtänderung" #: fdmprinter.def.json msgctxt "retract_at_layer_change description" msgid "Retract the filament when the nozzle is moving to the next layer." -msgstr "Ziehen Sie das Filament ein, wenn die Düse zur nächsten Schicht fährt. " +msgstr "Ziehen Sie das Filament ein, wenn die Düse zur nächsten Schicht fährt." #: fdmprinter.def.json msgctxt "retraction_amount label" @@ -2355,7 +2362,7 @@ msgstr "Anzahl der langsamen Schichten" #: fdmprinter.def.json msgctxt "speed_slowdown_layers description" msgid "The first few layers are printed slower than the rest of the model, to get better adhesion to the build plate and improve the overall success rate of prints. The speed is gradually increased over these layers." -msgstr "Die ersten Schichten werden langsamer als der Rest des Modells gedruckt, damit sie besser am Druckbett haften und um die Wahrscheinlichkeit eines erfolgreichen Drucks zu erhöhen. Die Geschwindigkeit wird während des Druckens dieser Schichten schrittweise erhöht. " +msgstr "Die ersten Schichten werden langsamer als der Rest des Modells gedruckt, damit sie besser am Druckbett haften und um die Wahrscheinlichkeit eines erfolgreichen Drucks zu erhöhen. Die Geschwindigkeit wird während des Druckens dieser Schichten schrittweise erhöht." #: fdmprinter.def.json msgctxt "speed_equalize_flow_enabled label" @@ -2735,7 +2742,7 @@ msgstr "Ruckfunktion Druck für die erste Schicht" #: fdmprinter.def.json msgctxt "jerk_print_layer_0 description" msgid "The maximum instantaneous velocity change during the printing of the initial layer." -msgstr "Die maximale unmittelbare Geschwindigkeitsänderung während des Druckens für die erste Schicht" +msgstr "Die maximale unmittelbare Geschwindigkeitsänderung während des Druckens für die erste Schicht." #: fdmprinter.def.json msgctxt "jerk_travel_layer_0 label" @@ -3792,7 +3799,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "Der horizontale Abstand zwischen dem Skirt und der ersten Schicht des Drucks.\nEs handelt sich dabei um den Mindestabstand. Ab diesem Abstand werden mehrere Skirt-Linien in äußerer Richtung angebracht." +msgstr "" +"Der horizontale Abstand zwischen dem Skirt und der ersten Schicht des Drucks.\n" +"Es handelt sich dabei um den Mindestabstand. Ab diesem Abstand werden mehrere Skirt-Linien in äußerer Richtung angebracht." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5229,7 +5238,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\nDies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur." +msgstr "" +"Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\n" +"Dies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 95385902ca..b53d44d325 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-09-28 14:55+0200\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -64,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:

\n

{model_names}

\n

Obtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.

\n

Ver guía de impresión de calidad

" +msgstr "" +"

Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:

\n" +"

{model_names}

\n" +"

Obtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.

\n" +"

Ver guía de impresión de calidad

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -158,7 +162,7 @@ msgstr "Guardar en unidad extraíble {0}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 msgctxt "@info:status" msgid "There are no file formats available to write with!" -msgstr "No hay formatos de archivo disponibles con los que escribir." +msgstr "¡No hay formatos de archivo disponibles con los que escribir!" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 #, python-brace-format @@ -281,7 +285,7 @@ msgstr "Conectado a través de la red. No hay acceso para controlar la impresora #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "Acceso a la impresora solicitado. Apruebe la solicitud en la impresora." +msgstr "Acceso a la impresora solicitado. Apruebe la solicitud en la impresora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 msgctxt "@info:title" @@ -308,7 +312,7 @@ msgstr "Volver a intentar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 msgctxt "@info:tooltip" msgid "Re-send the access request" -msgstr "Reenvía la solicitud de acceso." +msgstr "Reenvía la solicitud de acceso" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 msgctxt "@info:status" @@ -332,7 +336,7 @@ msgstr "Solicitar acceso" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 msgctxt "@info:tooltip" msgid "Send access request to the printer" -msgstr "Envía la solicitud de acceso a la impresora." +msgstr "Envía la solicitud de acceso a la impresora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" @@ -437,7 +441,7 @@ msgstr "Los PrintCores o los materiales de la impresora difieren de los del proy #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Conectado a través de la red." +msgstr "Conectado a través de la red" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 msgctxt "@info:status" @@ -511,7 +515,7 @@ msgstr "Vista de capas" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "Cura no muestra correctamente las capas si la impresión de alambre está habilitada." +msgstr "Cura no muestra correctamente las capas si la impresión de alambre está habilitada" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 msgctxt "@info:title" @@ -909,7 +913,7 @@ msgstr "Error al importar el perfil de {0}: {1} or !" msgid "No custom profile to import in file {0}" -msgstr "No hay ningún perfil personalizado que importar en el archivo {0}." +msgstr "No hay ningún perfil personalizado que importar en el archivo {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 @@ -1064,7 +1068,7 @@ msgstr "No se puede encontrar la ubicación" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:87 msgctxt "@title:window" msgid "Cura can't start" -msgstr "Cura no puede iniciarse." +msgstr "Cura no puede iniciarse" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:93 msgctxt "@label crash message" @@ -1074,7 +1078,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

¡Vaya! Ultimaker Cura ha encontrado un error.

\n

Hemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.

\n

Las copias de seguridad se encuentran en la carpeta de configuración.

\n

Envíenos el informe de errores para que podamos solucionar el problema.

\n " +msgstr "" +"

¡Vaya! Ultimaker Cura ha encontrado un error.

\n" +"

Hemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.

\n" +"

Las copias de seguridad se encuentran en la carpeta de configuración.

\n" +"

Envíenos el informe de errores para que podamos solucionar el problema.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1107,7 +1116,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.

\n

Utilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.

\n " +msgstr "" +"

Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.

\n" +"

Utilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1572,7 +1584,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Este complemento incluye una licencia.\nDebe aceptar dicha licencia para instalar el complemento.\n¿Acepta las condiciones que aparecen a continuación?" +msgstr "" +"Este complemento incluye una licencia.\n" +"Debe aceptar dicha licencia para instalar el complemento.\n" +"¿Acepta las condiciones que aparecen a continuación?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1692,7 +1707,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n\nSeleccione la impresora de la siguiente lista:" +msgstr "" +"Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n" +"\n" +"Seleccione la impresora de la siguiente lista:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1809,7 +1827,7 @@ msgstr "Esperando: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "mover al principio" +msgstr "Mover al principio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" @@ -1939,12 +1957,12 @@ msgstr "Acción requerida" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 msgctxt "@info:tooltip" msgid "Connect to a printer" -msgstr "Conecta a una impresora." +msgstr "Conecta a una impresora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" -msgstr "Carga la configuración de la impresora en Cura." +msgstr "Carga la configuración de la impresora en Cura" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 msgctxt "@action:button" @@ -2054,7 +2072,7 @@ msgstr "Ajustes" #: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" -msgstr "Cambia las secuencias de comandos de posprocesamiento." +msgstr "Cambia las secuencias de comandos de posprocesamiento" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:16 msgctxt "@title:window" @@ -2484,7 +2502,7 @@ msgstr "Seleccionar firmware personalizado" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" -msgstr "Seleccione cualquier actualización de Ultimaker Original." +msgstr "Seleccione cualquier actualización de Ultimaker Original" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:45 msgctxt "@label" @@ -2587,23 +2605,23 @@ msgstr "¡Todo correcto! Ha terminado con la comprobación." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:119 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" -msgstr "No está conectado a ninguna impresora." +msgstr "No está conectado a ninguna impresora" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:123 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" -msgstr "La impresora no acepta comandos." +msgstr "La impresora no acepta comandos" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:133 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:197 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" -msgstr "En mantenimiento. Compruebe la impresora." +msgstr "En mantenimiento. Compruebe la impresora" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:144 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" -msgstr "Se ha perdido la conexión con la impresora." +msgstr "Se ha perdido la conexión con la impresora" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:146 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:187 @@ -2626,7 +2644,7 @@ msgstr "Preparando..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:154 msgctxt "@label:MonitorStatus" msgid "Please remove the print" -msgstr "Retire la impresión." +msgstr "Retire la impresión" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" @@ -2648,7 +2666,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Ha personalizado parte de los ajustes del perfil.\n¿Desea descartar los cambios o guardarlos?" +msgstr "" +"Ha personalizado parte de los ajustes del perfil.\n" +"¿Desea descartar los cambios o guardarlos?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2840,12 +2860,12 @@ msgstr "Importar material" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:286 msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" -msgstr "No se pudo importar el material en %1: %2." +msgstr "No se pudo importar el material en %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:290 msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" -msgstr "El material se ha importado correctamente en %1." +msgstr "El material se ha importado correctamente en %1" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:308 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:316 @@ -2856,12 +2876,12 @@ msgstr "Exportar material" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:320 msgctxt "@info:status Don't translate the XML tags and !" msgid "Failed to export material to %1: %2" -msgstr "Se ha producido un error al exportar el material a %1: %2." +msgstr "Se ha producido un error al exportar el material a %1: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:326 msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully exported material to %1" -msgstr "El material se ha exportado correctamente a %1." +msgstr "El material se ha exportado correctamente a %1" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 msgctxt "@title:tab" @@ -2957,7 +2977,7 @@ msgstr "Mostrar voladizos" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" -msgstr "Mueve la cámara de manera que el modelo se encuentre en el centro de la vista cuando se selecciona un modelo." +msgstr "Mueve la cámara de manera que el modelo se encuentre en el centro de la vista cuando se selecciona un modelo" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 msgctxt "@action:button" @@ -2992,7 +3012,7 @@ msgstr "¿Deben moverse los modelos en la plataforma de modo que no se crucen?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 msgctxt "@option:check" msgid "Ensure models are kept apart" -msgstr "Asegúrese de que lo modelos están separados." +msgstr "Asegúrese de que lo modelos están separados" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 msgctxt "@info:tooltip" @@ -3210,12 +3230,12 @@ msgstr "Estado:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:181 msgctxt "@label:MonitorStatus" msgid "Waiting for a printjob" -msgstr "Esperando un trabajo de impresión..." +msgstr "Esperando un trabajo de impresión" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:193 msgctxt "@label:MonitorStatus" msgid "Waiting for someone to clear the build plate" -msgstr "Esperando a que alguien limpie la placa de impresión..." +msgstr "Esperando a que alguien limpie la placa de impresión" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:199 msgctxt "@label:MonitorStatus" @@ -3344,7 +3364,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\nCura se enorgullece de utilizar los siguientes proyectos de código abierto:" +msgstr "" +"Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\n" +"Cura se enorgullece de utilizar los siguientes proyectos de código abierto:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3457,7 +3479,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n\nHaga clic para abrir el administrador de perfiles." +msgstr "" +"Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n" +"\n" +"Haga clic para abrir el administrador de perfiles." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3511,7 +3536,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n\nHaga clic para mostrar estos ajustes." +msgstr "" +"Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n" +"\n" +"Haga clic para mostrar estos ajustes." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3539,7 +3567,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Este ajuste tiene un valor distinto del perfil.\n\nHaga clic para restaurar el valor del perfil." +msgstr "" +"Este ajuste tiene un valor distinto del perfil.\n" +"\n" +"Haga clic para restaurar el valor del perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3547,7 +3578,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n\nHaga clic para restaurar el valor calculado." +msgstr "" +"Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n" +"\n" +"Haga clic para restaurar el valor calculado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3772,7 +3806,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Ajustes de impresión deshabilitados\nNo se pueden modificar los archivos GCode" +msgstr "" +"Ajustes de impresión deshabilitados\n" +"No se pueden modificar los archivos GCode" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4053,7 +4089,7 @@ msgstr "Listo para %1" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:43 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" -msgstr "No se puede segmentar." +msgstr "No se puede segmentar" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:45 msgctxt "@label:PrintjobStatus" @@ -4292,12 +4328,12 @@ msgstr "Altura de capa" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:277 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "Este perfil de calidad no está disponible para la configuración de material y de tobera actual. Cámbiela para poder habilitar este perfil de calidad." +msgstr "Este perfil de calidad no está disponible para la configuración de material y de tobera actual. Cámbiela para poder habilitar este perfil de calidad" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:450 msgctxt "@tooltip" msgid "A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab" -msgstr "Hay un perfil personalizado activado en este momento. Para habilitar el control deslizante de calidad, seleccione un perfil de calidad predeterminado en la pestaña Personalizado." +msgstr "Hay un perfil personalizado activado en este momento. Para habilitar el control deslizante de calidad, seleccione un perfil de calidad predeterminado en la pestaña Personalizado" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:467 msgctxt "@label" @@ -4544,7 +4580,7 @@ msgstr "Impresión USB" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "Preguntar al usuario una vez si acepta la licencia" +msgstr "Preguntar al usuario una vez si acepta la licencia." #: UserAgreement/plugin.json msgctxt "name" @@ -4654,7 +4690,7 @@ msgstr "Lector de GCode comprimido" #: PostProcessingPlugin/plugin.json msgctxt "description" msgid "Extension that allows for user created scripts for post processing" -msgstr "Extensión que permite el posprocesamiento de las secuencias de comandos creadas por los usuarios." +msgstr "Extensión que permite el posprocesamiento de las secuencias de comandos creadas por los usuarios" #: PostProcessingPlugin/plugin.json msgctxt "name" @@ -4664,7 +4700,7 @@ msgstr "Posprocesamiento" #: SupportEraser/plugin.json msgctxt "description" msgid "Creates an eraser mesh to block the printing of support in certain places" -msgstr "Crea una malla de borrado que impide la impresión de soportes en determinados lugares." +msgstr "Crea una malla de borrado que impide la impresión de soportes en determinados lugares" #: SupportEraser/plugin.json msgctxt "name" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 5520a7737b..99135813b2 100644 --- a/resources/i18n/es_ES/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-09-28 14:56+0200\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -57,7 +57,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "Los comandos de GCode que se ejecutarán justo al inicio separados por - \n." +msgstr "" +"Los comandos de GCode que se ejecutarán justo al inicio separados por - \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -69,7 +71,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "Los comandos de GCode que se ejecutarán justo al final separados por -\n." +msgstr "" +"Los comandos de GCode que se ejecutarán justo al final separados por -\n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -239,7 +243,7 @@ msgstr "Número de extrusores habilitados" #: fdmprinter.def.json msgctxt "extruders_enabled_count description" msgid "Number of extruder trains that are enabled; automatically set in software" -msgstr "Número de trenes extrusores habilitados y configurados en el software de forma automática." +msgstr "Número de trenes extrusores habilitados y configurados en el software de forma automática" #: fdmprinter.def.json msgctxt "machine_nozzle_tip_outer_diameter label" @@ -544,7 +548,7 @@ msgstr "Aceleración máxima sobre el eje X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "Aceleración máxima del motor de la dirección X." +msgstr "Aceleración máxima del motor de la dirección X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -1024,7 +1028,7 @@ msgstr "Patrón superior/inferior" #: fdmprinter.def.json msgctxt "top_bottom_pattern description" msgid "The pattern of the top/bottom layers." -msgstr "Patrón de las capas superiores/inferiores" +msgstr "Patrón de las capas superiores/inferiores." #: fdmprinter.def.json msgctxt "top_bottom_pattern option lines" @@ -1394,7 +1398,7 @@ msgstr "Espaciado de líneas del alisado" #: fdmprinter.def.json msgctxt "ironing_line_spacing description" msgid "The distance between the lines of ironing." -msgstr "Distancia entre las líneas del alisado" +msgstr "Distancia entre las líneas del alisado." #: fdmprinter.def.json msgctxt "ironing_flow label" @@ -1626,7 +1630,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Agregar paredes adicionales alrededor del área de relleno. Estas paredes pueden hacer que las líneas del forro superior/inferior se aflojen menos, lo que significa que necesitaría menos capas de forro superior/inferior para obtener la misma calidad utilizando algo más de material.\nPuede utilizar esta función junto a la de Conectar polígonos de relleno para conectar todo el relleno en una única trayectoria de extrusión sin necesidad de desplazamientos ni retracciones si se configura correctamente." +msgstr "" +"Agregar paredes adicionales alrededor del área de relleno. Estas paredes pueden hacer que las líneas del forro superior/inferior se aflojen menos, lo que significa que necesitaría menos capas de forro superior/inferior para obtener la misma calidad utilizando algo más de material.\n" +"Puede utilizar esta función junto a la de Conectar polígonos de relleno para conectar todo el relleno en una única trayectoria de extrusión sin necesidad de desplazamientos ni retracciones si se configura correctamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1856,7 +1862,7 @@ msgstr "Temperatura de impresión predeterminada" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "La temperatura predeterminada que se utiliza para imprimir. Debería ser la temperatura básica del material. Las demás temperaturas de impresión deberían calcularse a partir de este valor." +msgstr "La temperatura predeterminada que se utiliza para imprimir. Debería ser la temperatura básica del material. Las demás temperaturas de impresión deberían calcularse a partir de este valor" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1916,7 +1922,7 @@ msgstr "Temperatura predeterminada de la placa de impresión" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "La temperatura predeterminada que se utiliza en placa de impresión caliente. Debería ser la temperatura básica de una placa de impresión. Las demás temperaturas de impresión deberían calcularse a partir de este valor." +msgstr "La temperatura predeterminada que se utiliza en placa de impresión caliente. Debería ser la temperatura básica de una placa de impresión. Las demás temperaturas de impresión deberían calcularse a partir de este valor" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -3793,7 +3799,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "La distancia horizontal entre la falda y la primera capa de la impresión.\nSe trata de la distancia mínima. Múltiples líneas de falda se extenderán hacia el exterior a partir de esta distancia." +msgstr "" +"La distancia horizontal entre la falda y la primera capa de la impresión.\n" +"Se trata de la distancia mínima. Múltiples líneas de falda se extenderán hacia el exterior a partir de esta distancia." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4173,7 +4181,7 @@ msgstr "Tamaño de la torre auxiliar" #: fdmprinter.def.json msgctxt "prime_tower_size description" msgid "The width of the prime tower." -msgstr "Anchura de la torre auxiliar" +msgstr "Anchura de la torre auxiliar." #: fdmprinter.def.json msgctxt "prime_tower_min_volume label" @@ -4528,7 +4536,7 @@ msgstr "Experimental" #: fdmprinter.def.json msgctxt "experimental description" msgid "experimental!" -msgstr "Experimental" +msgstr "¡Experimental!" #: fdmprinter.def.json msgctxt "support_tree_enable label" @@ -5230,7 +5238,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Distancia de un movimiento ascendente que se extrude a media velocidad.\nEsto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre." +msgstr "" +"Distancia de un movimiento ascendente que se extrude a media velocidad.\n" +"Esto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index 87af488e31..b4e68e16bc 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-09-28 14:59+0200\n" "Last-Translator: Bothof \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -64,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :

\n

{model_names}

\n

Découvrez comment optimiser la qualité et la fiabilité de l'impression.

\n

Consultez le guide de qualité d'impression

" +msgstr "" +"

Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :

\n" +"

{model_names}

\n" +"

Découvrez comment optimiser la qualité et la fiabilité de l'impression.

\n" +"

Consultez le guide de qualité d'impression

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -169,7 +173,7 @@ msgstr "Enregistrement sur le lecteur amovible {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 msgctxt "@info:title" msgid "Saving" -msgstr "Enregistrement..." +msgstr "Enregistrement" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:104 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:107 @@ -378,7 +382,7 @@ msgstr "Envoi des données à l'imprimante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 msgctxt "@info:title" msgid "Sending Data" -msgstr "Envoi des données..." +msgstr "Envoi des données" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 @@ -437,7 +441,7 @@ msgstr "Les PrintCores et / ou matériaux sur votre imprimante diffèrent de c #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Connecté sur le réseau." +msgstr "Connecté sur le réseau" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 msgctxt "@info:status" @@ -540,7 +544,7 @@ msgstr "Cura recueille des statistiques d'utilisation anonymes." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 msgctxt "@info:title" msgid "Collecting Data" -msgstr "Collecte des données..." +msgstr "Collecte des données" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" @@ -1034,7 +1038,7 @@ msgstr "Multiplication et placement d'objets" #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:100 msgctxt "@info:title" msgid "Placing Object" -msgstr "Placement de l'objet..." +msgstr "Placement de l'objet" #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:100 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsJob.py:96 @@ -1053,7 +1057,7 @@ msgstr "Recherche d'un nouvel emplacement pour les objets" #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py:71 msgctxt "@info:title" msgid "Finding Location" -msgstr "Recherche d'emplacement..." +msgstr "Recherche d'emplacement" #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsJob.py:97 #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py:151 @@ -1074,7 +1078,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

Oups, un problème est survenu dans Ultimaker Cura.

\n

Une erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.

\n

Les sauvegardes se trouvent dans le dossier de configuration.

\n

Veuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.

\n " +msgstr "" +"

Oups, un problème est survenu dans Ultimaker Cura.

\n" +"

Une erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.

\n" +"

Les sauvegardes se trouvent dans le dossier de configuration.

\n" +"

Veuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1107,7 +1116,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème

\n

Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs

\n " +msgstr "" +"

Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème

\n" +"

Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1572,7 +1584,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Ce plug-in contient une licence.\nVous devez approuver cette licence pour installer ce plug-in.\nAcceptez-vous les clauses ci-dessous ?" +msgstr "" +"Ce plug-in contient une licence.\n" +"Vous devez approuver cette licence pour installer ce plug-in.\n" +"Acceptez-vous les clauses ci-dessous ?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1692,7 +1707,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n\nSélectionnez votre imprimante dans la liste ci-dessous :" +msgstr "" +"Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n" +"\n" +"Sélectionnez votre imprimante dans la liste ci-dessous :" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1849,7 +1867,7 @@ msgstr "Mis en file d'attente" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 msgctxt "@label" msgid "Printing" -msgstr "Impression..." +msgstr "Impression" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" @@ -1914,7 +1932,7 @@ msgstr "Terminé" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 msgctxt "@label:status" msgid "Preparing" -msgstr "Préparation..." +msgstr "Préparation" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" @@ -2648,7 +2666,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Vous avez personnalisé certains paramètres du profil.\nSouhaitez-vous conserver ces changements, ou les annuler ?" +msgstr "" +"Vous avez personnalisé certains paramètres du profil.\n" +"Souhaitez-vous conserver ces changements, ou les annuler ?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2957,7 +2977,7 @@ msgstr "Mettre en surbrillance les porte-à-faux" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" -msgstr "Déplace la caméra afin que le modèle sélectionné se trouve au centre de la vue." +msgstr "Déplace la caméra afin que le modèle sélectionné se trouve au centre de la vue" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 msgctxt "@action:button" @@ -3344,7 +3364,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\nCura est fier d'utiliser les projets open source suivants :" +msgstr "" +"Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\n" +"Cura est fier d'utiliser les projets open source suivants :" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3457,7 +3479,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n\nCliquez pour ouvrir le gestionnaire de profils." +msgstr "" +"Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n" +"\n" +"Cliquez pour ouvrir le gestionnaire de profils." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3511,7 +3536,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n\nCliquez pour rendre ces paramètres visibles." +msgstr "" +"Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n" +"\n" +"Cliquez pour rendre ces paramètres visibles." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3539,7 +3567,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Ce paramètre possède une valeur qui est différente du profil.\n\nCliquez pour restaurer la valeur du profil." +msgstr "" +"Ce paramètre possède une valeur qui est différente du profil.\n" +"\n" +"Cliquez pour restaurer la valeur du profil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3547,7 +3578,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n\nCliquez pour restaurer la valeur calculée." +msgstr "" +"Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n" +"\n" +"Cliquez pour restaurer la valeur calculée." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3716,7 +3750,7 @@ msgstr "Afficher tous les paramètres" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." -msgstr "Gérer la visibilité des paramètres" +msgstr "Gérer la visibilité des paramètres..." #: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 msgctxt "@label" @@ -3740,7 +3774,7 @@ msgstr "Nombre de copies" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml:33 msgctxt "@label:header configurations" msgid "Available configurations" -msgstr "Configurations disponibles :" +msgstr "Configurations disponibles" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/PrintCoreConfiguration.qml:28 msgctxt "@label:extruder label" @@ -3772,7 +3806,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Configuration de l'impression désactivée\nLes fichiers G-Code ne peuvent pas être modifiés" +msgstr "" +"Configuration de l'impression désactivée\n" +"Les fichiers G-Code ne peuvent pas être modifiés" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4292,7 +4328,7 @@ msgstr "Hauteur de la couche" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:277 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "Ce profil de qualité n'est pas disponible pour votre matériau et configuration des buses actuels. Veuillez modifier ces derniers pour activer ce profil de qualité." +msgstr "Ce profil de qualité n'est pas disponible pour votre matériau et configuration des buses actuels. Veuillez modifier ces derniers pour activer ce profil de qualité" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:450 msgctxt "@tooltip" @@ -4544,7 +4580,7 @@ msgstr "Impression par USB" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "Demander à l'utilisateur une fois s'il appose son accord à notre licence" +msgstr "Demander à l'utilisateur une fois s'il appose son accord à notre licence." #: UserAgreement/plugin.json msgctxt "name" @@ -4604,7 +4640,7 @@ msgstr "Plugin de périphérique de sortie sur disque amovible" #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "Gère les connexions réseau vers les imprimantes Ultimaker 3" +msgstr "Gère les connexions réseau vers les imprimantes Ultimaker 3." #: UM3NetworkPrinting/plugin.json msgctxt "name" @@ -4884,7 +4920,7 @@ msgstr "Assistant de profil d'impression" #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." -msgstr "Permet l'écriture de fichiers 3MF" +msgstr "Permet l'écriture de fichiers 3MF." #: 3MFWriter/plugin.json msgctxt "name" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index 60c17b93f8..b76aa532cb 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -6,9 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"PO-Revision-Date: 2018-09-28 15:00+0200\n" "Last-Translator: Bothof \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -16,6 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.6\n" +"POT-Creation-Date: \n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -57,7 +57,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "Commandes G-Code à exécuter au tout début, séparées par \n." +msgstr "" +"Commandes G-Code à exécuter au tout début, séparées par \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -69,7 +71,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "Commandes G-Code à exécuter tout à la fin, séparées par \n." +msgstr "" +"Commandes G-Code à exécuter tout à la fin, séparées par \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -544,7 +548,7 @@ msgstr "Accélération maximale X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "Accélération maximale pour le moteur du sens X." +msgstr "Accélération maximale pour le moteur du sens X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -1044,7 +1048,7 @@ msgstr "Zig Zag" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 label" msgid "Bottom Pattern Initial Layer" -msgstr "Couche initiale du motif du dessous." +msgstr "Couche initiale du motif du dessous" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 description" @@ -1474,7 +1478,7 @@ msgstr "Densité du remplissage" #: fdmprinter.def.json msgctxt "infill_sparse_density description" msgid "Adjusts the density of infill of the print." -msgstr "Adapte la densité de remplissage de l'impression" +msgstr "Adapte la densité de remplissage de l'impression." #: fdmprinter.def.json msgctxt "infill_line_distance label" @@ -1626,7 +1630,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Ajoutez des parois supplémentaires autour de la zone de remplissage. De telles parois peuvent réduire l'affaissement des lignes de couche extérieure supérieure / inférieure, réduisant le nombre de couches extérieures supérieures / inférieures nécessaires pour obtenir la même qualité, au prix d'un peu de matériau supplémentaire.\nConfigurée correctement, cette fonctionnalité peut être combinée avec « Relier les polygones de remplissage » pour relier tous les remplissages en un seul mouvement d'extrusion sans avoir besoin de déplacements ou de rétractions." +msgstr "" +"Ajoutez des parois supplémentaires autour de la zone de remplissage. De telles parois peuvent réduire l'affaissement des lignes de couche extérieure supérieure / inférieure, réduisant le nombre de couches extérieures supérieures / inférieures nécessaires pour obtenir la même qualité, au prix d'un peu de matériau supplémentaire.\n" +"Configurée correctement, cette fonctionnalité peut être combinée avec « Relier les polygones de remplissage » pour relier tous les remplissages en un seul mouvement d'extrusion sans avoir besoin de déplacements ou de rétractions." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1856,7 +1862,7 @@ msgstr "Température d’impression par défaut" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "La température par défaut utilisée pour l'impression. Il doit s'agir de la température de « base » d'un matériau. Toutes les autres températures d'impression doivent utiliser des décalages basés sur cette valeur." +msgstr "La température par défaut utilisée pour l'impression. Il doit s'agir de la température de « base » d'un matériau. Toutes les autres températures d'impression doivent utiliser des décalages basés sur cette valeur" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1916,7 +1922,7 @@ msgstr "Température du plateau par défaut" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "Température par défaut utilisée pour le plateau chauffant. Il doit s'agir de la température de « base » d'un plateau. Toutes les autres températures d'impression sont définies en fonction de cette valeur." +msgstr "Température par défaut utilisée pour le plateau chauffant. Il doit s'agir de la température de « base » d'un plateau. Toutes les autres températures d'impression sont définies en fonction de cette valeur" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -3793,7 +3799,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "La distance horizontale entre la jupe et la première couche de l’impression.\nIl s’agit de la distance minimale séparant la jupe de l’objet. Si la jupe a d’autres lignes, celles-ci s’étendront vers l’extérieur." +msgstr "" +"La distance horizontale entre la jupe et la première couche de l’impression.\n" +"Il s’agit de la distance minimale séparant la jupe de l’objet. Si la jupe a d’autres lignes, celles-ci s’étendront vers l’extérieur." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5230,7 +5238,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Distance d’un déplacement ascendant qui est extrudé à mi-vitesse.\nCela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire." +msgstr "" +"Distance d’un déplacement ascendant qui est extrudé à mi-vitesse.\n" +"Cela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 610d113af8..7ce106e07c 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -8,13 +8,15 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-09-28 15:01+0200\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" "Language: it_IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -62,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:

\n

{model_names}

\n

Scopri come garantire la migliore qualità ed affidabilità di stampa.

\n

Visualizza la guida alla qualità di stampa

" +msgstr "" +"

La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:

\n" +"

{model_names}

\n" +"

Scopri come garantire la migliore qualità ed affidabilità di stampa.

\n" +"

Visualizza la guida alla qualità di stampa

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -435,7 +441,7 @@ msgstr "I PrintCore e/o i materiali sulla stampante differiscono da quelli conte #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Collegato alla rete." +msgstr "Collegato alla rete" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 msgctxt "@info:status" @@ -1072,7 +1078,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.

\n

Abbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.

\n

I backup sono contenuti nella cartella configurazione.

\n

Si prega di inviare questo Rapporto su crash per correggere il problema.

\n " +msgstr "" +"

Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.

\n" +"

Abbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.

\n" +"

I backup sono contenuti nella cartella configurazione.

\n" +"

Si prega di inviare questo Rapporto su crash per correggere il problema.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1105,7 +1116,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema

\n

Usare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server

\n " +msgstr "" +"

Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema

\n" +"

Usare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1570,7 +1584,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Questo plugin contiene una licenza.\nÈ necessario accettare questa licenza per poter installare il plugin.\nAccetti i termini sotto riportati?" +msgstr "" +"Questo plugin contiene una licenza.\n" +"È necessario accettare questa licenza per poter installare il plugin.\n" +"Accetti i termini sotto riportati?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1690,7 +1707,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n\nSelezionare la stampante dall’elenco seguente:" +msgstr "" +"Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n" +"\n" +"Selezionare la stampante dall’elenco seguente:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2646,7 +2666,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Sono state personalizzate alcune impostazioni del profilo.\nMantenere o eliminare tali impostazioni?" +msgstr "" +"Sono state personalizzate alcune impostazioni del profilo.\n" +"Mantenere o eliminare tali impostazioni?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3010,7 +3032,7 @@ msgstr "Visualizza il messaggio di avvertimento sul lettore codice G." #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 msgctxt "@option:check" msgid "Caution message in g-code reader" -msgstr "Messaggio di avvertimento sul lettore codice G." +msgstr "Messaggio di avvertimento sul lettore codice G" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 msgctxt "@info:tooltip" @@ -3342,7 +3364,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\nCura è orgogliosa di utilizzare i seguenti progetti open source:" +msgstr "" +"Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\n" +"Cura è orgogliosa di utilizzare i seguenti progetti open source:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3455,7 +3479,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili." +msgstr "" +"Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n" +"\n" +"Fare clic per aprire la gestione profili." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3509,7 +3536,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n\nFare clic per rendere visibili queste impostazioni." +msgstr "" +"Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n" +"\n" +"Fare clic per rendere visibili queste impostazioni." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3537,7 +3567,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Questa impostazione ha un valore diverso dal profilo.\n\nFare clic per ripristinare il valore del profilo." +msgstr "" +"Questa impostazione ha un valore diverso dal profilo.\n" +"\n" +"Fare clic per ripristinare il valore del profilo." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3545,7 +3578,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n\nFare clic per ripristinare il valore calcolato." +msgstr "" +"Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n" +"\n" +"Fare clic per ripristinare il valore calcolato." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3770,7 +3806,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Impostazione di stampa disabilitata\nI file codice G non possono essere modificati" +msgstr "" +"Impostazione di stampa disabilitata\n" +"I file codice G non possono essere modificati" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -3956,7 +3994,7 @@ msgstr "&Unisci modelli" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 msgctxt "@action:inmenu" msgid "&Multiply Model..." -msgstr "Mo<iplica modello" +msgstr "Mo<iplica modello..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 msgctxt "@action:inmenu menubar:edit" @@ -4245,7 +4283,7 @@ msgstr "Apri file" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." -msgstr "Rilevata la presenza di uno o più file codice G tra i file selezionati. È possibile aprire solo un file codice G alla volta. Se desideri aprire un file codice G, selezionane uno solo. " +msgstr "Rilevata la presenza di uno o più file codice G tra i file selezionati. È possibile aprire solo un file codice G alla volta. Se desideri aprire un file codice G, selezionane uno solo." #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:14 msgctxt "@title:window" @@ -4290,7 +4328,7 @@ msgstr "Altezza dello strato" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:277 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "Questo profilo di qualità non è disponibile per il materiale e la configurazione ugello corrente. Modificarli per abilitare questo profilo di qualità." +msgstr "Questo profilo di qualità non è disponibile per il materiale e la configurazione ugello corrente. Modificarli per abilitare questo profilo di qualità" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:450 msgctxt "@tooltip" @@ -4542,7 +4580,7 @@ msgstr "Stampa USB" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "Chiedere una volta all'utente se accetta la nostra licenza" +msgstr "Chiedere una volta all'utente se accetta la nostra licenza." #: UserAgreement/plugin.json msgctxt "name" @@ -4602,7 +4640,7 @@ msgstr "Plugin dispositivo di output unità rimovibile" #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "Gestisce le connessioni di rete alle stampanti Ultimaker 3" +msgstr "Gestisce le connessioni di rete alle stampanti Ultimaker 3." #: UM3NetworkPrinting/plugin.json msgctxt "name" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index b12c404f98..135c07b4ab 100644 --- a/resources/i18n/it_IT/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -6,15 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"PO-Revision-Date: 2018-09-28 15:02+0200\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" "Language: it_IT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: \n" +"X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -56,7 +57,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "I comandi codice G da eseguire all’avvio, separati da \n." +msgstr "" +"I comandi codice G da eseguire all’avvio, separati da \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -68,7 +71,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "I comandi codice G da eseguire alla fine, separati da \n." +msgstr "" +"I comandi codice G da eseguire alla fine, separati da \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -543,7 +548,7 @@ msgstr "Accelerazione massima X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "Indica l’accelerazione massima del motore per la direzione X." +msgstr "Indica l’accelerazione massima del motore per la direzione X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -863,7 +868,7 @@ msgstr "Larghezza linea strato iniziale" #: fdmprinter.def.json msgctxt "initial_layer_line_width_factor description" msgid "Multiplier of the line width on the first layer. Increasing this could improve bed adhesion." -msgstr "Moltiplicatore della larghezza della linea del primo strato Il suo aumento potrebbe migliorare l'adesione al piano" +msgstr "Moltiplicatore della larghezza della linea del primo strato Il suo aumento potrebbe migliorare l'adesione al piano." #: fdmprinter.def.json msgctxt "shell label" @@ -1423,7 +1428,7 @@ msgstr "Velocità di stiratura" #: fdmprinter.def.json msgctxt "speed_ironing description" msgid "The speed at which to pass over the top surface." -msgstr "Velocità alla quale passare sopra la superficie superiore" +msgstr "Velocità alla quale passare sopra la superficie superiore." #: fdmprinter.def.json msgctxt "acceleration_ironing label" @@ -1625,7 +1630,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Aggiunge pareti supplementari intorno alla zona di riempimento. Queste pareti possono ridurre l’abbassamento delle linee del rivestimento esterno superiore/inferiore, pertanto saranno necessari meno strati di rivestimento esterno superiore/inferiore per ottenere la stessa qualità al costo del materiale supplementare.\nQuesta funzione può essere abbinata a Collega poligoni riempimento per collegare tutto il riempimento in un unico percorso di estrusione senza necessità di avanzamenti o arretramenti, se configurata correttamente." +msgstr "" +"Aggiunge pareti supplementari intorno alla zona di riempimento. Queste pareti possono ridurre l’abbassamento delle linee del rivestimento esterno superiore/inferiore, pertanto saranno necessari meno strati di rivestimento esterno superiore/inferiore per ottenere la stessa qualità al costo del materiale supplementare.\n" +"Questa funzione può essere abbinata a Collega poligoni riempimento per collegare tutto il riempimento in un unico percorso di estrusione senza necessità di avanzamenti o arretramenti, se configurata correttamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1855,7 +1862,7 @@ msgstr "Temperatura di stampa preimpostata" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "La temperatura preimpostata utilizzata per la stampa. Deve essere la temperatura “base” di un materiale. Tutte le altre temperature di stampa devono usare scostamenti basati su questo valore." +msgstr "La temperatura preimpostata utilizzata per la stampa. Deve essere la temperatura “base” di un materiale. Tutte le altre temperature di stampa devono usare scostamenti basati su questo valore" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1915,7 +1922,7 @@ msgstr "Temperatura piano di stampa preimpostata" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "La temperatura preimpostata utilizzata per il piano di stampa. Deve essere la temperatura “base” di un piano di stampa. Tutte le altre temperature di stampa devono usare scostamenti basati su questo valore." +msgstr "La temperatura preimpostata utilizzata per il piano di stampa. Deve essere la temperatura “base” di un piano di stampa. Tutte le altre temperature di stampa devono usare scostamenti basati su questo valore" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -2005,7 +2012,7 @@ msgstr "Retrazione al cambio strato" #: fdmprinter.def.json msgctxt "retract_at_layer_change description" msgid "Retract the filament when the nozzle is moving to the next layer." -msgstr "Ritrae il filamento quando l'ugello si sta muovendo allo strato successivo. " +msgstr "Ritrae il filamento quando l'ugello si sta muovendo allo strato successivo." #: fdmprinter.def.json msgctxt "retraction_amount label" @@ -3792,7 +3799,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "Indica la distanza orizzontale tra lo skirt ed il primo strato della stampa.\nQuesta è la distanza minima. Più linee di skirt aumenteranno tale distanza." +msgstr "" +"Indica la distanza orizzontale tra lo skirt ed il primo strato della stampa.\n" +"Questa è la distanza minima. Più linee di skirt aumenteranno tale distanza." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4642,7 +4651,7 @@ msgstr "Larghezza linea rivestimento superficie superiore" #: fdmprinter.def.json msgctxt "roofing_line_width description" msgid "Width of a single line of the areas at the top of the print." -msgstr "Larghezza di un singola linea delle aree nella parte superiore della stampa" +msgstr "Larghezza di un singola linea delle aree nella parte superiore della stampa." #: fdmprinter.def.json msgctxt "roofing_pattern label" @@ -5229,7 +5238,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\nCiò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing." +msgstr "" +"Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\n" +"Ciò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 2ab5bb0e1e..80fefa2b42 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-09-28 15:19+0200\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -64,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

\n

{model_names}

\n

可能な限り最高の品質および信頼性を得る方法をご覧ください。

\n

印字品質ガイドを見る

" +msgstr "" +"

モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

\n" +"

{model_names}

\n" +"

可能な限り最高の品質および信頼性を得る方法をご覧ください。

\n" +"

印字品質ガイドを見る

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -72,10 +76,9 @@ msgid "Show Changelog" msgstr "Changelogの表示" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 -#, fuzzy msgctxt "@item:inmenu" msgid "Flatten active settings" -msgstr "アクティブ設定を平らにします。" +msgstr "アクティブ設定を平らにします" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:35 #, fuzzy @@ -240,7 +243,7 @@ msgstr "{0}取り出し完了。デバイスを安全に取り外せます。" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:161 msgctxt "@info:title" msgid "Safely Remove Hardware" -msgstr "ハードウェアを安全に取り外します。" +msgstr "ハードウェアを安全に取り外します" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 #, python-brace-format @@ -268,7 +271,7 @@ msgstr "ネットワークのプリント" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 msgctxt "@info:status" msgid "Connected over the network." -msgstr "ネットワーク上で接続" +msgstr "ネットワーク上で接続。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 msgctxt "@info:status" @@ -283,7 +286,7 @@ msgstr "ネットワーク上で接続。プリントを操作するアクセス #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "プリンターへのアクセスが申請されました。プリンタへのリクエストを承認してください。" +msgstr "プリンターへのアクセスが申請されました。プリンタへのリクエストを承認してください" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 msgctxt "@info:title" @@ -315,7 +318,7 @@ msgstr "アクセスリクエストを再送信" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 msgctxt "@info:status" msgid "Access to the printer accepted" -msgstr "プリンターへのアクセスが承認されました。" +msgstr "プリンターへのアクセスが承認されました" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 msgctxt "@info:status" @@ -493,7 +496,7 @@ msgstr "{machine_name} で利用可能な新しい機能があります。プリ #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" -msgstr "新しい利用可能な%sファームウェアのアップデートがあります。" +msgstr "新しい利用可能な%sファームウェアのアップデートがあります" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 msgctxt "@action:button" @@ -513,7 +516,7 @@ msgstr "レイヤービュー" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "Curaはワイヤープリンティング設定中には正確にレイヤーを表示しません。" +msgstr "Curaはワイヤープリンティング設定中には正確にレイヤーを表示しません" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 msgctxt "@info:title" @@ -607,7 +610,7 @@ msgstr "選ばれたプリンターまたは選ばれたプリント構成が異 #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 msgctxt "@info:title" msgid "Unable to slice" -msgstr "スライスできません。" +msgstr "スライスできません" #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 #, python-brace-format @@ -641,7 +644,7 @@ msgstr "モデルのデータがビルトボリュームに入っていないた #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 msgctxt "@info:status" msgid "Processing Layers" -msgstr "レイヤーを処理しています。" +msgstr "レイヤーを処理しています" #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 msgctxt "@info:title" @@ -743,12 +746,12 @@ msgstr "3MFファイル" #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:34 msgctxt "@item:inlistbox" msgid "Cura Project 3MF file" -msgstr "Curaが3MF fileを算出します。" +msgstr "Curaが3MF fileを算出します" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "3Mf ファイルの書き込みエラー" +msgstr "3Mf ファイルの書き込みエラー。" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -841,7 +844,7 @@ msgstr "スライス前ファイル {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" -msgstr "すでに存在するファイルです。" +msgstr "すでに存在するファイルです" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 @@ -886,13 +889,13 @@ msgstr "{0}にプロファイルを書き出すのに失敗 #, python-brace-format msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr " {0}にプロファイルを書き出すことに失敗しました。:ライタープラグイン失敗の報告" +msgstr " {0}にプロファイルを書き出すことに失敗しました。:ライタープラグイン失敗の報告。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format msgctxt "@info:status Don't translate the XML tag !" msgid "Exported profile to {0}" -msgstr "{0}にプロファイルを書き出しました。" +msgstr "{0}にプロファイルを書き出しました" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:144 msgctxt "@info:title" @@ -905,13 +908,13 @@ msgstr "書き出し完了" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" -msgstr "{0}: {1}からプロファイルを取り込むことに失敗しました。" +msgstr "{0}: {1}からプロファイルを取り込むことに失敗しました" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "No custom profile to import in file {0}" -msgstr "ファイル{0}にはカスタムプロファイルがインポートされていません。" +msgstr "ファイル{0}にはカスタムプロファイルがインポートされていません" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 @@ -1030,7 +1033,7 @@ msgstr "現行バージョンと一致しないCuraバックアップをリス #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:27 msgctxt "@info:status" msgid "Multiplying and placing objects" -msgstr "造形データを増やす、配置する。" +msgstr "造形データを増やす、配置する" #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:28 #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:100 @@ -1061,7 +1064,7 @@ msgstr "位置確認" #: /home/ruben/Projects/Cura/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py:151 msgctxt "@info:title" msgid "Can't Find Location" -msgstr "位置を確保できません。" +msgstr "位置を確保できません" #: /home/ruben/Projects/Cura/cura/CrashHandler.py:87 msgctxt "@title:window" @@ -1076,7 +1079,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

\n

開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

\n

バックアップは、設定フォルダに保存されます。

\n

問題解決のために、このクラッシュ報告をお送りください。

\n " +msgstr "" +"

申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

\n" +"

開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

\n" +"

バックアップは、設定フォルダに保存されます。

\n" +"

問題解決のために、このクラッシュ報告をお送りください。

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1109,7 +1117,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

\n

「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

\n " +msgstr "" +"

致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

\n" +"

「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1278,7 +1289,7 @@ msgstr "ビルドプレート形" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:151 msgctxt "@option:check" msgid "Origin at center" -msgstr "センターを出します。" +msgstr "センターを出します" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:159 msgctxt "@option:check" @@ -1574,7 +1585,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "このプラグインにはライセンスが含まれています。\nこのプラグインをインストールするにはこのライセンスに同意する必要があります。\n下の利用規約に同意しますか?" +msgstr "" +"このプラグインにはライセンスが含まれています。\n" +"このプラグインをインストールするにはこのライセンスに同意する必要があります。\n" +"下の利用規約に同意しますか?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1641,12 +1655,12 @@ msgstr "ファームウェアアップデート" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 msgctxt "@label" msgid "Updating firmware." -msgstr "ファームウェアアップデート中" +msgstr "ファームウェアアップデート中。" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 msgctxt "@label" msgid "Firmware update completed." -msgstr "ファームウェアアップデート完了" +msgstr "ファームウェアアップデート完了。" #: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 msgctxt "@label" @@ -1723,7 +1737,7 @@ msgstr "更新" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" -msgstr "お持ちのプリンターがリストにない場合、ネットワーク・プリンティング・トラブルシューティング・ガイドを読んでください。" +msgstr "お持ちのプリンターがリストにない場合、ネットワーク・プリンティング・トラブルシューティング・ガイドを読んでください" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 msgctxt "@label" @@ -1936,7 +1950,7 @@ msgstr "再開" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 msgctxt "@label:status" msgid "Action required" -msgstr "アクションが必要です。" +msgstr "アクションが必要です" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 msgctxt "@info:tooltip" @@ -1946,7 +1960,7 @@ msgstr "プリンターにつなぐ" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 msgctxt "@info:tooltip" msgid "Load the configuration of the printer into Cura" -msgstr "プリンターの構成をCuraに取り入れる。" +msgstr "プリンターの構成をCuraに取り入れる" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 msgctxt "@action:button" @@ -2086,7 +2100,7 @@ msgstr "画像を変換する…" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 msgctxt "@info:tooltip" msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "“ベース”から各ピクセルへの最大距離" +msgstr "“ベース”から各ピクセルへの最大距離。" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 msgctxt "@action:label" @@ -2096,7 +2110,7 @@ msgstr "高さ(mm)" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:56 msgctxt "@info:tooltip" msgid "The base height from the build plate in millimeters." -msgstr "ミリメートルでビルドプレートからベースの高さ" +msgstr "ミリメートルでビルドプレートからベースの高さ。" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:61 msgctxt "@action:label" @@ -2106,7 +2120,7 @@ msgstr "ベース(mm)" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:79 msgctxt "@info:tooltip" msgid "The width in millimeters on the build plate." -msgstr "ビルドプレート上の幅ミリメートル" +msgstr "ビルドプレート上の幅ミリメートル。" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:84 msgctxt "@action:label" @@ -2141,7 +2155,7 @@ msgstr "暗いほうを高く" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:149 msgctxt "@info:tooltip" msgid "The amount of smoothing to apply to the image." -msgstr "画像に適応したスムージング量" +msgstr "画像に適応したスムージング量。" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:154 msgctxt "@action:label" @@ -2438,12 +2452,12 @@ msgstr "ビルドプレートのレベリング" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:38 msgctxt "@label" msgid "To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted." -msgstr "プリントの成功率を上げるために、ビルドプレートを今調整できます。’次のポジションに移動’をクリックすると" +msgstr "プリントの成功率を上げるために、ビルドプレートを今調整できます。’次のポジションに移動’をクリックすると。" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:47 msgctxt "@label" msgid "For every position; insert a piece of paper under the nozzle and adjust the print build plate height. The print build plate height is right when the paper is slightly gripped by the tip of the nozzle." -msgstr "すべてのポジションに;" +msgstr "すべてのポジションに" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/BedLevelMachineAction.qml:62 msgctxt "@action:button" @@ -2483,7 +2497,7 @@ msgstr "カスタムファームウェアをアップロードする" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 msgctxt "@title:window" msgid "Select custom firmware" -msgstr "カスタムファームウェアを選択する。" +msgstr "カスタムファームウェアを選択する" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" @@ -2503,7 +2517,7 @@ msgstr "プリンターチェック" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:39 msgctxt "@label" msgid "It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional" -msgstr "お持ちのUltimkaerにてサニティーチェックを数回行うことは推奨します。もしプリンター機能に問題ない場合はこの項目をスキップしてください。" +msgstr "お持ちのUltimkaerにてサニティーチェックを数回行うことは推奨します。もしプリンター機能に問題ない場合はこの項目をスキップしてください" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:53 msgctxt "@action:button" @@ -2513,7 +2527,7 @@ msgstr "プリンターチェックを開始する" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:80 msgctxt "@label" msgid "Connection: " -msgstr "コネクション:" +msgstr "コネクション: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 msgctxt "@info:status" @@ -2523,12 +2537,12 @@ msgstr "接続済" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 msgctxt "@info:status" msgid "Not connected" -msgstr "プリンターにつながっていません。" +msgstr "プリンターにつながっていません" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 msgctxt "@label" msgid "Min endstop X: " -msgstr "エンドストップ X:" +msgstr "エンドストップ X: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 @@ -2544,22 +2558,22 @@ msgstr "作品" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:234 msgctxt "@info:status" msgid "Not checked" -msgstr "チェックされていません。" +msgstr "チェックされていません" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 msgctxt "@label" msgid "Min endstop Y: " -msgstr "エンドストップ Y:" +msgstr "エンドストップ Y: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 msgctxt "@label" msgid "Min endstop Z: " -msgstr "エンドストップ Z:" +msgstr "エンドストップ Z: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 msgctxt "@label" msgid "Nozzle temperature check: " -msgstr "ノズル温度チェック:" +msgstr "ノズル温度チェック: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 @@ -2591,23 +2605,23 @@ msgstr "すべてに異常はありません。チェックアップを終了し #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:119 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" -msgstr "プリンターにつながっていません。" +msgstr "プリンターにつながっていません" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:123 msgctxt "@label:MonitorStatus" msgid "Printer does not accept commands" -msgstr "今プリンタはコマンドを処理できません。" +msgstr "今プリンタはコマンドを処理できません" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:133 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:197 msgctxt "@label:MonitorStatus" msgid "In maintenance. Please check the printer" -msgstr "メンテナンス。プリンターをチェックしてください。" +msgstr "メンテナンス。プリンターをチェックしてください" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:144 msgctxt "@label:MonitorStatus" msgid "Lost connection with the printer" -msgstr "プリンターへの接続が切断されました。" +msgstr "プリンターへの接続が切断されました" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:146 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:187 @@ -2630,7 +2644,7 @@ msgstr "準備中" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:154 msgctxt "@label:MonitorStatus" msgid "Please remove the print" -msgstr "造形物を取り出してください。" +msgstr "造形物を取り出してください" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" @@ -2678,12 +2692,12 @@ msgstr "毎回確認する" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 msgctxt "@option:discardOrKeep" msgid "Discard and never ask again" -msgstr "取り消し、再度確認しない。" +msgstr "取り消し、再度確認しない" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:159 msgctxt "@option:discardOrKeep" msgid "Keep and never ask again" -msgstr "キープし、再度確認しない。" +msgstr "キープし、再度確認しない" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:196 msgctxt "@action:button" @@ -2827,7 +2841,7 @@ msgstr "プリンター" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:239 msgctxt "@title:window" msgid "Confirm Remove" -msgstr "モデルを取り除きました。" +msgstr "モデルを取り除きました" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:263 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:240 @@ -2976,7 +2990,7 @@ msgstr "Curaのデフォルトのズーム機能は変更できるべきか?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 msgctxt "@action:button" msgid "Invert the direction of camera zoom." -msgstr "カメラのズーム方向を反転する" +msgstr "カメラのズーム方向を反転する。" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 msgctxt "@info:tooltip" @@ -3091,7 +3105,7 @@ msgstr "プロジェクトファイルを開く際のデフォルト機能" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 msgctxt "@window:text" msgid "Default behavior when opening a project file: " -msgstr "プロジェクトファイル開く際のデフォルト機能:" +msgstr "プロジェクトファイル開く際のデフォルト機能: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" @@ -3156,7 +3170,7 @@ msgstr "プリンターの不明なデータをUltimakerにおくりますか? #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 msgctxt "@option:check" msgid "Send (anonymous) print information" -msgstr " (不特定な) プリントインフォメーションを送信" +msgstr "(不特定な) プリントインフォメーションを送信" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 msgctxt "@action:button" @@ -3341,7 +3355,7 @@ msgstr "バージョン: %1" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." -msgstr "熱溶解積層型3Dプリンティングのエンドtoエンドソリューション" +msgstr "熱溶解積層型3Dプリンティングのエンドtoエンドソリューション。" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@info:credit" @@ -3461,7 +3475,9 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "いくらかの設定プロファイルにある値とことなる場合無効にします。\nプロファイルマネージャーをクリックして開いてください。" +msgstr "" +"いくらかの設定プロファイルにある値とことなる場合無効にします。\n" +"プロファイルマネージャーをクリックして開いてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3515,7 +3531,9 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n表示されるようにクリックしてください。" +msgstr "" +"いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n" +"表示されるようにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3535,7 +3553,7 @@ msgstr "この設定は常に全てのエクストルーダーに共有されて #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 msgctxt "@label" msgid "The value is resolved from per-extruder values " -msgstr "この値は各エクストルーダーの値から取得します。" +msgstr "この値は各エクストルーダーの値から取得します " #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 msgctxt "@label" @@ -3543,7 +3561,9 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "この設定にプロファイルと異なった値があります。\nプロファイルの値を戻すためにクリックしてください。" +msgstr "" +"この設定にプロファイルと異なった値があります。\n" +"プロファイルの値を戻すためにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3551,7 +3571,9 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "このセッティングは通常計算されます、今は絶対値に固定されています。\n計算された値に変更するためにクリックを押してください。" +msgstr "" +"このセッティングは通常計算されます、今は絶対値に固定されています。\n" +"計算された値に変更するためにクリックを押してください。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3629,17 +3651,17 @@ msgstr "プリント開始前にホットエンドを加熱します。加熱中 #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:401 msgctxt "@tooltip" msgid "The colour of the material in this extruder." -msgstr "エクストルーダーのマテリアルの色" +msgstr "エクストルーダーのマテリアルの色。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:433 msgctxt "@tooltip" msgid "The material in this extruder." -msgstr "エクストルーダー入ったフィラメント" +msgstr "エクストルーダー入ったフィラメント。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:465 msgctxt "@tooltip" msgid "The nozzle inserted in this extruder." -msgstr "ノズルが入ったエクストルーダー" +msgstr "ノズルが入ったエクストルーダー。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:25 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:493 @@ -3655,12 +3677,12 @@ msgstr "ヒーティッドベッドの目標温度。ベッドはこの温度に #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:87 msgctxt "@tooltip" msgid "The current temperature of the heated bed." -msgstr "現在のヒーティッドベッドの温度" +msgstr "現在のヒーティッドベッドの温度。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:160 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the bed to." -msgstr "ベッドのプリヒート温度" +msgstr "ベッドのプリヒート温度。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:360 msgctxt "@tooltip of pre-heat" @@ -3776,7 +3798,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "プリントセットアップが無効\nG-codeファイルを修正することができません。" +msgstr "" +"プリントセットアップが無効\n" +"G-codeファイルを修正することができません" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -3786,12 +3810,12 @@ msgstr "時間仕様" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." -msgstr "おすすめプリントセットアップ

選択されたプリンターにておすすめの設定、フィラメント、質にてプリントしてください。 " +msgstr "おすすめプリントセットアップ

選択されたプリンターにておすすめの設定、フィラメント、質にてプリントしてください。" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." -msgstr "カスタムプリントセットアップ

スライス処理のきめ細かなコントロールにてプリントする" +msgstr "カスタムプリントセットアップ

スライス処理のきめ細かなコントロールにてプリントする。" #: /home/ruben/Projects/Cura/resources/qml/PrintMonitor.qml:106 msgctxt "@label" @@ -3836,7 +3860,7 @@ msgstr "&やめる" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 msgctxt "@action:inmenu menubar:view" msgid "3D View" -msgstr "3Dビュー " +msgstr "3Dビュー" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 msgctxt "@action:inmenu menubar:view" @@ -4037,12 +4061,12 @@ msgstr "サイドバーを展開する/たたむ" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:27 msgctxt "@label:PrintjobStatus" msgid "Please load a 3D model" -msgstr "3Dモデルをロードしてください。" +msgstr "3Dモデルをロードしてください" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:37 msgctxt "@label:PrintjobStatus" msgid "Ready to slice" -msgstr "スライスの準備ができました。" +msgstr "スライスの準備ができました" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:39 msgctxt "@label:PrintjobStatus" @@ -4057,7 +4081,7 @@ msgstr "%1の準備完了" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:43 msgctxt "@label:PrintjobStatus" msgid "Unable to Slice" -msgstr "スライスできません。" +msgstr "スライスできません" #: /home/ruben/Projects/Cura/resources/qml/SaveButton.qml:45 msgctxt "@label:PrintjobStatus" @@ -4296,7 +4320,7 @@ msgstr "レイヤーの高さ" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:277 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "この品質プロファイルは現在の材料およびノズル構成では使用できません。この品質プロファイルを使用できるように変更してください。" +msgstr "この品質プロファイルは現在の材料およびノズル構成では使用できません。この品質プロファイルを使用できるように変更してください" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:450 msgctxt "@tooltip" @@ -4341,7 +4365,7 @@ msgstr "グラデュアルを有効にする" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 msgctxt "@label" msgid "Generate Support" -msgstr "サポートを生成します。" +msgstr "サポートを生成します" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 msgctxt "@label" @@ -4366,7 +4390,7 @@ msgstr "ブリムまたはラフトのプリントの有効化。それぞれ、 #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" -msgstr "プリントにヘルプが必要ですか?
Ultimakerトラブルシューティングガイドを読んでください。" +msgstr "プリントにヘルプが必要ですか?
Ultimakerトラブルシューティングガイドを読んでください" # can’t enter japanese #: /home/ruben/Projects/Cura/resources/qml/ExtruderButton.qml:16 @@ -4428,7 +4452,7 @@ msgstr "互換性の確認" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:593 msgctxt "@tooltip" msgid "Click to check the material compatibility on Ultimaker.com." -msgstr "Ultimaker.comにてマテリアルのコンパティビリティを調べるためにクリック" +msgstr "Ultimaker.comにてマテリアルのコンパティビリティを調べるためにクリック。" #: /home/ruben/Projects/Cura/resources/qml/ObjectsList.qml:211 msgctxt "@option:check" @@ -4468,7 +4492,7 @@ msgstr "ツールボックス" #: XRayView/plugin.json msgctxt "description" msgid "Provides the X-Ray view." -msgstr "透視ビューイング" +msgstr "透視ビューイング。" #: XRayView/plugin.json msgctxt "name" @@ -4478,7 +4502,7 @@ msgstr "透視ビュー" #: X3DReader/plugin.json msgctxt "description" msgid "Provides support for reading X3D files." -msgstr "X3Dファイルを読むこむためのサポートを供給する" +msgstr "X3Dファイルを読むこむためのサポートを供給する。" #: X3DReader/plugin.json msgctxt "name" @@ -4508,7 +4532,7 @@ msgstr "モデルチェッカー" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "description" msgid "Dump the contents of all settings to a HTML file." -msgstr "HTMLファイルに設定内容を放置する" +msgstr "HTMLファイルに設定内容を放置する。" #: cura-god-mode-plugin/src/GodMode/plugin.json msgctxt "name" @@ -4518,7 +4542,7 @@ msgstr "Godモード" #: ChangeLogPlugin/plugin.json msgctxt "description" msgid "Shows changes since latest checked version." -msgstr "最新の更新バージョンの変更点を表示する" +msgstr "最新の更新バージョンの変更点を表示する。" #: ChangeLogPlugin/plugin.json msgctxt "name" @@ -4528,7 +4552,7 @@ msgstr "Changelog" #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." -msgstr "プロファイルを変更するフラットエンドクオリティーを作成する" +msgstr "プロファイルを変更するフラットエンドクオリティーを作成する。" #: ProfileFlattener/plugin.json msgctxt "name" @@ -4548,7 +4572,7 @@ msgstr "USBプリンティング" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "ライセンスに同意するかどうかユーザーに1回だけ確認する" +msgstr "ライセンスに同意するかどうかユーザーに1回だけ確認する。" #: UserAgreement/plugin.json msgctxt "name" @@ -4598,7 +4622,7 @@ msgstr "ステージの準備" #: RemovableDriveOutputDevice/plugin.json msgctxt "description" msgid "Provides removable drive hotplugging and writing support." -msgstr "取り外し可能なドライブホットプラギング及びサポートの書き出しの供給" +msgstr "取り外し可能なドライブホットプラギング及びサポートの書き出しの供給。" #: RemovableDriveOutputDevice/plugin.json msgctxt "name" @@ -4628,7 +4652,7 @@ msgstr "モニターステージ" #: FirmwareUpdateChecker/plugin.json msgctxt "description" msgid "Checks for firmware updates." -msgstr "ファームウェアアップデートをチェックする" +msgstr "ファームウェアアップデートをチェックする。" #: FirmwareUpdateChecker/plugin.json msgctxt "name" @@ -4698,7 +4722,7 @@ msgstr "フィラメントプロファイル" #: LegacyProfileReader/plugin.json msgctxt "description" msgid "Provides support for importing profiles from legacy Cura versions." -msgstr "レガシーCura Versionsからプロファイルを取り込むためのサポートを供給する" +msgstr "レガシーCura Versionsからプロファイルを取り込むためのサポートを供給する。" #: LegacyProfileReader/plugin.json msgctxt "name" @@ -4718,7 +4742,7 @@ msgstr "G-codeプロファイルリーダー" #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.2 to Cura 3.3." -msgstr "Cura 3.2からCura 3.3のコンフィグレーションアップグレート" +msgstr "Cura 3.2からCura 3.3のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade32to33/plugin.json msgctxt "name" @@ -4728,7 +4752,7 @@ msgstr "3.2から3.3にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade33to34/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.3 to Cura 3.4." -msgstr "Cura 3.3からCura 3.4のコンフィグレーションアップグレート" +msgstr "Cura 3.3からCura 3.4のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade33to34/plugin.json msgctxt "name" @@ -4738,7 +4762,7 @@ msgstr "3.3から3.4にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.5 to Cura 2.6." -msgstr "Cura 2.5 からCura 2.6のコンフィグレーションアップグレート" +msgstr "Cura 2.5 からCura 2.6のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "name" @@ -4748,7 +4772,7 @@ msgstr "2.5から2.6にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade27to30/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.7 to Cura 3.0." -msgstr "Cura 2.7からCura 3.0のコンフィグレーションアップグレート" +msgstr "Cura 2.7からCura 3.0のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade27to30/plugin.json msgctxt "name" @@ -4758,7 +4782,7 @@ msgstr "2.7から3.0にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "Cura 3.4 から Cura 3.5 のコンフィグレーションアップグレート" +msgstr "Cura 3.4 から Cura 3.5 のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" @@ -4768,7 +4792,7 @@ msgstr "3.4 から 3.5 にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.0 to Cura 3.1." -msgstr "Cura 3.0からCura 3.1のコンフィグレーションアップグレート" +msgstr "Cura 3.0からCura 3.1のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "name" @@ -4778,7 +4802,7 @@ msgstr "3.0から3.1にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.6 to Cura 2.7." -msgstr "Cura 2.6 からCura 2.7のコンフィグレーションアップグレート" +msgstr "Cura 2.6 からCura 2.7のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "name" @@ -4788,7 +4812,7 @@ msgstr "2.6から2.7にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade21to22/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.1 to Cura 2.2." -msgstr "Cura 2.1 からCura 2.2のコンフィグレーションアップグレート" +msgstr "Cura 2.1 からCura 2.2のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade21to22/plugin.json msgctxt "name" @@ -4798,7 +4822,7 @@ msgstr "2.1 から2.2にバージョンアップグレート" #: VersionUpgrade/VersionUpgrade22to24/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 2.2 to Cura 2.4." -msgstr "Cura 2.2 からCura 2.4のコンフィグレーションアップグレート" +msgstr "Cura 2.2 からCura 2.4のコンフィグレーションアップグレート。" #: VersionUpgrade/VersionUpgrade22to24/plugin.json msgctxt "name" @@ -4808,7 +4832,7 @@ msgstr "2.2 から2.4にバージョンアップグレート" #: ImageReader/plugin.json msgctxt "description" msgid "Enables ability to generate printable geometry from 2D image files." -msgstr "2Dの画像ファイルからプリント可能なジオメトリーを生成を可能にする" +msgstr "2Dの画像ファイルからプリント可能なジオメトリーを生成を可能にする。" #: ImageReader/plugin.json msgctxt "name" @@ -4818,7 +4842,7 @@ msgstr "画像リーダー" #: CuraEngineBackend/plugin.json msgctxt "description" msgid "Provides the link to the CuraEngine slicing backend." -msgstr "CuraEngineスライシングバックエンドにリンクを供給する" +msgstr "CuraEngineスライシングバックエンドにリンクを供給する。" #: CuraEngineBackend/plugin.json msgctxt "name" @@ -4828,7 +4852,7 @@ msgstr "Curaエンジンバックエンド" #: PerObjectSettingsTool/plugin.json msgctxt "description" msgid "Provides the Per Model Settings." -msgstr "各モデル設定を与える" +msgstr "各モデル設定を与える。" #: PerObjectSettingsTool/plugin.json msgctxt "name" @@ -4838,7 +4862,7 @@ msgstr "各モデル設定ツール" #: 3MFReader/plugin.json msgctxt "description" msgid "Provides support for reading 3MF files." -msgstr "3MFファイルを読むこむためのサポートを供給する" +msgstr "3MFファイルを読むこむためのサポートを供給する。" #: 3MFReader/plugin.json msgctxt "name" @@ -4848,7 +4872,7 @@ msgstr "3MFリーダー" #: SolidView/plugin.json msgctxt "description" msgid "Provides a normal solid mesh view." -msgstr "ノーマルなソリットメッシュビューを供給する" +msgstr "ノーマルなソリットメッシュビューを供給する。" #: SolidView/plugin.json msgctxt "name" @@ -4858,7 +4882,7 @@ msgstr "ソリッドビュー" #: GCodeReader/plugin.json msgctxt "description" msgid "Allows loading and displaying G-code files." -msgstr "G-codeファイルの読み込み、表示を許可する" +msgstr "G-codeファイルの読み込み、表示を許可する。" #: GCodeReader/plugin.json msgctxt "name" @@ -4868,7 +4892,7 @@ msgstr "G-codeリーダー" #: CuraProfileWriter/plugin.json msgctxt "description" msgid "Provides support for exporting Cura profiles." -msgstr "Curaプロファイルを書き出すためのサポートを供給する" +msgstr "Curaプロファイルを書き出すためのサポートを供給する。" #: CuraProfileWriter/plugin.json msgctxt "name" @@ -4888,7 +4912,7 @@ msgstr "プリントプロファイルアシスタント" #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." -msgstr "3MFファイルを読むこむためのサポートを供給する" +msgstr "3MFファイルを読むこむためのサポートを供給する。" #: 3MFWriter/plugin.json msgctxt "name" @@ -4908,7 +4932,7 @@ msgstr "Ultimkerプリンターのアクション" #: CuraProfileReader/plugin.json msgctxt "description" msgid "Provides support for importing Cura profiles." -msgstr "Curaプロファイルを取り込むためのサポートを供給する" +msgstr "Curaプロファイルを取り込むためのサポートを供給する。" #: CuraProfileReader/plugin.json msgctxt "name" diff --git a/resources/i18n/ja_JP/fdmextruder.def.json.po b/resources/i18n/ja_JP/fdmextruder.def.json.po index cfa3fe4dee..c18a660997 100644 --- a/resources/i18n/ja_JP/fdmextruder.def.json.po +++ b/resources/i18n/ja_JP/fdmextruder.def.json.po @@ -6,16 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"PO-Revision-Date: 2018-09-28 15:24+0200\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" "Language: ja_JP\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" +"POT-Creation-Date: \n" #: fdmextruder.def.json msgctxt "machine_settings label" @@ -45,7 +45,7 @@ msgstr "ノズルID" #: fdmextruder.def.json msgctxt "machine_nozzle_id description" msgid "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\"." -msgstr "\"AA 0.4\"や\"BB 0.8\"などのノズルID" +msgstr "\"AA 0.4\"や\"BB 0.8\"などのノズルID。" #: fdmextruder.def.json msgctxt "machine_nozzle_size label" @@ -65,7 +65,7 @@ msgstr "Xノズルオフセット" #: fdmextruder.def.json msgctxt "machine_nozzle_offset_x description" msgid "The x-coordinate of the offset of the nozzle." -msgstr "ノズルのX軸のオフセット" +msgstr "ノズルのX軸のオフセット。" #: fdmextruder.def.json msgctxt "machine_nozzle_offset_y label" @@ -75,7 +75,7 @@ msgstr "Yノズルオフセット" #: fdmextruder.def.json msgctxt "machine_nozzle_offset_y description" msgid "The y-coordinate of the offset of the nozzle." -msgstr "ノズルのY軸のオフセット" +msgstr "ノズルのY軸のオフセット。" #: fdmextruder.def.json msgctxt "machine_extruder_start_code label" @@ -105,7 +105,7 @@ msgstr "エクストルーダー スタート位置X" #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_x description" msgid "The x-coordinate of the starting position when turning the extruder on." -msgstr "エクストルーダーのX座標のスタート位置" +msgstr "エクストルーダーのX座標のスタート位置。" #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_y label" @@ -115,7 +115,7 @@ msgstr "エクストルーダースタート位置Y" #: fdmextruder.def.json msgctxt "machine_extruder_start_pos_y description" msgid "The y-coordinate of the starting position when turning the extruder on." -msgstr "エクストルーダーのY座標のスタート位置" +msgstr "エクストルーダーのY座標のスタート位置。" #: fdmextruder.def.json msgctxt "machine_extruder_end_code label" @@ -145,7 +145,7 @@ msgstr "エクストルーダーエンド位置X" #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_x description" msgid "The x-coordinate of the ending position when turning the extruder off." -msgstr "エクストルーダーを切った際のX座標の最終位置" +msgstr "エクストルーダーを切った際のX座標の最終位置。" #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_y label" @@ -155,7 +155,7 @@ msgstr "エクストルーダーエンド位置Y" #: fdmextruder.def.json msgctxt "machine_extruder_end_pos_y description" msgid "The y-coordinate of the ending position when turning the extruder off." -msgstr "エクストルーダーを切った際のY座標の最終位置" +msgstr "エクストルーダーを切った際のY座標の最終位置。" #: fdmextruder.def.json msgctxt "extruder_prime_pos_z label" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index 23497053a7..c584466616 100644 --- a/resources/i18n/ja_JP/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -6,9 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"PO-Revision-Date: 2018-09-28 15:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -16,7 +15,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" +"POT-Creation-Date: \n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -38,7 +38,7 @@ msgstr "プリンターのタイプ" #: fdmprinter.def.json msgctxt "machine_name description" msgid "The name of your 3D printer model." -msgstr "3Dプリンターの機種名" +msgstr "3Dプリンターの機種名。" #: fdmprinter.def.json msgctxt "machine_show_variants label" @@ -61,7 +61,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "最初に実行するG-codeコマンドは、\nで区切ります。" +msgstr "" +"最初に実行するG-codeコマンドは、\n" +"で区切ります。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -73,7 +75,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "最後に実行するG-codeコマンドは、\nで区切ります。" +msgstr "" +"最後に実行するG-codeコマンドは、\n" +"で区切ります。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -84,7 +88,7 @@ msgstr "マテリアルGUID" #: fdmprinter.def.json msgctxt "material_guid description" msgid "GUID of the material. This is set automatically. " -msgstr "マテリアルのGUID。これは自動的に設定されます。" +msgstr "マテリアルのGUID。これは自動的に設定されます。 " #: fdmprinter.def.json msgctxt "material_diameter label" @@ -485,7 +489,7 @@ msgstr "ノズルID" #: fdmprinter.def.json msgctxt "machine_nozzle_id description" msgid "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\"." -msgstr "\"AA 0.4\"や\"BB 0.8\"などのノズルID" +msgstr "\"AA 0.4\"や\"BB 0.8\"などのノズルID。" #: fdmprinter.def.json msgctxt "machine_nozzle_size label" @@ -575,7 +579,7 @@ msgstr "最大加速度X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "X方向のモーターの最大速度。" +msgstr "X方向のモーターの最大速度" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -857,7 +861,7 @@ msgstr "サポート面のライン幅" #: fdmprinter.def.json msgctxt "support_interface_line_width description" msgid "Width of a single line of support roof or floor." -msgstr "サポートのルーフ、フロアのライン幅" +msgstr "サポートのルーフ、フロアのライン幅。" #: fdmprinter.def.json msgctxt "support_roof_line_width label" @@ -953,7 +957,7 @@ msgstr "壁の厚さ" #: fdmprinter.def.json msgctxt "wall_thickness description" msgid "The thickness of the walls in the horizontal direction. This value divided by the wall line width defines the number of walls." -msgstr "壁の厚さ。この値をラインの幅で割ることで壁の数が決まります" +msgstr "壁の厚さ。この値をラインの幅で割ることで壁の数が決まります。" #: fdmprinter.def.json msgctxt "wall_line_count label" @@ -986,7 +990,7 @@ msgstr "上部表面用エクストルーダー" #: fdmprinter.def.json msgctxt "roofing_extruder_nr description" msgid "The extruder train used for printing the top most skin. This is used in multi-extrusion." -msgstr "上部の表面印刷用のエクストルーダー。デュアルノズル印刷時に使用" +msgstr "上部の表面印刷用のエクストルーダー。デュアルノズル印刷時に使用。" #: fdmprinter.def.json msgctxt "roofing_layer_count label" @@ -997,7 +1001,7 @@ msgstr "上部表面レイヤー" #: fdmprinter.def.json msgctxt "roofing_layer_count description" msgid "The number of top most skin layers. Usually only one top most layer is sufficient to generate higher quality top surfaces." -msgstr "上部表面のレイヤー数。通常一層で綺麗に出来上がります" +msgstr "上部表面のレイヤー数。通常一層で綺麗に出来上がります。" #: fdmprinter.def.json msgctxt "top_bottom_extruder_nr label" @@ -1008,7 +1012,7 @@ msgstr "上部/底面エクストルーダー" #: fdmprinter.def.json msgctxt "top_bottom_extruder_nr description" msgid "The extruder train used for printing the top and bottom skin. This is used in multi-extrusion." -msgstr "上部と下部の表面を印刷する時に使われるエクストルーダー。デュアルノズル印刷時に使用" +msgstr "上部と下部の表面を印刷する時に使われるエクストルーダー。デュアルノズル印刷時に使用。" #: fdmprinter.def.json msgctxt "top_bottom_thickness label" @@ -1260,7 +1264,7 @@ msgstr "薄壁印刷" #: fdmprinter.def.json msgctxt "fill_outline_gaps description" msgid "Print pieces of the model which are horizontally thinner than the nozzle size." -msgstr "ノズルサイズよりも細い壁を作ります" +msgstr "ノズルサイズよりも細い壁を作ります。" #: fdmprinter.def.json msgctxt "xy_offset label" @@ -1281,7 +1285,7 @@ msgstr "初期層水平展開" #: fdmprinter.def.json msgctxt "xy_offset_layer_0 description" msgid "Amount of offset applied to all polygons in the first layer. A negative value can compensate for squishing of the first layer known as \"elephant's foot\"." -msgstr "最初のレイヤーのポリゴンに適用されるオフセットの値。マイナスの値はelephant's footと呼ばれる第一層が潰れるを現象を軽減させます" +msgstr "最初のレイヤーのポリゴンに適用されるオフセットの値。マイナスの値はelephant's footと呼ばれる第一層が潰れるを現象を軽減させます。" #: fdmprinter.def.json msgctxt "z_seam_type label" @@ -1322,7 +1326,9 @@ msgstr "ZシームX" #: fdmprinter.def.json msgctxt "z_seam_x description" msgid "The X coordinate of the position near where to start printing each part in a layer." -msgstr "レイヤー内の各印刷を開始するX座\n標の位置。" +msgstr "" +"レイヤー内の各印刷を開始するX座\n" +"標の位置。" #: fdmprinter.def.json msgctxt "z_seam_y label" @@ -1433,7 +1439,7 @@ msgstr "アイロンパターン" #: fdmprinter.def.json msgctxt "ironing_pattern description" msgid "The pattern to use for ironing top surfaces." -msgstr "アイロンのパターン" +msgstr "アイロンのパターン。" #: fdmprinter.def.json msgctxt "ironing_pattern option concentric" @@ -1456,7 +1462,7 @@ msgstr "アイロン線のスペース" #: fdmprinter.def.json msgctxt "ironing_line_spacing description" msgid "The distance between the lines of ironing." -msgstr "アイロンライン同士の距離" +msgstr "アイロンライン同士の距離。" #: fdmprinter.def.json msgctxt "ironing_flow label" @@ -1489,7 +1495,7 @@ msgstr "アイロン速度" #: fdmprinter.def.json msgctxt "speed_ironing description" msgid "The speed at which to pass over the top surface." -msgstr "上部表面通過時の速度" +msgstr "上部表面通過時の速度。" #: fdmprinter.def.json msgctxt "acceleration_ironing label" @@ -1500,7 +1506,7 @@ msgstr "アイロン加速度" #: fdmprinter.def.json msgctxt "acceleration_ironing description" msgid "The acceleration with which ironing is performed." -msgstr "アイロン時の加速度" +msgstr "アイロン時の加速度。" #: fdmprinter.def.json msgctxt "jerk_ironing label" @@ -1511,7 +1517,7 @@ msgstr "アイロンジャーク" #: fdmprinter.def.json msgctxt "jerk_ironing description" msgid "The maximum instantaneous velocity change while performing ironing." -msgstr "アイロン時の最大加速度" +msgstr "アイロン時の最大加速度。" #: fdmprinter.def.json msgctxt "infill label" @@ -1533,7 +1539,7 @@ msgstr "インフィルエクストルーダー" #: fdmprinter.def.json msgctxt "infill_extruder_nr description" msgid "The extruder train used for printing infill. This is used in multi-extrusion." -msgstr "インフィル造形時に使われるExtruder。デュアルノズルの場合に利用します" +msgstr "インフィル造形時に使われるExtruder。デュアルノズルの場合に利用します。" #: fdmprinter.def.json msgctxt "infill_sparse_density label" @@ -1700,7 +1706,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "インフィルエリア周辺に外壁を追加します。このような壁は、上層/底層ラインにたるみを作ります。つまり、一部の外壁材料の費用で同じ品質を実現するためには、必要な上層/底層スキンが少ないことを意味します。\nこの機能は、インフィルポリゴン接合と組み合わせて、構成が正しい場合、移動または引き戻しが必要なく、すべてのインフィルを1つの押出経路に接続することができます。" +msgstr "" +"インフィルエリア周辺に外壁を追加します。このような壁は、上層/底層ラインにたるみを作ります。つまり、一部の外壁材料の費用で同じ品質を実現するためには、必要な上層/底層スキンが少ないことを意味します。\n" +"この機能は、インフィルポリゴン接合と組み合わせて、構成が正しい場合、移動または引き戻しが必要なく、すべてのインフィルを1つの押出経路に接続することができます。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1803,7 +1811,9 @@ msgstr "インフィル優先" #: fdmprinter.def.json msgctxt "infill_before_walls description" msgid "Print the infill before printing the walls. Printing the walls first may lead to more accurate walls, but overhangs print worse. Printing the infill first leads to sturdier walls, but the infill pattern might sometimes show through the surface." -msgstr "壁より前にインフィルをプリントします はじめに壁をプリントするとより精密な壁になりますが、オーバーハングのプリントは悪化します\nはじめにインフィルをプリントすると丈夫な壁になりますが、インフィルの模様が時折表面から透けて表れます" +msgstr "" +"壁より前にインフィルをプリントします はじめに壁をプリントするとより精密な壁になりますが、オーバーハングのプリントは悪化します\n" +"はじめにインフィルをプリントすると丈夫な壁になりますが、インフィルの模様が時折表面から透けて表れます。" #: fdmprinter.def.json msgctxt "min_infill_area label" @@ -1938,7 +1948,7 @@ msgstr "デフォルト印刷温度" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "印刷中のデフォルトの温度。これはマテリアルの基本温度となります。他のすべての造形温度はこの値に基づいてオフセットする必要があります。" +msgstr "印刷中のデフォルトの温度。これはマテリアルの基本温度となります。他のすべての造形温度はこの値に基づいてオフセットする必要があります" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1998,7 +2008,7 @@ msgstr "ビルドプレートのデフォルト温度" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "加熱式ビルドプレートのデフォルト温度。これはビルドプレートの「基本」温度でます。他のすべての印刷温度はこの値に基づいてオフセットする必要があります。" +msgstr "加熱式ビルドプレートのデフォルト温度。これはビルドプレートの「基本」温度でます。他のすべての印刷温度はこの値に基づいてオフセットする必要があります" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -2078,7 +2088,7 @@ msgstr "引き戻し有効" #: fdmprinter.def.json msgctxt "retraction_enable description" msgid "Retract the filament when the nozzle is moving over a non-printed area. " -msgstr "ノズルが印刷しないで良い領域を移動する際にフィラメントを引き戻す。" +msgstr "ノズルが印刷しないで良い領域を移動する際にフィラメントを引き戻す。 " #: fdmprinter.def.json msgctxt "retract_at_layer_change label" @@ -2098,7 +2108,7 @@ msgstr "引き戻し距離" #: fdmprinter.def.json msgctxt "retraction_amount description" msgid "The length of material retracted during a retraction move." -msgstr "引き戻されるマテリアルの長さ" +msgstr "引き戻されるマテリアルの長さ。" #: fdmprinter.def.json msgctxt "retraction_speed label" @@ -2106,10 +2116,9 @@ msgid "Retraction Speed" msgstr "引き戻し速度" #: fdmprinter.def.json -#, fuzzy msgctxt "retraction_speed description" msgid "The speed at which the filament is retracted and primed during a retraction move." -msgstr "フィラメントが引き戻される時のスピード" +msgstr "フィラメントが引き戻される時のスピード。" #: fdmprinter.def.json msgctxt "retraction_retract_speed label" @@ -2117,10 +2126,9 @@ msgid "Retraction Retract Speed" msgstr "引き戻し速度の取り消し" #: fdmprinter.def.json -#, fuzzy msgctxt "retraction_retract_speed description" msgid "The speed at which the filament is retracted during a retraction move." -msgstr "フィラメントが引き戻される時のスピード" +msgstr "フィラメントが引き戻される時のスピード。" #: fdmprinter.def.json msgctxt "retraction_prime_speed label" @@ -2128,10 +2136,9 @@ msgid "Retraction Prime Speed" msgstr "押し戻し速度の取り消し" #: fdmprinter.def.json -#, fuzzy msgctxt "retraction_prime_speed description" msgid "The speed at which the filament is primed during a retraction move." -msgstr "フィラメントが引き戻される時のスピード" +msgstr "フィラメントが引き戻される時のスピード。" #: fdmprinter.def.json msgctxt "retraction_extra_prime_amount label" @@ -2251,7 +2258,7 @@ msgstr "印刷速度" #: fdmprinter.def.json msgctxt "speed_print description" msgid "The speed at which printing happens." -msgstr "印刷スピード" +msgstr "印刷スピード。" #: fdmprinter.def.json msgctxt "speed_infill label" @@ -2261,7 +2268,7 @@ msgstr "インフィル速度" #: fdmprinter.def.json msgctxt "speed_infill description" msgid "The speed at which infill is printed." -msgstr "インフィルを印刷する速度" +msgstr "インフィルを印刷する速度。" #: fdmprinter.def.json msgctxt "speed_wall label" @@ -2271,7 +2278,7 @@ msgstr "ウォール速度" #: fdmprinter.def.json msgctxt "speed_wall description" msgid "The speed at which the walls are printed." -msgstr "ウォールを印刷する速度" +msgstr "ウォールを印刷する速度。" #: fdmprinter.def.json msgctxt "speed_wall_0 label" @@ -2302,7 +2309,7 @@ msgstr "最上面速度" #: fdmprinter.def.json msgctxt "speed_roofing description" msgid "The speed at which top surface skin layers are printed." -msgstr "上部表面プリント時の速度" +msgstr "上部表面プリント時の速度。" #: fdmprinter.def.json msgctxt "speed_topbottom label" @@ -2312,7 +2319,7 @@ msgstr "上面/底面速度" #: fdmprinter.def.json msgctxt "speed_topbottom description" msgid "The speed at which top/bottom layers are printed." -msgstr "トップ/ボトムのレイヤーのプリント速度" +msgstr "トップ/ボトムのレイヤーのプリント速度。" #: fdmprinter.def.json msgctxt "speed_support label" @@ -2353,7 +2360,7 @@ msgstr "サポートルーフ速度" #: fdmprinter.def.json msgctxt "speed_support_roof description" msgid "The speed at which the roofs of support are printed. Printing them at lower speeds can improve overhang quality." -msgstr "ルーフとフロアのサポート材をプリントする速度 これらを低速でプリントするとオーバーハングの品質を向上できます" +msgstr "ルーフとフロアのサポート材をプリントする速度 これらを低速でプリントするとオーバーハングの品質を向上できます。" #: fdmprinter.def.json msgctxt "speed_support_bottom label" @@ -2384,7 +2391,7 @@ msgstr "移動速度" #: fdmprinter.def.json msgctxt "speed_travel description" msgid "The speed at which travel moves are made." -msgstr "移動中のスピード" +msgstr "移動中のスピード。" #: fdmprinter.def.json msgctxt "speed_layer_0 label" @@ -2394,7 +2401,7 @@ msgstr "初期レイヤー速度" #: fdmprinter.def.json msgctxt "speed_layer_0 description" msgid "The speed for the initial layer. A lower value is advised to improve adhesion to the build plate." -msgstr "一層目での速度。ビルトプレートへの接着を向上するため低速を推奨します" +msgstr "一層目での速度。ビルトプレートへの接着を向上するため低速を推奨します。" #: fdmprinter.def.json msgctxt "speed_print_layer_0 label" @@ -2404,7 +2411,7 @@ msgstr "初期レイヤー印刷速度" #: fdmprinter.def.json msgctxt "speed_print_layer_0 description" msgid "The speed of printing for the initial layer. A lower value is advised to improve adhesion to the build plate." -msgstr "一層目をプリントする速度 ビルトプレートへの接着を向上するため低速を推奨します" +msgstr "一層目をプリントする速度 ビルトプレートへの接着を向上するため低速を推奨します。" #: fdmprinter.def.json msgctxt "speed_travel_layer_0 label" @@ -2464,7 +2471,7 @@ msgstr "均一フローの最大速度" #: fdmprinter.def.json msgctxt "speed_equalize_flow_max description" msgid "Maximum print speed when adjusting the print speed in order to equalize flow." -msgstr "吐出を均一にするための調整時の最高スピード" +msgstr "吐出を均一にするための調整時の最高スピード。" #: fdmprinter.def.json msgctxt "acceleration_enabled label" @@ -2514,7 +2521,7 @@ msgstr "外壁加速度" #: fdmprinter.def.json msgctxt "acceleration_wall_0 description" msgid "The acceleration with which the outermost walls are printed." -msgstr "最も外側の壁をプリントする際の加速度" +msgstr "最も外側の壁をプリントする際の加速度。" #: fdmprinter.def.json msgctxt "acceleration_wall_x label" @@ -2535,7 +2542,7 @@ msgstr "最上面加速度" #: fdmprinter.def.json msgctxt "acceleration_roofing description" msgid "The acceleration with which top surface skin layers are printed." -msgstr "上部表面プリント時の加速度" +msgstr "上部表面プリント時の加速度。" #: fdmprinter.def.json msgctxt "acceleration_topbottom label" @@ -2555,7 +2562,7 @@ msgstr "サポート加速度" #: fdmprinter.def.json msgctxt "acceleration_support description" msgid "The acceleration with which the support structure is printed." -msgstr "サポート材プリント時の加速スピード" +msgstr "サポート材プリント時の加速スピード。" #: fdmprinter.def.json msgctxt "acceleration_support_infill label" @@ -2575,7 +2582,7 @@ msgstr "サポートインタフェース加速度" #: fdmprinter.def.json msgctxt "acceleration_support_interface description" msgid "The acceleration with which the roofs and floors of support are printed. Printing them at lower acceleration can improve overhang quality." -msgstr "サポートの上面と下面が印刷される加速度。低加速度で印刷するとオーバーハングの品質が向上します" +msgstr "サポートの上面と下面が印刷される加速度。低加速度で印刷するとオーバーハングの品質が向上します。" #: fdmprinter.def.json msgctxt "acceleration_support_roof label" @@ -2647,7 +2654,7 @@ msgstr "初期レイヤー移動加速度" #: fdmprinter.def.json msgctxt "acceleration_travel_layer_0 description" msgid "The acceleration for travel moves in the initial layer." -msgstr "最初のレイヤー時の加速度" +msgstr "最初のレイヤー時の加速度。" #: fdmprinter.def.json msgctxt "acceleration_skirt_brim label" @@ -2728,7 +2735,7 @@ msgstr "最上面ジャーク" #: fdmprinter.def.json msgctxt "jerk_roofing description" msgid "The maximum instantaneous velocity change with which top surface skin layers are printed." -msgstr "上部表面プリント時の最大加速度" +msgstr "上部表面プリント時の最大加速度。" #: fdmprinter.def.json msgctxt "jerk_topbottom label" @@ -2940,7 +2947,7 @@ msgstr "移動回避距離" #: fdmprinter.def.json msgctxt "travel_avoid_distance description" msgid "The distance between the nozzle and already printed parts when avoiding during travel moves." -msgstr "ノズルが既に印刷された部分を移動する際の間隔" +msgstr "ノズルが既に印刷された部分を移動する際の間隔。" #: fdmprinter.def.json msgctxt "start_layers_at_same_position label" @@ -3133,7 +3140,7 @@ msgstr "ヘッド持ち上げ" #: fdmprinter.def.json msgctxt "cool_lift_head description" msgid "When the minimum speed is hit because of minimum layer time, lift the head away from the print and wait the extra time until the minimum layer time is reached." -msgstr "レイヤーの最小プリント時間より早く印刷が終わった場合、ヘッド部分を持ち上げてレイヤーの最小プリント時間に到達するまで待機します" +msgstr "レイヤーの最小プリント時間より早く印刷が終わった場合、ヘッド部分を持ち上げてレイヤーの最小プリント時間に到達するまで待機します。" #: fdmprinter.def.json msgctxt "support label" @@ -3397,7 +3404,7 @@ msgstr "サポートX/Y距離" #: fdmprinter.def.json msgctxt "support_xy_distance description" msgid "Distance of the support structure from the print in the X/Y directions." -msgstr "印刷物からX/Y方向へのサポート材との距離" +msgstr "印刷物からX/Y方向へのサポート材との距離。" #: fdmprinter.def.json msgctxt "support_xy_overrides_z label" @@ -3427,7 +3434,7 @@ msgstr "最小サポートX/Y距離" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang description" msgid "Distance of the support structure from the overhang in the X/Y directions. " -msgstr "X/Y方向におけるオーバーハングからサポートまでの距離" +msgstr "X/Y方向におけるオーバーハングからサポートまでの距離。 " #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height label" @@ -3490,7 +3497,7 @@ msgstr "サポートインフィル半減回数" #: fdmprinter.def.json msgctxt "gradual_support_infill_steps description" msgid "Number of times to reduce the support infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Support Infill Density." -msgstr "天井面より下に遠ざかる際にサポートのインフィル密度が半減する回数 天井面に近い領域ほど高い密度となり、サポートのインフィル密度になります" +msgstr "天井面より下に遠ざかる際にサポートのインフィル密度が半減する回数 天井面に近い領域ほど高い密度となり、サポートのインフィル密度になります。" #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height label" @@ -3584,7 +3591,7 @@ msgstr "サポートインタフェース密度" #: fdmprinter.def.json msgctxt "support_interface_density description" msgid "Adjusts the density of the roofs and floors of the support structure. A higher value results in better overhangs, but the supports are harder to remove." -msgstr "サポート材のルーフとフロアの密度を調整します 大きな値ではオーバーハングでの成功率があがりますが、サポート材が除去しにくくなります" +msgstr "サポート材のルーフとフロアの密度を調整します 大きな値ではオーバーハングでの成功率があがりますが、サポート材が除去しにくくなります。" #: fdmprinter.def.json msgctxt "support_roof_density label" @@ -3673,7 +3680,7 @@ msgstr "サポートルーフパターン" #: fdmprinter.def.json msgctxt "support_roof_pattern description" msgid "The pattern with which the roofs of the support are printed." -msgstr "サポートのルーフが印刷されるパターン" +msgstr "サポートのルーフが印刷されるパターン。" #: fdmprinter.def.json msgctxt "support_roof_pattern option lines" @@ -3922,7 +3929,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "スカートと印刷の最初の層の間の水平距離。\nこれは最小距離です。複数のスカートラインがこの距離から外側に展開されます。" +msgstr "" +"スカートと印刷の最初の層の間の水平距離。\n" +"これは最小距離です。複数のスカートラインがこの距離から外側に展開されます。" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4162,7 +4171,7 @@ msgstr "ラフト上層層印刷加速度" #: fdmprinter.def.json msgctxt "raft_surface_acceleration description" msgid "The acceleration with which the top raft layers are printed." -msgstr "ラフトのトップ印刷時の加速度" +msgstr "ラフトのトップ印刷時の加速度。" #: fdmprinter.def.json msgctxt "raft_interface_acceleration label" @@ -4172,7 +4181,7 @@ msgstr "ラフト中間層印刷加速度" #: fdmprinter.def.json msgctxt "raft_interface_acceleration description" msgid "The acceleration with which the middle raft layer is printed." -msgstr "ラフトの中間層印刷時の加速度" +msgstr "ラフトの中間層印刷時の加速度。" #: fdmprinter.def.json msgctxt "raft_base_acceleration label" @@ -4182,7 +4191,7 @@ msgstr "ラフトベース印刷加速度" #: fdmprinter.def.json msgctxt "raft_base_acceleration description" msgid "The acceleration with which the base raft layer is printed." -msgstr "ラフトの底面印刷時の加速度" +msgstr "ラフトの底面印刷時の加速度。" #: fdmprinter.def.json msgctxt "raft_jerk label" @@ -4202,7 +4211,7 @@ msgstr "ラフト上層印刷ジャーク" #: fdmprinter.def.json msgctxt "raft_surface_jerk description" msgid "The jerk with which the top raft layers are printed." -msgstr "トップラフト層印刷時のジャーク" +msgstr "トップラフト層印刷時のジャーク。" #: fdmprinter.def.json msgctxt "raft_interface_jerk label" @@ -4212,7 +4221,7 @@ msgstr "ラフト中間層印刷ジャーク" #: fdmprinter.def.json msgctxt "raft_interface_jerk description" msgid "The jerk with which the middle raft layer is printed." -msgstr "ミドルラフト層印刷時のジャーク" +msgstr "ミドルラフト層印刷時のジャーク。" #: fdmprinter.def.json msgctxt "raft_base_jerk label" @@ -4222,7 +4231,7 @@ msgstr "ラフトベース印刷ジャーク" #: fdmprinter.def.json msgctxt "raft_base_jerk description" msgid "The jerk with which the base raft layer is printed." -msgstr "ベースラフト層印刷時のジャーク" +msgstr "ベースラフト層印刷時のジャーク。" #: fdmprinter.def.json msgctxt "raft_fan_speed label" @@ -4262,7 +4271,7 @@ msgstr "ラフトベースファン速度" #: fdmprinter.def.json msgctxt "raft_base_fan_speed description" msgid "The fan speed for the base raft layer." -msgstr "ベースラフト層印刷時のファン速度" +msgstr "ベースラフト層印刷時のファン速度。" #: fdmprinter.def.json msgctxt "dual label" @@ -4272,7 +4281,7 @@ msgstr "デュアルエクストルーダー" #: fdmprinter.def.json msgctxt "dual description" msgid "Settings used for printing with multiple extruders." -msgstr "デュアルエクストルーダーで印刷するための設定" +msgstr "デュアルエクストルーダーで印刷するための設定。" #: fdmprinter.def.json msgctxt "prime_tower_enable label" @@ -4282,7 +4291,7 @@ msgstr "プライムタワーを有効にする" #: fdmprinter.def.json msgctxt "prime_tower_enable description" msgid "Print a tower next to the print which serves to prime the material after each nozzle switch." -msgstr "印刷物の横にタワーを造形して、ノズル交換後にフィラメントの調整をします" +msgstr "印刷物の横にタワーを造形して、ノズル交換後にフィラメントの調整をします。" #: fdmprinter.def.json msgctxt "prime_tower_circular label" @@ -4312,7 +4321,7 @@ msgstr "プライムタワー最小容積" #: fdmprinter.def.json msgctxt "prime_tower_min_volume description" msgid "The minimum volume for each layer of the prime tower in order to purge enough material." -msgstr "プライムタワーの各層の最小容積" +msgstr "プライムタワーの各層の最小容積。" #: fdmprinter.def.json msgctxt "prime_tower_position_x label" @@ -4342,7 +4351,7 @@ msgstr "プライムタワーのフロー" #: fdmprinter.def.json msgctxt "prime_tower_flow description" msgid "Flow compensation: the amount of material extruded is multiplied by this value." -msgstr "吐出量: マテリアルの吐出量はこの値の乗算で計算されます" +msgstr "吐出量: マテリアルの吐出量はこの値の乗算で計算されます。" #: fdmprinter.def.json msgctxt "prime_tower_wipe_enabled label" @@ -4382,7 +4391,7 @@ msgstr "Ooze Shield距離" #: fdmprinter.def.json msgctxt "ooze_shield_dist description" msgid "Distance of the ooze shield from the print, in the X/Y directions." -msgstr "壁(ooze shield)の造形物からの距離" +msgstr "壁(ooze shield)の造形物からの距離。" #: fdmprinter.def.json msgctxt "meshfix label" @@ -4522,7 +4531,7 @@ msgstr "インフィルメッシュの順序" #: fdmprinter.def.json msgctxt "infill_mesh_order description" msgid "Determines which infill mesh is inside the infill of another infill mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes." -msgstr "他のインフィルメッシュのインフィル内にあるインフィルメッシュを決定します。優先度の高いのインフィルメッシュは、低いメッシュと通常のメッシュのインフィルを変更します" +msgstr "他のインフィルメッシュのインフィル内にあるインフィルメッシュを決定します。優先度の高いのインフィルメッシュは、低いメッシュと通常のメッシュのインフィルを変更します。" #: fdmprinter.def.json msgctxt "cutting_mesh label" @@ -4790,7 +4799,7 @@ msgstr "上部表面パターン" #: fdmprinter.def.json msgctxt "roofing_pattern description" msgid "The pattern of the top most layers." -msgstr "上層のパターン" +msgstr "上層のパターン。" #: fdmprinter.def.json msgctxt "roofing_pattern option lines" @@ -4932,7 +4941,7 @@ msgstr "ドラフトシールドとX/Yの距離" #: fdmprinter.def.json msgctxt "draft_shield_dist description" msgid "Distance of the draft shield from the print, in the X/Y directions." -msgstr "ドラフトシールドと造形物のX / Y方向の距離" +msgstr "ドラフトシールドと造形物のX / Y方向の距離。" #: fdmprinter.def.json msgctxt "draft_shield_height_limitation label" @@ -5085,7 +5094,7 @@ msgstr "スパゲッティインフィルの手順" #: fdmprinter.def.json msgctxt "spaghetti_infill_stepped description" msgid "Whether to print spaghetti infill in steps or extrude all the infill filament at the end of the print." -msgstr "スパゲッティインフィルをプリントするか印刷の最後に全てのインフィルフィラメントを押し出すか" +msgstr "スパゲッティインフィルをプリントするか印刷の最後に全てのインフィルフィラメントを押し出すか。" #: fdmprinter.def.json msgctxt "spaghetti_max_infill_angle label" @@ -5107,7 +5116,7 @@ msgstr "スパゲッティインフィル最大高さ" #: fdmprinter.def.json msgctxt "spaghetti_max_height description" msgid "The maximum height of inside space which can be combined and filled from the top." -msgstr "内部空間の上から結合して埋め込むことができる最大の高さ" +msgstr "内部空間の上から結合して埋め込むことができる最大の高さ。" #: fdmprinter.def.json msgctxt "spaghetti_inset label" @@ -5140,7 +5149,7 @@ msgstr "スパゲッティインフィル余剰調整" #: fdmprinter.def.json msgctxt "spaghetti_infill_extra_volume description" msgid "A correction term to adjust the total volume being extruded each time when filling spaghetti." -msgstr "スパゲッティをプリントする際に毎回行なう吐出量の調整" +msgstr "スパゲッティをプリントする際に毎回行なう吐出量の調整。" #: fdmprinter.def.json msgctxt "support_conical_enabled label" From d61dd4987b4260044dce4b41e3c6900fa8a738be Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 28 Sep 2018 16:17:35 +0200 Subject: [PATCH 121/423] [translate] Some small corrections for 3.5 Dutch (nl_NL). --- resources/i18n/nl_NL/cura.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index 23bcf17c19..ac498a9236 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -72,12 +72,12 @@ msgstr "Wijzigingenlogboek Weergeven" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" -msgstr "Actieve instellingen vlakken" +msgstr "Actieve instellingen platmaken" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:35 msgctxt "@info:status" msgid "Profile has been flattened & activated." -msgstr "Profiel is gevlakt en geactiveerd." +msgstr "Profiel is platgemaakt en geactiveerd." #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 msgctxt "@item:inmenu" @@ -129,7 +129,7 @@ msgstr "Gecomprimeerd G-code-bestand" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "GCodeWriter ondersteunt geen tekstmodus." +msgstr "GCodeGzWriter ondersteunt geen tekstmodus." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -144,7 +144,7 @@ msgstr "Voorbereiden" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." msgid "Save to Removable Drive" -msgstr "Opslaan op verwisselbaar station" +msgstr "Op te slaan op verwisselbaar station" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:24 #, python-brace-format @@ -1492,7 +1492,7 @@ msgstr "Terug" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "De-installeren bevestigen " +msgstr "Bevestig de-installeren " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1797,7 +1797,7 @@ msgstr "Wachten op: Niet-beschikbare printer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "Wachten op: Eerst beschikbaar" +msgstr "Wachten op: Eerst beschikbare" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" @@ -1807,12 +1807,12 @@ msgstr "Wachten op: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "Naar boven verplaatsen" +msgstr "Plaats bovenaan" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "Printtaak naar boven verplaatsen" +msgstr "Plaats printtaak bovenaan" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." @@ -2667,7 +2667,7 @@ msgstr "Aangepast" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always ask me this" -msgstr "Altijd vragen" +msgstr "Dit altijd vragen" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 msgctxt "@option:discardOrKeep" From 8aa2e0193c913bf80e605778f5c68d0cc9e9fefd Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 28 Sep 2018 16:33:42 +0200 Subject: [PATCH 122/423] [translate] Even smaller corrections for 3.5 Dutch (nl_NL). --- resources/i18n/nl_NL/fdmprinter.def.json.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index 85d7a6e949..bbcef2b8c7 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -1158,12 +1158,12 @@ msgstr "Hiermee wordt de doorvoer gecompenseerd voor delen van binnenwanden die #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "Minimale Wanddoorvoer" +msgstr "Minimale Wand-doorvoer" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "Minimaal toegestane doorvoerpercentage voor een wandlijn. Compensatie van de overlapping van wanden zorgt voor een kortere doorvoer van een wand als deze dicht bij een bestaande wand ligt. Wanden waarbij de doorvoerwaarde lager is dan deze waarde, worden vervangen door een beweging. Wanneer u deze instelling gebruikt, moet u compensatie van overlapping van wanden inschakelen en de buitenwand printen voordat u de binnenwanden print." +msgstr "Minimaal toegestane doorvoerpercentage voor een wandlijn. Compensatie van de overlapping van wanden zorgt voor een kleinere doorvoer tijdens het printen van een wand als deze dicht bij een bestaande wand ligt. Wanden waarbij de doorvoerwaarde lager is dan deze waarde, worden vervangen door een beweging. Wanneer u deze instelling gebruikt, moet u compensatie van overlapping van wanden inschakelen en de buitenwand printen voordat u de binnenwanden print." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" From 7c01e632df5dc9e335d034c5c2e345e6826375e2 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 28 Sep 2018 17:00:50 +0200 Subject: [PATCH 123/423] Rework printer cards (cont) Contributes to CL-1051 --- .../resources/qml/HorizontalLine.qml | 21 + .../resources/qml/PrintJobInfoBlock.qml | 47 +- .../resources/qml/PrinterCard.qml | 738 ++++-------------- .../resources/qml/PrinterCardDetails.qml | 370 +++++++++ .../resources/qml/PrinterCardProgressBar.qml | 1 + .../resources/qml/PrinterFamilyPill.qml | 5 +- .../resources/qml/PrinterInfoBlock.qml | 83 ++ 7 files changed, 641 insertions(+), 624 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml diff --git a/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml new file mode 100644 index 0000000000..a15fb81963 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml @@ -0,0 +1,21 @@ +import QtQuick 2.3 +import QtQuick.Controls 2.0 +import UM 1.3 as UM + +Item { + id: root; + property var enabled: true; + width: parent.width; + height: childrenRect.height; + + Rectangle { + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + color: root.enabled ? UM.Theme.getColor("monitor_lining_inactive") : UM.Theme.getColor("monitor_lining_active"); + height: UM.Theme.getSize("default_lining").height; + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 3e3f962908..8a6a6d297c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -218,49 +218,10 @@ Item { } } - // Printer family pills - Row { - id: printerFamilyPills; - visible: printJob; - spacing: Math.round(0.5 * UM.Theme.getSize("default_margin").width); - anchors { - left: parent.left; - right: parent.right; - bottom: extrudersInfo.top; - bottomMargin: UM.Theme.getSize("default_margin").height; - } - height: childrenRect.height; - Repeater { - model: printJob ? printJob.compatibleMachineFamilies : []; - delegate: PrinterFamilyPill { - text: modelData; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! - padding: 3 * screenScaleFactor; // TODO: Theme! - } - } - } - - // Print core & material config - Row { - id: extrudersInfo; - anchors { - bottom: parent.bottom; - left: parent.left; - right: parent.right; - rightMargin: UM.Theme.getSize("default_margin").width; - } - height: childrenRect.height; - spacing: UM.Theme.getSize("default_margin").width; - PrintCoreConfiguration { - id: leftExtruderInfo; - width: Math.round(parent.width / 2) * screenScaleFactor; - printCoreConfiguration: printJob !== null ? printJob.configuration.extruderConfigurations[0] : null; - } - PrintCoreConfiguration { - id: rightExtruderInfo; - width: Math.round(parent.width / 2) * screenScaleFactor; - printCoreConfiguration: printJob !== null ? printJob.configuration.extruderConfigurations[1] : null; - } + PrinterInfoBlock { + printer: root.printJob.assignedPrinter; + printJob: root.printJob; + anchors.bottom: parent.bottom; } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 906774d2c2..3eec298bd2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -42,611 +42,193 @@ Item { layer.enabled: true width: parent.width - 2 * shadowRadius; - // Main card - Rectangle { - id: mainCard; - anchors.top: parent.top; - color: "pink"; - height: childrenRect.height; + Column { width: parent.width; + height: childrenRect.height; - // Machine icon + // Main card Item { - id: machineIcon; - anchors { - left: parent.left; - leftMargin: UM.Theme.getSize("wide_margin").width; - margins: UM.Theme.getSize("default_margin").width; - top: parent.top; - } - height: 58; - width: 58; + id: mainCard; + // color: "pink"; + height: childrenRect.height; + width: parent.width; - // Skeleton - Rectangle { + // Machine icon + Item { + id: machineIcon; anchors { - fill: parent; - // margins: Math.round(UM.Theme.getSize("default_margin").width / 4); + left: parent.left; + leftMargin: UM.Theme.getSize("wide_margin").width; + margins: UM.Theme.getSize("default_margin").width; + top: parent.top; } - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! - radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! - visible: !printer; - } + height: 58; + width: 58; - // Content - UM.RecolorImage { - anchors.centerIn: parent; - color: { - if (printer.state == "disabled") { + // Skeleton + Rectangle { + anchors { + fill: parent; + // margins: Math.round(UM.Theme.getSize("default_margin").width / 4); + } + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + visible: !printer; + } + + // Content + UM.RecolorImage { + anchors.centerIn: parent; + color: { + if (printer.state == "disabled") { + return UM.Theme.getColor("monitor_tab_text_inactive"); + } + if (printer.activePrintJob != undefined) { + return UM.Theme.getColor("primary"); + } return UM.Theme.getColor("monitor_tab_text_inactive"); } - if (printer.activePrintJob != undefined) { - return UM.Theme.getColor("primary"); + height: sourceSize.height; + source: { + switch(printer.type) { + case "Ultimaker 3": + return "../svg/UM3-icon.svg"; + case "Ultimaker 3 Extended": + return "../svg/UM3x-icon.svg"; + case "Ultimaker S5": + return "../svg/UMs5-icon.svg"; + } } - return UM.Theme.getColor("monitor_tab_text_inactive"); - } - height: sourceSize.height; - source: { - switch(printer.type) { - case "Ultimaker 3": - return "../svg/UM3-icon.svg"; - case "Ultimaker 3 Extended": - return "../svg/UM3x-icon.svg"; - case "Ultimaker S5": - return "../svg/UMs5-icon.svg"; - } - } - visible: printer; - width: sourceSize.width; - } - } - - // Printer info - Item { - id: printerInfo; - height: childrenRect.height - anchors { - left: machineIcon.right; - leftMargin: UM.Theme.getSize("default_margin").width; - right: collapseIcon.left; - rightMargin: UM.Theme.getSize("default_margin").width; - verticalCenter: machineIcon.verticalCenter; - } - - // Machine name - Item { - id: machineNameLabel; - height: UM.Theme.getSize("monitor_tab_text_line").height; - width: parent.width * 0.3; - - // Skeleton - Rectangle { - anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! - visible: !printer; - } - - // Actual content - Label { - anchors.fill: parent; - elide: Text.ElideRight; - font: UM.Theme.getFont("default_bold"); - text: printer.name; visible: printer; - width: parent.width; + width: sourceSize.width; } } - // Job name + // Printer info Item { - id: activeJobLabel; + id: printerInfo; + height: childrenRect.height anchors { - top: machineNameLabel.bottom; - topMargin: Math.round(UM.Theme.getSize("default_margin").height / 2); - } - height: UM.Theme.getSize("monitor_tab_text_line").height; - width: parent.width * 0.75; - - - // Skeleton - Rectangle { - anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! - visible: !printer; + left: machineIcon.right; + leftMargin: UM.Theme.getSize("default_margin").width; + right: collapseIcon.left; + rightMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: machineIcon.verticalCenter; } - // Actual content - Label { - anchors.fill: parent; - color: UM.Theme.getColor("monitor_tab_text_inactive"); - elide: Text.ElideRight; - font: UM.Theme.getFont("default"); - text: { - if (printer.state == "disabled") { - return catalog.i18nc("@label", "Not available"); - } else if (printer.state == "unreachable") { - return catalog.i18nc("@label", "Unreachable"); - } - if (printer.activePrintJob != null) { - return printer.activePrintJob.name; - } - return catalog.i18nc("@label", "Available"); + // Machine name + Item { + id: machineNameLabel; + height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width * 0.3; + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + visible: !printer; } - visible: printer; + + // Actual content + Label { + anchors.fill: parent; + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: printer.name; + visible: printer; + width: parent.width; + } + } + + // Job name + Item { + id: activeJobLabel; + anchors { + top: machineNameLabel.bottom; + topMargin: Math.round(UM.Theme.getSize("default_margin").height / 2); + } + height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width * 0.75; + + + // Skeleton + Rectangle { + anchors.fill: parent; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + visible: !printer; + } + + // Actual content + Label { + anchors.fill: parent; + color: UM.Theme.getColor("monitor_tab_text_inactive"); + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + text: { + if (printer.state == "disabled") { + return catalog.i18nc("@label", "Not available"); + } else if (printer.state == "unreachable") { + return catalog.i18nc("@label", "Unreachable"); + } + if (printer.activePrintJob != null) { + return printer.activePrintJob.name; + } + return catalog.i18nc("@label", "Available"); + } + visible: printer; + } + } + } + + // Collapse icon + UM.RecolorImage { + id: collapseIcon; + anchors { + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + verticalCenter: parent.verticalCenter; + } + color: UM.Theme.getColor("text"); + height: 15; // TODO: Theme! + source: root.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom"); + sourceSize.height: height; + sourceSize.width: width; + visible: printer; + width: 15; // TODO: Theme! + } + + MouseArea { + anchors.fill: parent; + enabled: printer; + onClicked: { + console.log(model.index) + if (root.collapsed && model) { + printerList.currentIndex = model.index; + } else { + printerList.currentIndex = -1; + } + } + } + + Connections { + target: printerList + onCurrentIndexChanged: { + root.collapsed = printerList.currentIndex != model.index; } } } - // Collapse icon - UM.RecolorImage { - id: collapseIcon; - anchors { - right: parent.right; - rightMargin: UM.Theme.getSize("default_margin").width; - verticalCenter: parent.verticalCenter; - } - color: UM.Theme.getColor("text"); - height: 15; // TODO: Theme! - source: root.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom"); - sourceSize.height: height; - sourceSize.width: width; + // Detailed card + PrinterCardDetails { + collapsed: root.collapsed; + printer: printer; visible: printer; - width: 15; // TODO: Theme! } - MouseArea { - anchors.fill: parent; - enabled: printer; - onClicked: { - console.log(printerInfo.height) - if (root.collapsed && model) { - printerList.currentIndex = model.index; - } else { - printerList.currentIndex = -1; - } - } + // Progress bar + PrinterCardProgressBar { + visible: printer && printer.activePrintJob != null && printer.activePrintJob != undefined; } - - Connections { - target: printerList - onCurrentIndexChanged: { - root.collapsed = printerList.currentIndex != model.index; - } - } - } - - // Detailed card - Rectangle { - width: parent.width; - height: 0; - anchors.top: mainCard.bottom; - anchors.bottom: progressBar.top; - } - - // Progress bar - PrinterCardProgressBar { - id: progressBar; - anchors { - bottom: parent.bottom; - } - visible: printer && printer.activePrintJob != null && printer.activePrintJob != undefined; - width: parent.width; } } } - - - - - - - - - - - - - - - - - - // Item - // { - // id: detailedInfo - // property var printJob: printer.activePrintJob - // visible: height == childrenRect.height - // anchors.top: printerInfo.bottom - // width: parent.width - // height: !root.collapsed ? childrenRect.height : 0 - // opacity: visible ? 1 : 0 - // Behavior on height { NumberAnimation { duration: 100 } } - // Behavior on opacity { NumberAnimation { duration: 100 } } - // Rectangle - // { - // id: topSpacer - // color: - // { - // if(printer.state == "disabled") - // { - // return UM.Theme.getColor("monitor_lining_inactive") - // } - // return UM.Theme.getColor("viewport_background") - // } - // // UM.Theme.getColor("viewport_background") - // height: 1 - // anchors - // { - // left: parent.left - // right: parent.right - // margins: UM.Theme.getSize("default_margin").width - // top: parent.top - // topMargin: UM.Theme.getSize("default_margin").width - // } - // } - // PrinterFamilyPill - // { - // id: printerFamilyPill - // color: - // { - // if(printer.state == "disabled") - // { - // return "transparent" - // } - // return UM.Theme.getColor("viewport_background") - // } - // anchors.top: topSpacer.bottom - // anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - // text: printer.type - // anchors.left: parent.left - // anchors.leftMargin: UM.Theme.getSize("default_margin").width - // padding: 3 - // } - // Row - // { - // id: extrudersInfo - // anchors.top: printerFamilyPill.bottom - // anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - // anchors.left: parent.left - // anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width - // anchors.right: parent.right - // anchors.rightMargin: 2 * UM.Theme.getSize("default_margin").width - // height: childrenRect.height - // spacing: UM.Theme.getSize("default_margin").width - - // PrintCoreConfiguration - // { - // id: leftExtruderInfo - // width: Math.round(parent.width / 2) - // printCoreConfiguration: printer.printerConfiguration.extruderConfigurations[0] - // } - - // PrintCoreConfiguration - // { - // id: rightExtruderInfo - // width: Math.round(parent.width / 2) - // printCoreConfiguration: printer.printerConfiguration.extruderConfigurations[1] - // } - // } - - // Rectangle - // { - // id: jobSpacer - // color: UM.Theme.getColor("viewport_background") - // height: 2 - // anchors - // { - // left: parent.left - // right: parent.right - // margins: UM.Theme.getSize("default_margin").width - // top: extrudersInfo.bottom - // topMargin: 2 * UM.Theme.getSize("default_margin").height - // } - // } - - // Item - // { - // id: jobInfo - // property var showJobInfo: printer.activePrintJob != null && printer.activePrintJob.state != "queued" - - // anchors.top: jobSpacer.bottom - // anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - // anchors.left: parent.left - // anchors.right: parent.right - // anchors.margins: UM.Theme.getSize("default_margin").width - // anchors.leftMargin: 2 * UM.Theme.getSize("default_margin").width - // height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height: 0 - // visible: showJobInfo - // Label - // { - // id: printJobName - // text: printer.activePrintJob != null ? printer.activePrintJob.name : "" - // font: UM.Theme.getFont("default_bold") - // anchors.left: parent.left - // anchors.right: contextButton.left - // anchors.rightMargin: UM.Theme.getSize("default_margin").width - // elide: Text.ElideRight - // } - // Label - // { - // id: ownerName - // anchors.top: printJobName.bottom - // text: printer.activePrintJob != null ? printer.activePrintJob.owner : "" - // font: UM.Theme.getFont("default") - // opacity: 0.6 - // width: parent.width - // elide: Text.ElideRight - // } - - // function switchPopupState() - // { - // popup.visible ? popup.close() : popup.open() - // } - - // Button - // { - // id: contextButton - // text: "\u22EE" //Unicode; Three stacked points. - // width: 35 - // height: width - // anchors - // { - // right: parent.right - // top: parent.top - // } - // hoverEnabled: true - - // background: Rectangle - // { - // opacity: contextButton.down || contextButton.hovered ? 1 : 0 - // width: contextButton.width - // height: contextButton.height - // radius: 0.5 * width - // color: UM.Theme.getColor("viewport_background") - // } - // contentItem: Label - // { - // text: contextButton.text - // color: UM.Theme.getColor("monitor_tab_text_inactive") - // font.pixelSize: 25 - // verticalAlignment: Text.AlignVCenter - // horizontalAlignment: Text.AlignHCenter - // } - - // onClicked: parent.switchPopupState() - // } - - // Popup - // { - // // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property - // id: popup - // clip: true - // closePolicy: Popup.CloseOnPressOutside - // x: (parent.width - width) + 26 * screenScaleFactor - // y: contextButton.height - 5 * screenScaleFactor // Because shadow - // width: 182 * screenScaleFactor - // height: contentItem.height + 2 * padding - // visible: false - // padding: 5 * screenScaleFactor // Because shadow - - // transformOrigin: Popup.Top - // contentItem: Item - // { - // width: popup.width - // height: childrenRect.height + 36 * screenScaleFactor - // anchors.topMargin: 10 * screenScaleFactor - // anchors.bottomMargin: 10 * screenScaleFactor - // Button - // { - // id: pauseButton - // text: printer.activePrintJob != null && printer.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") - // onClicked: - // { - // if(printer.activePrintJob.state == "paused") - // { - // printer.activePrintJob.setState("print") - // } - // else if(printer.activePrintJob.state == "printing") - // { - // printer.activePrintJob.setState("pause") - // } - // popup.close() - // } - // width: parent.width - // enabled: printer.activePrintJob != null && ["paused", "printing"].indexOf(printer.activePrintJob.state) >= 0 - // visible: enabled - // anchors.top: parent.top - // anchors.topMargin: 18 * screenScaleFactor - // height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor - // hoverEnabled: true - // background: Rectangle - // { - // opacity: pauseButton.down || pauseButton.hovered ? 1 : 0 - // color: UM.Theme.getColor("viewport_background") - // } - // contentItem: Label - // { - // text: pauseButton.text - // horizontalAlignment: Text.AlignLeft - // verticalAlignment: Text.AlignVCenter - // } - // } - - // Button - // { - // id: abortButton - // text: catalog.i18nc("@label", "Abort") - // onClicked: - // { - // abortConfirmationDialog.visible = true; - // popup.close(); - // } - // width: parent.width - // height: 39 * screenScaleFactor - // anchors.top: pauseButton.bottom - // hoverEnabled: true - // enabled: printer.activePrintJob != null && ["paused", "printing", "pre_print"].indexOf(printer.activePrintJob.state) >= 0 - // background: Rectangle - // { - // opacity: abortButton.down || abortButton.hovered ? 1 : 0 - // color: UM.Theme.getColor("viewport_background") - // } - // contentItem: Label - // { - // text: abortButton.text - // horizontalAlignment: Text.AlignLeft - // verticalAlignment: Text.AlignVCenter - // } - // } - - // MessageDialog - // { - // id: abortConfirmationDialog - // title: catalog.i18nc("@window:title", "Abort print") - // icon: StandardIcon.Warning - // text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(printer.activePrintJob.name) - // standardButtons: StandardButton.Yes | StandardButton.No - // Component.onCompleted: visible = false - // onYes: printer.activePrintJob.setState("abort") - // } - // } - - // background: Item - // { - // width: popup.width - // height: popup.height - - // DropShadow - // { - // anchors.fill: pointedRectangle - // radius: 5 - // color: "#3F000000" // 25% shadow - // source: pointedRectangle - // transparentBorder: true - // verticalOffset: 2 - // } - - // Item - // { - // id: pointedRectangle - // width: parent.width - 10 * screenScaleFactor // Because of the shadow - // height: parent.height - 10 * screenScaleFactor // Because of the shadow - // anchors.horizontalCenter: parent.horizontalCenter - // anchors.verticalCenter: parent.verticalCenter - - // Rectangle - // { - // id: point - // height: 14 * screenScaleFactor - // width: 14 * screenScaleFactor - // color: UM.Theme.getColor("setting_control") - // transform: Rotation { angle: 45} - // anchors.right: bloop.right - // anchors.rightMargin: 24 - // y: 1 - // } - - // Rectangle - // { - // id: bloop - // color: UM.Theme.getColor("setting_control") - // width: parent.width - // anchors.top: parent.top - // anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point - // anchors.bottom: parent.bottom - // anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow - // } - // } - // } - - // exit: Transition - // { - // // This applies a default NumberAnimation to any changes a state change makes to x or y properties - // NumberAnimation { property: "visible"; duration: 75; } - // } - // enter: Transition - // { - // // This applies a default NumberAnimation to any changes a state change makes to x or y properties - // NumberAnimation { property: "visible"; duration: 75; } - // } - - // onClosed: visible = false - // onOpened: visible = true - // } - - // Image - // { - // id: printJobPreview - // source: printer.activePrintJob != null ? printer.activePrintJob.previewImageUrl : "" - // anchors.top: ownerName.bottom - // anchors.horizontalCenter: parent.horizontalCenter - // width: parent.width / 2 - // height: width - // opacity: - // { - // if(printer.activePrintJob == null) - // { - // return 1.0 - // } - - // switch(printer.activePrintJob.state) - // { - // case "wait_cleanup": - // case "wait_user_action": - // case "paused": - // return 0.5 - // default: - // return 1.0 - // } - // } - - - // } - - // UM.RecolorImage - // { - // id: statusImage - // anchors.centerIn: printJobPreview - // source: - // { - // if(printer.activePrintJob == null) - // { - // return "" - // } - // switch(printer.activePrintJob.state) - // { - // case "paused": - // return "../svg/paused-icon.svg" - // case "wait_cleanup": - // if(printer.activePrintJob.timeElapsed < printer.activePrintJob.timeTotal) - // { - // return "../svg/aborted-icon.svg" - // } - // return "../svg/approved-icon.svg" - // case "wait_user_action": - // return "../svg/aborted-icon.svg" - // default: - // return "" - // } - // } - // visible: source != "" - // width: 0.5 * printJobPreview.width - // height: 0.5 * printJobPreview.height - // sourceSize.width: width - // sourceSize.height: height - // color: "black" - // } - - // CameraButton - // { - // id: showCameraButton - // iconSource: "../svg/camera-icon.svg" - // anchors - // { - // left: parent.left - // bottom: printJobPreview.bottom - // } - // } - // } - // } - // } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml new file mode 100644 index 0000000000..8cc10b5b6b --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -0,0 +1,370 @@ +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import QtQuick.Controls 1.4 as LegacyControls +import UM 1.3 as UM + +Item { + id: root; + + property var printer: null; + property var printJob: printer.activePrintJob; + property var collapsed: true; + + Behavior on height { NumberAnimation { duration: 100 } } + Behavior on opacity { NumberAnimation { duration: 100 } } + + width: parent.width; + height: collapsed ? 0 : childrenRect.height; + opacity: collapsed ? 0 : 1; + + Column { + height: childrenRect.height; + width: parent.width; + + spacing: UM.Theme.getSize("default_margin").height; + + HorizontalLine { enabled: printer.state !== "disabled" } + + PrinterInfoBlock { + printer: root.printer; + printJob: root.printer.activePrintJob; + } + + HorizontalLine { enabled: printer.state !== "disabled" } + + Rectangle { + color: "orange"; + width: parent.width; + height: 100; + } + + Item { + id: jobInfoSection; + + property var job: root.printer ? root.printer.activePrintJob : null; + + Component.onCompleted: { + console.log(job) + } + height: visible ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height : 0; + width: parent.width; + visible: job && job.state != "queued"; + + anchors.left: parent.left; + // anchors.right: contextButton.left; + // anchors.rightMargin: UM.Theme.getSize("default_margin").width; + + Label { + id: printJobName; + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: job ? job.name : ""; + } + + Label { + id: ownerName; + anchors.top: job.bottom; + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + opacity: 0.6; + text: job ? job.owner : ""; + width: parent.width; + } + } + } +} + + +// Item { +// id: jobInfo; +// property var showJobInfo: { +// return printer.activePrintJob != null && printer.activePrintJob.state != "queued" +// } + +// // anchors { +// // top: jobSpacer.bottom +// // topMargin: 2 * UM.Theme.getSize("default_margin").height +// // left: parent.left +// // right: parent.right +// // margins: UM.Theme.getSize("default_margin").width +// // leftMargin: 2 * UM.Theme.getSize("default_margin").width +// // } + +// height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height : 0; +// visible: showJobInfo; + + +// function switchPopupState() +// { +// popup.visible ? popup.close() : popup.open() +// } + +// Button +// { +// id: contextButton +// text: "\u22EE" //Unicode; Three stacked points. +// width: 35 +// height: width +// anchors +// { +// right: parent.right +// top: parent.top +// } +// hoverEnabled: true + +// background: Rectangle +// { +// opacity: contextButton.down || contextButton.hovered ? 1 : 0 +// width: contextButton.width +// height: contextButton.height +// radius: 0.5 * width +// color: UM.Theme.getColor("viewport_background") +// } +// contentItem: Label +// { +// text: contextButton.text +// color: UM.Theme.getColor("monitor_tab_text_inactive") +// font.pixelSize: 25 +// verticalAlignment: Text.AlignVCenter +// horizontalAlignment: Text.AlignHCenter +// } + +// onClicked: parent.switchPopupState() +// } + +// Popup +// { +// // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property +// id: popup +// clip: true +// closePolicy: Popup.CloseOnPressOutside +// x: (parent.width - width) + 26 * screenScaleFactor +// y: contextButton.height - 5 * screenScaleFactor // Because shadow +// width: 182 * screenScaleFactor +// height: contentItem.height + 2 * padding +// visible: false +// padding: 5 * screenScaleFactor // Because shadow + +// transformOrigin: Popup.Top +// contentItem: Item +// { +// width: popup.width +// height: childrenRect.height + 36 * screenScaleFactor +// anchors.topMargin: 10 * screenScaleFactor +// anchors.bottomMargin: 10 * screenScaleFactor +// Button +// { +// id: pauseButton +// text: printer.activePrintJob != null && printer.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") +// onClicked: +// { +// if(printer.activePrintJob.state == "paused") +// { +// printer.activePrintJob.setState("print") +// } +// else if(printer.activePrintJob.state == "printing") +// { +// printer.activePrintJob.setState("pause") +// } +// popup.close() +// } +// width: parent.width +// enabled: printer.activePrintJob != null && ["paused", "printing"].indexOf(printer.activePrintJob.state) >= 0 +// visible: enabled +// anchors.top: parent.top +// anchors.topMargin: 18 * screenScaleFactor +// height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor +// hoverEnabled: true +// background: Rectangle +// { +// opacity: pauseButton.down || pauseButton.hovered ? 1 : 0 +// color: UM.Theme.getColor("viewport_background") +// } +// contentItem: Label +// { +// text: pauseButton.text +// horizontalAlignment: Text.AlignLeft +// verticalAlignment: Text.AlignVCenter +// } +// } + +// Button +// { +// id: abortButton +// text: catalog.i18nc("@label", "Abort") +// onClicked: +// { +// abortConfirmationDialog.visible = true; +// popup.close(); +// } +// width: parent.width +// height: 39 * screenScaleFactor +// anchors.top: pauseButton.bottom +// hoverEnabled: true +// enabled: printer.activePrintJob != null && ["paused", "printing", "pre_print"].indexOf(printer.activePrintJob.state) >= 0 +// background: Rectangle +// { +// opacity: abortButton.down || abortButton.hovered ? 1 : 0 +// color: UM.Theme.getColor("viewport_background") +// } +// contentItem: Label +// { +// text: abortButton.text +// horizontalAlignment: Text.AlignLeft +// verticalAlignment: Text.AlignVCenter +// } +// } + +// MessageDialog +// { +// id: abortConfirmationDialog +// title: catalog.i18nc("@window:title", "Abort print") +// icon: StandardIcon.Warning +// text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(printer.activePrintJob.name) +// standardButtons: StandardButton.Yes | StandardButton.No +// Component.onCompleted: visible = false +// onYes: printer.activePrintJob.setState("abort") +// } +// } + +// background: Item +// { +// width: popup.width +// height: popup.height + +// DropShadow +// { +// anchors.fill: pointedRectangle +// radius: 5 +// color: "#3F000000" // 25% shadow +// source: pointedRectangle +// transparentBorder: true +// verticalOffset: 2 +// } + +// Item +// { +// id: pointedRectangle +// width: parent.width - 10 * screenScaleFactor // Because of the shadow +// height: parent.height - 10 * screenScaleFactor // Because of the shadow +// anchors.horizontalCenter: parent.horizontalCenter +// anchors.verticalCenter: parent.verticalCenter + +// Rectangle +// { +// id: point +// height: 14 * screenScaleFactor +// width: 14 * screenScaleFactor +// color: UM.Theme.getColor("setting_control") +// transform: Rotation { angle: 45} +// anchors.right: bloop.right +// anchors.rightMargin: 24 +// y: 1 +// } + +// Rectangle +// { +// id: bloop +// color: UM.Theme.getColor("setting_control") +// width: parent.width +// anchors.top: parent.top +// anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point +// anchors.bottom: parent.bottom +// anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow +// } +// } +// } + +// exit: Transition +// { +// // This applies a default NumberAnimation to any changes a state change makes to x or y properties +// NumberAnimation { property: "visible"; duration: 75; } +// } +// enter: Transition +// { +// // This applies a default NumberAnimation to any changes a state change makes to x or y properties +// NumberAnimation { property: "visible"; duration: 75; } +// } + +// onClosed: visible = false +// onOpened: visible = true +// } + +// Image +// { +// id: printJobPreview +// source: printer.activePrintJob != null ? printer.activePrintJob.previewImageUrl : "" +// anchors.top: ownerName.bottom +// anchors.horizontalCenter: parent.horizontalCenter +// width: parent.width / 2 +// height: width +// opacity: +// { +// if(printer.activePrintJob == null) +// { +// return 1.0 +// } + +// switch(printer.activePrintJob.state) +// { +// case "wait_cleanup": +// case "wait_user_action": +// case "paused": +// return 0.5 +// default: +// return 1.0 +// } +// } + + +// } + +// UM.RecolorImage +// { +// id: statusImage +// anchors.centerIn: printJobPreview +// source: +// { +// if(printer.activePrintJob == null) +// { +// return "" +// } +// switch(printer.activePrintJob.state) +// { +// case "paused": +// return "../svg/paused-icon.svg" +// case "wait_cleanup": +// if(printer.activePrintJob.timeElapsed < printer.activePrintJob.timeTotal) +// { +// return "../svg/aborted-icon.svg" +// } +// return "../svg/approved-icon.svg" +// case "wait_user_action": +// return "../svg/aborted-icon.svg" +// default: +// return "" +// } +// } +// visible: source != "" +// width: 0.5 * printJobPreview.width +// height: 0.5 * printJobPreview.height +// sourceSize.width: width +// sourceSize.height: height +// color: "black" +// } + +// CameraButton +// { +// id: showCameraButton +// iconSource: "../svg/camera-icon.svg" +// anchors +// { +// left: parent.left +// bottom: printJobPreview.bottom +// } +// } +// } +// } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml index 01bd908c8b..a89ffd51d8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -15,6 +15,7 @@ ProgressBar { return result; } value: progress; + width: parent.width; style: ProgressBarStyle { property var remainingTime: diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml index b785cd02b7..24bc82224d 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml @@ -4,9 +4,8 @@ import UM 1.2 as UM Item { - property alias color: background.color property alias text: familyNameLabel.text - property var padding: 0 + property var padding: 3 * screenScaleFactor; // TODO: Theme! implicitHeight: familyNameLabel.contentHeight + 2 * padding // Apply the padding to top and bottom. implicitWidth: familyNameLabel.contentWidth + implicitHeight // The extra height is added to ensure the radius doesn't cut something off. Rectangle @@ -14,7 +13,7 @@ Item id: background height: parent.height width: parent.width - color: parent.color + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! anchors.right: parent.right anchors.horizontalCenter: parent.horizontalCenter radius: 0.5 * height diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml new file mode 100644 index 0000000000..1b3a83d024 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -0,0 +1,83 @@ +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import QtQuick.Controls 1.4 as LegacyControls +import UM 1.3 as UM + +// Includes printer type pill and extuder configurations + +Item { + id: root; + + property var printer: null; + property var printJob: null; + + width: parent.width; + height: childrenRect.height; + + // Printer family pills + Row { + id: printerFamilyPills; + + anchors { + left: parent.left; + right: parent.right; + bottom: extrudersInfo.top; + bottomMargin: UM.Theme.getSize("default_margin").height; + } + height: childrenRect.height; + spacing: Math.round(0.5 * UM.Theme.getSize("default_margin").width); + width: parent.width; + + Repeater { + id: compatiblePills; + visible: printJob; + model: printJob ? printJob.compatibleMachineFamilies : []; + delegate: PrinterFamilyPill { text: modelData; } + } + + PrinterFamilyPill { + visible: !compatiblePills.visible && printer; + text: printer.type; + } + } + + // Extruder info + Row { + id: extrudersInfo; + + anchors { + left: parent.left; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + height: childrenRect.height; + spacing: UM.Theme.getSize("default_margin").width; + width: parent.width; + + PrintCoreConfiguration { + width: Math.round(parent.width / 2) * screenScaleFactor; + printCoreConfiguration: getExtruderConfig(0); + } + + PrintCoreConfiguration { + width: Math.round(parent.width / 2) * screenScaleFactor; + printCoreConfiguration: getExtruderConfig(1); + } + } + + function getExtruderConfig( i ) { + if (root.printJob) { + // Use more-specific print job if possible + return root.printJob.configuration.extruderConfigurations[i]; + } else { + if (root.printer) { + return root.printer.printerConfiguration.extruderConfigurations[i]; + } else { + return null; + } + } + } +} \ No newline at end of file From 53b481ff5d681375e85b7c0bfaa36598c34b48f3 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sat, 29 Sep 2018 08:16:11 +0200 Subject: [PATCH 124/423] Reduce the maximum precision of floats in SettingTextField inputs No settings in Cura require more than 3 digits of precision. Many settings are in mm, and CuraEngine does its calculations in while microns. Having more precision in the frontend than in the backend apparently thoroughly confuses some people. Fixes #4368 --- resources/qml/Settings/SettingTextField.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Settings/SettingTextField.qml b/resources/qml/Settings/SettingTextField.qml index 15782829d3..9ec9338316 100644 --- a/resources/qml/Settings/SettingTextField.qml +++ b/resources/qml/Settings/SettingTextField.qml @@ -152,7 +152,7 @@ SettingItem maximumLength: (definition.type == "str" || definition.type == "[int]") ? -1 : 10; clip: true; //Hide any text that exceeds the width of the text box. - validator: RegExpValidator { regExp: (definition.type == "[int]") ? /^\[?(\s*-?[0-9]{0,9}\s*,)*(\s*-?[0-9]{0,9})\s*\]?$/ : (definition.type == "int") ? /^-?[0-9]{0,10}$/ : (definition.type == "float") ? /^-?[0-9]{0,9}[.,]?[0-9]{0,10}$/ : /^.*$/ } // definition.type property from parent loader used to disallow fractional number entry + validator: RegExpValidator { regExp: (definition.type == "[int]") ? /^\[?(\s*-?[0-9]{0,9}\s*,)*(\s*-?[0-9]{0,9})\s*\]?$/ : (definition.type == "int") ? /^-?[0-9]{0,10}$/ : (definition.type == "float") ? /^-?[0-9]{0,9}[.,]?[0-9]{0,3}$/ : /^.*$/ } // definition.type property from parent loader used to disallow fractional number entry Binding { From b15b8e43949506a1904f88fea7714ff718f5bef7 Mon Sep 17 00:00:00 2001 From: ValentinPitre Date: Sun, 30 Sep 2018 23:10:29 +0200 Subject: [PATCH 125/423] add variants to Tizyx K25 --- resources/definitions/tizyx_k25.def.json | 2 ++ .../quality/tizyx_k25/tizyx_k25_normal.inst.cfg | 2 -- resources/variants/tizyx_k25_0.2.inst.cfg | 12 ++++++++++++ resources/variants/tizyx_k25_0.3.inst.cfg | 12 ++++++++++++ resources/variants/tizyx_k25_0.4.inst.cfg | 12 ++++++++++++ resources/variants/tizyx_k25_0.5.inst.cfg | 13 +++++++++++++ resources/variants/tizyx_k25_0.6.inst.cfg | 12 ++++++++++++ resources/variants/tizyx_k25_0.8.inst.cfg | 12 ++++++++++++ resources/variants/tizyx_k25_1.0.inst.cfg | 12 ++++++++++++ 9 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 resources/variants/tizyx_k25_0.2.inst.cfg create mode 100644 resources/variants/tizyx_k25_0.3.inst.cfg create mode 100644 resources/variants/tizyx_k25_0.4.inst.cfg create mode 100644 resources/variants/tizyx_k25_0.5.inst.cfg create mode 100644 resources/variants/tizyx_k25_0.6.inst.cfg create mode 100644 resources/variants/tizyx_k25_0.8.inst.cfg create mode 100644 resources/variants/tizyx_k25_1.0.inst.cfg diff --git a/resources/definitions/tizyx_k25.def.json b/resources/definitions/tizyx_k25.def.json index 94a20b371e..d6a5ff5ecd 100644 --- a/resources/definitions/tizyx_k25.def.json +++ b/resources/definitions/tizyx_k25.def.json @@ -14,6 +14,8 @@ "preferred_material": "tizyx_pla", "has_machine_quality": true, "has_materials": true, + "has_variants": true, + "preferred_variant_name": "0.4 mm", "machine_extruder_trains": { "0": "tizyx_k25_extruder_0" diff --git a/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg b/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg index 8c6349d27a..8b066f139f 100644 --- a/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg +++ b/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg @@ -17,8 +17,6 @@ cool_fan_speed_0 = 100 fill_outline_gaps = True infill_angles = [0,90 ] infill_sparse_density = 15 -layer_height = 0.2 -layer_height_0 = 0.25 material_diameter = 1.75 retraction_amount = 2.5 retraction_min_travel = 2 diff --git a/resources/variants/tizyx_k25_0.2.inst.cfg b/resources/variants/tizyx_k25_0.2.inst.cfg new file mode 100644 index 0000000000..a87f5a0b25 --- /dev/null +++ b/resources/variants/tizyx_k25_0.2.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.2 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 4 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/tizyx_k25_0.3.inst.cfg b/resources/variants/tizyx_k25_0.3.inst.cfg new file mode 100644 index 0000000000..f6be2713d3 --- /dev/null +++ b/resources/variants/tizyx_k25_0.3.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.3 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 4 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/tizyx_k25_0.4.inst.cfg b/resources/variants/tizyx_k25_0.4.inst.cfg new file mode 100644 index 0000000000..1fd0939268 --- /dev/null +++ b/resources/variants/tizyx_k25_0.4.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.4 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 4 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/tizyx_k25_0.5.inst.cfg b/resources/variants/tizyx_k25_0.5.inst.cfg new file mode 100644 index 0000000000..ed426f1c5c --- /dev/null +++ b/resources/variants/tizyx_k25_0.5.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.5 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 4 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 + diff --git a/resources/variants/tizyx_k25_0.6.inst.cfg b/resources/variants/tizyx_k25_0.6.inst.cfg new file mode 100644 index 0000000000..876f773d96 --- /dev/null +++ b/resources/variants/tizyx_k25_0.6.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.6 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 4 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/tizyx_k25_0.8.inst.cfg b/resources/variants/tizyx_k25_0.8.inst.cfg new file mode 100644 index 0000000000..fd9516106a --- /dev/null +++ b/resources/variants/tizyx_k25_0.8.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.8 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 4 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/tizyx_k25_1.0.inst.cfg b/resources/variants/tizyx_k25_1.0.inst.cfg new file mode 100644 index 0000000000..d310dfd0cf --- /dev/null +++ b/resources/variants/tizyx_k25_1.0.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 1.0 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 4 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 1.0 From 046fca5d0faa8af26bf886fb1a765be20a37d22d Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 27 Sep 2018 19:31:45 +0200 Subject: [PATCH 126/423] Align the "Enable Gradual" text with the corresponding checkbox. --- resources/qml/SidebarSimple.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index e962d7fc8f..ec673f2823 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -784,8 +784,10 @@ Item Label { id: gradualInfillLabel + height: parent.height anchors.left: enableGradualInfillCheckBox.right anchors.leftMargin: Math.round(UM.Theme.getSize("sidebar_margin").width / 2) + verticalAlignment: Text.AlignVCenter; text: catalog.i18nc("@label", "Enable gradual") font: UM.Theme.getFont("default") color: UM.Theme.getColor("text") From a320720f8613e9bbbc7fab4bf1c3e49d7a2074c9 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 10:57:33 +0200 Subject: [PATCH 127/423] Remove duplicate shortcut in French, so the CI won't fail on it. Contributes to CURA-5741. --- resources/i18n/fr_FR/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index b4e68e16bc..ae6de50d16 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -3735,7 +3735,7 @@ msgstr "Position de la &caméra" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" -msgstr "&Plateau" +msgstr "Plateau" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" From 91e6897bc737a8e5fd95a631d9a4d7f746f575e7 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 11:13:10 +0200 Subject: [PATCH 128/423] Fix conficts in French with a couple of keyboard shortcuts. Contributes to CURA-5741. --- resources/i18n/fr_FR/cura.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index ae6de50d16..eb7aa05b2b 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -3735,7 +3735,7 @@ msgstr "Position de la &caméra" #: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" -msgstr "Plateau" +msgstr "&Plateau" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" @@ -4150,7 +4150,7 @@ msgstr "&Fichier" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "&Enregistrer..." +msgstr "Enregi&strer..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" @@ -4207,7 +4207,7 @@ msgstr "Désactiver l'extrudeuse" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 msgctxt "@title:menu" msgid "&Build plate" -msgstr "&Plateau" +msgstr "Plateau" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 msgctxt "@title:settings" From f69005fef989a9c9af7834ce931fa343d2989cd6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 1 Oct 2018 11:24:31 +0200 Subject: [PATCH 129/423] Rename to CuraFormulaFunctions to avoid confusion with "SettingFunction" in Uranium. --- cura/CuraApplication.py | 18 +++++++++--------- ...ingFunctions.py => CuraFormulaFunctions.py} | 6 +++--- cura/Settings/ExtruderManager.py | 2 +- cura/Settings/UserChangesModel.py | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) rename cura/Settings/{CustomSettingFunctions.py => CuraFormulaFunctions.py} (95%) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 857aafb567..b40b65358b 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -107,7 +107,7 @@ from cura.Settings.MaterialSettingsVisibilityHandler import MaterialSettingsVisi from cura.Settings.ContainerManager import ContainerManager from cura.Settings.SidebarCustomMenuItemsModel import SidebarCustomMenuItemsModel import cura.Settings.cura_empty_instance_containers -from cura.Settings.CustomSettingFunctions import CustomSettingFunctions +from cura.Settings.CuraFormulaFunctions import CuraFormulaFunctions from cura.ObjectsModel import ObjectsModel @@ -175,7 +175,7 @@ class CuraApplication(QtApplication): self._single_instance = None - self._custom_setting_functions = None + self._cura_formula_functions = None self._cura_package_manager = None @@ -320,7 +320,7 @@ class CuraApplication(QtApplication): # Adds custom property types, settings types, and extra operators (functions) that need to be registered in # SettingDefinition and SettingFunction. def __initializeSettingDefinitionsAndFunctions(self): - self._custom_setting_functions = CustomSettingFunctions(self) + self._cura_formula_functions = CuraFormulaFunctions(self) # Need to do this before ContainerRegistry tries to load the machines SettingDefinition.addSupportedProperty("settable_per_mesh", DefinitionPropertyType.Any, default = True, read_only = True) @@ -342,10 +342,10 @@ class CuraApplication(QtApplication): SettingDefinition.addSettingType("optional_extruder", None, str, None) SettingDefinition.addSettingType("[int]", None, str, None) - SettingFunction.registerOperator("extruderValue", self._custom_setting_functions.getValueInExtruder) - SettingFunction.registerOperator("extruderValues", self._custom_setting_functions.getValuesInAllExtruders) - SettingFunction.registerOperator("resolveOrValue", self._custom_setting_functions.getResolveOrValue) - SettingFunction.registerOperator("defaultExtruderPosition", self._custom_setting_functions.getDefaultExtruderPosition) + SettingFunction.registerOperator("extruderValue", self._cura_formula_functions.getValueInExtruder) + SettingFunction.registerOperator("extruderValues", self._cura_formula_functions.getValuesInAllExtruders) + SettingFunction.registerOperator("resolveOrValue", self._cura_formula_functions.getResolveOrValue) + SettingFunction.registerOperator("defaultExtruderPosition", self._cura_formula_functions.getDefaultExtruderPosition) # Adds all resources and container related resources. def __addAllResourcesAndContainerResources(self) -> None: @@ -809,8 +809,8 @@ class CuraApplication(QtApplication): def getSettingVisibilityPresetsModel(self, *args) -> SettingVisibilityPresetsModel: return self._setting_visibility_presets_model - def getCustomSettingFunctions(self, *args) -> CustomSettingFunctions: - return self._custom_setting_functions + def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions": + return self._cura_formula_functions def getMachineErrorChecker(self, *args) -> MachineErrorChecker: return self._machine_error_checker diff --git a/cura/Settings/CustomSettingFunctions.py b/cura/Settings/CuraFormulaFunctions.py similarity index 95% rename from cura/Settings/CustomSettingFunctions.py rename to cura/Settings/CuraFormulaFunctions.py index 5951ac1e73..1db01857f8 100644 --- a/cura/Settings/CustomSettingFunctions.py +++ b/cura/Settings/CuraFormulaFunctions.py @@ -12,10 +12,10 @@ if TYPE_CHECKING: # -# This class contains all Cura-related custom setting functions. Some functions requires information such as the -# currently active machine, so this is made into a class instead of standalone functions. +# This class contains all Cura-related custom functions that can be used in formulas. Some functions requires +# information such as the currently active machine, so this is made into a class instead of standalone functions. # -class CustomSettingFunctions: +class CuraFormulaFunctions: def __init__(self, application: "CuraApplication") -> None: self._application = application diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 86ee546240..ee5cf93fab 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -373,7 +373,7 @@ class ExtruderManager(QObject): # \return String representing the extruder values @pyqtSlot(str, result="QVariant") def getInstanceExtruderValues(self, key: str) -> List: - return self._application.getCustomSettingFunctions().getValuesInAllExtruders(key) + return self._application.getCuraFormulaFunctions().getValuesInAllExtruders(key) ## Get the resolve value or value for a given key # diff --git a/cura/Settings/UserChangesModel.py b/cura/Settings/UserChangesModel.py index d2ea84f79d..9a26e5607e 100644 --- a/cura/Settings/UserChangesModel.py +++ b/cura/Settings/UserChangesModel.py @@ -42,7 +42,7 @@ class UserChangesModel(ListModel): def _update(self): application = Application.getInstance() machine_manager = application.getMachineManager() - custom_setting_functions = application.getCustomSettingFunctions() + cura_formula_functions = application.getCuraFormulaFunctions() item_dict = OrderedDict() item_list = [] @@ -77,7 +77,7 @@ class UserChangesModel(ListModel): # Override "getExtruderValue" with "getDefaultExtruderValue" so we can get the default values user_changes = containers.pop(0) - default_value_resolve_context = custom_setting_functions.createContextForDefaultValueEvaluation(stack) + default_value_resolve_context = cura_formula_functions.createContextForDefaultValueEvaluation(stack) for setting_key in user_changes.getAllKeys(): original_value = None From c2e69dc7b25c7b15ff93c8358f1e2d1d9cac9967 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 11:28:37 +0200 Subject: [PATCH 130/423] Fix Korean translations. Contributes to CURA-5741. --- resources/i18n/ko_KR/cura.po | 82 ++++++++++++++++++++++++++---------- 1 file changed, 59 insertions(+), 23 deletions(-) diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 18a54715c1..a97c5cf05b 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -64,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

\n

{model_names}

\n

인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

\n

인쇄 품질 가이드 보기

" +msgstr "" +"

하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

\n" +"

{model_names}

\n" +"

인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

\n" +"

인쇄 품질 가이드 보기

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -746,7 +750,7 @@ msgstr "Cura 프로젝트 3MF 파일" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "3MF 파일 작성 중 오류" +msgstr "3MF 파일 작성 중 오류." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1074,7 +1078,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n                    

시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n                    

백업은 설정 폴더에서 찾을 수 있습니다. \n                    

문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n " +msgstr "" +"

죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n" +"                    

시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n" +"                    

백업은 설정 폴더에서 찾을 수 있습니다. \n" +"                    

문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1107,7 +1116,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

\n

\"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

\n " +msgstr "" +"

치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

\n" +"

\"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1572,7 +1584,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "이 플러그인에는 라이선스가 포함되어 있습니다.\n이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n아래의 약관에 동의하시겠습니까?" +msgstr "" +"이 플러그인에는 라이선스가 포함되어 있습니다.\n" +"이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n" +"아래의 약관에 동의하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1692,7 +1707,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n\n아래 목록에서 프린터를 선택하십시오:" +msgstr "" +"네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n" +"\n" +"아래 목록에서 프린터를 선택하십시오:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2646,7 +2664,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "일부 프로파일 설정을 수정했습니다.\n이러한 설정을 유지하거나 삭제 하시겠습니까?" +msgstr "" +"일부 프로파일 설정을 수정했습니다.\n" +"이러한 설정을 유지하거나 삭제 하시겠습니까?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3342,7 +3362,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\nCura는 다음의 오픈 소스 프로젝트를 사용합니다:" +msgstr "" +"Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\n" +"Cura는 다음의 오픈 소스 프로젝트를 사용합니다:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3455,7 +3477,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n\n프로파일 매니저를 열려면 클릭하십시오." +msgstr "" +"일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n" +"\n" +"프로파일 매니저를 열려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3509,7 +3534,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n\n이 설정을 표시하려면 클릭하십시오." +msgstr "" +"일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n" +"\n" +"이 설정을 표시하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3537,7 +3565,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "이 설정에는 프로파일과 다른 값이 있습니다.\n\n프로파일 값을 복원하려면 클릭하십시오." +msgstr "" +"이 설정에는 프로파일과 다른 값이 있습니다.\n" +"\n" +"프로파일 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3545,7 +3576,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n\n계산 된 값을 복원하려면 클릭하십시오." +msgstr "" +"이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n" +"\n" +"계산 된 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3768,7 +3802,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "프린팅 설정 사용 안 함\nG-코드 파일은 수정할 수 없습니다" +msgstr "" +"프린팅 설정 사용 안 함\n" +"G-코드 파일은 수정할 수 없습니다" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" @@ -4122,27 +4158,27 @@ msgstr "내보내기 선택..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" -msgstr "편집" +msgstr "편집(&E)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 msgctxt "@title:menu" msgid "&View" -msgstr "보기" +msgstr "보기(&V)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 msgctxt "@title:menu" msgid "&Settings" -msgstr "설정" +msgstr "설정(&S)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 msgctxt "@title:menu menubar:settings" msgid "&Printer" -msgstr "프린터" +msgstr "프린터(&P)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 msgctxt "@title:menu" msgid "&Material" -msgstr "재료" +msgstr "재료(&M)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 msgctxt "@action:inmenu" @@ -4169,27 +4205,27 @@ msgstr "빌드 플레이트(&B)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 msgctxt "@title:settings" msgid "&Profile" -msgstr "프로파일" +msgstr "프로파일(&P)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" -msgstr "확장 프로그램" +msgstr "확장 프로그램(&X)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" -msgstr "도구 상자" +msgstr "도구 상자(&T)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 msgctxt "@title:menu menubar:toplevel" msgid "P&references" -msgstr "환경설정" +msgstr "환경설정(&R)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 msgctxt "@title:menu menubar:toplevel" msgid "&Help" -msgstr "도움말" +msgstr "도움말(&H)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 msgctxt "@label" From 3f8b7fb6aff9b0e3afa1fe0598becf639c2e604a Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Mon, 1 Oct 2018 11:30:21 +0200 Subject: [PATCH 131/423] Fix: Switches to 'Prepare' always go through 'Recomended' mode CURA-5731 --- resources/qml/PrepareSidebar.qml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/resources/qml/PrepareSidebar.qml b/resources/qml/PrepareSidebar.qml index 78b6a22ef9..fe0fb033f7 100644 --- a/resources/qml/PrepareSidebar.qml +++ b/resources/qml/PrepareSidebar.qml @@ -14,7 +14,7 @@ Rectangle { id: base - property int currentModeIndex + property int currentModeIndex: -1 property bool hideSettings: PrintInformation.preSliced property bool hideView: Cura.MachineManager.activeMachineName == "" @@ -262,7 +262,6 @@ Rectangle ListView { id: modesList - property var index: 0 model: modesListModel delegate: wizardDelegate anchors.top: parent.top @@ -582,13 +581,17 @@ Rectangle tooltipText: catalog.i18nc("@tooltip", "Custom Print Setup

Print with finegrained control over every last bit of the slicing process."), item: sidebarAdvanced }) - sidebarContents.replace(modesListModel.get(base.currentModeIndex).item, { "immediate": true }) var index = Math.round(UM.Preferences.getValue("cura/active_mode")) - if(index) + + if(index != null && !isNaN(index)) { currentModeIndex = index; } + else + { + currentModeIndex = 0; + } } UM.SettingPropertyProvider From fc9f05fc8b434630759d00a47a0eba51c93319bd Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 1 Oct 2018 11:32:55 +0200 Subject: [PATCH 132/423] Moved SettingVisibilityPreset loading to it's own class Since there was so much debate regarding the unit testing of the visiblity presets, i had another look at it. The old version was almost untestable because all functionalities were mushed together into a single class. CURA-5734 --- cura/CuraApplication.py | 4 +- .../Models/SettingVisibilityPresetsModel.py | 128 ++++++++---------- cura/Settings/SettingVisibilityPreset.py | 87 ++++++++++++ .../Menus/SettingVisibilityPresetsMenu.qml | 8 +- .../qml/Preferences/SettingVisibilityPage.qml | 17 ++- 5 files changed, 154 insertions(+), 90 deletions(-) create mode 100644 cura/Settings/SettingVisibilityPreset.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index dbaef4df34..18f86959a7 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -701,10 +701,8 @@ class CuraApplication(QtApplication): self._print_information = PrintInformation.PrintInformation(self) self._cura_actions = CuraActions.CuraActions(self) - # Initialize setting visibility presets model + # Initialize setting visibility presets model. self._setting_visibility_presets_model = SettingVisibilityPresetsModel(self) - default_visibility_profile = self._setting_visibility_presets_model.getItem(0) - self.getPreferences().setDefault("general/visible_settings", ";".join(default_visibility_profile["settings"])) # Detect in which mode to run and execute that mode if self._is_headless: diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index d5fa51d20a..38c6176e4e 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -1,12 +1,13 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import Optional +from typing import Optional, List import os import urllib.parse from configparser import ConfigParser -from PyQt5.QtCore import pyqtProperty, Qt, pyqtSignal, pyqtSlot +from PyQt5.QtCore import pyqtProperty, Qt, pyqtSignal, pyqtSlot, QObject + from UM.Application import Application from UM.Logger import Logger @@ -15,121 +16,101 @@ from UM.Resources import Resources from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError from UM.i18n import i18nCatalog +from cura.Settings.SettingVisibilityPreset import SettingVisibilityPreset + catalog = i18nCatalog("cura") -class SettingVisibilityPresetsModel(ListModel): - IdRole = Qt.UserRole + 1 - NameRole = Qt.UserRole + 2 - SettingsRole = Qt.UserRole + 3 +class SettingVisibilityPresetsModel(QObject): + onItemsChanged = pyqtSignal() + activePresetChanged = pyqtSignal() def __init__(self, parent = None): super().__init__(parent) - self.addRoleName(self.IdRole, "id") - self.addRoleName(self.NameRole, "name") - self.addRoleName(self.SettingsRole, "settings") + self._items = [] # type: List[SettingVisibilityPreset] self._populate() - basic_item = self.items[1] - basic_visibile_settings = ";".join(basic_item["settings"]) + + basic_item = self._getVisibilityPresetById("basic") + basic_visibile_settings = ";".join(basic_item.settings) self._preferences = Application.getInstance().getPreferences() + # Preference to store which preset is currently selected self._preferences.addPreference("cura/active_setting_visibility_preset", "basic") + # Preference that stores the "custom" set so it can always be restored (even after a restart) self._preferences.addPreference("cura/custom_visible_settings", basic_visibile_settings) self._preferences.preferenceChanged.connect(self._onPreferencesChanged) - self._active_preset_item = self._getItem(self._preferences.getValue("cura/active_setting_visibility_preset")) + self._active_preset_item = self._getVisibilityPresetById(self._preferences.getValue("cura/active_setting_visibility_preset")) + # Initialize visible settings if it is not done yet visible_settings = self._preferences.getValue("general/visible_settings") if not visible_settings: - self._preferences.setValue("general/visible_settings", ";".join(self._active_preset_item["settings"])) + self._preferences.setValue("general/visible_settings", ";".join(self._active_preset_item.settings)) + else: self._onPreferencesChanged("general/visible_settings") self.activePresetChanged.emit() - def _getItem(self, item_id: str) -> Optional[dict]: + def _getVisibilityPresetById(self, item_id: str) -> Optional[SettingVisibilityPreset]: result = None - for item in self.items: - if item["id"] == item_id: + for item in self._items: + if item.id == item_id: result = item break return result def _populate(self) -> None: from cura.CuraApplication import CuraApplication - items = [] + items = [] # type: List[SettingVisibilityPreset] + + custom_preset = SettingVisibilityPreset(id = "custom", name = "Custom selection", weight = -100) + items.append(custom_preset) for file_path in Resources.getAllResourcesOfType(CuraApplication.ResourceTypes.SettingVisibilityPreset): + setting_visibility_preset = SettingVisibilityPreset() try: - mime_type = MimeTypeDatabase.getMimeTypeForFile(file_path) - except MimeTypeNotFoundError: - Logger.log("e", "Could not determine mime type of file %s", file_path) - continue - - item_id = urllib.parse.unquote_plus(mime_type.stripExtension(os.path.basename(file_path))) - if not os.path.isfile(file_path): - Logger.log("e", "[%s] is not a file", file_path) - continue - - parser = ConfigParser(allow_no_value = True) # accept options without any value, - try: - parser.read([file_path]) - if not parser.has_option("general", "name") or not parser.has_option("general", "weight"): - continue - - settings = [] - for section in parser.sections(): - if section == 'general': - continue - - settings.append(section) - for option in parser[section].keys(): - settings.append(option) - - items.append({ - "id": item_id, - "name": catalog.i18nc("@action:inmenu", parser["general"]["name"]), - "weight": parser["general"]["weight"], - "settings": settings, - }) - + setting_visibility_preset.loadFromFile(file_path) except Exception: Logger.logException("e", "Failed to load setting preset %s", file_path) - items.sort(key = lambda k: (int(k["weight"]), k["id"])) - # Put "custom" at the top - items.insert(0, {"id": "custom", - "name": "Custom selection", - "weight": -100, - "settings": []}) + items.append(setting_visibility_preset) + + # Sort them on weight (and if that fails, use ID) + items.sort(key = lambda k: (int(k.weight), k.id)) self.setItems(items) + @pyqtProperty("QVariantList", notify = onItemsChanged) + def items(self): + return self._items + + def setItems(self, items: List[SettingVisibilityPreset]) -> None: + if self._items != items: + self._items = items + self.onItemsChanged.emit() + @pyqtSlot(str) - def setActivePreset(self, preset_id: str): - if preset_id == self._active_preset_item["id"]: + def setActivePreset(self, preset_id: str) -> None: + if preset_id == self._active_preset_item.id: Logger.log("d", "Same setting visibility preset [%s] selected, do nothing.", preset_id) return - preset_item = None - for item in self.items: - if item["id"] == preset_id: - preset_item = item - break + preset_item = self._getVisibilityPresetById(preset_id) if preset_item is None: Logger.log("w", "Tried to set active preset to unknown id [%s]", preset_id) return - need_to_save_to_custom = self._active_preset_item["id"] == "custom" and preset_id != "custom" + need_to_save_to_custom = self._active_preset_item.id == "custom" and preset_id != "custom" if need_to_save_to_custom: # Save the current visibility settings to custom current_visibility_string = self._preferences.getValue("general/visible_settings") if current_visibility_string: self._preferences.setValue("cura/custom_visible_settings", current_visibility_string) - new_visibility_string = ";".join(preset_item["settings"]) + new_visibility_string = ";".join(preset_item.settings) if preset_id == "custom": # Get settings from the stored custom data new_visibility_string = self._preferences.getValue("cura/custom_visible_settings") @@ -141,11 +122,9 @@ class SettingVisibilityPresetsModel(ListModel): self._active_preset_item = preset_item self.activePresetChanged.emit() - activePresetChanged = pyqtSignal() - @pyqtProperty(str, notify = activePresetChanged) def activePreset(self) -> str: - return self._active_preset_item["id"] + return self._active_preset_item.id def _onPreferencesChanged(self, name: str) -> None: if name != "general/visible_settings": @@ -158,25 +137,26 @@ class SettingVisibilityPresetsModel(ListModel): visibility_set = set(visibility_string.split(";")) matching_preset_item = None - for item in self.items: - if item["id"] == "custom": + for item in self._items: + if item.id == "custom": continue - if set(item["settings"]) == visibility_set: + if set(item.settings) == visibility_set: matching_preset_item = item break item_to_set = self._active_preset_item if matching_preset_item is None: # The new visibility setup is "custom" should be custom - if self._active_preset_item["id"] == "custom": + if self._active_preset_item.id == "custom": # We are already in custom, just save the settings self._preferences.setValue("cura/custom_visible_settings", visibility_string) else: - item_to_set = self.items[0] # 0 is custom + # We need to move to custom preset. + item_to_set = self._getVisibilityPresetById("custom") else: item_to_set = matching_preset_item - if self._active_preset_item is None or self._active_preset_item["id"] != item_to_set["id"]: + if self._active_preset_item is None or self._active_preset_item.id != item_to_set.id: self._active_preset_item = item_to_set - self._preferences.setValue("cura/active_setting_visibility_preset", self._active_preset_item["id"]) + self._preferences.setValue("cura/active_setting_visibility_preset", self._active_preset_item.id) self.activePresetChanged.emit() diff --git a/cura/Settings/SettingVisibilityPreset.py b/cura/Settings/SettingVisibilityPreset.py new file mode 100644 index 0000000000..8b175a0d01 --- /dev/null +++ b/cura/Settings/SettingVisibilityPreset.py @@ -0,0 +1,87 @@ +import os +import urllib.parse +from configparser import ConfigParser +from typing import List + +from PyQt5.QtCore import pyqtProperty, QObject, pyqtSignal + +from UM.Logger import Logger +from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError + + +class SettingVisibilityPreset(QObject): + onSettingsChanged = pyqtSignal() + onNameChanged = pyqtSignal() + onWeightChanged = pyqtSignal() + onIdChanged = pyqtSignal() + + def __init__(self, id: str = "", name: str = "" , weight: int = 0, parent = None) -> None: + super().__init__(parent) + self._settings = [] # type: List[str] + self._id = id + self._weight = weight + self._name = name + + @pyqtProperty("QStringList", notify = onSettingsChanged) + def settings(self) -> List[str]: + return self._settings + + @pyqtProperty(str, notify=onIdChanged) + def id(self) -> str: + return self._id + + @pyqtProperty(int, notify=onWeightChanged) + def weight(self) -> int: + return self._weight + + @pyqtProperty(str, notify=onNameChanged) + def name(self) -> str: + return self._name + + def setName(self, name: str) -> None: + if name != self._name: + self._name = name + self.onNameChanged.emit() + + def setId(self, id: int) -> None: + if id != self._id: + self._id = id + self.onIdChanged.emit() + + def setWeight(self, weight: str) -> None: + if weight != self._weight: + self._weight = weight + self.onWeightChanged.emit() + + def setSettings(self, settings: List[str]) -> None: + if settings != self._settings: + self._settings = settings + self.onSettingsChanged.emit() + + def loadFromFile(self, file_path: str) -> None: + mime_type = MimeTypeDatabase.getMimeTypeForFile(file_path) + + item_id = urllib.parse.unquote_plus(mime_type.stripExtension(os.path.basename(file_path))) + if not os.path.isfile(file_path): + Logger.log("e", "[%s] is not a file", file_path) + return None + + parser = ConfigParser(allow_no_value=True) # Accept options without any value, + + parser.read([file_path]) + if not parser.has_option("general", "name") or not parser.has_option("general", "weight"): + return None + + settings = [] # type: List[str] + for section in parser.sections(): + if section == "general": + continue + + settings.append(section) + for option in parser[section].keys(): + settings.append(option) + self.setSettings(settings) + self.setId(item_id) + self.setName(parser["general"]["name"]) + self.setWeight(parser["general"]["weight"]) + diff --git a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml index c34dc2a484..fecabfa860 100644 --- a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml +++ b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml @@ -18,17 +18,17 @@ Menu Instantiator { - model: settingVisibilityPresetsModel + model: settingVisibilityPresetsModel.items MenuItem { - text: model.name + text: modelData.name checkable: true - checked: model.id == settingVisibilityPresetsModel.activePreset + checked: modelData.id == settingVisibilityPresetsModel.activePreset exclusiveGroup: group onTriggered: { - settingVisibilityPresetsModel.setActivePreset(model.id); + settingVisibilityPresetsModel.setActivePreset(modelData.id); } } diff --git a/resources/qml/Preferences/SettingVisibilityPage.qml b/resources/qml/Preferences/SettingVisibilityPage.qml index 0f39a3c047..90c805f854 100644 --- a/resources/qml/Preferences/SettingVisibilityPage.qml +++ b/resources/qml/Preferences/SettingVisibilityPage.qml @@ -110,24 +110,23 @@ UM.PreferencesPage right: parent.right } - model: settingVisibilityPresetsModel + model: settingVisibilityPresetsModel.items textRole: "name" currentIndex: { - // Load previously selected preset. - var index = settingVisibilityPresetsModel.find("id", settingVisibilityPresetsModel.activePreset) - if (index == -1) - { - return 0 + for(var i = 0; i < settingVisibilityPresetsModel.items.length; ++i) { + if(settingVisibilityPresetsModel.items[i].id == settingVisibilityPresetsModel.activePreset) { + currentIndex = i; + return; + } } - - return index + return -1 } onActivated: { - var preset_id = settingVisibilityPresetsModel.getItem(index).id; + var preset_id = settingVisibilityPresetsModel.items[index].id; settingVisibilityPresetsModel.setActivePreset(preset_id); } } From 7e7afa7c063de3af0b28b40aa5fe1b769872daf5 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 1 Oct 2018 11:51:07 +0200 Subject: [PATCH 133/423] Ensure that the SettingVisibilityPresetsModel doesn't have duplicated settings CURA-5734 --- cura/Machines/Models/SettingVisibilityPresetsModel.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index 38c6176e4e..cd0233747d 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -81,7 +81,8 @@ class SettingVisibilityPresetsModel(QObject): # Sort them on weight (and if that fails, use ID) items.sort(key = lambda k: (int(k.weight), k.id)) - self.setItems(items) + # Set items and ensure there are no duplicated values + self.setItems(list(set(items))) @pyqtProperty("QVariantList", notify = onItemsChanged) def items(self): From f785f888aec62003c3769555ffb4f158b70f20b7 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 11:55:27 +0200 Subject: [PATCH 134/423] Translate the per-model-setting options in Spanish to better explain what each item does. Contributes to CURA-5741. --- resources/i18n/es_ES/cura.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index b53d44d325..1c4d985f97 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -2177,22 +2177,22 @@ msgstr "Modelo normal" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:75 msgctxt "@label" msgid "Print as support" -msgstr "Imprimir según compatibilidad" +msgstr "Imprimir como soporte" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:83 msgctxt "@label" msgid "Don't support overlap with other models" -msgstr "No es compatible la superposición con otros modelos" +msgstr "No crear soporte en otros modelos (por superposición)" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:91 msgctxt "@label" msgid "Modify settings for overlap with other models" -msgstr "Modificar ajustes para superponer con otros modelos" +msgstr "Modificar ajustes de otros modelos (por superposición)" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:99 msgctxt "@label" msgid "Modify settings for infill of other models" -msgstr "Modificar ajustes para rellenar con otros modelos" +msgstr "Modificar ajustes del relleno de otros modelos" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 msgctxt "@action:button" From d5ea92059a7bca1c69017289282da7a03633a7fd Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 13:03:00 +0200 Subject: [PATCH 135/423] Fix Dutch translations. Contributes to CURA-5741. --- resources/i18n/nl_NL/cura.po | 70 +++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 17 deletions(-) diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index ac498a9236..c26da0d505 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 11:30+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -62,7 +62,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

\n

{model_names}

\n

Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

\n

Handleiding printkwaliteit bekijken

" +msgstr "" +"

Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

\n" +"

{model_names}

\n" +"

Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

\n" +"

Handleiding printkwaliteit bekijken

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -144,7 +148,7 @@ msgstr "Voorbereiden" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:23 msgctxt "@action:button Preceded by 'Ready to'." msgid "Save to Removable Drive" -msgstr "Op te slaan op verwisselbaar station" +msgstr "Opslaan op verwisselbaar station" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:24 #, python-brace-format @@ -1072,7 +1076,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

\n

Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

\n

Back-ups bevinden zich in de configuratiemap.

\n

Stuur ons dit crashrapport om het probleem op te lossen.

\n " +msgstr "" +"

Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

\n" +"

Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

\n" +"

Back-ups bevinden zich in de configuratiemap.

\n" +"

Stuur ons dit crashrapport om het probleem op te lossen.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1105,7 +1114,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

\n

Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

\n " +msgstr "" +"

Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

\n" +"

Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1570,7 +1582,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Deze invoegtoepassing bevat een licentie.\nU moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\nGaat u akkoord met de onderstaande voorwaarden?" +msgstr "" +"Deze invoegtoepassing bevat een licentie.\n" +"U moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\n" +"Gaat u akkoord met de onderstaande voorwaarden?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1690,7 +1705,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n\nSelecteer uw printer in de onderstaande lijst:" +msgstr "" +"Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n" +"\n" +"Selecteer uw printer in de onderstaande lijst:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2352,7 +2370,7 @@ msgstr "Volgende" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "Punt" +msgstr "Tip" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2401,7 +2419,7 @@ msgstr "%1 m / ~ %2 g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "Proefprint" +msgstr "Print experiment" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" @@ -2646,7 +2664,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "U hebt enkele profielinstellingen aangepast.\nWilt u deze instellingen behouden of verwijderen?" +msgstr "" +"U hebt enkele profielinstellingen aangepast.\n" +"Wilt u deze instellingen behouden of verwijderen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2667,7 +2687,7 @@ msgstr "Aangepast" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always ask me this" -msgstr "Dit altijd vragen" +msgstr "Altijd vragen" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:158 msgctxt "@option:discardOrKeep" @@ -3342,7 +3362,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\nCura maakt met trots gebruik van de volgende opensourceprojecten:" +msgstr "" +"Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\n" +"Cura maakt met trots gebruik van de volgende opensourceprojecten:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3455,7 +3477,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen." +msgstr "" +"Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n" +"\n" +"Klik om het profielbeheer te openen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3509,7 +3534,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n\nKlik om deze instellingen zichtbaar te maken." +msgstr "" +"Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n" +"\n" +"Klik om deze instellingen zichtbaar te maken." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3537,7 +3565,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Deze instelling heeft een andere waarde dan in het profiel.\n\nKlik om de waarde van het profiel te herstellen." +msgstr "" +"Deze instelling heeft een andere waarde dan in het profiel.\n" +"\n" +"Klik om de waarde van het profiel te herstellen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3545,7 +3576,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n\nKlik om de berekende waarde te herstellen." +msgstr "" +"Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n" +"\n" +"Klik om de berekende waarde te herstellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3770,7 +3804,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Instelling voor printen uitgeschakeld\nG-code-bestanden kunnen niet worden aangepast" +msgstr "" +"Instelling voor printen uitgeschakeld\n" +"G-code-bestanden kunnen niet worden aangepast" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" From 638c6facc797b69511fd8f18f13e3b84790383f0 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 13:23:43 +0200 Subject: [PATCH 136/423] Review portuguese translations. Contributes to CURA-5741. --- resources/i18n/pt_PT/cura.po | 64 ++++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 14 deletions(-) diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index 90bde6f361..5c5abfe44f 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 13:15+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" @@ -65,7 +65,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

Um, ou mais, dos modelos 3D podem ter menos qualidade de impressão devido à dimensão do modelo 3D e definição de material:

\n

{model_names}

\n

Descubra como assegurar a melhor qualidade e fiabilidade possível da impressão.

\n

Ver o guia de qualidade da impressão

" +msgstr "" +"

Um, ou mais, dos modelos 3D podem ter menos qualidade de impressão devido à dimensão do modelo 3D e definição de material:

\n" +"

{model_names}

\n" +"

Descubra como assegurar a melhor qualidade e fiabilidade possível da impressão.

\n" +"

Ver o guia de qualidade da impressão

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -1101,7 +1105,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

Ups, o Ultimaker Cura encontrou um possível problema.

\n

Foi encontrado um erro irrecuperável durante o arranque da aplicação. Este pode ter sido causado por alguns ficheiros de configuração incorrectos. Sugerimos que faça um backup e reponha a sua configuração.

\n

Os backups estão localizados na pasta de configuração.

\n

Por favor envie-nos este Relatório de Falhas para podermos resolver o problema.

\n " +msgstr "" +"

Ups, o Ultimaker Cura encontrou um possível problema.

\n" +"

Foi encontrado um erro irrecuperável durante o arranque da aplicação. Este pode ter sido causado por alguns ficheiros de configuração incorrectos. Sugerimos que faça um backup e reponha a sua configuração.

\n" +"

Os backups estão localizados na pasta de configuração.

\n" +"

Por favor envie-nos este Relatório de Falhas para podermos resolver o problema.

\n" +" " # rever! # button size? @@ -1136,7 +1145,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Ocorreu um erro fatal no Cura. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

\n

Por favor utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

\n " +msgstr "" +"

Ocorreu um erro fatal no Cura. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

\n" +"

Por favor utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1603,7 +1615,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Este plug-in contém uma licença.\nÉ necessário aceitar esta licença para instalar o plug-in.\nConcorda com os termos abaixo?" +msgstr "" +"Este plug-in contém uma licença.\n" +"É necessário aceitar esta licença para instalar o plug-in.\n" +"Concorda com os termos abaixo?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1723,7 +1738,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura por rede à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n\nSelecione a sua impressora na lista em baixo:" +msgstr "" +"Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura por rede à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n" +"\n" +"Selecione a sua impressora na lista em baixo:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2445,7 +2463,7 @@ msgstr "%1 m / ~ %2 g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "Imprimir teste" +msgstr "Experimento de impressão" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" @@ -2698,7 +2716,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Alterou algumas das definições do perfil.\nGostaria de manter ou descartar essas alterações?" +msgstr "" +"Alterou algumas das definições do perfil.\n" +"Gostaria de manter ou descartar essas alterações?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3398,7 +3418,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\nO Cura tem o prazer de utilizar os seguintes projetos open source:" +msgstr "" +"O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\n" +"O Cura tem o prazer de utilizar os seguintes projetos open source:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3514,7 +3536,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n\nClique para abrir o gestor de perfis." +msgstr "" +"Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n" +"\n" +"Clique para abrir o gestor de perfis." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3572,7 +3597,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n\nClique para tornar estas definições visíveis." +msgstr "" +"Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n" +"\n" +"Clique para tornar estas definições visíveis." # rever! # Afeta? @@ -3609,7 +3637,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Esta definição tem um valor que é diferente do perfil.\n\nClique para restaurar o valor do perfil." +msgstr "" +"Esta definição tem um valor que é diferente do perfil.\n" +"\n" +"Clique para restaurar o valor do perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3617,7 +3648,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor diferente.\n\nClique para restaurar o valor calculado." +msgstr "" +"Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor diferente.\n" +"\n" +"Clique para restaurar o valor calculado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3850,7 +3884,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Configuração da Impressão desativada\nOs ficheiros G-code não podem ser modificados" +msgstr "" +"Configuração da Impressão desativada\n" +"Os ficheiros G-code não podem ser modificados" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" From c474ceff8f13a5d96d52467fb4758617fbb90a7d Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 13:37:26 +0200 Subject: [PATCH 137/423] Review Russian translations. Contributes to CURA-5741. --- resources/i18n/ru_RU/cura.po | 62 ++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index a01fbf0781..c343202511 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 13:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" "Language: ru_RU\n" @@ -64,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

\n

{model_names}

\n

Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

\n

Ознакомиться с руководством по качеству печати

" +msgstr "" +"

Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

\n" +"

{model_names}

\n" +"

Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

\n" +"

Ознакомиться с руководством по качеству печати

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -1074,7 +1078,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

В ПО Ultimaker Cura обнаружена ошибка.

\n

Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

\n

Резервные копии хранятся в папке конфигурации.

\n

Отправьте нам этот отчет о сбое для устранения проблемы.

\n " +msgstr "" +"

В ПО Ultimaker Cura обнаружена ошибка.

\n" +"

Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

\n" +"

Резервные копии хранятся в папке конфигурации.

\n" +"

Отправьте нам этот отчет о сбое для устранения проблемы.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1107,7 +1116,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

\n

Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

\n " +msgstr "" +"

В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

\n" +"

Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1572,7 +1584,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Этот плагин содержит лицензию.\nЧтобы установить этот плагин, необходимо принять условия лицензии.\nПринять приведенные ниже условия?" +msgstr "" +"Этот плагин содержит лицензию.\n" +"Чтобы установить этот плагин, необходимо принять условия лицензии.\n" +"Принять приведенные ниже условия?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1692,7 +1707,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n\nУкажите ваш принтер в списке ниже:" +msgstr "" +"Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n" +"\n" +"Укажите ваш принтер в списке ниже:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2650,7 +2668,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Вы изменили некоторые параметры профиля.\nЖелаете сохранить их или вернуть к прежним значениям?" +msgstr "" +"Вы изменили некоторые параметры профиля.\n" +"Желаете сохранить их или вернуть к прежним значениям?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3346,7 +3366,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura разработана компанией Ultimaker B.V. совместно с сообществом.\nCura использует следующие проекты с открытым исходным кодом:" +msgstr "" +"Cura разработана компанией Ultimaker B.V. совместно с сообществом.\n" +"Cura использует следующие проекты с открытым исходным кодом:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3459,7 +3481,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Значения некоторых параметров отличаются от значений профиля.\n\nНажмите для открытия менеджера профилей." +msgstr "" +"Значения некоторых параметров отличаются от значений профиля.\n" +"\n" +"Нажмите для открытия менеджера профилей." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3513,7 +3538,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n\nЩёлкните, чтобы сделать эти параметры видимыми." +msgstr "" +"Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n" +"\n" +"Щёлкните, чтобы сделать эти параметры видимыми." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3541,7 +3569,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Значение этого параметра отличается от значения в профиле.\n\nЩёлкните для восстановления значения из профиля." +msgstr "" +"Значение этого параметра отличается от значения в профиле.\n" +"\n" +"Щёлкните для восстановления значения из профиля." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3549,7 +3580,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n\nЩёлкните для восстановления вычисленного значения." +msgstr "" +"Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n" +"\n" +"Щёлкните для восстановления вычисленного значения." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3776,7 +3810,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Настройка принтера отключена\nG-code файлы нельзя изменять" +msgstr "" +"Настройка принтера отключена\n" +"G-code файлы нельзя изменять" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" From 00f1f69e4db6971952629aa20ee1972de18293f3 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 13:45:55 +0200 Subject: [PATCH 138/423] Review Turkish translations. Contributes to CURA-5741. --- resources/i18n/tr_TR/cura.po | 62 ++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 22a1947c76..30368056cf 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 13:40+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -62,7 +62,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

\n

{model_names}

\n

En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

\n

Yazdırma kalitesi kılavuzunu görüntüleyin

" +msgstr "" +"

Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

\n" +"

{model_names}

\n" +"

En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

\n" +"

Yazdırma kalitesi kılavuzunu görüntüleyin

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -1072,7 +1076,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

\n

Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

\n

Yedekler yapılandırma klasöründe bulunabilir.

\n

Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

\n " +msgstr "" +"

Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

\n" +"

Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

\n" +"

Yedekler yapılandırma klasöründe bulunabilir.

\n" +"

Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1105,7 +1114,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

\n

Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

\n " +msgstr "" +"

Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

\n" +"

Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1570,7 +1582,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Bu eklenti bir lisans içerir.\nBu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\nAşağıdaki koşulları kabul ediyor musunuz?" +msgstr "" +"Bu eklenti bir lisans içerir.\n" +"Bu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\n" +"Aşağıdaki koşulları kabul ediyor musunuz?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1690,7 +1705,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n\nAşağıdaki listeden yazıcınızı seçin:" +msgstr "" +"Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n" +"\n" +"Aşağıdaki listeden yazıcınızı seçin:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2646,7 +2664,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Bazı profil ayarlarını özelleştirdiniz.\nBu ayarları kaydetmek veya iptal etmek ister misiniz?" +msgstr "" +"Bazı profil ayarlarını özelleştirdiniz.\n" +"Bu ayarları kaydetmek veya iptal etmek ister misiniz?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3342,7 +3362,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\nCura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" +msgstr "" +"Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\n" +"Cura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3455,7 +3477,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın." +msgstr "" +"Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n" +"\n" +"Profil yöneticisini açmak için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3509,7 +3534,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n\nBu ayarları görmek için tıklayın." +msgstr "" +"Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n" +"\n" +"Bu ayarları görmek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3537,7 +3565,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Bu ayarın değeri profilden farklıdır.\n\nProfil değerini yenilemek için tıklayın." +msgstr "" +"Bu ayarın değeri profilden farklıdır.\n" +"\n" +"Profil değerini yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3545,7 +3576,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n\nHesaplanan değeri yenilemek için tıklayın." +msgstr "" +"Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n" +"\n" +"Hesaplanan değeri yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3770,7 +3804,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Yazdırma Ayarı devre dışı\nG-code dosyaları üzerinde değişiklik yapılamaz" +msgstr "" +"Yazdırma Ayarı devre dışı\n" +"G-code dosyaları üzerinde değişiklik yapılamaz" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" From 5da1b71e94fe16de49c333618c422f19c2b1c25c Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 13:54:02 +0200 Subject: [PATCH 139/423] Review Simplified Chinese translations. Contributes to CURA-5741. --- resources/i18n/zh_CN/cura.po | 62 ++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 2bbe81cfda..3c8f4b35a8 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 13:45+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" @@ -64,7 +64,11 @@ msgid "" "

{model_names}

\n" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" -msgstr "

由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

\n

{model_names}

\n

找出如何确保最好的打印质量和可靠性.

\n

查看打印质量指南

" +msgstr "" +"

由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

\n" +"

{model_names}

\n" +"

找出如何确保最好的打印质量和可靠性.

\n" +"

查看打印质量指南

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -1074,7 +1078,12 @@ msgid "" "

Backups can be found in the configuration folder.

\n" "

Please send us this Crash Report to fix the problem.

\n" " " -msgstr "

糟糕,Ultimaker Cura 似乎遇到了问题。

\n

在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

\n

您可在配置文件夹中找到备份。

\n

请向我们发送此错误报告,以便解决问题。

\n " +msgstr "" +"

糟糕,Ultimaker Cura 似乎遇到了问题。

\n" +"

在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

\n" +"

您可在配置文件夹中找到备份。

\n" +"

请向我们发送此错误报告,以便解决问题。

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1107,7 +1116,10 @@ msgid "" "

A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

\n" "

Please use the \"Send report\" button to post a bug report automatically to our servers

\n" " " -msgstr "

Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

\n

请使用“发送报告”按钮将错误报告自动发布到我们的服务器

\n " +msgstr "" +"

Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

\n" +"

请使用“发送报告”按钮将错误报告自动发布到我们的服务器

\n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1572,7 +1584,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "该插件包含一个许可。\n您需要接受此许可才能安装此插件。\n是否同意下列条款?" +msgstr "" +"该插件包含一个许可。\n" +"您需要接受此许可才能安装此插件。\n" +"是否同意下列条款?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1692,7 +1707,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n\n从以下列表中选择您的打印机:" +msgstr "" +"要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n" +"\n" +"从以下列表中选择您的打印机:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2646,7 +2664,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "您已自定义某些配置文件设置。\n您想保留或舍弃这些设置吗?" +msgstr "" +"您已自定义某些配置文件设置。\n" +"您想保留或舍弃这些设置吗?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3342,7 +3362,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura 由 Ultimaker B.V. 与社区合作开发。\nCura 使用以下开源项目:" +msgstr "" +"Cura 由 Ultimaker B.V. 与社区合作开发。\n" +"Cura 使用以下开源项目:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 msgctxt "@label" @@ -3455,7 +3477,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "某些设置/重写值与存储在配置文件中的值不同。\n\n点击打开配置文件管理器。" +msgstr "" +"某些设置/重写值与存储在配置文件中的值不同。\n" +"\n" +"点击打开配置文件管理器。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 msgctxt "@label:textbox" @@ -3509,7 +3534,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "一些隐藏设置正在使用有别于一般设置的计算值。\n\n单击以使这些设置可见。" +msgstr "" +"一些隐藏设置正在使用有别于一般设置的计算值。\n" +"\n" +"单击以使这些设置可见。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3537,7 +3565,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "此设置的值与配置文件不同。\n\n单击以恢复配置文件的值。" +msgstr "" +"此设置的值与配置文件不同。\n" +"\n" +"单击以恢复配置文件的值。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 msgctxt "@label" @@ -3545,7 +3576,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "此设置通常可被自动计算,但其当前已被绝对定义。\n\n单击以恢复自动计算的值。" +msgstr "" +"此设置通常可被自动计算,但其当前已被绝对定义。\n" +"\n" +"单击以恢复自动计算的值。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3768,7 +3802,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "打印设置已禁用\nG-code 文件无法被修改" +msgstr "" +"打印设置已禁用\n" +"G-code 文件无法被修改" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 msgctxt "@tooltip" From ee5d647b6da72e71c37ed102a40fc67f2ff856a8 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 14:42:25 +0200 Subject: [PATCH 140/423] Review the fdmprinter.def.json for Korean, Dutch, Portuguese, Russian, Turkish and Simplified Chinese. Contributes to CURA-5741. --- resources/i18n/ko_KR/fdmprinter.def.json.po | 18 +++++++++++++----- resources/i18n/nl_NL/fdmprinter.def.json.po | 18 +++++++++++++----- resources/i18n/pt_PT/fdmprinter.def.json.po | 18 +++++++++++++----- resources/i18n/ru_RU/fdmprinter.def.json.po | 18 +++++++++++++----- resources/i18n/tr_TR/fdmprinter.def.json.po | 18 +++++++++++++----- resources/i18n/zh_CN/fdmprinter.def.json.po | 18 +++++++++++++----- 6 files changed, 78 insertions(+), 30 deletions(-) diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 232e7185e4..adddd9e5c1 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 14:10+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" @@ -58,7 +58,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "시작과 동시에형실행될 G 코드 명령어 \n." +msgstr "" +"시작과 동시에형실행될 G 코드 명령어 \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,7 +72,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "맨 마지막에 실행될 G 코드 명령 \n." +msgstr "" +"맨 마지막에 실행될 G 코드 명령 \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1627,7 +1631,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "내부채움 영역 주변에 여분의 벽을 추가합니다. 이러한 벽은 상단/하단 스킨 라인이 늘어지는 것을 줄여줄 수 있습니다. 일부 여분 재료를 사용해도 같은 품질을 유지하는 데 필요한 필요한 상단/하단 스킨 층이 감소한다는 의미입니다.\n이 기능을 올바르게 구성하는 경우 내부채움 다각형 연결과 함께 사용해 이동 또는 리트랙션없이 모든 내부채움을 단일 돌출 경로에 연결할 수 있습니다." +msgstr "" +"내부채움 영역 주변에 여분의 벽을 추가합니다. 이러한 벽은 상단/하단 스킨 라인이 늘어지는 것을 줄여줄 수 있습니다. 일부 여분 재료를 사용해도 같은 품질을 유지하는 데 필요한 필요한 상단/하단 스킨 층이 감소한다는 의미입니다.\n" +"이 기능을 올바르게 구성하는 경우 내부채움 다각형 연결과 함께 사용해 이동 또는 리트랙션없이 모든 내부채움을 단일 돌출 경로에 연결할 수 있습니다." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3794,7 +3800,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." +msgstr "" +"프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n" +"이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index bbcef2b8c7..5853829744 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 14:10+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -56,7 +56,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n." +msgstr "" +"G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -68,7 +70,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n." +msgstr "" +"G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -3792,7 +3796,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "De horizontale afstand tussen de skirt en de eerste laag van de print.\nDit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." +msgstr "" +"De horizontale afstand tussen de skirt en de eerste laag van de print.\n" +"Dit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5229,7 +5235,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\nHierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." +msgstr "" +"De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\n" +"Hierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index c485d84a89..b3f44a22fd 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 14:15+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" "Language: pt_PT\n" @@ -58,7 +58,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "Comandos G-code a serem executados no início – separados por \n." +msgstr "" +"Comandos G-code a serem executados no início – separados por \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,7 +72,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "Comandos G-code a serem executados no fim – separados por \n." +msgstr "" +"Comandos G-code a serem executados no fim – separados por \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -3938,7 +3942,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\nEsta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." +msgstr "" +"A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\n" +"Esta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5417,7 +5423,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "A distância de um movimento ascendente que é extrudido a metade da velocidade.\nIsto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." +msgstr "" +"A distância de um movimento ascendente que é extrudido a metade da velocidade.\n" +"Isto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 466eea158d..36904625d8 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 14:15+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" "Language: ru_RU\n" @@ -58,7 +58,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n." +msgstr "" +"Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,7 +72,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n." +msgstr "" +"Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -3794,7 +3798,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "Горизонтальное расстояние между юбкой и первым слоем печати.\nМинимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." +msgstr "" +"Горизонтальное расстояние между юбкой и первым слоем печати.\n" +"Минимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5231,7 +5237,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\nЭто может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." +msgstr "" +"Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\n" +"Это может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index ba39d32284..6c70eb70e9 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 14:20+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -56,7 +56,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr " \n ile ayrılan, başlangıçta yürütülecek G-code komutları." +msgstr "" +" \n" +" ile ayrılan, başlangıçta yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -68,7 +70,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr " \n ile ayrılan, bitişte yürütülecek G-code komutları." +msgstr "" +" \n" +" ile ayrılan, bitişte yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "material_guid label" @@ -3792,7 +3796,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\nMinimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." +msgstr "" +"Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\n" +"Minimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5229,7 +5235,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\nBu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." +msgstr "" +"Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\n" +"Bu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index 5f16293384..41b2b736de 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-10-01 14:20+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" @@ -58,7 +58,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "在开始时执行的 G-code 命令 - 以 \n 分行。" +msgstr "" +"在开始时执行的 G-code 命令 - 以 \n" +" 分行。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,7 +72,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "在结束前执行的 G-code 命令 - 以 \n 分行。" +msgstr "" +"在结束前执行的 G-code 命令 - 以 \n" +" 分行。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -3794,7 +3798,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "skirt 和打印第一层之间的水平距离。\n这是最小距离。多个 skirt 走线将从此距离向外延伸。" +msgstr "" +"skirt 和打印第一层之间的水平距离。\n" +"这是最小距离。多个 skirt 走线将从此距离向外延伸。" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5231,7 +5237,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "以半速挤出的上行移动的距离。\n这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" +msgstr "" +"以半速挤出的上行移动的距离。\n" +"这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" #: fdmprinter.def.json msgctxt "wireframe_top_jump label" From cc7d64b4f147f542cb21578adb6170fb3936042d Mon Sep 17 00:00:00 2001 From: drzejkopf <41212609+drzejkopf@users.noreply.github.com> Date: Sun, 23 Sep 2018 15:21:14 +0200 Subject: [PATCH 141/423] Complete Polish translation for version 3.5 --- resources/i18n/pl_PL/cura.po | 256 ++++++++++++++++++----------------- 1 file changed, 130 insertions(+), 126 deletions(-) diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index bab972db8c..5003eee692 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -8,15 +8,15 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-04-14 14:35+0200\n" -"Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" +"PO-Revision-Date: 2018-09-21 20:52+0200\n" +"Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.1.1\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -43,18 +43,18 @@ msgstr "Pliki G-code" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "Zapisywacz G-code nie obsługuje trybu nietekstowego." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Wygeneruj G-code przed zapisem." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" msgid "3D Model Assistant" -msgstr "" +msgstr "Asystent Modelu 3D" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:80 #, python-brace-format @@ -65,6 +65,10 @@ msgid "" "

Find out how to ensure the best possible print quality and reliability.

\n" "

View print quality guide

" msgstr "" +"

Jeden lub więcej modeli 3D może nie zostać wydrukowanych optymalnie ze względu na wymiary modelu oraz konfigurację materiału:

\n" +"

{model_names}

\n" +"

Dowiedz się, jak zapewnić najlepszą możliwą jakość oraz niezawodnośc wydruku.

\n" +"

Zobacz przewodnik po jakości wydruku (strona w języku angielskim)

" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -104,7 +108,7 @@ msgstr "Połączono przez USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Trwa drukowanie przez USB, zamknięcie Cura spowoduje jego zatrzymanie. Jesteś pewien?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -115,12 +119,12 @@ msgstr "Plik X3G" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/GPX-prefix/src/GPX/slicerplugins/cura15.06/X3gWriter/__init__.py:16 msgctxt "X3g Writer Plugin Description" msgid "Writes X3g to files" -msgstr "" +msgstr "Zapisuje do plików X3g" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/GPX-prefix/src/GPX/slicerplugins/cura15.06/X3gWriter/__init__.py:21 msgctxt "X3g Writer File Description" msgid "X3g File" -msgstr "" +msgstr "Plik X3g" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/__init__.py:17 #: /home/ruben/Projects/Cura/plugins/GCodeGzReader/__init__.py:17 @@ -131,7 +135,7 @@ msgstr "Skompresowany Plik G-code" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "Zapisywacz skompresowanego G-code nie obsługuje trybu tekstowego." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -501,7 +505,7 @@ msgstr "Jak zaktualizować" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 msgctxt "@info" msgid "Could not access update information." -msgstr "Nie można uzyskać dostępu do informacji o aktualizacji" +msgstr "Nie można uzyskać dostępu do informacji o aktualizacji." #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" @@ -545,12 +549,12 @@ msgstr "Zbieranie Danych" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 msgctxt "@action:button" msgid "More info" -msgstr "" +msgstr "Więcej informacji" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." -msgstr "" +msgstr "Zobacz więcej informacji o tym, jakie dane przesyła Cura." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 msgctxt "@action:button" @@ -565,7 +569,7 @@ msgstr "Zezwól Cura na wysyłanie anonimowych danych statystycznych, aby pomóc #: /home/ruben/Projects/Cura/plugins/LegacyProfileReader/__init__.py:14 msgctxt "@item:inlistbox" msgid "Cura 15.04 profiles" -msgstr "Profile Cura 15.04 " +msgstr "Profile Cura 15.04" #: /home/ruben/Projects/Cura/plugins/ImageReader/__init__.py:14 msgctxt "@item:inlistbox" @@ -628,7 +632,7 @@ msgstr "Nie można pociąć, ponieważ wieża czyszcząca lub jej pozycja(e) są #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Nie można pociąć, ponieważ obecne są obiekty powiązane z wyłączonym ekstruderem %s." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -684,12 +688,12 @@ msgstr "Dysza" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "Plik projektu {0} zawiera nieznany typ maszyny {1}. Nie można zaimportować maszyny. Zostaną zaimportowane modele." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Otwórz Plik Projektu" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -746,7 +750,7 @@ msgstr "Plik Cura Project 3MF" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Błąd zapisu pliku 3mf." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -802,7 +806,7 @@ msgstr "Łączenie podpory" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 msgctxt "@tooltip" msgid "Support" -msgstr "Podpory " +msgstr "Podpory" #: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 msgctxt "@tooltip" @@ -1008,22 +1012,22 @@ msgstr "Obszar Roboczy" #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" -msgstr "" +msgstr "Nie można utworzyć archiwum z folderu danych użytkownika: {}" #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 msgctxt "@info:title" msgid "Backup" -msgstr "" +msgstr "Kopia zapasowa" #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." -msgstr "" +msgstr "Podjęto próbę przywrócenia kopii zapasowej Cura na podstawie niepoprawnych danych lub metadanych." #: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." -msgstr "" +msgstr "Podjęto próbę przywrócenia kopii zapasowej Cura, która nie odpowiada obecnej wersji programu." #: /home/ruben/Projects/Cura/cura/MultiplyObjectsJob.py:27 msgctxt "@info:status" @@ -1429,7 +1433,7 @@ msgstr "Zainstalowane" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxErrorPage.qml:16 msgctxt "@info" msgid "Could not connect to the Cura Package database. Please check your connection." -msgstr "" +msgstr "Nie można połączyć się z bazą danych pakietów Cura. Sprawdź swoje połączenie z internetem." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 @@ -1447,22 +1451,22 @@ msgstr "Materiał" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 msgctxt "@label" msgid "Version" -msgstr "" +msgstr "Wersja" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 msgctxt "@label" msgid "Last updated" -msgstr "" +msgstr "Ostatnia aktualizacja" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 msgctxt "@label" msgid "Author" -msgstr "" +msgstr "Autor" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Pobrań" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1481,93 +1485,93 @@ msgstr "Aktualizuj" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:31 msgctxt "@action:button" msgid "Updating" -msgstr "" +msgstr "Aktualizowanie" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailTileActions.qml:46 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:32 msgctxt "@action:button" msgid "Updated" -msgstr "" +msgstr "Zaktualizowano" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/Toolbox.qml:13 msgctxt "@title" msgid "Toolbox" -msgstr "" +msgstr "Narzędzia" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxBackColumn.qml:25 msgctxt "@action:button" msgid "Back" -msgstr "" +msgstr "Powrót" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Potwierdź odinstalowanie " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Odinstalowujesz materiały i/lub profile, które są aktualnie używane. Zatwierdzenie spowoduje przywrócenie bieżących ustawień materiału/profilu do ustawień domyślnych." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materiały" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Profile" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Potwierdź" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" msgid "You will need to restart Cura before changes in packages have effect." -msgstr "" +msgstr "Należy uruchomić ponownie Cura, aby zmiany w pakietach przyniosły efekt." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:34 msgctxt "@info:button" msgid "Quit Cura" -msgstr "" +msgstr "Zakończ Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Udział Społeczności" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Wtyczki Społeczności" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Materiały Podstawowe" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" msgid "Installed" -msgstr "" +msgstr "Zainstalowano" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:19 msgctxt "@label" msgid "Will install upon restarting" -msgstr "" +msgstr "Zostanie zainstalowane po ponownym uruchomieniu" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:51 msgctxt "@action:button" msgid "Downgrade" -msgstr "" +msgstr "Zainstaluj poprzednią wersję" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:51 msgctxt "@action:button" msgid "Uninstall" -msgstr "" +msgstr "Odinstaluj" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:16 msgctxt "@title:window" @@ -1598,27 +1602,27 @@ msgstr "Odrzuć" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcase.qml:23 msgctxt "@label" msgid "Featured" -msgstr "" +msgstr "Polecane" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml:31 msgctxt "@label" msgid "Compatibility" -msgstr "" +msgstr "Zgodność" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLoadingPage.qml:16 msgctxt "@info" msgid "Fetching packages..." -msgstr "" +msgstr "Uzyskiwanie pakietów..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Strona internetowa" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "E-mail" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1755,12 +1759,12 @@ msgstr "Adres" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Ta drukarka nie jest skonfigurowana jako host dla grupy drukarek." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Ta drukarka jest hostem grupy %1 drukarek." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1808,52 +1812,52 @@ msgstr "Drukuj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Oczekiwanie na: Niedostępną drukarkę" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Oczekiwanie na: Pierwszą dostępną" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Oczekiwanie na: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Przesuń na początek" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Przesuń zadanie drukowania na początek" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz przesunąć %1 na początek kolejki?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Usuń" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Usuń zadanie drukowania" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz usunąć %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Zarządzaj kolejką" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1868,57 +1872,57 @@ msgstr "Drukowanie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Zarządzaj drukarkami" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Niedostępny" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Nieosiągalny" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Dostępny" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Ponów" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Wstrzymaj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Anuluj" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" -msgstr "Przerwij wydruk" +msgstr "Anuluj wydruk" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz anulować %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Anulowano" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1933,7 +1937,7 @@ msgstr "Przygotowywanie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Wstrzymywanie" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2073,22 +2077,22 @@ msgstr "Zmień aktywne skrypty post-processingu" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:16 msgctxt "@title:window" msgid "More information on anonymous data collection" -msgstr "" +msgstr "Wiećej informacji o zbieraniu anonimowych danych" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:66 msgctxt "@text:window" msgid "Cura sends anonymous data to Ultimaker in order to improve the print quality and user experience. Below is an example of all the data that is sent." -msgstr "" +msgstr "Cura wysyła anonimowe dane do Ultimaker w celu polepszenia jakości wydruków oraz interakcji z użytkownikiem. Poniżej podano przykład wszystkich danych, jakie mogą być przesyłane." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:101 msgctxt "@text:window" msgid "I don't want to send these data" -msgstr "" +msgstr "Nie chcę przesyłać tych danych" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:111 msgctxt "@text:window" msgid "Allow sending these data to Ultimaker and help us improve Cura" -msgstr "" +msgstr "Zezwól na przesyłanie tych danych do Ultimaker i pomóż nam ulepszać Cura" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:19 msgctxt "@title:window" @@ -2351,7 +2355,7 @@ msgstr "Otwórz" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Poprzedni" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2363,12 +2367,12 @@ msgstr "Eksportuj" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Następny" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Końcówka" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2417,12 +2421,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Próbny wydruk" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Lista kontrolna" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2645,7 +2649,7 @@ msgstr "Usuń wydruk" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Anuluj Wydruk" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -2725,7 +2729,7 @@ msgstr "Potwierdź Zmianę Średnicy" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:101 msgctxt "@label (%1 is a number)" msgid "The new filament diameter is set to %1 mm, which is not compatible with the current extruder. Do you wish to continue?" -msgstr "" +msgstr "Średnica nowego filamentu została ustawiona na %1mm, i nie jest kompatybilna z bieżącym ekstruderem. Czy chcesz kontynuować?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsView.qml:133 msgctxt "@label" @@ -3068,12 +3072,12 @@ msgstr "Skaluj bardzo małe modele" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" -msgstr "" +msgstr "Czy modele powinny zostać zaznaczone po załadowaniu?" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 msgctxt "@option:check" msgid "Select models when loaded" -msgstr "" +msgstr "Zaznaczaj modele po załadowaniu" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 msgctxt "@info:tooltip" @@ -3108,7 +3112,7 @@ msgstr "Domyślne zachowanie podczas otwierania pliku projektu: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Zawsze pytaj" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3128,22 +3132,22 @@ msgstr "Kiedy dokonasz zmian w profilu i przełączysz się na inny, zostanie wy #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Profile" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Domyślne zachowanie dla zmienionych ustawień podczas zmiany profilu na inny: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Zawsze odrzucaj wprowadzone zmiany" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Zawsze przenoś wprowadzone zmiany do nowego profilu" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3173,7 +3177,7 @@ msgstr "Wyślij (anonimowe) informacje o drukowaniu" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 msgctxt "@action:button" msgid "More information" -msgstr "" +msgstr "Więcej informacji" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 msgctxt "@label" @@ -3338,7 +3342,7 @@ msgstr "Dodaj drukarkę" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Bez tytułu" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3519,12 +3523,12 @@ msgstr "Skonfiguruj widoczność ustawień ..." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 msgctxt "@action:inmenu" msgid "Collapse All" -msgstr "" +msgstr "Schowaj wszystkie" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 msgctxt "@action:inmenu" msgid "Expand All" -msgstr "" +msgstr "Rozwiń wszystkie" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 msgctxt "@label" @@ -3696,17 +3700,17 @@ msgstr "Przed drukowaniem podgrzej stół. W dalszym ciągu można dostosowywać #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Materiał" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Ulubione" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Podstawowe" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3780,12 +3784,12 @@ msgstr "Ekstruder" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/SyncButton.qml:16 msgctxt "@label:extruder label" msgid "Yes" -msgstr "" +msgstr "Tak" #: /home/ruben/Projects/Cura/resources/qml/Menus/ConfigurationMenu/SyncButton.qml:16 msgctxt "@label:extruder label" msgid "No" -msgstr "" +msgstr "Nie" #: /home/ruben/Projects/Cura/resources/qml/Menus/RecentFilesMenu.qml:13 msgctxt "@title:menu menubar:file" @@ -3980,7 +3984,7 @@ msgstr "&Grupuj modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" -msgstr "Rozgrupuj modele " +msgstr "Rozgrupuj modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 msgctxt "@action:inmenu menubar:edit" @@ -4010,7 +4014,7 @@ msgstr "Przeładuj wszystkie modele" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" -msgstr "Rozłóż Wszystkie Modele na Wszystkie Platformy Robocze." +msgstr "Rozłóż Wszystkie Modele na Wszystkie Platformy Robocze" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 msgctxt "@action:inmenu menubar:edit" @@ -4055,7 +4059,7 @@ msgstr "Pokaż folder konfiguracji" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 msgctxt "@action:menu" msgid "Browse packages..." -msgstr "" +msgstr "Przeglądaj pakiety..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 msgctxt "@action:inmenu menubar:view" @@ -4146,17 +4150,17 @@ msgstr "&Plik" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Zapisz..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Eksportuj..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Eksportuj Zaznaczenie..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4218,7 +4222,7 @@ msgstr "&Rozszerzenia" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" -msgstr "" +msgstr "&Narzędzia" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 msgctxt "@title:menu menubar:toplevel" @@ -4233,7 +4237,7 @@ msgstr "P&omoc" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 msgctxt "@label" msgid "This package will be installed after restarting." -msgstr "" +msgstr "Ten pakiet zostanie zainstalowany po ponownym uruchomieniu." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 msgctxt "@action:button" @@ -4258,18 +4262,18 @@ msgstr "Czy na pewno chcesz rozpocząć nowy projekt? Spowoduje to wyczyszczenie #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Zamykanie Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Czy jesteś pewien, że chcesz zakończyć Cura?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" msgid "Install Package" -msgstr "" +msgstr "Instaluj pakiety" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@title:window" @@ -4446,7 +4450,7 @@ msgstr "Materiał" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Użyj kleju z tą kombinacją materiałów" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4476,7 +4480,7 @@ msgstr "Rozłóż na obecnej platformie roboczej" #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc.)." -msgstr "" +msgstr "Zapewnia możliwość zmiany ustawień maszyny (takich jak objętość robocza, rozmiar dyszy itp.)." #: MachineSettingsAction/plugin.json msgctxt "name" @@ -4486,12 +4490,12 @@ msgstr "Ustawienia Maszyny" #: Toolbox/plugin.json msgctxt "description" msgid "Find, manage and install new Cura packages." -msgstr "" +msgstr "Znajdź, zarządzaj i instaluj nowe pakiety Cura." #: Toolbox/plugin.json msgctxt "name" msgid "Toolbox" -msgstr "" +msgstr "Narzędzia" #: XRayView/plugin.json msgctxt "description" @@ -4521,7 +4525,7 @@ msgstr "Zapisuje g-code do pliku." #: GCodeWriter/plugin.json msgctxt "name" msgid "G-code Writer" -msgstr "Pisarz G-code" +msgstr "Zapisywacz G-code" #: ModelChecker/plugin.json msgctxt "description" @@ -4576,7 +4580,7 @@ msgstr "Drukowanie USB" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "" +msgstr "Zapytaj użytkownika jednokrotnie, czy zgadza się z warunkami naszej licencji." #: UserAgreement/plugin.json msgctxt "name" @@ -4586,12 +4590,12 @@ msgstr "ZgodaUżytkownika" #: X3GWriter/plugin.json msgctxt "description" msgid "Allows saving the resulting slice as an X3G file, to support printers that read this format (Malyan, Makerbot and other Sailfish-based printers)." -msgstr "" +msgstr "Umożliwia zapisanie wyników cięcia jako plik X3G, aby wspierać drukarki obsługujące ten format (Malyan, Makerbot oraz inne oparte o oprogramowanie Sailfish)." #: X3GWriter/plugin.json msgctxt "name" msgid "X3GWriter" -msgstr "" +msgstr "Zapisywacz X3G" #: GCodeGzWriter/plugin.json msgctxt "description" @@ -4636,7 +4640,7 @@ msgstr "Wtyczka Urządzenia Wyjścia Dysku Zewn." #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "" +msgstr "Zarządza ustawieniami połączenia sieciowego z drukarkami Ultimaker 3." #: UM3NetworkPrinting/plugin.json msgctxt "name" @@ -4756,12 +4760,12 @@ msgstr "Ulepszenie Wersji z 3.2 do 3.3" #: VersionUpgrade/VersionUpgrade33to34/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.3 to Cura 3.4." -msgstr "" +msgstr "Ulepsza konfigurację z Cura 3.3 do Cura 3.4." #: VersionUpgrade/VersionUpgrade33to34/plugin.json msgctxt "name" msgid "Version Upgrade 3.3 to 3.4" -msgstr "" +msgstr "Ulepszenie Wersji z 3.3 do 3.4" #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "description" @@ -4786,12 +4790,12 @@ msgstr "Ulepszenie Wersji 2.7 do 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Ulepsza konfigurację z Cura 3.4 do Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Ulepszenie Wersji z 3.4 do 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" @@ -4926,7 +4930,7 @@ msgstr "3MF Writer" #: UltimakerMachineActions/plugin.json msgctxt "description" msgid "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.)." -msgstr "" +msgstr "Zapewnia czynności maszyny dla urządzeń Ultimaker (na przykład kreator poziomowania stołu, wybór ulepszeń itp.)." #: UltimakerMachineActions/plugin.json msgctxt "name" From 8fa73fc1fb4f48d1c7936c583402fba46219dda1 Mon Sep 17 00:00:00 2001 From: drzejkopf <41212609+drzejkopf@users.noreply.github.com> Date: Sun, 23 Sep 2018 15:28:14 +0200 Subject: [PATCH 142/423] Update fdmprinter.def.json.po --- resources/i18n/pl_PL/fdmprinter.def.json.po | 127 ++++++++++---------- 1 file changed, 66 insertions(+), 61 deletions(-) diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index caff3d9438..53aa32009e 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -6,16 +6,17 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-17 16:45+0200\n" -"Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" +"PO-Revision-Date: 2018-09-21 21:52+0200\n" +"Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" "Language-Team: reprapy.pl\n" "Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.1.1\n" +"POT-Creation-Date: \n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -1073,12 +1074,12 @@ msgstr "Zygzak" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Połącz Górne/Dolne Wieloboki" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Łączy górne/dolne ścieżki powłoki, gdy są one prowadzone obok siebie. Przy wzorze koncentrycznym, załączenie tego ustawienia znacznie zredukuje czas ruchów jałowych, ale ze względu na to, że połączenie może nastąpić w połowie drogi ponad wypełnieniem, ta fukncja może pogorszyć jakość górnej powierzchni." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1108,7 +1109,7 @@ msgstr "Optymalizuj Kolejność Drukowania Ścian" #: fdmprinter.def.json msgctxt "optimize_wall_printing_order description" msgid "Optimize the order in which walls are printed so as to reduce the number of retractions and the distance travelled. Most parts will benefit from this being enabled but some may actually take longer so please compare the print time estimates with and without optimization. First layer is not optimized when choosing brim as build plate adhesion type." -msgstr "" +msgstr "Optymalizuje kolejność, w jakiej będą drukowane ścianki w celu zredukowania ilości retrakcji oraz dystansu ruchów jałowych. Większość części skorzysta na załączeniu tej funkcji, jednak w niektórych przypadkach czas druku może się wydłużyć, proszę więc o porównanie oszacowanego czasu z funkcją załączoną oraz wyłączoną. Pierwsza warstwa nie zostanie zoptymalizowana, jeżeli jako poprawa przyczepności stołu zostanie wybrany obrys." #: fdmprinter.def.json msgctxt "outer_inset_first label" @@ -1163,22 +1164,22 @@ msgstr "Kompensuje przepływ dla części, których wewnętrzna ściana jest dru #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Minimalny Przepływ Dla Ścianek" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Minimalny dopuszczalny przepływ procentowy dla linii ścianki. Kompensacja nakładania się ścianek redukuje przepływ, gdy dana ścianka znajduje się blisko wydrukowanej już ścianki. Ścianki, których przepływ powinien być mniejszy, niż ta wartość, będą zastąpione ruchami jałowymi. Aby używać tego ustawienia należy załączyć kompensację nakładających się ścianek oraz drukowanie ścianek zewnętrznych przed wewnętrznymi." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Preferuj Retrakcję" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Gdy załączone, retrakcja jest używana zamiast kombinowanego ruchu jałowego, który zastępuje ściankę, której przepływ jest mniejszy od minimalnego." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1478,7 +1479,7 @@ msgstr "Gęstość Wypełn." #: fdmprinter.def.json msgctxt "infill_sparse_density description" msgid "Adjusts the density of infill of the print." -msgstr "Dostosowuje gęstość wypełnienia wydruku" +msgstr "Dostosowuje gęstość wypełnienia wydruku." #: fdmprinter.def.json msgctxt "infill_line_distance label" @@ -1573,12 +1574,12 @@ msgstr "Łączy końce gdzie wzór wypełnienia spotyka się z wewn. ścianą u #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Połącz Wieloboki Wypełnienia" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Łączy ścieżki wypełnienia, gdy są one prowadzone obok siebie. Dla wzorów wypełnienia zawierających kilka zamkniętych wieloboków, załączenie tego ustawienia znacznie skróci czas ruchów jałowych." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1613,17 +1614,17 @@ msgstr "Wzór wypełnienia jest przesunięty o tę odległość wzdłuż osi Y." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Mnożnik Linii Wypełnienia" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Zmienia pojedynczą linię wypełnienia na zadaną ilość linii. Dodatkowe linie wypełnienia nie będą nad sobą przechodzić, ale będą się unikać. Sprawi to, że wypełnienie będzie sztywniejsze, ale czas druku oraz zużycie materiału zwiększą się." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Ilość Dodatkowych Ścianek Wypełnienia" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" @@ -1631,6 +1632,8 @@ msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." msgstr "" +"Dodaje ścianki naokoło wypełnienia. Takie ścianki mogą spowodować, że linie górnej/dolnej powłoki będą zwisać mniej, co pozwoli na zastosowanie mniejszej ilości górnych/dolnych warstw przy zachowaniu takiej samej jakości kosztem dodatkowego materiału.\n" +"Ta funkcja może być używana razem z funkcją \"Połącz Wieloboki Wypełnienia\", aby połączyć całe wypełnienie w pojedynczą ścieżkę, co przy poprawnej konfiguracji wyelinimuje potrzebę wykonywania ruchów jałowych lub retrakcji." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1745,22 +1748,22 @@ msgstr "Nie generuj obszarów wypełnienia mniejszych niż to (zamiast tego uży #: fdmprinter.def.json msgctxt "infill_support_enabled label" msgid "Infill Support" -msgstr "" +msgstr "Wypełnienie Podporowe" #: fdmprinter.def.json msgctxt "infill_support_enabled description" msgid "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." -msgstr "" +msgstr "Drukuj wypełnienie tylko w miejscach, w których górna część modelu powinna być podparta strukturą wewnętrzną. Załączenie tej funkcji skutkuje redukcją czasu druku, ale prowadzi do niejednolitej wytrzymałości obiektu." #: fdmprinter.def.json msgctxt "infill_support_angle label" msgid "Infill Overhang Angle" -msgstr "" +msgstr "Kąt Zwisu dla Wypełnienia" #: fdmprinter.def.json msgctxt "infill_support_angle description" msgid "The minimum angle of internal overhangs for which infill is added. At a value of 0° objects are totally filled with infill, 90° will not provide any infill." -msgstr "" +msgstr "Minimalny kąt zwisu wewnętrznego, dla którego zostanie dodane wypełnienie. Przy wartości 0° obiekty zostaną wypełnione całkowicie, natomiast przy 90° wypełnienie nie zostanie wygenerowane." #: fdmprinter.def.json msgctxt "skin_preshrink label" @@ -2095,12 +2098,12 @@ msgstr "Okno, w którym wymuszona jest maksymalna liczba retrakcji. Wartość ta #: fdmprinter.def.json msgctxt "limit_support_retractions label" msgid "Limit Support Retractions" -msgstr "" +msgstr "Ogranicz Retrakcje Pomiędzy Podporami" #: fdmprinter.def.json msgctxt "limit_support_retractions description" msgid "Omit retraction when moving from support to support in a straight line. Enabling this setting saves print time, but can lead to excesive stringing within the support structure." -msgstr "" +msgstr "Unikaj retrakcji podczas poruszania się od podpory do podpory w linii prostej. Załączenie tej funkcji spowoduje skrócenie czasu druku, lecz może prowadzić do nadmiernego nitkowania wewnątrz struktur podporowych." #: fdmprinter.def.json msgctxt "material_standby_temperature label" @@ -2210,7 +2213,7 @@ msgstr "Prędkość Wewn. Ściany" #: fdmprinter.def.json msgctxt "speed_wall_x description" msgid "The speed at which all inner walls are printed. Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall speed and the infill speed." -msgstr "Szybkość, z jaką drukowane są ściany wewnętrzne. Drukowanie wewnętrznej ściany szybciej niż zewn. pozwoli skrócić czas druku. Zaleca się, aby ustawić to pomiędzy prędkością zewn. ściany, a prędkością wypełnienia" +msgstr "Szybkość, z jaką drukowane są ściany wewnętrzne. Drukowanie wewnętrznej ściany szybciej niż zewn. pozwoli skrócić czas druku. Zaleca się, aby ustawić to pomiędzy prędkością zewn. ściany, a prędkością wypełnienia." #: fdmprinter.def.json msgctxt "speed_roofing label" @@ -2781,6 +2784,8 @@ msgstr "Tryb Kombinowania" msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." msgstr "" +"Kombinowanie utrzymuje dyszę w już zadrukowanych obszarach podczas ruchu jałowego. Powoduje to nieco dłuższe ruchy jałowe, ale zmniejsza potrzebę retrakcji. Jeśli kombinowanie jest wyłączone, materiał się cofa, a dysza przemieszcza się w linii prostej do następnego punktu. Można też unikać kombinowania na górnych/dolnych obszarach powłoki, a także kombinować tylko wewnątrz wypełnienia. Opcja \"Wewnątrz Wypełnienia\" wymusza takie samo zachowanie, jak opcja \"Nie w Powłoce\" we wcześniejszych " +"wydaniach Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2795,22 +2800,22 @@ msgstr "Wszędzie" #: fdmprinter.def.json msgctxt "retraction_combing option noskin" msgid "Not in Skin" -msgstr "" +msgstr "Nie w Powłoce" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Wewnątrz Wypełnienia" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" msgid "Max Comb Distance With No Retract" -msgstr "" +msgstr "Max. Dystans Kombinowania Bez Retrakcji" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance description" msgid "When non-zero, combing travel moves that are longer than this distance will use retraction." -msgstr "" +msgstr "Przy wartości niezerowej, kombinowane ruchy jałowe o dystansie większym niż zadany bedą używały retrakcji." #: fdmprinter.def.json msgctxt "travel_retract_before_outer_wall label" @@ -2835,12 +2840,12 @@ msgstr "Dysza unika już wydrukowanych części podczas ruchu jałowego. Ta opcj #: fdmprinter.def.json msgctxt "travel_avoid_supports label" msgid "Avoid Supports When Traveling" -msgstr "" +msgstr "Unikaj Podpór Podczas Ruchu Jałowego" #: fdmprinter.def.json msgctxt "travel_avoid_supports description" msgid "The nozzle avoids already printed supports when traveling. This option is only available when combing is enabled." -msgstr "" +msgstr "Dysza będzie omijała już wydrukowane podpory podczas ruchu jałowego. Ta opcja jest dostępna jedynie, gdy kombinowanie jest włączone." #: fdmprinter.def.json msgctxt "travel_avoid_distance label" @@ -3195,12 +3200,12 @@ msgstr "Krzyż" #: fdmprinter.def.json msgctxt "support_wall_count label" msgid "Support Wall Line Count" -msgstr "" +msgstr "Ilość Ścianek Podpory" #: fdmprinter.def.json msgctxt "support_wall_count description" msgid "The number of walls with which to surround support infill. Adding a wall can make support print more reliably and can support overhangs better, but increases print time and material used." -msgstr "" +msgstr "Liczba ścianek otaczających wypełnienie podpory. Dodanie ścianki może sprawić, że podpory będą drukowane solidniej i będą mogły lepiej podpierać nawisy, ale wydłuży to czas druku i zwiększy ilość użytego materiału." #: fdmprinter.def.json msgctxt "zig_zaggify_support label" @@ -3245,22 +3250,22 @@ msgstr "Odległość między drukowanymi liniami struktury podpory. To ustawieni #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Odstęp Między Liniami Podpory w Pocz. Warstwie" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Odległość między drukowanymi liniami struktury podpory w początkowej warstwie. To ustawienie jest obliczane na podstawie gęstości podpory." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Kierunek Linii Wypełnienia Podpory" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Orientacja wzoru wypełnienia dla podpór. Wzór podpory jest obracany w płaszczyźnie poziomej." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3630,22 +3635,22 @@ msgstr "Zygzak" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Nadpisanie Prędkości Wentylatora" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Gdy załączone, prędkość wentylatora chłodzącego wydruk jest zmieniana dla obszarów leżących bezpośrednio ponad podporami," #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Prędkość Wentylatora Podpartej Powłoki" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Procentowa prędkść wentylatora, która zostanie użyta podczas drukowania obszarów powłoki leżących bezpośrednio nad podstawami. Użycie wysokiej prędkości może ułatwić usuwanie podpór." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3974,7 +3979,7 @@ msgstr "Szerokość linii na podstawowej warstwie tratwy. Powinny być to grube #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Rozstaw Linii Podstawy Tratwy" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4069,7 +4074,7 @@ msgstr "Zryw Tratwy" #: fdmprinter.def.json msgctxt "raft_jerk description" msgid "The jerk with which the raft is printed." -msgstr "Zryw, z jakim drukowana jest tratwa" +msgstr "Zryw, z jakim drukowana jest tratwa." #: fdmprinter.def.json msgctxt "raft_surface_jerk label" @@ -4719,12 +4724,12 @@ msgstr "Dane łączące przepływ materiału (w mm3 na sekundę) z temperaturą #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Minimalny Obwód Wieloboku" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Wieloboki w pociętych warstwach mające obwód mniejszy, niż podany, będą odfiltrowane. Mniejsze wartości dają wyższą rozdzielczość siatki kosztem czasu cięcia. Funkcja ta jest przeznaczona głównie dla drukarek wysokiej rozdzielczości SLA oraz bardzo małych modeli z dużą ilością detali." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -4739,12 +4744,12 @@ msgstr "Minimalny rozmiar linii segmentu po pocięciu. Jeżeli to zwiększysz, s #: fdmprinter.def.json msgctxt "meshfix_maximum_travel_resolution label" msgid "Maximum Travel Resolution" -msgstr "" +msgstr "Maksymalna Rozdzielczość Ruchów Jałowych" #: fdmprinter.def.json msgctxt "meshfix_maximum_travel_resolution description" msgid "The minimum size of a travel line segment after slicing. If you increase this, the travel moves will have less smooth corners. This may allow the printer to keep up with the speed it has to process g-code, but it may cause model avoidance to become less accurate." -msgstr "" +msgstr "Minimalny rozmiar segmentu linii ruchu jałowego po pocięciu. Jeżeli ta wartość zostanie zwiększona, ruch jałowy będzie miał mniej gładkie zakręty. Może to spowodować przyspieszenie prędkości przetwarzania g-code, ale unikanie modelu może być mniej dokładne." #: fdmprinter.def.json msgctxt "support_skip_some_zags label" @@ -4909,22 +4914,22 @@ msgstr "Rozmiar kieszeni na czterostronnych skrzyżowaniach we wzorze krzyż 3D #: fdmprinter.def.json msgctxt "cross_infill_density_image label" msgid "Cross Infill Density Image" -msgstr "" +msgstr "Gęstośc Wypełnienia Krzyżowego Według Obrazu" #: fdmprinter.def.json msgctxt "cross_infill_density_image description" msgid "The file location of an image of which the brightness values determine the minimal density at the corresponding location in the infill of the print." -msgstr "" +msgstr "Lokalizacja pliku obrazu, którego jasność będzie determinowała minimalną gęstość wypełnienia wydruku w danym punkcie." #: fdmprinter.def.json msgctxt "cross_support_density_image label" msgid "Cross Fill Density Image for Support" -msgstr "" +msgstr "Gęstości Wypełnienia Krzyżowego Podstaw Według Obrazu" #: fdmprinter.def.json msgctxt "cross_support_density_image description" msgid "The file location of an image of which the brightness values determine the minimal density at the corresponding location in the support." -msgstr "" +msgstr "Lokalizacja pliku obrazu, którego jasność będzie determinowała minimalną gęstość wypełnienia podstawy w danym punkcie." #: fdmprinter.def.json msgctxt "spaghetti_infill_enabled label" @@ -5174,7 +5179,7 @@ msgstr "DD Przepływ" #: fdmprinter.def.json msgctxt "wireframe_flow description" msgid "Flow compensation: the amount of material extruded is multiplied by this value. Only applies to Wire Printing." -msgstr "Kompensacja przepływu: ilość wytłaczanego materiału jest mnożona przez tę wartość. Odnosi się tylko do Drukowania Drutu. " +msgstr "Kompensacja przepływu: ilość wytłaczanego materiału jest mnożona przez tę wartość. Odnosi się tylko do Drukowania Drutu." #: fdmprinter.def.json msgctxt "wireframe_flow_connection label" @@ -5258,7 +5263,7 @@ msgstr "DD Spadek" #: fdmprinter.def.json msgctxt "wireframe_fall_down description" msgid "Distance with which the material falls down after an upward extrusion. This distance is compensated for. Only applies to Wire Printing." -msgstr "Odległość o jaką spada materiału przez wytłaczanie w górę. Długość ta jest kompensowana. Odnosi się tylko do Drukowania Drutu" +msgstr "Odległość o jaką spada materiału przez wytłaczanie w górę. Długość ta jest kompensowana. Odnosi się tylko do Drukowania Drutu." #: fdmprinter.def.json msgctxt "wireframe_drag_along label" @@ -5363,7 +5368,7 @@ msgstr "Maks. zmiana zmiennych warstw" #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation description" msgid "The maximum allowed height different from the base layer height." -msgstr "" +msgstr "Maksymalna dozwolona różnica wysokości względem bazowej wysokości warstwy." #: fdmprinter.def.json msgctxt "adaptive_layer_height_variation_step label" @@ -5388,22 +5393,22 @@ msgstr "Opóźnienie w wyborze, czy użyć mniejszej warstwy, czy nie. Ta liczba #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Kąt Nawisającej Ścianki" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Ścianka o większym kącie nawisu niż podany będzie drukowana z użyciem ustawień nawisającej ścianki. Przy wartości 90°, żadna ścianka nie będzie traktowana jako ścianka nawisająca." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Prędkość Ścianki Nawisającej" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Nawisające ścianki będą drukowane z taką procentową wartością względem normalnej prędkości druku." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" @@ -5608,7 +5613,7 @@ msgstr "Ustawienia, które są używane tylko wtedy, gdy CuraEngine nie jest wyw #: fdmprinter.def.json msgctxt "center_object label" msgid "Center Object" -msgstr "" +msgstr "Wyśrodkuj obiekt" #: fdmprinter.def.json msgctxt "center_object description" @@ -5618,7 +5623,7 @@ msgstr "Czy wyśrodkować obiekt na środku stołu (0,0), zamiast używać ukła #: fdmprinter.def.json msgctxt "mesh_position_x label" msgid "Mesh Position X" -msgstr "" +msgstr "Pozycja Siatki w X" #: fdmprinter.def.json msgctxt "mesh_position_x description" @@ -5628,7 +5633,7 @@ msgstr "Przesunięcie zastosowane dla obiektu w kierunku X." #: fdmprinter.def.json msgctxt "mesh_position_y label" msgid "Mesh Position Y" -msgstr "" +msgstr "Pozycja Siatki w Y" #: fdmprinter.def.json msgctxt "mesh_position_y description" @@ -5638,7 +5643,7 @@ msgstr "Przesunięcie zastosowane dla obiektu w kierunku Y." #: fdmprinter.def.json msgctxt "mesh_position_z label" msgid "Mesh Position Z" -msgstr "" +msgstr "Pozycja Siatki w Z" #: fdmprinter.def.json msgctxt "mesh_position_z description" From edb5de99542cae94d97a861cd8725d216985919a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 1 Oct 2018 14:50:53 +0200 Subject: [PATCH 143/423] Added unit test for settingvisibility presets CURA-5734 --- cura/CuraApplication.py | 2 +- .../Models/SettingVisibilityPresetsModel.py | 19 ++-- cura/Settings/SettingVisibilityPreset.py | 4 +- .../Settings/TestSettingVisibilityPresets.py | 90 +++++++++++++++++++ .../setting_visiblity_preset_test.cfg | 11 +++ 5 files changed, 113 insertions(+), 13 deletions(-) create mode 100644 tests/Settings/TestSettingVisibilityPresets.py create mode 100644 tests/Settings/setting_visiblity_preset_test.cfg diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 18f86959a7..989ed27dea 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -702,7 +702,7 @@ class CuraApplication(QtApplication): self._cura_actions = CuraActions.CuraActions(self) # Initialize setting visibility presets model. - self._setting_visibility_presets_model = SettingVisibilityPresetsModel(self) + self._setting_visibility_presets_model = SettingVisibilityPresetsModel(self.getPreferences(), parent = self) # Detect in which mode to run and execute that mode if self._is_headless: diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index cd0233747d..8ce87f4640 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -25,16 +25,16 @@ class SettingVisibilityPresetsModel(QObject): onItemsChanged = pyqtSignal() activePresetChanged = pyqtSignal() - def __init__(self, parent = None): + def __init__(self, preferences, parent = None): super().__init__(parent) self._items = [] # type: List[SettingVisibilityPreset] self._populate() - basic_item = self._getVisibilityPresetById("basic") + basic_item = self.getVisibilityPresetById("basic") basic_visibile_settings = ";".join(basic_item.settings) - self._preferences = Application.getInstance().getPreferences() + self._preferences = preferences # Preference to store which preset is currently selected self._preferences.addPreference("cura/active_setting_visibility_preset", "basic") @@ -43,19 +43,19 @@ class SettingVisibilityPresetsModel(QObject): self._preferences.addPreference("cura/custom_visible_settings", basic_visibile_settings) self._preferences.preferenceChanged.connect(self._onPreferencesChanged) - self._active_preset_item = self._getVisibilityPresetById(self._preferences.getValue("cura/active_setting_visibility_preset")) + self._active_preset_item = self.getVisibilityPresetById(self._preferences.getValue("cura/active_setting_visibility_preset")) # Initialize visible settings if it is not done yet visible_settings = self._preferences.getValue("general/visible_settings") + if not visible_settings: self._preferences.setValue("general/visible_settings", ";".join(self._active_preset_item.settings)) - else: self._onPreferencesChanged("general/visible_settings") self.activePresetChanged.emit() - def _getVisibilityPresetById(self, item_id: str) -> Optional[SettingVisibilityPreset]: + def getVisibilityPresetById(self, item_id: str) -> Optional[SettingVisibilityPreset]: result = None for item in self._items: if item.id == item_id: @@ -81,8 +81,7 @@ class SettingVisibilityPresetsModel(QObject): # Sort them on weight (and if that fails, use ID) items.sort(key = lambda k: (int(k.weight), k.id)) - # Set items and ensure there are no duplicated values - self.setItems(list(set(items))) + self.setItems(items) @pyqtProperty("QVariantList", notify = onItemsChanged) def items(self): @@ -99,7 +98,7 @@ class SettingVisibilityPresetsModel(QObject): Logger.log("d", "Same setting visibility preset [%s] selected, do nothing.", preset_id) return - preset_item = self._getVisibilityPresetById(preset_id) + preset_item = self.getVisibilityPresetById(preset_id) if preset_item is None: Logger.log("w", "Tried to set active preset to unknown id [%s]", preset_id) return @@ -153,7 +152,7 @@ class SettingVisibilityPresetsModel(QObject): self._preferences.setValue("cura/custom_visible_settings", visibility_string) else: # We need to move to custom preset. - item_to_set = self._getVisibilityPresetById("custom") + item_to_set = self.getVisibilityPresetById("custom") else: item_to_set = matching_preset_item diff --git a/cura/Settings/SettingVisibilityPreset.py b/cura/Settings/SettingVisibilityPreset.py index 8b175a0d01..23bbbad951 100644 --- a/cura/Settings/SettingVisibilityPreset.py +++ b/cura/Settings/SettingVisibilityPreset.py @@ -54,8 +54,8 @@ class SettingVisibilityPreset(QObject): self.onWeightChanged.emit() def setSettings(self, settings: List[str]) -> None: - if settings != self._settings: - self._settings = settings + if set(settings) != set(self._settings): + self._settings = list(set(settings)) # filter out non unique self.onSettingsChanged.emit() def loadFromFile(self, file_path: str) -> None: diff --git a/tests/Settings/TestSettingVisibilityPresets.py b/tests/Settings/TestSettingVisibilityPresets.py new file mode 100644 index 0000000000..bdc3fdc43e --- /dev/null +++ b/tests/Settings/TestSettingVisibilityPresets.py @@ -0,0 +1,90 @@ +from unittest.mock import MagicMock + +from UM.Preferences import Preferences +import os.path + +from UM.Preferences import Preferences +from UM.Resources import Resources +from cura.CuraApplication import CuraApplication +from cura.Machines.Models.SettingVisibilityPresetsModel import SettingVisibilityPresetsModel +from cura.Settings.SettingVisibilityPreset import SettingVisibilityPreset + +setting_visibility_preset_test_settings = set(["test", "zomg", "derp", "yay", "whoo"]) + +Resources.addSearchPath(os.path.abspath(os.path.join(os.path.join(os.path.dirname(__file__)), "../..", "resources"))) +Resources.addStorageType(CuraApplication.ResourceTypes.SettingVisibilityPreset, "setting_visibility") + + +def test_settingVisibilityPreset(): + # Simple creation test. This is seperated from the visibilityFromPrevious, since we can't check for the contents + # of the other profiles, since they might change over time. + visibility_preset = SettingVisibilityPreset() + + visibility_preset.loadFromFile(os.path.join(os.path.dirname(os.path.abspath(__file__)), "setting_visiblity_preset_test.cfg")) + assert setting_visibility_preset_test_settings == set(visibility_preset.settings) + + assert visibility_preset.name == "test" + assert visibility_preset.weight == '1' + assert visibility_preset.settings.count("yay") == 1 # It's in the file twice but we should load it once. + +def test_visibilityFromPrevious(): + # This test checks that all settings in basic are in advanced and all settings in advanced are in expert. + + visibility_model = SettingVisibilityPresetsModel(Preferences()) + + basic_visibility = visibility_model.getVisibilityPresetById("basic") + advanced_visibility = visibility_model.getVisibilityPresetById("advanced") + expert_visibility = visibility_model.getVisibilityPresetById("expert") + + # Check if there are settings that are in basic, but not in advanced. + settings_not_in_advanced = set(basic_visibility.settings) - set(advanced_visibility.settings) + assert len(settings_not_in_advanced) == 0 # All settings in basic should be in advanced + + # Check if there are settings that are in advanced, but not in expert. + settings_not_in_expert = set(advanced_visibility.settings) - set(expert_visibility.settings) + assert len(settings_not_in_expert) == 0 # All settings in advanced should be in expert. + + +def test_setActivePreset(): + preferences = Preferences() + visibility_model = SettingVisibilityPresetsModel(preferences) + visibility_model.activePresetChanged = MagicMock() + # Ensure that we start of with basic (since we didn't change anyting just yet!) + assert visibility_model.activePreset == "basic" + + # Everything should be the same. + visibility_model.setActivePreset("basic") + assert visibility_model.activePreset == "basic" + assert visibility_model.activePresetChanged.emit.call_count == 0 # No events should be sent. + + # Change it to existing type (should work...) + visibility_model.setActivePreset("advanced") + assert visibility_model.activePreset == "advanced" + assert visibility_model.activePresetChanged.emit.call_count == 1 + + # Change to unknown preset. Shouldn't do anything. + visibility_model.setActivePreset("OMGZOMGNOPE") + assert visibility_model.activePreset == "advanced" + assert visibility_model.activePresetChanged.emit.call_count == 1 + + +def test_preferenceChanged(): + preferences = Preferences() + # Set the visible_settings to something silly + preferences.addPreference("general/visible_settings", "omgzomg") + visibility_model = SettingVisibilityPresetsModel(preferences) + visibility_model.activePresetChanged = MagicMock() + + assert visibility_model.activePreset == "custom" # This should make the model start at "custom + assert visibility_model.activePresetChanged.emit.call_count == 0 + + + basic_visibility = visibility_model.getVisibilityPresetById("basic") + new_visibility_string = ";".join(basic_visibility.settings) + preferences.setValue("general/visible_settings", new_visibility_string) + + # Fake a signal emit (since we didn't create the application, our own signals are not fired) + visibility_model._onPreferencesChanged("general/visible_settings") + # Set the visibility settings to basic + assert visibility_model.activePreset == "basic" + assert visibility_model.activePresetChanged.emit.call_count == 1 diff --git a/tests/Settings/setting_visiblity_preset_test.cfg b/tests/Settings/setting_visiblity_preset_test.cfg new file mode 100644 index 0000000000..0a89bf6b14 --- /dev/null +++ b/tests/Settings/setting_visiblity_preset_test.cfg @@ -0,0 +1,11 @@ +[general] +name = test +weight = 1 + +[test] +zomg +derp +yay + +[whoo] +yay \ No newline at end of file From fe9db9a26010b0b7f6170be0865f853c74468172 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 1 Oct 2018 14:51:11 +0200 Subject: [PATCH 144/423] Removed the old setting check script CURA-5734 --- scripts/check_setting_visibility.py | 239 ---------------------------- 1 file changed, 239 deletions(-) delete mode 100755 scripts/check_setting_visibility.py diff --git a/scripts/check_setting_visibility.py b/scripts/check_setting_visibility.py deleted file mode 100755 index 8fb5d5b293..0000000000 --- a/scripts/check_setting_visibility.py +++ /dev/null @@ -1,239 +0,0 @@ -#!/usr/bin/env python3 -# -# This script checks the correctness of the list of visibility settings -# -import collections -import configparser -import json -import os -import sys -from typing import Any, Dict, List - -# Directory where this python file resides -SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) - - -# -# This class -# -class SettingVisibilityInspection: - - def __init__(self) -> None: - # The order of settings type. If the setting is in basic list then it also should be in expert - self._setting_visibility_order = ["basic", "advanced", "expert"] - - # This is dictionary with categories as keys and all setting keys as values. - self.all_settings_keys = {} # type: Dict[str, List[str]] - - # Load all Cura setting keys from the given fdmprinter.json file - def loadAllCuraSettingKeys(self, fdmprinter_json_path: str) -> None: - with open(fdmprinter_json_path, "r", encoding = "utf-8") as f: - json_data = json.load(f) - - # Get all settings keys in each category - for key, data in json_data["settings"].items(): # top level settings are categories - if "type" in data and data["type"] == "category": - self.all_settings_keys[key] = [] - self._flattenSettings(data["children"], key) # actual settings are children of top level category-settings - - def _flattenSettings(self, settings: Dict[str, str], category: str) -> None: - for key, setting in settings.items(): - if "type" in setting and setting["type"] != "category": - self.all_settings_keys[category].append(key) - - if "children" in setting: - self._flattenSettings(setting["children"], category) - - # Loads the given setting visibility file and returns a dict with categories as keys and a list of setting keys as - # values. - def _loadSettingVisibilityConfigFile(self, file_name: str) -> Dict[str, List[str]]: - with open(file_name, "r", encoding = "utf-8") as f: - parser = configparser.ConfigParser(allow_no_value = True) - parser.read_file(f) - - data_dict = {} - for category, option_dict in parser.items(): - if category in (parser.default_section, "general"): - continue - - data_dict[category] = [] - for key in option_dict: - data_dict[category].append(key) - - return data_dict - - def validateSettingsVisibility(self, setting_visibility_files: Dict[str, str]) -> Dict[str, Dict[str, Any]]: - # First load all setting visibility files into the dict "setting_visibility_dict" in the following structure: - # -> -> - # "basic" -> "info" - setting_visibility_dict = {} # type: Dict[str, Dict[str, List[str]]] - for visibility_name, file_path in setting_visibility_files.items(): - setting_visibility_dict[visibility_name] = self._loadSettingVisibilityConfigFile(file_path) - - # The result is in the format: - # -> dict - # "basic" -> "file_name": "basic.cfg" - # "is_valid": True / False - # "invalid_categories": List[str] - # "invalid_settings": Dict[category -> List[str]] - # "missing_categories_from_previous": List[str] - # "missing_settings_from_previous": Dict[category -> List[str]] - all_result_dict = dict() # type: Dict[str, Dict[str, Any]] - - previous_result = None - previous_visibility_dict = None - is_all_valid = True - for visibility_name in self._setting_visibility_order: - invalid_categories = [] - invalid_settings = collections.defaultdict(list) - - this_visibility_dict = setting_visibility_dict[visibility_name] - # Check if categories and keys exist at all - for category, key_list in this_visibility_dict.items(): - if category not in self.all_settings_keys: - invalid_categories.append(category) - continue # If this category doesn't exist at all, not need to check for details - - for key in key_list: - if key not in self.all_settings_keys[category]: - invalid_settings[category].append(key) - - is_settings_valid = len(invalid_categories) == 0 and len(invalid_settings) == 0 - file_path = setting_visibility_files[visibility_name] - result_dict = {"file_name": os.path.basename(file_path), - "is_valid": is_settings_valid, - "invalid_categories": invalid_categories, - "invalid_settings": invalid_settings, - "missing_categories_from_previous": list(), - "missing_settings_from_previous": dict(), - } - - # If this is not the first item in the list, check if the settings are defined in the previous - # visibility file. - # A visibility with more details SHOULD add more settings. It SHOULD NOT remove any settings defined - # in the less detailed visibility. - if previous_visibility_dict is not None: - missing_categories_from_previous = [] - missing_settings_from_previous = collections.defaultdict(list) - - for prev_category, prev_key_list in previous_visibility_dict.items(): - # Skip the categories that are invalid - if prev_category in previous_result["invalid_categories"]: - continue - if prev_category not in this_visibility_dict: - missing_categories_from_previous.append(prev_category) - continue - - this_key_list = this_visibility_dict[prev_category] - for key in prev_key_list: - # Skip the settings that are invalid - if key in previous_result["invalid_settings"][prev_category]: - continue - - if key not in this_key_list: - missing_settings_from_previous[prev_category].append(key) - - result_dict["missing_categories_from_previous"] = missing_categories_from_previous - result_dict["missing_settings_from_previous"] = missing_settings_from_previous - is_settings_valid = len(missing_categories_from_previous) == 0 and len(missing_settings_from_previous) == 0 - result_dict["is_valid"] = result_dict["is_valid"] and is_settings_valid - - # Update the complete result dict - all_result_dict[visibility_name] = result_dict - previous_result = result_dict - previous_visibility_dict = this_visibility_dict - - is_all_valid = is_all_valid and result_dict["is_valid"] - - all_result_dict["all_results"] = {"is_valid": is_all_valid} - - return all_result_dict - - def printResults(self, all_result_dict: Dict[str, Dict[str, Any]]) -> None: - print("") - print("Setting Visibility Check Results:") - - prev_visibility_name = None - for visibility_name in self._setting_visibility_order: - if visibility_name not in all_result_dict: - continue - - result_dict = all_result_dict[visibility_name] - print("=============================") - result_str = "OK" if result_dict["is_valid"] else "INVALID" - print("[%s] : [%s] : %s" % (visibility_name, result_dict["file_name"], result_str)) - - if result_dict["is_valid"]: - continue - - # Print details of invalid settings - if result_dict["invalid_categories"]: - print("It has the following non-existing CATEGORIES:") - for category in result_dict["invalid_categories"]: - print(" - [%s]" % category) - - if result_dict["invalid_settings"]: - print("") - print("It has the following non-existing SETTINGS:") - for category, key_list in result_dict["invalid_settings"].items(): - for key in key_list: - print(" - [%s / %s]" % (category, key)) - - if prev_visibility_name is not None: - if result_dict["missing_categories_from_previous"]: - print("") - print("The following CATEGORIES are defined in the previous visibility [%s] but not here:" % prev_visibility_name) - for category in result_dict["missing_categories_from_previous"]: - print(" - [%s]" % category) - - if result_dict["missing_settings_from_previous"]: - print("") - print("The following SETTINGS are defined in the previous visibility [%s] but not here:" % prev_visibility_name) - for category, key_list in result_dict["missing_settings_from_previous"].items(): - for key in key_list: - print(" - [%s / %s]" % (category, key)) - - print("") - prev_visibility_name = visibility_name - - -# -# Returns a dictionary of setting visibility .CFG files in the given search directory. -# The dict has the name of the visibility type as the key (such as "basic", "advanced", "expert"), and -# the actual file path (absolute path). -# -def getAllSettingVisiblityFiles(search_dir: str) -> Dict[str, str]: - visibility_file_dict = dict() - extension = ".cfg" - for file_name in os.listdir(search_dir): - file_path = os.path.join(search_dir, file_name) - - # Only check files that has the .cfg extension - if not os.path.isfile(file_path): - continue - if not file_path.endswith(extension): - continue - - base_filename = os.path.basename(file_name)[:-len(extension)] - visibility_file_dict[base_filename] = file_path - return visibility_file_dict - - -def main() -> None: - setting_visibility_files_dir = os.path.abspath(os.path.join(SCRIPT_DIR, "..", "resources", "setting_visibility")) - fdmprinter_def_path = os.path.abspath(os.path.join(SCRIPT_DIR, "..", "resources", "definitions", "fdmprinter.def.json")) - - setting_visibility_files_dict = getAllSettingVisiblityFiles(setting_visibility_files_dir) - - inspector = SettingVisibilityInspection() - inspector.loadAllCuraSettingKeys(fdmprinter_def_path) - - check_result = inspector.validateSettingsVisibility(setting_visibility_files_dict) - is_result_valid = check_result["all_results"]["is_valid"] - inspector.printResults(check_result) - - sys.exit(0 if is_result_valid else 1) - - -if __name__ == "__main__": - main() From 4def636fc97dca16fab99edd30e8bdb9d37a17aa Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 1 Oct 2018 14:54:08 +0200 Subject: [PATCH 145/423] Minor codecleanup (Typing & removing unused imports) CURA-5734 --- cura/Machines/Models/SettingVisibilityPresetsModel.py | 9 +-------- cura/Settings/SettingVisibilityPreset.py | 10 +++++----- tests/Settings/TestSettingVisibilityPresets.py | 2 +- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index 8ce87f4640..b5f7fa8626 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -2,18 +2,11 @@ # Cura is released under the terms of the LGPLv3 or higher. from typing import Optional, List -import os -import urllib.parse -from configparser import ConfigParser -from PyQt5.QtCore import pyqtProperty, Qt, pyqtSignal, pyqtSlot, QObject +from PyQt5.QtCore import pyqtProperty, pyqtSignal, pyqtSlot, QObject - -from UM.Application import Application from UM.Logger import Logger -from UM.Qt.ListModel import ListModel from UM.Resources import Resources -from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError from UM.i18n import i18nCatalog from cura.Settings.SettingVisibilityPreset import SettingVisibilityPreset diff --git a/cura/Settings/SettingVisibilityPreset.py b/cura/Settings/SettingVisibilityPreset.py index 23bbbad951..b1828362d1 100644 --- a/cura/Settings/SettingVisibilityPreset.py +++ b/cura/Settings/SettingVisibilityPreset.py @@ -6,7 +6,7 @@ from typing import List from PyQt5.QtCore import pyqtProperty, QObject, pyqtSignal from UM.Logger import Logger -from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError +from UM.MimeTypeDatabase import MimeTypeDatabase class SettingVisibilityPreset(QObject): @@ -15,7 +15,7 @@ class SettingVisibilityPreset(QObject): onWeightChanged = pyqtSignal() onIdChanged = pyqtSignal() - def __init__(self, id: str = "", name: str = "" , weight: int = 0, parent = None) -> None: + def __init__(self, id: str = "", name: str = "", weight: int = 0, parent = None) -> None: super().__init__(parent) self._settings = [] # type: List[str] self._id = id @@ -43,12 +43,12 @@ class SettingVisibilityPreset(QObject): self._name = name self.onNameChanged.emit() - def setId(self, id: int) -> None: + def setId(self, id: str) -> None: if id != self._id: self._id = id self.onIdChanged.emit() - def setWeight(self, weight: str) -> None: + def setWeight(self, weight: int) -> None: if weight != self._weight: self._weight = weight self.onWeightChanged.emit() @@ -83,5 +83,5 @@ class SettingVisibilityPreset(QObject): self.setSettings(settings) self.setId(item_id) self.setName(parser["general"]["name"]) - self.setWeight(parser["general"]["weight"]) + self.setWeight(int(parser["general"]["weight"])) diff --git a/tests/Settings/TestSettingVisibilityPresets.py b/tests/Settings/TestSettingVisibilityPresets.py index bdc3fdc43e..68e8a6eb7b 100644 --- a/tests/Settings/TestSettingVisibilityPresets.py +++ b/tests/Settings/TestSettingVisibilityPresets.py @@ -24,7 +24,7 @@ def test_settingVisibilityPreset(): assert setting_visibility_preset_test_settings == set(visibility_preset.settings) assert visibility_preset.name == "test" - assert visibility_preset.weight == '1' + assert visibility_preset.weight == 1 assert visibility_preset.settings.count("yay") == 1 # It's in the file twice but we should load it once. def test_visibilityFromPrevious(): From acb7df710c6f810c1ddba90258359f7a922028b6 Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Mon, 1 Oct 2018 15:37:28 +0200 Subject: [PATCH 146/423] Fix getting cura application instance --- cura/Backups/Backup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Backups/Backup.py b/cura/Backups/Backup.py index 82157a163a..897d5fa979 100644 --- a/cura/Backups/Backup.py +++ b/cura/Backups/Backup.py @@ -36,7 +36,7 @@ class Backup: ## Create a back-up from the current user config folder. def makeFromCurrent(self) -> None: - cura_release = CuraApplication.getInstance().getVersion() + cura_release = self._application.getVersion() version_data_dir = Resources.getDataStoragePath() Logger.log("d", "Creating backup for Cura %s, using folder %s", cura_release, version_data_dir) @@ -59,7 +59,7 @@ class Backup: if archive is None: return files = archive.namelist() - + # Count the metadata items. We do this in a rather naive way at the moment. machine_count = len([s for s in files if "machine_instances/" in s]) - 1 material_count = len([s for s in files if "materials/" in s]) - 1 From 97fa5094ce3852d1527d404fd82c97578635e47c Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 1 Oct 2018 16:24:51 +0200 Subject: [PATCH 147/423] Monitor tab refactor + skeleton loading Contributes to CL-1051 --- .../resources/qml/ClusterControlItem.qml | 10 +- .../resources/qml/HorizontalLine.qml | 18 +- .../resources/qml/PrintJobContextMenu.qml | 289 +++++++------- .../resources/qml/PrintJobContextMenuItem.qml | 20 + .../resources/qml/PrintJobPreview.qml | 68 ++++ .../resources/qml/PrintJobTitle.qml | 53 +++ .../resources/qml/PrinterCard.qml | 14 +- .../resources/qml/PrinterCardDetails.qml | 376 ++---------------- .../resources/qml/PrinterInfoBlock.qml | 5 +- 9 files changed, 348 insertions(+), 505 deletions(-) create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml create mode 100644 plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index bfde2ea7cd..3dfabdfb86 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -69,7 +69,8 @@ Component // Skeleton loading Column { - id: dummies + id: skeletonLoader + visible: printerList.count === 0; anchors { top: printingLabel.bottom @@ -97,12 +98,11 @@ Component id: printerScrollView anchors { - top: dummies.bottom + top: printingLabel.bottom + topMargin: UM.Theme.getSize("default_margin").height left: parent.left right: parent.right - topMargin: UM.Theme.getSize("default_margin").height - bottom: parent.bottom - bottomMargin: UM.Theme.getSize("default_margin").height + bottom: parent.bottom; } style: UM.Theme.styles.scrollview diff --git a/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml index a15fb81963..fcf2330fe7 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml @@ -2,20 +2,8 @@ import QtQuick 2.3 import QtQuick.Controls 2.0 import UM 1.3 as UM -Item { - id: root; - property var enabled: true; +Rectangle { + color: UM.Theme.getColor("monitor_tab_lining_inactive"); // TODO: Maybe theme separately? Maybe not. + height: UM.Theme.getSize("default_lining").height; width: parent.width; - height: childrenRect.height; - - Rectangle { - anchors { - left: parent.left; - leftMargin: UM.Theme.getSize("default_margin").width; - right: parent.right; - rightMargin: UM.Theme.getSize("default_margin").width; - } - color: root.enabled ? UM.Theme.getColor("monitor_lining_inactive") : UM.Theme.getColor("monitor_lining_active"); - height: UM.Theme.getSize("default_lining").height; - } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 74c4bb030c..8d523c322a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -9,7 +9,9 @@ import UM 1.3 as UM Item { id: root; + property var printJob: null; + property var running: isRunning(printJob); Button { id: button; @@ -36,164 +38,165 @@ Item { Popup { id: popup; + background: Item { + height: popup.height; + width: popup.width; + + DropShadow { + anchors.fill: pointedRectangle; + color: "#3F000000"; // 25% shadow + radius: 5; + source: pointedRectangle; + transparentBorder: true; + verticalOffset: 2; + } + + Item { + id: pointedRectangle + width: parent.width - 10 * screenScaleFactor; // Because of the shadow + height: parent.height - 10 * screenScaleFactor; // Because of the shadow + anchors.horizontalCenter: parent.horizontalCenter; + anchors.verticalCenter: parent.verticalCenter; + + Rectangle { + id: point + anchors.right: bloop.right; + anchors.rightMargin: 24; + color: UM.Theme.getColor("setting_control"); + height: 14 * screenScaleFactor; + transform: Rotation { + angle: 45; + } + width: 14 * screenScaleFactor; + y: 1; + } + + Rectangle { + id: bloop + anchors { + bottom: parent.bottom; + bottomMargin: 8 * screenScaleFactor; // Because of the shadow + top: parent.top; + topMargin: 8 * screenScaleFactor; // Because of the shadow + point + } + color: UM.Theme.getColor("setting_control"); + width: parent.width; + } + } + } clip: true; closePolicy: Popup.CloseOnPressOutside; + contentItem: Column { + id: popupOptions; + anchors { + top: parent.top; + topMargin: UM.Theme.getSize("default_margin").height + 10 * screenScaleFactor; // Account for the point of the box + } + height: childrenRect.height + spacing * popupOptions.children.length + UM.Theme.getSize("default_margin").height; + spacing: Math.floor(UM.Theme.getSize("default_margin").height / 2); + width: parent.width; + + PrintJobContextMenuItem { + enabled: printJob && !running ? OutputDevice.queuedPrintJobs[0].key != printJob.key : false; + onClicked: { + sendToTopConfirmationDialog.visible = true; + popup.close(); + } + text: catalog.i18nc("@label", "Move to top"); + } + + PrintJobContextMenuItem { + enabled: printJob && !running; + onClicked: { + deleteConfirmationDialog.visible = true; + popup.close(); + } + text: catalog.i18nc("@label", "Delete"); + } + + PrintJobContextMenuItem { + enabled: printJob && running; + onClicked: { + if (printJob.state == "paused") { + printJob.setState("print"); + } else if(printJob.state == "printing") { + printJob.setState("pause"); + } + popup.close(); + } + text: printJob && printJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause"); + } + + PrintJobContextMenuItem { + enabled: printJob && running; + onClicked: { + abortConfirmationDialog.visible = true; + popup.close(); + } + text: catalog.i18nc("@label", "Abort"); + } + } + enter: Transition { + NumberAnimation { + duration: 75; + property: "visible"; + } + } + exit: Transition { + NumberAnimation { + duration: 75; + property: "visible"; + } + } height: contentItem.height + 2 * padding; + onClosed: visible = false; + onOpened: visible = true; padding: 5 * screenScaleFactor; // Because shadow transformOrigin: Popup.Top; visible: false; width: 182 * screenScaleFactor; x: (button.width - width) + 26 * screenScaleFactor; y: button.height + 5 * screenScaleFactor; // Because shadow - contentItem: Item { - width: popup.width - height: childrenRect.height + 36 * screenScaleFactor - anchors.topMargin: 10 * screenScaleFactor - anchors.bottomMargin: 10 * screenScaleFactor - Button { - id: sendToTopButton - text: catalog.i18nc("@label", "Move to top") - onClicked: - { - sendToTopConfirmationDialog.visible = true; - popup.close(); - } - width: parent.width - enabled: printJob ? OutputDevice.queuedPrintJobs[0].key != printJob.key : false; - visible: enabled - anchors.top: parent.top - anchors.topMargin: 18 * screenScaleFactor - height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor - hoverEnabled: true - background: Rectangle - { - opacity: sendToTopButton.down || sendToTopButton.hovered ? 1 : 0 - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: sendToTopButton.text - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - } - } + } - MessageDialog - { - id: sendToTopConfirmationDialog - title: catalog.i18nc("@window:title", "Move print job to top") - icon: StandardIcon.Warning - text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) : ""; - standardButtons: StandardButton.Yes | StandardButton.No - Component.onCompleted: visible = false - onYes: { - if (printJob) { - OutputDevice.sendJobToTop(printJob.key) - } - } - } + MessageDialog { + id: sendToTopConfirmationDialog; + Component.onCompleted: visible = false; + icon: StandardIcon.Warning; + onYes: OutputDevice.sendJobToTop(printJob.key); + standardButtons: StandardButton.Yes | StandardButton.No; + text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) : ""; + title: catalog.i18nc("@window:title", "Move print job to top"); + } - Button - { - id: deleteButton - text: catalog.i18nc("@label", "Delete") - onClicked: - { - deleteConfirmationDialog.visible = true; - popup.close(); - } - width: parent.width - height: 39 * screenScaleFactor - anchors.top: sendToTopButton.bottom - hoverEnabled: true - background: Rectangle - { - opacity: deleteButton.down || deleteButton.hovered ? 1 : 0 - color: UM.Theme.getColor("viewport_background") - } - contentItem: Label - { - text: deleteButton.text - horizontalAlignment: Text.AlignLeft - verticalAlignment: Text.AlignVCenter - } - } + MessageDialog { + id: deleteConfirmationDialog; + Component.onCompleted: visible = false; + icon: StandardIcon.Warning; + onYes: OutputDevice.deleteJobFromQueue(printJob.key); + standardButtons: StandardButton.Yes | StandardButton.No; + text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) : ""; + title: catalog.i18nc("@window:title", "Delete print job"); + } - MessageDialog - { - id: deleteConfirmationDialog - title: catalog.i18nc("@window:title", "Delete print job") - icon: StandardIcon.Warning - text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) : ""; - standardButtons: StandardButton.Yes | StandardButton.No - Component.onCompleted: visible = false - onYes: OutputDevice.deleteJobFromQueue(printJob.key) - } - } - - background: Item - { - width: popup.width - height: popup.height - - DropShadow - { - anchors.fill: pointedRectangle - radius: 5 - color: "#3F000000" // 25% shadow - source: pointedRectangle - transparentBorder: true - verticalOffset: 2 - } - - Item - { - id: pointedRectangle - width: parent.width - 10 * screenScaleFactor // Because of the shadow - height: parent.height - 10 * screenScaleFactor // Because of the shadow - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - - Rectangle - { - id: point - height: 14 * screenScaleFactor - width: 14 * screenScaleFactor - color: UM.Theme.getColor("setting_control") - transform: Rotation { angle: 45} - anchors.right: bloop.right - anchors.rightMargin: 24 - y: 1 - } - - Rectangle - { - id: bloop - color: UM.Theme.getColor("setting_control") - width: parent.width - anchors.top: parent.top - anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point - anchors.bottom: parent.bottom - anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow - } - } - } - - exit: Transition - { - NumberAnimation { property: "visible"; duration: 75; } - } - enter: Transition - { - NumberAnimation { property: "visible"; duration: 75; } - } - - onClosed: visible = false - onOpened: visible = true + MessageDialog { + id: abortConfirmationDialog; + Component.onCompleted: visible = false; + icon: StandardIcon.Warning; + onYes: printJob.setState("abort"); + standardButtons: StandardButton.Yes | StandardButton.No; + text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(printJob.name) : ""; + title: catalog.i18nc("@window:title", "Abort print"); } // Utils function switchPopupState() { - popup.visible ? popup.close() : popup.open() + popup.visible ? popup.close() : popup.open(); + } + function isRunning(job) { + if (!job) { + return false; + } + return ["paused", "printing", "pre_print"].indexOf(job.state) !== -1; } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml new file mode 100644 index 0000000000..e20f5fd1a1 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml @@ -0,0 +1,20 @@ +import QtQuick 2.2 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.4 +import UM 1.3 as UM + +Button { + background: Rectangle { + opacity: parent.down || parent.hovered ? 1 : 0; + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + } + contentItem: Label { + text: parent.text + horizontalAlignment: Text.AlignLeft; + verticalAlignment: Text.AlignVCenter; + } + height: 39 * screenScaleFactor; // TODO: Theme! + hoverEnabled: true; + visible: enabled; + width: parent.width; +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml new file mode 100644 index 0000000000..7fae974d8f --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml @@ -0,0 +1,68 @@ +import QtQuick 2.3 +import QtQuick.Dialogs 1.1 +import QtQuick.Controls 2.0 +import QtQuick.Controls.Styles 1.3 +import QtGraphicalEffects 1.0 +import QtQuick.Controls 1.4 as LegacyControls +import UM 1.3 as UM + +// Includes print job name, owner, and preview + +Item { + property var job: null; + property var useUltibot: false; + height: 100; + width: height; + + // Skeleton + Rectangle { + visible: !job; + anchors.fill: parent; + radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + } + + // Actual content + Image { + id: previewImage; + visible: job; + source: job ? job.previewImageUrl : ""; + opacity: { + if (job == null) { + return 1.0; + } + var states = ["wait_cleanup", "wait_user_action", "error", "paused"]; + if (states.indexOf(job.state) !== -1) { + return 0.5; + } + return 1.0; + } + anchors.fill: parent; + } + + UM.RecolorImage { + id: ultibotImage; + anchors.centerIn: parent; + source: "../svg/ultibot.svg"; + /* Since print jobs ALWAYS have an image url, we have to check if that image URL errors or + not in order to determine if we show the placeholder (ultibot) image instead. */ + visible: job && previewImage.status == Image.Error; + width: parent.width; + height: parent.height; + sourceSize.width: width; + sourceSize.height: height; + color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! + } + + UM.RecolorImage { + id: statusImage; + anchors.centerIn: parent; + source: job && job.state == "error" ? "../svg/aborted-icon.svg" : ""; + visible: source != ""; + width: 0.5 * parent.width; + height: 0.5 * parent.height; + sourceSize.width: width; + sourceSize.height: height; + color: "black"; + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml new file mode 100644 index 0000000000..604b5ce862 --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml @@ -0,0 +1,53 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.3 +import QtQuick.Controls 2.0 +import UM 1.3 as UM + +Column { + property var job: null; + height: childrenRect.height; + spacing: Math.floor( UM.Theme.getSize("default_margin").height / 2); // TODO: Use explicit theme size + width: parent.width; + + Item { + id: jobName; + height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width; + + Rectangle { + visible: !job; + color: UM.Theme.getColor("viewport_background"); // TODO: Use explicit theme color + height: parent.height; + width: parent.width / 3; + } + Label { + visible: job; + text: job ? job.name : ""; + font: UM.Theme.getFont("default_bold"); + elide: Text.ElideRight; + anchors.fill: parent; + } + } + + Item { + id: ownerName; + height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width; + + Rectangle { + visible: !job; + color: UM.Theme.getColor("viewport_background"); // TODO: Use explicit theme color + height: parent.height; + width: parent.width / 2; + } + Label { + visible: job; + text: job ? job.owner : ""; + font: UM.Theme.getFont("default"); + elide: Text.ElideRight; + anchors.fill: parent; + } + } +} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 3eec298bd2..29a90960ba 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -49,8 +49,8 @@ Item { // Main card Item { id: mainCard; - // color: "pink"; - height: childrenRect.height; + // I don't know why the extra height is needed but it is in order to look proportional. + height: childrenRect.height + 2; width: parent.width; // Machine icon @@ -201,8 +201,7 @@ Item { anchors.fill: parent; enabled: printer; onClicked: { - console.log(model.index) - if (root.collapsed && model) { + if (model && root.collapsed) { printerList.currentIndex = model.index; } else { printerList.currentIndex = -1; @@ -213,6 +212,9 @@ Item { Connections { target: printerList onCurrentIndexChanged: { + if (!model) { + return; + } root.collapsed = printerList.currentIndex != model.index; } } @@ -221,8 +223,8 @@ Item { // Detailed card PrinterCardDetails { collapsed: root.collapsed; - printer: printer; - visible: printer; + printer: root.printer; + visible: root.printer; } // Progress bar diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index 8cc10b5b6b..411c76d97a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -7,10 +7,9 @@ import QtQuick.Controls 1.4 as LegacyControls import UM 1.3 as UM Item { - id: root; property var printer: null; - property var printJob: printer.activePrintJob; + property var printJob: printer ? printer.activePrintJob : null; property var collapsed: true; Behavior on height { NumberAnimation { duration: 100 } } @@ -21,350 +20,59 @@ Item { opacity: collapsed ? 0 : 1; Column { - height: childrenRect.height; + id: contentColumn; + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + height: childrenRect.height + UM.Theme.getSize("wide_margin").height; + spacing: UM.Theme.getSize("default_margin").height; width: parent.width; - spacing: UM.Theme.getSize("default_margin").height; - - HorizontalLine { enabled: printer.state !== "disabled" } + HorizontalLine {} PrinterInfoBlock { printer: root.printer; printJob: root.printer.activePrintJob; } - HorizontalLine { enabled: printer.state !== "disabled" } + HorizontalLine {} - Rectangle { - color: "orange"; + Row { width: parent.width; - height: 100; + height: childrenRect.height; + + PrintJobTitle { + job: root.printer.activePrintJob; + } + PrintJobContextMenu { + id: contextButton; + anchors { + right: parent.right; + rightMargin: UM.Theme.getSize("wide_margin").width; + } + printJob: root.printer.activePrintJob; + visible: root.printer.activePrintJob; + } } + - Item { - id: jobInfoSection; - - property var job: root.printer ? root.printer.activePrintJob : null; - - Component.onCompleted: { - console.log(job) - } - height: visible ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height : 0; - width: parent.width; - visible: job && job.state != "queued"; - - anchors.left: parent.left; - // anchors.right: contextButton.left; - // anchors.rightMargin: UM.Theme.getSize("default_margin").width; - - Label { - id: printJobName; - elide: Text.ElideRight; - font: UM.Theme.getFont("default_bold"); - text: job ? job.name : ""; - } - - Label { - id: ownerName; - anchors.top: job.bottom; - elide: Text.ElideRight; - font: UM.Theme.getFont("default"); - opacity: 0.6; - text: job ? job.owner : ""; - width: parent.width; - } + PrintJobPreview { + job: root.printer.activePrintJob; + anchors.horizontalCenter: parent.horizontalCenter; } } + + CameraButton { + id: showCameraButton; + anchors { + bottom: contentColumn.bottom; + bottomMargin: Math.round(1.5 * UM.Theme.getSize("default_margin").height); + left: contentColumn.left; + leftMargin: Math.round(0.5 * UM.Theme.getSize("default_margin").width); + } + iconSource: "../svg/camera-icon.svg"; + } } - - -// Item { -// id: jobInfo; -// property var showJobInfo: { -// return printer.activePrintJob != null && printer.activePrintJob.state != "queued" -// } - -// // anchors { -// // top: jobSpacer.bottom -// // topMargin: 2 * UM.Theme.getSize("default_margin").height -// // left: parent.left -// // right: parent.right -// // margins: UM.Theme.getSize("default_margin").width -// // leftMargin: 2 * UM.Theme.getSize("default_margin").width -// // } - -// height: showJobInfo ? childrenRect.height + 2 * UM.Theme.getSize("default_margin").height : 0; -// visible: showJobInfo; - - -// function switchPopupState() -// { -// popup.visible ? popup.close() : popup.open() -// } - -// Button -// { -// id: contextButton -// text: "\u22EE" //Unicode; Three stacked points. -// width: 35 -// height: width -// anchors -// { -// right: parent.right -// top: parent.top -// } -// hoverEnabled: true - -// background: Rectangle -// { -// opacity: contextButton.down || contextButton.hovered ? 1 : 0 -// width: contextButton.width -// height: contextButton.height -// radius: 0.5 * width -// color: UM.Theme.getColor("viewport_background") -// } -// contentItem: Label -// { -// text: contextButton.text -// color: UM.Theme.getColor("monitor_tab_text_inactive") -// font.pixelSize: 25 -// verticalAlignment: Text.AlignVCenter -// horizontalAlignment: Text.AlignHCenter -// } - -// onClicked: parent.switchPopupState() -// } - -// Popup -// { -// // TODO Change once updating to Qt5.10 - The 'opened' property is in 5.10 but the behavior is now implemented with the visible property -// id: popup -// clip: true -// closePolicy: Popup.CloseOnPressOutside -// x: (parent.width - width) + 26 * screenScaleFactor -// y: contextButton.height - 5 * screenScaleFactor // Because shadow -// width: 182 * screenScaleFactor -// height: contentItem.height + 2 * padding -// visible: false -// padding: 5 * screenScaleFactor // Because shadow - -// transformOrigin: Popup.Top -// contentItem: Item -// { -// width: popup.width -// height: childrenRect.height + 36 * screenScaleFactor -// anchors.topMargin: 10 * screenScaleFactor -// anchors.bottomMargin: 10 * screenScaleFactor -// Button -// { -// id: pauseButton -// text: printer.activePrintJob != null && printer.activePrintJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause") -// onClicked: -// { -// if(printer.activePrintJob.state == "paused") -// { -// printer.activePrintJob.setState("print") -// } -// else if(printer.activePrintJob.state == "printing") -// { -// printer.activePrintJob.setState("pause") -// } -// popup.close() -// } -// width: parent.width -// enabled: printer.activePrintJob != null && ["paused", "printing"].indexOf(printer.activePrintJob.state) >= 0 -// visible: enabled -// anchors.top: parent.top -// anchors.topMargin: 18 * screenScaleFactor -// height: visible ? 39 * screenScaleFactor : 0 * screenScaleFactor -// hoverEnabled: true -// background: Rectangle -// { -// opacity: pauseButton.down || pauseButton.hovered ? 1 : 0 -// color: UM.Theme.getColor("viewport_background") -// } -// contentItem: Label -// { -// text: pauseButton.text -// horizontalAlignment: Text.AlignLeft -// verticalAlignment: Text.AlignVCenter -// } -// } - -// Button -// { -// id: abortButton -// text: catalog.i18nc("@label", "Abort") -// onClicked: -// { -// abortConfirmationDialog.visible = true; -// popup.close(); -// } -// width: parent.width -// height: 39 * screenScaleFactor -// anchors.top: pauseButton.bottom -// hoverEnabled: true -// enabled: printer.activePrintJob != null && ["paused", "printing", "pre_print"].indexOf(printer.activePrintJob.state) >= 0 -// background: Rectangle -// { -// opacity: abortButton.down || abortButton.hovered ? 1 : 0 -// color: UM.Theme.getColor("viewport_background") -// } -// contentItem: Label -// { -// text: abortButton.text -// horizontalAlignment: Text.AlignLeft -// verticalAlignment: Text.AlignVCenter -// } -// } - -// MessageDialog -// { -// id: abortConfirmationDialog -// title: catalog.i18nc("@window:title", "Abort print") -// icon: StandardIcon.Warning -// text: catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(printer.activePrintJob.name) -// standardButtons: StandardButton.Yes | StandardButton.No -// Component.onCompleted: visible = false -// onYes: printer.activePrintJob.setState("abort") -// } -// } - -// background: Item -// { -// width: popup.width -// height: popup.height - -// DropShadow -// { -// anchors.fill: pointedRectangle -// radius: 5 -// color: "#3F000000" // 25% shadow -// source: pointedRectangle -// transparentBorder: true -// verticalOffset: 2 -// } - -// Item -// { -// id: pointedRectangle -// width: parent.width - 10 * screenScaleFactor // Because of the shadow -// height: parent.height - 10 * screenScaleFactor // Because of the shadow -// anchors.horizontalCenter: parent.horizontalCenter -// anchors.verticalCenter: parent.verticalCenter - -// Rectangle -// { -// id: point -// height: 14 * screenScaleFactor -// width: 14 * screenScaleFactor -// color: UM.Theme.getColor("setting_control") -// transform: Rotation { angle: 45} -// anchors.right: bloop.right -// anchors.rightMargin: 24 -// y: 1 -// } - -// Rectangle -// { -// id: bloop -// color: UM.Theme.getColor("setting_control") -// width: parent.width -// anchors.top: parent.top -// anchors.topMargin: 8 * screenScaleFactor // Because of the shadow + point -// anchors.bottom: parent.bottom -// anchors.bottomMargin: 8 * screenScaleFactor // Because of the shadow -// } -// } -// } - -// exit: Transition -// { -// // This applies a default NumberAnimation to any changes a state change makes to x or y properties -// NumberAnimation { property: "visible"; duration: 75; } -// } -// enter: Transition -// { -// // This applies a default NumberAnimation to any changes a state change makes to x or y properties -// NumberAnimation { property: "visible"; duration: 75; } -// } - -// onClosed: visible = false -// onOpened: visible = true -// } - -// Image -// { -// id: printJobPreview -// source: printer.activePrintJob != null ? printer.activePrintJob.previewImageUrl : "" -// anchors.top: ownerName.bottom -// anchors.horizontalCenter: parent.horizontalCenter -// width: parent.width / 2 -// height: width -// opacity: -// { -// if(printer.activePrintJob == null) -// { -// return 1.0 -// } - -// switch(printer.activePrintJob.state) -// { -// case "wait_cleanup": -// case "wait_user_action": -// case "paused": -// return 0.5 -// default: -// return 1.0 -// } -// } - - -// } - -// UM.RecolorImage -// { -// id: statusImage -// anchors.centerIn: printJobPreview -// source: -// { -// if(printer.activePrintJob == null) -// { -// return "" -// } -// switch(printer.activePrintJob.state) -// { -// case "paused": -// return "../svg/paused-icon.svg" -// case "wait_cleanup": -// if(printer.activePrintJob.timeElapsed < printer.activePrintJob.timeTotal) -// { -// return "../svg/aborted-icon.svg" -// } -// return "../svg/approved-icon.svg" -// case "wait_user_action": -// return "../svg/aborted-icon.svg" -// default: -// return "" -// } -// } -// visible: source != "" -// width: 0.5 * printJobPreview.width -// height: 0.5 * printJobPreview.height -// sourceSize.width: width -// sourceSize.height: height -// color: "black" -// } - -// CameraButton -// { -// id: showCameraButton -// iconSource: "../svg/camera-icon.svg" -// anchors -// { -// left: parent.left -// bottom: printJobPreview.bottom -// } -// } -// } -// } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml index 1b3a83d024..d116df8b28 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -24,8 +24,7 @@ Item { anchors { left: parent.left; right: parent.right; - bottom: extrudersInfo.top; - bottomMargin: UM.Theme.getSize("default_margin").height; + } height: childrenRect.height; spacing: Math.round(0.5 * UM.Theme.getSize("default_margin").width); @@ -52,6 +51,8 @@ Item { left: parent.left; right: parent.right; rightMargin: UM.Theme.getSize("default_margin").width; + top: printerFamilyPills.bottom; + topMargin: UM.Theme.getSize("default_margin").height; } height: childrenRect.height; spacing: UM.Theme.getSize("default_margin").width; From 7d537f2c6f7e68e2f099a741c61edd76852e4917 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 1 Oct 2018 16:27:27 +0200 Subject: [PATCH 148/423] Fix data collection message at app start --- plugins/SliceInfoPlugin/SliceInfo.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index fd58e68938..5149b6a6a6 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -33,30 +33,35 @@ class SliceInfo(QObject, Extension): def __init__(self, parent = None): QObject.__init__(self, parent) Extension.__init__(self) - Application.getInstance().getOutputDeviceManager().writeStarted.connect(self._onWriteStarted) - Application.getInstance().getPreferences().addPreference("info/send_slice_info", True) - Application.getInstance().getPreferences().addPreference("info/asked_send_slice_info", False) + + self._application = Application.getInstance() + + self._application.getOutputDeviceManager().writeStarted.connect(self._onWriteStarted) + self._application.getPreferences().addPreference("info/send_slice_info", True) + self._application.getPreferences().addPreference("info/asked_send_slice_info", False) self._more_info_dialog = None self._example_data_content = None - if not Application.getInstance().getPreferences().getValue("info/asked_send_slice_info"): + self._application.initializationFinished.connect(self._onAppInitialized) + + def _onAppInitialized(self): + # DO NOT read any preferences values in the constructor because at the time plugins are created, no version + # upgrade has been performed yet because version upgrades are plugins too! + if not self._application.getPreferences().getValue("info/asked_send_slice_info"): self.send_slice_info_message = Message(catalog.i18nc("@info", "Cura collects anonymized usage statistics."), lifetime = 0, dismissable = False, title = catalog.i18nc("@info:title", "Collecting Data")) self.send_slice_info_message.addAction("MoreInfo", name = catalog.i18nc("@action:button", "More info"), icon = None, - description = catalog.i18nc("@action:tooltip", "See more information on what data Cura sends."), button_style = Message.ActionButtonStyle.LINK) + description = catalog.i18nc("@action:tooltip", "See more information on what data Cura sends."), button_style = Message.ActionButtonStyle.LINK) self.send_slice_info_message.addAction("Dismiss", name = catalog.i18nc("@action:button", "Allow"), icon = None, - description = catalog.i18nc("@action:tooltip", "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing.")) + description = catalog.i18nc("@action:tooltip", "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing.")) self.send_slice_info_message.actionTriggered.connect(self.messageActionTriggered) self.send_slice_info_message.show() - Application.getInstance().initializationFinished.connect(self._onAppInitialized) - - def _onAppInitialized(self): if self._more_info_dialog is None: self._more_info_dialog = self._createDialog("MoreInfoWindow.qml") From d1fce50f60bd8c80c4f3c7591ffe32053da01448 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 1 Oct 2018 16:30:27 +0200 Subject: [PATCH 149/423] Add Preferences upgrade 34 to 35 unit test --- .../tests/TestVersionUpgrade34to35.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py b/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py index 90b2cb5dea..a109d97dd7 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py @@ -17,6 +17,10 @@ test_upgrade_version_nr_data = [ version = 5 [metadata] setting_version = 4 + + [info] + asked_send_slice_info = True + send_slice_info = True """ ) ] @@ -32,4 +36,8 @@ def test_upgradeVersionNr(test_name, file_data, upgrader): #Check the new version. assert parser["general"]["version"] == "6" - assert parser["metadata"]["setting_version"] == "5" \ No newline at end of file + assert parser["metadata"]["setting_version"] == "5" + + # Check if the data collection values have been removed + assert not parser.has_option("info", "asked_send_slice_info") + assert not parser.has_option("info", "send_slice_info") From 00ce3b0083fd159b2903b1021dc80e2db1e0c101 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 1 Oct 2018 16:32:30 +0200 Subject: [PATCH 150/423] Review feedback Contributes to CL-1051 --- .../resources/qml/PrintJobInfoBlock.qml | 17 ++++++----------- .../resources/qml/PrinterInfoBlock.qml | 10 ++++------ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 8a6a6d297c..c97f16b29c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -48,15 +48,13 @@ Item { height: childrenRect.height; // Main content - Rectangle { + Item { id: mainContent; - color: root.debug ? "red" : "transparent"; width: parent.width; height: 200; // TODO: Theme! // Left content - Rectangle { - color: root.debug ? "lightblue" : "transparent"; + Item { anchors { left: parent.left; right: parent.horizontalCenter; @@ -179,8 +177,7 @@ Item { } // Right content - Rectangle { - color: root.debug ? "blue" : "transparent"; + Item { anchors { left: parent.horizontalCenter; right: parent.right; @@ -238,7 +235,7 @@ Item { } } - Rectangle { + Item { id: configChangesBox; width: parent.width; height: childrenRect.height; @@ -322,9 +319,8 @@ Item { } // Config change details - Rectangle { + Item { id: configChangeDetails; - color: "transparent"; width: parent.width; visible: false; // In case of really massive multi-line configuration changes @@ -332,8 +328,7 @@ Item { Behavior on height { NumberAnimation { duration: 100 } } anchors.top: configChangeToggle.bottom; - Rectangle { - color: "transparent"; + Item { clip: true; anchors { fill: parent; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml index d116df8b28..ded249b9c9 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -73,12 +73,10 @@ Item { if (root.printJob) { // Use more-specific print job if possible return root.printJob.configuration.extruderConfigurations[i]; - } else { - if (root.printer) { - return root.printer.printerConfiguration.extruderConfigurations[i]; - } else { - return null; - } } + if (root.printer) { + return root.printer.printerConfiguration.extruderConfigurations[i]; + } + return null; } } \ No newline at end of file From ae9faadca6d6587e711cc0915da5a92808d3a584 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 1 Oct 2018 16:36:22 +0200 Subject: [PATCH 151/423] Add i18nc string Contributes to CL-1051 --- plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index c97f16b29c..9bee5499da 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -285,7 +285,7 @@ Item { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; } - text: "Configuration change"; // TODO: i18n! + text: catalog.i18nc("@label", "Configuration change"); } UM.RecolorImage { From 82cddf07ad469ccec269999584ee07e2f47f53eb Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 1 Oct 2018 17:12:05 +0200 Subject: [PATCH 152/423] Move ConfigurationChangeModel to plugin Contributes to CL-897 --- cura/PrinterOutput/PrintJobOutputModel.py | 17 +---------- .../src/ClusterUM3OutputDevice.py | 24 +++++++-------- .../src}/ConfigurationChangeModel.py | 0 .../src/UM3PrintJobOutputModel.py | 29 +++++++++++++++++++ 4 files changed, 42 insertions(+), 28 deletions(-) rename {cura/PrinterOutput => plugins/UM3NetworkPrinting/src}/ConfigurationChangeModel.py (100%) create mode 100644 plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index c194f5df32..ce3c20fcfb 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot @@ -12,9 +12,6 @@ if TYPE_CHECKING: from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.ConfigurationModel import ConfigurationModel -from cura.PrinterOutput.ConfigurationChangeModel import ConfigurationChangeModel - - class PrintJobOutputModel(QObject): stateChanged = pyqtSignal() timeTotalChanged = pyqtSignal() @@ -26,7 +23,6 @@ class PrintJobOutputModel(QObject): configurationChanged = pyqtSignal() previewImageChanged = pyqtSignal() compatibleMachineFamiliesChanged = pyqtSignal() - configurationChangesChanged = pyqtSignal() def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None) -> None: super().__init__(parent) @@ -44,7 +40,6 @@ class PrintJobOutputModel(QObject): self._preview_image_id = 0 self._preview_image = None # type: Optional[QImage] - self._configuration_changes = [] # type: List[ConfigurationChangeModel] @pyqtProperty("QStringList", notify=compatibleMachineFamiliesChanged) def compatibleMachineFamilies(self): @@ -152,13 +147,3 @@ class PrintJobOutputModel(QObject): @pyqtSlot(str) def setState(self, state): self._output_controller.setJobState(self, state) - - @pyqtProperty("QVariantList", notify=configurationChangesChanged) - def configurationChanges(self) -> List[ConfigurationChangeModel]: - return self._configuration_changes - - def updateConfigurationChanges(self, changes: List[ConfigurationChangeModel]) -> None: - if len(self._configuration_changes) == 0 and len(changes) == 0: - return - self._configuration_changes = changes - self.configurationChangesChanged.emit() diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 79040373ae..88ac1c1e76 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -17,17 +17,17 @@ from UM.Scene.SceneNode import SceneNode # For typing. from UM.Version import Version # To check against firmware versions for support. from cura.CuraApplication import CuraApplication -from cura.PrinterOutput.ConfigurationChangeModel import ConfigurationChangeModel from cura.PrinterOutput.ConfigurationModel import ConfigurationModel from cura.PrinterOutput.ExtruderConfigurationModel import ExtruderConfigurationModel from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutputDevice, AuthState from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel -from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.MaterialOutputModel import MaterialOutputModel from cura.PrinterOutput.NetworkCamera import NetworkCamera from .ClusterUM3PrinterOutputController import ClusterUM3PrinterOutputController from .SendMaterialJob import SendMaterialJob +from .ConfigurationChangeModel import ConfigurationChangeModel +from .UM3PrintJobOutputModel import UM3PrintJobOutputModel from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply from PyQt5.QtGui import QDesktopServices, QImage @@ -61,7 +61,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._dummy_lambdas = ("", {}, io.BytesIO()) #type: Tuple[str, Dict, Union[io.StringIO, io.BytesIO]] - self._print_jobs = [] # type: List[PrintJobOutputModel] + self._print_jobs = [] # type: List[UM3PrintJobOutputModel] self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterMonitorItem.qml") self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterControlItem.qml") @@ -91,7 +91,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._printer_uuid_to_unique_name_mapping = {} # type: Dict[str, str] - self._finished_jobs = [] # type: List[PrintJobOutputModel] + self._finished_jobs = [] # type: List[UM3PrintJobOutputModel] self._cluster_size = int(properties.get(b"cluster_size", 0)) # type: int @@ -350,15 +350,15 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): QDesktopServices.openUrl(QUrl("http://" + self._address + "/printers")) @pyqtProperty("QVariantList", notify = printJobsChanged) - def printJobs(self)-> List[PrintJobOutputModel]: + def printJobs(self)-> List[UM3PrintJobOutputModel]: return self._print_jobs @pyqtProperty("QVariantList", notify = printJobsChanged) - def queuedPrintJobs(self) -> List[PrintJobOutputModel]: + def queuedPrintJobs(self) -> List[UM3PrintJobOutputModel]: return [print_job for print_job in self._print_jobs if print_job.state == "queued" or print_job.state == "error"] @pyqtProperty("QVariantList", notify = printJobsChanged) - def activePrintJobs(self) -> List[PrintJobOutputModel]: + def activePrintJobs(self) -> List[UM3PrintJobOutputModel]: return [print_job for print_job in self._print_jobs if print_job.assignedPrinter is not None and print_job.state != "queued"] @pyqtProperty("QVariantList", notify = clusterPrintersChanged) @@ -543,8 +543,8 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._printers.append(printer) return printer - def _createPrintJobModel(self, data: Dict[str, Any]) -> PrintJobOutputModel: - print_job = PrintJobOutputModel(output_controller=ClusterUM3PrinterOutputController(self), + def _createPrintJobModel(self, data: Dict[str, Any]) -> UM3PrintJobOutputModel: + print_job = UM3PrintJobOutputModel(output_controller=ClusterUM3PrinterOutputController(self), key=data["uuid"], name= data["name"]) configuration = ConfigurationModel() @@ -564,7 +564,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): print_job.stateChanged.connect(self._printJobStateChanged) return print_job - def _updatePrintJob(self, print_job: PrintJobOutputModel, data: Dict[str, Any]) -> None: + def _updatePrintJob(self, print_job: UM3PrintJobOutputModel, data: Dict[str, Any]) -> None: print_job.updateTimeTotal(data["time_total"]) print_job.updateTimeElapsed(data["time_elapsed"]) impediments_to_printing = data.get("impediments_to_printing", []) @@ -647,7 +647,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): material = self._createMaterialOutputModel(material_data) extruder.updateActiveMaterial(material) - def _removeJob(self, job: PrintJobOutputModel) -> bool: + def _removeJob(self, job: UM3PrintJobOutputModel) -> bool: if job not in self._print_jobs: return False @@ -691,7 +691,7 @@ def checkValidGetReply(reply: QNetworkReply) -> bool: return True -def findByKey(lst: List[Union[PrintJobOutputModel, PrinterOutputModel]], key: str) -> Optional[PrintJobOutputModel]: +def findByKey(lst: List[Union[UM3PrintJobOutputModel, PrinterOutputModel]], key: str) -> Optional[UM3PrintJobOutputModel]: for item in lst: if item.key == key: return item diff --git a/cura/PrinterOutput/ConfigurationChangeModel.py b/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py similarity index 100% rename from cura/PrinterOutput/ConfigurationChangeModel.py rename to plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py diff --git a/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py b/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py new file mode 100644 index 0000000000..2ac3e6ba4f --- /dev/null +++ b/plugins/UM3NetworkPrinting/src/UM3PrintJobOutputModel.py @@ -0,0 +1,29 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, pyqtSlot +from typing import Optional, TYPE_CHECKING, List +from PyQt5.QtCore import QUrl +from PyQt5.QtGui import QImage + +from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel + +from .ConfigurationChangeModel import ConfigurationChangeModel + + +class UM3PrintJobOutputModel(PrintJobOutputModel): + configurationChangesChanged = pyqtSignal() + + def __init__(self, output_controller: "PrinterOutputController", key: str = "", name: str = "", parent=None) -> None: + super().__init__(output_controller, key, name, parent) + self._configuration_changes = [] # type: List[ConfigurationChangeModel] + + @pyqtProperty("QVariantList", notify=configurationChangesChanged) + def configurationChanges(self) -> List[ConfigurationChangeModel]: + return self._configuration_changes + + def updateConfigurationChanges(self, changes: List[ConfigurationChangeModel]) -> None: + if len(self._configuration_changes) == 0 and len(changes) == 0: + return + self._configuration_changes = changes + self.configurationChangesChanged.emit() From 77fd05ac706822d56e39b202a3ce3f394c30b929 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Mon, 1 Oct 2018 17:21:34 +0200 Subject: [PATCH 153/423] Disable other buttons while toolbox is downloading to avoid crashes. I did it that way to not be risky because we're close to the release. Contributes to CURA-5778. --- plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml | 2 +- plugins/Toolbox/resources/qml/ToolboxBackColumn.qml | 5 +++-- plugins/Toolbox/resources/qml/ToolboxDetailPage.qml | 3 +-- plugins/Toolbox/resources/qml/ToolboxHeader.qml | 5 +++-- plugins/Toolbox/src/Toolbox.py | 3 ++- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml b/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml index 90b92bd832..4aaea20813 100644 --- a/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml @@ -15,7 +15,7 @@ Item { id: sidebar } - Rectangle + Item { id: header anchors diff --git a/plugins/Toolbox/resources/qml/ToolboxBackColumn.qml b/plugins/Toolbox/resources/qml/ToolboxBackColumn.qml index 5c60e368a9..8524b7d1e5 100644 --- a/plugins/Toolbox/resources/qml/ToolboxBackColumn.qml +++ b/plugins/Toolbox/resources/qml/ToolboxBackColumn.qml @@ -23,6 +23,7 @@ Item { id: button text: catalog.i18nc("@action:button", "Back") + enabled: !toolbox.isDownloading UM.RecolorImage { id: backArrow @@ -39,7 +40,7 @@ Item width: width height: height } - color: button.hovered ? UM.Theme.getColor("primary") : UM.Theme.getColor("text") + color: button.enabled ? (button.hovered ? UM.Theme.getColor("primary") : UM.Theme.getColor("text")) : UM.Theme.getColor("text_inactive") source: UM.Theme.getIcon("arrow_left") } width: UM.Theme.getSize("toolbox_back_button").width @@ -59,7 +60,7 @@ Item { id: labelStyle text: control.text - color: control.hovered ? UM.Theme.getColor("primary") : UM.Theme.getColor("text") + color: control.enabled ? (control.hovered ? UM.Theme.getColor("primary") : UM.Theme.getColor("text")) : UM.Theme.getColor("text_inactive") font: UM.Theme.getFont("default_bold") horizontalAlignment: Text.AlignRight width: control.width diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml index 270e8fc1fc..cba55051f5 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml @@ -9,9 +9,8 @@ import UM 1.1 as UM Item { id: page - property var details: base.selection + property var details: base.selection || {} anchors.fill: parent - width: parent.width ToolboxBackColumn { id: sidebar diff --git a/plugins/Toolbox/resources/qml/ToolboxHeader.qml b/plugins/Toolbox/resources/qml/ToolboxHeader.qml index 59c51039d9..f2ed8fc31f 100644 --- a/plugins/Toolbox/resources/qml/ToolboxHeader.qml +++ b/plugins/Toolbox/resources/qml/ToolboxHeader.qml @@ -25,7 +25,7 @@ Item { text: catalog.i18nc("@title:tab", "Plugins") active: toolbox.viewCategory == "plugin" && enabled - enabled: toolbox.viewPage != "loading" && toolbox.viewPage != "errored" + enabled: !toolbox.isDownloading && toolbox.viewPage != "loading" && toolbox.viewPage != "errored" onClicked: { toolbox.filterModelByProp("packages", "type", "plugin") @@ -39,7 +39,7 @@ Item { text: catalog.i18nc("@title:tab", "Materials") active: toolbox.viewCategory == "material" && enabled - enabled: toolbox.viewPage != "loading" && toolbox.viewPage != "errored" + enabled: !toolbox.isDownloading && toolbox.viewPage != "loading" && toolbox.viewPage != "errored" onClicked: { toolbox.filterModelByProp("authors", "package_types", "material") @@ -53,6 +53,7 @@ Item { text: catalog.i18nc("@title:tab", "Installed") active: toolbox.viewCategory == "installed" + enabled: !toolbox.isDownloading anchors { right: parent.right diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index be9fe65004..3e2085277a 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -603,7 +603,7 @@ class Toolbox(QObject, Extension): @pyqtSlot() def cancelDownload(self) -> None: - Logger.log("i", "Toolbox: User cancelled the download of a plugin.") + Logger.log("i", "Toolbox: User cancelled the download of a package.") self.resetDownload() def resetDownload(self) -> None: @@ -755,6 +755,7 @@ class Toolbox(QObject, Extension): self._active_package = package self.activePackageChanged.emit() + ## The active package is the package that is currently being downloaded @pyqtProperty(QObject, fset = setActivePackage, notify = activePackageChanged) def activePackage(self) -> Optional[Dict[str, Any]]: return self._active_package From 8994aad52d8e85176628b8effe4b8ddcda4e682e Mon Sep 17 00:00:00 2001 From: ValentinPitre Date: Mon, 1 Oct 2018 22:42:20 +0200 Subject: [PATCH 154/423] fix setting versions numbers --- resources/variants/tizyx_k25_0.2.inst.cfg | 2 +- resources/variants/tizyx_k25_0.3.inst.cfg | 2 +- resources/variants/tizyx_k25_0.4.inst.cfg | 2 +- resources/variants/tizyx_k25_0.5.inst.cfg | 2 +- resources/variants/tizyx_k25_0.6.inst.cfg | 2 +- resources/variants/tizyx_k25_0.8.inst.cfg | 2 +- resources/variants/tizyx_k25_1.0.inst.cfg | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/variants/tizyx_k25_0.2.inst.cfg b/resources/variants/tizyx_k25_0.2.inst.cfg index a87f5a0b25..cd9f1bcbd1 100644 --- a/resources/variants/tizyx_k25_0.2.inst.cfg +++ b/resources/variants/tizyx_k25_0.2.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = tizyx_k25 [metadata] -setting_version = 4 +setting_version = 5 type = variant hardware_type = nozzle diff --git a/resources/variants/tizyx_k25_0.3.inst.cfg b/resources/variants/tizyx_k25_0.3.inst.cfg index f6be2713d3..8b34d23bf6 100644 --- a/resources/variants/tizyx_k25_0.3.inst.cfg +++ b/resources/variants/tizyx_k25_0.3.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = tizyx_k25 [metadata] -setting_version = 4 +setting_version = 5 type = variant hardware_type = nozzle diff --git a/resources/variants/tizyx_k25_0.4.inst.cfg b/resources/variants/tizyx_k25_0.4.inst.cfg index 1fd0939268..c147eb0ad0 100644 --- a/resources/variants/tizyx_k25_0.4.inst.cfg +++ b/resources/variants/tizyx_k25_0.4.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = tizyx_k25 [metadata] -setting_version = 4 +setting_version = 5 type = variant hardware_type = nozzle diff --git a/resources/variants/tizyx_k25_0.5.inst.cfg b/resources/variants/tizyx_k25_0.5.inst.cfg index ed426f1c5c..14102fb2c7 100644 --- a/resources/variants/tizyx_k25_0.5.inst.cfg +++ b/resources/variants/tizyx_k25_0.5.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = tizyx_k25 [metadata] -setting_version = 4 +setting_version = 5 type = variant hardware_type = nozzle diff --git a/resources/variants/tizyx_k25_0.6.inst.cfg b/resources/variants/tizyx_k25_0.6.inst.cfg index 876f773d96..00f69f71f4 100644 --- a/resources/variants/tizyx_k25_0.6.inst.cfg +++ b/resources/variants/tizyx_k25_0.6.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = tizyx_k25 [metadata] -setting_version = 4 +setting_version = 5 type = variant hardware_type = nozzle diff --git a/resources/variants/tizyx_k25_0.8.inst.cfg b/resources/variants/tizyx_k25_0.8.inst.cfg index fd9516106a..c80f5e70d2 100644 --- a/resources/variants/tizyx_k25_0.8.inst.cfg +++ b/resources/variants/tizyx_k25_0.8.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = tizyx_k25 [metadata] -setting_version = 4 +setting_version = 5 type = variant hardware_type = nozzle diff --git a/resources/variants/tizyx_k25_1.0.inst.cfg b/resources/variants/tizyx_k25_1.0.inst.cfg index d310dfd0cf..ce8593b1e8 100644 --- a/resources/variants/tizyx_k25_1.0.inst.cfg +++ b/resources/variants/tizyx_k25_1.0.inst.cfg @@ -4,7 +4,7 @@ version = 4 definition = tizyx_k25 [metadata] -setting_version = 4 +setting_version = 5 type = variant hardware_type = nozzle From 6212bcbc33a5cac49f30b7f6ab48f16e76fb6d55 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 2 Oct 2018 10:34:37 +0200 Subject: [PATCH 155/423] Add traditional chinese translations to Cura. Contributes to CURA-5741. --- resources/i18n/zh_TW/cura.po | 144 ++++++++++---------- resources/i18n/zh_TW/fdmprinter.def.json.po | 74 +++++----- 2 files changed, 110 insertions(+), 108 deletions(-) diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 22a1cebe5f..3658a7f2b2 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-06-17 10:40+0800\n" +"PO-Revision-Date: 2018-10-02 10:25+0100\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.0.8\n" +"X-Generator: Poedit 2.1.1\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -43,13 +43,13 @@ msgstr "G-code 檔案" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "G-code 寫入器不支援非文字模式。" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "請在儲存前產出 G-code。" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -108,7 +108,7 @@ msgstr "透過 USB 連接" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "USB 列印正在進行中,關閉 Cura 將停止此列印工作。你確定要繼續嗎?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -135,7 +135,7 @@ msgstr "壓縮 G-code 檔案" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "G-code GZ 寫入器不支援非文字模式。" #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -341,7 +341,7 @@ msgstr "向印表機發送存取請求" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "Unable to start a new print job." -msgstr "無法開始新的列印作業" +msgstr "無法開始新的列印作業。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 msgctxt "@label" @@ -633,7 +633,7 @@ msgstr "無法切片(原因:換料塔或主位置無效)。" #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "有物件使用了被停用的擠出機 %s ,因此無法進行切片。" #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -689,12 +689,12 @@ msgstr "噴頭" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "專案檔案 {0} 包含未知的機器類型 {1}。機器無法被匯入,但模型將被匯入。" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "開啟專案檔案" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -751,7 +751,7 @@ msgstr "Cura 專案 3MF 檔案" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "寫入 3mf 檔案發生錯誤。" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -1467,7 +1467,7 @@ msgstr "作者" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "下載" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1507,27 +1507,27 @@ msgstr "返回" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "移除確認 " #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "你正在移除仍被使用的耗材/列印設定。確認後會將下列耗材/列印設定重設為預設值。" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "耗材" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "參數" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "確定" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1542,17 +1542,17 @@ msgstr "結束 Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "社群貢獻" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "社群外掛" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "通用耗材" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1618,12 +1618,12 @@ msgstr "取得軟體包..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "網站" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "電子郵件" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1760,12 +1760,12 @@ msgstr "位址" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "此印表機未被設定為管理印表機群組。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "此印表機為 %1 印表機群組的管理者。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1813,100 +1813,100 @@ msgstr "列印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "等待:印表機無法使用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "等待:第一可用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "等待:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "移至頂端" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "將列印作業移至最頂端" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "你確定要將 %1 移至隊列的頂端嗎?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "刪除" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "刪除列印作業" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "你確定要刪除 %1 嗎?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "管理隊列" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" msgid "Queued" -msgstr "已排入佇列" +msgstr "已排入隊列" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 msgctxt "@label" msgid "Printing" -msgstr "已排入佇列" +msgstr "列印中" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "管理印表機" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "無法使用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "無法連接" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "可用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "繼續" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "暫停" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "中斷" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1917,13 +1917,13 @@ msgstr "中斷列印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "你確定要中斷 %1 嗎?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "已中斷" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1938,7 +1938,7 @@ msgstr "正在準備" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "暫停中" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2354,7 +2354,7 @@ msgstr "開啟" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "前一個" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2366,12 +2366,12 @@ msgstr "匯出" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "下一個" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "提示" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2420,12 +2420,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "列印實驗" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "檢查清單" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2648,7 +2648,7 @@ msgstr "請取出列印件" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "中斷列印" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -3111,7 +3111,7 @@ msgstr "開啟專案檔案時的預設行為:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "每次都向我確認" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3131,22 +3131,22 @@ msgstr "當你對列印參數進行更改然後切換到其他列印參數時, #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "列印參數" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "當切換到另一組列印參數時,對於被修改過的設定的預設行為:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "總是放棄修改過的設定" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "總是將修改過的設定轉移至新的列印參數" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3341,7 +3341,7 @@ msgstr "新增印表機" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "無標題" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3558,7 +3558,7 @@ msgstr "這個設定是所有擠出機共用的。修改它會同時更動到所 #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 msgctxt "@label" msgid "The value is resolved from per-extruder values " -msgstr "這個數值是由每個擠出機的設定值解析出來的" +msgstr "這個數值是由每個擠出機的設定值解析出來的 " #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 msgctxt "@label" @@ -3636,7 +3636,7 @@ msgstr "此加熱頭的目前溫度。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 msgctxt "@tooltip of temperature input" msgid "The temperature to pre-heat the hotend to." -msgstr "加熱頭預熱溫度" +msgstr "加熱頭預熱溫度。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:336 #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/HeatedBedBox.qml:331 @@ -3699,17 +3699,17 @@ msgstr "列印前請預熱熱床。你可以在熱床加熱時繼續調整相關 #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "耗材" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "常用" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "通用" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -4144,17 +4144,17 @@ msgstr "檔案(&F)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "儲存(&S)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "匯出(&E)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "匯出選擇…" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4256,13 +4256,13 @@ msgstr "你確定要開始一個新專案嗎?這將清除列印平台及任何 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "關閉 Cura 中" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "你確定要結束 Cura 嗎?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4322,7 +4322,7 @@ msgstr "層高" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:277 msgctxt "@tooltip" msgid "This quality profile is not available for you current material and nozzle configuration. Please change these to enable this quality profile" -msgstr "品質參數不適用於目前的耗材和噴頭設定。請變更這些設定以啟用此品質參數。" +msgstr "品質參數不適用於目前的耗材和噴頭設定。請變更這些設定以啟用此品質參數" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:450 msgctxt "@tooltip" @@ -4443,7 +4443,7 @@ msgstr "耗材" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "此耗材使用膠水組合" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4783,12 +4783,12 @@ msgstr "升級版本 2.7 到 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "將設定從 Cura 3.4 版本升級至 3.5 版本。" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "升級版本 3.4 到 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index e3eff330ed..b59748ce00 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-06-14 00:09+0800\n" +"PO-Revision-Date: 2018-10-02 10:30+0100\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.8\n" +"X-Generator: Poedit 2.1.1\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -1038,7 +1038,7 @@ msgstr "直線" #: fdmprinter.def.json msgctxt "top_bottom_pattern option concentric" msgid "Concentric" -msgstr "同心圓" +msgstr "同心" #: fdmprinter.def.json msgctxt "top_bottom_pattern option zigzag" @@ -1063,7 +1063,7 @@ msgstr "直線" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 option concentric" msgid "Concentric" -msgstr "同心圓" +msgstr "同心" #: fdmprinter.def.json msgctxt "top_bottom_pattern_0 option zigzag" @@ -1073,12 +1073,12 @@ msgstr "鋸齒狀" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "連接頂部/底部多邊形" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "將頂部/底部表層路徑相鄰的位置連接。同心模式時開啟此設定,可以大大地減少空跑時間。但因連接可能發生在填充途中,所以此功能可能降低頂部表層的品質。" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1163,22 +1163,22 @@ msgstr "列印內壁時如果該位置已經有牆壁存在,所進行的的流 #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "最小牆壁流量" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "牆壁允許的最小流量百分比。當在已列印的牆壁旁列印牆壁時,「補償牆壁重疊」會減少耗材流量。小於此設定流量的牆壁會被空跑取代。當啟用此設定時,必需啟用「補償牆壁重疊」並設定先列印外壁再列印內壁。" #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "回抽優先" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "當此功能開啟時,對於低於最小流量門檻值的牆壁,使用回抽取代而非梳理模式空跑。" #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1543,7 +1543,7 @@ msgstr "四分立方體" #: fdmprinter.def.json msgctxt "infill_pattern option concentric" msgid "Concentric" -msgstr "同心圓" +msgstr "同心" #: fdmprinter.def.json msgctxt "infill_pattern option zigzag" @@ -1573,12 +1573,12 @@ msgstr "使用一條線沿著內牆的形狀,連接填充線條與內牆交會 #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "連接填充多邊形" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "連接彼此相鄰的填充路徑。 對於由多個閉合多邊形組成的填充圖案,啟用此設定可大大縮短空跑時間。" #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1613,17 +1613,17 @@ msgstr "填充樣式在 Y 軸方向平移此距離。" #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "填充線倍增器" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "將每條填充線轉換為此數量。 額外的線條不會相互交叉,而是相互避開。 這會使填充更硬,但增加了列印時間和耗材使用。" #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "額外填充牆壁數量" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" @@ -1631,6 +1631,8 @@ msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." msgstr "" +"在填充區域周圍添加額外的牆壁。這樣的牆壁可以使頂部/底部表層線條較不易下垂,這表示您只要花費一些額外的材料,就可用更少層的頂部/底部表層得到相同的品質。\n" +"此功能可與「連接填充多邊形」結合使用。如果設定正確,可將所有填充連接為單一擠出路徑,不需空跑或回抽。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2780,7 +2782,7 @@ msgstr "梳理模式" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "梳理模式讓噴頭空跑時保持在已列印的區域內。這導致較長的空跑距離但減少回抽的需求。如果關閉梳理模式,噴頭將會回抽耗材,直線移動到下一點。梳理模式可以避開頂部/底部表層,也可以只用在內部填充。注意「內部填充」選項的行為與舊版 Cura 的「表層以外區域」選項是完全相同的。" #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2800,7 +2802,7 @@ msgstr "表層以外區域" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "內部填充" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3240,27 +3242,27 @@ msgstr "支撐線條間距" #: fdmprinter.def.json msgctxt "support_line_distance description" msgid "Distance between the printed support structure lines. This setting is calculated by the support density." -msgstr "已列印支撐結構線條之間的距離。該設定通過支撐密度計算。" +msgstr "支撐結構線條之間的距離。該設定通過支撐密度計算。" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "支撐起始層線條間距" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "支撐結構起始層線條之間的距離。該設定通過支撐密度計算。" #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "支撐填充線條方向" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "支撐填充樣式的方向。 支撐填充樣式的旋轉方向是在水平面上旋轉。" #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3585,7 +3587,7 @@ msgstr "三角形" #: fdmprinter.def.json msgctxt "support_roof_pattern option concentric" msgid "Concentric" -msgstr "同心圓" +msgstr "同心" #: fdmprinter.def.json msgctxt "support_roof_pattern option zigzag" @@ -3630,22 +3632,22 @@ msgstr "鋸齒狀" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "改變風扇轉速" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "啟用後,列印支撐上方表層的風扇轉速會發生變化。" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "受支撐表層風扇轉速" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "在支撐上方列印表層區域時使用的風扇轉速百分比。使用高風扇轉速可以使支撐更容易移除。" #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3974,7 +3976,7 @@ msgstr "木筏底部的線寬。這些線條應該是粗線,以便協助列印 #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "木筏底部間距" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4719,12 +4721,12 @@ msgstr "數據連接耗材流量(mm3/s)到溫度(攝氏)。" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "最小多邊形周長" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "切片層中周長小於此值的多邊形將被過濾掉。設定較低的值會花費較多的切片時間,以獲得較高解析度的網格。它主要用於高解析度的 SLA 印表機和具有大量細節的微小 3D 模型。" #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5034,7 +5036,7 @@ msgstr "絨毛皮膚" #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_enabled description" msgid "Randomly jitter while printing the outer wall, so that the surface has a rough and fuzzy look." -msgstr "在列印外牆時隨機抖動,使表面具有粗糙和模糊的外觀。" +msgstr "在列印外牆時隨機抖動,使表面具有粗糙和毛絨絨的外觀。" #: fdmprinter.def.json msgctxt "magic_fuzzy_skin_thickness label" @@ -5388,22 +5390,22 @@ msgstr "決定是否使用較小層高的門檻值。此值會與一層中最陡 #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "突出牆壁角度" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "牆壁突出的角度大於此值時,將使用突出牆壁的設定列印。當此值設定為 90 時,所有牆壁都不會被當作突出牆壁。" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "突出牆壁速度" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "突出牆壁將會以正常速度的此百分比值列印。" #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" From 18361b94343dd1f443aa4074c6f8c5e28b38c904 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 2 Oct 2018 10:31:05 +0200 Subject: [PATCH 156/423] Ensure that CuraAPI can be called in the same way as before This should prevent another API break. CURA-5744 --- cura/API/__init__.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/cura/API/__init__.py b/cura/API/__init__.py index e9aba86a41..ad07452c1a 100644 --- a/cura/API/__init__.py +++ b/cura/API/__init__.py @@ -23,10 +23,22 @@ class CuraAPI(QObject): # For now we use the same API version to be consistent. VERSION = PluginRegistry.APIVersion + __instance = None # type: "CuraAPI" + _application = None # type: CuraApplication - def __init__(self, application: "CuraApplication") -> None: - super().__init__(parent = application) - self._application = application + # This is done to ensure that the first time an instance is created, it's forced that the application is set. + # The main reason for this is that we want to prevent consumers of API to have a dependency on CuraApplication. + # Since the API is intended to be used by plugins, the cura application should have already created this. + def __new__(cls, application: Optional["CuraApplication"] = None): + if cls.__instance is None: + if application is None: + raise Exception("Upon first time creation, the application must be set.") + cls.__instance = super(CuraAPI, cls).__new__(cls) + cls._application = application + return cls.__instance + + def __init__(self, application: Optional["CuraApplication"] = None) -> None: + super().__init__(parent = CuraAPI._application) # Accounts API self._account = Account(self._application) From 13eaa14752e7aec9d495c48bebe3be1206b56387 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 2 Oct 2018 11:37:04 +0200 Subject: [PATCH 157/423] Set preference for sending info to default state instead of removing them CURA-5095 --- .../VersionUpgrade34to35/VersionUpgrade34to35.py | 4 ++-- .../VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py index 7acea7ab5e..9d59133036 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/VersionUpgrade34to35.py @@ -88,9 +88,9 @@ class VersionUpgrade34to35(VersionUpgrade): # Need to show the data collection agreement again because the data Cura collects has been changed. if parser.has_option("info", "asked_send_slice_info"): - parser.remove_option("info", "asked_send_slice_info") + parser.set("info", "asked_send_slice_info", "False") if parser.has_option("info", "send_slice_info"): - parser.remove_option("info", "send_slice_info") + parser.set("info", "send_slice_info", "True") # Update version number. parser["general"]["version"] = "6" diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py b/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py index a109d97dd7..b74e6f35ac 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/tests/TestVersionUpgrade34to35.py @@ -38,6 +38,6 @@ def test_upgradeVersionNr(test_name, file_data, upgrader): assert parser["general"]["version"] == "6" assert parser["metadata"]["setting_version"] == "5" - # Check if the data collection values have been removed - assert not parser.has_option("info", "asked_send_slice_info") - assert not parser.has_option("info", "send_slice_info") + # Check if the data collection values have been reset to their defaults + assert parser.get("info", "asked_send_slice_info") == "False" + assert parser.get("info", "send_slice_info") == "True" From 6d17144766fd7f3b02b5aaf9b8018580239b1065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A1udio=20=27Patola=27=20Sampaio?= Date: Tue, 2 Oct 2018 07:00:14 -0300 Subject: [PATCH 158/423] Updated strings to Cura 3.5 --- resources/i18n/pt_BR/cura.po | 166 +++++++++---------- resources/i18n/pt_BR/fdmextruder.def.json.po | 4 +- resources/i18n/pt_BR/fdmprinter.def.json.po | 66 ++++---- 3 files changed, 119 insertions(+), 117 deletions(-) diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index f79850003a..1ff220941e 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-09-19 17:07+0200\n" -"PO-Revision-Date: 2018-06-23 02:20-0300\n" +"PO-Revision-Date: 2018-10-01 03:20-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" @@ -42,13 +42,13 @@ msgstr "Arquivo G-Code" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:67 msgctxt "@error:not supported" msgid "GCodeWriter does not support non-text mode." -msgstr "" +msgstr "O GCodeWriter não suporta modo binário." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please generate G-code before saving." -msgstr "" +msgstr "Por favor gere o G-Code antes de salvar." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -107,7 +107,7 @@ msgstr "Conectado via USB" #: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" -msgstr "" +msgstr "Uma impressão USB está em progresso, fechar o Cura interromperá esta impressão. Tem certeza?" #: /home/ruben/Projects/Cura/plugins/X3GWriter/build/install/X3GWriter/__init__.py:15 #: /home/ruben/Projects/Cura/plugins/X3GWriter/__init__.py:15 @@ -134,7 +134,7 @@ msgstr "Arquivo de G-Code Comprimido" #: /home/ruben/Projects/Cura/plugins/GCodeGzWriter/GCodeGzWriter.py:38 msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." -msgstr "" +msgstr "O GCodeGzWriter não suporta modo binário." #: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 msgctxt "@item:inlistbox" @@ -161,7 +161,7 @@ msgstr "Salvar em Unidade Removível {0}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 msgctxt "@info:status" msgid "There are no file formats available to write with!" -msgstr "Há formatos de arquivo disponíveis com os quais escrever!" +msgstr "Não há formatos de arquivo disponíveis com os quais escrever!" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 #, python-brace-format @@ -345,13 +345,13 @@ msgstr "Incapaz de iniciar novo trabalho de impressão." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." -msgstr "Há um problema com a configuração de sua Ultimaker que torna impossível iniciar a impressão. Por favor resolva este problema antes de continuar." +msgstr "Há um problema com a configuração de sua Ultimaker, o que torna impossível iniciar a impressão. Por favor resolva este problema antes de continuar." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 msgctxt "@window:title" msgid "Mismatched configuration" -msgstr "Configuração divergente" +msgstr "Configuração conflitante" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" @@ -533,7 +533,7 @@ msgstr "Bloqueador de Suporte" #: /home/ruben/Projects/Cura/plugins/SupportEraser/__init__.py:13 msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." -msgstr "Cria um volume em que suportes não são impressos." +msgstr "Cria um volume em que os suportes não são impressos." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 msgctxt "@info" @@ -553,7 +553,7 @@ msgstr "Mais informações" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." -msgstr "Ver mais informações em que dados o Cura envia." +msgstr "Ver mais informações sobre os dados enviados pelo Cura." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 msgctxt "@action:button" @@ -620,7 +620,7 @@ msgstr "Incapaz de fatiar com os ajustes atuais. Os seguintes ajustes têm erros #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" -msgstr "Incapaz de fatiar devido a alguns ajustes por modelo. Os seguintes ajustes têm erros em um ou mais dos modelos: {error_labels}" +msgstr "Incapaz de fatiar devido a alguns ajustes por modelo. Os seguintes ajustes têm erros em um dos modelos ou mais: {error_labels}" #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 msgctxt "@info:status" @@ -631,7 +631,7 @@ msgstr "Incapaz de fatiar porque a torre de purga ou posição de purga são inv #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." -msgstr "" +msgstr "Incapaz de fatiar porque há objetos associados com o Extrusor desabilitado %s." #: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:status" @@ -687,12 +687,12 @@ msgstr "Bico" #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Project file {0} contains an unknown machine type {1}. Cannot import the machine. Models will be imported instead." -msgstr "" +msgstr "O arquivo de projeto {0} contém um tipo de máquina desconhecido {1}. Não foi possível importar a máquina. Os modelos serão importados ao invés dela." #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:471 msgctxt "@info:title" msgid "Open Project File" -msgstr "" +msgstr "Abrir Arquivo de Projeto" #: /home/ruben/Projects/Cura/plugins/SolidView/__init__.py:12 msgctxt "@item:inmenu" @@ -749,7 +749,7 @@ msgstr "Arquivo de Projeto 3MF do Cura" #: /home/ruben/Projects/Cura/plugins/3MFWriter/ThreeMFWriter.py:179 msgctxt "@error:zip" msgid "Error writing 3mf file." -msgstr "" +msgstr "Erro ao escrever arquivo 3mf." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelection.py:17 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelection.py:18 @@ -854,7 +854,7 @@ msgstr "O arquivo {0} já existe. Tem certeza que quer sobr #: /home/ruben/Projects/Cura/cura/Settings/ExtrudersModel.py:212 msgctxt "@menuitem" msgid "Not overridden" -msgstr "Não sobrepujado" +msgstr "Não sobreposto" #: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 msgctxt "@info:status" @@ -1397,7 +1397,7 @@ msgstr "Diâmetro de material compatível" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:403 msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." -msgstr "O diâmetro nominal do filamento suportado pela impressora. O diâmetro exato será sobrepujado pelo material e/ou perfil." +msgstr "O diâmetro nominal do filamento suportado pela impressora. O diâmetro exato será sobreposto pelo material e/ou perfil." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 msgctxt "@label" @@ -1465,7 +1465,7 @@ msgstr "Autor" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 msgctxt "@label" msgid "Downloads" -msgstr "" +msgstr "Downloads" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 @@ -1505,27 +1505,27 @@ msgstr "Voltar" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall " -msgstr "" +msgstr "Confirme a deinstalação" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" msgid "You are uninstalling materials and/or profiles that are still in use. Confirming will reset the following materials/profiles to their defaults." -msgstr "" +msgstr "Você está desinstalando material e/ou perfis que ainda estão em uso. Confirmar irá restaurar os materiais e perfis seguintes a seus defaults." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:51 msgctxt "@text:window" msgid "Materials" -msgstr "" +msgstr "Materiais" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:52 msgctxt "@text:window" msgid "Profiles" -msgstr "" +msgstr "Perfis" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:89 msgctxt "@action:button" msgid "Confirm" -msgstr "" +msgstr "Confirmar" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" @@ -1540,17 +1540,17 @@ msgstr "Sair do Cura" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Contributions" -msgstr "" +msgstr "Contribuições da Comunidade" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:34 msgctxt "@label" msgid "Community Plugins" -msgstr "" +msgstr "Complementos da Comunidade" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDownloadsPage.qml:43 msgctxt "@label" msgid "Generic Materials" -msgstr "" +msgstr "Materiais Genéricos" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 msgctxt "@title:tab" @@ -1616,12 +1616,12 @@ msgstr "Obtendo pacotes..." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" msgid "Website" -msgstr "" +msgstr "Sítio Web" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:94 msgctxt "@label" msgid "Email" -msgstr "" +msgstr "Email" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.qml:22 msgctxt "@info:tooltip" @@ -1758,12 +1758,12 @@ msgstr "Endereço" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 msgctxt "@label" msgid "This printer is not set up to host a group of printers." -msgstr "" +msgstr "Esta impressora não está configurada para hospedar um grupo de impressoras." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." -msgstr "" +msgstr "Esta impressora é a hospedeira de um grupo de %1 impressoras." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 msgctxt "@label" @@ -1811,52 +1811,52 @@ msgstr "Imprimir" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 msgctxt "@label" msgid "Waiting for: Unavailable printer" -msgstr "" +msgstr "Aguardando por: Impressora indisponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 msgctxt "@label" msgid "Waiting for: First available" -msgstr "" +msgstr "Aguardando por: A primeira disponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 msgctxt "@label" msgid "Waiting for: " -msgstr "" +msgstr "Aguardando por: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 msgctxt "@label" msgid "Move to top" -msgstr "" +msgstr "Mover para o topo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 msgctxt "@window:title" msgid "Move print job to top" -msgstr "" +msgstr "Move o trabalho de impressão para o topo da fila" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" +msgstr "Você tem certeza que quer mover %1 para o topo da fila?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 msgctxt "@label" msgid "Delete" -msgstr "" +msgstr "Remover" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 msgctxt "@window:title" msgid "Delete print job" -msgstr "" +msgstr "Remover trabalho de impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to delete %1?" -msgstr "" +msgstr "Você tem certeza que quer remover %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 msgctxt "@label link to connect manager" msgid "Manage queue" -msgstr "" +msgstr "Gerenciar fila" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 msgctxt "@label" @@ -1871,40 +1871,40 @@ msgstr "Imprimindo" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 msgctxt "@label link to connect manager" msgid "Manage printers" -msgstr "" +msgstr "Gerenciar impressoras" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 msgctxt "@label" msgid "Not available" -msgstr "" +msgstr "Não disponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 msgctxt "@label" msgid "Unreachable" -msgstr "" +msgstr "Inacessível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 msgctxt "@label" msgid "Available" -msgstr "" +msgstr "Disponível" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" -msgstr "" +msgstr "Continuar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" -msgstr "" +msgstr "Pausar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 msgctxt "@label" msgid "Abort" -msgstr "" +msgstr "Abortar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 @@ -1915,13 +1915,13 @@ msgstr "Abortar impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 msgctxt "@label %1 is the name of a print job." msgid "Are you sure you want to abort %1?" -msgstr "" +msgstr "Você tem certeza que quer abortar %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 msgctxt "@label:status" msgid "Aborted" -msgstr "" +msgstr "Abortado" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 msgctxt "@label:status" @@ -1936,7 +1936,7 @@ msgstr "Preparando" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 msgctxt "@label:status" msgid "Pausing" -msgstr "" +msgstr "Pausando" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 msgctxt "@label:status" @@ -2293,8 +2293,8 @@ msgstr "Ausente no perfil" msgctxt "@action:label" msgid "%1 override" msgid_plural "%1 overrides" -msgstr[0] "%1 sobrepujança" -msgstr[1] "%1 sobrepujanças" +msgstr[0] "%1 sobreposto" +msgstr[1] "%1 sobrepostos" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:247 msgctxt "@action:label" @@ -2305,8 +2305,8 @@ msgstr "Derivado de" msgctxt "@action:label" msgid "%1, %2 override" msgid_plural "%1, %2 overrides" -msgstr[0] "%1, %2 sobrepujança" -msgstr[1] "%1, %2 sobrepujanças" +msgstr[0] "%1, %2 sobreposição" +msgstr[1] "%1, %2 sobreposições" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:268 msgctxt "@action:label" @@ -2354,7 +2354,7 @@ msgstr "Abrir" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 msgctxt "@action:button" msgid "Previous" -msgstr "" +msgstr "Anterior" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 @@ -2366,12 +2366,12 @@ msgstr "Exportar" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 msgctxt "@action:button" msgid "Next" -msgstr "" +msgstr "Próximo" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 msgctxt "@label" msgid "Tip" -msgstr "" +msgstr "Dica" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 @@ -2420,12 +2420,12 @@ msgstr "%1m / ~ %2g" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 msgctxt "@label" msgid "Print experiment" -msgstr "" +msgstr "Imprimir experimento" #: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 msgctxt "@label" msgid "Checklist" -msgstr "" +msgstr "Lista de verificação" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 @@ -2648,7 +2648,7 @@ msgstr "Por favor remova a impressão" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" msgid "Abort Print" -msgstr "" +msgstr "Abortar Impressão" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:337 msgctxt "@label" @@ -3111,7 +3111,7 @@ msgstr "Comportamento default ao abrir um arquivo de projeto" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always ask me this" -msgstr "" +msgstr "Sempre me perguntar" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 msgctxt "@option:openProject" @@ -3131,22 +3131,22 @@ msgstr "Quando você faz alterações em um perfil e troca para um diferent, um #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 msgctxt "@label" msgid "Profiles" -msgstr "" +msgstr "Perfis" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "" +msgstr "Comportamento default para valores de configuração alterados ao mudar para um perfil diferente: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" -msgstr "" +msgstr "Sempre descartar alterações da configuração" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" -msgstr "" +msgstr "Sempre transferir as alterações para o novo perfil" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 msgctxt "@label" @@ -3300,7 +3300,7 @@ msgstr "Perfis personalizados" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:480 msgctxt "@action:button" msgid "Update profile with current settings/overrides" -msgstr "Atualizar perfil com ajustes atuais" +msgstr "Atualizar perfil com ajustes/sobreposições atuais" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:487 msgctxt "@action:button" @@ -3310,7 +3310,7 @@ msgstr "Descartar ajustes atuais" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:504 msgctxt "@action:label" msgid "This profile uses the defaults specified by the printer, so it has no settings/overrides in the list below." -msgstr "Este perfil usa os defaults especificados pela impressora, portanto não tem ajustes e sobrepujanças na lista abaixo." +msgstr "Este perfil usa os defaults especificados pela impressora, portanto não tem ajustes/sobreposições na lista abaixo." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:511 msgctxt "@action:label" @@ -3341,7 +3341,7 @@ msgstr "Adicionar Impressora" #: /home/ruben/Projects/Cura/resources/qml/JobSpecs.qml:84 msgctxt "@text Print job name" msgid "Untitled" -msgstr "" +msgstr "Sem Título" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:15 msgctxt "@title:window" @@ -3479,7 +3479,7 @@ msgid "" "\n" "Click to open the profile manager." msgstr "" -"Alguns ajustes/sobrepujanças têm valores diferentes dos que estão armazenados no perfil.\n" +"Alguns ajustes/sobreposições têm valores diferentes dos que estão armazenados no perfil.\n" "\n" "Clique para abrir o gerenciador de perfis." @@ -3699,17 +3699,17 @@ msgstr "Aquecer a mesa antes de imprimir. Você pode continuar ajustando sua imp #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:13 msgctxt "@label:category menu label" msgid "Material" -msgstr "" +msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:37 msgctxt "@label:category menu label" msgid "Favorites" -msgstr "" +msgstr "Favoritos" #: /home/ruben/Projects/Cura/resources/qml/Menus/MaterialMenu.qml:61 msgctxt "@label:category menu label" msgid "Generic" -msgstr "" +msgstr "Genérico" #: /home/ruben/Projects/Cura/resources/qml/Menus/PrinterMenu.qml:25 msgctxt "@label:category menu label" @@ -3912,7 +3912,7 @@ msgstr "Administrar Materiais..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" -msgstr "At&ualizar perfil com valores e sobrepujanças atuais" +msgstr "At&ualizar perfil com valores e sobreposições atuais" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 msgctxt "@action:inmenu menubar:profile" @@ -3922,7 +3922,7 @@ msgstr "&Descartar ajustes atuais" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." -msgstr "&Criar perfil a partir de ajustes atuais..." +msgstr "&Criar perfil a partir de ajustes/sobreposições atuais..." #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 msgctxt "@action:inmenu menubar:profile" @@ -4149,17 +4149,17 @@ msgstr "Arquivo (&F)" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 msgctxt "@title:menu menubar:file" msgid "&Save..." -msgstr "" +msgstr "&Salvar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 msgctxt "@title:menu menubar:file" msgid "&Export..." -msgstr "" +msgstr "&Exportar..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." -msgstr "" +msgstr "Exportar Seleção..." #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 msgctxt "@title:menu menubar:toplevel" @@ -4261,13 +4261,13 @@ msgstr "Tem certeza que quer iniciar novo projeto? Isto esvaziará a mesa de imp #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 msgctxt "@title:window" msgid "Closing Cura" -msgstr "" +msgstr "Fechando o Cura" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 msgctxt "@label" msgid "Are you sure you want to exit Cura?" -msgstr "" +msgstr "Você tem certeza que deseja sair do Cura?" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 msgctxt "@window:title" @@ -4449,7 +4449,7 @@ msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "" +msgstr "Use cola com esta combinação de materiais." #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4789,12 +4789,12 @@ msgstr "Atualização de Versão de 2.7 para 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "" +msgstr "Atualiza configurações do Cura 3.4 para o Cura 3.5" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "" +msgstr "Atualização de Versão 3.4 para 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" @@ -5108,7 +5108,7 @@ msgstr "Leitor de Perfis do Cura" #~ msgctxt "@label" #~ msgid "Override Profile" -#~ msgstr "Sobrepujar Perfil" +#~ msgstr "Sobrescrever Perfil" #~ msgctxt "@info:tooltip" #~ msgid "Should newly loaded models be arranged on the build plate? Used in conjunction with multi build plate (EXPERIMENTAL)" diff --git a/resources/i18n/pt_BR/fdmextruder.def.json.po b/resources/i18n/pt_BR/fdmextruder.def.json.po index 66a9aa7d3d..87eb768e57 100644 --- a/resources/i18n/pt_BR/fdmextruder.def.json.po +++ b/resources/i18n/pt_BR/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-06-23 05:00-0300\n" +"PO-Revision-Date: 2018-10-02 05:00-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" @@ -215,4 +215,4 @@ msgstr "Diâmetro" #: fdmextruder.def.json msgctxt "material_diameter description" msgid "Adjusts the diameter of the filament used. Match this value with the diameter of the used filament." -msgstr "Ajusta o diâmetro do filamento usado. Acerte este valor com o diâmetro do filamento atual." +msgstr "Ajusta o diâmetro do filamento usado. Use o valor medido do diâmetro do filamento atual." diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 68543a2aef..a352af777e 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" -"PO-Revision-Date: 2018-04-23 05:20-0300\n" +"PO-Revision-Date: 2018-10-02 06:30-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" @@ -1073,12 +1073,12 @@ msgstr "Ziguezague" #: fdmprinter.def.json msgctxt "connect_skin_polygons label" msgid "Connect Top/Bottom Polygons" -msgstr "" +msgstr "Conectar Polígonos do Topo e Base" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Conectar camihos de contorno do topo e base onde se situarem próximos. Habilitar para o padrão concêntrico reduzirá bastante o tempo de percurso, mas visto que as conexões podem acontecer sobre o preenchimento no meio do caminho, este recurso pode reduzir a qualidade da superfície superior." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1163,22 +1163,22 @@ msgstr "Compensa o fluxo para partes de uma parede interna sendo impressa onde j #: fdmprinter.def.json msgctxt "wall_min_flow label" msgid "Minimum Wall Flow" -msgstr "" +msgstr "Mínimo Fluxo da Parede" #: fdmprinter.def.json msgctxt "wall_min_flow description" msgid "Minimum allowed percentage flow for a wall line. The wall overlap compensation reduces a wall's flow when it lies close to an existing wall. Walls whose flow is less than this value will be replaced with a travel move. When using this setting, you must enable the wall overlap compensation and print the outer wall before inner walls." -msgstr "" +msgstr "Mínima porcentagem de fluxo permite para um filete de parede. A compensação de sobreposição de parede reduz o fluxo de uma parede quando ela está próxima a outra já impressa. Paredes cujo fluxo seja menor que este valor serão trocadas por um momento de percurso. Ao usar este ajuste, você deve habilitar a compensação de sobreposição de paredes e imprimir as paredes externas antes das internas." #: fdmprinter.def.json msgctxt "wall_min_flow_retract label" msgid "Prefer Retract" -msgstr "" +msgstr "Preferir Retração" #: fdmprinter.def.json msgctxt "wall_min_flow_retract description" msgid "If enabled, retraction is used rather than combing for travel moves that replace walls whose flow is below the minimum flow threshold." -msgstr "" +msgstr "Se usado, a retração é usada ao invés de combing para movimentos de percurso que substituem paredes cujo fluxo estiver abaixo do limite mínimo." #: fdmprinter.def.json msgctxt "fill_perimeter_gaps label" @@ -1573,12 +1573,12 @@ msgstr "Conecta as extremidades onde o padrão de preenchimento toca a parede in #: fdmprinter.def.json msgctxt "connect_infill_polygons label" msgid "Connect Infill Polygons" -msgstr "" +msgstr "Conectar Polígonos do Preenchimento" #: fdmprinter.def.json msgctxt "connect_infill_polygons description" msgid "Connect infill paths where they run next to each other. For infill patterns which consist of several closed polygons, enabling this setting greatly reduces the travel time." -msgstr "" +msgstr "Conecta os caminhos de preenchimentos onde estiverem próximos um ao outro. Para padrões de preenchimento que consistam de vários polígonos fechados, a habilitação deste ajuste reduz bastante o tempo de percurso." #: fdmprinter.def.json msgctxt "infill_angles label" @@ -1613,17 +1613,17 @@ msgstr "O padrão de preenchimento é movido por esta distância no eixo Y." #: fdmprinter.def.json msgctxt "infill_multiplier label" msgid "Infill Line Multiplier" -msgstr "" +msgstr "Multiplicador de Filete de Preenchimento" #: fdmprinter.def.json msgctxt "infill_multiplier description" msgid "Convert each infill line to this many lines. The extra lines do not cross over each other, but avoid each other. This makes the infill stiffer, but increases print time and material usage." -msgstr "" +msgstr "Converte cada file de preenchimento para este número de filetes. Os filetes extras não se cruzam, se evitam. Isto torna o preenchimento mais rígido, mas aumenta o tempo de impressão e uso do material." #: fdmprinter.def.json msgctxt "infill_wall_line_count label" msgid "Extra Infill Wall Count" -msgstr "" +msgstr "Contagem de Paredes de Preenchimento Extras" #: fdmprinter.def.json msgctxt "infill_wall_line_count description" @@ -1631,6 +1631,8 @@ msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." msgstr "" +"Adiciona paredes extra em torno da área de preenchimento. Tais paredes podem fazer filetes de contorno de topo e base afundarem menos, o que significa que você precisará de menos camadas de contorno de topo e base para a mesma qualidade, à custa de algum material extra.\n" +"Este recurso pode combinar com o Conectar Polígonos de Preenchimento para conecta todo o preenchimento em um único caminho de extrusão sem a necessidade de percursos ou retrações se os ajustes forem consistentes." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -2780,7 +2782,7 @@ msgstr "Modo de Combing" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" +msgstr "O Combing (penteamento) mantém o bico dentro de áreas já impressas durante os percursos. Isto resulta em movimentações um pouco mais amplas mas reduz a necessidade de retrações. Se o combing for desligado, o material sofrerá retração e o bico se moverá em linha reta ao próximo ponto. É também possível evitar combing sobre áreas de contorno de topo e base e ainda só fazer combing no preenchimento. Note que a opção 'Dentro do Preenchimento' se comporta exatamente como a 'Não no Contorno' em versões anteriores do Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -2800,7 +2802,7 @@ msgstr "Não no Contorno" #: fdmprinter.def.json msgctxt "retraction_combing option infill" msgid "Within Infill" -msgstr "" +msgstr "Dentro do Preenchimento" #: fdmprinter.def.json msgctxt "retraction_combing_max_distance label" @@ -3245,22 +3247,22 @@ msgstr "Distância entre as linhas impressas da estrutura de suporte. Este ajust #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance label" msgid "Initial Layer Support Line Distance" -msgstr "" +msgstr "Distância de Filetes da Camada Inicial de Suporte" #: fdmprinter.def.json msgctxt "support_initial_layer_line_distance description" msgid "Distance between the printed initial layer support structure lines. This setting is calculated by the support density." -msgstr "" +msgstr "Distância entre os filetes da camada inicial da camada de suporte. Este ajuste é calculado pela densidade de suporte." #: fdmprinter.def.json msgctxt "support_infill_angle label" msgid "Support Infill Line Direction" -msgstr "" +msgstr "Direção de Filete do Preenchimento de Suporte" #: fdmprinter.def.json msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." -msgstr "" +msgstr "Orientação do padrão de preenchimento para suportes. O padrão de preenchimento do suporte é rotacionado no plano horizontal." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3310,17 +3312,17 @@ msgstr "Prioridade das Distâncias de Suporte" #: fdmprinter.def.json msgctxt "support_xy_overrides_z description" msgid "Whether the Support X/Y Distance overrides the Support Z Distance or vice versa. When X/Y overrides Z the X/Y distance can push away the support from the model, influencing the actual Z distance to the overhang. We can disable this by not applying the X/Y distance around overhangs." -msgstr "Se a distância XY sobrepuja a distância Z de suporte ou vice-versa. Quando XY sobrepuja Z a distância XY pode afastar o suporte do modelo, influenciando a distância Z real até a seção pendente. Podemos desabilitar isso não aplicando a distância XY em volta das seções pendentes." +msgstr "Se a distância XY substitui a distância Z de suporte ou vice-versa. Quando XY substitui Z a distância XY pode afastar o suporte do modelo, influenciando a distância Z real até a seção pendente. Podemos desabilitar isso não aplicando a distância XY em volta das seções pendentes." #: fdmprinter.def.json msgctxt "support_xy_overrides_z option xy_overrides_z" msgid "X/Y overrides Z" -msgstr "X/Y sobrepuja Z" +msgstr "X/Y substitui Z" #: fdmprinter.def.json msgctxt "support_xy_overrides_z option z_overrides_xy" msgid "Z overrides X/Y" -msgstr "Z sobrepuja X/Y" +msgstr "Z substitui X/Y" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang label" @@ -3630,22 +3632,22 @@ msgstr "Ziguezague" #: fdmprinter.def.json msgctxt "support_fan_enable label" msgid "Fan Speed Override" -msgstr "" +msgstr "Sobrepor Velocidade de Ventoinha" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "" +msgstr "Quando habilitado, a velocidade da ventoinha de resfriamento é alterada para as regiões de contorno imediatamente acima do suporte" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" msgid "Supported Skin Fan Speed" -msgstr "" +msgstr "Velocidade de Ventoinha do Contorno Suportado" #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed description" msgid "Percentage fan speed to use when printing the skin regions immediately above the support. Using a high fan speed can make the support easier to remove." -msgstr "" +msgstr "Porcentagem de velocidade da ventoinha a usar ao imprimir as regiões de contorno imediatamente sobre o suporte. Usar uma velocidade de ventoinha alta pode fazer o suporte mais fácil de remover." #: fdmprinter.def.json msgctxt "support_use_towers label" @@ -3974,7 +3976,7 @@ msgstr "Largura das linhas na camada de base do raft. Devem ser grossas para aux #: fdmprinter.def.json msgctxt "raft_base_line_spacing label" msgid "Raft Base Line Spacing" -msgstr "" +msgstr "Espaçamento de Filete de Base do Raft" #: fdmprinter.def.json msgctxt "raft_base_line_spacing description" @@ -4719,12 +4721,12 @@ msgstr "Dados relacionando fluxo de material (em mm³ por segundo) a temperatura #: fdmprinter.def.json msgctxt "minimum_polygon_circumference label" msgid "Minimum Polygon Circumference" -msgstr "" +msgstr "Mínima Circunferência do Polígono" #: fdmprinter.def.json msgctxt "minimum_polygon_circumference description" msgid "Polygons in sliced layers that have a circumference smaller than this amount will be filtered out. Lower values lead to higher resolution mesh at the cost of slicing time. It is meant mostly for high resolution SLA printers and very tiny 3D models with a lot of details." -msgstr "" +msgstr "Polígonos em camadas fatiadas que tiverem uma circunferência menor que esta quantia serão excluídos. Menores valores levam a malha de maior resolução ao custo de tempo de fatiamento. Serve melhor para impressoras SLA de alta resolução e pequenos modelos 3D com muitos detalhes." #: fdmprinter.def.json msgctxt "meshfix_maximum_resolution label" @@ -5388,22 +5390,22 @@ msgstr "Limite até onde se usa uma camada menor ou não. Este número é compar #: fdmprinter.def.json msgctxt "wall_overhang_angle label" msgid "Overhanging Wall Angle" -msgstr "" +msgstr "Ângulo de Parede Pendente" #: fdmprinter.def.json msgctxt "wall_overhang_angle description" msgid "Walls that overhang more than this angle will be printed using overhanging wall settings. When the value is 90, no walls will be treated as overhanging." -msgstr "" +msgstr "Paredes que têm inclinação maior que este ângulo serão impressas usando ajustes de seção pendente de parede. Quando o valor for 90, nenhuma parede será tratada como seção pendente." #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor label" msgid "Overhanging Wall Speed" -msgstr "" +msgstr "Velocidade de Parede Pendente" #: fdmprinter.def.json msgctxt "wall_overhang_speed_factor description" msgid "Overhanging walls will be printed at this percentage of their normal print speed." -msgstr "" +msgstr "Paredes pendentes serão impressas com esta porcentagem de sua velocidade de impressão normal." #: fdmprinter.def.json msgctxt "bridge_settings_enabled label" From a99241d20bcfb6a46b920d3e0257083e04291323 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 2 Oct 2018 15:53:06 +0200 Subject: [PATCH 159/423] Add missing quote. Contributes to CURA-5741. --- resources/i18n/pl_PL/fdmprinter.def.json.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index 53aa32009e..a8b07e032c 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" "PO-Revision-Date: 2018-09-21 21:52+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" From 3908781f6f7d7072f71ae7011731c62d6c6583bc Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Tue, 2 Oct 2018 17:08:39 +0200 Subject: [PATCH 160/423] Fix this sh*t Sorry, I kind of dropped the ball before. --- cura/PrinterOutput/FirmwareUpdater.py | 38 ++++++++++++++--------- plugins/USBPrinting/AvrFirmwareUpdater.py | 20 +++++++----- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 2f200118a9..88169b1d75 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -16,6 +16,8 @@ class FirmwareUpdater(QObject): firmwareUpdateStateChanged = pyqtSignal() def __init__(self, output_device: PrinterOutputDevice) -> None: + super().__init__() + self._output_device = output_device self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) @@ -31,29 +33,35 @@ class FirmwareUpdater(QObject): self._firmware_location = QUrl(file).toLocalFile() else: self._firmware_location = file - self.showFirmwareInterface() - self.setFirmwareUpdateState(FirmwareUpdateState.updating) + self._showFirmwareInterface() + self._setFirmwareUpdateState(FirmwareUpdateState.updating) + self._update_firmware_thread.start() def _updateFirmware(self) -> None: raise NotImplementedError("_updateFirmware needs to be implemented") - def cleanupAfterUpdate(self) -> None: + ## Show firmware interface. + # This will create the view if its not already created. + def _showFirmwareInterface(self) -> None: + if self._firmware_view is None: + path = Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "FirmwareUpdateWindow.qml") + self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) + + if not self._firmware_view: + return + + self._onFirmwareProgress(0) + self._setFirmwareUpdateState(FirmwareUpdateState.idle) + self._firmware_view.show() + + ## Cleanup after a succesful update + def _cleanupAfterUpdate(self) -> None: # Clean up for next attempt. self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) self._firmware_location = "" self._onFirmwareProgress(100) - self.setFirmwareUpdateState(FirmwareUpdateState.completed) - - ## Show firmware interface. - # This will create the view if its not already created. - def showFirmwareInterface(self) -> None: - if self._firmware_view is None: - path = Resources.getPath(self.ResourceTypes.QmlFiles, "FirmwareUpdateWindow.qml") - self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) - - if self._firmware_view: - self._firmware_view.show() + self._setFirmwareUpdateState(FirmwareUpdateState.completed) @pyqtProperty(float, notify = firmwareProgressChanged) def firmwareProgress(self) -> float: @@ -63,7 +71,7 @@ class FirmwareUpdater(QObject): def firmwareUpdateState(self) -> "FirmwareUpdateState": return self._firmware_update_state - def setFirmwareUpdateState(self, state) -> None: + def _setFirmwareUpdateState(self, state) -> None: if self._firmware_update_state != state: self._firmware_update_state = state self.firmwareUpdateStateChanged.emit() diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index ab71f70e30..505e1ddb7e 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -22,39 +22,43 @@ class AvrFirmwareUpdater(FirmwareUpdater): assert len(hex_file) > 0 except (FileNotFoundError, AssertionError): Logger.log("e", "Unable to read provided hex file. Could not update firmware.") - self.setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error) + self._setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error) return programmer = stk500v2.Stk500v2() programmer.progress_callback = self._onFirmwareProgress + # Ensure that other connections are closed. + if self._output_device.isConnected(): + self._output_device.close() + try: - programmer.connect(self._serial_port) + programmer.connect(self._output_device._serial_port) except: programmer.close() Logger.logException("e", "Failed to update firmware") - self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) + self._setFirmwareUpdateState(FirmwareUpdateState.communication_error) return # Give programmer some time to connect. Might need more in some cases, but this worked in all tested cases. sleep(1) if not programmer.isConnected(): Logger.log("e", "Unable to connect with serial. Could not update firmware") - self.setFirmwareUpdateState(FirmwareUpdateState.communication_error) + self._setFirmwareUpdateState(FirmwareUpdateState.communication_error) try: programmer.programChip(hex_file) except SerialException as e: Logger.log("e", "A serial port exception occured during firmware update: %s" % e) - self.setFirmwareUpdateState(FirmwareUpdateState.io_error) + self._setFirmwareUpdateState(FirmwareUpdateState.io_error) return except Exception as e: Logger.log("e", "An unknown exception occured during firmware update: %s" % e) - self.setFirmwareUpdateState(FirmwareUpdateState.unknown_error) + self._setFirmwareUpdateState(FirmwareUpdateState.unknown_error) return programmer.close() # Try to re-connect with the machine again, which must be done on the Qt thread, so we use call later. - CuraApplication.getInstance().callLater(self.connect) + CuraApplication.getInstance().callLater(self._output_device.connect) - self.cleanupAfterUpdate() + self._cleanupAfterUpdate() From b4e186ce789c920ab4a1387910ea4a89ad3ce843 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Tue, 2 Oct 2018 17:14:22 +0200 Subject: [PATCH 161/423] Disable close button while updating firmware --- resources/qml/FirmwareUpdateWindow.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/FirmwareUpdateWindow.qml b/resources/qml/FirmwareUpdateWindow.qml index e0f9de314e..c71d70fc97 100644 --- a/resources/qml/FirmwareUpdateWindow.qml +++ b/resources/qml/FirmwareUpdateWindow.qml @@ -82,7 +82,7 @@ UM.Dialog Button { text: catalog.i18nc("@action:button","Close"); - enabled: manager.firmwareUpdateCompleteStatus; + enabled: manager.firmwareUpdateState != 1; onClicked: base.visible = false; } ] From afccd38a5d26dcfa6556a1c3319ea912d0974b60 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 2 Oct 2018 17:48:25 +0200 Subject: [PATCH 162/423] Add preposition to be consistent with other strings. Contributes to CURA-5741. --- resources/i18n/pt_BR/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 1ff220941e..c6cc088249 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -4794,7 +4794,7 @@ msgstr "Atualiza configurações do Cura 3.4 para o Cura 3.5" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" msgid "Version Upgrade 3.4 to 3.5" -msgstr "Atualização de Versão 3.4 para 3.5" +msgstr "Atualização de Versão de 3.4 para 3.5" #: VersionUpgrade/VersionUpgrade30to31/plugin.json msgctxt "description" From 718ac0a30731dec368422b5d230945ee09f5595e Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 09:17:51 +0200 Subject: [PATCH 163/423] Create firmware update progress window from QML --- cura/PrinterOutput/FirmwareUpdater.py | 27 +---- cura/PrinterOutputDevice.py | 7 +- .../UpgradeFirmwareMachineAction.py | 43 ++++++- .../UpgradeFirmwareMachineAction.qml | 107 ++++++++++++++++-- resources/qml/FirmwareUpdateWindow.qml | 89 --------------- 5 files changed, 151 insertions(+), 122 deletions(-) delete mode 100644 resources/qml/FirmwareUpdateWindow.qml diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 88169b1d75..92e92437ad 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -3,26 +3,25 @@ from PyQt5.QtCore import QObject, QUrl, pyqtSignal, pyqtProperty -from UM.Resources import Resources -from cura.PrinterOutputDevice import PrinterOutputDevice -from cura.CuraApplication import CuraApplication - from enum import IntEnum from threading import Thread from typing import Union +MYPY = False +if MYPY: + from cura.PrinterOutputDevice import PrinterOutputDevice + class FirmwareUpdater(QObject): firmwareProgressChanged = pyqtSignal() firmwareUpdateStateChanged = pyqtSignal() - def __init__(self, output_device: PrinterOutputDevice) -> None: + def __init__(self, output_device: "PrinterOutputDevice") -> None: super().__init__() self._output_device = output_device self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) - self._firmware_view = None self._firmware_location = "" self._firmware_progress = 0 self._firmware_update_state = FirmwareUpdateState.idle @@ -33,7 +32,7 @@ class FirmwareUpdater(QObject): self._firmware_location = QUrl(file).toLocalFile() else: self._firmware_location = file - self._showFirmwareInterface() + self._setFirmwareUpdateState(FirmwareUpdateState.updating) self._update_firmware_thread.start() @@ -41,20 +40,6 @@ class FirmwareUpdater(QObject): def _updateFirmware(self) -> None: raise NotImplementedError("_updateFirmware needs to be implemented") - ## Show firmware interface. - # This will create the view if its not already created. - def _showFirmwareInterface(self) -> None: - if self._firmware_view is None: - path = Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "FirmwareUpdateWindow.qml") - self._firmware_view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) - - if not self._firmware_view: - return - - self._onFirmwareProgress(0) - self._setFirmwareUpdateState(FirmwareUpdateState.idle) - self._firmware_view.show() - ## Cleanup after a succesful update def _cleanupAfterUpdate(self) -> None: # Clean up for next attempt. diff --git a/cura/PrinterOutputDevice.py b/cura/PrinterOutputDevice.py index 5ea65adb8e..c63f9c35b5 100644 --- a/cura/PrinterOutputDevice.py +++ b/cura/PrinterOutputDevice.py @@ -20,6 +20,7 @@ MYPY = False if MYPY: from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.ConfigurationModel import ConfigurationModel + from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater i18n_catalog = i18nCatalog("cura") @@ -83,6 +84,7 @@ class PrinterOutputDevice(QObject, OutputDevice): self._connection_state = ConnectionState.closed #type: ConnectionState + self._firmware_updater = None #type: Optional[FirmwareUpdater] self._firmware_name = None #type: Optional[str] self._address = "" #type: str self._connection_text = "" #type: str @@ -225,4 +227,7 @@ class PrinterOutputDevice(QObject, OutputDevice): # # This name can be used to define device type def getFirmwareName(self) -> Optional[str]: - return self._firmware_name \ No newline at end of file + return self._firmware_name + + def getFirmwareUpdater(self) -> Optional["FirmwareUpdater"]: + return self._firmware_updater \ No newline at end of file diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py index 1f0e640f04..671ed22d5a 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py @@ -1,19 +1,58 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + from UM.Application import Application from UM.Settings.DefinitionContainer import DefinitionContainer from cura.MachineAction import MachineAction from UM.i18n import i18nCatalog from UM.Settings.ContainerRegistry import ContainerRegistry +from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject +from typing import Optional + +MYPY = False +if MYPY: + from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater + catalog = i18nCatalog("cura") ## Upgrade the firmware of a machine by USB with this action. class UpgradeFirmwareMachineAction(MachineAction): - def __init__(self): + def __init__(self) -> None: super().__init__("UpgradeFirmware", catalog.i18nc("@action", "Upgrade Firmware")) self._qml_url = "UpgradeFirmwareMachineAction.qml" ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) - def _onContainerAdded(self, container): + self._active_output_device = None + + Application.getInstance().engineCreatedSignal.connect(self._onEngineCreated) + + def _onEngineCreated(self) -> None: + Application.getInstance().getMachineManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) + + def _onContainerAdded(self, container) -> None: # Add this action as a supported action to all machine definitions if they support USB connection if isinstance(container, DefinitionContainer) and container.getMetaDataEntry("type") == "machine" and container.getMetaDataEntry("supports_usb_connection"): Application.getInstance().getMachineActionManager().addSupportedAction(container.getId(), self.getKey()) + + def _onOutputDevicesChanged(self) -> None: + if self._active_output_device: + self._active_output_device.activePrinter.getController().canUpdateFirmwareChanged.disconnect(self._onControllerCanUpdateFirmwareChanged) + output_devices = Application.getInstance().getMachineManager().printerOutputDevices + print(output_devices) + self._active_output_device = output_devices[0] if output_devices else None + if self._active_output_device: + self._active_output_device.activePrinter.getController().canUpdateFirmwareChanged.connect(self._onControllerCanUpdateFirmwareChanged) + + self.outputDeviceCanUpdateFirmwareChanged.emit() + + def _onControllerCanUpdateFirmwareChanged(self) -> None: + self.outputDeviceCanUpdateFirmwareChanged.emit() + + outputDeviceCanUpdateFirmwareChanged = pyqtSignal() + @pyqtProperty(QObject, notify = outputDeviceCanUpdateFirmwareChanged) + def firmwareUpdater(self) -> Optional["firmwareUpdater"]: + if self._active_output_device and self._active_output_device.activePrinter.getController().can_update_firmware: + return self._active_output_device.getFirmwareUpdater() + + return None \ No newline at end of file diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index 1d0aabcae3..1c1f39edd0 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2016 Ultimaker B.V. +// Copyright (c) 2018 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 @@ -59,7 +59,8 @@ Cura.MachineAction enabled: parent.firmwareName != "" && canUpdateFirmware onClicked: { - activeOutputDevice.updateFirmware(parent.firmwareName) + firmwareUpdateWindow.visible = true; + activeOutputDevice.updateFirmware(parent.firmwareName); } } Button @@ -78,7 +79,7 @@ Cura.MachineAction { width: parent.width wrapMode: Text.WordWrap - visible: !printerConnected + visible: !printerConnected && !firmwareUpdateWindow.visible text: catalog.i18nc("@label", "Firmware can not be upgraded because there is no connection with the printer."); } @@ -89,14 +90,102 @@ Cura.MachineAction visible: printerConnected && !canUpdateFirmware text: catalog.i18nc("@label", "Firmware can not be upgraded because the connection with the printer does not support upgrading firmware."); } + } - FileDialog + FileDialog + { + id: customFirmwareDialog + title: catalog.i18nc("@title:window", "Select custom firmware") + nameFilters: "Firmware image files (*.hex)" + selectExisting: true + onAccepted: { - id: customFirmwareDialog - title: catalog.i18nc("@title:window", "Select custom firmware") - nameFilters: "Firmware image files (*.hex)" - selectExisting: true - onAccepted: activeOutputDevice.updateFirmware(fileUrl) + firmwareUpdateWindow.visible = true; + activeOutputDevice.updateFirmware(fileUrl); } } + + UM.Dialog + { + id: firmwareUpdateWindow + + width: minimumWidth + minimumWidth: 500 * screenScaleFactor + height: minimumHeight + minimumHeight: 100 * screenScaleFactor + + modality: Qt.ApplicationModal + + title: catalog.i18nc("@title:window","Firmware Update") + + Column + { + anchors.fill: parent + + Label + { + anchors + { + left: parent.left + right: parent.right + } + + text: { + if(manager.firmwareUpdater == null) + { + return ""; + } + switch (manager.firmwareUpdater.firmwareUpdateState) + { + case 0: + return ""; //Not doing anything (eg; idling) + case 1: + return catalog.i18nc("@label","Updating firmware."); + case 2: + return catalog.i18nc("@label","Firmware update completed."); + case 3: + return catalog.i18nc("@label","Firmware update failed due to an unknown error."); + case 4: + return catalog.i18nc("@label","Firmware update failed due to an communication error."); + case 5: + return catalog.i18nc("@label","Firmware update failed due to an input/output error."); + case 6: + return catalog.i18nc("@label","Firmware update failed due to missing firmware."); + } + } + + wrapMode: Text.Wrap + } + + ProgressBar + { + id: prog + value: (manager.firmwareUpdater != null) ? manager.firmwareUpdater.firmwareProgress : 0 + minimumValue: 0 + maximumValue: 100 + indeterminate: + { + if(manager.firmwareUpdater == null) + { + return false; + } + return manager.firmwareUpdater.firmwareProgress < 1 && manager.firmwareUpdater.firmwareProgress > 0; + } + anchors + { + left: parent.left; + right: parent.right; + } + } + } + + rightButtons: [ + Button + { + text: catalog.i18nc("@action:button","Close"); + enabled: (manager.firmwareUpdater != null) ? manager.firmwareUpdater.firmwareUpdateState != 1 : true; + onClicked: firmwareUpdateWindow.visible = false; + } + ] + } } \ No newline at end of file diff --git a/resources/qml/FirmwareUpdateWindow.qml b/resources/qml/FirmwareUpdateWindow.qml deleted file mode 100644 index c71d70fc97..0000000000 --- a/resources/qml/FirmwareUpdateWindow.qml +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (c) 2017 Ultimaker B.V. -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.2 -import QtQuick.Window 2.2 -import QtQuick.Controls 1.2 - -import UM 1.1 as UM - -UM.Dialog -{ - id: base; - - width: minimumWidth; - minimumWidth: 500 * screenScaleFactor; - height: minimumHeight; - minimumHeight: 100 * screenScaleFactor; - - visible: true; - modality: Qt.ApplicationModal; - - title: catalog.i18nc("@title:window","Firmware Update"); - - Column - { - anchors.fill: parent; - - Label - { - anchors - { - left: parent.left; - right: parent.right; - } - - text: { - switch (manager.firmwareUpdateState) - { - case 0: - return "" //Not doing anything (eg; idling) - case 1: - return catalog.i18nc("@label","Updating firmware.") - case 2: - return catalog.i18nc("@label","Firmware update completed.") - case 3: - return catalog.i18nc("@label","Firmware update failed due to an unknown error.") - case 4: - return catalog.i18nc("@label","Firmware update failed due to an communication error.") - case 5: - return catalog.i18nc("@label","Firmware update failed due to an input/output error.") - case 6: - return catalog.i18nc("@label","Firmware update failed due to missing firmware.") - } - } - - wrapMode: Text.Wrap; - } - - ProgressBar - { - id: prog - value: manager.firmwareProgress - minimumValue: 0 - maximumValue: 100 - indeterminate: manager.firmwareProgress < 1 && manager.firmwareProgress > 0 - anchors - { - left: parent.left; - right: parent.right; - } - } - - SystemPalette - { - id: palette; - } - - UM.I18nCatalog { id: catalog; name: "cura"; } - } - - rightButtons: [ - Button - { - text: catalog.i18nc("@action:button","Close"); - enabled: manager.firmwareUpdateState != 1; - onClicked: base.visible = false; - } - ] -} From 2c5095befb5b0eda3e39130fa097839ae43d5c02 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 3 Oct 2018 09:43:13 +0200 Subject: [PATCH 164/423] Add copyright headers --- plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml | 3 +++ .../UM3NetworkPrinting/resources/qml/ClusterControlItem.qml | 3 +++ .../UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml | 3 +++ .../resources/qml/ConfigurationChangeBlock.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml | 3 +++ .../resources/qml/PrintCoreConfiguration.qml | 3 +++ .../UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml | 3 +++ .../resources/qml/PrintJobContextMenuItem.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml | 3 +++ .../UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml | 3 +++ .../resources/qml/PrinterCardProgressBar.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml | 3 +++ .../UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml | 3 +++ plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml | 3 +++ 19 files changed, 57 insertions(+) diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index 1ceebccf89..c8c40541bc 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.3 diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 3dfabdfb86..a42d8a2d6c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Dialogs 1.1 import QtQuick.Controls 1.4 diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index a027043b85..06b8e9f2be 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml index 48e2e9ce3c..f4eda3f75c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 diff --git a/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml b/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml index b5b80a3010..58443115a9 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import UM 1.2 as UM import Cura 1.0 as Cura diff --git a/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml index fcf2330fe7..e9cee177fa 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Controls 2.0 import UM 1.3 as UM diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml index bbbc3feee6..091b1fc1fa 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index 289b3f3f00..151ae7ab36 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 8d523c322a..0c185386b2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml index e20f5fd1a1..3a55978a3f 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Controls 2.0 import QtQuick.Controls.Styles 1.4 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 9bee5499da..4ffcb8342e 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml index 7fae974d8f..2bec0906a8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 29a90960ba..c13a4c4b93 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index 411c76d97a..7cce0d5c0d 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml index a89ffd51d8..809a3c651a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Controls.Styles 1.3 import QtQuick.Controls 1.4 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml index 24bc82224d..118da2f42b 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Controls 1.4 import UM 1.2 as UM diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml index ded249b9c9..51d9e1f462 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.3 import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index d0213a4571..5e5c972fbe 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 diff --git a/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml b/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml index a19d1be60d..6af4b2c6a6 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml @@ -1,3 +1,6 @@ +// Copyright (c) 2018 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + import UM 1.2 as UM import Cura 1.0 as Cura From 51e7b6c3880d677ef7e4d041c9825cc2486d1d67 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Wed, 3 Oct 2018 10:30:48 +0200 Subject: [PATCH 165/423] Change font style for active material in preferences CURA-5747 --- resources/qml/Preferences/Materials/MaterialsSlot.qml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resources/qml/Preferences/Materials/MaterialsSlot.qml b/resources/qml/Preferences/Materials/MaterialsSlot.qml index a474b52838..c75c34b81a 100644 --- a/resources/qml/Preferences/Materials/MaterialsSlot.qml +++ b/resources/qml/Preferences/Materials/MaterialsSlot.qml @@ -41,6 +41,15 @@ Rectangle anchors.left: swatch.right anchors.verticalCenter: materialSlot.verticalCenter anchors.leftMargin: UM.Theme.getSize("narrow_margin").width + font.italic: + { + var selected_material = Cura.MachineManager.currentRootMaterialId[Cura.ExtruderManager.activeExtruderIndex] + if(selected_material == material.root_material_id) + { + return true + } + return false + } } MouseArea { From 6db1342255493c264694074fc3dc7f423038e840 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 3 Oct 2018 10:44:20 +0200 Subject: [PATCH 166/423] Fix the layer view when there is a print job with only one layer. Contributes to CURA-5789. --- plugins/SimulationView/LayerSlider.qml | 10 ++++++++++ plugins/SimulationView/SimulationView.py | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/plugins/SimulationView/LayerSlider.qml b/plugins/SimulationView/LayerSlider.qml index 841472a836..1552506969 100644 --- a/plugins/SimulationView/LayerSlider.qml +++ b/plugins/SimulationView/LayerSlider.qml @@ -234,6 +234,11 @@ Item UM.SimulationView.setCurrentLayer(value) var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue) + // In case there is only one layer, the diff value results in a NaN, so this is for catching this specific case + if (isNaN(diff)) + { + diff = 0 + } var newUpperYPosition = Math.round(diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize))) y = newUpperYPosition @@ -339,6 +344,11 @@ Item UM.SimulationView.setMinimumLayer(value) var diff = (value - sliderRoot.maximumValue) / (sliderRoot.minimumValue - sliderRoot.maximumValue) + // In case there is only one layer, the diff value results in a NaN, so this is for catching this specific case + if (isNaN(diff)) + { + diff = 0 + } var newLowerYPosition = Math.round((sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize) + diff * (sliderRoot.height - (2 * sliderRoot.handleSize + sliderRoot.minimumRangeHandleSize))) y = newLowerYPosition diff --git a/plugins/SimulationView/SimulationView.py b/plugins/SimulationView/SimulationView.py index 44643dbf1c..5b369c26d2 100644 --- a/plugins/SimulationView/SimulationView.py +++ b/plugins/SimulationView/SimulationView.py @@ -334,7 +334,7 @@ class SimulationView(View): self._old_max_layers = self._max_layers ## Recalculate num max layers - new_max_layers = 0 + new_max_layers = -1 for node in DepthFirstIterator(scene.getRoot()): layer_data = node.callDecoration("getLayerData") if not layer_data: @@ -369,7 +369,7 @@ class SimulationView(View): if new_max_layers < layer_count: new_max_layers = layer_count - if new_max_layers > 0 and new_max_layers != self._old_max_layers: + if new_max_layers >= 0 and new_max_layers != self._old_max_layers: self._max_layers = new_max_layers # The qt slider has a bit of weird behavior that if the maxvalue needs to be changed first From 5ca0c599e928394435c8f8d88d38cd1a649deef7 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 3 Oct 2018 10:55:38 +0200 Subject: [PATCH 167/423] Review feedback Now with unified style as agreed upon by Simon & Ian. Rules: - ID before all other props. - All props before children. - All props after ID in alphabetical order. - Empty line between children. - Semi-colons. Note: I didn't touch the DiscoverUM3Action because that's it's whole own UI part. --- .../resources/qml/CameraButton.qml | 57 ++--- .../resources/qml/ClusterControlItem.qml | 170 ++++++------- .../resources/qml/ClusterMonitorItem.qml | 228 +++++++++--------- .../qml/ConfigurationChangeBlock.qml | 77 +++--- .../resources/qml/MonitorItem.qml | 63 ++--- .../resources/qml/PrintCoreConfiguration.qml | 49 ++-- .../resources/qml/PrintJobContextMenu.qml | 24 +- .../resources/qml/PrintJobInfoBlock.qml | 170 ++++++------- .../resources/qml/PrintJobPreview.qml | 26 +- .../resources/qml/PrintJobTitle.qml | 22 +- .../resources/qml/PrintWindow.qml | 171 ++++++------- .../resources/qml/PrinterCard.qml | 29 +-- .../resources/qml/PrinterCardDetails.qml | 7 +- .../resources/qml/PrinterCardProgressBar.qml | 121 ++++------ .../resources/qml/PrinterFamilyPill.qml | 37 +-- .../resources/qml/PrinterInfoBlock.qml | 13 +- .../resources/qml/PrinterVideoStream.qml | 96 +++----- .../resources/qml/UM3InfoComponents.qml | 182 +++++++------- 18 files changed, 721 insertions(+), 821 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index c8c40541bc..4b78448a8d 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -4,46 +4,37 @@ import QtQuick 2.3 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.3 -import QtQuick.Controls 2.0 as Controls2 -import QtGraphicalEffects 1.0 - import UM 1.3 as UM import Cura 1.0 as Cura -Rectangle -{ - property var iconSource: null +Rectangle { + property var iconSource: null; + color: clickArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary"); + height: width; + radius: 0.5 * width; + width: 36 * screenScaleFactor; - width: 36 * screenScaleFactor - height: width - radius: 0.5 * width - color: clickArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary") - - UM.RecolorImage - { - id: icon - width: parent.width / 2 - height: width - anchors.verticalCenter: parent.verticalCenter - anchors.horizontalCenter: parent.horizontalCenter - color: UM.Theme.getColor("primary_text") - source: iconSource + UM.RecolorImage { + id: icon; + anchors { + horizontalCenter: parent.horizontalCenter; + verticalCenter: parent.verticalCenter; + } + color: UM.Theme.getColor("primary_text"); + height: width; + source: iconSource; + width: parent.width / 2; } - MouseArea - { - id: clickArea - anchors.fill:parent - hoverEnabled: true - onClicked: - { - if (OutputDevice.activeCamera !== null) - { + MouseArea { + id: clickArea; + anchors.fill: parent; + hoverEnabled: true; + onClicked: { + if (OutputDevice.activeCamera !== null) { OutputDevice.setActiveCamera(null) - } - else - { - OutputDevice.setActiveCamera(modelData.camera) + } else { + OutputDevice.setActiveCamera(modelData.camera); } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index a42d8a2d6c..3da155cfad 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -2,130 +2,108 @@ // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.3 -import QtQuick.Dialogs 1.1 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.3 -import QtGraphicalEffects 1.0 - -import QtQuick.Controls 2.0 as Controls2 - import UM 1.3 as UM import Cura 1.0 as Cura +Component { + Rectangle { + id: base; + property var lineColor: "#DCDCDC"; // TODO: Should be linked to theme. + property var shadowRadius: 5 * screenScaleFactor; + property var cornerRadius: 4 * screenScaleFactor; // TODO: Should be linked to theme. + anchors.fill: parent; + color: "white"; + visible: OutputDevice != null; -Component -{ - Rectangle - { - id: base - property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. - property var shadowRadius: 5 * screenScaleFactor - property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. - visible: OutputDevice != null - anchors.fill: parent - color: "white" - - UM.I18nCatalog - { - id: catalog - name: "cura" + UM.I18nCatalog { + id: catalog; + name: "cura"; } - Label - { - id: printingLabel - font: UM.Theme.getFont("large") - anchors - { - margins: 2 * UM.Theme.getSize("default_margin").width - leftMargin: 4 * UM.Theme.getSize("default_margin").width - top: parent.top - left: parent.left - right: parent.right + Label { + id: printingLabel; + anchors { + left: parent.left; + leftMargin: 4 * UM.Theme.getSize("default_margin").width; + margins: 2 * UM.Theme.getSize("default_margin").width; + right: parent.right; + top: parent.top; } - - text: catalog.i18nc("@label", "Printing") - elide: Text.ElideRight + elide: Text.ElideRight; + font: UM.Theme.getFont("large"); + text: catalog.i18nc("@label", "Printing"); } - Label - { - id: managePrintersLabel - anchors.rightMargin: 4 * UM.Theme.getSize("default_margin").width - anchors.right: printerScrollView.right - anchors.bottom: printingLabel.bottom - text: catalog.i18nc("@label link to connect manager", "Manage printers") - font: UM.Theme.getFont("default") - color: UM.Theme.getColor("primary") - linkColor: UM.Theme.getColor("primary") + Label { + id: managePrintersLabel; + anchors { + bottom: printingLabel.bottom; + right: printerScrollView.right; + rightMargin: 4 * UM.Theme.getSize("default_margin").width; + } + color: UM.Theme.getColor("primary"); + font: UM.Theme.getFont("default"); + linkColor: UM.Theme.getColor("primary"); + text: catalog.i18nc("@label link to connect manager", "Manage printers"); } - MouseArea - { - anchors.fill: managePrintersLabel - hoverEnabled: true - onClicked: Cura.MachineManager.printerOutputDevices[0].openPrinterControlPanel() - onEntered: managePrintersLabel.font.underline = true - onExited: managePrintersLabel.font.underline = false + MouseArea { + anchors.fill: managePrintersLabel; + hoverEnabled: true; + onClicked: Cura.MachineManager.printerOutputDevices[0].openPrinterControlPanel(); + onEntered: managePrintersLabel.font.underline = true; + onExited: managePrintersLabel.font.underline = false; } // Skeleton loading - Column - { - id: skeletonLoader + Column { + id: skeletonLoader; + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("wide_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("wide_margin").width; + top: printingLabel.bottom; + topMargin: UM.Theme.getSize("default_margin").height; + } + spacing: UM.Theme.getSize("default_margin").height - 10; visible: printerList.count === 0; - anchors - { - top: printingLabel.bottom - topMargin: UM.Theme.getSize("default_margin").height - left: parent.left - leftMargin: UM.Theme.getSize("wide_margin").width - right: parent.right - rightMargin: UM.Theme.getSize("wide_margin").width - } - spacing: UM.Theme.getSize("default_margin").height - 10 - PrinterCard - { - printer: null + PrinterCard { + printer: null; } - PrinterCard - { - printer: null + PrinterCard { + printer: null; } } // Actual content - ScrollView - { - id: printerScrollView - anchors - { - top: printingLabel.bottom - topMargin: UM.Theme.getSize("default_margin").height - left: parent.left - right: parent.right + ScrollView { + id: printerScrollView; + anchors { bottom: parent.bottom; + left: parent.left; + right: parent.right; + top: printingLabel.bottom; + topMargin: UM.Theme.getSize("default_margin").height; } + style: UM.Theme.styles.scrollview; - style: UM.Theme.styles.scrollview - - ListView - { - id: printerList - property var currentIndex: -1 - anchors - { - fill: parent - leftMargin: UM.Theme.getSize("wide_margin").width - rightMargin: UM.Theme.getSize("wide_margin").width + ListView { + id: printerList; + property var currentIndex: -1; + anchors { + fill: parent; + leftMargin: UM.Theme.getSize("wide_margin").width; + rightMargin: UM.Theme.getSize("wide_margin").width; } - spacing: UM.Theme.getSize("default_margin").height - 10 - model: OutputDevice.printers - delegate: PrinterCard - { - printer: modelData + delegate: PrinterCard { + printer: modelData; } + model: OutputDevice.printers; + spacing: UM.Theme.getSize("default_margin").height - 10; } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index 06b8e9f2be..778a6da2eb 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -4,141 +4,129 @@ import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 - import UM 1.3 as UM import Cura 1.0 as Cura -Component -{ - Rectangle - { - id: monitorFrame - width: maximumWidth - height: maximumHeight - color: UM.Theme.getColor("viewport_background") - property var emphasisColor: UM.Theme.getColor("setting_control_border_highlight") - property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. - property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. - - UM.I18nCatalog - { - id: catalog - name: "cura" - } - - Label - { - id: manageQueueLabel - anchors.rightMargin: 3 * UM.Theme.getSize("default_margin").width - anchors.right: queuedPrintJobs.right - anchors.bottom: queuedLabel.bottom - text: catalog.i18nc("@label link to connect manager", "Manage queue") - font: UM.Theme.getFont("default") - color: UM.Theme.getColor("primary") - linkColor: UM.Theme.getColor("primary") - } - - MouseArea - { - anchors.fill: manageQueueLabel - hoverEnabled: true - onClicked: Cura.MachineManager.printerOutputDevices[0].openPrintJobControlPanel() - onEntered: manageQueueLabel.font.underline = true - onExited: manageQueueLabel.font.underline = false - } - - Label - { - id: queuedLabel - anchors.left: queuedPrintJobs.left - anchors.top: parent.top - anchors.topMargin: 2 * UM.Theme.getSize("default_margin").height - anchors.leftMargin: 3 * UM.Theme.getSize("default_margin").width + 5 - text: catalog.i18nc("@label", "Queued") - font: UM.Theme.getFont("large") - color: UM.Theme.getColor("text") - } - - Column - { - id: skeletonLoader - visible: printJobList.count === 0; - width: Math.min(800 * screenScaleFactor, maximumWidth) - anchors - { - top: queuedLabel.bottom - topMargin: UM.Theme.getSize("default_margin").height - horizontalCenter: parent.horizontalCenter - bottomMargin: UM.Theme.getSize("default_margin").height - bottom: parent.bottom - } - PrintJobInfoBlock - { - printJob: null // Use as skeleton - anchors - { - left: parent.left - right: parent.right - rightMargin: UM.Theme.getSize("default_margin").width - leftMargin: UM.Theme.getSize("default_margin").width - } - } - PrintJobInfoBlock - { - printJob: null // Use as skeleton - anchors - { - left: parent.left - right: parent.right - rightMargin: UM.Theme.getSize("default_margin").width - leftMargin: UM.Theme.getSize("default_margin").width - } +Component { + Rectangle { + id: monitorFrame; + property var emphasisColor: UM.Theme.getColor("setting_control_border_highlight"); + property var lineColor: "#DCDCDC"; // TODO: Should be linked to theme. + property var cornerRadius: 4 * screenScaleFactor; // TODO: Should be linked to theme. + color: UM.Theme.getColor("viewport_background"); + height: maximumHeight; + onVisibleChanged: { + if (monitorFrame != null && !monitorFrame.visible) { + OutputDevice.setActiveCamera(null); } } + width: maximumWidth; - ScrollView - { - id: queuedPrintJobs + UM.I18nCatalog { + id: catalog; + name: "cura"; + } + + Label { + id: manageQueueLabel; anchors { - top: queuedLabel.bottom - topMargin: UM.Theme.getSize("default_margin").height - horizontalCenter: parent.horizontalCenter - bottomMargin: UM.Theme.getSize("default_margin").height - bottom: parent.bottom + bottom: queuedLabel.bottom; + right: queuedPrintJobs.right; + rightMargin: 3 * UM.Theme.getSize("default_margin").width; } - style: UM.Theme.styles.scrollview - width: Math.min(800 * screenScaleFactor, maximumWidth) + color: UM.Theme.getColor("primary"); + font: UM.Theme.getFont("default"); + linkColor: UM.Theme.getColor("primary"); + text: catalog.i18nc("@label link to connect manager", "Manage queue"); + } - ListView - { - id: printJobList; - anchors.fill: parent - spacing: UM.Theme.getSize("default_margin").height - 10 // 2x the shadow radius - model: OutputDevice.queuedPrintJobs - delegate: PrintJobInfoBlock - { - printJob: modelData - anchors.left: parent.left - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.leftMargin: UM.Theme.getSize("default_margin").width + MouseArea { + anchors.fill: manageQueueLabel; + hoverEnabled: true; + onClicked: Cura.MachineManager.printerOutputDevices[0].openPrintJobControlPanel(); + onEntered: manageQueueLabel.font.underline = true; + onExited: manageQueueLabel.font.underline = false; + } + + Label { + id: queuedLabel; + anchors { + left: queuedPrintJobs.left; + leftMargin: 3 * UM.Theme.getSize("default_margin").width + 5; + top: parent.top; + topMargin: 2 * UM.Theme.getSize("default_margin").height; + } + color: UM.Theme.getColor("text"); + font: UM.Theme.getFont("large"); + text: catalog.i18nc("@label", "Queued"); + } + + Column { + id: skeletonLoader; + anchors { + bottom: parent.bottom; + bottomMargin: UM.Theme.getSize("default_margin").height; + horizontalCenter: parent.horizontalCenter; + top: queuedLabel.bottom; + topMargin: UM.Theme.getSize("default_margin").height; + } + visible: printJobList.count === 0; + width: Math.min(800 * screenScaleFactor, maximumWidth); + + PrintJobInfoBlock { + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; } + printJob: null; // Use as skeleton + } + + PrintJobInfoBlock { + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + printJob: null; // Use as skeleton } } - PrinterVideoStream - { - visible: OutputDevice.activeCamera != null - anchors.fill: parent - camera: OutputDevice.activeCamera + ScrollView { + id: queuedPrintJobs; + anchors { + top: queuedLabel.bottom; + topMargin: UM.Theme.getSize("default_margin").height; + horizontalCenter: parent.horizontalCenter; + bottomMargin: UM.Theme.getSize("default_margin").height; + bottom: parent.bottom; + } + style: UM.Theme.styles.scrollview; + width: Math.min(800 * screenScaleFactor, maximumWidth); + + ListView { + id: printJobList; + anchors.fill: parent; + delegate: PrintJobInfoBlock; { + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + printJob: modelData; + } + model: OutputDevice.queuedPrintJobs; + spacing: UM.Theme.getSize("default_margin").height - 10; // 2x the shadow radius + } } - onVisibleChanged: - { - if (monitorFrame != null && !monitorFrame.visible) - { - OutputDevice.setActiveCamera(null) - } + PrinterVideoStream { + anchors.fill: parent; + camera: OutputDevice.activeCamera; + visible: OutputDevice.activeCamera != null; } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml index f4eda3f75c..250449a763 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -10,7 +10,7 @@ import QtQuick.Layouts 1.1 import QtQuick.Dialogs 1.1 import UM 1.3 as UM -Rectangle { +Item { id: root; property var job: null; property var materialsAreKnown: { @@ -24,7 +24,6 @@ Rectangle { } return true; } - color: "pink"; width: parent.width; height: childrenRect.height; @@ -34,6 +33,11 @@ Rectangle { // Config change toggle Rectangle { + anchors { + left: parent.left; + right: parent.right; + top: parent.top; + } color: { if(configurationChangeToggle.containsMouse) { return UM.Theme.getColor("viewport_background"); // TODO: Theme! @@ -41,32 +45,29 @@ Rectangle { return "transparent"; } } - width: parent.width; height: UM.Theme.getSize("default_margin").height * 4; // TODO: Theme! - anchors { - left: parent.left; - right: parent.right; - top: parent.top; - } + width: parent.width; Rectangle { - width: parent.width; - height: UM.Theme.getSize("default_lining").height; color: "#e6e6e6"; // TODO: Theme! + height: UM.Theme.getSize("default_lining").height; + width: parent.width; } UM.RecolorImage { - width: 23; // TODO: Theme! - height: 23; // TODO: Theme! anchors { right: configChangeToggleLabel.left; rightMargin: UM.Theme.getSize("default_margin").width; verticalCenter: parent.verticalCenter; } - sourceSize.width: width; - sourceSize.height: height; - source: "../svg/warning-icon.svg"; color: UM.Theme.getColor("text"); + height: 23 * screenScaleFactor; // TODO: Theme! + source: "../svg/warning-icon.svg"; + sourceSize { + width: width; + height: height; + } + width: 23 * screenScaleFactor; // TODO: Theme! } Label { @@ -79,15 +80,13 @@ Rectangle { } UM.RecolorImage { - width: 15; // TODO: Theme! - height: 15; // TODO: Theme! anchors { left: configChangeToggleLabel.right; leftMargin: UM.Theme.getSize("default_margin").width; verticalCenter: parent.verticalCenter; } - sourceSize.width: width; - sourceSize.height: height; + color: UM.Theme.getColor("text"); + height: 15 * screenScaleFactor; // TODO: Theme! source: { if (configChangeDetails.visible) { return UM.Theme.getIcon("arrow_top"); @@ -95,7 +94,11 @@ Rectangle { return UM.Theme.getIcon("arrow_bottom"); } } - color: UM.Theme.getColor("text"); + sourceSize { + width: width; + height: height; + } + width: 15 * screenScaleFactor; // TODO: Theme! } MouseArea { @@ -111,26 +114,25 @@ Rectangle { // Config change details Rectangle { id: configChangeDetails - color: "transparent"; - width: parent.width; - visible: false; - height: visible ? UM.Theme.getSize("monitor_tab_config_override_box").height : 0; Behavior on height { NumberAnimation { duration: 100 } } + color: "transparent"; + height: visible ? UM.Theme.getSize("monitor_tab_config_override_box").height : 0; + visible: false; + width: parent.width; Rectangle { - color: "transparent"; - clip: true; anchors { - fill: parent; - topMargin: UM.Theme.getSize("wide_margin").height; bottomMargin: UM.Theme.getSize("wide_margin").height; + fill: parent; leftMargin: UM.Theme.getSize("wide_margin").height * 4; rightMargin: UM.Theme.getSize("wide_margin").height * 4; + topMargin: UM.Theme.getSize("wide_margin").height; } + color: "transparent"; + clip: true; Label { anchors.fill: parent; - wrapMode: Text.WordWrap; elide: Text.ElideRight; font: UM.Theme.getFont("large_nonbold"); text: { @@ -167,6 +169,7 @@ Rectangle { } return result; } + wrapMode: Text.WordWrap; } Button { @@ -174,6 +177,10 @@ Rectangle { bottom: parent.bottom; left: parent.left; } + onClicked: { + overrideConfirmationDialog.visible = true; + } + text: catalog.i18nc("@label", "Override"); visible: { var length = root.job.configurationChanges.length; for (var i = 0; i < length; i++) { @@ -184,10 +191,6 @@ Rectangle { } return true; } - text: catalog.i18nc("@label", "Override"); - onClicked: { - overrideConfirmationDialog.visible = true; - } } } } @@ -195,16 +198,16 @@ Rectangle { MessageDialog { id: overrideConfirmationDialog; - title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); + Component.onCompleted: visible = false; icon: StandardIcon.Warning; + onYes: OutputDevice.forceSendJob(root.job.key); + standardButtons: StandardButton.Yes | StandardButton.No; text: { var printJobName = formatPrintJobName(root.job.name); var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); return confirmText; } - standardButtons: StandardButton.Yes | StandardButton.No; - Component.onCompleted: visible = false; - onYes: OutputDevice.forceSendJob(root.job.key); + title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); } // Utils diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml index 091b1fc1fa..4b863ff9ed 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml @@ -2,56 +2,45 @@ // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 - - import UM 1.3 as UM import Cura 1.0 as Cura -Component -{ - Item - { - width: maximumWidth - height: maximumHeight - Image - { - id: cameraImage - width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth) - height: Math.floor((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width) - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - z: 1 - Component.onCompleted: - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) - { - OutputDevice.activePrinter.camera.start() +Component { + Item { + height: maximumHeight; + width: maximumWidth; + + Image { + id: cameraImage; + anchors { + horizontalCenter: parent.horizontalCenter; + verticalCenter: parent.verticalCenter; + } + Component.onCompleted: { + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) { + OutputDevice.activePrinter.camera.start(); } } - onVisibleChanged: - { - if(visible) - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) - { - OutputDevice.activePrinter.camera.start() + height: Math.floor((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width); + onVisibleChanged: { + if (visible) { + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) { + OutputDevice.activePrinter.camera.start(); } - } else - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) - { - OutputDevice.activePrinter.camera.stop() + } else { + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) { + OutputDevice.activePrinter.camera.stop(); } } } - source: - { - if(OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null && OutputDevice.activePrinter.camera.latestImage) - { + source: { + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null && OutputDevice.activePrinter.camera.latestImage) { return OutputDevice.activePrinter.camera.latestImage; } return ""; } + width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth); + z: 1; } } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index 151ae7ab36..bede597287 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -7,34 +7,29 @@ import QtQuick.Controls.Styles 1.4 import UM 1.2 as UM Item { - id: extruderInfo - + id: extruderInfo; property var printCoreConfiguration: null; - - width: Math.round(parent.width / 2); height: childrenRect.height; + width: Math.round(parent.width / 2); // Extruder circle Item { - id: extruderCircle - - width: UM.Theme.getSize("monitor_tab_extruder_circle").width; - height: UM.Theme.getSize("monitor_tab_extruder_circle").height; + id: extruderCircle; anchors.verticalCenter: parent.verticalCenter; + height: UM.Theme.getSize("monitor_tab_extruder_circle").height; + width: UM.Theme.getSize("monitor_tab_extruder_circle").width; // Loading skeleton Rectangle { - visible: !printCoreConfiguration; anchors.fill: parent; - radius: Math.round(width / 2); color: UM.Theme.getColor("viewport_background"); + radius: Math.round(width / 2); + visible: !printCoreConfiguration; } // Actual content Rectangle { - visible: printCoreConfiguration; anchors.fill: parent; - radius: Math.round(width / 2); border.width: UM.Theme.getSize("monitor_tab_thick_lining").width; border.color: UM.Theme.getColor("monitor_tab_lining_active"); opacity: { @@ -43,6 +38,8 @@ Item { } return 1; } + radius: Math.round(width / 2); + visible: printCoreConfiguration; Label { anchors.centerIn: parent; @@ -55,68 +52,66 @@ Item { // Print core and material labels Item { id: materialLabel - anchors { left: extruderCircle.right; leftMargin: UM.Theme.getSize("default_margin").width; - top: parent.top; right: parent.right; + top: parent.top; } height: UM.Theme.getSize("monitor_tab_text_line").height; // Loading skeleton Rectangle { - visible: !extruderInfo.printCoreConfiguration; anchors.fill: parent; color: UM.Theme.getColor("viewport_background"); + visible: !extruderInfo.printCoreConfiguration; } // Actual content Label { - visible: extruderInfo.printCoreConfiguration; anchors.fill: parent; + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); text: { if (printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) { return printCoreConfiguration.activeMaterial.name; } return ""; } - font: UM.Theme.getFont("default"); - elide: Text.ElideRight; + visible: extruderInfo.printCoreConfiguration; } } Item { id: printCoreLabel; - anchors { - right: parent.right; + bottom: parent.bottom; left: extruderCircle.right; leftMargin: UM.Theme.getSize("default_margin").width; - bottom: parent.bottom; + right: parent.right; } height: UM.Theme.getSize("monitor_tab_text_line").height; // Loading skeleton Rectangle { + color: UM.Theme.getColor("viewport_background"); + height: parent.height; visible: !extruderInfo.printCoreConfiguration; width: parent.width / 3; - height: parent.height; - color: UM.Theme.getColor("viewport_background"); } // Actual content Label { - visible: extruderInfo.printCoreConfiguration; + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + opacity: 0.6; text: { if (printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) { return printCoreConfiguration.hotendID; } return ""; } - elide: Text.ElideRight; - opacity: 0.6; - font: UM.Theme.getFont("default"); + visible: extruderInfo.printCoreConfiguration; } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 0c185386b2..dc613ff9ef 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -2,17 +2,13 @@ // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 -import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 import QtQuick.Controls.Styles 1.4 import QtGraphicalEffects 1.0 -import QtQuick.Layouts 1.1 -import QtQuick.Dialogs 1.1 import UM 1.3 as UM Item { id: root; - property var printJob: null; property var running: isRunning(printJob); @@ -55,16 +51,20 @@ Item { } Item { - id: pointedRectangle - width: parent.width - 10 * screenScaleFactor; // Because of the shadow + id: pointedRectangle; + anchors { + horizontalCenter: parent.horizontalCenter; + verticalCenter: parent.verticalCenter; + } height: parent.height - 10 * screenScaleFactor; // Because of the shadow - anchors.horizontalCenter: parent.horizontalCenter; - anchors.verticalCenter: parent.verticalCenter; + width: parent.width - 10 * screenScaleFactor; // Because of the shadow Rectangle { - id: point - anchors.right: bloop.right; - anchors.rightMargin: 24; + id: point; + anchors { + right: bloop.right; + rightMargin: 24; + } color: UM.Theme.getColor("setting_control"); height: 14 * screenScaleFactor; transform: Rotation { @@ -75,7 +75,7 @@ Item { } Rectangle { - id: bloop + id: bloop; anchors { bottom: parent.bottom; bottomMargin: 8 * screenScaleFactor; // Because of the shadow diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 4ffcb8342e..335ee2ba47 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -11,13 +11,11 @@ import QtQuick.Dialogs 1.1 import UM 1.3 as UM Item { - id: root - - property var shadowRadius: 5; - property var shadowOffset: 2; + id: root; + property var shadowRadius: 5 * screenScaleFactor; + property var shadowOffset: 2 * screenScaleFactor; property var debug: false; property var printJob: null; - width: parent.width; // Bubbles downward height: childrenRect.height + shadowRadius * 2; // Bubbles upward @@ -28,87 +26,84 @@ Item { // The actual card (white block) Rectangle { - color: "white"; // TODO: Theme! - height: childrenRect.height; - width: parent.width - shadowRadius * 2; - // 5px margin, but shifted 2px vertically because of the shadow anchors { - topMargin: root.shadowRadius - root.shadowOffset; bottomMargin: root.shadowRadius + root.shadowOffset; leftMargin: root.shadowRadius; rightMargin: root.shadowRadius; + topMargin: root.shadowRadius - root.shadowOffset; } + color: "white"; // TODO: Theme! + height: childrenRect.height; layer.enabled: true layer.effect: DropShadow { radius: root.shadowRadius verticalOffset: 2 * screenScaleFactor color: "#3F000000" // 25% shadow } + width: parent.width - shadowRadius * 2; Column { - width: parent.width; height: childrenRect.height; + width: parent.width; // Main content Item { id: mainContent; + height: 200 * screenScaleFactor; // TODO: Theme! width: parent.width; - height: 200; // TODO: Theme! // Left content Item { anchors { + bottom: parent.bottom; left: parent.left; + margins: UM.Theme.getSize("wide_margin").width; right: parent.horizontalCenter; top: parent.top; - bottom: parent.bottom; - margins: UM.Theme.getSize("wide_margin").width } Item { id: printJobName; - width: parent.width; height: UM.Theme.getSize("monitor_tab_text_line").height; Rectangle { - visible: !printJob; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! height: parent.height; + visible: !printJob; width: parent.width / 3; } Label { - visible: printJob; - text: printJob ? printJob.name : ""; // Supress QML warnings - font: UM.Theme.getFont("default_bold"); - elide: Text.ElideRight; anchors.fill: parent; + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: printJob ? printJob.name : ""; // Supress QML warnings + visible: printJob; } } Item { id: printJobOwnerName; - - width: parent.width; - height: UM.Theme.getSize("monitor_tab_text_line").height; anchors { top: printJobName.bottom; topMargin: Math.floor(UM.Theme.getSize("default_margin").height / 2); } + height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width; Rectangle { - visible: !printJob; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! height: parent.height; + visible: !printJob; width: parent.width / 2; } Label { - visible: printJob; - text: printJob ? printJob.owner : ""; // Supress QML warnings - font: UM.Theme.getFont("default"); - elide: Text.ElideRight; anchors.fill: parent; + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + text: printJob ? printJob.owner : ""; // Supress QML warnings + visible: printJob; } } @@ -116,90 +111,96 @@ Item { id: printJobPreview; property var useUltibot: false; anchors { - top: printJobOwnerName.bottom; - horizontalCenter: parent.horizontalCenter; - topMargin: UM.Theme.getSize("default_margin").height; bottom: parent.bottom; + horizontalCenter: parent.horizontalCenter; + top: printJobOwnerName.bottom; + topMargin: UM.Theme.getSize("default_margin").height; } width: height; // Skeleton Rectangle { - visible: !printJob; anchors.fill: parent; - radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + visible: !printJob; } // Actual content Image { id: previewImage; - visible: printJob; - source: printJob ? printJob.previewImageUrl : ""; - opacity: printJob && printJob.state == "error" ? 0.5 : 1.0; anchors.fill: parent; + opacity: printJob && printJob.state == "error" ? 0.5 : 1.0; + source: printJob ? printJob.previewImageUrl : ""; + visible: printJob; } UM.RecolorImage { id: ultiBotImage; + anchors.centerIn: printJobPreview; + color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! + height: printJobPreview.height; source: "../svg/ultibot.svg"; + sourceSize { + height: height; + width: width; + } /* Since print jobs ALWAYS have an image url, we have to check if that image URL errors or not in order to determine if we show the placeholder (ultibot) image instead. */ visible: printJob && previewImage.status == Image.Error; width: printJobPreview.width; - height: printJobPreview.height; - sourceSize.width: width; - sourceSize.height: height; - color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! } UM.RecolorImage { id: statusImage; anchors.centerIn: printJobPreview; + color: "black"; + height: 0.5 * printJobPreview.height; source: printJob && printJob.state == "error" ? "../svg/aborted-icon.svg" : ""; + sourceSize { + height: height; + width: width; + } visible: source != ""; width: 0.5 * printJobPreview.width; - height: 0.5 * printJobPreview.height; - sourceSize.width: width; - sourceSize.height: height; - color: "black"; } } } // Divider Rectangle { - height: parent.height - 2 * UM.Theme.getSize("default_margin").height; - width: UM.Theme.getSize("default_lining").width; - color: !printJob ? UM.Theme.getColor("viewport_background") : "#e6e6e6"; // TODO: Theme! anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; } + color: !printJob ? UM.Theme.getColor("viewport_background") : "#e6e6e6"; // TODO: Theme! + height: parent.height - 2 * UM.Theme.getSize("default_margin").height; + width: UM.Theme.getSize("default_lining").width; } // Right content Item { anchors { + bottom: parent.bottom; left: parent.horizontalCenter; + margins: UM.Theme.getSize("wide_margin").width; right: parent.right; top: parent.top; - bottom: parent.bottom; - margins: UM.Theme.getSize("wide_margin").width; } Item { id: targetPrinterLabel; - width: parent.width; height: UM.Theme.getSize("monitor_tab_text_line").height; + width: parent.width; + Rectangle { visible: !printJob; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! anchors.fill: parent; } + Label { - visible: printJob; elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); text: { @@ -215,13 +216,14 @@ Item { } return ""; } + visible: printJob; } } PrinterInfoBlock { + anchors.bottom: parent.bottom; printer: root.printJob.assignedPrinter; printJob: root.printJob; - anchors.bottom: parent.bottom; } } @@ -240,15 +242,15 @@ Item { Item { id: configChangesBox; - width: parent.width; height: childrenRect.height; visible: printJob && printJob.configurationChanges.length !== 0; + width: parent.width; // Config change toggle Rectangle { id: configChangeToggle; color: { - if(configChangeToggleArea.containsMouse) { + if (configChangeToggleArea.containsMouse) { return UM.Theme.getColor("viewport_background"); // TODO: Theme! } else { return "transparent"; @@ -263,23 +265,25 @@ Item { } Rectangle { - width: parent.width; - height: UM.Theme.getSize("default_lining").height; color: "#e6e6e6"; // TODO: Theme! + height: UM.Theme.getSize("default_lining").height; + width: parent.width; } UM.RecolorImage { - width: 23; // TODO: Theme! - height: 23; // TODO: Theme! anchors { right: configChangeToggleLabel.left; rightMargin: UM.Theme.getSize("default_margin").width; verticalCenter: parent.verticalCenter; } - sourceSize.width: width; - sourceSize.height: height; - source: "../svg/warning-icon.svg"; color: UM.Theme.getColor("text"); + height: 23 * screenScaleFactor; // TODO: Theme! + source: "../svg/warning-icon.svg"; + sourceSize { + height: height; + width: width; + } + width: 23 * screenScaleFactor; // TODO: Theme! } Label { @@ -292,15 +296,13 @@ Item { } UM.RecolorImage { - width: 15; // TODO: Theme! - height: 15; // TODO: Theme! anchors { left: configChangeToggleLabel.right; leftMargin: UM.Theme.getSize("default_margin").width; verticalCenter: parent.verticalCenter; } - sourceSize.width: width; - sourceSize.height: height; + color: UM.Theme.getColor("text"); + height: 15 * screenScaleFactor; // TODO: Theme! source: { if (configChangeDetails.visible) { return UM.Theme.getIcon("arrow_top"); @@ -308,7 +310,11 @@ Item { return UM.Theme.getIcon("arrow_bottom"); } } - color: UM.Theme.getColor("text"); + sourceSize { + width: width; + height: height; + } + width: 15 * screenScaleFactor; // TODO: Theme! } MouseArea { @@ -324,26 +330,25 @@ Item { // Config change details Item { id: configChangeDetails; - width: parent.width; - visible: false; + anchors.top: configChangeToggle.bottom; + Behavior on height { NumberAnimation { duration: 100 } } // In case of really massive multi-line configuration changes height: visible ? Math.max(UM.Theme.getSize("monitor_tab_config_override_box").height, childrenRect.height) : 0; - Behavior on height { NumberAnimation { duration: 100 } } - anchors.top: configChangeToggle.bottom; + visible: false; + width: parent.width; Item { - clip: true; anchors { - fill: parent; - topMargin: UM.Theme.getSize("wide_margin").height; bottomMargin: UM.Theme.getSize("wide_margin").height; + fill: parent; leftMargin: UM.Theme.getSize("wide_margin").height * 4; rightMargin: UM.Theme.getSize("wide_margin").height * 4; + topMargin: UM.Theme.getSize("wide_margin").height; } + clip: true; Label { anchors.fill: parent; - wrapMode: Text.WordWrap; elide: Text.ElideRight; font: UM.Theme.getFont("large_nonbold"); text: { @@ -380,6 +385,7 @@ Item { } return result; } + wrapMode: Text.WordWrap; } Button { @@ -387,6 +393,10 @@ Item { bottom: parent.bottom; left: parent.left; } + onClicked: { + overrideConfirmationDialog.visible = true; + } + text: catalog.i18nc("@label", "Override"); visible: { var length = printJob.configurationChanges.length; for (var i = 0; i < length; i++) { @@ -397,26 +407,22 @@ Item { } return true; } - text: catalog.i18nc("@label", "Override"); - onClicked: { - overrideConfirmationDialog.visible = true; - } } } } MessageDialog { id: overrideConfirmationDialog; - title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); + Component.onCompleted: visible = false; icon: StandardIcon.Warning; + onYes: OutputDevice.forceSendJob(printJob.key); + standardButtons: StandardButton.Yes | StandardButton.No; text: { var printJobName = formatPrintJobName(printJob.name); var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); return confirmText; } - standardButtons: StandardButton.Yes | StandardButton.No; - Component.onCompleted: visible = false; - onYes: OutputDevice.forceSendJob(printJob.key); + title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml index 2bec0906a8..8d80377e99 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml @@ -14,15 +14,15 @@ import UM 1.3 as UM Item { property var job: null; property var useUltibot: false; - height: 100; + height: 100 * screenScaleFactor; width: height; // Skeleton Rectangle { - visible: !job; anchors.fill: parent; - radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + visible: !job; } // Actual content @@ -46,26 +46,30 @@ Item { UM.RecolorImage { id: ultibotImage; anchors.centerIn: parent; + color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! + height: parent.height; source: "../svg/ultibot.svg"; + sourceSize { + height: height; + width: width; + } /* Since print jobs ALWAYS have an image url, we have to check if that image URL errors or not in order to determine if we show the placeholder (ultibot) image instead. */ visible: job && previewImage.status == Image.Error; width: parent.width; - height: parent.height; - sourceSize.width: width; - sourceSize.height: height; - color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! } UM.RecolorImage { id: statusImage; anchors.centerIn: parent; + color: "black"; // TODO: Theme! + height: 0.5 * parent.height; source: job && job.state == "error" ? "../svg/aborted-icon.svg" : ""; + sourceSize { + height: height; + width: width; + } visible: source != ""; width: 0.5 * parent.width; - height: 0.5 * parent.height; - sourceSize.width: width; - sourceSize.height: height; - color: "black"; } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml index 604b5ce862..9dc7dff62e 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml @@ -17,17 +17,18 @@ Column { width: parent.width; Rectangle { - visible: !job; color: UM.Theme.getColor("viewport_background"); // TODO: Use explicit theme color height: parent.height; + visible: !job; width: parent.width / 3; } + Label { - visible: job; - text: job ? job.name : ""; - font: UM.Theme.getFont("default_bold"); - elide: Text.ElideRight; anchors.fill: parent; + elide: Text.ElideRight; + font: UM.Theme.getFont("default_bold"); + text: job ? job.name : ""; + visible: job; } } @@ -37,17 +38,18 @@ Column { width: parent.width; Rectangle { - visible: !job; color: UM.Theme.getColor("viewport_background"); // TODO: Use explicit theme color height: parent.height; + visible: !job; width: parent.width / 2; } + Label { - visible: job; - text: job ? job.owner : ""; - font: UM.Theme.getFont("default"); - elide: Text.ElideRight; anchors.fill: parent; + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + text: job ? job.owner : ""; + visible: job; } } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml index 9793b218fc..a28167d260 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml @@ -4,112 +4,101 @@ import QtQuick 2.2 import QtQuick.Window 2.2 import QtQuick.Controls 1.2 - import UM 1.1 as UM -UM.Dialog -{ +UM.Dialog { id: base; - - minimumWidth: 500 * screenScaleFactor - minimumHeight: 140 * screenScaleFactor - maximumWidth: minimumWidth - maximumHeight: minimumHeight - width: minimumWidth - height: minimumHeight - - visible: true - modality: Qt.ApplicationModal - onVisibleChanged: - { - if(visible) - { - resetPrintersModel() - } - else - { - OutputDevice.cancelPrintSelection() - } + property var printersModel: { + return ListModel{}; } - title: catalog.i18nc("@title:window", "Print over network") - - property var printersModel: ListModel{} - function resetPrintersModel() { - printersModel.clear() - printersModel.append({ name: "Automatic", key: ""}) - - for (var index in OutputDevice.printers) - { - printersModel.append({name: OutputDevice.printers[index].name, key: OutputDevice.printers[index].key}) - } - } - - Column - { - id: printerSelection - anchors.fill: parent - anchors.top: parent.top - anchors.topMargin: UM.Theme.getSize("default_margin").height - anchors.leftMargin: UM.Theme.getSize("default_margin").width - anchors.rightMargin: UM.Theme.getSize("default_margin").width - height: 50 * screenScaleFactor - Label - { - id: manualPrinterSelectionLabel - anchors - { - left: parent.left - topMargin: UM.Theme.getSize("default_margin").height - right: parent.right - } - text: catalog.i18nc("@label", "Printer selection") - wrapMode: Text.Wrap - height: 20 * screenScaleFactor - } - - ComboBox - { - id: printerSelectionCombobox - model: base.printersModel - textRole: "name" - - width: parent.width - height: 40 * screenScaleFactor - Behavior on height { NumberAnimation { duration: 100 } } - } - - SystemPalette - { - id: palette - } - - UM.I18nCatalog { id: catalog; name: "cura"; } - } - + height: minimumHeight; leftButtons: [ - Button - { - text: catalog.i18nc("@action:button","Cancel") - enabled: true + Button { + enabled: true; onClicked: { base.visible = false; - printerSelectionCombobox.currentIndex = 0 - OutputDevice.cancelPrintSelection() + printerSelectionCombobox.currentIndex = 0; + OutputDevice.cancelPrintSelection(); } + text: catalog.i18nc("@action:button","Cancel"); } ] - + maximumHeight: minimumHeight; + maximumWidth: minimumWidth; + minimumHeight: 140 * screenScaleFactor; + minimumWidth: 500 * screenScaleFactor; + modality: Qt.ApplicationModal; + onVisibleChanged: { + if (visible) { + resetPrintersModel(); + } else { + OutputDevice.cancelPrintSelection(); + } + } rightButtons: [ - Button - { - text: catalog.i18nc("@action:button","Print") - enabled: true + Button { + enabled: true; onClicked: { base.visible = false; - OutputDevice.selectPrinter(printerSelectionCombobox.model.get(printerSelectionCombobox.currentIndex).key) + OutputDevice.selectPrinter(printerSelectionCombobox.model.get(printerSelectionCombobox.currentIndex).key); // reset to defaults - printerSelectionCombobox.currentIndex = 0 + printerSelectionCombobox.currentIndex = 0; } + text: catalog.i18nc("@action:button","Print"); } ] + title: catalog.i18nc("@title:window", "Print over network"); + visible: true; + width: minimumWidth; + + Column { + id: printerSelection; + anchors { + fill: parent; + leftMargin: UM.Theme.getSize("default_margin").width; + rightMargin: UM.Theme.getSize("default_margin").width; + top: parent.top; + topMargin: UM.Theme.getSize("default_margin").height; + } + height: 50 * screenScaleFactor; + + SystemPalette { + id: palette; + } + + UM.I18nCatalog { + id: catalog; + name: "cura"; + } + + Label { + id: manualPrinterSelectionLabel; + anchors { + left: parent.left; + right: parent.right; + topMargin: UM.Theme.getSize("default_margin").height; + } + height: 20 * screenScaleFactor; + text: catalog.i18nc("@label", "Printer selection"); + wrapMode: Text.Wrap; + } + + ComboBox { + id: printerSelectionCombobox; + Behavior on height { NumberAnimation { duration: 100 } } + height: 40 * screenScaleFactor; + model: base.printersModel; + textRole: "name"; + width: parent.width; + } + } + + // Utils + function resetPrintersModel() { + printersModel.clear(); + printersModel.append({ name: "Automatic", key: ""}); + for (var index in OutputDevice.printers) { + printersModel.append({name: OutputDevice.printers[index].name, key: OutputDevice.printers[index].key}); + } + } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index c13a4c4b93..ebfe160e06 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -6,17 +6,14 @@ import QtQuick.Dialogs 1.1 import QtQuick.Controls 2.0 import QtQuick.Controls.Styles 1.3 import QtGraphicalEffects 1.0 -import QtQuick.Controls 1.4 as LegacyControls import UM 1.3 as UM Item { id: root; - property var shadowRadius: 5; property var shadowOffset: 2; property var printer: null; property var collapsed: true; - height: childrenRect.height + shadowRadius * 2; // Bubbles upward width: parent.width; // Bubbles downward @@ -24,10 +21,10 @@ Item { Rectangle { // 5px margin, but shifted 2px vertically because of the shadow anchors { - topMargin: root.shadowRadius - root.shadowOffset; bottomMargin: root.shadowRadius + root.shadowOffset; leftMargin: root.shadowRadius; rightMargin: root.shadowRadius; + topMargin: root.shadowRadius - root.shadowOffset; } color: { if (printer.state == "disabled") { @@ -46,8 +43,8 @@ Item { width: parent.width - 2 * shadowRadius; Column { - width: parent.width; height: childrenRect.height; + width: parent.width; // Main card Item { @@ -65,15 +62,12 @@ Item { margins: UM.Theme.getSize("default_margin").width; top: parent.top; } - height: 58; - width: 58; + height: 58 * screenScaleFactor; + width: 58 * screenScaleFactor; // Skeleton Rectangle { - anchors { - fill: parent; - // margins: Math.round(UM.Theme.getSize("default_margin").width / 4); - } + anchors.fill: parent; color: UM.Theme.getColor("viewport_background"); // TODO: Theme! radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! visible: !printer; @@ -153,7 +147,6 @@ Item { height: UM.Theme.getSize("monitor_tab_text_line").height; width: parent.width * 0.75; - // Skeleton Rectangle { anchors.fill: parent; @@ -192,12 +185,14 @@ Item { verticalCenter: parent.verticalCenter; } color: UM.Theme.getColor("text"); - height: 15; // TODO: Theme! + height: 15 * screenScaleFactor; // TODO: Theme! source: root.collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom"); - sourceSize.height: height; - sourceSize.width: width; + sourceSize { + height: height; + width: width; + } visible: printer; - width: 15; // TODO: Theme! + width: 15 * screenScaleFactor; // TODO: Theme! } MouseArea { @@ -213,7 +208,7 @@ Item { } Connections { - target: printerList + target: printerList; onCurrentIndexChanged: { if (!model) { return; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index 7cce0d5c0d..0971776cc6 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -10,17 +10,14 @@ import QtQuick.Controls 1.4 as LegacyControls import UM 1.3 as UM Item { - property var printer: null; property var printJob: printer ? printer.activePrintJob : null; property var collapsed: true; - Behavior on height { NumberAnimation { duration: 100 } } Behavior on opacity { NumberAnimation { duration: 100 } } - - width: parent.width; height: collapsed ? 0 : childrenRect.height; opacity: collapsed ? 0 : 1; + width: parent.width; Column { id: contentColumn; @@ -44,8 +41,8 @@ Item { HorizontalLine {} Row { - width: parent.width; height: childrenRect.height; + width: parent.width; PrintJobTitle { job: root.printer.activePrintJob; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml index 809a3c651a..4fac99f7a2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -17,107 +17,90 @@ ProgressBar { } return result; } - value: progress; - width: parent.width; - style: ProgressBarStyle { - property var remainingTime: - { - if(printer.activePrintJob == null) - { - return 0 + property var remainingTime: { + if (printer.activePrintJob == null) { + return 0; } /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining time from ever being less than 0. Negative durations cause strange behavior such as displaying "-1h -1m". */ - var activeJob = printer.activePrintJob + var activeJob = printer.activePrintJob; return Math.max(activeJob.timeTotal - activeJob.timeElapsed, 0); } - property var progressText: - { - if(printer.activePrintJob == null) - { - return "" + property var progressText: { + if (printer.activePrintJob == null) { + return ""; } - switch(printer.activePrintJob.state) - { + switch (printer.activePrintJob.state) { case "wait_cleanup": - if(printer.activePrintJob.timeTotal > printer.activePrintJob.timeElapsed) - { - return catalog.i18nc("@label:status", "Aborted") + if (printer.activePrintJob.timeTotal > printer.activePrintJob.timeElapsed) { + return catalog.i18nc("@label:status", "Aborted"); } - return catalog.i18nc("@label:status", "Finished") + return catalog.i18nc("@label:status", "Finished"); case "pre_print": case "sent_to_printer": - return catalog.i18nc("@label:status", "Preparing") + return catalog.i18nc("@label:status", "Preparing"); case "aborted": - return catalog.i18nc("@label:status", "Aborted") + return catalog.i18nc("@label:status", "Aborted"); case "wait_user_action": - return catalog.i18nc("@label:status", "Aborted") + return catalog.i18nc("@label:status", "Aborted"); case "pausing": - return catalog.i18nc("@label:status", "Pausing") + return catalog.i18nc("@label:status", "Pausing"); case "paused": - return OutputDevice.formatDuration( remainingTime ) + return OutputDevice.formatDuration( remainingTime ); case "resuming": - return catalog.i18nc("@label:status", "Resuming") + return catalog.i18nc("@label:status", "Resuming"); case "queued": - return catalog.i18nc("@label:status", "Action required") + return catalog.i18nc("@label:status", "Action required"); default: - return OutputDevice.formatDuration( remainingTime ) + return OutputDevice.formatDuration( remainingTime ); } } - - background: Rectangle - { - implicitWidth: 100 - implicitHeight: visible ? 24 : 0 - color: UM.Theme.getColor("viewport_background") + background: Rectangle { + color: UM.Theme.getColor("viewport_background"); + implicitHeight: visible ? 24 : 0; + implicitWidth: 100; } - - progress: Rectangle - { - color: - { + progress: Rectangle { + id: progressItem; + color: { var state = printer.activePrintJob.state var inactiveStates = [ "pausing", "paused", "resuming", "wait_cleanup" - ] - if(inactiveStates.indexOf(state) > -1 && remainingTime > 0) - { - return UM.Theme.getColor("monitor_tab_text_inactive") - } - else - { - return UM.Theme.getColor("primary") - } - } - id: progressItem - function getTextOffset() - { - if(progressItem.width + progressLabel.width + 16 < control.width) - { - return progressItem.width + UM.Theme.getSize("default_margin").width - } - else - { - return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width + ]; + if (inactiveStates.indexOf(state) > -1 && remainingTime > 0) { + return UM.Theme.getColor("monitor_tab_text_inactive"); + } else { + return UM.Theme.getColor("primary"); } } - Label - { - id: progressLabel - anchors.left: parent.left - anchors.leftMargin: getTextOffset() - text: progressText - anchors.verticalCenter: parent.verticalCenter - color: progressItem.width + progressLabel.width < control.width ? "black" : "white" - width: contentWidth - font: UM.Theme.getFont("default") + Label { + id: progressLabel; + anchors { + left: parent.left; + leftMargin: getTextOffset(); + } + text: progressText; + anchors.verticalCenter: parent.verticalCenter; + color: progressItem.width + progressLabel.width < control.width ? "black" : "white"; + width: contentWidth; + font: UM.Theme.getFont("default"); + } + + function getTextOffset() { + if (progressItem.width + progressLabel.width + 16 < control.width) { + return progressItem.width + UM.Theme.getSize("default_margin").width; + } else { + return progressItem.width - progressLabel.width - UM.Theme.getSize("default_margin").width; + } } } } + value: progress; + width: parent.width; } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml index 118da2f42b..24de732faf 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml @@ -5,26 +5,27 @@ import QtQuick 2.2 import QtQuick.Controls 1.4 import UM 1.2 as UM -Item -{ - property alias text: familyNameLabel.text +Item { + property alias text: familyNameLabel.text; property var padding: 3 * screenScaleFactor; // TODO: Theme! - implicitHeight: familyNameLabel.contentHeight + 2 * padding // Apply the padding to top and bottom. - implicitWidth: familyNameLabel.contentWidth + implicitHeight // The extra height is added to ensure the radius doesn't cut something off. - Rectangle - { - id: background - height: parent.height - width: parent.width + implicitHeight: familyNameLabel.contentHeight + 2 * padding; // Apply the padding to top and bottom. + implicitWidth: familyNameLabel.contentWidth + implicitHeight; // The extra height is added to ensure the radius doesn't cut something off. + + Rectangle { + id: background; + anchors { + horizontalCenter: parent.horizontalCenter; + right: parent.right; + } color: UM.Theme.getColor("viewport_background"); // TODO: Theme! - anchors.right: parent.right - anchors.horizontalCenter: parent.horizontalCenter - radius: 0.5 * height + height: parent.height; + radius: 0.5 * height; + width: parent.width; } - Label - { - id: familyNameLabel - anchors.centerIn: parent - text: "" + + Label { + id: familyNameLabel; + anchors.centerIn: parent; + text: ""; } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml index 51d9e1f462..b054eb458f 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -13,17 +13,14 @@ import UM 1.3 as UM Item { id: root; - property var printer: null; property var printJob: null; - width: parent.width; height: childrenRect.height; // Printer family pills Row { id: printerFamilyPills; - anchors { left: parent.left; right: parent.right; @@ -35,21 +32,23 @@ Item { Repeater { id: compatiblePills; - visible: printJob; + delegate: PrinterFamilyPill { + text: modelData; + } model: printJob ? printJob.compatibleMachineFamilies : []; - delegate: PrinterFamilyPill { text: modelData; } + visible: printJob; + } PrinterFamilyPill { - visible: !compatiblePills.visible && printer; text: printer.type; + visible: !compatiblePills.visible && printer; } } // Extruder info Row { id: extrudersInfo; - anchors { left: parent.left; right: parent.right; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index 5e5c972fbe..b9e2525dd5 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -4,84 +4,66 @@ import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 - import UM 1.3 as UM +Item { + property var camera: null; -Item -{ - property var camera: null - - Rectangle - { - anchors.fill:parent - color: UM.Theme.getColor("viewport_overlay") - opacity: 0.5 + Rectangle { + anchors.fill:parent; + color: UM.Theme.getColor("viewport_overlay"); + opacity: 0.5; } - MouseArea - { - anchors.fill: parent - onClicked: OutputDevice.setActiveCamera(null) - z: 0 + MouseArea { + anchors.fill: parent; + onClicked: OutputDevice.setActiveCamera(null); + z: 0; } - CameraButton - { - id: closeCameraButton - iconSource: UM.Theme.getIcon("cross1") - anchors - { - top: cameraImage.top - topMargin: UM.Theme.getSize("default_margin").height + CameraButton { + id: closeCameraButton; + anchors { right: cameraImage.right rightMargin: UM.Theme.getSize("default_margin").width + top: cameraImage.top + topMargin: UM.Theme.getSize("default_margin").height } - z: 999 + iconSource: UM.Theme.getIcon("cross1"); + z: 999; } - Image - { + Image { id: cameraImage - width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth) - height: Math.round((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width) - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - z: 1 - onVisibleChanged: - { - if(visible) - { - if(camera != null) - { - camera.start() + anchors.horizontalCenter: parent.horizontalCenter; + anchors.verticalCenter: parent.verticalCenter; + height: Math.round((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width); + onVisibleChanged: { + if (visible) { + if (camera != null) { + camera.start(); } - } else - { - if(camera != null) - { - camera.stop() + } else { + if (camera != null) { + camera.stop(); } } } - - source: - { - if(camera != null && camera.latestImage != null) - { + source: { + if (camera != null && camera.latestImage != null) { return camera.latestImage; } return ""; } - } - - MouseArea - { - anchors.fill: cameraImage - onClicked: - { - OutputDevice.setActiveCamera(null) - } + width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth); z: 1 } + + MouseArea { + anchors.fill: cameraImage; + onClicked: { + OutputDevice.setActiveCamera(null); + } + z: 1; + } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml b/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml index 6af4b2c6a6..105143c851 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml @@ -1,128 +1,126 @@ // Copyright (c) 2018 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. -import UM 1.2 as UM -import Cura 1.0 as Cura - import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Layouts 1.1 import QtQuick.Window 2.1 +import UM 1.2 as UM +import Cura 1.0 as Cura -Item -{ - id: base +Item { + id: base; + property string activeQualityDefinitionId: Cura.MachineManager.activeQualityDefinitionId; + property bool isUM3: activeQualityDefinitionId == "ultimaker3" || activeQualityDefinitionId.match("ultimaker_") != null; + property bool printerConnected: Cura.MachineManager.printerConnected; + property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands; + property bool authenticationRequested: printerConnected && (Cura.MachineManager.printerOutputDevices[0].authenticationState == 2 || Cura.MachineManager.printerOutputDevices[0].authenticationState == 5); // AuthState.AuthenticationRequested or AuthenticationReceived. - property string activeQualityDefinitionId: Cura.MachineManager.activeQualityDefinitionId - property bool isUM3: activeQualityDefinitionId == "ultimaker3" || activeQualityDefinitionId.match("ultimaker_") != null - property bool printerConnected: Cura.MachineManager.printerConnected - property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands - property bool authenticationRequested: printerConnected && (Cura.MachineManager.printerOutputDevices[0].authenticationState == 2 || Cura.MachineManager.printerOutputDevices[0].authenticationState == 5) // AuthState.AuthenticationRequested or AuthenticationReceived. + UM.I18nCatalog { + id: catalog; + name: "cura"; + } - Row - { - objectName: "networkPrinterConnectButton" - visible: isUM3 - spacing: UM.Theme.getSize("default_margin").width + Row { + objectName: "networkPrinterConnectButton"; + spacing: UM.Theme.getSize("default_margin").width; + visible: isUM3; - Button - { - height: UM.Theme.getSize("save_button_save_to_button").height - tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer") - text: catalog.i18nc("@action:button", "Request Access") - style: UM.Theme.styles.sidebar_action_button - onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication() - visible: printerConnected && !printerAcceptsCommands && !authenticationRequested + Button { + height: UM.Theme.getSize("save_button_save_to_button").height; + onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication(); + style: UM.Theme.styles.sidebar_action_button; + text: catalog.i18nc("@action:button", "Request Access"); + tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer"); + visible: printerConnected && !printerAcceptsCommands && !authenticationRequested; } - Button - { - height: UM.Theme.getSize("save_button_save_to_button").height - tooltip: catalog.i18nc("@info:tooltip", "Connect to a printer") - text: catalog.i18nc("@action:button", "Connect") - style: UM.Theme.styles.sidebar_action_button - onClicked: connectActionDialog.show() - visible: !printerConnected + Button { + height: UM.Theme.getSize("save_button_save_to_button").height; + onClicked: connectActionDialog.show(); + style: UM.Theme.styles.sidebar_action_button; + text: catalog.i18nc("@action:button", "Connect"); + tooltip: catalog.i18nc("@info:tooltip", "Connect to a printer"); + visible: !printerConnected; } } - UM.Dialog - { - id: connectActionDialog - Loader - { - anchors.fill: parent - source: "DiscoverUM3Action.qml" + UM.Dialog { + id: connectActionDialog; + rightButtons: Button { + iconName: "dialog-close"; + onClicked: connectActionDialog.reject(); + text: catalog.i18nc("@action:button", "Close"); } - rightButtons: Button - { - text: catalog.i18nc("@action:button", "Close") - iconName: "dialog-close" - onClicked: connectActionDialog.reject() + + Loader { + anchors.fill: parent; + source: "DiscoverUM3Action.qml"; } } + Column { + anchors.fill: parent; + objectName: "networkPrinterConnectionInfo"; + spacing: UM.Theme.getSize("default_margin").width; + visible: isUM3; - Column - { - objectName: "networkPrinterConnectionInfo" - visible: isUM3 - spacing: UM.Theme.getSize("default_margin").width - anchors.fill: parent - - Button - { - tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer") - text: catalog.i18nc("@action:button", "Request Access") - onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication() - visible: printerConnected && !printerAcceptsCommands && !authenticationRequested + Button { + onClicked: Cura.MachineManager.printerOutputDevices[0].requestAuthentication(); + text: catalog.i18nc("@action:button", "Request Access"); + tooltip: catalog.i18nc("@info:tooltip", "Send access request to the printer"); + visible: printerConnected && !printerAcceptsCommands && !authenticationRequested; } - Row - { - visible: printerConnected - spacing: UM.Theme.getSize("default_margin").width + Row { + anchors { + left: parent.left; + right: parent.right; + } + height: childrenRect.height; + spacing: UM.Theme.getSize("default_margin").width; + visible: printerConnected; - anchors.left: parent.left - anchors.right: parent.right - height: childrenRect.height + Column { + Repeater { + model: Cura.ExtrudersModel { + simpleNames: true; + } - Column - { - Repeater - { - model: Cura.ExtrudersModel { simpleNames: true } - Label { text: model.name } + Label { + text: model.name; + } } } - Column - { - Repeater - { - id: nozzleColumn - model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].hotendIds : null - Label { text: nozzleColumn.model[index] } + + Column { + Repeater { + id: nozzleColumn; + model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].hotendIds : null; + + Label { + text: nozzleColumn.model[index]; + } } } - Column - { - Repeater - { - id: materialColumn - model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].materialNames : null - Label { text: materialColumn.model[index] } + + Column { + Repeater { + id: materialColumn; + model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].materialNames : null; + + Label { + text: materialColumn.model[index]; + } } } } - Button - { - tooltip: catalog.i18nc("@info:tooltip", "Load the configuration of the printer into Cura") - text: catalog.i18nc("@action:button", "Activate Configuration") - visible: false // printerConnected && !isClusterPrinter() - onClicked: manager.loadConfigurationFromPrinter() + Button { + onClicked: manager.loadConfigurationFromPrinter(); + text: catalog.i18nc("@action:button", "Activate Configuration"); + tooltip: catalog.i18nc("@info:tooltip", "Load the configuration of the printer into Cura"); + visible: false; // printerConnected && !isClusterPrinter() } } - - UM.I18nCatalog{id: catalog; name:"cura"} } From c3e7e426ffc4bbe44081f05f1289c01785540a4a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 3 Oct 2018 11:21:03 +0200 Subject: [PATCH 168/423] Fix getDefaultVariantNode for UM2 CURA-5790 UM2 has optional variant which depends on whether Olsson Block is enabled. getDefaultVariantNode() should take that into account. --- cura/Machines/VariantManager.py | 17 ++++++++++++----- cura/Settings/CuraStackBuilder.py | 3 ++- resources/definitions/ultimaker2.def.json | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/cura/Machines/VariantManager.py b/cura/Machines/VariantManager.py index 969fed670e..0d497de51e 100644 --- a/cura/Machines/VariantManager.py +++ b/cura/Machines/VariantManager.py @@ -115,17 +115,24 @@ class VariantManager: # # Gets the default variant for the given machine definition. + # If the optional GlobalStack is given, the metadata information will be fetched from the GlobalStack instead of + # the DefinitionContainer. Because for machines such as UM2, you can enable Olsson Block, which will set + # "has_variants" to True in the GlobalStack. In those cases, we need to fetch metadata from the GlobalStack or + # it may not be correct. # def getDefaultVariantNode(self, machine_definition: "DefinitionContainer", - variant_type: VariantType) -> Optional["ContainerNode"]: + variant_type: "VariantType", + global_stack: Optional["GlobalStack"] = None) -> Optional["ContainerNode"]: machine_definition_id = machine_definition.getId() + container_for_metadata_fetching = global_stack if global_stack is not None else machine_definition + preferred_variant_name = None if variant_type == VariantType.BUILD_PLATE: - if parseBool(machine_definition.getMetaDataEntry("has_variant_buildplates", False)): - preferred_variant_name = machine_definition.getMetaDataEntry("preferred_variant_buildplate_name") + if parseBool(container_for_metadata_fetching.getMetaDataEntry("has_variant_buildplates", False)): + preferred_variant_name = container_for_metadata_fetching.getMetaDataEntry("preferred_variant_buildplate_name") else: - if parseBool(machine_definition.getMetaDataEntry("has_variants", False)): - preferred_variant_name = machine_definition.getMetaDataEntry("preferred_variant_name") + if parseBool(container_for_metadata_fetching.getMetaDataEntry("has_variants", False)): + preferred_variant_name = container_for_metadata_fetching.getMetaDataEntry("preferred_variant_name") node = None if preferred_variant_name: diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index 6374e6056c..58109d3a8d 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -114,7 +114,8 @@ class CuraStackBuilder: # get variant container for extruders extruder_variant_container = application.empty_variant_container - extruder_variant_node = variant_manager.getDefaultVariantNode(global_stack.definition, VariantType.NOZZLE) + extruder_variant_node = variant_manager.getDefaultVariantNode(global_stack.definition, VariantType.NOZZLE, + global_stack = global_stack) extruder_variant_name = None if extruder_variant_node: extruder_variant_container = extruder_variant_node.getContainer() diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index aa684946c2..a91d2332b0 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -14,6 +14,7 @@ "platform_offset": [9, 0, 0], "has_materials": false, "has_machine_quality": true, + "preferred_variant_name": "0.4 mm", "exclude_materials": ["generic_hips", "generic_petg", "generic_bam", "ultimaker_bam", "generic_pva", "ultimaker_pva", "generic_tough_pla", "ultimaker_tough_pla_black", "ultimaker_tough_pla_green", "ultimaker_tough_pla_red", "ultimaker_tough_pla_white"], "first_start_actions": ["UM2UpgradeSelection"], "supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"], From 7f370a75745c4932b1ed6313e986e0f9521842c3 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 3 Oct 2018 12:28:35 +0200 Subject: [PATCH 169/423] Clean-up mistakes Oops! --- plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml | 2 +- .../UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index 778a6da2eb..6148a53343 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -109,7 +109,7 @@ Component { ListView { id: printJobList; anchors.fill: parent; - delegate: PrintJobInfoBlock; { + delegate: PrintJobInfoBlock { anchors { left: parent.left; leftMargin: UM.Theme.getSize("default_margin").width; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index dc613ff9ef..41d28c89f1 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -4,6 +4,7 @@ import QtQuick 2.2 import QtQuick.Controls 2.0 import QtQuick.Controls.Styles 1.4 +import QtQuick.Dialogs 1.1 import QtGraphicalEffects 1.0 import UM 1.3 as UM From 959f698b038a189238c59eff69035a446382d74a Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Wed, 3 Oct 2018 13:23:37 +0200 Subject: [PATCH 170/423] Update date format CURA-5762 --- plugins/Toolbox/resources/qml/ToolboxDetailPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml index cba55051f5..e9aaf39226 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml @@ -126,7 +126,7 @@ Item return "" } var date = new Date(details.last_updated) - return date.toLocaleString(UM.Preferences.getValue("general/language")) + return date.toLocaleDateString(UM.Preferences.getValue("general/language")) } font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") From f3fdb46dbaa37a515f31a322df75f1999726efda Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 3 Oct 2018 13:33:30 +0200 Subject: [PATCH 171/423] Add missing types --- cura/CuraApplication.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index b40b65358b..eb5abf79d6 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -4,7 +4,7 @@ import os import sys import time -from typing import cast, TYPE_CHECKING +from typing import cast, TYPE_CHECKING, Optional import numpy @@ -175,7 +175,7 @@ class CuraApplication(QtApplication): self._single_instance = None - self._cura_formula_functions = None + self._cura_formula_functions = None # type: Optional[CuraFormulaFunctions] self._cura_package_manager = None @@ -810,6 +810,8 @@ class CuraApplication(QtApplication): return self._setting_visibility_presets_model def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions": + if self._cura_formula_functions is None: + self._cura_formula_functions = CuraFormulaFunctions(self) return self._cura_formula_functions def getMachineErrorChecker(self, *args) -> MachineErrorChecker: From cf3d7df8a6998c9982b1a2a1e5136898c96e0b2e Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 13:59:46 +0200 Subject: [PATCH 172/423] Fix showing progress --- .../UpgradeFirmwareMachineAction.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py index 671ed22d5a..478ea9b6bb 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py @@ -6,6 +6,7 @@ from UM.Settings.DefinitionContainer import DefinitionContainer from cura.MachineAction import MachineAction from UM.i18n import i18nCatalog from UM.Settings.ContainerRegistry import ContainerRegistry +from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdateState from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject from typing import Optional @@ -13,6 +14,7 @@ from typing import Optional MYPY = False if MYPY: from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater + from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice catalog = i18nCatalog("cura") @@ -23,7 +25,8 @@ class UpgradeFirmwareMachineAction(MachineAction): self._qml_url = "UpgradeFirmwareMachineAction.qml" ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) - self._active_output_device = None + self._active_output_device = None #type: Optional[PrinterOutputDevice] + self._active_firmware_updater = None #type: Optional[FirmwareUpdater] Application.getInstance().engineCreatedSignal.connect(self._onEngineCreated) @@ -38,9 +41,10 @@ class UpgradeFirmwareMachineAction(MachineAction): def _onOutputDevicesChanged(self) -> None: if self._active_output_device: self._active_output_device.activePrinter.getController().canUpdateFirmwareChanged.disconnect(self._onControllerCanUpdateFirmwareChanged) + output_devices = Application.getInstance().getMachineManager().printerOutputDevices - print(output_devices) self._active_output_device = output_devices[0] if output_devices else None + if self._active_output_device: self._active_output_device.activePrinter.getController().canUpdateFirmwareChanged.connect(self._onControllerCanUpdateFirmwareChanged) @@ -53,6 +57,12 @@ class UpgradeFirmwareMachineAction(MachineAction): @pyqtProperty(QObject, notify = outputDeviceCanUpdateFirmwareChanged) def firmwareUpdater(self) -> Optional["firmwareUpdater"]: if self._active_output_device and self._active_output_device.activePrinter.getController().can_update_firmware: - return self._active_output_device.getFirmwareUpdater() + self._active_firmware_updater = self._active_output_device.getFirmwareUpdater() + return self._active_firmware_updater - return None \ No newline at end of file + elif self._active_firmware_updater and self._active_firmware_updater.firmwareUpdateState not in [FirmwareUpdateState.idle, FirmwareUpdateState.completed]: + # During a firmware update, the PrinterOutputDevice is disconnected but the FirmwareUpdater is still there + return self._active_firmware_updater + + self._active_firmware_updater = None + return None From 254106bb264699174a8edcfc20e50e22c455ef32 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 3 Oct 2018 15:37:52 +0200 Subject: [PATCH 173/423] Format date strings to ISO YYYY/MM/DD in Toolbox CURA-5762 --- .../Toolbox/resources/qml/ToolboxDetailPage.qml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml index e9aaf39226..af08bbe288 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml @@ -125,11 +125,22 @@ Item { return "" } - var date = new Date(details.last_updated) - return date.toLocaleDateString(UM.Preferences.getValue("general/language")) + var date = new Date(details.last_updated); + var date_text = formatDateToISOString(date); + return date_text; } font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") + + function formatDateToISOString(date) { + var day = String(date.getDate()); + day = (day.length < 2) ? "0" + day : day; + var month = String(date.getMonth()); + month = (month.length < 2) ? "0" + month : month; + var year = String(date.getFullYear()); + + return year + '/' + month + '/' + day; + } } Label { From 2e529452ddf9e8068b819438e0fd51cf1b9194fc Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 3 Oct 2018 15:58:16 +0200 Subject: [PATCH 174/423] Moved the actual adding of containers by script to initialize This ensures that when loading scripts (and checking they are valid) we don't start adding unneeded containers --- plugins/PostProcessingPlugin/PostProcessingPlugin.py | 2 ++ plugins/PostProcessingPlugin/Script.py | 9 +++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/PostProcessingPlugin/PostProcessingPlugin.py b/plugins/PostProcessingPlugin/PostProcessingPlugin.py index b28a028325..78aa690106 100644 --- a/plugins/PostProcessingPlugin/PostProcessingPlugin.py +++ b/plugins/PostProcessingPlugin/PostProcessingPlugin.py @@ -189,6 +189,7 @@ class PostProcessingPlugin(QObject, Extension): def addScriptToList(self, key): Logger.log("d", "Adding script %s to list.", key) new_script = self._loaded_scripts[key]() + new_script.initialize() self._script_list.append(new_script) self.setSelectedScriptIndex(len(self._script_list) - 1) self.scriptListChanged.emit() @@ -220,6 +221,7 @@ class PostProcessingPlugin(QObject, Extension): Logger.log("e", "Unknown post-processing script {script_name} was encountered in this global stack.".format(script_name = script_name)) continue new_script = self._loaded_scripts[script_name]() + new_script.initialize() for setting_key, setting_value in settings.items(): #Put all setting values into the script. new_script._instance.setProperty(setting_key, "value", setting_value) self._script_list.append(new_script) diff --git a/plugins/PostProcessingPlugin/Script.py b/plugins/PostProcessingPlugin/Script.py index 7e430a5c78..b5211401c1 100644 --- a/plugins/PostProcessingPlugin/Script.py +++ b/plugins/PostProcessingPlugin/Script.py @@ -26,14 +26,14 @@ class Script: self._settings = None self._stack = None + def initialize(self): setting_data = self.getSettingData() - self._stack = ContainerStack(stack_id = str(id(self))) + self._stack = ContainerStack(stack_id=str(id(self))) self._stack.setDirty(False) # This stack does not need to be saved. - ## Check if the definition of this script already exists. If not, add it to the registry. if "key" in setting_data: - definitions = ContainerRegistry.getInstance().findDefinitionContainers(id = setting_data["key"]) + definitions = ContainerRegistry.getInstance().findDefinitionContainers(id=setting_data["key"]) if definitions: # Definition was found self._definition = definitions[0] @@ -48,7 +48,8 @@ class Script: self._stack.addContainer(self._definition) self._instance = InstanceContainer(container_id="ScriptInstanceContainer") self._instance.setDefinition(self._definition.getId()) - self._instance.setMetaDataEntry("setting_version", self._definition.getMetaDataEntry("setting_version", default = 0)) + self._instance.setMetaDataEntry("setting_version", + self._definition.getMetaDataEntry("setting_version", default=0)) self._stack.addContainer(self._instance) self._stack.propertyChanged.connect(self._onPropertyChanged) From e3721fe539cc2f94ca45270c909cc1ebb3c78a4d Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 3 Oct 2018 16:27:13 +0200 Subject: [PATCH 175/423] Revert "Format date strings to ISO YYYY/MM/DD in Toolbox" This reverts commit 254106bb264699174a8edcfc20e50e22c455ef32. --- .../Toolbox/resources/qml/ToolboxDetailPage.qml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml index af08bbe288..e9aaf39226 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml @@ -125,22 +125,11 @@ Item { return "" } - var date = new Date(details.last_updated); - var date_text = formatDateToISOString(date); - return date_text; + var date = new Date(details.last_updated) + return date.toLocaleDateString(UM.Preferences.getValue("general/language")) } font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") - - function formatDateToISOString(date) { - var day = String(date.getDate()); - day = (day.length < 2) ? "0" + day : day; - var month = String(date.getMonth()); - month = (month.length < 2) ? "0" + month : month; - var year = String(date.getFullYear()); - - return year + '/' + month + '/' + day; - } } Label { From a4e02a6eaef9018ab714c7d8d2190252d325790a Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 3 Oct 2018 16:27:30 +0200 Subject: [PATCH 176/423] Revert "Update date format" This reverts commit 959f698b038a189238c59eff69035a446382d74a. --- plugins/Toolbox/resources/qml/ToolboxDetailPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml index e9aaf39226..cba55051f5 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml @@ -126,7 +126,7 @@ Item return "" } var date = new Date(details.last_updated) - return date.toLocaleDateString(UM.Preferences.getValue("general/language")) + return date.toLocaleString(UM.Preferences.getValue("general/language")) } font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") From adf8285d20d4fd7236e1ab8835f2c7bd2ef1ed34 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 3 Oct 2018 16:36:58 +0200 Subject: [PATCH 177/423] Typing fixes Since I was stupid enough to touch it, I was also forced to boyscout the code. --- .../PostProcessingPlugin.py | 141 ++++++++++-------- plugins/PostProcessingPlugin/Script.py | 54 ++++--- 2 files changed, 115 insertions(+), 80 deletions(-) diff --git a/plugins/PostProcessingPlugin/PostProcessingPlugin.py b/plugins/PostProcessingPlugin/PostProcessingPlugin.py index 78aa690106..1a1ea92d10 100644 --- a/plugins/PostProcessingPlugin/PostProcessingPlugin.py +++ b/plugins/PostProcessingPlugin/PostProcessingPlugin.py @@ -2,6 +2,7 @@ # The PostProcessingPlugin is released under the terms of the AGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtProperty, pyqtSignal, pyqtSlot +from typing import Dict, Type, TYPE_CHECKING, List, Optional, cast from UM.PluginRegistry import PluginRegistry from UM.Resources import Resources @@ -9,55 +10,62 @@ from UM.Application import Application from UM.Extension import Extension from UM.Logger import Logger -import configparser #The script lists are stored in metadata as serialised config files. -import io #To allow configparser to write to a string. +import configparser # The script lists are stored in metadata as serialised config files. +import io # To allow configparser to write to a string. import os.path import pkgutil import sys import importlib.util from UM.i18n import i18nCatalog +from cura.CuraApplication import CuraApplication + i18n_catalog = i18nCatalog("cura") +if TYPE_CHECKING: + from .Script import Script + ## The post processing plugin is an Extension type plugin that enables pre-written scripts to post process generated # g-code files. class PostProcessingPlugin(QObject, Extension): - def __init__(self, parent = None): - super().__init__(parent) + def __init__(self, parent = None) -> None: + QObject.__init__(self, parent) + Extension.__init__(self) self.addMenuItem(i18n_catalog.i18n("Modify G-Code"), self.showPopup) self._view = None # Loaded scripts are all scripts that can be used - self._loaded_scripts = {} - self._script_labels = {} + self._loaded_scripts = {} # type: Dict[str, Type[Script]] + self._script_labels = {} # type: Dict[str, str] # Script list contains instances of scripts in loaded_scripts. # There can be duplicates, which will be executed in sequence. - self._script_list = [] + self._script_list = [] # type: List[Script] self._selected_script_index = -1 Application.getInstance().getOutputDeviceManager().writeStarted.connect(self.execute) - Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerStackChanged) #When the current printer changes, update the list of scripts. - Application.getInstance().mainWindowChanged.connect(self._createView) #When the main window is created, create the view so that we can display the post-processing icon if necessary. + Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerStackChanged) # When the current printer changes, update the list of scripts. + CuraApplication.getInstance().mainWindowChanged.connect(self._createView) # When the main window is created, create the view so that we can display the post-processing icon if necessary. selectedIndexChanged = pyqtSignal() - @pyqtProperty("QVariant", notify = selectedIndexChanged) - def selectedScriptDefinitionId(self): + + @pyqtProperty(str, notify = selectedIndexChanged) + def selectedScriptDefinitionId(self) -> Optional[str]: try: return self._script_list[self._selected_script_index].getDefinitionId() except: return "" - @pyqtProperty("QVariant", notify=selectedIndexChanged) - def selectedScriptStackId(self): + @pyqtProperty(str, notify=selectedIndexChanged) + def selectedScriptStackId(self) -> Optional[str]: try: return self._script_list[self._selected_script_index].getStackId() except: return "" ## Execute all post-processing scripts on the gcode. - def execute(self, output_device): + def execute(self, output_device) -> None: scene = Application.getInstance().getController().getScene() # If the scene does not have a gcode, do nothing if not hasattr(scene, "gcode_dict"): @@ -67,7 +75,7 @@ class PostProcessingPlugin(QObject, Extension): return # get gcode list for the active build plate - active_build_plate_id = Application.getInstance().getMultiBuildPlateModel().activeBuildPlate + active_build_plate_id = CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate gcode_list = gcode_dict[active_build_plate_id] if not gcode_list: return @@ -86,16 +94,17 @@ class PostProcessingPlugin(QObject, Extension): Logger.log("e", "Already post processed") @pyqtSlot(int) - def setSelectedScriptIndex(self, index): - self._selected_script_index = index - self.selectedIndexChanged.emit() + def setSelectedScriptIndex(self, index: int) -> None: + if self._selected_script_index != index: + self._selected_script_index = index + self.selectedIndexChanged.emit() @pyqtProperty(int, notify = selectedIndexChanged) - def selectedScriptIndex(self): + def selectedScriptIndex(self) -> int: return self._selected_script_index @pyqtSlot(int, int) - def moveScript(self, index, new_index): + def moveScript(self, index: int, new_index: int) -> None: if new_index < 0 or new_index > len(self._script_list) - 1: return # nothing needs to be done else: @@ -107,7 +116,7 @@ class PostProcessingPlugin(QObject, Extension): ## Remove a script from the active script list by index. @pyqtSlot(int) - def removeScriptByIndex(self, index): + def removeScriptByIndex(self, index: int) -> None: self._script_list.pop(index) if len(self._script_list) - 1 < self._selected_script_index: self._selected_script_index = len(self._script_list) - 1 @@ -118,14 +127,16 @@ class PostProcessingPlugin(QObject, Extension): ## Load all scripts from all paths where scripts can be found. # # This should probably only be done on init. - def loadAllScripts(self): - if self._loaded_scripts: #Already loaded. + def loadAllScripts(self) -> None: + if self._loaded_scripts: # Already loaded. return - #The PostProcessingPlugin path is for built-in scripts. - #The Resources path is where the user should store custom scripts. - #The Preferences path is legacy, where the user may previously have stored scripts. + # The PostProcessingPlugin path is for built-in scripts. + # The Resources path is where the user should store custom scripts. + # The Preferences path is legacy, where the user may previously have stored scripts. for root in [PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin"), Resources.getStoragePath(Resources.Resources), Resources.getStoragePath(Resources.Preferences)]: + if root is None: + continue path = os.path.join(root, "scripts") if not os.path.isdir(path): try: @@ -139,7 +150,7 @@ class PostProcessingPlugin(QObject, Extension): ## Load all scripts from provided path. # This should probably only be done on init. # \param path Path to check for scripts. - def loadScripts(self, path): + def loadScripts(self, path: str) -> None: ## Load all scripts in the scripts folders scripts = pkgutil.iter_modules(path = [path]) for loader, script_name, ispkg in scripts: @@ -148,6 +159,8 @@ class PostProcessingPlugin(QObject, Extension): try: spec = importlib.util.spec_from_file_location(__name__ + "." + script_name, os.path.join(path, script_name + ".py")) loaded_script = importlib.util.module_from_spec(spec) + if spec.loader is None: + continue spec.loader.exec_module(loaded_script) sys.modules[script_name] = loaded_script #TODO: This could be a security risk. Overwrite any module with a user-provided name? @@ -172,21 +185,21 @@ class PostProcessingPlugin(QObject, Extension): loadedScriptListChanged = pyqtSignal() @pyqtProperty("QVariantList", notify = loadedScriptListChanged) - def loadedScriptList(self): + def loadedScriptList(self) -> List[str]: return sorted(list(self._loaded_scripts.keys())) @pyqtSlot(str, result = str) - def getScriptLabelByKey(self, key): - return self._script_labels[key] + def getScriptLabelByKey(self, key: str) -> Optional[str]: + return self._script_labels.get(key) scriptListChanged = pyqtSignal() - @pyqtProperty("QVariantList", notify = scriptListChanged) - def scriptList(self): + @pyqtProperty("QStringList", notify = scriptListChanged) + def scriptList(self) -> List[str]: script_list = [script.getSettingData()["key"] for script in self._script_list] return script_list @pyqtSlot(str) - def addScriptToList(self, key): + def addScriptToList(self, key: str) -> None: Logger.log("d", "Adding script %s to list.", key) new_script = self._loaded_scripts[key]() new_script.initialize() @@ -197,82 +210,89 @@ class PostProcessingPlugin(QObject, Extension): ## When the global container stack is changed, swap out the list of active # scripts. - def _onGlobalContainerStackChanged(self): + def _onGlobalContainerStackChanged(self) -> None: self.loadAllScripts() new_stack = Application.getInstance().getGlobalContainerStack() + if new_stack is None: + return self._script_list.clear() - if not new_stack.getMetaDataEntry("post_processing_scripts"): #Missing or empty. - self.scriptListChanged.emit() #Even emit this if it didn't change. We want it to write the empty list to the stack's metadata. + if not new_stack.getMetaDataEntry("post_processing_scripts"): # Missing or empty. + self.scriptListChanged.emit() # Even emit this if it didn't change. We want it to write the empty list to the stack's metadata. return self._script_list.clear() scripts_list_strs = new_stack.getMetaDataEntry("post_processing_scripts") - for script_str in scripts_list_strs.split("\n"): #Encoded config files should never contain three newlines in a row. At most 2, just before section headers. - if not script_str: #There were no scripts in this one (or a corrupt file caused more than 3 consecutive newlines here). + for script_str in scripts_list_strs.split("\n"): # Encoded config files should never contain three newlines in a row. At most 2, just before section headers. + if not script_str: # There were no scripts in this one (or a corrupt file caused more than 3 consecutive newlines here). continue - script_str = script_str.replace(r"\\\n", "\n").replace(r"\\\\", "\\\\") #Unescape escape sequences. + script_str = script_str.replace(r"\\\n", "\n").replace(r"\\\\", "\\\\") # Unescape escape sequences. script_parser = configparser.ConfigParser(interpolation = None) - script_parser.optionxform = str #Don't transform the setting keys as they are case-sensitive. + script_parser.optionxform = str # type: ignore # Don't transform the setting keys as they are case-sensitive. script_parser.read_string(script_str) - for script_name, settings in script_parser.items(): #There should only be one, really! Otherwise we can't guarantee the order or allow multiple uses of the same script. - if script_name == "DEFAULT": #ConfigParser always has a DEFAULT section, but we don't fill it. Ignore this one. + for script_name, settings in script_parser.items(): # There should only be one, really! Otherwise we can't guarantee the order or allow multiple uses of the same script. + if script_name == "DEFAULT": # ConfigParser always has a DEFAULT section, but we don't fill it. Ignore this one. continue - if script_name not in self._loaded_scripts: #Don't know this post-processing plug-in. + if script_name not in self._loaded_scripts: # Don't know this post-processing plug-in. Logger.log("e", "Unknown post-processing script {script_name} was encountered in this global stack.".format(script_name = script_name)) continue new_script = self._loaded_scripts[script_name]() new_script.initialize() - for setting_key, setting_value in settings.items(): #Put all setting values into the script. - new_script._instance.setProperty(setting_key, "value", setting_value) + for setting_key, setting_value in settings.items(): # Put all setting values into the script. + if new_script._instance is not None: + new_script._instance.setProperty(setting_key, "value", setting_value) self._script_list.append(new_script) self.setSelectedScriptIndex(0) self.scriptListChanged.emit() @pyqtSlot() - def writeScriptsToStack(self): - script_list_strs = [] + def writeScriptsToStack(self) -> None: + script_list_strs = [] # type: List[str] for script in self._script_list: - parser = configparser.ConfigParser(interpolation = None) #We'll encode the script as a config with one section. The section header is the key and its values are the settings. - parser.optionxform = str #Don't transform the setting keys as they are case-sensitive. + parser = configparser.ConfigParser(interpolation = None) # We'll encode the script as a config with one section. The section header is the key and its values are the settings. + parser.optionxform = str # type: ignore # Don't transform the setting keys as they are case-sensitive. script_name = script.getSettingData()["key"] parser.add_section(script_name) for key in script.getSettingData()["settings"]: value = script.getSettingValueByKey(key) parser[script_name][key] = str(value) - serialized = io.StringIO() #ConfigParser can only write to streams. Fine. + serialized = io.StringIO() # ConfigParser can only write to streams. Fine. parser.write(serialized) serialized.seek(0) script_str = serialized.read() - script_str = script_str.replace("\\\\", r"\\\\").replace("\n", r"\\\n") #Escape newlines because configparser sees those as section delimiters. + script_str = script_str.replace("\\\\", r"\\\\").replace("\n", r"\\\n") # Escape newlines because configparser sees those as section delimiters. script_list_strs.append(script_str) - script_list_strs = "\n".join(script_list_strs) #ConfigParser should never output three newlines in a row when serialised, so it's a safe delimiter. + script_list_string = "\n".join(script_list_strs) # ConfigParser should never output three newlines in a row when serialised, so it's a safe delimiter. global_stack = Application.getInstance().getGlobalContainerStack() + if global_stack is None: + return + if "post_processing_scripts" not in global_stack.getMetaData(): global_stack.setMetaDataEntry("post_processing_scripts", "") - Application.getInstance().getGlobalContainerStack().setMetaDataEntry("post_processing_scripts", script_list_strs) + + global_stack.setMetaDataEntry("post_processing_scripts", script_list_string) ## Creates the view used by show popup. The view is saved because of the fairly aggressive garbage collection. - def _createView(self): + def _createView(self) -> None: Logger.log("d", "Creating post processing plugin view.") self.loadAllScripts() # Create the plugin dialog component - path = os.path.join(PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin"), "PostProcessingPlugin.qml") - self._view = Application.getInstance().createQmlComponent(path, {"manager": self}) + path = os.path.join(cast(str, PluginRegistry.getInstance().getPluginPath("PostProcessingPlugin")), "PostProcessingPlugin.qml") + self._view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) if self._view is None: Logger.log("e", "Not creating PostProcessing button near save button because the QML component failed to be created.") return Logger.log("d", "Post processing view created.") # Create the save button component - Application.getInstance().addAdditionalComponent("saveButton", self._view.findChild(QObject, "postProcessingSaveAreaButton")) + CuraApplication.getInstance().addAdditionalComponent("saveButton", self._view.findChild(QObject, "postProcessingSaveAreaButton")) ## Show the (GUI) popup of the post processing plugin. - def showPopup(self): + def showPopup(self) -> None: if self._view is None: self._createView() if self._view is None: @@ -284,8 +304,9 @@ class PostProcessingPlugin(QObject, Extension): # To do this we use the global container stack propertyChanged. # Re-slicing is necessary for setting changes in this plugin, because the changes # are applied only once per "fresh" gcode - def _propertyChanged(self): + def _propertyChanged(self) -> None: global_container_stack = Application.getInstance().getGlobalContainerStack() - global_container_stack.propertyChanged.emit("post_processing_plugin", "value") + if global_container_stack is not None: + global_container_stack.propertyChanged.emit("post_processing_plugin", "value") diff --git a/plugins/PostProcessingPlugin/Script.py b/plugins/PostProcessingPlugin/Script.py index b5211401c1..e502f107f9 100644 --- a/plugins/PostProcessingPlugin/Script.py +++ b/plugins/PostProcessingPlugin/Script.py @@ -1,6 +1,8 @@ # Copyright (c) 2015 Jaime van Kessel # Copyright (c) 2018 Ultimaker B.V. # The PostProcessingPlugin is released under the terms of the AGPLv3 or higher. +from typing import Optional, Any, Dict, TYPE_CHECKING, List + from UM.Signal import Signal, signalemitter from UM.i18n import i18nCatalog @@ -17,16 +19,20 @@ import json import collections i18n_catalog = i18nCatalog("cura") +if TYPE_CHECKING: + from UM.Settings.Interfaces import DefinitionContainerInterface + ## Base class for scripts. All scripts should inherit the script class. @signalemitter class Script: - def __init__(self): + def __init__(self) -> None: super().__init__() - self._settings = None - self._stack = None + self._stack = None # type: Optional[ContainerStack] + self._definition = None # type: Optional[DefinitionContainerInterface] + self._instance = None # type: Optional[InstanceContainer] - def initialize(self): + def initialize(self) -> None: setting_data = self.getSettingData() self._stack = ContainerStack(stack_id=str(id(self))) self._stack.setDirty(False) # This stack does not need to be saved. @@ -45,6 +51,8 @@ class Script: except ContainerFormatError: self._definition = None return + if self._definition is None: + return self._stack.addContainer(self._definition) self._instance = InstanceContainer(container_id="ScriptInstanceContainer") self._instance.setDefinition(self._definition.getId()) @@ -58,16 +66,17 @@ class Script: settingsLoaded = Signal() valueChanged = Signal() # Signal emitted whenever a value of a setting is changed - def _onPropertyChanged(self, key, property_name): + def _onPropertyChanged(self, key: str, property_name: str) -> None: if property_name == "value": self.valueChanged.emit() # Property changed: trigger reslice # To do this we use the global container stack propertyChanged. - # Reslicing is necessary for setting changes in this plugin, because the changes + # Re-slicing is necessary for setting changes in this plugin, because the changes # are applied only once per "fresh" gcode global_container_stack = Application.getInstance().getGlobalContainerStack() - global_container_stack.propertyChanged.emit(key, property_name) + if global_container_stack is not None: + global_container_stack.propertyChanged.emit(key, property_name) ## Needs to return a dict that can be used to construct a settingcategory file. # See the example script for an example. @@ -75,30 +84,35 @@ class Script: # Scripts can either override getSettingData directly, or use getSettingDataString # to return a string that will be parsed as json. The latter has the benefit over # returning a dict in that the order of settings is maintained. - def getSettingData(self): - setting_data = self.getSettingDataString() - if type(setting_data) == str: - setting_data = json.loads(setting_data, object_pairs_hook = collections.OrderedDict) + def getSettingData(self) -> Dict[str, Any]: + setting_data_as_string = self.getSettingDataString() + setting_data = json.loads(setting_data_as_string, object_pairs_hook = collections.OrderedDict) return setting_data - def getSettingDataString(self): + def getSettingDataString(self) -> str: raise NotImplementedError() - def getDefinitionId(self): + def getDefinitionId(self) -> Optional[str]: if self._stack: - return self._stack.getBottom().getId() + bottom = self._stack.getBottom() + if bottom is not None: + return bottom.getId() + return None - def getStackId(self): + def getStackId(self) -> Optional[str]: if self._stack: return self._stack.getId() + return None ## Convenience function that retrieves value of a setting from the stack. - def getSettingValueByKey(self, key): - return self._stack.getProperty(key, "value") + def getSettingValueByKey(self, key: str) -> Any: + if self._stack is not None: + return self._stack.getProperty(key, "value") + return None ## Convenience function that finds the value in a line of g-code. # When requesting key = x from line "G1 X100" the value 100 is returned. - def getValue(self, line, key, default = None): + def getValue(self, line: str, key: str, default = None) -> Any: if not key in line or (';' in line and line.find(key) > line.find(';')): return default sub_part = line[line.find(key) + 1:] @@ -126,7 +140,7 @@ class Script: # \param line The original g-code line that must be modified. If not # provided, an entirely new g-code line will be produced. # \return A line of g-code with the desired parameters filled in. - def putValue(self, line = "", **kwargs): + def putValue(self, line: str = "", **kwargs) -> str: #Strip the comment. comment = "" if ";" in line: @@ -167,5 +181,5 @@ class Script: ## This is called when the script is executed. # It gets a list of g-code strings and needs to return a (modified) list. - def execute(self, data): + def execute(self, data: List[str]) -> List[str]: raise NotImplementedError() From 7d7de32dbdd16ceb87a0bb7651a0ab43ebc5317b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 3 Oct 2018 16:53:07 +0200 Subject: [PATCH 178/423] Add ExtruderStack to GlobalStack in single extrusion machine fix --- cura/Settings/ExtruderManager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 9089ba96e9..2514e17075 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -374,6 +374,8 @@ class ExtruderManager(QObject): extruder_definition = container_registry.findDefinitionContainers(id = expected_extruder_definition_0_id)[0] extruder_stack_0.definition = extruder_definition + extruder_stack_0.setNextStack(global_stack) + ## Get all extruder values for a certain setting. # # This is exposed to qml for display purposes From 4ca63f84b815518f3bcc94eb37ed4e086630dd1d Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 2 Oct 2018 15:53:06 +0200 Subject: [PATCH 179/423] Add missing quote. Contributes to CURA-5741. --- resources/i18n/pl_PL/fdmprinter.def.json.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index 53aa32009e..a8b07e032c 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" "POT-Creation-Date: 2018-09-19 17:07+0000\n" "PO-Revision-Date: 2018-09-21 21:52+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" From d91d0fab10f1e26698599d1aa426c2d99ef5bbd3 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 3 Oct 2018 17:27:01 +0200 Subject: [PATCH 180/423] Fix SimulationView: missing import --- plugins/SimulationView/SimulationView.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/plugins/SimulationView/SimulationView.py b/plugins/SimulationView/SimulationView.py index aafbca0247..0ae8b4d9e4 100644 --- a/plugins/SimulationView/SimulationView.py +++ b/plugins/SimulationView/SimulationView.py @@ -24,7 +24,7 @@ from UM.Signal import Signal from UM.View.CompositePass import CompositePass from UM.View.GL.OpenGL import OpenGL from UM.View.GL.OpenGLContext import OpenGLContext - +from UM.View.GL.ShaderProgram import ShaderProgram from UM.View.View import View from UM.i18n import i18nCatalog @@ -42,8 +42,6 @@ from typing import Optional, TYPE_CHECKING, List, cast if TYPE_CHECKING: from UM.Scene.SceneNode import SceneNode from UM.Scene.Scene import Scene - from UM.View.GL.ShaderProgram import ShaderProgram - from UM.View.RenderPass import RenderPass from UM.Settings.ContainerStack import ContainerStack catalog = i18nCatalog("cura") From 61ffdf23d70d79857156020dcd1508496d036511 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 14:10:02 +0200 Subject: [PATCH 181/423] Fix MYPY/typing errors --- plugins/USBPrinting/USBPrinterOutputDevice.py | 3 +++ .../UpgradeFirmwareMachineAction.py | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 15136491f8..1fd2fdeb5c 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -100,6 +100,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): @pyqtSlot(str) def updateFirmware(self, file: Union[str, QUrl]) -> None: + if not self._firmware_updater: + return + self._firmware_updater.updateFirmware(file) ## Reset USB device settings diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py index 478ea9b6bb..8d03a15b38 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from UM.Application import Application +from cura.CuraApplication import CuraApplication from UM.Settings.DefinitionContainer import DefinitionContainer from cura.MachineAction import MachineAction from UM.i18n import i18nCatalog @@ -28,21 +28,21 @@ class UpgradeFirmwareMachineAction(MachineAction): self._active_output_device = None #type: Optional[PrinterOutputDevice] self._active_firmware_updater = None #type: Optional[FirmwareUpdater] - Application.getInstance().engineCreatedSignal.connect(self._onEngineCreated) + CuraApplication.getInstance().engineCreatedSignal.connect(self._onEngineCreated) def _onEngineCreated(self) -> None: - Application.getInstance().getMachineManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) + CuraApplication.getInstance().getMachineManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) def _onContainerAdded(self, container) -> None: # Add this action as a supported action to all machine definitions if they support USB connection if isinstance(container, DefinitionContainer) and container.getMetaDataEntry("type") == "machine" and container.getMetaDataEntry("supports_usb_connection"): - Application.getInstance().getMachineActionManager().addSupportedAction(container.getId(), self.getKey()) + CuraApplication.getInstance().getMachineActionManager().addSupportedAction(container.getId(), self.getKey()) def _onOutputDevicesChanged(self) -> None: if self._active_output_device: self._active_output_device.activePrinter.getController().canUpdateFirmwareChanged.disconnect(self._onControllerCanUpdateFirmwareChanged) - output_devices = Application.getInstance().getMachineManager().printerOutputDevices + output_devices = CuraApplication.getInstance().getMachineManager().printerOutputDevices self._active_output_device = output_devices[0] if output_devices else None if self._active_output_device: @@ -55,7 +55,7 @@ class UpgradeFirmwareMachineAction(MachineAction): outputDeviceCanUpdateFirmwareChanged = pyqtSignal() @pyqtProperty(QObject, notify = outputDeviceCanUpdateFirmwareChanged) - def firmwareUpdater(self) -> Optional["firmwareUpdater"]: + def firmwareUpdater(self) -> Optional["FirmwareUpdater"]: if self._active_output_device and self._active_output_device.activePrinter.getController().can_update_firmware: self._active_firmware_updater = self._active_output_device.getFirmwareUpdater() return self._active_firmware_updater From b7542a8ef8ff17491c1366e7ca5532ebc9e0c526 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 20:55:51 +0200 Subject: [PATCH 182/423] Move Firmware Updater into a plugin of its own --- .../FirmwareUpdaterMachineAction.py} | 4 ++-- .../FirmwareUpdaterMachineAction.qml} | 18 +++++++++--------- plugins/FirmwareUpdater/__init__.py | 13 +++++++++++++ plugins/FirmwareUpdater/plugin.json | 8 ++++++++ plugins/UltimakerMachineActions/__init__.py | 5 ----- resources/bundled_packages/cura.json | 17 +++++++++++++++++ 6 files changed, 49 insertions(+), 16 deletions(-) rename plugins/{UltimakerMachineActions/UpgradeFirmwareMachineAction.py => FirmwareUpdater/FirmwareUpdaterMachineAction.py} (96%) rename plugins/{UltimakerMachineActions/UpgradeFirmwareMachineAction.qml => FirmwareUpdater/FirmwareUpdaterMachineAction.qml} (92%) create mode 100644 plugins/FirmwareUpdater/__init__.py create mode 100644 plugins/FirmwareUpdater/plugin.json diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py similarity index 96% rename from plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py rename to plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py index 8d03a15b38..4faa3abc64 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py @@ -19,10 +19,10 @@ if MYPY: catalog = i18nCatalog("cura") ## Upgrade the firmware of a machine by USB with this action. -class UpgradeFirmwareMachineAction(MachineAction): +class FirmwareUpdaterMachineAction(MachineAction): def __init__(self) -> None: super().__init__("UpgradeFirmware", catalog.i18nc("@action", "Upgrade Firmware")) - self._qml_url = "UpgradeFirmwareMachineAction.qml" + self._qml_url = "FirmwareUpdaterMachineAction.qml" ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) self._active_output_device = None #type: Optional[PrinterOutputDevice] diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml similarity index 92% rename from plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml rename to plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml index 1c1f39edd0..ab5bb89347 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml @@ -20,7 +20,7 @@ Cura.MachineAction Column { - id: upgradeFirmwareMachineAction + id: firmwareUpdaterMachineAction anchors.fill: parent; UM.I18nCatalog { id: catalog; name:"cura"} spacing: UM.Theme.getSize("default_margin").height @@ -28,7 +28,7 @@ Cura.MachineAction Label { width: parent.width - text: catalog.i18nc("@title", "Upgrade Firmware") + text: catalog.i18nc("@title", "Update Firmware") wrapMode: Text.WordWrap font.pointSize: 18 } @@ -59,7 +59,7 @@ Cura.MachineAction enabled: parent.firmwareName != "" && canUpdateFirmware onClicked: { - firmwareUpdateWindow.visible = true; + updateProgressDialog.visible = true; activeOutputDevice.updateFirmware(parent.firmwareName); } } @@ -79,8 +79,8 @@ Cura.MachineAction { width: parent.width wrapMode: Text.WordWrap - visible: !printerConnected && !firmwareUpdateWindow.visible - text: catalog.i18nc("@label", "Firmware can not be upgraded because there is no connection with the printer."); + visible: !printerConnected && !updateProgressDialog.visible + text: catalog.i18nc("@label", "Firmware can not be updated because there is no connection with the printer."); } Label @@ -88,7 +88,7 @@ Cura.MachineAction width: parent.width wrapMode: Text.WordWrap visible: printerConnected && !canUpdateFirmware - text: catalog.i18nc("@label", "Firmware can not be upgraded because the connection with the printer does not support upgrading firmware."); + text: catalog.i18nc("@label", "Firmware can not be updated because the connection with the printer does not support upgrading firmware."); } } @@ -100,14 +100,14 @@ Cura.MachineAction selectExisting: true onAccepted: { - firmwareUpdateWindow.visible = true; + updateProgressDialog.visible = true; activeOutputDevice.updateFirmware(fileUrl); } } UM.Dialog { - id: firmwareUpdateWindow + id: updateProgressDialog width: minimumWidth minimumWidth: 500 * screenScaleFactor @@ -184,7 +184,7 @@ Cura.MachineAction { text: catalog.i18nc("@action:button","Close"); enabled: (manager.firmwareUpdater != null) ? manager.firmwareUpdater.firmwareUpdateState != 1 : true; - onClicked: firmwareUpdateWindow.visible = false; + onClicked: updateProgressDialog.visible = false; } ] } diff --git a/plugins/FirmwareUpdater/__init__.py b/plugins/FirmwareUpdater/__init__.py new file mode 100644 index 0000000000..58c351a4ea --- /dev/null +++ b/plugins/FirmwareUpdater/__init__.py @@ -0,0 +1,13 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from . import FirmwareUpdaterMachineAction + +def getMetaData(): + return { + } + +def register(app): + return { "machine_action": [ + FirmwareUpdaterMachineAction.FirmwareUpdaterMachineAction(), + ]} diff --git a/plugins/FirmwareUpdater/plugin.json b/plugins/FirmwareUpdater/plugin.json new file mode 100644 index 0000000000..3e09eab2b5 --- /dev/null +++ b/plugins/FirmwareUpdater/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Firmware Updater", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides a machine actions for updating firmware.", + "api": 5, + "i18n-catalog": "cura" +} diff --git a/plugins/UltimakerMachineActions/__init__.py b/plugins/UltimakerMachineActions/__init__.py index 495f212736..30493536ce 100644 --- a/plugins/UltimakerMachineActions/__init__.py +++ b/plugins/UltimakerMachineActions/__init__.py @@ -2,13 +2,9 @@ # Cura is released under the terms of the LGPLv3 or higher. from . import BedLevelMachineAction -from . import UpgradeFirmwareMachineAction from . import UMOUpgradeSelection from . import UM2UpgradeSelection -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - def getMetaData(): return { } @@ -16,7 +12,6 @@ def getMetaData(): def register(app): return { "machine_action": [ BedLevelMachineAction.BedLevelMachineAction(), - UpgradeFirmwareMachineAction.UpgradeFirmwareMachineAction(), UMOUpgradeSelection.UMOUpgradeSelection(), UM2UpgradeSelection.UM2UpgradeSelection() ]} diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 7107bbe4f0..ad97f3595b 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -118,6 +118,23 @@ } } }, + "FirmwareUpdater": { + "package_info": { + "package_id": "FirmwareUpdater", + "package_type": "plugin", + "display_name": "Firmware Updater", + "description": "Provides a machine actions for updating firmware.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com", + "author": { + "author_id": "Ultimaker", + "display_name": "Ultimaker B.V.", + "email": "plugins@ultimaker.com", + "website": "https://ultimaker.com" + } + } + }, "GCodeGzReader": { "package_info": { "package_id": "GCodeGzReader", From c2558f91dd26095ddb5d019f1fa07e1e5b67c1e1 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 21:00:23 +0200 Subject: [PATCH 183/423] Remove UpgradeFirmware as supported machine action... because the plugin adds itself as a supported action --- resources/definitions/makeit_pro_l.def.json | 1 - resources/definitions/makeit_pro_m.def.json | 1 - resources/definitions/tam.def.json | 1 - resources/definitions/ultimaker2.def.json | 2 +- resources/definitions/ultimaker2_extended_plus.def.json | 1 - resources/definitions/ultimaker2_go.def.json | 1 - resources/definitions/ultimaker2_plus.def.json | 1 - resources/definitions/ultimaker_original.def.json | 2 +- resources/definitions/ultimaker_original_dual.def.json | 2 +- resources/definitions/ultimaker_original_plus.def.json | 2 +- resources/definitions/wanhao_d6.def.json | 3 --- 11 files changed, 4 insertions(+), 13 deletions(-) diff --git a/resources/definitions/makeit_pro_l.def.json b/resources/definitions/makeit_pro_l.def.json index 2f9173c90e..d40d63f97b 100644 --- a/resources/definitions/makeit_pro_l.def.json +++ b/resources/definitions/makeit_pro_l.def.json @@ -8,7 +8,6 @@ "manufacturer": "NA", "file_formats": "text/x-gcode", "has_materials": false, - "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], "machine_extruder_trains": { "0": "makeit_l_dual_1st", diff --git a/resources/definitions/makeit_pro_m.def.json b/resources/definitions/makeit_pro_m.def.json index 0cd7b42df3..1f0381df86 100644 --- a/resources/definitions/makeit_pro_m.def.json +++ b/resources/definitions/makeit_pro_m.def.json @@ -8,7 +8,6 @@ "manufacturer": "NA", "file_formats": "text/x-gcode", "has_materials": false, - "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], "machine_extruder_trains": { "0": "makeit_dual_1st", diff --git a/resources/definitions/tam.def.json b/resources/definitions/tam.def.json index 9865abedda..0ed8d657a2 100644 --- a/resources/definitions/tam.def.json +++ b/resources/definitions/tam.def.json @@ -10,7 +10,6 @@ "platform": "tam_series1.stl", "platform_offset": [-580.0, -6.23, 253.5], "has_materials": false, - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "tam_extruder_0" diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index f367558df0..bbe61d49fb 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -17,7 +17,7 @@ "preferred_variant_name": "0.4 mm", "exclude_materials": ["generic_hips", "generic_petg", "generic_bam", "ultimaker_bam", "generic_pva", "ultimaker_pva", "generic_tough_pla", "ultimaker_tough_pla_black", "ultimaker_tough_pla_green", "ultimaker_tough_pla_red", "ultimaker_tough_pla_white"], "first_start_actions": ["UM2UpgradeSelection"], - "supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"], + "supported_actions":["UM2UpgradeSelection"], "machine_extruder_trains": { "0": "ultimaker2_extruder_0" diff --git a/resources/definitions/ultimaker2_extended_plus.def.json b/resources/definitions/ultimaker2_extended_plus.def.json index c296ecd43e..0242115057 100644 --- a/resources/definitions/ultimaker2_extended_plus.def.json +++ b/resources/definitions/ultimaker2_extended_plus.def.json @@ -10,7 +10,6 @@ "file_formats": "text/x-gcode", "platform": "ultimaker2_platform.obj", "platform_texture": "Ultimaker2ExtendedPlusbackplate.png", - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "ultimaker2_extended_plus_extruder_0" diff --git a/resources/definitions/ultimaker2_go.def.json b/resources/definitions/ultimaker2_go.def.json index 5301fd7db9..e2ad2b00a1 100644 --- a/resources/definitions/ultimaker2_go.def.json +++ b/resources/definitions/ultimaker2_go.def.json @@ -13,7 +13,6 @@ "platform_texture": "Ultimaker2Gobackplate.png", "platform_offset": [0, 0, 0], "first_start_actions": [], - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "ultimaker2_go_extruder_0" diff --git a/resources/definitions/ultimaker2_plus.def.json b/resources/definitions/ultimaker2_plus.def.json index 45019789bf..bf48353f59 100644 --- a/resources/definitions/ultimaker2_plus.def.json +++ b/resources/definitions/ultimaker2_plus.def.json @@ -15,7 +15,6 @@ "has_machine_materials": true, "has_machine_quality": true, "first_start_actions": [], - "supported_actions": ["UpgradeFirmware"], "machine_extruder_trains": { "0": "ultimaker2_plus_extruder_0" diff --git a/resources/definitions/ultimaker_original.def.json b/resources/definitions/ultimaker_original.def.json index bb21e4b82e..4714fc1217 100644 --- a/resources/definitions/ultimaker_original.def.json +++ b/resources/definitions/ultimaker_original.def.json @@ -14,7 +14,7 @@ "has_machine_quality": true, "exclude_materials": ["generic_hips", "generic_petg", "generic_bam", "ultimaker_bam", "generic_pva", "ultimaker_pva", "generic_tough_pla", "ultimaker_tough_pla_black", "ultimaker_tough_pla_green", "ultimaker_tough_pla_red", "ultimaker_tough_pla_white"], "first_start_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], - "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel", "UpgradeFirmware"], + "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], "machine_extruder_trains": { "0": "ultimaker_original_extruder_0" diff --git a/resources/definitions/ultimaker_original_dual.def.json b/resources/definitions/ultimaker_original_dual.def.json index 1ffb6e840b..0dc1cb3d2d 100644 --- a/resources/definitions/ultimaker_original_dual.def.json +++ b/resources/definitions/ultimaker_original_dual.def.json @@ -22,7 +22,7 @@ "firmware_file": "MarlinUltimaker-{baudrate}-dual.hex", "firmware_hbk_file": "MarlinUltimaker-HBK-{baudrate}-dual.hex", "first_start_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"], - "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel", "UpgradeFirmware"] + "supported_actions": ["UMOUpgradeSelection", "UMOCheckup", "BedLevel"] }, "overrides": { diff --git a/resources/definitions/ultimaker_original_plus.def.json b/resources/definitions/ultimaker_original_plus.def.json index 46d95f8028..01523f34b7 100644 --- a/resources/definitions/ultimaker_original_plus.def.json +++ b/resources/definitions/ultimaker_original_plus.def.json @@ -12,7 +12,7 @@ "platform_texture": "UltimakerPlusbackplate.png", "quality_definition": "ultimaker_original", "first_start_actions": ["UMOCheckup", "BedLevel"], - "supported_actions": ["UMOCheckup", "BedLevel", "UpgradeFirmware"], + "supported_actions": ["UMOCheckup", "BedLevel"], "machine_extruder_trains": { "0": "ultimaker_original_plus_extruder_0" diff --git a/resources/definitions/wanhao_d6.def.json b/resources/definitions/wanhao_d6.def.json index 6164f4d016..e269615c4a 100644 --- a/resources/definitions/wanhao_d6.def.json +++ b/resources/definitions/wanhao_d6.def.json @@ -18,9 +18,6 @@ 0, -28, 0 - ], - "supported_actions": [ - "UpgradeFirmware" ] }, "overrides": { From 9ac744b9ba33cacf767f9b9ba3873fef3bdb50bf Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 22:00:24 +0200 Subject: [PATCH 184/423] Remove unnecessary import and declaration of i18n in plugins --- plugins/3MFWriter/__init__.py | 2 +- plugins/ChangeLogPlugin/__init__.py | 2 -- plugins/FirmwareUpdateChecker/__init__.py | 4 ---- plugins/MachineSettingsAction/__init__.py | 2 -- plugins/ModelChecker/__init__.py | 5 +---- plugins/MonitorStage/__init__.py | 1 + plugins/PostProcessingPlugin/__init__.py | 6 +++--- plugins/RemovableDriveOutputDevice/__init__.py | 6 ++---- plugins/SliceInfoPlugin/__init__.py | 7 +++---- plugins/UM3NetworkPrinting/__init__.py | 3 --- plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py | 3 --- plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py | 3 --- plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py | 3 --- plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py | 3 --- plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py | 1 - plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py | 1 - plugins/XmlMaterialProfile/__init__.py | 3 --- 17 files changed, 11 insertions(+), 44 deletions(-) diff --git a/plugins/3MFWriter/__init__.py b/plugins/3MFWriter/__init__.py index 4b8a03888d..eff1648489 100644 --- a/plugins/3MFWriter/__init__.py +++ b/plugins/3MFWriter/__init__.py @@ -12,7 +12,7 @@ from . import ThreeMFWorkspaceWriter from UM.i18n import i18nCatalog from UM.Platform import Platform -i18n_catalog = i18nCatalog("uranium") +i18n_catalog = i18nCatalog("cura") def getMetaData(): workspace_extension = "3mf" diff --git a/plugins/ChangeLogPlugin/__init__.py b/plugins/ChangeLogPlugin/__init__.py index 97d9e411e5..a5452b60c8 100644 --- a/plugins/ChangeLogPlugin/__init__.py +++ b/plugins/ChangeLogPlugin/__init__.py @@ -3,8 +3,6 @@ from . import ChangeLog -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") def getMetaData(): return {} diff --git a/plugins/FirmwareUpdateChecker/__init__.py b/plugins/FirmwareUpdateChecker/__init__.py index 3fae15e826..892c9c0320 100644 --- a/plugins/FirmwareUpdateChecker/__init__.py +++ b/plugins/FirmwareUpdateChecker/__init__.py @@ -1,12 +1,8 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from UM.i18n import i18nCatalog - from . import FirmwareUpdateChecker -i18n_catalog = i18nCatalog("cura") - def getMetaData(): return {} diff --git a/plugins/MachineSettingsAction/__init__.py b/plugins/MachineSettingsAction/__init__.py index b1c4a75fec..ff80a12551 100644 --- a/plugins/MachineSettingsAction/__init__.py +++ b/plugins/MachineSettingsAction/__init__.py @@ -3,8 +3,6 @@ from . import MachineSettingsAction -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") def getMetaData(): return {} diff --git a/plugins/ModelChecker/__init__.py b/plugins/ModelChecker/__init__.py index 5f4d443729..dffee21723 100644 --- a/plugins/ModelChecker/__init__.py +++ b/plugins/ModelChecker/__init__.py @@ -1,11 +1,8 @@ # Copyright (c) 2018 Ultimaker B.V. -# This example is released under the terms of the AGPLv3 or higher. +# Cura is released under the terms of the LGPLv3 or higher. from . import ModelChecker -from UM.i18n import i18nCatalog -i18n_catalog = i18nCatalog("cura") - def getMetaData(): return {} diff --git a/plugins/MonitorStage/__init__.py b/plugins/MonitorStage/__init__.py index 884d43a8af..bdaf53a36c 100644 --- a/plugins/MonitorStage/__init__.py +++ b/plugins/MonitorStage/__init__.py @@ -3,6 +3,7 @@ from . import MonitorStage + from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") diff --git a/plugins/PostProcessingPlugin/__init__.py b/plugins/PostProcessingPlugin/__init__.py index 85f1126136..8064d1132a 100644 --- a/plugins/PostProcessingPlugin/__init__.py +++ b/plugins/PostProcessingPlugin/__init__.py @@ -2,10 +2,10 @@ # The PostProcessingPlugin is released under the terms of the AGPLv3 or higher. from . import PostProcessingPlugin -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") + + def getMetaData(): return {} - + def register(app): return {"extension": PostProcessingPlugin.PostProcessingPlugin()} \ No newline at end of file diff --git a/plugins/RemovableDriveOutputDevice/__init__.py b/plugins/RemovableDriveOutputDevice/__init__.py index dc547b7bcc..1758801f8a 100644 --- a/plugins/RemovableDriveOutputDevice/__init__.py +++ b/plugins/RemovableDriveOutputDevice/__init__.py @@ -3,12 +3,10 @@ from UM.Platform import Platform from UM.Logger import Logger -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") + def getMetaData(): - return { - } + return {} def register(app): if Platform.isWindows(): diff --git a/plugins/SliceInfoPlugin/__init__.py b/plugins/SliceInfoPlugin/__init__.py index 7f1dfa5336..440ca8ec40 100644 --- a/plugins/SliceInfoPlugin/__init__.py +++ b/plugins/SliceInfoPlugin/__init__.py @@ -1,12 +1,11 @@ # Copyright (c) 2015 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. + from . import SliceInfo -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") + def getMetaData(): - return { - } + return {} def register(app): return { "extension": SliceInfo.SliceInfo()} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/__init__.py b/plugins/UM3NetworkPrinting/__init__.py index 7f2b34223c..e2ad5a2b12 100644 --- a/plugins/UM3NetworkPrinting/__init__.py +++ b/plugins/UM3NetworkPrinting/__init__.py @@ -2,9 +2,6 @@ # Cura is released under the terms of the LGPLv3 or higher. from .src import DiscoverUM3Action -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - from .src import UM3OutputDevicePlugin def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py index 435621ec54..609781ebfe 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade21to22 -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade21to22.VersionUpgrade21to22() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py index fbdbf92a4b..278b660ec1 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade.VersionUpgrade22to24() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py index 1419325cc1..67aa73233f 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade25to26 -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade25to26.VersionUpgrade25to26() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py index 79ed5e8b68..0e26ca8bbf 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/__init__.py @@ -3,9 +3,6 @@ from . import VersionUpgrade26to27 -from UM.i18n import i18nCatalog -catalog = i18nCatalog("cura") - upgrade = VersionUpgrade26to27.VersionUpgrade26to27() def getMetaData(): diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py index 4faa1290b5..8213f195d5 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py @@ -5,7 +5,6 @@ from . import VersionUpgrade33to34 upgrade = VersionUpgrade33to34.VersionUpgrade33to34() - def getMetaData(): return { "version_upgrade": { diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py index 9d3410e40d..de0fdccb7d 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py @@ -5,7 +5,6 @@ from . import VersionUpgrade34to35 upgrade = VersionUpgrade34to35.VersionUpgrade34to35() - def getMetaData(): return { "version_upgrade": { diff --git a/plugins/XmlMaterialProfile/__init__.py b/plugins/XmlMaterialProfile/__init__.py index 70a359ee76..e8bde78424 100644 --- a/plugins/XmlMaterialProfile/__init__.py +++ b/plugins/XmlMaterialProfile/__init__.py @@ -5,10 +5,7 @@ from . import XmlMaterialProfile from . import XmlMaterialUpgrader from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase -from UM.i18n import i18nCatalog - -catalog = i18nCatalog("cura") upgrader = XmlMaterialUpgrader.XmlMaterialUpgrader() From 0f46e7d6941992911bf44f9dcd3cd3277bae3299 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Wed, 3 Oct 2018 22:09:13 +0200 Subject: [PATCH 185/423] Add Anycubic 4Max profile --- resources/definitions/anycubic_4max.def.json | 65 ++++++++++++++++++ .../anycubic_4max_extruder_0.def.json | 16 +++++ resources/meshes/anycubic_4max_platform.stl | Bin 0 -> 2284 bytes .../anycubic_4max_draft.inst.cfg | 60 ++++++++++++++++ .../anycubic_4max/anycubic_4max_high.inst.cfg | 60 ++++++++++++++++ .../anycubic_4max_normal.inst.cfg | 60 ++++++++++++++++ 6 files changed, 261 insertions(+) create mode 100644 resources/definitions/anycubic_4max.def.json create mode 100644 resources/extruders/anycubic_4max_extruder_0.def.json create mode 100644 resources/meshes/anycubic_4max_platform.stl create mode 100644 resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json new file mode 100644 index 0000000000..65e75b8bca --- /dev/null +++ b/resources/definitions/anycubic_4max.def.json @@ -0,0 +1,65 @@ +{ + "version": 2, + "name": "Anycubic 4max", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "Jason Scurtu", + "manufacturer": "Anycubic", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2", + "platform": "anycubic_4max_platform.stl", + "has_materials": true, + "has_machine_quality": true, + "preferred_quality_type": "normal", + "machine_extruder_trains": + { + "0": "anycubic_4max_extruder_0" + } + }, + + "overrides": + { + "machine_name": + { + "default_value": "Anycubic 4Max" + }, + "machine_heated_bed": + { + "default_value": true + }, + "machine_width": + { + "default_value": 210 + }, + "machine_height": + { + "default_value": 300 + }, + "machine_depth": + { + "default_value": 210 + }, + "machine_center_is_zero": + { + "default_value": false + }, + "gantry_height": + { + "default_value": 0 + }, + "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 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;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 F{speed_travel}\nM117 Printing...\nG5" + }, + "machine_end_gcode": + { + "default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000" + } + } +} diff --git a/resources/extruders/anycubic_4max_extruder_0.def.json b/resources/extruders/anycubic_4max_extruder_0.def.json new file mode 100644 index 0000000000..5c2ab8d479 --- /dev/null +++ b/resources/extruders/anycubic_4max_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "id": "anycubic_4max_extruder_0", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "anycubic_4max", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/meshes/anycubic_4max_platform.stl b/resources/meshes/anycubic_4max_platform.stl new file mode 100644 index 0000000000000000000000000000000000000000..cc3651b9f3acd67fa5ba55233ca0af407b90e003 GIT binary patch literal 2284 zcma)-Jx&8b4235W2iXHqgzzV&LL*8Fq=2X+lp+NbQRq{0oD}Ja_5@K5!Wpoi?OA8m zB%w01^NruLJ(JhP^mG38(M(>R-WK!aY|%`n%jSC6JkH*m(eUcN8D5QVZpWj$bk^Tx zwQI26<&^gAAU$t6{{7yyDXq4Hv`5VAhlqW-NDn`b*w{(Dew^TZMqBQffGSmTl4x1G z`aldHYxX1l!W`K-r%I4>sR-69LeEkqmSaN|K^!>ugxh6AP+g~<4T3DIF8qHSR%2 zXlFxJ*%L0N3P^8y&iPAL=S94GD|?V__wpXJWG-W*p|(eXX!T5%4Wa8%T0H>}k`bt^ia zDDh!nxIT72*oV3e BxSs$3 literal 0 HcmV?d00001 diff --git a/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg new file mode 100644 index 0000000000..238197307e --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg @@ -0,0 +1,60 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 + +[values] +acceleration_enabled = True +acceleration_print = 1800 +acceleration_travel = 3000 +adhesion_type = skirt +brim_width = 4.0 +cool_fan_full_at_height = 0.5 +cool_fan_speed = 100 +cool_fan_speed_0 = 100 +infill_overlap = 15 +infill_pattern = zigzag +infill_sparse_density = 25 +initial_layer_line_width_factor = 140 +jerk_enabled = True +jerk_print = 8 +jerk_travel = 10 +layer_height = 0.3 +layer_height_0 = 0.3 +material_bed_temperature = 60 +material_diameter = 1.75 +material_print_temperature = 200 +material_print_temperature_layer_0 = 0 +retract_at_layer_change = False +retraction_amount = 6 +retraction_hop = 0.075 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 1.5 +retraction_speed = 40 +skirt_brim_speed = 40 +skirt_gap = 5 +skirt_line_count = 3 +speed_infill = =speed_print +speed_print = 60 +speed_support = 60 +speed_topbottom = =math.ceil(speed_print * 30 / 60) +speed_travel = 100 +speed_wall = =speed_print +speed_wall_x = =speed_print +support_angle = 60 +support_enable = True +support_interface_enable = True +support_pattern = triangles +support_roof_enable = True +support_type = everywhere +support_use_towers = False +support_xy_distance = 0.7 +top_bottom_thickness = 1.2 +wall_thickness = 1.2 diff --git a/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg new file mode 100644 index 0000000000..b931f92b79 --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg @@ -0,0 +1,60 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 + +[values] +acceleration_enabled = True +acceleration_print = 1800 +acceleration_travel = 3000 +adhesion_type = skirt +brim_width = 4.0 +cool_fan_full_at_height = 0.5 +cool_fan_speed = 100 +cool_fan_speed_0 = 100 +infill_overlap = 15 +infill_pattern = zigzag +infill_sparse_density = 25 +initial_layer_line_width_factor = 140 +jerk_enabled = True +jerk_print = 8 +jerk_travel = 10 +layer_height = 0.1 +layer_height_0 = 0.1 +material_bed_temperature = 60 +material_diameter = 1.75 +material_print_temperature = 200 +material_print_temperature_layer_0 = 0 +retract_at_layer_change = False +retraction_amount = 6 +retraction_hop = 0.075 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 1.5 +retraction_speed = 40 +skirt_brim_speed = 40 +skirt_gap = 5 +skirt_line_count = 3 +speed_infill = =speed_print +speed_print = 50 +speed_support = 30 +speed_topbottom = =math.ceil(speed_print * 20 / 50) +speed_travel = 50 +speed_wall = =speed_print +speed_wall_x = =speed_print +support_angle = 60 +support_enable = True +support_interface_enable = True +support_pattern = triangles +support_roof_enable = True +support_type = everywhere +support_use_towers = False +support_xy_distance = 0.7 +top_bottom_thickness = 1.2 +wall_thickness = 1.2 diff --git a/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg new file mode 100644 index 0000000000..2fe70733e7 --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg @@ -0,0 +1,60 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 + +[values] +acceleration_enabled = True +acceleration_print = 1800 +acceleration_travel = 3000 +adhesion_type = skirt +brim_width = 4.0 +cool_fan_full_at_height = 0.5 +cool_fan_speed = 100 +cool_fan_speed_0 = 100 +infill_overlap = 15 +infill_pattern = zigzag +infill_sparse_density = 25 +initial_layer_line_width_factor = 140 +jerk_enabled = True +jerk_print = 8 +jerk_travel = 10 +layer_height = 0.2 +layer_height_0 = 0.2 +material_bed_temperature = 60 +material_diameter = 1.75 +material_print_temperature = 200 +material_print_temperature_layer_0 = 0 +retract_at_layer_change = False +retraction_amount = 6 +retraction_hop = 0.075 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 1.5 +retraction_speed = 40 +skirt_brim_speed = 40 +skirt_gap = 5 +skirt_line_count = 3 +speed_infill = =speed_print +speed_print = 50 +speed_support = 30 +speed_topbottom = =math.ceil(speed_print * 20 / 50) +speed_travel = 100 +speed_wall = =speed_print +speed_wall_x = =speed_print +support_angle = 60 +support_enable = True +support_interface_enable = True +support_pattern = triangles +support_roof_enable = True +support_type = everywhere +support_use_towers = False +support_xy_distance = 0.7 +top_bottom_thickness = 1.2 +wall_thickness = 1.2 From 477862d779b5f590ec16d223e917582579c7972c Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 3 Oct 2018 23:07:37 +0200 Subject: [PATCH 186/423] Fix code style and unused imports --- plugins/FirmwareUpdater/__init__.py | 5 ++--- plugins/USBPrinting/__init__.py | 3 --- plugins/UltimakerMachineActions/__init__.py | 5 ++--- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/plugins/FirmwareUpdater/__init__.py b/plugins/FirmwareUpdater/__init__.py index 58c351a4ea..5a008d7d15 100644 --- a/plugins/FirmwareUpdater/__init__.py +++ b/plugins/FirmwareUpdater/__init__.py @@ -4,10 +4,9 @@ from . import FirmwareUpdaterMachineAction def getMetaData(): - return { - } + return {} def register(app): return { "machine_action": [ - FirmwareUpdaterMachineAction.FirmwareUpdaterMachineAction(), + FirmwareUpdaterMachineAction.FirmwareUpdaterMachineAction() ]} diff --git a/plugins/USBPrinting/__init__.py b/plugins/USBPrinting/__init__.py index 0cb68d3865..075ad2943b 100644 --- a/plugins/USBPrinting/__init__.py +++ b/plugins/USBPrinting/__init__.py @@ -2,9 +2,6 @@ # Cura is released under the terms of the LGPLv3 or higher. from . import USBPrinterOutputDeviceManager -from PyQt5.QtQml import qmlRegisterSingletonType -from UM.i18n import i18nCatalog -i18n_catalog = i18nCatalog("cura") def getMetaData(): diff --git a/plugins/UltimakerMachineActions/__init__.py b/plugins/UltimakerMachineActions/__init__.py index 30493536ce..e87949580a 100644 --- a/plugins/UltimakerMachineActions/__init__.py +++ b/plugins/UltimakerMachineActions/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from . import BedLevelMachineAction @@ -6,8 +6,7 @@ from . import UMOUpgradeSelection from . import UM2UpgradeSelection def getMetaData(): - return { - } + return {} def register(app): return { "machine_action": [ From 4d4f8d73583ab857da5e2b4fe4838b03bc725787 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Thu, 4 Oct 2018 09:44:24 +0200 Subject: [PATCH 187/423] Disable has_machine_quality for now.. Needs more adjustment --- resources/definitions/anycubic_4max.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json index 65e75b8bca..222b90a70e 100644 --- a/resources/definitions/anycubic_4max.def.json +++ b/resources/definitions/anycubic_4max.def.json @@ -11,7 +11,7 @@ "icon": "icon_ultimaker2", "platform": "anycubic_4max_platform.stl", "has_materials": true, - "has_machine_quality": true, + "has_machine_quality": false, "preferred_quality_type": "normal", "machine_extruder_trains": { From 436860f84167a7544a17a141e987c13a38e420a5 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Thu, 4 Oct 2018 11:36:02 +0200 Subject: [PATCH 188/423] Don't show prime tower shadow if only one extruder is enabled CURA-5740 --- cura/BuildVolume.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 9d2f5c1f90..547c3dae71 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -718,21 +718,23 @@ class BuildVolume(SceneNode): # Add prime tower location as disallowed area. if len(used_extruders) > 1: #No prime tower in single-extrusion. - prime_tower_collision = False - prime_tower_areas = self._computeDisallowedAreasPrinted(used_extruders) - for extruder_id in prime_tower_areas: - for prime_tower_area in prime_tower_areas[extruder_id]: - for area in result_areas[extruder_id]: - if prime_tower_area.intersectsPolygon(area) is not None: - prime_tower_collision = True + + if len([x for x in used_extruders if x.isEnabled == True]) > 1: #No prime tower if only one extruder is enabled + prime_tower_collision = False + prime_tower_areas = self._computeDisallowedAreasPrinted(used_extruders) + for extruder_id in prime_tower_areas: + for prime_tower_area in prime_tower_areas[extruder_id]: + for area in result_areas[extruder_id]: + if prime_tower_area.intersectsPolygon(area) is not None: + prime_tower_collision = True + break + if prime_tower_collision: #Already found a collision. break - if prime_tower_collision: #Already found a collision. - break - if not prime_tower_collision: - result_areas[extruder_id].extend(prime_tower_areas[extruder_id]) - result_areas_no_brim[extruder_id].extend(prime_tower_areas[extruder_id]) - else: - self._error_areas.extend(prime_tower_areas[extruder_id]) + if not prime_tower_collision: + result_areas[extruder_id].extend(prime_tower_areas[extruder_id]) + result_areas_no_brim[extruder_id].extend(prime_tower_areas[extruder_id]) + else: + self._error_areas.extend(prime_tower_areas[extruder_id]) self._has_errors = len(self._error_areas) > 0 From 28dc32adaba8e9bae6361ba06fb0872b4a275530 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 4 Oct 2018 11:47:51 +0200 Subject: [PATCH 189/423] Fix typing in GenericOutputController --- cura/PrinterOutput/GenericOutputController.py | 65 ++++++++++--------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index c8caa85caf..9434feea62 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import TYPE_CHECKING, Union +from typing import TYPE_CHECKING, Set, Union, Optional from cura.PrinterOutput.PrinterOutputController import PrinterOutputController from PyQt5.QtCore import QTimer @@ -9,27 +9,28 @@ from PyQt5.QtCore import QTimer if TYPE_CHECKING: from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel + from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice from cura.PrinterOutput.ExtruderOutputModel import ExtruderOutputModel class GenericOutputController(PrinterOutputController): - def __init__(self, output_device): + def __init__(self, output_device: "PrinterOutputDevice") -> None: super().__init__(output_device) self._preheat_bed_timer = QTimer() self._preheat_bed_timer.setSingleShot(True) self._preheat_bed_timer.timeout.connect(self._onPreheatBedTimerFinished) - self._preheat_printer = None + self._preheat_printer = None #type: Optional[PrinterOutputModel] self._preheat_hotends_timer = QTimer() self._preheat_hotends_timer.setSingleShot(True) self._preheat_hotends_timer.timeout.connect(self._onPreheatHotendsTimerFinished) - self._preheat_hotends = set() + self._preheat_hotends = set() #type: Set[ExtruderOutputModel] self._output_device.printersChanged.connect(self._onPrintersChanged) - self._active_printer = None + self._active_printer = None #type: Optional[PrinterOutputModel] - def _onPrintersChanged(self): + def _onPrintersChanged(self) -> None: if self._active_printer: self._active_printer.stateChanged.disconnect(self._onPrinterStateChanged) self._active_printer.targetBedTemperatureChanged.disconnect(self._onTargetBedTemperatureChanged) @@ -43,32 +44,33 @@ class GenericOutputController(PrinterOutputController): for extruder in self._active_printer.extruders: extruder.targetHotendTemperatureChanged.connect(self._onTargetHotendTemperatureChanged) - def _onPrinterStateChanged(self): - if self._active_printer.state != "idle": + def _onPrinterStateChanged(self) -> None: + if self._active_printer and self._active_printer.state != "idle": if self._preheat_bed_timer.isActive(): self._preheat_bed_timer.stop() - self._preheat_printer.updateIsPreheating(False) + if self._preheat_printer: + self._preheat_printer.updateIsPreheating(False) if self._preheat_hotends_timer.isActive(): self._preheat_hotends_timer.stop() for extruder in self._preheat_hotends: extruder.updateIsPreheating(False) - self._preheat_hotends = set() + self._preheat_hotends = set() #type: Set[ExtruderOutputModel] - def moveHead(self, printer: "PrinterOutputModel", x, y, z, speed): + def moveHead(self, printer: "PrinterOutputModel", x, y, z, speed) -> None: self._output_device.sendCommand("G91") self._output_device.sendCommand("G0 X%s Y%s Z%s F%s" % (x, y, z, speed)) self._output_device.sendCommand("G90") - def homeHead(self, printer): + def homeHead(self, printer: "PrinterOutputModel") -> None: self._output_device.sendCommand("G28 X Y") - def homeBed(self, printer): + def homeBed(self, printer: "PrinterOutputModel") -> None: self._output_device.sendCommand("G28 Z") - def sendRawCommand(self, printer: "PrinterOutputModel", command: str): + def sendRawCommand(self, printer: "PrinterOutputModel", command: str) -> None: self._output_device.sendCommand(command.upper()) #Most printers only understand uppercase g-code commands. - def setJobState(self, job: "PrintJobOutputModel", state: str): + def setJobState(self, job: "PrintJobOutputModel", state: str) -> None: if state == "pause": self._output_device.pausePrint() job.updateState("paused") @@ -79,15 +81,15 @@ class GenericOutputController(PrinterOutputController): self._output_device.cancelPrint() pass - def setTargetBedTemperature(self, printer: "PrinterOutputModel", temperature: int): + def setTargetBedTemperature(self, printer: "PrinterOutputModel", temperature: int) -> None: self._output_device.sendCommand("M140 S%s" % temperature) - def _onTargetBedTemperatureChanged(self): - if self._preheat_bed_timer.isActive() and self._preheat_printer.targetBedTemperature == 0: + def _onTargetBedTemperatureChanged(self) -> None: + if self._preheat_bed_timer.isActive() and self._preheat_printer and self._preheat_printer.targetBedTemperature == 0: self._preheat_bed_timer.stop() self._preheat_printer.updateIsPreheating(False) - def preheatBed(self, printer: "PrinterOutputModel", temperature, duration): + def preheatBed(self, printer: "PrinterOutputModel", temperature, duration) -> None: try: temperature = round(temperature) # The API doesn't allow floating point. duration = round(duration) @@ -100,21 +102,25 @@ class GenericOutputController(PrinterOutputController): self._preheat_printer = printer printer.updateIsPreheating(True) - def cancelPreheatBed(self, printer: "PrinterOutputModel"): + def cancelPreheatBed(self, printer: "PrinterOutputModel") -> None: self.setTargetBedTemperature(printer, temperature=0) self._preheat_bed_timer.stop() printer.updateIsPreheating(False) - def _onPreheatBedTimerFinished(self): + def _onPreheatBedTimerFinished(self) -> None: + if not self._preheat_printer: + return self.setTargetBedTemperature(self._preheat_printer, 0) self._preheat_printer.updateIsPreheating(False) def setTargetHotendTemperature(self, printer: "PrinterOutputModel", position: int, temperature: Union[int, float]) -> None: self._output_device.sendCommand("M104 S%s T%s" % (temperature, position)) - def _onTargetHotendTemperatureChanged(self): + def _onTargetHotendTemperatureChanged(self) -> None: if not self._preheat_hotends_timer.isActive(): return + if not self._active_printer: + return for extruder in self._active_printer.extruders: if extruder in self._preheat_hotends and extruder.targetHotendTemperature == 0: @@ -123,7 +129,7 @@ class GenericOutputController(PrinterOutputController): if not self._preheat_hotends: self._preheat_hotends_timer.stop() - def preheatHotend(self, extruder: "ExtruderOutputModel", temperature, duration): + def preheatHotend(self, extruder: "ExtruderOutputModel", temperature, duration) -> None: position = extruder.getPosition() number_of_extruders = len(extruder.getPrinter().extruders) if position >= number_of_extruders: @@ -141,7 +147,7 @@ class GenericOutputController(PrinterOutputController): self._preheat_hotends.add(extruder) extruder.updateIsPreheating(True) - def cancelPreheatHotend(self, extruder: "ExtruderOutputModel"): + def cancelPreheatHotend(self, extruder: "ExtruderOutputModel") -> None: self.setTargetHotendTemperature(extruder.getPrinter(), extruder.getPosition(), temperature=0) if extruder in self._preheat_hotends: extruder.updateIsPreheating(False) @@ -149,21 +155,22 @@ class GenericOutputController(PrinterOutputController): if not self._preheat_hotends and self._preheat_hotends_timer.isActive(): self._preheat_hotends_timer.stop() - def _onPreheatHotendsTimerFinished(self): + def _onPreheatHotendsTimerFinished(self) -> None: for extruder in self._preheat_hotends: self.setTargetHotendTemperature(extruder.getPrinter(), extruder.getPosition(), 0) - self._preheat_hotends = set() + self._preheat_hotends = set() #type: Set[ExtruderOutputModel] # Cancel any ongoing preheating timers, without setting back the temperature to 0 # This can be used eg at the start of a print - def stopPreheatTimers(self): + def stopPreheatTimers(self) -> None: if self._preheat_hotends_timer.isActive(): for extruder in self._preheat_hotends: extruder.updateIsPreheating(False) - self._preheat_hotends = set() + self._preheat_hotends = set() #type: Set[ExtruderOutputModel] self._preheat_hotends_timer.stop() if self._preheat_bed_timer.isActive(): - self._preheat_printer.updateIsPreheating(False) + if self._preheat_printer: + self._preheat_printer.updateIsPreheating(False) self._preheat_bed_timer.stop() From 5b2dc804cac706537f7daf5bd0d6c24bf4e3b5d8 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 4 Oct 2018 12:32:42 +0200 Subject: [PATCH 190/423] Fix a crash when adding a printer part of a cluster --- plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py index 4faa3abc64..4a172b6557 100644 --- a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py @@ -39,13 +39,13 @@ class FirmwareUpdaterMachineAction(MachineAction): CuraApplication.getInstance().getMachineActionManager().addSupportedAction(container.getId(), self.getKey()) def _onOutputDevicesChanged(self) -> None: - if self._active_output_device: + if self._active_output_device and self._active_output_device.activePrinter: self._active_output_device.activePrinter.getController().canUpdateFirmwareChanged.disconnect(self._onControllerCanUpdateFirmwareChanged) output_devices = CuraApplication.getInstance().getMachineManager().printerOutputDevices self._active_output_device = output_devices[0] if output_devices else None - if self._active_output_device: + if self._active_output_device and self._active_output_device.activePrinter: self._active_output_device.activePrinter.getController().canUpdateFirmwareChanged.connect(self._onControllerCanUpdateFirmwareChanged) self.outputDeviceCanUpdateFirmwareChanged.emit() From 04bca109ba67404081f069da488832c027a51571 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 4 Oct 2018 12:48:35 +0200 Subject: [PATCH 191/423] Fix update/upgrade consistency --- plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py index 4a172b6557..981fb819eb 100644 --- a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py @@ -21,7 +21,7 @@ catalog = i18nCatalog("cura") ## Upgrade the firmware of a machine by USB with this action. class FirmwareUpdaterMachineAction(MachineAction): def __init__(self) -> None: - super().__init__("UpgradeFirmware", catalog.i18nc("@action", "Upgrade Firmware")) + super().__init__("UpgradeFirmware", catalog.i18nc("@action", "Update Firmware")) self._qml_url = "FirmwareUpdaterMachineAction.qml" ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) From 110d2daa81e6e28cbfe420974cbeefb4c561e921 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 4 Oct 2018 15:54:22 +0200 Subject: [PATCH 192/423] [CURA-5775] The snaphot-creation of the UFP-writer should only be called when writing to UFP-files. --- plugins/UFPWriter/UFPWriter.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/UFPWriter/UFPWriter.py b/plugins/UFPWriter/UFPWriter.py index d318a0e77d..b3088fc863 100644 --- a/plugins/UFPWriter/UFPWriter.py +++ b/plugins/UFPWriter/UFPWriter.py @@ -27,14 +27,13 @@ class UFPWriter(MeshWriter): MimeTypeDatabase.addMimeType( MimeType( - name = "application/x-cura-stl-file", + name = "application/x-ufp", comment = "Cura UFP File", suffixes = ["ufp"] ) ) self._snapshot = None - Application.getInstance().getOutputDeviceManager().writeStarted.connect(self._createSnapshot) def _createSnapshot(self, *args): # must be called from the main thread because of OpenGL @@ -62,6 +61,8 @@ class UFPWriter(MeshWriter): gcode.write(gcode_textio.getvalue().encode("UTF-8")) archive.addRelation(virtual_path = "/3D/model.gcode", relation_type = "http://schemas.ultimaker.org/package/2018/relationships/gcode") + self._createSnapshot() + #Store the thumbnail. if self._snapshot: archive.addContentType(extension = "png", mime_type = "image/png") From 6abd43f6903c7e0e1f3509a5ffacb27d22115882 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 4 Oct 2018 17:37:28 +0200 Subject: [PATCH 193/423] Add Polish to the list of available languages. Forgotten by mistake. --- resources/qml/Preferences/GeneralPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 5f60b23477..d751d3f101 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -170,7 +170,7 @@ UM.PreferencesPage append({ text: "日本語", code: "ja_JP" }) append({ text: "한국어", code: "ko_KR" }) append({ text: "Nederlands", code: "nl_NL" }) - //Polish is disabled for being incomplete: append({ text: "Polski", code: "pl_PL" }) + append({ text: "Polski", code: "pl_PL" }) append({ text: "Português do Brasil", code: "pt_BR" }) append({ text: "Português", code: "pt_PT" }) append({ text: "Русский", code: "ru_RU" }) From 866110d70c4379ab86131b2a031da69bed4c4fe7 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 4 Oct 2018 18:03:01 +0200 Subject: [PATCH 194/423] Take into account that can be empty layers below the model when the setting Remove empty layers is disabled. The empty layers are skipped if they are at the bottom. Also keeps the models printed with raft showing correclty. Contributes to CURA-5768. --- .../ProcessSlicedLayersJob.py | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index 3953625c7e..594bf3a43e 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -2,6 +2,7 @@ #Cura is released under the terms of the LGPLv3 or higher. import gc +import sys from UM.Job import Job from UM.Application import Application @@ -95,23 +96,35 @@ class ProcessSlicedLayersJob(Job): layer_count = len(self._layers) # Find the minimum layer number + # When disabling the remove empty first layers setting, the minimum layer number will be a positive + # value. In that case the first empty layers will be discarded and start processing layers from the + # first layer with data. # When using a raft, the raft layers are sent as layers < 0. Instead of allowing layers < 0, we - # instead simply offset all other layers so the lowest layer is always 0. It could happens that - # the first raft layer has value -8 but there are just 4 raft (negative) layers. - min_layer_number = 0 + # simply offset all other layers so the lowest layer is always 0. It could happens that the first + # raft layer has value -8 but there are just 4 raft (negative) layers. + min_layer_number = sys.maxsize negative_layers = 0 for layer in self._layers: - if layer.id < min_layer_number: - min_layer_number = layer.id - if layer.id < 0: - negative_layers += 1 + if layer.repeatedMessageCount("path_segment") > 0: + if layer.id < min_layer_number: + min_layer_number = layer.id + if layer.id < 0: + negative_layers += 1 current_layer = 0 for layer in self._layers: - # Negative layers are offset by the minimum layer number, but the positive layers are just - # offset by the number of negative layers so there is no layer gap between raft and model - abs_layer_number = layer.id + abs(min_layer_number) if layer.id < 0 else layer.id + negative_layers + # If the layer is below the minimum, it means that there is no data, so that we don't create a layer + # data. However, if there are empty layers in between, we compute them. + if layer.id < min_layer_number: + continue + + # Layers are offset by the minimum layer number. In case the raft (negative layers) is being used, + # then the absolute layer number is adjusted by removing the empty layers that can be in between raft + # and the model + abs_layer_number = layer.id - min_layer_number + if layer.id >= 0 and negative_layers != 0: + abs_layer_number += (min_layer_number + negative_layers) layer_data.addLayer(abs_layer_number) this_layer = layer_data.getLayer(abs_layer_number) From 8eca0c574ac60ec5b4995837676461eb8eeced85 Mon Sep 17 00:00:00 2001 From: Sacha Telgenhof Oude Koehorst Date: Fri, 5 Oct 2018 13:25:15 +0900 Subject: [PATCH 195/423] Altered the mesh bed so the Ender-3 logo is more noticeable. --- resources/meshes/creality_ender3_platform.stl | 25156 ++++++++-------- 1 file changed, 12578 insertions(+), 12578 deletions(-) diff --git a/resources/meshes/creality_ender3_platform.stl b/resources/meshes/creality_ender3_platform.stl index e4f9b1fd89..2b6540bdd3 100644 --- a/resources/meshes/creality_ender3_platform.stl +++ b/resources/meshes/creality_ender3_platform.stl @@ -1,1673 +1,1673 @@ solid OpenSCAD_Model facet normal 0 0 1 outer loop - vertex 19.3736 -10.7173 -0.1 - vertex 19.6895 -11.13 -0.1 - vertex 19.6819 -11.0243 -0.1 + vertex 19.3736 -10.7173 -0.2 + vertex 19.6895 -11.13 -0.2 + vertex 19.6819 -11.0243 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.4763 -10.749 -0.1 - vertex 19.6819 -11.0243 -0.1 - vertex 19.6583 -10.9333 -0.1 + vertex 19.4763 -10.749 -0.2 + vertex 19.6819 -11.0243 -0.2 + vertex 19.6583 -10.9333 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.557 -10.7956 -0.1 - vertex 19.6583 -10.9333 -0.1 - vertex 19.6172 -10.8571 -0.1 + vertex 19.557 -10.7956 -0.2 + vertex 19.6583 -10.9333 -0.2 + vertex 19.6172 -10.8571 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6895 -11.13 -0.1 - vertex 19.3736 -10.7173 -0.1 - vertex 19.6598 -11.2975 -0.1 + vertex 19.6895 -11.13 -0.2 + vertex 19.3736 -10.7173 -0.2 + vertex 19.6598 -11.2975 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6583 -10.9333 -0.1 - vertex 19.557 -10.7956 -0.1 - vertex 19.4763 -10.749 -0.1 + vertex 19.6583 -10.9333 -0.2 + vertex 19.557 -10.7956 -0.2 + vertex 19.4763 -10.749 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6819 -11.0243 -0.1 - vertex 19.4763 -10.749 -0.1 - vertex 19.3736 -10.7173 -0.1 + vertex 19.6819 -11.0243 -0.2 + vertex 19.4763 -10.749 -0.2 + vertex 19.3736 -10.7173 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.0963 -10.6988 -0.1 - vertex 19.6598 -11.2975 -0.1 - vertex 19.3736 -10.7173 -0.1 + vertex 19.0963 -10.6988 -0.2 + vertex 19.6598 -11.2975 -0.2 + vertex 19.3736 -10.7173 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6598 -11.2975 -0.1 - vertex 19.0963 -10.6988 -0.1 - vertex 19.5653 -11.6083 -0.1 + vertex 19.6598 -11.2975 -0.2 + vertex 19.0963 -10.6988 -0.2 + vertex 19.5653 -11.6083 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.7132 -10.7406 -0.1 - vertex 19.5653 -11.6083 -0.1 - vertex 19.0963 -10.6988 -0.1 + vertex 18.7132 -10.7406 -0.2 + vertex 19.5653 -11.6083 -0.2 + vertex 19.0963 -10.6988 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.2126 -10.843 -0.1 - vertex 19.5653 -11.6083 -0.1 - vertex 18.7132 -10.7406 -0.1 + vertex 18.2126 -10.843 -0.2 + vertex 19.5653 -11.6083 -0.2 + vertex 18.7132 -10.7406 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.5653 -11.6083 -0.1 - vertex 18.2126 -10.843 -0.1 - vertex 19.1479 -12.7477 -0.1 + vertex 19.5653 -11.6083 -0.2 + vertex 18.2126 -10.843 -0.2 + vertex 19.1479 -12.7477 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 17.5824 -11.0066 -0.1 - vertex 19.1479 -12.7477 -0.1 - vertex 18.2126 -10.843 -0.1 + vertex 17.5824 -11.0066 -0.2 + vertex 19.1479 -12.7477 -0.2 + vertex 18.2126 -10.843 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 16.811 -11.2316 -0.1 - vertex 19.1479 -12.7477 -0.1 - vertex 17.5824 -11.0066 -0.1 + vertex 16.811 -11.2316 -0.2 + vertex 19.1479 -12.7477 -0.2 + vertex 17.5824 -11.0066 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.1479 -12.7477 -0.1 - vertex 16.811 -11.2316 -0.1 - vertex 18.3699 -14.7241 -0.1 + vertex 19.1479 -12.7477 -0.2 + vertex 16.811 -11.2316 -0.2 + vertex 18.3699 -14.7241 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.1363 -14.3424 -0.1 - vertex 18.3699 -14.7241 -0.1 - vertex 16.811 -11.2316 -0.1 + vertex 14.1363 -14.3424 -0.2 + vertex 18.3699 -14.7241 -0.2 + vertex 16.811 -11.2316 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.0967 -14.5873 -0.1 - vertex 18.3699 -14.7241 -0.1 - vertex 14.1362 -14.4186 -0.1 + vertex 14.0967 -14.5873 -0.2 + vertex 18.3699 -14.7241 -0.2 + vertex 14.1362 -14.4186 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.3699 -14.7241 -0.1 - vertex 14.1363 -14.3424 -0.1 - vertex 14.1362 -14.4186 -0.1 + vertex 18.3699 -14.7241 -0.2 + vertex 14.1363 -14.3424 -0.2 + vertex 14.1362 -14.4186 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.7217 -12.1451 -0.1 - vertex 14.1363 -14.3424 -0.1 - vertex 16.811 -11.2316 -0.1 + vertex 13.7217 -12.1451 -0.2 + vertex 14.1363 -14.3424 -0.2 + vertex 16.811 -11.2316 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.1363 -14.3424 -0.1 - vertex 13.7217 -12.1451 -0.1 - vertex 14.0881 -14.3092 -0.1 + vertex 14.1363 -14.3424 -0.2 + vertex 13.7217 -12.1451 -0.2 + vertex 14.0881 -14.3092 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.0881 -14.3092 -0.1 - vertex 13.7217 -12.1451 -0.1 - vertex 14.0003 -14.2763 -0.1 + vertex 14.0881 -14.3092 -0.2 + vertex 13.7217 -12.1451 -0.2 + vertex 14.0003 -14.2763 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.0003 -14.2763 -0.1 - vertex 13.7217 -12.1451 -0.1 - vertex 13.7222 -14.2141 -0.1 + vertex 14.0003 -14.2763 -0.2 + vertex 13.7217 -12.1451 -0.2 + vertex 13.7222 -14.2141 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.4022 -12.26 -0.1 - vertex 13.7222 -14.2141 -0.1 - vertex 13.7217 -12.1451 -0.1 + vertex 13.4022 -12.26 -0.2 + vertex 13.7222 -14.2141 -0.2 + vertex 13.7217 -12.1451 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.1153 -12.4148 -0.1 - vertex 13.7222 -14.2141 -0.1 - vertex 13.4022 -12.26 -0.1 + vertex 13.1153 -12.4148 -0.2 + vertex 13.7222 -14.2141 -0.2 + vertex 13.4022 -12.26 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.7222 -14.2141 -0.1 - vertex 13.1153 -12.4148 -0.1 - vertex 13.3346 -14.1615 -0.1 + vertex 13.7222 -14.2141 -0.2 + vertex 13.1153 -12.4148 -0.2 + vertex 13.3346 -14.1615 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.8673 -12.6015 -0.1 - vertex 13.3346 -14.1615 -0.1 - vertex 13.1153 -12.4148 -0.1 + vertex 12.8673 -12.6015 -0.2 + vertex 13.3346 -14.1615 -0.2 + vertex 13.1153 -12.4148 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.6645 -12.8127 -0.1 - vertex 13.3346 -14.1615 -0.1 - vertex 12.8673 -12.6015 -0.1 + vertex 12.6645 -12.8127 -0.2 + vertex 13.3346 -14.1615 -0.2 + vertex 12.8673 -12.6015 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.513 -13.0405 -0.1 - vertex 13.3346 -14.1615 -0.1 - vertex 12.6645 -12.8127 -0.1 + vertex 12.513 -13.0405 -0.2 + vertex 13.3346 -14.1615 -0.2 + vertex 12.6645 -12.8127 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.3346 -14.1615 -0.1 - vertex 12.513 -13.0405 -0.1 - vertex 12.8698 -14.1239 -0.1 + vertex 13.3346 -14.1615 -0.2 + vertex 12.513 -13.0405 -0.2 + vertex 12.8698 -14.1239 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.419 -13.2773 -0.1 - vertex 12.8698 -14.1239 -0.1 - vertex 12.513 -13.0405 -0.1 + vertex 12.419 -13.2773 -0.2 + vertex 12.8698 -14.1239 -0.2 + vertex 12.513 -13.0405 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.3889 -13.5153 -0.1 - vertex 12.8698 -14.1239 -0.1 - vertex 12.419 -13.2773 -0.1 + vertex 12.3889 -13.5153 -0.2 + vertex 12.8698 -14.1239 -0.2 + vertex 12.419 -13.2773 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 12.3997 -13.6324 -0.1 - vertex 12.8698 -14.1239 -0.1 - vertex 12.3889 -13.5153 -0.1 + vertex 12.3997 -13.6324 -0.2 + vertex 12.8698 -14.1239 -0.2 + vertex 12.3889 -13.5153 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 12.5013 -13.8876 -0.1 - vertex 12.8698 -14.1239 -0.1 - vertex 12.3997 -13.6324 -0.1 + vertex 12.5013 -13.8876 -0.2 + vertex 12.8698 -14.1239 -0.2 + vertex 12.3997 -13.6324 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.8698 -14.1239 -0.1 - vertex 12.6087 -14.0056 -0.1 - vertex 12.7363 -14.0885 -0.1 + vertex 12.8698 -14.1239 -0.2 + vertex 12.6087 -14.0056 -0.2 + vertex 12.7363 -14.0885 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.8698 -14.1239 -0.1 - vertex 12.5013 -13.8876 -0.1 - vertex 12.6087 -14.0056 -0.1 + vertex 12.8698 -14.1239 -0.2 + vertex 12.5013 -13.8876 -0.2 + vertex 12.6087 -14.0056 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.5013 -13.8876 -0.1 - vertex 12.3997 -13.6324 -0.1 - vertex 12.4287 -13.7469 -0.1 + vertex 12.5013 -13.8876 -0.2 + vertex 12.3997 -13.6324 -0.2 + vertex 12.4287 -13.7469 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.9185 -15.1524 -0.1 - vertex 18.3699 -14.7241 -0.1 - vertex 14.0967 -14.5873 -0.1 + vertex 13.9185 -15.1524 -0.2 + vertex 18.3699 -14.7241 -0.2 + vertex 14.0967 -14.5873 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.3699 -14.7241 -0.1 - vertex 13.9185 -15.1524 -0.1 - vertex 17.1638 -17.7131 -0.1 + vertex 18.3699 -14.7241 -0.2 + vertex 13.9185 -15.1524 -0.2 + vertex 17.1638 -17.7131 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.6397 -15.9386 -0.1 - vertex 17.1638 -17.7131 -0.1 - vertex 13.9185 -15.1524 -0.1 + vertex 13.6397 -15.9386 -0.2 + vertex 17.1638 -17.7131 -0.2 + vertex 13.9185 -15.1524 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.2984 -16.8469 -0.1 - vertex 17.1638 -17.7131 -0.1 - vertex 13.6397 -15.9386 -0.1 + vertex 13.2984 -16.8469 -0.2 + vertex 17.1638 -17.7131 -0.2 + vertex 13.6397 -15.9386 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.5806 -18.6336 -0.1 - vertex 17.1638 -17.7131 -0.1 - vertex 13.2984 -16.8469 -0.1 + vertex 12.5806 -18.6336 -0.2 + vertex 17.1638 -17.7131 -0.2 + vertex 13.2984 -16.8469 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.2803 -19.3138 -0.1 - vertex 17.1638 -17.7131 -0.1 - vertex 12.5806 -18.6336 -0.1 + vertex 12.2803 -19.3138 -0.2 + vertex 17.1638 -17.7131 -0.2 + vertex 12.5806 -18.6336 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.1638 -17.7131 -0.1 - vertex 12.2803 -19.3138 -0.1 - vertex 14.5952 -23.8342 -0.1 + vertex 17.1638 -17.7131 -0.2 + vertex 12.2803 -19.3138 -0.2 + vertex 14.5952 -23.8342 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.0697 -19.7199 -0.1 - vertex 14.5952 -23.8342 -0.1 - vertex 12.2803 -19.3138 -0.1 + vertex 12.0697 -19.7199 -0.2 + vertex 14.5952 -23.8342 -0.2 + vertex 12.2803 -19.3138 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.0185 -19.7802 -0.1 - vertex 14.5952 -23.8342 -0.1 - vertex 12.0697 -19.7199 -0.1 + vertex 12.0185 -19.7802 -0.2 + vertex 14.5952 -23.8342 -0.2 + vertex 12.0697 -19.7199 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.9563 -19.8175 -0.1 - vertex 14.5952 -23.8342 -0.1 - vertex 12.0185 -19.7802 -0.1 + vertex 11.9563 -19.8175 -0.2 + vertex 14.5952 -23.8342 -0.2 + vertex 12.0185 -19.7802 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 10.1598 -23.7848 -0.1 - vertex 14.5952 -23.8342 -0.1 - vertex 10.1807 -23.3758 -0.1 + vertex 10.1598 -23.7848 -0.2 + vertex 14.5952 -23.8342 -0.2 + vertex 10.1807 -23.3758 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 10.1103 -22.7594 -0.1 - vertex 14.5952 -23.8342 -0.1 - vertex 11.9563 -19.8175 -0.1 + vertex 10.1103 -22.7594 -0.2 + vertex 14.5952 -23.8342 -0.2 + vertex 11.9563 -19.8175 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.1103 -22.7594 -0.1 - vertex 11.9563 -19.8175 -0.1 - vertex 11.881 -19.8313 -0.1 + vertex 10.1103 -22.7594 -0.2 + vertex 11.9563 -19.8175 -0.2 + vertex 11.881 -19.8313 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.99008 -22.4166 -0.1 - vertex 11.881 -19.8313 -0.1 - vertex 11.7902 -19.8211 -0.1 + vertex 9.99008 -22.4166 -0.2 + vertex 11.881 -19.8313 -0.2 + vertex 11.7902 -19.8211 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.81668 -22.1284 -0.1 - vertex 11.7902 -19.8211 -0.1 - vertex 11.5538 -19.7266 -0.1 + vertex 9.81668 -22.1284 -0.2 + vertex 11.7902 -19.8211 -0.2 + vertex 11.5538 -19.7266 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.95745 -24.7805 -0.1 - vertex 14.5952 -23.8342 -0.1 - vertex 10.0892 -24.2416 -0.1 + vertex 9.95745 -24.7805 -0.2 + vertex 14.5952 -23.8342 -0.2 + vertex 10.0892 -24.2416 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.59484 -21.895 -0.1 - vertex 11.5538 -19.7266 -0.1 - vertex 11.2294 -19.5302 -0.1 + vertex 9.59484 -21.895 -0.2 + vertex 11.5538 -19.7266 -0.2 + vertex 11.2294 -19.5302 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.5952 -23.8342 -0.1 - vertex 9.95745 -24.7805 -0.1 - vertex 12.8097 -28.1484 -0.1 + vertex 14.5952 -23.8342 -0.2 + vertex 9.95745 -24.7805 -0.2 + vertex 12.8097 -28.1484 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.46723 -21.7989 -0.1 - vertex 11.2294 -19.5302 -0.1 - vertex 11.0203 -19.4009 -0.1 + vertex 9.46723 -21.7989 -0.2 + vertex 11.2294 -19.5302 -0.2 + vertex 11.0203 -19.4009 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 9.75283 -25.4359 -0.1 - vertex 12.8097 -28.1484 -0.1 - vertex 9.95745 -24.7805 -0.1 + vertex 9.75283 -25.4359 -0.2 + vertex 12.8097 -28.1484 -0.2 + vertex 9.95745 -24.7805 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.46723 -21.7989 -0.1 - vertex 11.0203 -19.4009 -0.1 - vertex 10.8168 -19.3006 -0.1 + vertex 9.46723 -21.7989 -0.2 + vertex 11.0203 -19.4009 -0.2 + vertex 10.8168 -19.3006 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 9.46376 -26.2422 -0.1 - vertex 12.8097 -28.1484 -0.1 - vertex 9.75283 -25.4359 -0.1 + vertex 9.46376 -26.2422 -0.2 + vertex 12.8097 -28.1484 -0.2 + vertex 9.75283 -25.4359 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 9.07864 -27.2338 -0.1 - vertex 12.8097 -28.1484 -0.1 - vertex 9.46376 -26.2422 -0.1 + vertex 9.07864 -27.2338 -0.2 + vertex 12.8097 -28.1484 -0.2 + vertex 9.46376 -26.2422 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.8097 -28.1484 -0.1 - vertex 9.07864 -27.2338 -0.1 - vertex 12.0447 -30.0547 -0.1 + vertex 12.8097 -28.1484 -0.2 + vertex 9.07864 -27.2338 -0.2 + vertex 12.0447 -30.0547 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.46723 -21.7989 -0.1 - vertex 10.8168 -19.3006 -0.1 - vertex 10.602 -19.227 -0.1 + vertex 9.46723 -21.7989 -0.2 + vertex 10.8168 -19.3006 -0.2 + vertex 10.602 -19.227 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.6919 -34.4621 -0.1 - vertex 12.2468 -35.1875 -0.1 - vertex 12.2214 -34.9805 -0.1 + vertex 11.6919 -34.4621 -0.2 + vertex 12.2468 -35.1875 -0.2 + vertex 12.2214 -34.9805 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.6919 -34.4621 -0.1 - vertex 12.2214 -34.9805 -0.1 - vertex 12.1503 -34.7994 -0.1 + vertex 11.6919 -34.4621 -0.2 + vertex 12.2214 -34.9805 -0.2 + vertex 12.1503 -34.7994 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.4668 -34.4353 -0.1 - vertex 12.2468 -35.1875 -0.1 - vertex 11.6919 -34.4621 -0.1 + vertex 11.4668 -34.4353 -0.2 + vertex 12.2468 -35.1875 -0.2 + vertex 11.6919 -34.4621 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.2239 -35.4151 -0.1 - vertex 11.4668 -34.4353 -0.1 - vertex 12.1496 -35.6584 -0.1 + vertex 12.2239 -35.4151 -0.2 + vertex 11.4668 -34.4353 -0.2 + vertex 12.1496 -35.6584 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.8827 -34.5351 -0.1 - vertex 12.1503 -34.7994 -0.1 - vertex 12.0364 -34.6492 -0.1 + vertex 11.8827 -34.5351 -0.2 + vertex 12.1503 -34.7994 -0.2 + vertex 12.0364 -34.6492 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.2468 -35.1875 -0.1 - vertex 11.4668 -34.4353 -0.1 - vertex 12.2239 -35.4151 -0.1 + vertex 12.2468 -35.1875 -0.2 + vertex 11.4668 -34.4353 -0.2 + vertex 12.2239 -35.4151 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.1503 -34.7994 -0.1 - vertex 11.8827 -34.5351 -0.1 - vertex 11.6919 -34.4621 -0.1 + vertex 12.1503 -34.7994 -0.2 + vertex 11.8827 -34.5351 -0.2 + vertex 11.6919 -34.4621 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.1496 -35.6584 -0.1 - vertex 11.4668 -34.4353 -0.1 - vertex 12.0956 -35.7642 -0.1 + vertex 12.1496 -35.6584 -0.2 + vertex 11.4668 -34.4353 -0.2 + vertex 12.0956 -35.7642 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.0956 -35.7642 -0.1 - vertex 11.4668 -34.4353 -0.1 - vertex 12.0181 -35.8752 -0.1 + vertex 12.0956 -35.7642 -0.2 + vertex 11.4668 -34.4353 -0.2 + vertex 12.0181 -35.8752 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.143 -34.4171 -0.1 - vertex 12.0181 -35.8752 -0.1 - vertex 11.4668 -34.4353 -0.1 + vertex 11.143 -34.4171 -0.2 + vertex 12.0181 -35.8752 -0.2 + vertex 11.4668 -34.4353 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.0181 -35.8752 -0.1 - vertex 11.143 -34.4171 -0.1 - vertex 11.8034 -36.1064 -0.1 + vertex 12.0181 -35.8752 -0.2 + vertex 11.143 -34.4171 -0.2 + vertex 11.8034 -36.1064 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.8034 -36.1064 -0.1 - vertex 11.143 -34.4171 -0.1 - vertex 11.5264 -36.339 -0.1 + vertex 11.8034 -36.1064 -0.2 + vertex 11.143 -34.4171 -0.2 + vertex 11.5264 -36.339 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.016 -34.3915 -0.1 - vertex 11.5264 -36.339 -0.1 - vertex 11.143 -34.4171 -0.1 + vertex 11.016 -34.3915 -0.2 + vertex 11.5264 -36.339 -0.2 + vertex 11.143 -34.4171 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5264 -36.339 -0.1 - vertex 11.016 -34.3915 -0.1 - vertex 11.208 -36.5595 -0.1 + vertex 11.5264 -36.339 -0.2 + vertex 11.016 -34.3915 -0.2 + vertex 11.208 -36.5595 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.9123 -34.3507 -0.1 - vertex 11.208 -36.5595 -0.1 - vertex 11.016 -34.3915 -0.1 + vertex 10.9123 -34.3507 -0.2 + vertex 11.208 -36.5595 -0.2 + vertex 11.016 -34.3915 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.9123 -34.3507 -0.1 - vertex 10.8691 -36.7549 -0.1 - vertex 11.208 -36.5595 -0.1 + vertex 10.9123 -34.3507 -0.2 + vertex 10.8691 -36.7549 -0.2 + vertex 11.208 -36.5595 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.5307 -36.9119 -0.1 - vertex 10.9123 -34.3507 -0.1 - vertex 10.832 -34.2912 -0.1 + vertex 10.5307 -36.9119 -0.2 + vertex 10.9123 -34.3507 -0.2 + vertex 10.832 -34.2912 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.71926 -37.0921 -0.1 - vertex 10.832 -34.2912 -0.1 - vertex 10.775 -34.2097 -0.1 + vertex 9.71926 -37.0921 -0.2 + vertex 10.832 -34.2912 -0.2 + vertex 10.775 -34.2097 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.94379 -37.3156 -0.1 - vertex 10.775 -34.2097 -0.1 - vertex 10.7415 -34.103 -0.1 + vertex 8.94379 -37.3156 -0.2 + vertex 10.775 -34.2097 -0.2 + vertex 10.7415 -34.103 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.63949 -32.8952 -0.1 - vertex 10.7415 -34.103 -0.1 - vertex 10.7315 -33.9677 -0.1 + vertex 6.63949 -32.8952 -0.2 + vertex 10.7415 -34.103 -0.2 + vertex 10.7315 -33.9677 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.9123 -34.3507 -0.1 - vertex 10.5307 -36.9119 -0.1 - vertex 10.8691 -36.7549 -0.1 + vertex 10.9123 -34.3507 -0.2 + vertex 10.5307 -36.9119 -0.2 + vertex 10.8691 -36.7549 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.97377 -29.9101 -0.1 - vertex 12.0447 -30.0547 -0.1 - vertex 9.07864 -27.2338 -0.1 + vertex 7.97377 -29.9101 -0.2 + vertex 12.0447 -30.0547 -0.2 + vertex 9.07864 -27.2338 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.46723 -21.7989 -0.1 - vertex 10.602 -19.227 -0.1 - vertex 10.3591 -19.1774 -0.1 + vertex 9.46723 -21.7989 -0.2 + vertex 10.602 -19.227 -0.2 + vertex 10.3591 -19.1774 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.0892 -24.2416 -0.1 - vertex 14.5952 -23.8342 -0.1 - vertex 10.1598 -23.7848 -0.1 + vertex 10.0892 -24.2416 -0.2 + vertex 14.5952 -23.8342 -0.2 + vertex 10.1598 -23.7848 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.0447 -30.0547 -0.1 - vertex 7.97377 -29.9101 -0.1 - vertex 11.5005 -31.4602 -0.1 + vertex 12.0447 -30.0547 -0.2 + vertex 7.97377 -29.9101 -0.2 + vertex 11.5005 -31.4602 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.5952 -23.8342 -0.1 - vertex 10.149 -22.9513 -0.1 - vertex 10.1807 -23.3758 -0.1 + vertex 14.5952 -23.8342 -0.2 + vertex 10.149 -22.9513 -0.2 + vertex 10.1807 -23.3758 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.5952 -23.8342 -0.1 - vertex 10.1103 -22.7594 -0.1 - vertex 10.149 -22.9513 -0.1 + vertex 14.5952 -23.8342 -0.2 + vertex 10.1103 -22.7594 -0.2 + vertex 10.149 -22.9513 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.46723 -21.7989 -0.1 - vertex 10.3591 -19.1774 -0.1 - vertex 10.0711 -19.1496 -0.1 + vertex 9.46723 -21.7989 -0.2 + vertex 10.3591 -19.1774 -0.2 + vertex 10.0711 -19.1496 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.881 -19.8313 -0.1 - vertex 10.0571 -22.5812 -0.1 - vertex 10.1103 -22.7594 -0.1 + vertex 11.881 -19.8313 -0.2 + vertex 10.0571 -22.5812 -0.2 + vertex 10.1103 -22.7594 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.881 -19.8313 -0.1 - vertex 9.99008 -22.4166 -0.1 - vertex 10.0571 -22.5812 -0.1 + vertex 11.881 -19.8313 -0.2 + vertex 9.99008 -22.4166 -0.2 + vertex 10.0571 -22.5812 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.7902 -19.8211 -0.1 - vertex 9.90973 -22.2656 -0.1 - vertex 9.99008 -22.4166 -0.1 + vertex 11.7902 -19.8211 -0.2 + vertex 9.90973 -22.2656 -0.2 + vertex 9.99008 -22.4166 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.7902 -19.8211 -0.1 - vertex 9.81668 -22.1284 -0.1 - vertex 9.90973 -22.2656 -0.1 + vertex 11.7902 -19.8211 -0.2 + vertex 9.81668 -22.1284 -0.2 + vertex 9.90973 -22.2656 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.18157 -21.6481 -0.1 - vertex 10.0711 -19.1496 -0.1 - vertex 9.72114 -19.1409 -0.1 + vertex 9.18157 -21.6481 -0.2 + vertex 10.0711 -19.1496 -0.2 + vertex 9.72114 -19.1409 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5538 -19.7266 -0.1 - vertex 9.71152 -22.0048 -0.1 - vertex 9.81668 -22.1284 -0.1 + vertex 11.5538 -19.7266 -0.2 + vertex 9.71152 -22.0048 -0.2 + vertex 9.81668 -22.1284 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5538 -19.7266 -0.1 - vertex 9.59484 -21.895 -0.1 - vertex 9.71152 -22.0048 -0.1 + vertex 11.5538 -19.7266 -0.2 + vertex 9.59484 -21.895 -0.2 + vertex 9.71152 -22.0048 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.2294 -19.5302 -0.1 - vertex 9.46723 -21.7989 -0.1 - vertex 9.59484 -21.895 -0.1 + vertex 11.2294 -19.5302 -0.2 + vertex 9.46723 -21.7989 -0.2 + vertex 9.59484 -21.895 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.0711 -19.1496 -0.1 - vertex 9.18157 -21.6481 -0.1 - vertex 9.46723 -21.7989 -0.1 + vertex 10.0711 -19.1496 -0.2 + vertex 9.18157 -21.6481 -0.2 + vertex 9.46723 -21.7989 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.72114 -19.1409 -0.1 - vertex 8.85925 -21.5524 -0.1 - vertex 9.18157 -21.6481 -0.1 + vertex 9.72114 -19.1409 -0.2 + vertex 8.85925 -21.5524 -0.2 + vertex 9.18157 -21.6481 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 8.76754 -19.1712 -0.1 - vertex 8.85925 -21.5524 -0.1 - vertex 9.72114 -19.1409 -0.1 + vertex 8.76754 -19.1712 -0.2 + vertex 8.85925 -21.5524 -0.2 + vertex 9.72114 -19.1409 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.76754 -19.1712 -0.1 - vertex 8.50498 -21.5121 -0.1 - vertex 8.85925 -21.5524 -0.1 + vertex 8.76754 -19.1712 -0.2 + vertex 8.50498 -21.5121 -0.2 + vertex 8.85925 -21.5524 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.80885 -19.2424 -0.1 - vertex 8.50498 -21.5121 -0.1 - vertex 8.76754 -19.1712 -0.1 + vertex 7.80885 -19.2424 -0.2 + vertex 8.50498 -21.5121 -0.2 + vertex 8.76754 -19.1712 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.50498 -21.5121 -0.1 - vertex 7.80885 -19.2424 -0.1 - vertex 8.12348 -21.5274 -0.1 + vertex 8.50498 -21.5121 -0.2 + vertex 7.80885 -19.2424 -0.2 + vertex 8.12348 -21.5274 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.42262 -19.2967 -0.1 - vertex 8.12348 -21.5274 -0.1 - vertex 7.80885 -19.2424 -0.1 + vertex 7.42262 -19.2967 -0.2 + vertex 8.12348 -21.5274 -0.2 + vertex 7.80885 -19.2424 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.12348 -21.5274 -0.1 - vertex 7.42262 -19.2967 -0.1 - vertex 7.71946 -21.5983 -0.1 + vertex 8.12348 -21.5274 -0.2 + vertex 7.42262 -19.2967 -0.2 + vertex 7.71946 -21.5983 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.07441 -19.3694 -0.1 - vertex 7.71946 -21.5983 -0.1 - vertex 7.42262 -19.2967 -0.1 + vertex 7.07441 -19.3694 -0.2 + vertex 7.71946 -21.5983 -0.2 + vertex 7.42262 -19.2967 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.74616 -19.4649 -0.1 - vertex 7.71946 -21.5983 -0.1 - vertex 7.07441 -19.3694 -0.1 + vertex 6.74616 -19.4649 -0.2 + vertex 7.71946 -21.5983 -0.2 + vertex 7.07441 -19.3694 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.71946 -21.5983 -0.1 - vertex 6.74616 -19.4649 -0.1 - vertex 7.29763 -21.7251 -0.1 + vertex 7.71946 -21.5983 -0.2 + vertex 6.74616 -19.4649 -0.2 + vertex 7.29763 -21.7251 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.41984 -19.5879 -0.1 - vertex 7.29763 -21.7251 -0.1 - vertex 6.74616 -19.4649 -0.1 + vertex 6.41984 -19.5879 -0.2 + vertex 7.29763 -21.7251 -0.2 + vertex 6.74616 -19.4649 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.07737 -19.7427 -0.1 - vertex 7.29763 -21.7251 -0.1 - vertex 6.41984 -19.5879 -0.1 + vertex 6.07737 -19.7427 -0.2 + vertex 7.29763 -21.7251 -0.2 + vertex 6.41984 -19.5879 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.29763 -21.7251 -0.1 - vertex 6.07737 -19.7427 -0.1 - vertex 6.8627 -21.9079 -0.1 + vertex 7.29763 -21.7251 -0.2 + vertex 6.07737 -19.7427 -0.2 + vertex 6.8627 -21.9079 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.70074 -19.9339 -0.1 - vertex 6.8627 -21.9079 -0.1 - vertex 6.07737 -19.7427 -0.1 + vertex 5.70074 -19.9339 -0.2 + vertex 6.8627 -21.9079 -0.2 + vertex 6.07737 -19.7427 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.8627 -21.9079 -0.1 - vertex 5.70074 -19.9339 -0.1 - vertex 6.41939 -22.1469 -0.1 + vertex 6.8627 -21.9079 -0.2 + vertex 5.70074 -19.9339 -0.2 + vertex 6.41939 -22.1469 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.20766 -20.2058 -0.1 - vertex 6.41939 -22.1469 -0.1 - vertex 5.70074 -19.9339 -0.1 + vertex 5.20766 -20.2058 -0.2 + vertex 6.41939 -22.1469 -0.2 + vertex 5.70074 -19.9339 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.41939 -22.1469 -0.1 - vertex 5.20766 -20.2058 -0.1 - vertex 5.97241 -22.4422 -0.1 + vertex 6.41939 -22.1469 -0.2 + vertex 5.20766 -20.2058 -0.2 + vertex 5.97241 -22.4422 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.71458 -20.5006 -0.1 - vertex 5.97241 -22.4422 -0.1 - vertex 5.20766 -20.2058 -0.1 + vertex 4.71458 -20.5006 -0.2 + vertex 5.97241 -22.4422 -0.2 + vertex 5.20766 -20.2058 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.22328 -20.8168 -0.1 - vertex 5.97241 -22.4422 -0.1 - vertex 4.71458 -20.5006 -0.1 + vertex 4.22328 -20.8168 -0.2 + vertex 5.97241 -22.4422 -0.2 + vertex 4.71458 -20.5006 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.97241 -22.4422 -0.1 - vertex 4.22328 -20.8168 -0.1 - vertex 5.52647 -22.794 -0.1 + vertex 5.97241 -22.4422 -0.2 + vertex 4.22328 -20.8168 -0.2 + vertex 5.52647 -22.794 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 3.73558 -21.1527 -0.1 - vertex 5.52647 -22.794 -0.1 - vertex 4.22328 -20.8168 -0.1 + vertex 3.73558 -21.1527 -0.2 + vertex 5.52647 -22.794 -0.2 + vertex 4.22328 -20.8168 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.52647 -22.794 -0.1 - vertex 3.73558 -21.1527 -0.1 - vertex 5.08628 -23.2024 -0.1 + vertex 5.52647 -22.794 -0.2 + vertex 3.73558 -21.1527 -0.2 + vertex 5.08628 -23.2024 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 3.25328 -21.5067 -0.1 - vertex 5.08628 -23.2024 -0.1 - vertex 3.73558 -21.1527 -0.1 + vertex 3.25328 -21.5067 -0.2 + vertex 5.08628 -23.2024 -0.2 + vertex 3.73558 -21.1527 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.08628 -23.2024 -0.1 - vertex 3.25328 -21.5067 -0.1 - vertex 4.45147 -23.8871 -0.1 + vertex 5.08628 -23.2024 -0.2 + vertex 3.25328 -21.5067 -0.2 + vertex 4.45147 -23.8871 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 2.77819 -21.8771 -0.1 - vertex 4.45147 -23.8871 -0.1 - vertex 3.25328 -21.5067 -0.1 + vertex 2.77819 -21.8771 -0.2 + vertex 4.45147 -23.8871 -0.2 + vertex 3.25328 -21.5067 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 2.31211 -22.2625 -0.1 - vertex 4.45147 -23.8871 -0.1 - vertex 2.77819 -21.8771 -0.1 + vertex 2.31211 -22.2625 -0.2 + vertex 4.45147 -23.8871 -0.2 + vertex 2.77819 -21.8771 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.45147 -23.8871 -0.1 - vertex 2.31211 -22.2625 -0.1 - vertex 3.85887 -24.6213 -0.1 + vertex 4.45147 -23.8871 -0.2 + vertex 2.31211 -22.2625 -0.2 + vertex 3.85887 -24.6213 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.85684 -22.661 -0.1 - vertex 3.85887 -24.6213 -0.1 - vertex 2.31211 -22.2625 -0.1 + vertex 1.85684 -22.661 -0.2 + vertex 3.85887 -24.6213 -0.2 + vertex 2.31211 -22.2625 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.4142 -23.0712 -0.1 - vertex 3.85887 -24.6213 -0.1 - vertex 1.85684 -22.661 -0.1 + vertex 1.4142 -23.0712 -0.2 + vertex 3.85887 -24.6213 -0.2 + vertex 1.85684 -22.661 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.85887 -24.6213 -0.1 - vertex 1.4142 -23.0712 -0.1 - vertex 3.31148 -25.3951 -0.1 + vertex 3.85887 -24.6213 -0.2 + vertex 1.4142 -23.0712 -0.2 + vertex 3.31148 -25.3951 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.985991 -23.4913 -0.1 - vertex 3.31148 -25.3951 -0.1 - vertex 1.4142 -23.0712 -0.1 + vertex 0.985991 -23.4913 -0.2 + vertex 3.31148 -25.3951 -0.2 + vertex 1.4142 -23.0712 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.574011 -23.9198 -0.1 - vertex 3.31148 -25.3951 -0.1 - vertex 0.985991 -23.4913 -0.1 + vertex 0.574011 -23.9198 -0.2 + vertex 3.31148 -25.3951 -0.2 + vertex 0.985991 -23.4913 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.31148 -25.3951 -0.1 - vertex 0.574011 -23.9198 -0.1 - vertex 2.81229 -26.1986 -0.1 + vertex 3.31148 -25.3951 -0.2 + vertex 0.574011 -23.9198 -0.2 + vertex 2.81229 -26.1986 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.18007 -24.355 -0.1 - vertex 2.81229 -26.1986 -0.1 - vertex 0.574011 -23.9198 -0.1 + vertex 0.18007 -24.355 -0.2 + vertex 2.81229 -26.1986 -0.2 + vertex 0.574011 -23.9198 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -0.194025 -24.7953 -0.1 - vertex 2.81229 -26.1986 -0.1 - vertex 0.18007 -24.355 -0.1 + vertex -0.194025 -24.7953 -0.2 + vertex 2.81229 -26.1986 -0.2 + vertex 0.18007 -24.355 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.81229 -26.1986 -0.1 - vertex -0.194025 -24.7953 -0.1 - vertex 2.36428 -27.0218 -0.1 + vertex 2.81229 -26.1986 -0.2 + vertex -0.194025 -24.7953 -0.2 + vertex 2.36428 -27.0218 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -0.546472 -25.2391 -0.1 - vertex 2.36428 -27.0218 -0.1 - vertex -0.194025 -24.7953 -0.1 + vertex -0.546472 -25.2391 -0.2 + vertex 2.36428 -27.0218 -0.2 + vertex -0.194025 -24.7953 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -0.875463 -25.6847 -0.1 - vertex 2.36428 -27.0218 -0.1 - vertex -0.546472 -25.2391 -0.1 + vertex -0.875463 -25.6847 -0.2 + vertex 2.36428 -27.0218 -0.2 + vertex -0.546472 -25.2391 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.36428 -27.0218 -0.1 - vertex -0.875463 -25.6847 -0.1 - vertex 1.97046 -27.8549 -0.1 + vertex 2.36428 -27.0218 -0.2 + vertex -0.875463 -25.6847 -0.2 + vertex 1.97046 -27.8549 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -1.17919 -26.1306 -0.1 - vertex 1.97046 -27.8549 -0.1 - vertex -0.875463 -25.6847 -0.1 + vertex -1.17919 -26.1306 -0.2 + vertex 1.97046 -27.8549 -0.2 + vertex -0.875463 -25.6847 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -1.45361 -26.5684 -0.1 - vertex 1.97046 -27.8549 -0.1 - vertex -1.17919 -26.1306 -0.1 + vertex -1.45361 -26.5684 -0.2 + vertex 1.97046 -27.8549 -0.2 + vertex -1.17919 -26.1306 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5005 -31.4602 -0.1 - vertex 7.97377 -29.9101 -0.1 - vertex 11.1661 -32.3709 -0.1 + vertex 11.5005 -31.4602 -0.2 + vertex 7.97377 -29.9101 -0.2 + vertex 11.1661 -32.3709 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.44603 -31.1479 -0.1 - vertex 11.1661 -32.3709 -0.1 - vertex 7.97377 -29.9101 -0.1 + vertex 7.44603 -31.1479 -0.2 + vertex 11.1661 -32.3709 -0.2 + vertex 7.97377 -29.9101 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.1661 -32.3709 -0.1 - vertex 7.44603 -31.1479 -0.1 - vertex 10.9267 -33.0747 -0.1 + vertex 11.1661 -32.3709 -0.2 + vertex 7.44603 -31.1479 -0.2 + vertex 10.9267 -33.0747 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.00854 -32.1311 -0.1 - vertex 10.9267 -33.0747 -0.1 - vertex 7.44603 -31.1479 -0.1 + vertex 7.00854 -32.1311 -0.2 + vertex 10.9267 -33.0747 -0.2 + vertex 7.44603 -31.1479 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.9267 -33.0747 -0.1 - vertex 7.00854 -32.1311 -0.1 - vertex 10.7819 -33.5982 -0.1 + vertex 10.9267 -33.0747 -0.2 + vertex 7.00854 -32.1311 -0.2 + vertex 10.7819 -33.5982 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.7819 -33.5982 -0.1 - vertex 7.00854 -32.1311 -0.1 - vertex 10.7449 -33.8005 -0.1 + vertex 10.7819 -33.5982 -0.2 + vertex 7.00854 -32.1311 -0.2 + vertex 10.7449 -33.8005 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.63949 -32.8952 -0.1 - vertex 10.7449 -33.8005 -0.1 - vertex 7.00854 -32.1311 -0.1 + vertex 6.63949 -32.8952 -0.2 + vertex 10.7449 -33.8005 -0.2 + vertex 7.00854 -32.1311 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.7449 -33.8005 -0.1 - vertex 6.63949 -32.8952 -0.1 - vertex 10.7315 -33.9677 -0.1 + vertex 10.7449 -33.8005 -0.2 + vertex 6.63949 -32.8952 -0.2 + vertex 10.7315 -33.9677 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.7415 -34.103 -0.1 - vertex 6.63949 -32.8952 -0.1 - vertex 6.31707 -33.4759 -0.1 + vertex 10.7415 -34.103 -0.2 + vertex 6.63949 -32.8952 -0.2 + vertex 6.31707 -33.4759 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.832 -34.2912 -0.1 - vertex 9.93892 -37.0575 -0.1 - vertex 10.2137 -37.0171 -0.1 + vertex 10.832 -34.2912 -0.2 + vertex 9.93892 -37.0575 -0.2 + vertex 10.2137 -37.0171 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.832 -34.2912 -0.1 - vertex 10.2137 -37.0171 -0.1 - vertex 10.5307 -36.9119 -0.1 + vertex 10.832 -34.2912 -0.2 + vertex 10.2137 -37.0171 -0.2 + vertex 10.5307 -36.9119 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.832 -34.2912 -0.1 - vertex 9.71926 -37.0921 -0.1 - vertex 9.93892 -37.0575 -0.1 + vertex 10.832 -34.2912 -0.2 + vertex 9.71926 -37.0921 -0.2 + vertex 9.93892 -37.0575 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.775 -34.2097 -0.1 - vertex 9.37163 -37.1827 -0.1 - vertex 9.71926 -37.0921 -0.1 + vertex 10.775 -34.2097 -0.2 + vertex 9.37163 -37.1827 -0.2 + vertex 9.71926 -37.0921 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 8.94379 -37.3156 -0.1 - vertex 10.7415 -34.103 -0.1 - vertex 6.31707 -33.4759 -0.1 + vertex 8.94379 -37.3156 -0.2 + vertex 10.7415 -34.103 -0.2 + vertex 6.31707 -33.4759 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.775 -34.2097 -0.1 - vertex 8.94379 -37.3156 -0.1 - vertex 9.37163 -37.1827 -0.1 + vertex 10.775 -34.2097 -0.2 + vertex 8.94379 -37.3156 -0.2 + vertex 9.37163 -37.1827 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.01946 -33.9088 -0.1 - vertex 8.94379 -37.3156 -0.1 - vertex 6.31707 -33.4759 -0.1 + vertex 6.01946 -33.9088 -0.2 + vertex 8.94379 -37.3156 -0.2 + vertex 6.31707 -33.4759 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.94379 -37.3156 -0.1 - vertex 6.01946 -33.9088 -0.1 - vertex 8.4835 -37.477 -0.1 + vertex 8.94379 -37.3156 -0.2 + vertex 6.01946 -33.9088 -0.2 + vertex 8.4835 -37.477 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.87315 -34.0811 -0.1 - vertex 8.4835 -37.477 -0.1 - vertex 6.01946 -33.9088 -0.1 + vertex 5.87315 -34.0811 -0.2 + vertex 8.4835 -37.477 -0.2 + vertex 6.01946 -33.9088 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.72486 -34.2297 -0.1 - vertex 8.4835 -37.477 -0.1 - vertex 5.87315 -34.0811 -0.1 + vertex 5.72486 -34.2297 -0.2 + vertex 8.4835 -37.477 -0.2 + vertex 5.87315 -34.0811 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.4835 -37.477 -0.1 - vertex 5.72486 -34.2297 -0.1 - vertex 7.35232 -37.8908 -0.1 + vertex 8.4835 -37.477 -0.2 + vertex 5.72486 -34.2297 -0.2 + vertex 7.35232 -37.8908 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.41146 -34.4742 -0.1 - vertex 7.35232 -37.8908 -0.1 - vertex 5.72486 -34.2297 -0.1 + vertex 5.41146 -34.4742 -0.2 + vertex 7.35232 -37.8908 -0.2 + vertex 5.72486 -34.2297 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.69132 -37.3222 -0.1 - vertex 7.35232 -37.8908 -0.1 - vertex 5.41146 -34.4742 -0.1 + vertex 4.69132 -37.3222 -0.2 + vertex 7.35232 -37.8908 -0.2 + vertex 5.41146 -34.4742 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.35232 -37.8908 -0.1 - vertex 4.69132 -37.3222 -0.1 - vertex 6.47346 -38.1927 -0.1 + vertex 7.35232 -37.8908 -0.2 + vertex 4.69132 -37.3222 -0.2 + vertex 6.47346 -38.1927 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 4.72035 -37.4346 -0.1 - vertex 6.47346 -38.1927 -0.1 - vertex 4.69132 -37.3222 -0.1 + vertex 4.72035 -37.4346 -0.2 + vertex 6.47346 -38.1927 -0.2 + vertex 4.69132 -37.3222 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.47346 -38.1927 -0.1 - vertex 4.72035 -37.4346 -0.1 - vertex 5.81563 -38.3852 -0.1 + vertex 6.47346 -38.1927 -0.2 + vertex 4.72035 -37.4346 -0.2 + vertex 5.81563 -38.3852 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 4.74716 -37.8041 -0.1 - vertex 5.81563 -38.3852 -0.1 - vertex 4.72035 -37.4346 -0.1 + vertex 4.74716 -37.8041 -0.2 + vertex 5.81563 -38.3852 -0.2 + vertex 4.72035 -37.4346 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.69132 -37.3222 -0.1 - vertex 5.41146 -34.4742 -0.1 - vertex 5.05744 -34.678 -0.1 + vertex 4.69132 -37.3222 -0.2 + vertex 5.41146 -34.4742 -0.2 + vertex 5.05744 -34.678 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.55983 -38.4413 -0.1 - vertex 4.74716 -37.8041 -0.1 - vertex 5.34756 -38.4712 -0.1 + vertex 5.55983 -38.4413 -0.2 + vertex 4.74716 -37.8041 -0.2 + vertex 5.34756 -38.4712 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 4.76904 -38.117 -0.1 - vertex 5.34756 -38.4712 -0.1 - vertex 4.74716 -37.8041 -0.1 + vertex 4.76904 -38.117 -0.2 + vertex 5.34756 -38.4712 -0.2 + vertex 4.74716 -37.8041 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.34756 -38.4712 -0.1 - vertex 4.76904 -38.117 -0.1 - vertex 5.17491 -38.475 -0.1 + vertex 5.34756 -38.4712 -0.2 + vertex 4.76904 -38.117 -0.2 + vertex 5.17491 -38.475 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.17491 -38.475 -0.1 - vertex 4.76904 -38.117 -0.1 - vertex 5.03796 -38.4533 -0.1 + vertex 5.17491 -38.475 -0.2 + vertex 4.76904 -38.117 -0.2 + vertex 5.03796 -38.4533 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.03796 -38.4533 -0.1 - vertex 4.80226 -38.2378 -0.1 - vertex 4.93281 -38.4063 -0.1 + vertex 5.03796 -38.4533 -0.2 + vertex 4.80226 -38.2378 -0.2 + vertex 4.93281 -38.4063 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.93281 -38.4063 -0.1 - vertex 4.80226 -38.2378 -0.1 - vertex 4.85555 -38.3343 -0.1 + vertex 4.93281 -38.4063 -0.2 + vertex 4.80226 -38.2378 -0.2 + vertex 4.85555 -38.3343 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 4.80226 -38.2378 -0.1 - vertex 5.03796 -38.4533 -0.1 - vertex 4.76904 -38.117 -0.1 + vertex 4.80226 -38.2378 -0.2 + vertex 5.03796 -38.4533 -0.2 + vertex 4.76904 -38.117 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.81563 -38.3852 -0.1 - vertex 4.74716 -37.8041 -0.1 - vertex 5.55983 -38.4413 -0.1 + vertex 5.81563 -38.3852 -0.2 + vertex 4.74716 -37.8041 -0.2 + vertex 5.55983 -38.4413 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.05744 -34.678 -0.1 - vertex 4.65588 -37.2809 -0.1 - vertex 4.69132 -37.3222 -0.1 + vertex 5.05744 -34.678 -0.2 + vertex 4.65588 -37.2809 -0.2 + vertex 4.69132 -37.3222 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.59905 -34.8756 -0.1 - vertex 4.65588 -37.2809 -0.1 - vertex 5.05744 -34.678 -0.1 + vertex 4.59905 -34.8756 -0.2 + vertex 4.65588 -37.2809 -0.2 + vertex 5.05744 -34.678 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.12685 -35.011 -0.1 - vertex 4.65588 -37.2809 -0.1 - vertex 4.59905 -34.8756 -0.1 + vertex 4.12685 -35.011 -0.2 + vertex 4.65588 -37.2809 -0.2 + vertex 4.59905 -34.8756 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 3.65273 -35.0844 -0.1 - vertex 4.65588 -37.2809 -0.1 - vertex 4.12685 -35.011 -0.1 + vertex 3.65273 -35.0844 -0.2 + vertex 4.65588 -37.2809 -0.2 + vertex 4.12685 -35.011 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.65588 -37.2809 -0.1 - vertex 3.65273 -35.0844 -0.1 - vertex 4.26446 -37.4494 -0.1 + vertex 4.65588 -37.2809 -0.2 + vertex 3.65273 -35.0844 -0.2 + vertex 4.26446 -37.4494 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 3.18861 -35.0966 -0.1 - vertex 4.26446 -37.4494 -0.1 - vertex 3.65273 -35.0844 -0.1 + vertex 3.18861 -35.0966 -0.2 + vertex 4.26446 -37.4494 -0.2 + vertex 3.65273 -35.0844 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.26446 -37.4494 -0.1 - vertex 3.18861 -35.0966 -0.1 - vertex 3.45158 -37.8545 -0.1 + vertex 4.26446 -37.4494 -0.2 + vertex 3.18861 -35.0966 -0.2 + vertex 3.45158 -37.8545 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.7464 -35.0478 -0.1 - vertex 3.45158 -37.8545 -0.1 - vertex 3.18861 -35.0966 -0.1 + vertex 2.7464 -35.0478 -0.2 + vertex 3.45158 -37.8545 -0.2 + vertex 3.18861 -35.0966 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.45158 -37.8545 -0.1 - vertex 2.7464 -35.0478 -0.1 - vertex 3.20396 -37.9704 -0.1 + vertex 3.45158 -37.8545 -0.2 + vertex 2.7464 -35.0478 -0.2 + vertex 3.20396 -37.9704 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.20396 -37.9704 -0.1 - vertex 2.7464 -35.0478 -0.1 - vertex 2.93102 -38.0768 -0.1 + vertex 3.20396 -37.9704 -0.2 + vertex 2.7464 -35.0478 -0.2 + vertex 2.93102 -38.0768 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.53723 -35.0007 -0.1 - vertex 2.93102 -38.0768 -0.1 - vertex 2.7464 -35.0478 -0.1 + vertex 2.53723 -35.0007 -0.2 + vertex 2.93102 -38.0768 -0.2 + vertex 2.7464 -35.0478 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.32439 -38.26 -0.1 - vertex 2.53723 -35.0007 -0.1 - vertex 2.33801 -34.9386 -0.1 + vertex 2.32439 -38.26 -0.2 + vertex 2.53723 -35.0007 -0.2 + vertex 2.33801 -34.9386 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.53723 -35.0007 -0.1 - vertex 2.32439 -38.26 -0.1 - vertex 2.93102 -38.0768 -0.1 + vertex 2.53723 -35.0007 -0.2 + vertex 2.32439 -38.26 -0.2 + vertex 2.93102 -38.0768 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.66207 -38.4009 -0.1 - vertex 2.33801 -34.9386 -0.1 - vertex 2.15022 -34.8616 -0.1 + vertex 1.66207 -38.4009 -0.2 + vertex 2.33801 -34.9386 -0.2 + vertex 2.15022 -34.8616 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.66207 -38.4009 -0.1 - vertex 2.15022 -34.8616 -0.1 - vertex 1.97535 -34.7696 -0.1 + vertex 1.66207 -38.4009 -0.2 + vertex 2.15022 -34.8616 -0.2 + vertex 1.97535 -34.7696 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.974434 -38.4962 -0.1 - vertex 1.97535 -34.7696 -0.1 - vertex 1.8149 -34.6627 -0.1 + vertex 0.974434 -38.4962 -0.2 + vertex 1.97535 -34.7696 -0.2 + vertex 1.8149 -34.6627 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.291868 -38.543 -0.1 - vertex 1.8149 -34.6627 -0.1 - vertex 1.67035 -34.5411 -0.1 + vertex 0.291868 -38.543 -0.2 + vertex 1.8149 -34.6627 -0.2 + vertex 1.67035 -34.5411 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.33801 -34.9386 -0.1 - vertex 1.66207 -38.4009 -0.1 - vertex 2.32439 -38.26 -0.1 + vertex 2.33801 -34.9386 -0.2 + vertex 1.66207 -38.4009 -0.2 + vertex 2.32439 -38.26 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.355246 -38.538 -0.1 - vertex 1.67035 -34.5411 -0.1 - vertex 1.50339 -34.3603 -0.1 + vertex -0.355246 -38.538 -0.2 + vertex 1.67035 -34.5411 -0.2 + vertex 1.50339 -34.3603 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.66982 -37.4742 -0.1 - vertex 1.50339 -34.3603 -0.1 - vertex 1.35782 -34.1559 -0.1 + vertex -2.66982 -37.4742 -0.2 + vertex 1.50339 -34.3603 -0.2 + vertex 1.35782 -34.1559 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.25661 -36.6145 -0.1 - vertex 1.35782 -34.1559 -0.1 - vertex 1.23329 -33.9292 -0.1 + vertex -3.25661 -36.6145 -0.2 + vertex 1.35782 -34.1559 -0.2 + vertex 1.23329 -33.9292 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.68783 -35.5721 -0.1 - vertex 1.23329 -33.9292 -0.1 - vertex 1.1294 -33.6813 -0.1 + vertex -3.68783 -35.5721 -0.2 + vertex 1.23329 -33.9292 -0.2 + vertex 1.1294 -33.6813 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.87516 -34.8013 -0.1 - vertex 1.1294 -33.6813 -0.1 - vertex 1.04578 -33.4136 -0.1 + vertex -3.87516 -34.8013 -0.2 + vertex 1.1294 -33.6813 -0.2 + vertex 1.04578 -33.4136 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.97277 -33.9877 -0.1 - vertex 1.04578 -33.4136 -0.1 - vertex 0.982074 -33.1272 -0.1 + vertex -3.97277 -33.9877 -0.2 + vertex 1.04578 -33.4136 -0.2 + vertex 0.982074 -33.1272 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.97535 -34.7696 -0.1 - vertex 0.974434 -38.4962 -0.1 - vertex 1.66207 -38.4009 -0.1 + vertex 1.97535 -34.7696 -0.2 + vertex 0.974434 -38.4962 -0.2 + vertex 1.66207 -38.4009 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.97004 -33.2395 -0.1 - vertex 0.982074 -33.1272 -0.1 - vertex 0.937893 -32.8234 -0.1 + vertex -3.97004 -33.2395 -0.2 + vertex 0.982074 -33.1272 -0.2 + vertex 0.937893 -32.8234 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.8527 -32.4651 -0.1 - vertex 0.937893 -32.8234 -0.1 - vertex 0.912865 -32.5034 -0.1 + vertex -3.8527 -32.4651 -0.2 + vertex 0.937893 -32.8234 -0.2 + vertex 0.912865 -32.5034 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.75417 -32.0301 -0.1 - vertex 0.912865 -32.5034 -0.1 - vertex 0.906618 -32.1685 -0.1 + vertex -3.75417 -32.0301 -0.2 + vertex 0.912865 -32.5034 -0.2 + vertex 0.906618 -32.1685 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.97046 -27.8549 -0.1 - vertex -1.45361 -26.5684 -0.1 - vertex 1.63381 -28.6878 -0.1 + vertex 1.97046 -27.8549 -0.2 + vertex -1.45361 -26.5684 -0.2 + vertex 1.63381 -28.6878 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -1.72295 -27.0315 -0.1 - vertex 1.63381 -28.6878 -0.1 - vertex -1.45361 -26.5684 -0.1 + vertex -1.72295 -27.0315 -0.2 + vertex 1.63381 -28.6878 -0.2 + vertex -1.45361 -26.5684 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -2.23947 -28.0146 -0.1 - vertex 1.63381 -28.6878 -0.1 - vertex -1.72295 -27.0315 -0.1 + vertex -2.23947 -28.0146 -0.2 + vertex 1.63381 -28.6878 -0.2 + vertex -1.72295 -27.0315 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.63381 -28.6878 -0.1 - vertex -2.23947 -28.0146 -0.1 - vertex 1.35733 -29.5107 -0.1 + vertex 1.63381 -28.6878 -0.2 + vertex -2.23947 -28.0146 -0.2 + vertex 1.35733 -29.5107 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -2.71481 -29.043 -0.1 - vertex 1.35733 -29.5107 -0.1 - vertex -2.23947 -28.0146 -0.1 + vertex -2.71481 -29.043 -0.2 + vertex 1.35733 -29.5107 -0.2 + vertex -2.23947 -28.0146 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.35733 -29.5107 -0.1 - vertex -2.71481 -29.043 -0.1 - vertex 1.144 -30.3137 -0.1 + vertex 1.35733 -29.5107 -0.2 + vertex -2.71481 -29.043 -0.2 + vertex 1.144 -30.3137 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.144 -30.3137 -0.1 - vertex -2.71481 -29.043 -0.1 - vertex 0.99682 -31.0867 -0.1 + vertex 1.144 -30.3137 -0.2 + vertex -2.71481 -29.043 -0.2 + vertex 0.99682 -31.0867 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -3.135 -30.0798 -0.1 - vertex 0.99682 -31.0867 -0.1 - vertex -2.71481 -29.043 -0.1 + vertex -3.135 -30.0798 -0.2 + vertex 0.99682 -31.0867 -0.2 + vertex -2.71481 -29.043 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.99682 -31.0867 -0.1 - vertex -3.135 -30.0798 -0.1 - vertex 0.918778 -31.8199 -0.1 + vertex 0.99682 -31.0867 -0.2 + vertex -3.135 -30.0798 -0.2 + vertex 0.918778 -31.8199 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -3.4861 -31.0878 -0.1 - vertex 0.918778 -31.8199 -0.1 - vertex -3.135 -30.0798 -0.1 + vertex -3.4861 -31.0878 -0.2 + vertex 0.918778 -31.8199 -0.2 + vertex -3.135 -30.0798 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.918778 -31.8199 -0.1 - vertex -3.4861 -31.0878 -0.1 - vertex 0.906618 -32.1685 -0.1 + vertex 0.918778 -31.8199 -0.2 + vertex -3.4861 -31.0878 -0.2 + vertex 0.906618 -32.1685 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -3.75417 -32.0301 -0.1 - vertex 0.906618 -32.1685 -0.1 - vertex -3.4861 -31.0878 -0.1 + vertex -3.75417 -32.0301 -0.2 + vertex 0.906618 -32.1685 -0.2 + vertex -3.4861 -31.0878 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.912865 -32.5034 -0.1 - vertex -3.75417 -32.0301 -0.1 - vertex -3.8527 -32.4651 -0.1 + vertex 0.912865 -32.5034 -0.2 + vertex -3.75417 -32.0301 -0.2 + vertex -3.8527 -32.4651 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.937893 -32.8234 -0.1 - vertex -3.8527 -32.4651 -0.1 - vertex -3.92523 -32.8697 -0.1 + vertex 0.937893 -32.8234 -0.2 + vertex -3.8527 -32.4651 -0.2 + vertex -3.92523 -32.8697 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.937893 -32.8234 -0.1 - vertex -3.92523 -32.8697 -0.1 - vertex -3.97004 -33.2395 -0.1 + vertex 0.937893 -32.8234 -0.2 + vertex -3.92523 -32.8697 -0.2 + vertex -3.97004 -33.2395 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.04578 -33.4136 -0.1 - vertex -3.97277 -33.9877 -0.1 - vertex -3.93569 -34.3989 -0.1 + vertex 1.04578 -33.4136 -0.2 + vertex -3.97277 -33.9877 -0.2 + vertex -3.93569 -34.3989 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.04578 -33.4136 -0.1 - vertex -3.93569 -34.3989 -0.1 - vertex -3.87516 -34.8013 -0.1 + vertex 1.04578 -33.4136 -0.2 + vertex -3.93569 -34.3989 -0.2 + vertex -3.87516 -34.8013 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.1294 -33.6813 -0.1 - vertex -3.87516 -34.8013 -0.1 - vertex -3.79219 -35.193 -0.1 + vertex 1.1294 -33.6813 -0.2 + vertex -3.87516 -34.8013 -0.2 + vertex -3.79219 -35.193 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.8149 -34.6627 -0.1 - vertex 0.291868 -38.543 -0.1 - vertex 0.974434 -38.4962 -0.1 + vertex 1.8149 -34.6627 -0.2 + vertex 0.291868 -38.543 -0.2 + vertex 0.974434 -38.4962 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.23329 -33.9292 -0.1 - vertex -3.56309 -35.9367 -0.1 - vertex -3.41901 -36.2848 -0.1 + vertex 1.23329 -33.9292 -0.2 + vertex -3.56309 -35.9367 -0.2 + vertex -3.41901 -36.2848 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.23329 -33.9292 -0.1 - vertex -3.41901 -36.2848 -0.1 - vertex -3.25661 -36.6145 -0.1 + vertex 1.23329 -33.9292 -0.2 + vertex -3.41901 -36.2848 -0.2 + vertex -3.25661 -36.6145 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.35782 -34.1559 -0.1 - vertex -3.25661 -36.6145 -0.1 - vertex -3.07693 -36.924 -0.1 + vertex 1.35782 -34.1559 -0.2 + vertex -3.25661 -36.6145 -0.2 + vertex -3.07693 -36.924 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.35782 -34.1559 -0.1 - vertex -3.07693 -36.924 -0.1 - vertex -2.88099 -37.2112 -0.1 + vertex 1.35782 -34.1559 -0.2 + vertex -3.07693 -36.924 -0.2 + vertex -2.88099 -37.2112 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.35782 -34.1559 -0.1 - vertex -2.88099 -37.2112 -0.1 - vertex -2.66982 -37.4742 -0.1 + vertex 1.35782 -34.1559 -0.2 + vertex -2.88099 -37.2112 -0.2 + vertex -2.66982 -37.4742 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.50339 -34.3603 -0.1 - vertex -2.20592 -37.9202 -0.1 - vertex -0.936529 -38.478 -0.1 + vertex 1.50339 -34.3603 -0.2 + vertex -2.20592 -37.9202 -0.2 + vertex -0.936529 -38.478 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.19299 -38.4265 -0.1 - vertex -2.20592 -37.9202 -0.1 - vertex -1.4216 -38.36 -0.1 + vertex -1.19299 -38.4265 -0.2 + vertex -2.20592 -37.9202 -0.2 + vertex -1.4216 -38.36 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.69347 -38.2465 -0.1 - vertex -2.20592 -37.9202 -0.1 - vertex -1.95525 -38.0993 -0.1 + vertex -1.69347 -38.2465 -0.2 + vertex -2.20592 -37.9202 -0.2 + vertex -1.95525 -38.0993 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.4216 -38.36 -0.1 - vertex -2.20592 -37.9202 -0.1 - vertex -1.69347 -38.2465 -0.1 + vertex -1.4216 -38.36 -0.2 + vertex -2.20592 -37.9202 -0.2 + vertex -1.69347 -38.2465 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.936529 -38.478 -0.1 - vertex -2.20592 -37.9202 -0.1 - vertex -1.19299 -38.4265 -0.1 + vertex -0.936529 -38.478 -0.2 + vertex -2.20592 -37.9202 -0.2 + vertex -1.19299 -38.4265 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.50339 -34.3603 -0.1 - vertex -2.44446 -37.7112 -0.1 - vertex -2.20592 -37.9202 -0.1 + vertex 1.50339 -34.3603 -0.2 + vertex -2.44446 -37.7112 -0.2 + vertex -2.20592 -37.9202 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.50339 -34.3603 -0.1 - vertex -0.936529 -38.478 -0.1 - vertex -0.355246 -38.538 -0.1 + vertex 1.50339 -34.3603 -0.2 + vertex -0.936529 -38.478 -0.2 + vertex -0.355246 -38.538 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.50339 -34.3603 -0.1 - vertex -2.66982 -37.4742 -0.1 - vertex -2.44446 -37.7112 -0.1 + vertex 1.50339 -34.3603 -0.2 + vertex -2.66982 -37.4742 -0.2 + vertex -2.44446 -37.7112 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.1294 -33.6813 -0.1 - vertex -3.79219 -35.193 -0.1 - vertex -3.68783 -35.5721 -0.1 + vertex 1.1294 -33.6813 -0.2 + vertex -3.79219 -35.193 -0.2 + vertex -3.68783 -35.5721 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.67035 -34.5411 -0.1 - vertex -0.355246 -38.538 -0.1 - vertex 0.291868 -38.543 -0.1 + vertex 1.67035 -34.5411 -0.2 + vertex -0.355246 -38.538 -0.2 + vertex 0.291868 -38.543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.982074 -33.1272 -0.1 - vertex -3.97004 -33.2395 -0.1 - vertex -3.98536 -33.5697 -0.1 + vertex 0.982074 -33.1272 -0.2 + vertex -3.97004 -33.2395 -0.2 + vertex -3.98536 -33.5697 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.23329 -33.9292 -0.1 - vertex -3.68783 -35.5721 -0.1 - vertex -3.56309 -35.9367 -0.1 + vertex 1.23329 -33.9292 -0.2 + vertex -3.68783 -35.5721 -0.2 + vertex -3.56309 -35.9367 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.982074 -33.1272 -0.1 - vertex -3.98536 -33.5697 -0.1 - vertex -3.97277 -33.9877 -0.1 + vertex 0.982074 -33.1272 -0.2 + vertex -3.98536 -33.5697 -0.2 + vertex -3.97277 -33.9877 -0.2 endloop endfacet facet normal -0.2949 -0.955528 0 outer loop - vertex 19.3736 -10.7173 -0.1 + vertex 19.3736 -10.7173 -0.2 vertex 19.4763 -10.749 0 vertex 19.3736 -10.7173 0 endloop @@ -1675,13 +1675,13 @@ solid OpenSCAD_Model facet normal -0.2949 -0.955528 -0 outer loop vertex 19.4763 -10.749 0 - vertex 19.3736 -10.7173 -0.1 - vertex 19.4763 -10.749 -0.1 + vertex 19.3736 -10.7173 -0.2 + vertex 19.4763 -10.749 -0.2 endloop endfacet facet normal -0.500051 -0.865996 0 outer loop - vertex 19.4763 -10.749 -0.1 + vertex 19.4763 -10.749 -0.2 vertex 19.557 -10.7956 0 vertex 19.4763 -10.749 0 endloop @@ -1689,307 +1689,307 @@ solid OpenSCAD_Model facet normal -0.500051 -0.865996 -0 outer loop vertex 19.557 -10.7956 0 - vertex 19.4763 -10.749 -0.1 - vertex 19.557 -10.7956 -0.1 + vertex 19.4763 -10.749 -0.2 + vertex 19.557 -10.7956 -0.2 endloop endfacet facet normal -0.714409 -0.699729 0 outer loop - vertex 19.6172 -10.8571 -0.1 + vertex 19.6172 -10.8571 -0.2 vertex 19.557 -10.7956 0 - vertex 19.557 -10.7956 -0.1 + vertex 19.557 -10.7956 -0.2 endloop endfacet facet normal -0.714409 -0.699729 0 outer loop vertex 19.557 -10.7956 0 - vertex 19.6172 -10.8571 -0.1 + vertex 19.6172 -10.8571 -0.2 vertex 19.6172 -10.8571 0 endloop endfacet facet normal -0.879991 -0.47499 0 outer loop - vertex 19.6583 -10.9333 -0.1 + vertex 19.6583 -10.9333 -0.2 vertex 19.6172 -10.8571 0 - vertex 19.6172 -10.8571 -0.1 + vertex 19.6172 -10.8571 -0.2 endloop endfacet facet normal -0.879991 -0.47499 0 outer loop vertex 19.6172 -10.8571 0 - vertex 19.6583 -10.9333 -0.1 + vertex 19.6583 -10.9333 -0.2 vertex 19.6583 -10.9333 0 endloop endfacet facet normal -0.967951 -0.251138 0 outer loop - vertex 19.6819 -11.0243 -0.1 + vertex 19.6819 -11.0243 -0.2 vertex 19.6583 -10.9333 0 - vertex 19.6583 -10.9333 -0.1 + vertex 19.6583 -10.9333 -0.2 endloop endfacet facet normal -0.967951 -0.251138 0 outer loop vertex 19.6583 -10.9333 0 - vertex 19.6819 -11.0243 -0.1 + vertex 19.6819 -11.0243 -0.2 vertex 19.6819 -11.0243 0 endloop endfacet facet normal -0.997465 -0.0711569 0 outer loop - vertex 19.6895 -11.13 -0.1 + vertex 19.6895 -11.13 -0.2 vertex 19.6819 -11.0243 0 - vertex 19.6819 -11.0243 -0.1 + vertex 19.6819 -11.0243 -0.2 endloop endfacet facet normal -0.997465 -0.0711569 0 outer loop vertex 19.6819 -11.0243 0 - vertex 19.6895 -11.13 -0.1 + vertex 19.6895 -11.13 -0.2 vertex 19.6895 -11.13 0 endloop endfacet facet normal -0.984705 0.17423 0 outer loop - vertex 19.6598 -11.2975 -0.1 + vertex 19.6598 -11.2975 -0.2 vertex 19.6895 -11.13 0 - vertex 19.6895 -11.13 -0.1 + vertex 19.6895 -11.13 -0.2 endloop endfacet facet normal -0.984705 0.17423 0 outer loop vertex 19.6895 -11.13 0 - vertex 19.6598 -11.2975 -0.1 + vertex 19.6598 -11.2975 -0.2 vertex 19.6598 -11.2975 0 endloop endfacet facet normal -0.956743 0.290933 0 outer loop - vertex 19.5653 -11.6083 -0.1 + vertex 19.5653 -11.6083 -0.2 vertex 19.6598 -11.2975 0 - vertex 19.6598 -11.2975 -0.1 + vertex 19.6598 -11.2975 -0.2 endloop endfacet facet normal -0.956743 0.290933 0 outer loop vertex 19.6598 -11.2975 0 - vertex 19.5653 -11.6083 -0.1 + vertex 19.5653 -11.6083 -0.2 vertex 19.5653 -11.6083 0 endloop endfacet facet normal -0.93899 0.343946 0 outer loop - vertex 19.1479 -12.7477 -0.1 + vertex 19.1479 -12.7477 -0.2 vertex 19.5653 -11.6083 0 - vertex 19.5653 -11.6083 -0.1 + vertex 19.5653 -11.6083 -0.2 endloop endfacet facet normal -0.93899 0.343946 0 outer loop vertex 19.5653 -11.6083 0 - vertex 19.1479 -12.7477 -0.1 + vertex 19.1479 -12.7477 -0.2 vertex 19.1479 -12.7477 0 endloop endfacet facet normal -0.930496 0.366302 0 outer loop - vertex 18.3699 -14.7241 -0.1 + vertex 18.3699 -14.7241 -0.2 vertex 19.1479 -12.7477 0 - vertex 19.1479 -12.7477 -0.1 + vertex 19.1479 -12.7477 -0.2 endloop endfacet facet normal -0.930496 0.366302 0 outer loop vertex 19.1479 -12.7477 0 - vertex 18.3699 -14.7241 -0.1 + vertex 18.3699 -14.7241 -0.2 vertex 18.3699 -14.7241 0 endloop endfacet facet normal -0.92735 0.374196 0 outer loop - vertex 17.1638 -17.7131 -0.1 + vertex 17.1638 -17.7131 -0.2 vertex 18.3699 -14.7241 0 - vertex 18.3699 -14.7241 -0.1 + vertex 18.3699 -14.7241 -0.2 endloop endfacet facet normal -0.92735 0.374196 0 outer loop vertex 18.3699 -14.7241 0 - vertex 17.1638 -17.7131 -0.1 + vertex 17.1638 -17.7131 -0.2 vertex 17.1638 -17.7131 0 endloop endfacet facet normal -0.922106 0.386938 0 outer loop - vertex 14.5952 -23.8342 -0.1 + vertex 14.5952 -23.8342 -0.2 vertex 17.1638 -17.7131 0 - vertex 17.1638 -17.7131 -0.1 + vertex 17.1638 -17.7131 -0.2 endloop endfacet facet normal -0.922106 0.386938 0 outer loop vertex 17.1638 -17.7131 0 - vertex 14.5952 -23.8342 -0.1 + vertex 14.5952 -23.8342 -0.2 vertex 14.5952 -23.8342 0 endloop endfacet facet normal -0.923985 0.382428 0 outer loop - vertex 12.8097 -28.1484 -0.1 + vertex 12.8097 -28.1484 -0.2 vertex 14.5952 -23.8342 0 - vertex 14.5952 -23.8342 -0.1 + vertex 14.5952 -23.8342 -0.2 endloop endfacet facet normal -0.923985 0.382428 0 outer loop vertex 14.5952 -23.8342 0 - vertex 12.8097 -28.1484 -0.1 + vertex 12.8097 -28.1484 -0.2 vertex 12.8097 -28.1484 0 endloop endfacet facet normal -0.928075 0.372394 0 outer loop - vertex 12.0447 -30.0547 -0.1 + vertex 12.0447 -30.0547 -0.2 vertex 12.8097 -28.1484 0 - vertex 12.8097 -28.1484 -0.1 + vertex 12.8097 -28.1484 -0.2 endloop endfacet facet normal -0.928075 0.372394 0 outer loop vertex 12.8097 -28.1484 0 - vertex 12.0447 -30.0547 -0.1 + vertex 12.0447 -30.0547 -0.2 vertex 12.0447 -30.0547 0 endloop endfacet facet normal -0.932522 0.361114 0 outer loop - vertex 11.5005 -31.4602 -0.1 + vertex 11.5005 -31.4602 -0.2 vertex 12.0447 -30.0547 0 - vertex 12.0447 -30.0547 -0.1 + vertex 12.0447 -30.0547 -0.2 endloop endfacet facet normal -0.932522 0.361114 0 outer loop vertex 12.0447 -30.0547 0 - vertex 11.5005 -31.4602 -0.1 + vertex 11.5005 -31.4602 -0.2 vertex 11.5005 -31.4602 0 endloop endfacet facet normal -0.938737 0.344634 0 outer loop - vertex 11.1661 -32.3709 -0.1 + vertex 11.1661 -32.3709 -0.2 vertex 11.5005 -31.4602 0 - vertex 11.5005 -31.4602 -0.1 + vertex 11.5005 -31.4602 -0.2 endloop endfacet facet normal -0.938737 0.344634 0 outer loop vertex 11.5005 -31.4602 0 - vertex 11.1661 -32.3709 -0.1 + vertex 11.1661 -32.3709 -0.2 vertex 11.1661 -32.3709 0 endloop endfacet facet normal -0.946728 0.322034 0 outer loop - vertex 10.9267 -33.0747 -0.1 + vertex 10.9267 -33.0747 -0.2 vertex 11.1661 -32.3709 0 - vertex 11.1661 -32.3709 -0.1 + vertex 11.1661 -32.3709 -0.2 endloop endfacet facet normal -0.946728 0.322034 0 outer loop vertex 11.1661 -32.3709 0 - vertex 10.9267 -33.0747 -0.1 + vertex 10.9267 -33.0747 -0.2 vertex 10.9267 -33.0747 0 endloop endfacet facet normal -0.963806 0.266603 0 outer loop - vertex 10.7819 -33.5982 -0.1 + vertex 10.7819 -33.5982 -0.2 vertex 10.9267 -33.0747 0 - vertex 10.9267 -33.0747 -0.1 + vertex 10.9267 -33.0747 -0.2 endloop endfacet facet normal -0.963806 0.266603 0 outer loop vertex 10.9267 -33.0747 0 - vertex 10.7819 -33.5982 -0.1 + vertex 10.7819 -33.5982 -0.2 vertex 10.7819 -33.5982 0 endloop endfacet facet normal -0.983685 0.179901 0 outer loop - vertex 10.7449 -33.8005 -0.1 + vertex 10.7449 -33.8005 -0.2 vertex 10.7819 -33.5982 0 - vertex 10.7819 -33.5982 -0.1 + vertex 10.7819 -33.5982 -0.2 endloop endfacet facet normal -0.983685 0.179901 0 outer loop vertex 10.7819 -33.5982 0 - vertex 10.7449 -33.8005 -0.1 + vertex 10.7449 -33.8005 -0.2 vertex 10.7449 -33.8005 0 endloop endfacet facet normal -0.996773 0.0802779 0 outer loop - vertex 10.7315 -33.9677 -0.1 + vertex 10.7315 -33.9677 -0.2 vertex 10.7449 -33.8005 0 - vertex 10.7449 -33.8005 -0.1 + vertex 10.7449 -33.8005 -0.2 endloop endfacet facet normal -0.996773 0.0802779 0 outer loop vertex 10.7449 -33.8005 0 - vertex 10.7315 -33.9677 -0.1 + vertex 10.7315 -33.9677 -0.2 vertex 10.7315 -33.9677 0 endloop endfacet facet normal -0.997256 -0.0740364 0 outer loop - vertex 10.7415 -34.103 -0.1 + vertex 10.7415 -34.103 -0.2 vertex 10.7315 -33.9677 0 - vertex 10.7315 -33.9677 -0.1 + vertex 10.7315 -33.9677 -0.2 endloop endfacet facet normal -0.997256 -0.0740364 0 outer loop vertex 10.7315 -33.9677 0 - vertex 10.7415 -34.103 -0.1 + vertex 10.7415 -34.103 -0.2 vertex 10.7415 -34.103 0 endloop endfacet facet normal -0.954067 -0.299593 0 outer loop - vertex 10.775 -34.2097 -0.1 + vertex 10.775 -34.2097 -0.2 vertex 10.7415 -34.103 0 - vertex 10.7415 -34.103 -0.1 + vertex 10.7415 -34.103 -0.2 endloop endfacet facet normal -0.954067 -0.299593 0 outer loop vertex 10.7415 -34.103 0 - vertex 10.775 -34.2097 -0.1 + vertex 10.775 -34.2097 -0.2 vertex 10.775 -34.2097 0 endloop endfacet facet normal -0.81961 -0.572921 0 outer loop - vertex 10.832 -34.2912 -0.1 + vertex 10.832 -34.2912 -0.2 vertex 10.775 -34.2097 0 - vertex 10.775 -34.2097 -0.1 + vertex 10.775 -34.2097 -0.2 endloop endfacet facet normal -0.81961 -0.572921 0 outer loop vertex 10.775 -34.2097 0 - vertex 10.832 -34.2912 -0.1 + vertex 10.832 -34.2912 -0.2 vertex 10.832 -34.2912 0 endloop endfacet facet normal -0.595252 -0.803539 0 outer loop - vertex 10.832 -34.2912 -0.1 + vertex 10.832 -34.2912 -0.2 vertex 10.9123 -34.3507 0 vertex 10.832 -34.2912 0 endloop @@ -1997,13 +1997,13 @@ solid OpenSCAD_Model facet normal -0.595252 -0.803539 -0 outer loop vertex 10.9123 -34.3507 0 - vertex 10.832 -34.2912 -0.1 - vertex 10.9123 -34.3507 -0.1 + vertex 10.832 -34.2912 -0.2 + vertex 10.9123 -34.3507 -0.2 endloop endfacet facet normal -0.366659 -0.930355 0 outer loop - vertex 10.9123 -34.3507 -0.1 + vertex 10.9123 -34.3507 -0.2 vertex 11.016 -34.3915 0 vertex 10.9123 -34.3507 0 endloop @@ -2011,13 +2011,13 @@ solid OpenSCAD_Model facet normal -0.366659 -0.930355 -0 outer loop vertex 11.016 -34.3915 0 - vertex 10.9123 -34.3507 -0.1 - vertex 11.016 -34.3915 -0.1 + vertex 10.9123 -34.3507 -0.2 + vertex 11.016 -34.3915 -0.2 endloop endfacet facet normal -0.197016 -0.9804 0 outer loop - vertex 11.016 -34.3915 -0.1 + vertex 11.016 -34.3915 -0.2 vertex 11.143 -34.4171 0 vertex 11.016 -34.3915 0 endloop @@ -2025,13 +2025,13 @@ solid OpenSCAD_Model facet normal -0.197016 -0.9804 -0 outer loop vertex 11.143 -34.4171 0 - vertex 11.016 -34.3915 -0.1 - vertex 11.143 -34.4171 -0.1 + vertex 11.016 -34.3915 -0.2 + vertex 11.143 -34.4171 -0.2 endloop endfacet facet normal -0.0562764 -0.998415 0 outer loop - vertex 11.143 -34.4171 -0.1 + vertex 11.143 -34.4171 -0.2 vertex 11.4668 -34.4353 0 vertex 11.143 -34.4171 0 endloop @@ -2039,13 +2039,13 @@ solid OpenSCAD_Model facet normal -0.0562764 -0.998415 -0 outer loop vertex 11.4668 -34.4353 0 - vertex 11.143 -34.4171 -0.1 - vertex 11.4668 -34.4353 -0.1 + vertex 11.143 -34.4171 -0.2 + vertex 11.4668 -34.4353 -0.2 endloop endfacet facet normal -0.118118 -0.993 0 outer loop - vertex 11.4668 -34.4353 -0.1 + vertex 11.4668 -34.4353 -0.2 vertex 11.6919 -34.4621 0 vertex 11.4668 -34.4353 0 endloop @@ -2053,13 +2053,13 @@ solid OpenSCAD_Model facet normal -0.118118 -0.993 -0 outer loop vertex 11.6919 -34.4621 0 - vertex 11.4668 -34.4353 -0.1 - vertex 11.6919 -34.4621 -0.1 + vertex 11.4668 -34.4353 -0.2 + vertex 11.6919 -34.4621 -0.2 endloop endfacet facet normal -0.357337 -0.933976 0 outer loop - vertex 11.6919 -34.4621 -0.1 + vertex 11.6919 -34.4621 -0.2 vertex 11.8827 -34.5351 0 vertex 11.6919 -34.4621 0 endloop @@ -2067,13 +2067,13 @@ solid OpenSCAD_Model facet normal -0.357337 -0.933976 -0 outer loop vertex 11.8827 -34.5351 0 - vertex 11.6919 -34.4621 -0.1 - vertex 11.8827 -34.5351 -0.1 + vertex 11.6919 -34.4621 -0.2 + vertex 11.8827 -34.5351 -0.2 endloop endfacet facet normal -0.596054 -0.802944 0 outer loop - vertex 11.8827 -34.5351 -0.1 + vertex 11.8827 -34.5351 -0.2 vertex 12.0364 -34.6492 0 vertex 11.8827 -34.5351 0 endloop @@ -2081,125 +2081,125 @@ solid OpenSCAD_Model facet normal -0.596054 -0.802944 -0 outer loop vertex 12.0364 -34.6492 0 - vertex 11.8827 -34.5351 -0.1 - vertex 12.0364 -34.6492 -0.1 + vertex 11.8827 -34.5351 -0.2 + vertex 12.0364 -34.6492 -0.2 endloop endfacet facet normal -0.796902 -0.604109 0 outer loop - vertex 12.1503 -34.7994 -0.1 + vertex 12.1503 -34.7994 -0.2 vertex 12.0364 -34.6492 0 - vertex 12.0364 -34.6492 -0.1 + vertex 12.0364 -34.6492 -0.2 endloop endfacet facet normal -0.796902 -0.604109 0 outer loop vertex 12.0364 -34.6492 0 - vertex 12.1503 -34.7994 -0.1 + vertex 12.1503 -34.7994 -0.2 vertex 12.1503 -34.7994 0 endloop endfacet facet normal -0.930863 -0.365367 0 outer loop - vertex 12.2214 -34.9805 -0.1 + vertex 12.2214 -34.9805 -0.2 vertex 12.1503 -34.7994 0 - vertex 12.1503 -34.7994 -0.1 + vertex 12.1503 -34.7994 -0.2 endloop endfacet facet normal -0.930863 -0.365367 0 outer loop vertex 12.1503 -34.7994 0 - vertex 12.2214 -34.9805 -0.1 + vertex 12.2214 -34.9805 -0.2 vertex 12.2214 -34.9805 0 endloop endfacet facet normal -0.992505 -0.122206 0 outer loop - vertex 12.2468 -35.1875 -0.1 + vertex 12.2468 -35.1875 -0.2 vertex 12.2214 -34.9805 0 - vertex 12.2214 -34.9805 -0.1 + vertex 12.2214 -34.9805 -0.2 endloop endfacet facet normal -0.992505 -0.122206 0 outer loop vertex 12.2214 -34.9805 0 - vertex 12.2468 -35.1875 -0.1 + vertex 12.2468 -35.1875 -0.2 vertex 12.2468 -35.1875 0 endloop endfacet facet normal -0.994949 0.100386 0 outer loop - vertex 12.2239 -35.4151 -0.1 + vertex 12.2239 -35.4151 -0.2 vertex 12.2468 -35.1875 0 - vertex 12.2468 -35.1875 -0.1 + vertex 12.2468 -35.1875 -0.2 endloop endfacet facet normal -0.994949 0.100386 0 outer loop vertex 12.2468 -35.1875 0 - vertex 12.2239 -35.4151 -0.1 + vertex 12.2239 -35.4151 -0.2 vertex 12.2239 -35.4151 0 endloop endfacet facet normal -0.956433 0.291953 0 outer loop - vertex 12.1496 -35.6584 -0.1 + vertex 12.1496 -35.6584 -0.2 vertex 12.2239 -35.4151 0 - vertex 12.2239 -35.4151 -0.1 + vertex 12.2239 -35.4151 -0.2 endloop endfacet facet normal -0.956433 0.291953 0 outer loop vertex 12.2239 -35.4151 0 - vertex 12.1496 -35.6584 -0.1 + vertex 12.1496 -35.6584 -0.2 vertex 12.1496 -35.6584 0 endloop endfacet facet normal -0.890412 0.455156 0 outer loop - vertex 12.0956 -35.7642 -0.1 + vertex 12.0956 -35.7642 -0.2 vertex 12.1496 -35.6584 0 - vertex 12.1496 -35.6584 -0.1 + vertex 12.1496 -35.6584 -0.2 endloop endfacet facet normal -0.890412 0.455156 0 outer loop vertex 12.1496 -35.6584 0 - vertex 12.0956 -35.7642 -0.1 + vertex 12.0956 -35.7642 -0.2 vertex 12.0956 -35.7642 0 endloop endfacet facet normal -0.820093 0.572231 0 outer loop - vertex 12.0181 -35.8752 -0.1 + vertex 12.0181 -35.8752 -0.2 vertex 12.0956 -35.7642 0 - vertex 12.0956 -35.7642 -0.1 + vertex 12.0956 -35.7642 -0.2 endloop endfacet facet normal -0.820093 0.572231 0 outer loop vertex 12.0956 -35.7642 0 - vertex 12.0181 -35.8752 -0.1 + vertex 12.0181 -35.8752 -0.2 vertex 12.0181 -35.8752 0 endloop endfacet facet normal -0.732832 0.680409 0 outer loop - vertex 11.8034 -36.1064 -0.1 + vertex 11.8034 -36.1064 -0.2 vertex 12.0181 -35.8752 0 - vertex 12.0181 -35.8752 -0.1 + vertex 12.0181 -35.8752 -0.2 endloop endfacet facet normal -0.732832 0.680409 0 outer loop vertex 12.0181 -35.8752 0 - vertex 11.8034 -36.1064 -0.1 + vertex 11.8034 -36.1064 -0.2 vertex 11.8034 -36.1064 0 endloop endfacet facet normal -0.642938 0.765918 0 outer loop - vertex 11.8034 -36.1064 -0.1 + vertex 11.8034 -36.1064 -0.2 vertex 11.5264 -36.339 0 vertex 11.8034 -36.1064 0 endloop @@ -2207,13 +2207,13 @@ solid OpenSCAD_Model facet normal -0.642938 0.765918 0 outer loop vertex 11.5264 -36.339 0 - vertex 11.8034 -36.1064 -0.1 - vertex 11.5264 -36.339 -0.1 + vertex 11.8034 -36.1064 -0.2 + vertex 11.5264 -36.339 -0.2 endloop endfacet facet normal -0.569468 0.822014 0 outer loop - vertex 11.5264 -36.339 -0.1 + vertex 11.5264 -36.339 -0.2 vertex 11.208 -36.5595 0 vertex 11.5264 -36.339 0 endloop @@ -2221,13 +2221,13 @@ solid OpenSCAD_Model facet normal -0.569468 0.822014 0 outer loop vertex 11.208 -36.5595 0 - vertex 11.5264 -36.339 -0.1 - vertex 11.208 -36.5595 -0.1 + vertex 11.5264 -36.339 -0.2 + vertex 11.208 -36.5595 -0.2 endloop endfacet facet normal -0.499497 0.866315 0 outer loop - vertex 11.208 -36.5595 -0.1 + vertex 11.208 -36.5595 -0.2 vertex 10.8691 -36.7549 0 vertex 11.208 -36.5595 0 endloop @@ -2235,13 +2235,13 @@ solid OpenSCAD_Model facet normal -0.499497 0.866315 0 outer loop vertex 10.8691 -36.7549 0 - vertex 11.208 -36.5595 -0.1 - vertex 10.8691 -36.7549 -0.1 + vertex 11.208 -36.5595 -0.2 + vertex 10.8691 -36.7549 -0.2 endloop endfacet facet normal -0.420709 0.907196 0 outer loop - vertex 10.8691 -36.7549 -0.1 + vertex 10.8691 -36.7549 -0.2 vertex 10.5307 -36.9119 0 vertex 10.8691 -36.7549 0 endloop @@ -2249,13 +2249,13 @@ solid OpenSCAD_Model facet normal -0.420709 0.907196 0 outer loop vertex 10.5307 -36.9119 0 - vertex 10.8691 -36.7549 -0.1 - vertex 10.5307 -36.9119 -0.1 + vertex 10.8691 -36.7549 -0.2 + vertex 10.5307 -36.9119 -0.2 endloop endfacet facet normal -0.315116 0.949053 0 outer loop - vertex 10.5307 -36.9119 -0.1 + vertex 10.5307 -36.9119 -0.2 vertex 10.2137 -37.0171 0 vertex 10.5307 -36.9119 0 endloop @@ -2263,13 +2263,13 @@ solid OpenSCAD_Model facet normal -0.315116 0.949053 0 outer loop vertex 10.2137 -37.0171 0 - vertex 10.5307 -36.9119 -0.1 - vertex 10.2137 -37.0171 -0.1 + vertex 10.5307 -36.9119 -0.2 + vertex 10.2137 -37.0171 -0.2 endloop endfacet facet normal -0.145343 0.989381 0 outer loop - vertex 10.2137 -37.0171 -0.1 + vertex 10.2137 -37.0171 -0.2 vertex 9.93892 -37.0575 0 vertex 10.2137 -37.0171 0 endloop @@ -2277,13 +2277,13 @@ solid OpenSCAD_Model facet normal -0.145343 0.989381 0 outer loop vertex 9.93892 -37.0575 0 - vertex 10.2137 -37.0171 -0.1 - vertex 9.93892 -37.0575 -0.1 + vertex 10.2137 -37.0171 -0.2 + vertex 9.93892 -37.0575 -0.2 endloop endfacet facet normal -0.15554 0.98783 0 outer loop - vertex 9.93892 -37.0575 -0.1 + vertex 9.93892 -37.0575 -0.2 vertex 9.71926 -37.0921 0 vertex 9.93892 -37.0575 0 endloop @@ -2291,13 +2291,13 @@ solid OpenSCAD_Model facet normal -0.15554 0.98783 0 outer loop vertex 9.71926 -37.0921 0 - vertex 9.93892 -37.0575 -0.1 - vertex 9.71926 -37.0921 -0.1 + vertex 9.93892 -37.0575 -0.2 + vertex 9.71926 -37.0921 -0.2 endloop endfacet facet normal -0.252236 0.967666 0 outer loop - vertex 9.71926 -37.0921 -0.1 + vertex 9.71926 -37.0921 -0.2 vertex 9.37163 -37.1827 0 vertex 9.71926 -37.0921 0 endloop @@ -2305,13 +2305,13 @@ solid OpenSCAD_Model facet normal -0.252236 0.967666 0 outer loop vertex 9.37163 -37.1827 0 - vertex 9.71926 -37.0921 -0.1 - vertex 9.37163 -37.1827 -0.1 + vertex 9.71926 -37.0921 -0.2 + vertex 9.37163 -37.1827 -0.2 endloop endfacet facet normal -0.296619 0.954996 0 outer loop - vertex 9.37163 -37.1827 -0.1 + vertex 9.37163 -37.1827 -0.2 vertex 8.94379 -37.3156 0 vertex 9.37163 -37.1827 0 endloop @@ -2319,13 +2319,13 @@ solid OpenSCAD_Model facet normal -0.296619 0.954996 0 outer loop vertex 8.94379 -37.3156 0 - vertex 9.37163 -37.1827 -0.1 - vertex 8.94379 -37.3156 -0.1 + vertex 9.37163 -37.1827 -0.2 + vertex 8.94379 -37.3156 -0.2 endloop endfacet facet normal -0.330869 0.943677 0 outer loop - vertex 8.94379 -37.3156 -0.1 + vertex 8.94379 -37.3156 -0.2 vertex 8.4835 -37.477 0 vertex 8.94379 -37.3156 0 endloop @@ -2333,13 +2333,13 @@ solid OpenSCAD_Model facet normal -0.330869 0.943677 0 outer loop vertex 8.4835 -37.477 0 - vertex 8.94379 -37.3156 -0.1 - vertex 8.4835 -37.477 -0.1 + vertex 8.94379 -37.3156 -0.2 + vertex 8.4835 -37.477 -0.2 endloop endfacet facet normal -0.343608 0.939113 0 outer loop - vertex 8.4835 -37.477 -0.1 + vertex 8.4835 -37.477 -0.2 vertex 7.35232 -37.8908 0 vertex 8.4835 -37.477 0 endloop @@ -2347,13 +2347,13 @@ solid OpenSCAD_Model facet normal -0.343608 0.939113 0 outer loop vertex 7.35232 -37.8908 0 - vertex 8.4835 -37.477 -0.1 - vertex 7.35232 -37.8908 -0.1 + vertex 8.4835 -37.477 -0.2 + vertex 7.35232 -37.8908 -0.2 endloop endfacet facet normal -0.324819 0.945776 0 outer loop - vertex 7.35232 -37.8908 -0.1 + vertex 7.35232 -37.8908 -0.2 vertex 6.47346 -38.1927 0 vertex 7.35232 -37.8908 0 endloop @@ -2361,13 +2361,13 @@ solid OpenSCAD_Model facet normal -0.324819 0.945776 0 outer loop vertex 6.47346 -38.1927 0 - vertex 7.35232 -37.8908 -0.1 - vertex 6.47346 -38.1927 -0.1 + vertex 7.35232 -37.8908 -0.2 + vertex 6.47346 -38.1927 -0.2 endloop endfacet facet normal -0.280895 0.959739 0 outer loop - vertex 6.47346 -38.1927 -0.1 + vertex 6.47346 -38.1927 -0.2 vertex 5.81563 -38.3852 0 vertex 6.47346 -38.1927 0 endloop @@ -2375,13 +2375,13 @@ solid OpenSCAD_Model facet normal -0.280895 0.959739 0 outer loop vertex 5.81563 -38.3852 0 - vertex 6.47346 -38.1927 -0.1 - vertex 5.81563 -38.3852 -0.1 + vertex 6.47346 -38.1927 -0.2 + vertex 5.81563 -38.3852 -0.2 endloop endfacet facet normal -0.214328 0.976762 0 outer loop - vertex 5.81563 -38.3852 -0.1 + vertex 5.81563 -38.3852 -0.2 vertex 5.55983 -38.4413 0 vertex 5.81563 -38.3852 0 endloop @@ -2389,13 +2389,13 @@ solid OpenSCAD_Model facet normal -0.214328 0.976762 0 outer loop vertex 5.55983 -38.4413 0 - vertex 5.81563 -38.3852 -0.1 - vertex 5.55983 -38.4413 -0.1 + vertex 5.81563 -38.3852 -0.2 + vertex 5.55983 -38.4413 -0.2 endloop endfacet facet normal -0.139165 0.990269 0 outer loop - vertex 5.55983 -38.4413 -0.1 + vertex 5.55983 -38.4413 -0.2 vertex 5.34756 -38.4712 0 vertex 5.55983 -38.4413 0 endloop @@ -2403,13 +2403,13 @@ solid OpenSCAD_Model facet normal -0.139165 0.990269 0 outer loop vertex 5.34756 -38.4712 0 - vertex 5.55983 -38.4413 -0.1 - vertex 5.34756 -38.4712 -0.1 + vertex 5.55983 -38.4413 -0.2 + vertex 5.34756 -38.4712 -0.2 endloop endfacet facet normal -0.0224422 0.999748 0 outer loop - vertex 5.34756 -38.4712 -0.1 + vertex 5.34756 -38.4712 -0.2 vertex 5.17491 -38.475 0 vertex 5.34756 -38.4712 0 endloop @@ -2417,13 +2417,13 @@ solid OpenSCAD_Model facet normal -0.0224422 0.999748 0 outer loop vertex 5.17491 -38.475 0 - vertex 5.34756 -38.4712 -0.1 - vertex 5.17491 -38.475 -0.1 + vertex 5.34756 -38.4712 -0.2 + vertex 5.17491 -38.475 -0.2 endloop endfacet facet normal 0.156812 0.987628 -0 outer loop - vertex 5.17491 -38.475 -0.1 + vertex 5.17491 -38.475 -0.2 vertex 5.03796 -38.4533 0 vertex 5.17491 -38.475 0 endloop @@ -2431,13 +2431,13 @@ solid OpenSCAD_Model facet normal 0.156812 0.987628 0 outer loop vertex 5.03796 -38.4533 0 - vertex 5.17491 -38.475 -0.1 - vertex 5.03796 -38.4533 -0.1 + vertex 5.17491 -38.475 -0.2 + vertex 5.03796 -38.4533 -0.2 endloop endfacet facet normal 0.408161 0.91291 -0 outer loop - vertex 5.03796 -38.4533 -0.1 + vertex 5.03796 -38.4533 -0.2 vertex 4.93281 -38.4063 0 vertex 5.03796 -38.4533 0 endloop @@ -2445,13 +2445,13 @@ solid OpenSCAD_Model facet normal 0.408161 0.91291 0 outer loop vertex 4.93281 -38.4063 0 - vertex 5.03796 -38.4533 -0.1 - vertex 4.93281 -38.4063 -0.1 + vertex 5.03796 -38.4533 -0.2 + vertex 4.93281 -38.4063 -0.2 endloop endfacet facet normal 0.681473 0.731843 -0 outer loop - vertex 4.93281 -38.4063 -0.1 + vertex 4.93281 -38.4063 -0.2 vertex 4.85555 -38.3343 0 vertex 4.93281 -38.4063 0 endloop @@ -2459,97 +2459,97 @@ solid OpenSCAD_Model facet normal 0.681473 0.731843 0 outer loop vertex 4.85555 -38.3343 0 - vertex 4.93281 -38.4063 -0.1 - vertex 4.85555 -38.3343 -0.1 + vertex 4.93281 -38.4063 -0.2 + vertex 4.85555 -38.3343 -0.2 endloop endfacet facet normal 0.875472 0.48327 0 outer loop vertex 4.85555 -38.3343 0 - vertex 4.80226 -38.2378 -0.1 + vertex 4.80226 -38.2378 -0.2 vertex 4.80226 -38.2378 0 endloop endfacet facet normal 0.875472 0.48327 0 outer loop - vertex 4.80226 -38.2378 -0.1 + vertex 4.80226 -38.2378 -0.2 vertex 4.85555 -38.3343 0 - vertex 4.85555 -38.3343 -0.1 + vertex 4.85555 -38.3343 -0.2 endloop endfacet facet normal 0.964192 0.265205 0 outer loop vertex 4.80226 -38.2378 0 - vertex 4.76904 -38.117 -0.1 + vertex 4.76904 -38.117 -0.2 vertex 4.76904 -38.117 0 endloop endfacet facet normal 0.964192 0.265205 0 outer loop - vertex 4.76904 -38.117 -0.1 + vertex 4.76904 -38.117 -0.2 vertex 4.80226 -38.2378 0 - vertex 4.80226 -38.2378 -0.1 + vertex 4.80226 -38.2378 -0.2 endloop endfacet facet normal 0.997564 0.069762 0 outer loop vertex 4.76904 -38.117 0 - vertex 4.74716 -37.8041 -0.1 + vertex 4.74716 -37.8041 -0.2 vertex 4.74716 -37.8041 0 endloop endfacet facet normal 0.997564 0.069762 0 outer loop - vertex 4.74716 -37.8041 -0.1 + vertex 4.74716 -37.8041 -0.2 vertex 4.76904 -38.117 0 - vertex 4.76904 -38.117 -0.1 + vertex 4.76904 -38.117 -0.2 endloop endfacet facet normal 0.997378 0.0723715 0 outer loop vertex 4.74716 -37.8041 0 - vertex 4.72035 -37.4346 -0.1 + vertex 4.72035 -37.4346 -0.2 vertex 4.72035 -37.4346 0 endloop endfacet facet normal 0.997378 0.0723715 0 outer loop - vertex 4.72035 -37.4346 -0.1 + vertex 4.72035 -37.4346 -0.2 vertex 4.74716 -37.8041 0 - vertex 4.74716 -37.8041 -0.1 + vertex 4.74716 -37.8041 -0.2 endloop endfacet facet normal 0.968245 0.250005 0 outer loop vertex 4.72035 -37.4346 0 - vertex 4.69132 -37.3222 -0.1 + vertex 4.69132 -37.3222 -0.2 vertex 4.69132 -37.3222 0 endloop endfacet facet normal 0.968245 0.250005 0 outer loop - vertex 4.69132 -37.3222 -0.1 + vertex 4.69132 -37.3222 -0.2 vertex 4.72035 -37.4346 0 - vertex 4.72035 -37.4346 -0.1 + vertex 4.72035 -37.4346 -0.2 endloop endfacet facet normal 0.758745 0.651387 0 outer loop vertex 4.69132 -37.3222 0 - vertex 4.65588 -37.2809 -0.1 + vertex 4.65588 -37.2809 -0.2 vertex 4.65588 -37.2809 0 endloop endfacet facet normal 0.758745 0.651387 0 outer loop - vertex 4.65588 -37.2809 -0.1 + vertex 4.65588 -37.2809 -0.2 vertex 4.69132 -37.3222 0 - vertex 4.69132 -37.3222 -0.1 + vertex 4.69132 -37.3222 -0.2 endloop endfacet facet normal -0.395389 0.918514 0 outer loop - vertex 4.65588 -37.2809 -0.1 + vertex 4.65588 -37.2809 -0.2 vertex 4.26446 -37.4494 0 vertex 4.65588 -37.2809 0 endloop @@ -2557,13 +2557,13 @@ solid OpenSCAD_Model facet normal -0.395389 0.918514 0 outer loop vertex 4.26446 -37.4494 0 - vertex 4.65588 -37.2809 -0.1 - vertex 4.26446 -37.4494 -0.1 + vertex 4.65588 -37.2809 -0.2 + vertex 4.26446 -37.4494 -0.2 endloop endfacet facet normal -0.446029 0.895018 0 outer loop - vertex 4.26446 -37.4494 -0.1 + vertex 4.26446 -37.4494 -0.2 vertex 3.45158 -37.8545 0 vertex 4.26446 -37.4494 0 endloop @@ -2571,13 +2571,13 @@ solid OpenSCAD_Model facet normal -0.446029 0.895018 0 outer loop vertex 3.45158 -37.8545 0 - vertex 4.26446 -37.4494 -0.1 - vertex 3.45158 -37.8545 -0.1 + vertex 4.26446 -37.4494 -0.2 + vertex 3.45158 -37.8545 -0.2 endloop endfacet facet normal -0.42381 0.905751 0 outer loop - vertex 3.45158 -37.8545 -0.1 + vertex 3.45158 -37.8545 -0.2 vertex 3.20396 -37.9704 0 vertex 3.45158 -37.8545 0 endloop @@ -2585,13 +2585,13 @@ solid OpenSCAD_Model facet normal -0.42381 0.905751 0 outer loop vertex 3.20396 -37.9704 0 - vertex 3.45158 -37.8545 -0.1 - vertex 3.20396 -37.9704 -0.1 + vertex 3.45158 -37.8545 -0.2 + vertex 3.20396 -37.9704 -0.2 endloop endfacet facet normal -0.363414 0.931628 0 outer loop - vertex 3.20396 -37.9704 -0.1 + vertex 3.20396 -37.9704 -0.2 vertex 2.93102 -38.0768 0 vertex 3.20396 -37.9704 0 endloop @@ -2599,13 +2599,13 @@ solid OpenSCAD_Model facet normal -0.363414 0.931628 0 outer loop vertex 2.93102 -38.0768 0 - vertex 3.20396 -37.9704 -0.1 - vertex 2.93102 -38.0768 -0.1 + vertex 3.20396 -37.9704 -0.2 + vertex 2.93102 -38.0768 -0.2 endloop endfacet facet normal -0.289057 0.957312 0 outer loop - vertex 2.93102 -38.0768 -0.1 + vertex 2.93102 -38.0768 -0.2 vertex 2.32439 -38.26 0 vertex 2.93102 -38.0768 0 endloop @@ -2613,13 +2613,13 @@ solid OpenSCAD_Model facet normal -0.289057 0.957312 0 outer loop vertex 2.32439 -38.26 0 - vertex 2.93102 -38.0768 -0.1 - vertex 2.32439 -38.26 -0.1 + vertex 2.93102 -38.0768 -0.2 + vertex 2.32439 -38.26 -0.2 endloop endfacet facet normal -0.208009 0.978127 0 outer loop - vertex 2.32439 -38.26 -0.1 + vertex 2.32439 -38.26 -0.2 vertex 1.66207 -38.4009 0 vertex 2.32439 -38.26 0 endloop @@ -2627,13 +2627,13 @@ solid OpenSCAD_Model facet normal -0.208009 0.978127 0 outer loop vertex 1.66207 -38.4009 0 - vertex 2.32439 -38.26 -0.1 - vertex 1.66207 -38.4009 -0.1 + vertex 2.32439 -38.26 -0.2 + vertex 1.66207 -38.4009 -0.2 endloop endfacet facet normal -0.13739 0.990517 0 outer loop - vertex 1.66207 -38.4009 -0.1 + vertex 1.66207 -38.4009 -0.2 vertex 0.974434 -38.4962 0 vertex 1.66207 -38.4009 0 endloop @@ -2641,13 +2641,13 @@ solid OpenSCAD_Model facet normal -0.13739 0.990517 0 outer loop vertex 0.974434 -38.4962 0 - vertex 1.66207 -38.4009 -0.1 - vertex 0.974434 -38.4962 -0.1 + vertex 1.66207 -38.4009 -0.2 + vertex 0.974434 -38.4962 -0.2 endloop endfacet facet normal -0.0683412 0.997662 0 outer loop - vertex 0.974434 -38.4962 -0.1 + vertex 0.974434 -38.4962 -0.2 vertex 0.291868 -38.543 0 vertex 0.974434 -38.4962 0 endloop @@ -2655,13 +2655,13 @@ solid OpenSCAD_Model facet normal -0.0683412 0.997662 0 outer loop vertex 0.291868 -38.543 0 - vertex 0.974434 -38.4962 -0.1 - vertex 0.291868 -38.543 -0.1 + vertex 0.974434 -38.4962 -0.2 + vertex 0.291868 -38.543 -0.2 endloop endfacet facet normal 0.00775161 0.99997 -0 outer loop - vertex 0.291868 -38.543 -0.1 + vertex 0.291868 -38.543 -0.2 vertex -0.355246 -38.538 0 vertex 0.291868 -38.543 0 endloop @@ -2669,13 +2669,13 @@ solid OpenSCAD_Model facet normal 0.00775161 0.99997 0 outer loop vertex -0.355246 -38.538 0 - vertex 0.291868 -38.543 -0.1 - vertex -0.355246 -38.538 -0.1 + vertex 0.291868 -38.543 -0.2 + vertex -0.355246 -38.538 -0.2 endloop endfacet facet normal 0.10258 0.994725 -0 outer loop - vertex -0.355246 -38.538 -0.1 + vertex -0.355246 -38.538 -0.2 vertex -0.936529 -38.478 0 vertex -0.355246 -38.538 0 endloop @@ -2683,13 +2683,13 @@ solid OpenSCAD_Model facet normal 0.10258 0.994725 0 outer loop vertex -0.936529 -38.478 0 - vertex -0.355246 -38.538 -0.1 - vertex -0.936529 -38.478 -0.1 + vertex -0.355246 -38.538 -0.2 + vertex -0.936529 -38.478 -0.2 endloop endfacet facet normal 0.197071 0.980389 -0 outer loop - vertex -0.936529 -38.478 -0.1 + vertex -0.936529 -38.478 -0.2 vertex -1.19299 -38.4265 0 vertex -0.936529 -38.478 0 endloop @@ -2697,13 +2697,13 @@ solid OpenSCAD_Model facet normal 0.197071 0.980389 0 outer loop vertex -1.19299 -38.4265 0 - vertex -0.936529 -38.478 -0.1 - vertex -1.19299 -38.4265 -0.1 + vertex -0.936529 -38.478 -0.2 + vertex -1.19299 -38.4265 -0.2 endloop endfacet facet normal 0.279186 0.960237 -0 outer loop - vertex -1.19299 -38.4265 -0.1 + vertex -1.19299 -38.4265 -0.2 vertex -1.4216 -38.36 0 vertex -1.19299 -38.4265 0 endloop @@ -2711,13 +2711,13 @@ solid OpenSCAD_Model facet normal 0.279186 0.960237 0 outer loop vertex -1.4216 -38.36 0 - vertex -1.19299 -38.4265 -0.1 - vertex -1.4216 -38.36 -0.1 + vertex -1.19299 -38.4265 -0.2 + vertex -1.4216 -38.36 -0.2 endloop endfacet facet normal 0.385209 0.92283 -0 outer loop - vertex -1.4216 -38.36 -0.1 + vertex -1.4216 -38.36 -0.2 vertex -1.69347 -38.2465 0 vertex -1.4216 -38.36 0 endloop @@ -2725,13 +2725,13 @@ solid OpenSCAD_Model facet normal 0.385209 0.92283 0 outer loop vertex -1.69347 -38.2465 0 - vertex -1.4216 -38.36 -0.1 - vertex -1.69347 -38.2465 -0.1 + vertex -1.4216 -38.36 -0.2 + vertex -1.69347 -38.2465 -0.2 endloop endfacet facet normal 0.490243 0.871586 -0 outer loop - vertex -1.69347 -38.2465 -0.1 + vertex -1.69347 -38.2465 -0.2 vertex -1.95525 -38.0993 0 vertex -1.69347 -38.2465 0 endloop @@ -2739,13 +2739,13 @@ solid OpenSCAD_Model facet normal 0.490243 0.871586 0 outer loop vertex -1.95525 -38.0993 0 - vertex -1.69347 -38.2465 -0.1 - vertex -1.95525 -38.0993 -0.1 + vertex -1.69347 -38.2465 -0.2 + vertex -1.95525 -38.0993 -0.2 endloop endfacet facet normal 0.581299 0.81369 -0 outer loop - vertex -1.95525 -38.0993 -0.1 + vertex -1.95525 -38.0993 -0.2 vertex -2.20592 -37.9202 0 vertex -1.95525 -38.0993 0 endloop @@ -2753,13 +2753,13 @@ solid OpenSCAD_Model facet normal 0.581299 0.81369 0 outer loop vertex -2.20592 -37.9202 0 - vertex -1.95525 -38.0993 -0.1 - vertex -2.20592 -37.9202 -0.1 + vertex -1.95525 -38.0993 -0.2 + vertex -2.20592 -37.9202 -0.2 endloop endfacet facet normal 0.65901 0.752134 -0 outer loop - vertex -2.20592 -37.9202 -0.1 + vertex -2.20592 -37.9202 -0.2 vertex -2.44446 -37.7112 0 vertex -2.20592 -37.9202 0 endloop @@ -2767,419 +2767,419 @@ solid OpenSCAD_Model facet normal 0.65901 0.752134 0 outer loop vertex -2.44446 -37.7112 0 - vertex -2.20592 -37.9202 -0.1 - vertex -2.44446 -37.7112 -0.1 + vertex -2.20592 -37.9202 -0.2 + vertex -2.44446 -37.7112 -0.2 endloop endfacet facet normal 0.724655 0.689112 0 outer loop vertex -2.44446 -37.7112 0 - vertex -2.66982 -37.4742 -0.1 + vertex -2.66982 -37.4742 -0.2 vertex -2.66982 -37.4742 0 endloop endfacet facet normal 0.724655 0.689112 0 outer loop - vertex -2.66982 -37.4742 -0.1 + vertex -2.66982 -37.4742 -0.2 vertex -2.44446 -37.7112 0 - vertex -2.44446 -37.7112 -0.1 + vertex -2.44446 -37.7112 -0.2 endloop endfacet facet normal 0.779827 0.625996 0 outer loop vertex -2.66982 -37.4742 0 - vertex -2.88099 -37.2112 -0.1 + vertex -2.88099 -37.2112 -0.2 vertex -2.88099 -37.2112 0 endloop endfacet facet normal 0.779827 0.625996 0 outer loop - vertex -2.88099 -37.2112 -0.1 + vertex -2.88099 -37.2112 -0.2 vertex -2.66982 -37.4742 0 - vertex -2.66982 -37.4742 -0.1 + vertex -2.66982 -37.4742 -0.2 endloop endfacet facet normal 0.826071 0.563566 0 outer loop vertex -2.88099 -37.2112 0 - vertex -3.07693 -36.924 -0.1 + vertex -3.07693 -36.924 -0.2 vertex -3.07693 -36.924 0 endloop endfacet facet normal 0.826071 0.563566 0 outer loop - vertex -3.07693 -36.924 -0.1 + vertex -3.07693 -36.924 -0.2 vertex -2.88099 -37.2112 0 - vertex -2.88099 -37.2112 -0.1 + vertex -2.88099 -37.2112 -0.2 endloop endfacet facet normal 0.864772 0.502165 0 outer loop vertex -3.07693 -36.924 0 - vertex -3.25661 -36.6145 -0.1 + vertex -3.25661 -36.6145 -0.2 vertex -3.25661 -36.6145 0 endloop endfacet facet normal 0.864772 0.502165 0 outer loop - vertex -3.25661 -36.6145 -0.1 + vertex -3.25661 -36.6145 -0.2 vertex -3.07693 -36.924 0 - vertex -3.07693 -36.924 -0.1 + vertex -3.07693 -36.924 -0.2 endloop endfacet facet normal 0.897098 0.441832 0 outer loop vertex -3.25661 -36.6145 0 - vertex -3.41901 -36.2848 -0.1 + vertex -3.41901 -36.2848 -0.2 vertex -3.41901 -36.2848 0 endloop endfacet facet normal 0.897098 0.441832 0 outer loop - vertex -3.41901 -36.2848 -0.1 + vertex -3.41901 -36.2848 -0.2 vertex -3.25661 -36.6145 0 - vertex -3.25661 -36.6145 -0.1 + vertex -3.25661 -36.6145 -0.2 endloop endfacet facet normal 0.923982 0.382435 0 outer loop vertex -3.41901 -36.2848 0 - vertex -3.56309 -35.9367 -0.1 + vertex -3.56309 -35.9367 -0.2 vertex -3.56309 -35.9367 0 endloop endfacet facet normal 0.923982 0.382435 0 outer loop - vertex -3.56309 -35.9367 -0.1 + vertex -3.56309 -35.9367 -0.2 vertex -3.41901 -36.2848 0 - vertex -3.41901 -36.2848 -0.1 + vertex -3.41901 -36.2848 -0.2 endloop endfacet facet normal 0.946149 0.323732 0 outer loop vertex -3.56309 -35.9367 0 - vertex -3.68783 -35.5721 -0.1 + vertex -3.68783 -35.5721 -0.2 vertex -3.68783 -35.5721 0 endloop endfacet facet normal 0.946149 0.323732 0 outer loop - vertex -3.68783 -35.5721 -0.1 + vertex -3.68783 -35.5721 -0.2 vertex -3.56309 -35.9367 0 - vertex -3.56309 -35.9367 -0.1 + vertex -3.56309 -35.9367 -0.2 endloop endfacet facet normal 0.964131 0.265426 0 outer loop vertex -3.68783 -35.5721 0 - vertex -3.79219 -35.193 -0.1 + vertex -3.79219 -35.193 -0.2 vertex -3.79219 -35.193 0 endloop endfacet facet normal 0.964131 0.265426 0 outer loop - vertex -3.79219 -35.193 -0.1 + vertex -3.79219 -35.193 -0.2 vertex -3.68783 -35.5721 0 - vertex -3.68783 -35.5721 -0.1 + vertex -3.68783 -35.5721 -0.2 endloop endfacet facet normal 0.978298 0.207204 0 outer loop vertex -3.79219 -35.193 0 - vertex -3.87516 -34.8013 -0.1 + vertex -3.87516 -34.8013 -0.2 vertex -3.87516 -34.8013 0 endloop endfacet facet normal 0.978298 0.207204 0 outer loop - vertex -3.87516 -34.8013 -0.1 + vertex -3.87516 -34.8013 -0.2 vertex -3.79219 -35.193 0 - vertex -3.79219 -35.193 -0.1 + vertex -3.79219 -35.193 -0.2 endloop endfacet facet normal 0.988873 0.148763 0 outer loop vertex -3.87516 -34.8013 0 - vertex -3.93569 -34.3989 -0.1 + vertex -3.93569 -34.3989 -0.2 vertex -3.93569 -34.3989 0 endloop endfacet facet normal 0.988873 0.148763 0 outer loop - vertex -3.93569 -34.3989 -0.1 + vertex -3.93569 -34.3989 -0.2 vertex -3.87516 -34.8013 0 - vertex -3.87516 -34.8013 -0.1 + vertex -3.87516 -34.8013 -0.2 endloop endfacet facet normal 0.995959 0.0898073 0 outer loop vertex -3.93569 -34.3989 0 - vertex -3.97277 -33.9877 -0.1 + vertex -3.97277 -33.9877 -0.2 vertex -3.97277 -33.9877 0 endloop endfacet facet normal 0.995959 0.0898073 0 outer loop - vertex -3.97277 -33.9877 -0.1 + vertex -3.97277 -33.9877 -0.2 vertex -3.93569 -34.3989 0 - vertex -3.93569 -34.3989 -0.1 + vertex -3.93569 -34.3989 -0.2 endloop endfacet facet normal 0.999547 0.0300979 0 outer loop vertex -3.97277 -33.9877 0 - vertex -3.98536 -33.5697 -0.1 + vertex -3.98536 -33.5697 -0.2 vertex -3.98536 -33.5697 0 endloop endfacet facet normal 0.999547 0.0300979 0 outer loop - vertex -3.98536 -33.5697 -0.1 + vertex -3.98536 -33.5697 -0.2 vertex -3.97277 -33.9877 0 - vertex -3.97277 -33.9877 -0.1 + vertex -3.97277 -33.9877 -0.2 endloop endfacet facet normal 0.998925 -0.0463463 0 outer loop vertex -3.98536 -33.5697 0 - vertex -3.97004 -33.2395 -0.1 + vertex -3.97004 -33.2395 -0.2 vertex -3.97004 -33.2395 0 endloop endfacet facet normal 0.998925 -0.0463463 0 outer loop - vertex -3.97004 -33.2395 -0.1 + vertex -3.97004 -33.2395 -0.2 vertex -3.98536 -33.5697 0 - vertex -3.98536 -33.5697 -0.1 + vertex -3.98536 -33.5697 -0.2 endloop endfacet facet normal 0.99274 -0.120283 0 outer loop vertex -3.97004 -33.2395 0 - vertex -3.92523 -32.8697 -0.1 + vertex -3.92523 -32.8697 -0.2 vertex -3.92523 -32.8697 0 endloop endfacet facet normal 0.99274 -0.120283 0 outer loop - vertex -3.92523 -32.8697 -0.1 + vertex -3.92523 -32.8697 -0.2 vertex -3.97004 -33.2395 0 - vertex -3.97004 -33.2395 -0.1 + vertex -3.97004 -33.2395 -0.2 endloop endfacet facet normal 0.984312 -0.176435 0 outer loop vertex -3.92523 -32.8697 0 - vertex -3.8527 -32.4651 -0.1 + vertex -3.8527 -32.4651 -0.2 vertex -3.8527 -32.4651 0 endloop endfacet facet normal 0.984312 -0.176435 0 outer loop - vertex -3.8527 -32.4651 -0.1 + vertex -3.8527 -32.4651 -0.2 vertex -3.92523 -32.8697 0 - vertex -3.92523 -32.8697 -0.1 + vertex -3.92523 -32.8697 -0.2 endloop endfacet facet normal 0.975291 -0.220925 0 outer loop vertex -3.8527 -32.4651 0 - vertex -3.75417 -32.0301 -0.1 + vertex -3.75417 -32.0301 -0.2 vertex -3.75417 -32.0301 0 endloop endfacet facet normal 0.975291 -0.220925 0 outer loop - vertex -3.75417 -32.0301 -0.1 + vertex -3.75417 -32.0301 -0.2 vertex -3.8527 -32.4651 0 - vertex -3.8527 -32.4651 -0.1 + vertex -3.8527 -32.4651 -0.2 endloop endfacet facet normal 0.96184 -0.273613 0 outer loop vertex -3.75417 -32.0301 0 - vertex -3.4861 -31.0878 -0.1 + vertex -3.4861 -31.0878 -0.2 vertex -3.4861 -31.0878 0 endloop endfacet facet normal 0.96184 -0.273613 0 outer loop - vertex -3.4861 -31.0878 -0.1 + vertex -3.4861 -31.0878 -0.2 vertex -3.75417 -32.0301 0 - vertex -3.75417 -32.0301 -0.1 + vertex -3.75417 -32.0301 -0.2 endloop endfacet facet normal 0.944354 -0.328931 0 outer loop vertex -3.4861 -31.0878 0 - vertex -3.135 -30.0798 -0.1 + vertex -3.135 -30.0798 -0.2 vertex -3.135 -30.0798 0 endloop endfacet facet normal 0.944354 -0.328931 0 outer loop - vertex -3.135 -30.0798 -0.1 + vertex -3.135 -30.0798 -0.2 vertex -3.4861 -31.0878 0 - vertex -3.4861 -31.0878 -0.1 + vertex -3.4861 -31.0878 -0.2 endloop endfacet facet normal 0.926769 -0.375632 0 outer loop vertex -3.135 -30.0798 0 - vertex -2.71481 -29.043 -0.1 + vertex -2.71481 -29.043 -0.2 vertex -2.71481 -29.043 0 endloop endfacet facet normal 0.926769 -0.375632 0 outer loop - vertex -2.71481 -29.043 -0.1 + vertex -2.71481 -29.043 -0.2 vertex -3.135 -30.0798 0 - vertex -3.135 -30.0798 -0.1 + vertex -3.135 -30.0798 -0.2 endloop endfacet facet normal 0.907733 -0.419549 0 outer loop vertex -2.71481 -29.043 0 - vertex -2.23947 -28.0146 -0.1 + vertex -2.23947 -28.0146 -0.2 vertex -2.23947 -28.0146 0 endloop endfacet facet normal 0.907733 -0.419549 0 outer loop - vertex -2.23947 -28.0146 -0.1 + vertex -2.23947 -28.0146 -0.2 vertex -2.71481 -29.043 0 - vertex -2.71481 -29.043 -0.1 + vertex -2.71481 -29.043 -0.2 endloop endfacet facet normal 0.885263 -0.46509 0 outer loop vertex -2.23947 -28.0146 0 - vertex -1.72295 -27.0315 -0.1 + vertex -1.72295 -27.0315 -0.2 vertex -1.72295 -27.0315 0 endloop endfacet facet normal 0.885263 -0.46509 0 outer loop - vertex -1.72295 -27.0315 -0.1 + vertex -1.72295 -27.0315 -0.2 vertex -2.23947 -28.0146 0 - vertex -2.23947 -28.0146 -0.1 + vertex -2.23947 -28.0146 -0.2 endloop endfacet facet normal 0.8644 -0.502806 0 outer loop vertex -1.72295 -27.0315 0 - vertex -1.45361 -26.5684 -0.1 + vertex -1.45361 -26.5684 -0.2 vertex -1.45361 -26.5684 0 endloop endfacet facet normal 0.8644 -0.502806 0 outer loop - vertex -1.45361 -26.5684 -0.1 + vertex -1.45361 -26.5684 -0.2 vertex -1.72295 -27.0315 0 - vertex -1.72295 -27.0315 -0.1 + vertex -1.72295 -27.0315 -0.2 endloop endfacet facet normal 0.847345 -0.531043 0 outer loop vertex -1.45361 -26.5684 0 - vertex -1.17919 -26.1306 -0.1 + vertex -1.17919 -26.1306 -0.2 vertex -1.17919 -26.1306 0 endloop endfacet facet normal 0.847345 -0.531043 0 outer loop - vertex -1.17919 -26.1306 -0.1 + vertex -1.17919 -26.1306 -0.2 vertex -1.45361 -26.5684 0 - vertex -1.45361 -26.5684 -0.1 + vertex -1.45361 -26.5684 -0.2 endloop endfacet facet normal 0.82644 -0.563025 0 outer loop vertex -1.17919 -26.1306 0 - vertex -0.875463 -25.6847 -0.1 + vertex -0.875463 -25.6847 -0.2 vertex -0.875463 -25.6847 0 endloop endfacet facet normal 0.82644 -0.563025 0 outer loop - vertex -0.875463 -25.6847 -0.1 + vertex -0.875463 -25.6847 -0.2 vertex -1.17919 -26.1306 0 - vertex -1.17919 -26.1306 -0.1 + vertex -1.17919 -26.1306 -0.2 endloop endfacet facet normal 0.8045 -0.593952 0 outer loop vertex -0.875463 -25.6847 0 - vertex -0.546472 -25.2391 -0.1 + vertex -0.546472 -25.2391 -0.2 vertex -0.546472 -25.2391 0 endloop endfacet facet normal 0.8045 -0.593952 0 outer loop - vertex -0.546472 -25.2391 -0.1 + vertex -0.546472 -25.2391 -0.2 vertex -0.875463 -25.6847 0 - vertex -0.875463 -25.6847 -0.1 + vertex -0.875463 -25.6847 -0.2 endloop endfacet facet normal 0.783077 -0.621924 0 outer loop vertex -0.546472 -25.2391 0 - vertex -0.194025 -24.7953 -0.1 + vertex -0.194025 -24.7953 -0.2 vertex -0.194025 -24.7953 0 endloop endfacet facet normal 0.783077 -0.621924 0 outer loop - vertex -0.194025 -24.7953 -0.1 + vertex -0.194025 -24.7953 -0.2 vertex -0.546472 -25.2391 0 - vertex -0.546472 -25.2391 -0.1 + vertex -0.546472 -25.2391 -0.2 endloop endfacet facet normal 0.762077 -0.647486 0 outer loop vertex -0.194025 -24.7953 0 - vertex 0.18007 -24.355 -0.1 + vertex 0.18007 -24.355 -0.2 vertex 0.18007 -24.355 0 endloop endfacet facet normal 0.762077 -0.647486 0 outer loop - vertex 0.18007 -24.355 -0.1 + vertex 0.18007 -24.355 -0.2 vertex -0.194025 -24.7953 0 - vertex -0.194025 -24.7953 -0.1 + vertex -0.194025 -24.7953 -0.2 endloop endfacet facet normal 0.74138 -0.671085 0 outer loop vertex 0.18007 -24.355 0 - vertex 0.574011 -23.9198 -0.1 + vertex 0.574011 -23.9198 -0.2 vertex 0.574011 -23.9198 0 endloop endfacet facet normal 0.74138 -0.671085 0 outer loop - vertex 0.574011 -23.9198 -0.1 + vertex 0.574011 -23.9198 -0.2 vertex 0.18007 -24.355 0 - vertex 0.18007 -24.355 -0.1 + vertex 0.18007 -24.355 -0.2 endloop endfacet facet normal 0.720855 -0.693086 0 outer loop vertex 0.574011 -23.9198 0 - vertex 0.985991 -23.4913 -0.1 + vertex 0.985991 -23.4913 -0.2 vertex 0.985991 -23.4913 0 endloop endfacet facet normal 0.720855 -0.693086 0 outer loop - vertex 0.985991 -23.4913 -0.1 + vertex 0.985991 -23.4913 -0.2 vertex 0.574011 -23.9198 0 - vertex 0.574011 -23.9198 -0.1 + vertex 0.574011 -23.9198 -0.2 endloop endfacet facet normal 0.700344 -0.713805 0 outer loop - vertex 0.985991 -23.4913 -0.1 + vertex 0.985991 -23.4913 -0.2 vertex 1.4142 -23.0712 0 vertex 0.985991 -23.4913 0 endloop @@ -3187,13 +3187,13 @@ solid OpenSCAD_Model facet normal 0.700344 -0.713805 0 outer loop vertex 1.4142 -23.0712 0 - vertex 0.985991 -23.4913 -0.1 - vertex 1.4142 -23.0712 -0.1 + vertex 0.985991 -23.4913 -0.2 + vertex 1.4142 -23.0712 -0.2 endloop endfacet facet normal 0.679685 -0.733504 0 outer loop - vertex 1.4142 -23.0712 -0.1 + vertex 1.4142 -23.0712 -0.2 vertex 1.85684 -22.661 0 vertex 1.4142 -23.0712 0 endloop @@ -3201,13 +3201,13 @@ solid OpenSCAD_Model facet normal 0.679685 -0.733504 0 outer loop vertex 1.85684 -22.661 0 - vertex 1.4142 -23.0712 -0.1 - vertex 1.85684 -22.661 -0.1 + vertex 1.4142 -23.0712 -0.2 + vertex 1.85684 -22.661 -0.2 endloop endfacet facet normal 0.658698 -0.752407 0 outer loop - vertex 1.85684 -22.661 -0.1 + vertex 1.85684 -22.661 -0.2 vertex 2.31211 -22.2625 0 vertex 1.85684 -22.661 0 endloop @@ -3215,13 +3215,13 @@ solid OpenSCAD_Model facet normal 0.658698 -0.752407 0 outer loop vertex 2.31211 -22.2625 0 - vertex 1.85684 -22.661 -0.1 - vertex 2.31211 -22.2625 -0.1 + vertex 1.85684 -22.661 -0.2 + vertex 2.31211 -22.2625 -0.2 endloop endfacet facet normal 0.637189 -0.770708 0 outer loop - vertex 2.31211 -22.2625 -0.1 + vertex 2.31211 -22.2625 -0.2 vertex 2.77819 -21.8771 0 vertex 2.31211 -22.2625 0 endloop @@ -3229,13 +3229,13 @@ solid OpenSCAD_Model facet normal 0.637189 -0.770708 0 outer loop vertex 2.77819 -21.8771 0 - vertex 2.31211 -22.2625 -0.1 - vertex 2.77819 -21.8771 -0.1 + vertex 2.31211 -22.2625 -0.2 + vertex 2.77819 -21.8771 -0.2 endloop endfacet facet normal 0.614941 -0.788573 0 outer loop - vertex 2.77819 -21.8771 -0.1 + vertex 2.77819 -21.8771 -0.2 vertex 3.25328 -21.5067 0 vertex 2.77819 -21.8771 0 endloop @@ -3243,13 +3243,13 @@ solid OpenSCAD_Model facet normal 0.614941 -0.788573 0 outer loop vertex 3.25328 -21.5067 0 - vertex 2.77819 -21.8771 -0.1 - vertex 3.25328 -21.5067 -0.1 + vertex 2.77819 -21.8771 -0.2 + vertex 3.25328 -21.5067 -0.2 endloop endfacet facet normal 0.591711 -0.80615 0 outer loop - vertex 3.25328 -21.5067 -0.1 + vertex 3.25328 -21.5067 -0.2 vertex 3.73558 -21.1527 0 vertex 3.25328 -21.5067 0 endloop @@ -3257,13 +3257,13 @@ solid OpenSCAD_Model facet normal 0.591711 -0.80615 0 outer loop vertex 3.73558 -21.1527 0 - vertex 3.25328 -21.5067 -0.1 - vertex 3.73558 -21.1527 -0.1 + vertex 3.25328 -21.5067 -0.2 + vertex 3.73558 -21.1527 -0.2 endloop endfacet facet normal 0.567228 -0.823561 0 outer loop - vertex 3.73558 -21.1527 -0.1 + vertex 3.73558 -21.1527 -0.2 vertex 4.22328 -20.8168 0 vertex 3.73558 -21.1527 0 endloop @@ -3271,13 +3271,13 @@ solid OpenSCAD_Model facet normal 0.567228 -0.823561 0 outer loop vertex 4.22328 -20.8168 0 - vertex 3.73558 -21.1527 -0.1 - vertex 4.22328 -20.8168 -0.1 + vertex 3.73558 -21.1527 -0.2 + vertex 4.22328 -20.8168 -0.2 endloop endfacet facet normal 0.541167 -0.840915 0 outer loop - vertex 4.22328 -20.8168 -0.1 + vertex 4.22328 -20.8168 -0.2 vertex 4.71458 -20.5006 0 vertex 4.22328 -20.8168 0 endloop @@ -3285,13 +3285,13 @@ solid OpenSCAD_Model facet normal 0.541167 -0.840915 0 outer loop vertex 4.71458 -20.5006 0 - vertex 4.22328 -20.8168 -0.1 - vertex 4.71458 -20.5006 -0.1 + vertex 4.22328 -20.8168 -0.2 + vertex 4.71458 -20.5006 -0.2 endloop endfacet facet normal 0.513171 -0.858287 0 outer loop - vertex 4.71458 -20.5006 -0.1 + vertex 4.71458 -20.5006 -0.2 vertex 5.20766 -20.2058 0 vertex 4.71458 -20.5006 0 endloop @@ -3299,13 +3299,13 @@ solid OpenSCAD_Model facet normal 0.513171 -0.858287 0 outer loop vertex 5.20766 -20.2058 0 - vertex 4.71458 -20.5006 -0.1 - vertex 5.20766 -20.2058 -0.1 + vertex 4.71458 -20.5006 -0.2 + vertex 5.20766 -20.2058 -0.2 endloop endfacet facet normal 0.482795 -0.875733 0 outer loop - vertex 5.20766 -20.2058 -0.1 + vertex 5.20766 -20.2058 -0.2 vertex 5.70074 -19.9339 0 vertex 5.20766 -20.2058 0 endloop @@ -3313,13 +3313,13 @@ solid OpenSCAD_Model facet normal 0.482795 -0.875733 0 outer loop vertex 5.70074 -19.9339 0 - vertex 5.20766 -20.2058 -0.1 - vertex 5.70074 -19.9339 -0.1 + vertex 5.20766 -20.2058 -0.2 + vertex 5.70074 -19.9339 -0.2 endloop endfacet facet normal 0.452672 -0.891677 0 outer loop - vertex 5.70074 -19.9339 -0.1 + vertex 5.70074 -19.9339 -0.2 vertex 6.07737 -19.7427 0 vertex 5.70074 -19.9339 0 endloop @@ -3327,13 +3327,13 @@ solid OpenSCAD_Model facet normal 0.452672 -0.891677 0 outer loop vertex 6.07737 -19.7427 0 - vertex 5.70074 -19.9339 -0.1 - vertex 6.07737 -19.7427 -0.1 + vertex 5.70074 -19.9339 -0.2 + vertex 6.07737 -19.7427 -0.2 endloop endfacet facet normal 0.411982 -0.911192 0 outer loop - vertex 6.07737 -19.7427 -0.1 + vertex 6.07737 -19.7427 -0.2 vertex 6.41984 -19.5879 0 vertex 6.07737 -19.7427 0 endloop @@ -3341,13 +3341,13 @@ solid OpenSCAD_Model facet normal 0.411982 -0.911192 0 outer loop vertex 6.41984 -19.5879 0 - vertex 6.07737 -19.7427 -0.1 - vertex 6.41984 -19.5879 -0.1 + vertex 6.07737 -19.7427 -0.2 + vertex 6.41984 -19.5879 -0.2 endloop endfacet facet normal 0.352601 -0.935774 0 outer loop - vertex 6.41984 -19.5879 -0.1 + vertex 6.41984 -19.5879 -0.2 vertex 6.74616 -19.4649 0 vertex 6.41984 -19.5879 0 endloop @@ -3355,13 +3355,13 @@ solid OpenSCAD_Model facet normal 0.352601 -0.935774 0 outer loop vertex 6.74616 -19.4649 0 - vertex 6.41984 -19.5879 -0.1 - vertex 6.74616 -19.4649 -0.1 + vertex 6.41984 -19.5879 -0.2 + vertex 6.74616 -19.4649 -0.2 endloop endfacet facet normal 0.279545 -0.960133 0 outer loop - vertex 6.74616 -19.4649 -0.1 + vertex 6.74616 -19.4649 -0.2 vertex 7.07441 -19.3694 0 vertex 6.74616 -19.4649 0 endloop @@ -3369,13 +3369,13 @@ solid OpenSCAD_Model facet normal 0.279545 -0.960133 0 outer loop vertex 7.07441 -19.3694 0 - vertex 6.74616 -19.4649 -0.1 - vertex 7.07441 -19.3694 -0.1 + vertex 6.74616 -19.4649 -0.2 + vertex 7.07441 -19.3694 -0.2 endloop endfacet facet normal 0.204293 -0.97891 0 outer loop - vertex 7.07441 -19.3694 -0.1 + vertex 7.07441 -19.3694 -0.2 vertex 7.42262 -19.2967 0 vertex 7.07441 -19.3694 0 endloop @@ -3383,13 +3383,13 @@ solid OpenSCAD_Model facet normal 0.204293 -0.97891 0 outer loop vertex 7.42262 -19.2967 0 - vertex 7.07441 -19.3694 -0.1 - vertex 7.42262 -19.2967 -0.1 + vertex 7.07441 -19.3694 -0.2 + vertex 7.42262 -19.2967 -0.2 endloop endfacet facet normal 0.139108 -0.990277 0 outer loop - vertex 7.42262 -19.2967 -0.1 + vertex 7.42262 -19.2967 -0.2 vertex 7.80885 -19.2424 0 vertex 7.42262 -19.2967 0 endloop @@ -3397,13 +3397,13 @@ solid OpenSCAD_Model facet normal 0.139108 -0.990277 0 outer loop vertex 7.80885 -19.2424 0 - vertex 7.42262 -19.2967 -0.1 - vertex 7.80885 -19.2424 -0.1 + vertex 7.42262 -19.2967 -0.2 + vertex 7.80885 -19.2424 -0.2 endloop endfacet facet normal 0.0740931 -0.997251 0 outer loop - vertex 7.80885 -19.2424 -0.1 + vertex 7.80885 -19.2424 -0.2 vertex 8.76754 -19.1712 0 vertex 7.80885 -19.2424 0 endloop @@ -3411,13 +3411,13 @@ solid OpenSCAD_Model facet normal 0.0740931 -0.997251 0 outer loop vertex 8.76754 -19.1712 0 - vertex 7.80885 -19.2424 -0.1 - vertex 8.76754 -19.1712 -0.1 + vertex 7.80885 -19.2424 -0.2 + vertex 8.76754 -19.1712 -0.2 endloop endfacet facet normal 0.0317962 -0.999494 0 outer loop - vertex 8.76754 -19.1712 -0.1 + vertex 8.76754 -19.1712 -0.2 vertex 9.72114 -19.1409 0 vertex 8.76754 -19.1712 0 endloop @@ -3425,13 +3425,13 @@ solid OpenSCAD_Model facet normal 0.0317962 -0.999494 0 outer loop vertex 9.72114 -19.1409 0 - vertex 8.76754 -19.1712 -0.1 - vertex 9.72114 -19.1409 -0.1 + vertex 8.76754 -19.1712 -0.2 + vertex 9.72114 -19.1409 -0.2 endloop endfacet facet normal -0.0248159 -0.999692 0 outer loop - vertex 9.72114 -19.1409 -0.1 + vertex 9.72114 -19.1409 -0.2 vertex 10.0711 -19.1496 0 vertex 9.72114 -19.1409 0 endloop @@ -3439,13 +3439,13 @@ solid OpenSCAD_Model facet normal -0.0248159 -0.999692 -0 outer loop vertex 10.0711 -19.1496 0 - vertex 9.72114 -19.1409 -0.1 - vertex 10.0711 -19.1496 -0.1 + vertex 9.72114 -19.1409 -0.2 + vertex 10.0711 -19.1496 -0.2 endloop endfacet facet normal -0.0963554 -0.995347 0 outer loop - vertex 10.0711 -19.1496 -0.1 + vertex 10.0711 -19.1496 -0.2 vertex 10.3591 -19.1774 0 vertex 10.0711 -19.1496 0 endloop @@ -3453,13 +3453,13 @@ solid OpenSCAD_Model facet normal -0.0963554 -0.995347 -0 outer loop vertex 10.3591 -19.1774 0 - vertex 10.0711 -19.1496 -0.1 - vertex 10.3591 -19.1774 -0.1 + vertex 10.0711 -19.1496 -0.2 + vertex 10.3591 -19.1774 -0.2 endloop endfacet facet normal -0.199823 -0.979832 0 outer loop - vertex 10.3591 -19.1774 -0.1 + vertex 10.3591 -19.1774 -0.2 vertex 10.602 -19.227 0 vertex 10.3591 -19.1774 0 endloop @@ -3467,13 +3467,13 @@ solid OpenSCAD_Model facet normal -0.199823 -0.979832 -0 outer loop vertex 10.602 -19.227 0 - vertex 10.3591 -19.1774 -0.1 - vertex 10.602 -19.227 -0.1 + vertex 10.3591 -19.1774 -0.2 + vertex 10.602 -19.227 -0.2 endloop endfacet facet normal -0.324456 -0.945901 0 outer loop - vertex 10.602 -19.227 -0.1 + vertex 10.602 -19.227 -0.2 vertex 10.8168 -19.3006 0 vertex 10.602 -19.227 0 endloop @@ -3481,13 +3481,13 @@ solid OpenSCAD_Model facet normal -0.324456 -0.945901 -0 outer loop vertex 10.8168 -19.3006 0 - vertex 10.602 -19.227 -0.1 - vertex 10.8168 -19.3006 -0.1 + vertex 10.602 -19.227 -0.2 + vertex 10.8168 -19.3006 -0.2 endloop endfacet facet normal -0.441937 -0.897046 0 outer loop - vertex 10.8168 -19.3006 -0.1 + vertex 10.8168 -19.3006 -0.2 vertex 11.0203 -19.4009 0 vertex 10.8168 -19.3006 0 endloop @@ -3495,13 +3495,13 @@ solid OpenSCAD_Model facet normal -0.441937 -0.897046 -0 outer loop vertex 11.0203 -19.4009 0 - vertex 10.8168 -19.3006 -0.1 - vertex 11.0203 -19.4009 -0.1 + vertex 10.8168 -19.3006 -0.2 + vertex 11.0203 -19.4009 -0.2 endloop endfacet facet normal -0.525875 -0.850562 0 outer loop - vertex 11.0203 -19.4009 -0.1 + vertex 11.0203 -19.4009 -0.2 vertex 11.2294 -19.5302 0 vertex 11.0203 -19.4009 0 endloop @@ -3509,13 +3509,13 @@ solid OpenSCAD_Model facet normal -0.525875 -0.850562 -0 outer loop vertex 11.2294 -19.5302 0 - vertex 11.0203 -19.4009 -0.1 - vertex 11.2294 -19.5302 -0.1 + vertex 11.0203 -19.4009 -0.2 + vertex 11.2294 -19.5302 -0.2 endloop endfacet facet normal -0.518008 -0.855376 0 outer loop - vertex 11.2294 -19.5302 -0.1 + vertex 11.2294 -19.5302 -0.2 vertex 11.5538 -19.7266 0 vertex 11.2294 -19.5302 0 endloop @@ -3523,13 +3523,13 @@ solid OpenSCAD_Model facet normal -0.518008 -0.855376 -0 outer loop vertex 11.5538 -19.7266 0 - vertex 11.2294 -19.5302 -0.1 - vertex 11.5538 -19.7266 -0.1 + vertex 11.2294 -19.5302 -0.2 + vertex 11.5538 -19.7266 -0.2 endloop endfacet facet normal -0.370976 -0.928642 0 outer loop - vertex 11.5538 -19.7266 -0.1 + vertex 11.5538 -19.7266 -0.2 vertex 11.7902 -19.8211 0 vertex 11.5538 -19.7266 0 endloop @@ -3537,13 +3537,13 @@ solid OpenSCAD_Model facet normal -0.370976 -0.928642 -0 outer loop vertex 11.7902 -19.8211 0 - vertex 11.5538 -19.7266 -0.1 - vertex 11.7902 -19.8211 -0.1 + vertex 11.5538 -19.7266 -0.2 + vertex 11.7902 -19.8211 -0.2 endloop endfacet facet normal -0.111982 -0.99371 0 outer loop - vertex 11.7902 -19.8211 -0.1 + vertex 11.7902 -19.8211 -0.2 vertex 11.881 -19.8313 0 vertex 11.7902 -19.8211 0 endloop @@ -3551,13 +3551,13 @@ solid OpenSCAD_Model facet normal -0.111982 -0.99371 -0 outer loop vertex 11.881 -19.8313 0 - vertex 11.7902 -19.8211 -0.1 - vertex 11.881 -19.8313 -0.1 + vertex 11.7902 -19.8211 -0.2 + vertex 11.881 -19.8313 -0.2 endloop endfacet facet normal 0.179863 -0.983692 0 outer loop - vertex 11.881 -19.8313 -0.1 + vertex 11.881 -19.8313 -0.2 vertex 11.9563 -19.8175 0 vertex 11.881 -19.8313 0 endloop @@ -3565,13 +3565,13 @@ solid OpenSCAD_Model facet normal 0.179863 -0.983692 0 outer loop vertex 11.9563 -19.8175 0 - vertex 11.881 -19.8313 -0.1 - vertex 11.9563 -19.8175 -0.1 + vertex 11.881 -19.8313 -0.2 + vertex 11.9563 -19.8175 -0.2 endloop endfacet facet normal 0.514293 -0.857615 0 outer loop - vertex 11.9563 -19.8175 -0.1 + vertex 11.9563 -19.8175 -0.2 vertex 12.0185 -19.7802 0 vertex 11.9563 -19.8175 0 endloop @@ -3579,139 +3579,139 @@ solid OpenSCAD_Model facet normal 0.514293 -0.857615 0 outer loop vertex 12.0185 -19.7802 0 - vertex 11.9563 -19.8175 -0.1 - vertex 12.0185 -19.7802 -0.1 + vertex 11.9563 -19.8175 -0.2 + vertex 12.0185 -19.7802 -0.2 endloop endfacet facet normal 0.762299 -0.647226 0 outer loop vertex 12.0185 -19.7802 0 - vertex 12.0697 -19.7199 -0.1 + vertex 12.0697 -19.7199 -0.2 vertex 12.0697 -19.7199 0 endloop endfacet facet normal 0.762299 -0.647226 0 outer loop - vertex 12.0697 -19.7199 -0.1 + vertex 12.0697 -19.7199 -0.2 vertex 12.0185 -19.7802 0 - vertex 12.0185 -19.7802 -0.1 + vertex 12.0185 -19.7802 -0.2 endloop endfacet facet normal 0.887752 -0.460323 0 outer loop vertex 12.0697 -19.7199 0 - vertex 12.2803 -19.3138 -0.1 + vertex 12.2803 -19.3138 -0.2 vertex 12.2803 -19.3138 0 endloop endfacet facet normal 0.887752 -0.460323 0 outer loop - vertex 12.2803 -19.3138 -0.1 + vertex 12.2803 -19.3138 -0.2 vertex 12.0697 -19.7199 0 - vertex 12.0697 -19.7199 -0.1 + vertex 12.0697 -19.7199 -0.2 endloop endfacet facet normal 0.914794 -0.403921 0 outer loop vertex 12.2803 -19.3138 0 - vertex 12.5806 -18.6336 -0.1 + vertex 12.5806 -18.6336 -0.2 vertex 12.5806 -18.6336 0 endloop endfacet facet normal 0.914794 -0.403921 0 outer loop - vertex 12.5806 -18.6336 -0.1 + vertex 12.5806 -18.6336 -0.2 vertex 12.2803 -19.3138 0 - vertex 12.2803 -19.3138 -0.1 + vertex 12.2803 -19.3138 -0.2 endloop endfacet facet normal 0.927919 -0.372782 0 outer loop vertex 12.5806 -18.6336 0 - vertex 13.2984 -16.8469 -0.1 + vertex 13.2984 -16.8469 -0.2 vertex 13.2984 -16.8469 0 endloop endfacet facet normal 0.927919 -0.372782 0 outer loop - vertex 13.2984 -16.8469 -0.1 + vertex 13.2984 -16.8469 -0.2 vertex 12.5806 -18.6336 0 - vertex 12.5806 -18.6336 -0.1 + vertex 12.5806 -18.6336 -0.2 endloop endfacet facet normal 0.936103 -0.351727 0 outer loop vertex 13.2984 -16.8469 0 - vertex 13.6397 -15.9386 -0.1 + vertex 13.6397 -15.9386 -0.2 vertex 13.6397 -15.9386 0 endloop endfacet facet normal 0.936103 -0.351727 0 outer loop - vertex 13.6397 -15.9386 -0.1 + vertex 13.6397 -15.9386 -0.2 vertex 13.2984 -16.8469 0 - vertex 13.2984 -16.8469 -0.1 + vertex 13.2984 -16.8469 -0.2 endloop endfacet facet normal 0.9425 -0.334207 0 outer loop vertex 13.6397 -15.9386 0 - vertex 13.9185 -15.1524 -0.1 + vertex 13.9185 -15.1524 -0.2 vertex 13.9185 -15.1524 0 endloop endfacet facet normal 0.9425 -0.334207 0 outer loop - vertex 13.9185 -15.1524 -0.1 + vertex 13.9185 -15.1524 -0.2 vertex 13.6397 -15.9386 0 - vertex 13.6397 -15.9386 -0.1 + vertex 13.6397 -15.9386 -0.2 endloop endfacet facet normal 0.953687 -0.300802 0 outer loop vertex 13.9185 -15.1524 0 - vertex 14.0967 -14.5873 -0.1 + vertex 14.0967 -14.5873 -0.2 vertex 14.0967 -14.5873 0 endloop endfacet facet normal 0.953687 -0.300802 0 outer loop - vertex 14.0967 -14.5873 -0.1 + vertex 14.0967 -14.5873 -0.2 vertex 13.9185 -15.1524 0 - vertex 13.9185 -15.1524 -0.1 + vertex 13.9185 -15.1524 -0.2 endloop endfacet facet normal 0.97364 -0.22809 0 outer loop vertex 14.0967 -14.5873 0 - vertex 14.1362 -14.4186 -0.1 + vertex 14.1362 -14.4186 -0.2 vertex 14.1362 -14.4186 0 endloop endfacet facet normal 0.97364 -0.22809 0 outer loop - vertex 14.1362 -14.4186 -0.1 + vertex 14.1362 -14.4186 -0.2 vertex 14.0967 -14.5873 0 - vertex 14.0967 -14.5873 -0.1 + vertex 14.0967 -14.5873 -0.2 endloop endfacet facet normal 0.999999 -0.00127602 0 outer loop vertex 14.1362 -14.4186 0 - vertex 14.1363 -14.3424 -0.1 + vertex 14.1363 -14.3424 -0.2 vertex 14.1363 -14.3424 0 endloop endfacet facet normal 0.999999 -0.00127602 0 outer loop - vertex 14.1363 -14.3424 -0.1 + vertex 14.1363 -14.3424 -0.2 vertex 14.1362 -14.4186 0 - vertex 14.1362 -14.4186 -0.1 + vertex 14.1362 -14.4186 -0.2 endloop endfacet facet normal 0.566913 0.823778 -0 outer loop - vertex 14.1363 -14.3424 -0.1 + vertex 14.1363 -14.3424 -0.2 vertex 14.0881 -14.3092 0 vertex 14.1363 -14.3424 0 endloop @@ -3719,13 +3719,13 @@ solid OpenSCAD_Model facet normal 0.566913 0.823778 0 outer loop vertex 14.0881 -14.3092 0 - vertex 14.1363 -14.3424 -0.1 - vertex 14.0881 -14.3092 -0.1 + vertex 14.1363 -14.3424 -0.2 + vertex 14.0881 -14.3092 -0.2 endloop endfacet facet normal 0.351025 0.936366 -0 outer loop - vertex 14.0881 -14.3092 -0.1 + vertex 14.0881 -14.3092 -0.2 vertex 14.0003 -14.2763 0 vertex 14.0881 -14.3092 0 endloop @@ -3733,13 +3733,13 @@ solid OpenSCAD_Model facet normal 0.351025 0.936366 0 outer loop vertex 14.0003 -14.2763 0 - vertex 14.0881 -14.3092 -0.1 - vertex 14.0003 -14.2763 -0.1 + vertex 14.0881 -14.3092 -0.2 + vertex 14.0003 -14.2763 -0.2 endloop endfacet facet normal 0.218251 0.975893 -0 outer loop - vertex 14.0003 -14.2763 -0.1 + vertex 14.0003 -14.2763 -0.2 vertex 13.7222 -14.2141 0 vertex 14.0003 -14.2763 0 endloop @@ -3747,13 +3747,13 @@ solid OpenSCAD_Model facet normal 0.218251 0.975893 0 outer loop vertex 13.7222 -14.2141 0 - vertex 14.0003 -14.2763 -0.1 - vertex 13.7222 -14.2141 -0.1 + vertex 14.0003 -14.2763 -0.2 + vertex 13.7222 -14.2141 -0.2 endloop endfacet facet normal 0.134641 0.990894 -0 outer loop - vertex 13.7222 -14.2141 -0.1 + vertex 13.7222 -14.2141 -0.2 vertex 13.3346 -14.1615 0 vertex 13.7222 -14.2141 0 endloop @@ -3761,13 +3761,13 @@ solid OpenSCAD_Model facet normal 0.134641 0.990894 0 outer loop vertex 13.3346 -14.1615 0 - vertex 13.7222 -14.2141 -0.1 - vertex 13.3346 -14.1615 -0.1 + vertex 13.7222 -14.2141 -0.2 + vertex 13.3346 -14.1615 -0.2 endloop endfacet facet normal 0.0805571 0.99675 -0 outer loop - vertex 13.3346 -14.1615 -0.1 + vertex 13.3346 -14.1615 -0.2 vertex 12.8698 -14.1239 0 vertex 13.3346 -14.1615 0 endloop @@ -3775,13 +3775,13 @@ solid OpenSCAD_Model facet normal 0.0805571 0.99675 0 outer loop vertex 12.8698 -14.1239 0 - vertex 13.3346 -14.1615 -0.1 - vertex 12.8698 -14.1239 -0.1 + vertex 13.3346 -14.1615 -0.2 + vertex 12.8698 -14.1239 -0.2 endloop endfacet facet normal 0.256285 0.966601 -0 outer loop - vertex 12.8698 -14.1239 -0.1 + vertex 12.8698 -14.1239 -0.2 vertex 12.7363 -14.0885 0 vertex 12.8698 -14.1239 0 endloop @@ -3789,13 +3789,13 @@ solid OpenSCAD_Model facet normal 0.256285 0.966601 0 outer loop vertex 12.7363 -14.0885 0 - vertex 12.8698 -14.1239 -0.1 - vertex 12.7363 -14.0885 -0.1 + vertex 12.8698 -14.1239 -0.2 + vertex 12.7363 -14.0885 -0.2 endloop endfacet facet normal 0.544571 0.838715 -0 outer loop - vertex 12.7363 -14.0885 -0.1 + vertex 12.7363 -14.0885 -0.2 vertex 12.6087 -14.0056 0 vertex 12.7363 -14.0885 0 endloop @@ -3803,125 +3803,125 @@ solid OpenSCAD_Model facet normal 0.544571 0.838715 0 outer loop vertex 12.6087 -14.0056 0 - vertex 12.7363 -14.0885 -0.1 - vertex 12.6087 -14.0056 -0.1 + vertex 12.7363 -14.0885 -0.2 + vertex 12.6087 -14.0056 -0.2 endloop endfacet facet normal 0.739657 0.672985 0 outer loop vertex 12.6087 -14.0056 0 - vertex 12.5013 -13.8876 -0.1 + vertex 12.5013 -13.8876 -0.2 vertex 12.5013 -13.8876 0 endloop endfacet facet normal 0.739657 0.672985 0 outer loop - vertex 12.5013 -13.8876 -0.1 + vertex 12.5013 -13.8876 -0.2 vertex 12.6087 -14.0056 0 - vertex 12.6087 -14.0056 -0.1 + vertex 12.6087 -14.0056 -0.2 endloop endfacet facet normal 0.888712 0.458466 0 outer loop vertex 12.5013 -13.8876 0 - vertex 12.4287 -13.7469 -0.1 + vertex 12.4287 -13.7469 -0.2 vertex 12.4287 -13.7469 0 endloop endfacet facet normal 0.888712 0.458466 0 outer loop - vertex 12.4287 -13.7469 -0.1 + vertex 12.4287 -13.7469 -0.2 vertex 12.5013 -13.8876 0 - vertex 12.5013 -13.8876 -0.1 + vertex 12.5013 -13.8876 -0.2 endloop endfacet facet normal 0.969282 0.245953 0 outer loop vertex 12.4287 -13.7469 0 - vertex 12.3997 -13.6324 -0.1 + vertex 12.3997 -13.6324 -0.2 vertex 12.3997 -13.6324 0 endloop endfacet facet normal 0.969282 0.245953 0 outer loop - vertex 12.3997 -13.6324 -0.1 + vertex 12.3997 -13.6324 -0.2 vertex 12.4287 -13.7469 0 - vertex 12.4287 -13.7469 -0.1 + vertex 12.4287 -13.7469 -0.2 endloop endfacet facet normal 0.995788 0.0916817 0 outer loop vertex 12.3997 -13.6324 0 - vertex 12.3889 -13.5153 -0.1 + vertex 12.3889 -13.5153 -0.2 vertex 12.3889 -13.5153 0 endloop endfacet facet normal 0.995788 0.0916817 0 outer loop - vertex 12.3889 -13.5153 -0.1 + vertex 12.3889 -13.5153 -0.2 vertex 12.3997 -13.6324 0 - vertex 12.3997 -13.6324 -0.1 + vertex 12.3997 -13.6324 -0.2 endloop endfacet facet normal 0.99207 -0.12569 0 outer loop vertex 12.3889 -13.5153 0 - vertex 12.419 -13.2773 -0.1 + vertex 12.419 -13.2773 -0.2 vertex 12.419 -13.2773 0 endloop endfacet facet normal 0.99207 -0.12569 0 outer loop - vertex 12.419 -13.2773 -0.1 + vertex 12.419 -13.2773 -0.2 vertex 12.3889 -13.5153 0 - vertex 12.3889 -13.5153 -0.1 + vertex 12.3889 -13.5153 -0.2 endloop endfacet facet normal 0.929521 -0.368768 0 outer loop vertex 12.419 -13.2773 0 - vertex 12.513 -13.0405 -0.1 + vertex 12.513 -13.0405 -0.2 vertex 12.513 -13.0405 0 endloop endfacet facet normal 0.929521 -0.368768 0 outer loop - vertex 12.513 -13.0405 -0.1 + vertex 12.513 -13.0405 -0.2 vertex 12.419 -13.2773 0 - vertex 12.419 -13.2773 -0.1 + vertex 12.419 -13.2773 -0.2 endloop endfacet facet normal 0.832694 -0.553733 0 outer loop vertex 12.513 -13.0405 0 - vertex 12.6645 -12.8127 -0.1 + vertex 12.6645 -12.8127 -0.2 vertex 12.6645 -12.8127 0 endloop endfacet facet normal 0.832694 -0.553733 0 outer loop - vertex 12.6645 -12.8127 -0.1 + vertex 12.6645 -12.8127 -0.2 vertex 12.513 -13.0405 0 - vertex 12.513 -13.0405 -0.1 + vertex 12.513 -13.0405 -0.2 endloop endfacet facet normal 0.721168 -0.69276 0 outer loop vertex 12.6645 -12.8127 0 - vertex 12.8673 -12.6015 -0.1 + vertex 12.8673 -12.6015 -0.2 vertex 12.8673 -12.6015 0 endloop endfacet facet normal 0.721168 -0.69276 0 outer loop - vertex 12.8673 -12.6015 -0.1 + vertex 12.8673 -12.6015 -0.2 vertex 12.6645 -12.8127 0 - vertex 12.6645 -12.8127 -0.1 + vertex 12.6645 -12.8127 -0.2 endloop endfacet facet normal 0.601691 -0.798729 0 outer loop - vertex 12.8673 -12.6015 -0.1 + vertex 12.8673 -12.6015 -0.2 vertex 13.1153 -12.4148 0 vertex 12.8673 -12.6015 0 endloop @@ -3929,13 +3929,13 @@ solid OpenSCAD_Model facet normal 0.601691 -0.798729 0 outer loop vertex 13.1153 -12.4148 0 - vertex 12.8673 -12.6015 -0.1 - vertex 13.1153 -12.4148 -0.1 + vertex 12.8673 -12.6015 -0.2 + vertex 13.1153 -12.4148 -0.2 endloop endfacet facet normal 0.474719 -0.880138 0 outer loop - vertex 13.1153 -12.4148 -0.1 + vertex 13.1153 -12.4148 -0.2 vertex 13.4022 -12.26 0 vertex 13.1153 -12.4148 0 endloop @@ -3943,13 +3943,13 @@ solid OpenSCAD_Model facet normal 0.474719 -0.880138 0 outer loop vertex 13.4022 -12.26 0 - vertex 13.1153 -12.4148 -0.1 - vertex 13.4022 -12.26 -0.1 + vertex 13.1153 -12.4148 -0.2 + vertex 13.4022 -12.26 -0.2 endloop endfacet facet normal 0.33852 -0.940959 0 outer loop - vertex 13.4022 -12.26 -0.1 + vertex 13.4022 -12.26 -0.2 vertex 13.7217 -12.1451 0 vertex 13.4022 -12.26 0 endloop @@ -3957,13 +3957,13 @@ solid OpenSCAD_Model facet normal 0.33852 -0.940959 0 outer loop vertex 13.7217 -12.1451 0 - vertex 13.4022 -12.26 -0.1 - vertex 13.7217 -12.1451 -0.1 + vertex 13.4022 -12.26 -0.2 + vertex 13.7217 -12.1451 -0.2 endloop endfacet facet normal 0.283558 -0.958955 0 outer loop - vertex 13.7217 -12.1451 -0.1 + vertex 13.7217 -12.1451 -0.2 vertex 16.811 -11.2316 0 vertex 13.7217 -12.1451 0 endloop @@ -3971,13 +3971,13 @@ solid OpenSCAD_Model facet normal 0.283558 -0.958955 0 outer loop vertex 16.811 -11.2316 0 - vertex 13.7217 -12.1451 -0.1 - vertex 16.811 -11.2316 -0.1 + vertex 13.7217 -12.1451 -0.2 + vertex 16.811 -11.2316 -0.2 endloop endfacet facet normal 0.280008 -0.959998 0 outer loop - vertex 16.811 -11.2316 -0.1 + vertex 16.811 -11.2316 -0.2 vertex 17.5824 -11.0066 0 vertex 16.811 -11.2316 0 endloop @@ -3985,13 +3985,13 @@ solid OpenSCAD_Model facet normal 0.280008 -0.959998 0 outer loop vertex 17.5824 -11.0066 0 - vertex 16.811 -11.2316 -0.1 - vertex 17.5824 -11.0066 -0.1 + vertex 16.811 -11.2316 -0.2 + vertex 17.5824 -11.0066 -0.2 endloop endfacet facet normal 0.251173 -0.967942 0 outer loop - vertex 17.5824 -11.0066 -0.1 + vertex 17.5824 -11.0066 -0.2 vertex 18.2126 -10.843 0 vertex 17.5824 -11.0066 0 endloop @@ -3999,13 +3999,13 @@ solid OpenSCAD_Model facet normal 0.251173 -0.967942 0 outer loop vertex 18.2126 -10.843 0 - vertex 17.5824 -11.0066 -0.1 - vertex 18.2126 -10.843 -0.1 + vertex 17.5824 -11.0066 -0.2 + vertex 18.2126 -10.843 -0.2 endloop endfacet facet normal 0.200442 -0.979706 0 outer loop - vertex 18.2126 -10.843 -0.1 + vertex 18.2126 -10.843 -0.2 vertex 18.7132 -10.7406 0 vertex 18.2126 -10.843 0 endloop @@ -4013,13 +4013,13 @@ solid OpenSCAD_Model facet normal 0.200442 -0.979706 0 outer loop vertex 18.7132 -10.7406 0 - vertex 18.2126 -10.843 -0.1 - vertex 18.7132 -10.7406 -0.1 + vertex 18.2126 -10.843 -0.2 + vertex 18.7132 -10.7406 -0.2 endloop endfacet facet normal 0.10841 -0.994106 0 outer loop - vertex 18.7132 -10.7406 -0.1 + vertex 18.7132 -10.7406 -0.2 vertex 19.0963 -10.6988 0 vertex 18.7132 -10.7406 0 endloop @@ -4027,13 +4027,13 @@ solid OpenSCAD_Model facet normal 0.10841 -0.994106 0 outer loop vertex 19.0963 -10.6988 0 - vertex 18.7132 -10.7406 -0.1 - vertex 19.0963 -10.6988 -0.1 + vertex 18.7132 -10.7406 -0.2 + vertex 19.0963 -10.6988 -0.2 endloop endfacet facet normal -0.0664596 -0.997789 0 outer loop - vertex 19.0963 -10.6988 -0.1 + vertex 19.0963 -10.6988 -0.2 vertex 19.3736 -10.7173 0 vertex 19.0963 -10.6988 0 endloop @@ -4041,13 +4041,13 @@ solid OpenSCAD_Model facet normal -0.0664596 -0.997789 -0 outer loop vertex 19.3736 -10.7173 0 - vertex 19.0963 -10.6988 -0.1 - vertex 19.3736 -10.7173 -0.1 + vertex 19.0963 -10.6988 -0.2 + vertex 19.3736 -10.7173 -0.2 endloop endfacet facet normal -0.172939 0.984933 0 outer loop - vertex 8.12348 -21.5274 -0.1 + vertex 8.12348 -21.5274 -0.2 vertex 7.71946 -21.5983 0 vertex 8.12348 -21.5274 0 endloop @@ -4055,13 +4055,13 @@ solid OpenSCAD_Model facet normal -0.172939 0.984933 0 outer loop vertex 7.71946 -21.5983 0 - vertex 8.12348 -21.5274 -0.1 - vertex 7.71946 -21.5983 -0.1 + vertex 8.12348 -21.5274 -0.2 + vertex 7.71946 -21.5983 -0.2 endloop endfacet facet normal -0.287852 0.957675 0 outer loop - vertex 7.71946 -21.5983 -0.1 + vertex 7.71946 -21.5983 -0.2 vertex 7.29763 -21.7251 0 vertex 7.71946 -21.5983 0 endloop @@ -4069,13 +4069,13 @@ solid OpenSCAD_Model facet normal -0.287852 0.957675 0 outer loop vertex 7.29763 -21.7251 0 - vertex 7.71946 -21.5983 -0.1 - vertex 7.29763 -21.7251 -0.1 + vertex 7.71946 -21.5983 -0.2 + vertex 7.29763 -21.7251 -0.2 endloop endfacet facet normal -0.387479 0.921879 0 outer loop - vertex 7.29763 -21.7251 -0.1 + vertex 7.29763 -21.7251 -0.2 vertex 6.8627 -21.9079 0 vertex 7.29763 -21.7251 0 endloop @@ -4083,13 +4083,13 @@ solid OpenSCAD_Model facet normal -0.387479 0.921879 0 outer loop vertex 6.8627 -21.9079 0 - vertex 7.29763 -21.7251 -0.1 - vertex 6.8627 -21.9079 -0.1 + vertex 7.29763 -21.7251 -0.2 + vertex 6.8627 -21.9079 -0.2 endloop endfacet facet normal -0.474518 0.880246 0 outer loop - vertex 6.8627 -21.9079 -0.1 + vertex 6.8627 -21.9079 -0.2 vertex 6.41939 -22.1469 0 vertex 6.8627 -21.9079 0 endloop @@ -4097,13 +4097,13 @@ solid OpenSCAD_Model facet normal -0.474518 0.880246 0 outer loop vertex 6.41939 -22.1469 0 - vertex 6.8627 -21.9079 -0.1 - vertex 6.41939 -22.1469 -0.1 + vertex 6.8627 -21.9079 -0.2 + vertex 6.41939 -22.1469 -0.2 endloop endfacet facet normal -0.551235 0.83435 0 outer loop - vertex 6.41939 -22.1469 -0.1 + vertex 6.41939 -22.1469 -0.2 vertex 5.97241 -22.4422 0 vertex 6.41939 -22.1469 0 endloop @@ -4111,13 +4111,13 @@ solid OpenSCAD_Model facet normal -0.551235 0.83435 0 outer loop vertex 5.97241 -22.4422 0 - vertex 6.41939 -22.1469 -0.1 - vertex 5.97241 -22.4422 -0.1 + vertex 6.41939 -22.1469 -0.2 + vertex 5.97241 -22.4422 -0.2 endloop endfacet facet normal -0.619368 0.785101 0 outer loop - vertex 5.97241 -22.4422 -0.1 + vertex 5.97241 -22.4422 -0.2 vertex 5.52647 -22.794 0 vertex 5.97241 -22.4422 0 endloop @@ -4125,13 +4125,13 @@ solid OpenSCAD_Model facet normal -0.619368 0.785101 0 outer loop vertex 5.52647 -22.794 0 - vertex 5.97241 -22.4422 -0.1 - vertex 5.52647 -22.794 -0.1 + vertex 5.97241 -22.4422 -0.2 + vertex 5.52647 -22.794 -0.2 endloop endfacet facet normal -0.680193 0.733033 0 outer loop - vertex 5.52647 -22.794 -0.1 + vertex 5.52647 -22.794 -0.2 vertex 5.08628 -23.2024 0 vertex 5.52647 -22.794 0 endloop @@ -4139,307 +4139,307 @@ solid OpenSCAD_Model facet normal -0.680193 0.733033 0 outer loop vertex 5.08628 -23.2024 0 - vertex 5.52647 -22.794 -0.1 - vertex 5.08628 -23.2024 -0.1 + vertex 5.52647 -22.794 -0.2 + vertex 5.08628 -23.2024 -0.2 endloop endfacet facet normal -0.733294 0.679911 0 outer loop - vertex 4.45147 -23.8871 -0.1 + vertex 4.45147 -23.8871 -0.2 vertex 5.08628 -23.2024 0 - vertex 5.08628 -23.2024 -0.1 + vertex 5.08628 -23.2024 -0.2 endloop endfacet facet normal -0.733294 0.679911 0 outer loop vertex 5.08628 -23.2024 0 - vertex 4.45147 -23.8871 -0.1 + vertex 4.45147 -23.8871 -0.2 vertex 4.45147 -23.8871 0 endloop endfacet facet normal -0.778151 0.628077 0 outer loop - vertex 3.85887 -24.6213 -0.1 + vertex 3.85887 -24.6213 -0.2 vertex 4.45147 -23.8871 0 - vertex 4.45147 -23.8871 -0.1 + vertex 4.45147 -23.8871 -0.2 endloop endfacet facet normal -0.778151 0.628077 0 outer loop vertex 4.45147 -23.8871 0 - vertex 3.85887 -24.6213 -0.1 + vertex 3.85887 -24.6213 -0.2 vertex 3.85887 -24.6213 0 endloop endfacet facet normal -0.816383 0.577511 0 outer loop - vertex 3.31148 -25.3951 -0.1 + vertex 3.31148 -25.3951 -0.2 vertex 3.85887 -24.6213 0 - vertex 3.85887 -24.6213 -0.1 + vertex 3.85887 -24.6213 -0.2 endloop endfacet facet normal -0.816383 0.577511 0 outer loop vertex 3.85887 -24.6213 0 - vertex 3.31148 -25.3951 -0.1 + vertex 3.31148 -25.3951 -0.2 vertex 3.31148 -25.3951 0 endloop endfacet facet normal -0.849413 0.527728 0 outer loop - vertex 2.81229 -26.1986 -0.1 + vertex 2.81229 -26.1986 -0.2 vertex 3.31148 -25.3951 0 - vertex 3.31148 -25.3951 -0.1 + vertex 3.31148 -25.3951 -0.2 endloop endfacet facet normal -0.849413 0.527728 0 outer loop vertex 3.31148 -25.3951 0 - vertex 2.81229 -26.1986 -0.1 + vertex 2.81229 -26.1986 -0.2 vertex 2.81229 -26.1986 0 endloop endfacet facet normal -0.878359 0.478001 0 outer loop - vertex 2.36428 -27.0218 -0.1 + vertex 2.36428 -27.0218 -0.2 vertex 2.81229 -26.1986 0 - vertex 2.81229 -26.1986 -0.1 + vertex 2.81229 -26.1986 -0.2 endloop endfacet facet normal -0.878359 0.478001 0 outer loop vertex 2.81229 -26.1986 0 - vertex 2.36428 -27.0218 -0.1 + vertex 2.36428 -27.0218 -0.2 vertex 2.36428 -27.0218 0 endloop endfacet facet normal -0.904067 0.427391 0 outer loop - vertex 1.97046 -27.8549 -0.1 + vertex 1.97046 -27.8549 -0.2 vertex 2.36428 -27.0218 0 - vertex 2.36428 -27.0218 -0.1 + vertex 2.36428 -27.0218 -0.2 endloop endfacet facet normal -0.904067 0.427391 0 outer loop vertex 2.36428 -27.0218 0 - vertex 1.97046 -27.8549 -0.1 + vertex 1.97046 -27.8549 -0.2 vertex 1.97046 -27.8549 0 endloop endfacet facet normal -0.927139 0.374717 0 outer loop - vertex 1.63381 -28.6878 -0.1 + vertex 1.63381 -28.6878 -0.2 vertex 1.97046 -27.8549 0 - vertex 1.97046 -27.8549 -0.1 + vertex 1.97046 -27.8549 -0.2 endloop endfacet facet normal -0.927139 0.374717 0 outer loop vertex 1.97046 -27.8549 0 - vertex 1.63381 -28.6878 -0.1 + vertex 1.63381 -28.6878 -0.2 vertex 1.63381 -28.6878 0 endloop endfacet facet normal -0.947927 0.318489 0 outer loop - vertex 1.35733 -29.5107 -0.1 + vertex 1.35733 -29.5107 -0.2 vertex 1.63381 -28.6878 0 - vertex 1.63381 -28.6878 -0.1 + vertex 1.63381 -28.6878 -0.2 endloop endfacet facet normal -0.947927 0.318489 0 outer loop vertex 1.63381 -28.6878 0 - vertex 1.35733 -29.5107 -0.1 + vertex 1.35733 -29.5107 -0.2 vertex 1.35733 -29.5107 0 endloop endfacet facet normal -0.966471 0.256775 0 outer loop - vertex 1.144 -30.3137 -0.1 + vertex 1.144 -30.3137 -0.2 vertex 1.35733 -29.5107 0 - vertex 1.35733 -29.5107 -0.1 + vertex 1.35733 -29.5107 -0.2 endloop endfacet facet normal -0.966471 0.256775 0 outer loop vertex 1.35733 -29.5107 0 - vertex 1.144 -30.3137 -0.1 + vertex 1.144 -30.3137 -0.2 vertex 1.144 -30.3137 0 endloop endfacet facet normal -0.982354 0.187033 0 outer loop - vertex 0.99682 -31.0867 -0.1 + vertex 0.99682 -31.0867 -0.2 vertex 1.144 -30.3137 0 - vertex 1.144 -30.3137 -0.1 + vertex 1.144 -30.3137 -0.2 endloop endfacet facet normal -0.982354 0.187033 0 outer loop vertex 1.144 -30.3137 0 - vertex 0.99682 -31.0867 -0.1 + vertex 0.99682 -31.0867 -0.2 vertex 0.99682 -31.0867 0 endloop endfacet facet normal -0.994383 0.105841 0 outer loop - vertex 0.918778 -31.8199 -0.1 + vertex 0.918778 -31.8199 -0.2 vertex 0.99682 -31.0867 0 - vertex 0.99682 -31.0867 -0.1 + vertex 0.99682 -31.0867 -0.2 endloop endfacet facet normal -0.994383 0.105841 0 outer loop vertex 0.99682 -31.0867 0 - vertex 0.918778 -31.8199 -0.1 + vertex 0.918778 -31.8199 -0.2 vertex 0.918778 -31.8199 0 endloop endfacet facet normal -0.999392 0.0348629 0 outer loop - vertex 0.906618 -32.1685 -0.1 + vertex 0.906618 -32.1685 -0.2 vertex 0.918778 -31.8199 0 - vertex 0.918778 -31.8199 -0.1 + vertex 0.918778 -31.8199 -0.2 endloop endfacet facet normal -0.999392 0.0348629 0 outer loop vertex 0.918778 -31.8199 0 - vertex 0.906618 -32.1685 -0.1 + vertex 0.906618 -32.1685 -0.2 vertex 0.906618 -32.1685 0 endloop endfacet facet normal -0.999826 -0.0186499 0 outer loop - vertex 0.912865 -32.5034 -0.1 + vertex 0.912865 -32.5034 -0.2 vertex 0.906618 -32.1685 0 - vertex 0.906618 -32.1685 -0.1 + vertex 0.906618 -32.1685 -0.2 endloop endfacet facet normal -0.999826 -0.0186499 0 outer loop vertex 0.906618 -32.1685 0 - vertex 0.912865 -32.5034 -0.1 + vertex 0.912865 -32.5034 -0.2 vertex 0.912865 -32.5034 0 endloop endfacet facet normal -0.996955 -0.077982 0 outer loop - vertex 0.937893 -32.8234 -0.1 + vertex 0.937893 -32.8234 -0.2 vertex 0.912865 -32.5034 0 - vertex 0.912865 -32.5034 -0.1 + vertex 0.912865 -32.5034 -0.2 endloop endfacet facet normal -0.996955 -0.077982 0 outer loop vertex 0.912865 -32.5034 0 - vertex 0.937893 -32.8234 -0.1 + vertex 0.937893 -32.8234 -0.2 vertex 0.937893 -32.8234 0 endloop endfacet facet normal -0.98959 -0.143913 0 outer loop - vertex 0.982074 -33.1272 -0.1 + vertex 0.982074 -33.1272 -0.2 vertex 0.937893 -32.8234 0 - vertex 0.937893 -32.8234 -0.1 + vertex 0.937893 -32.8234 -0.2 endloop endfacet facet normal -0.98959 -0.143913 0 outer loop vertex 0.937893 -32.8234 0 - vertex 0.982074 -33.1272 -0.1 + vertex 0.982074 -33.1272 -0.2 vertex 0.982074 -33.1272 0 endloop endfacet facet normal -0.97614 -0.217144 0 outer loop - vertex 1.04578 -33.4136 -0.1 + vertex 1.04578 -33.4136 -0.2 vertex 0.982074 -33.1272 0 - vertex 0.982074 -33.1272 -0.1 + vertex 0.982074 -33.1272 -0.2 endloop endfacet facet normal -0.97614 -0.217144 0 outer loop vertex 0.982074 -33.1272 0 - vertex 1.04578 -33.4136 -0.1 + vertex 1.04578 -33.4136 -0.2 vertex 1.04578 -33.4136 0 endloop endfacet facet normal -0.954541 -0.298078 0 outer loop - vertex 1.1294 -33.6813 -0.1 + vertex 1.1294 -33.6813 -0.2 vertex 1.04578 -33.4136 0 - vertex 1.04578 -33.4136 -0.1 + vertex 1.04578 -33.4136 -0.2 endloop endfacet facet normal -0.954541 -0.298078 0 outer loop vertex 1.04578 -33.4136 0 - vertex 1.1294 -33.6813 -0.1 + vertex 1.1294 -33.6813 -0.2 vertex 1.1294 -33.6813 0 endloop endfacet facet normal -0.922268 -0.38655 0 outer loop - vertex 1.23329 -33.9292 -0.1 + vertex 1.23329 -33.9292 -0.2 vertex 1.1294 -33.6813 0 - vertex 1.1294 -33.6813 -0.1 + vertex 1.1294 -33.6813 -0.2 endloop endfacet facet normal -0.922268 -0.38655 0 outer loop vertex 1.1294 -33.6813 0 - vertex 1.23329 -33.9292 -0.1 + vertex 1.23329 -33.9292 -0.2 vertex 1.23329 -33.9292 0 endloop endfacet facet normal -0.876493 -0.481415 0 outer loop - vertex 1.35782 -34.1559 -0.1 + vertex 1.35782 -34.1559 -0.2 vertex 1.23329 -33.9292 0 - vertex 1.23329 -33.9292 -0.1 + vertex 1.23329 -33.9292 -0.2 endloop endfacet facet normal -0.876493 -0.481415 0 outer loop vertex 1.23329 -33.9292 0 - vertex 1.35782 -34.1559 -0.1 + vertex 1.35782 -34.1559 -0.2 vertex 1.35782 -34.1559 0 endloop endfacet facet normal -0.814521 -0.580134 0 outer loop - vertex 1.50339 -34.3603 -0.1 + vertex 1.50339 -34.3603 -0.2 vertex 1.35782 -34.1559 0 - vertex 1.35782 -34.1559 -0.1 + vertex 1.35782 -34.1559 -0.2 endloop endfacet facet normal -0.814521 -0.580134 0 outer loop vertex 1.35782 -34.1559 0 - vertex 1.50339 -34.3603 -0.1 + vertex 1.50339 -34.3603 -0.2 vertex 1.50339 -34.3603 0 endloop endfacet facet normal -0.734597 -0.678504 0 outer loop - vertex 1.67035 -34.5411 -0.1 + vertex 1.67035 -34.5411 -0.2 vertex 1.50339 -34.3603 0 - vertex 1.50339 -34.3603 -0.1 + vertex 1.50339 -34.3603 -0.2 endloop endfacet facet normal -0.734597 -0.678504 0 outer loop vertex 1.50339 -34.3603 0 - vertex 1.67035 -34.5411 -0.1 + vertex 1.67035 -34.5411 -0.2 vertex 1.67035 -34.5411 0 endloop endfacet facet normal -0.643892 -0.765116 0 outer loop - vertex 1.67035 -34.5411 -0.1 + vertex 1.67035 -34.5411 -0.2 vertex 1.8149 -34.6627 0 vertex 1.67035 -34.5411 0 endloop @@ -4447,13 +4447,13 @@ solid OpenSCAD_Model facet normal -0.643892 -0.765116 -0 outer loop vertex 1.8149 -34.6627 0 - vertex 1.67035 -34.5411 -0.1 - vertex 1.8149 -34.6627 -0.1 + vertex 1.67035 -34.5411 -0.2 + vertex 1.8149 -34.6627 -0.2 endloop endfacet facet normal -0.554297 -0.832319 0 outer loop - vertex 1.8149 -34.6627 -0.1 + vertex 1.8149 -34.6627 -0.2 vertex 1.97535 -34.7696 0 vertex 1.8149 -34.6627 0 endloop @@ -4461,13 +4461,13 @@ solid OpenSCAD_Model facet normal -0.554297 -0.832319 -0 outer loop vertex 1.97535 -34.7696 0 - vertex 1.8149 -34.6627 -0.1 - vertex 1.97535 -34.7696 -0.1 + vertex 1.8149 -34.6627 -0.2 + vertex 1.97535 -34.7696 -0.2 endloop endfacet facet normal -0.465589 -0.885001 0 outer loop - vertex 1.97535 -34.7696 -0.1 + vertex 1.97535 -34.7696 -0.2 vertex 2.15022 -34.8616 0 vertex 1.97535 -34.7696 0 endloop @@ -4475,13 +4475,13 @@ solid OpenSCAD_Model facet normal -0.465589 -0.885001 -0 outer loop vertex 2.15022 -34.8616 0 - vertex 1.97535 -34.7696 -0.1 - vertex 2.15022 -34.8616 -0.1 + vertex 1.97535 -34.7696 -0.2 + vertex 2.15022 -34.8616 -0.2 endloop endfacet facet normal -0.379703 -0.925108 0 outer loop - vertex 2.15022 -34.8616 -0.1 + vertex 2.15022 -34.8616 -0.2 vertex 2.33801 -34.9386 0 vertex 2.15022 -34.8616 0 endloop @@ -4489,13 +4489,13 @@ solid OpenSCAD_Model facet normal -0.379703 -0.925108 -0 outer loop vertex 2.33801 -34.9386 0 - vertex 2.15022 -34.8616 -0.1 - vertex 2.33801 -34.9386 -0.1 + vertex 2.15022 -34.8616 -0.2 + vertex 2.33801 -34.9386 -0.2 endloop endfacet facet normal -0.297589 -0.954694 0 outer loop - vertex 2.33801 -34.9386 -0.1 + vertex 2.33801 -34.9386 -0.2 vertex 2.53723 -35.0007 0 vertex 2.33801 -34.9386 0 endloop @@ -4503,13 +4503,13 @@ solid OpenSCAD_Model facet normal -0.297589 -0.954694 -0 outer loop vertex 2.53723 -35.0007 0 - vertex 2.33801 -34.9386 -0.1 - vertex 2.53723 -35.0007 -0.1 + vertex 2.33801 -34.9386 -0.2 + vertex 2.53723 -35.0007 -0.2 endloop endfacet facet normal -0.219494 -0.975614 0 outer loop - vertex 2.53723 -35.0007 -0.1 + vertex 2.53723 -35.0007 -0.2 vertex 2.7464 -35.0478 0 vertex 2.53723 -35.0007 0 endloop @@ -4517,13 +4517,13 @@ solid OpenSCAD_Model facet normal -0.219494 -0.975614 -0 outer loop vertex 2.7464 -35.0478 0 - vertex 2.53723 -35.0007 -0.1 - vertex 2.7464 -35.0478 -0.1 + vertex 2.53723 -35.0007 -0.2 + vertex 2.7464 -35.0478 -0.2 endloop endfacet facet normal -0.109599 -0.993976 0 outer loop - vertex 2.7464 -35.0478 -0.1 + vertex 2.7464 -35.0478 -0.2 vertex 3.18861 -35.0966 0 vertex 2.7464 -35.0478 0 endloop @@ -4531,13 +4531,13 @@ solid OpenSCAD_Model facet normal -0.109599 -0.993976 -0 outer loop vertex 3.18861 -35.0966 0 - vertex 2.7464 -35.0478 -0.1 - vertex 3.18861 -35.0966 -0.1 + vertex 2.7464 -35.0478 -0.2 + vertex 3.18861 -35.0966 -0.2 endloop endfacet facet normal 0.0261117 -0.999659 0 outer loop - vertex 3.18861 -35.0966 -0.1 + vertex 3.18861 -35.0966 -0.2 vertex 3.65273 -35.0844 0 vertex 3.18861 -35.0966 0 endloop @@ -4545,13 +4545,13 @@ solid OpenSCAD_Model facet normal 0.0261117 -0.999659 0 outer loop vertex 3.65273 -35.0844 0 - vertex 3.18861 -35.0966 -0.1 - vertex 3.65273 -35.0844 -0.1 + vertex 3.18861 -35.0966 -0.2 + vertex 3.65273 -35.0844 -0.2 endloop endfacet facet normal 0.153159 -0.988202 0 outer loop - vertex 3.65273 -35.0844 -0.1 + vertex 3.65273 -35.0844 -0.2 vertex 4.12685 -35.011 0 vertex 3.65273 -35.0844 0 endloop @@ -4559,13 +4559,13 @@ solid OpenSCAD_Model facet normal 0.153159 -0.988202 0 outer loop vertex 4.12685 -35.011 0 - vertex 3.65273 -35.0844 -0.1 - vertex 4.12685 -35.011 -0.1 + vertex 3.65273 -35.0844 -0.2 + vertex 4.12685 -35.011 -0.2 endloop endfacet facet normal 0.275485 -0.961305 0 outer loop - vertex 4.12685 -35.011 -0.1 + vertex 4.12685 -35.011 -0.2 vertex 4.59905 -34.8756 0 vertex 4.12685 -35.011 0 endloop @@ -4573,13 +4573,13 @@ solid OpenSCAD_Model facet normal 0.275485 -0.961305 0 outer loop vertex 4.59905 -34.8756 0 - vertex 4.12685 -35.011 -0.1 - vertex 4.59905 -34.8756 -0.1 + vertex 4.12685 -35.011 -0.2 + vertex 4.59905 -34.8756 -0.2 endloop endfacet facet normal 0.39595 -0.918272 0 outer loop - vertex 4.59905 -34.8756 -0.1 + vertex 4.59905 -34.8756 -0.2 vertex 5.05744 -34.678 0 vertex 4.59905 -34.8756 0 endloop @@ -4587,13 +4587,13 @@ solid OpenSCAD_Model facet normal 0.39595 -0.918272 0 outer loop vertex 5.05744 -34.678 0 - vertex 4.59905 -34.8756 -0.1 - vertex 5.05744 -34.678 -0.1 + vertex 4.59905 -34.8756 -0.2 + vertex 5.05744 -34.678 -0.2 endloop endfacet facet normal 0.498797 -0.866719 0 outer loop - vertex 5.05744 -34.678 -0.1 + vertex 5.05744 -34.678 -0.2 vertex 5.41146 -34.4742 0 vertex 5.05744 -34.678 0 endloop @@ -4601,13 +4601,13 @@ solid OpenSCAD_Model facet normal 0.498797 -0.866719 0 outer loop vertex 5.41146 -34.4742 0 - vertex 5.05744 -34.678 -0.1 - vertex 5.41146 -34.4742 -0.1 + vertex 5.05744 -34.678 -0.2 + vertex 5.41146 -34.4742 -0.2 endloop endfacet facet normal 0.615093 -0.788455 0 outer loop - vertex 5.41146 -34.4742 -0.1 + vertex 5.41146 -34.4742 -0.2 vertex 5.72486 -34.2297 0 vertex 5.41146 -34.4742 0 endloop @@ -4615,307 +4615,307 @@ solid OpenSCAD_Model facet normal 0.615093 -0.788455 0 outer loop vertex 5.72486 -34.2297 0 - vertex 5.41146 -34.4742 -0.1 - vertex 5.72486 -34.2297 -0.1 + vertex 5.41146 -34.4742 -0.2 + vertex 5.72486 -34.2297 -0.2 endloop endfacet facet normal 0.708025 -0.706188 0 outer loop vertex 5.72486 -34.2297 0 - vertex 5.87315 -34.0811 -0.1 + vertex 5.87315 -34.0811 -0.2 vertex 5.87315 -34.0811 0 endloop endfacet facet normal 0.708025 -0.706188 0 outer loop - vertex 5.87315 -34.0811 -0.1 + vertex 5.87315 -34.0811 -0.2 vertex 5.72486 -34.2297 0 - vertex 5.72486 -34.2297 -0.1 + vertex 5.72486 -34.2297 -0.2 endloop endfacet facet normal 0.762128 -0.647427 0 outer loop vertex 5.87315 -34.0811 0 - vertex 6.01946 -33.9088 -0.1 + vertex 6.01946 -33.9088 -0.2 vertex 6.01946 -33.9088 0 endloop endfacet facet normal 0.762128 -0.647427 0 outer loop - vertex 6.01946 -33.9088 -0.1 + vertex 6.01946 -33.9088 -0.2 vertex 5.87315 -34.0811 0 - vertex 5.87315 -34.0811 -0.1 + vertex 5.87315 -34.0811 -0.2 endloop endfacet facet normal 0.824099 -0.566446 0 outer loop vertex 6.01946 -33.9088 0 - vertex 6.31707 -33.4759 -0.1 + vertex 6.31707 -33.4759 -0.2 vertex 6.31707 -33.4759 0 endloop endfacet facet normal 0.824099 -0.566446 0 outer loop - vertex 6.31707 -33.4759 -0.1 + vertex 6.31707 -33.4759 -0.2 vertex 6.01946 -33.9088 0 - vertex 6.01946 -33.9088 -0.1 + vertex 6.01946 -33.9088 -0.2 endloop endfacet facet normal 0.874277 -0.485427 0 outer loop vertex 6.31707 -33.4759 0 - vertex 6.63949 -32.8952 -0.1 + vertex 6.63949 -32.8952 -0.2 vertex 6.63949 -32.8952 0 endloop endfacet facet normal 0.874277 -0.485427 0 outer loop - vertex 6.63949 -32.8952 -0.1 + vertex 6.63949 -32.8952 -0.2 vertex 6.31707 -33.4759 0 - vertex 6.31707 -33.4759 -0.1 + vertex 6.31707 -33.4759 -0.2 endloop endfacet facet normal 0.900468 -0.434923 0 outer loop vertex 6.63949 -32.8952 0 - vertex 7.00854 -32.1311 -0.1 + vertex 7.00854 -32.1311 -0.2 vertex 7.00854 -32.1311 0 endloop endfacet facet normal 0.900468 -0.434923 0 outer loop - vertex 7.00854 -32.1311 -0.1 + vertex 7.00854 -32.1311 -0.2 vertex 6.63949 -32.8952 0 - vertex 6.63949 -32.8952 -0.1 + vertex 6.63949 -32.8952 -0.2 endloop endfacet facet normal 0.913625 -0.406558 0 outer loop vertex 7.00854 -32.1311 0 - vertex 7.44603 -31.1479 -0.1 + vertex 7.44603 -31.1479 -0.2 vertex 7.44603 -31.1479 0 endloop endfacet facet normal 0.913625 -0.406558 0 outer loop - vertex 7.44603 -31.1479 -0.1 + vertex 7.44603 -31.1479 -0.2 vertex 7.00854 -32.1311 0 - vertex 7.00854 -32.1311 -0.1 + vertex 7.00854 -32.1311 -0.2 endloop endfacet facet normal 0.919886 -0.392186 0 outer loop vertex 7.44603 -31.1479 0 - vertex 7.97377 -29.9101 -0.1 + vertex 7.97377 -29.9101 -0.2 vertex 7.97377 -29.9101 0 endloop endfacet facet normal 0.919886 -0.392186 0 outer loop - vertex 7.97377 -29.9101 -0.1 + vertex 7.97377 -29.9101 -0.2 vertex 7.44603 -31.1479 0 - vertex 7.44603 -31.1479 -0.1 + vertex 7.44603 -31.1479 -0.2 endloop endfacet facet normal 0.924332 -0.381588 0 outer loop vertex 7.97377 -29.9101 0 - vertex 9.07864 -27.2338 -0.1 + vertex 9.07864 -27.2338 -0.2 vertex 9.07864 -27.2338 0 endloop endfacet facet normal 0.924332 -0.381588 0 outer loop - vertex 9.07864 -27.2338 -0.1 + vertex 9.07864 -27.2338 -0.2 vertex 7.97377 -29.9101 0 - vertex 7.97377 -29.9101 -0.1 + vertex 7.97377 -29.9101 -0.2 endloop endfacet facet normal 0.932155 -0.362059 0 outer loop vertex 9.07864 -27.2338 0 - vertex 9.46376 -26.2422 -0.1 + vertex 9.46376 -26.2422 -0.2 vertex 9.46376 -26.2422 0 endloop endfacet facet normal 0.932155 -0.362059 0 outer loop - vertex 9.46376 -26.2422 -0.1 + vertex 9.46376 -26.2422 -0.2 vertex 9.07864 -27.2338 0 - vertex 9.07864 -27.2338 -0.1 + vertex 9.07864 -27.2338 -0.2 endloop endfacet facet normal 0.941332 -0.337483 0 outer loop vertex 9.46376 -26.2422 0 - vertex 9.75283 -25.4359 -0.1 + vertex 9.75283 -25.4359 -0.2 vertex 9.75283 -25.4359 0 endloop endfacet facet normal 0.941332 -0.337483 0 outer loop - vertex 9.75283 -25.4359 -0.1 + vertex 9.75283 -25.4359 -0.2 vertex 9.46376 -26.2422 0 - vertex 9.46376 -26.2422 -0.1 + vertex 9.46376 -26.2422 -0.2 endloop endfacet facet normal 0.954562 -0.298012 0 outer loop vertex 9.75283 -25.4359 0 - vertex 9.95745 -24.7805 -0.1 + vertex 9.95745 -24.7805 -0.2 vertex 9.95745 -24.7805 0 endloop endfacet facet normal 0.954562 -0.298012 0 outer loop - vertex 9.95745 -24.7805 -0.1 + vertex 9.95745 -24.7805 -0.2 vertex 9.75283 -25.4359 0 - vertex 9.75283 -25.4359 -0.1 + vertex 9.75283 -25.4359 -0.2 endloop endfacet facet normal 0.971378 -0.237537 0 outer loop vertex 9.95745 -24.7805 0 - vertex 10.0892 -24.2416 -0.1 + vertex 10.0892 -24.2416 -0.2 vertex 10.0892 -24.2416 0 endloop endfacet facet normal 0.971378 -0.237537 0 outer loop - vertex 10.0892 -24.2416 -0.1 + vertex 10.0892 -24.2416 -0.2 vertex 9.95745 -24.7805 0 - vertex 9.95745 -24.7805 -0.1 + vertex 9.95745 -24.7805 -0.2 endloop endfacet facet normal 0.98828 -0.15265 0 outer loop vertex 10.0892 -24.2416 0 - vertex 10.1598 -23.7848 -0.1 + vertex 10.1598 -23.7848 -0.2 vertex 10.1598 -23.7848 0 endloop endfacet facet normal 0.98828 -0.15265 0 outer loop - vertex 10.1598 -23.7848 -0.1 + vertex 10.1598 -23.7848 -0.2 vertex 10.0892 -24.2416 0 - vertex 10.0892 -24.2416 -0.1 + vertex 10.0892 -24.2416 -0.2 endloop endfacet facet normal 0.998693 -0.0511194 0 outer loop vertex 10.1598 -23.7848 0 - vertex 10.1807 -23.3758 -0.1 + vertex 10.1807 -23.3758 -0.2 vertex 10.1807 -23.3758 0 endloop endfacet facet normal 0.998693 -0.0511194 0 outer loop - vertex 10.1807 -23.3758 -0.1 + vertex 10.1807 -23.3758 -0.2 vertex 10.1598 -23.7848 0 - vertex 10.1598 -23.7848 -0.1 + vertex 10.1598 -23.7848 -0.2 endloop endfacet facet normal 0.997227 0.0744219 0 outer loop vertex 10.1807 -23.3758 0 - vertex 10.149 -22.9513 -0.1 + vertex 10.149 -22.9513 -0.2 vertex 10.149 -22.9513 0 endloop endfacet facet normal 0.997227 0.0744219 0 outer loop - vertex 10.149 -22.9513 -0.1 + vertex 10.149 -22.9513 -0.2 vertex 10.1807 -23.3758 0 - vertex 10.1807 -23.3758 -0.1 + vertex 10.1807 -23.3758 -0.2 endloop endfacet facet normal 0.980241 0.197806 0 outer loop vertex 10.149 -22.9513 0 - vertex 10.1103 -22.7594 -0.1 + vertex 10.1103 -22.7594 -0.2 vertex 10.1103 -22.7594 0 endloop endfacet facet normal 0.980241 0.197806 0 outer loop - vertex 10.1103 -22.7594 -0.1 + vertex 10.1103 -22.7594 -0.2 vertex 10.149 -22.9513 0 - vertex 10.149 -22.9513 -0.1 + vertex 10.149 -22.9513 -0.2 endloop endfacet facet normal 0.958253 0.285922 0 outer loop vertex 10.1103 -22.7594 0 - vertex 10.0571 -22.5812 -0.1 + vertex 10.0571 -22.5812 -0.2 vertex 10.0571 -22.5812 0 endloop endfacet facet normal 0.958253 0.285922 0 outer loop - vertex 10.0571 -22.5812 -0.1 + vertex 10.0571 -22.5812 -0.2 vertex 10.1103 -22.7594 0 - vertex 10.1103 -22.7594 -0.1 + vertex 10.1103 -22.7594 -0.2 endloop endfacet facet normal 0.926088 0.377307 0 outer loop vertex 10.0571 -22.5812 0 - vertex 9.99008 -22.4166 -0.1 + vertex 9.99008 -22.4166 -0.2 vertex 9.99008 -22.4166 0 endloop endfacet facet normal 0.926088 0.377307 0 outer loop - vertex 9.99008 -22.4166 -0.1 + vertex 9.99008 -22.4166 -0.2 vertex 10.0571 -22.5812 0 - vertex 10.0571 -22.5812 -0.1 + vertex 10.0571 -22.5812 -0.2 endloop endfacet facet normal 0.882715 0.469908 0 outer loop vertex 9.99008 -22.4166 0 - vertex 9.90973 -22.2656 -0.1 + vertex 9.90973 -22.2656 -0.2 vertex 9.90973 -22.2656 0 endloop endfacet facet normal 0.882715 0.469908 0 outer loop - vertex 9.90973 -22.2656 -0.1 + vertex 9.90973 -22.2656 -0.2 vertex 9.99008 -22.4166 0 - vertex 9.99008 -22.4166 -0.1 + vertex 9.99008 -22.4166 -0.2 endloop endfacet facet normal 0.827725 0.561134 0 outer loop vertex 9.90973 -22.2656 0 - vertex 9.81668 -22.1284 -0.1 + vertex 9.81668 -22.1284 -0.2 vertex 9.81668 -22.1284 0 endloop endfacet facet normal 0.827725 0.561134 0 outer loop - vertex 9.81668 -22.1284 -0.1 + vertex 9.81668 -22.1284 -0.2 vertex 9.90973 -22.2656 0 - vertex 9.90973 -22.2656 -0.1 + vertex 9.90973 -22.2656 -0.2 endloop endfacet facet normal 0.761518 0.648143 0 outer loop vertex 9.81668 -22.1284 0 - vertex 9.71152 -22.0048 -0.1 + vertex 9.71152 -22.0048 -0.2 vertex 9.71152 -22.0048 0 endloop endfacet facet normal 0.761518 0.648143 0 outer loop - vertex 9.71152 -22.0048 -0.1 + vertex 9.71152 -22.0048 -0.2 vertex 9.81668 -22.1284 0 - vertex 9.81668 -22.1284 -0.1 + vertex 9.81668 -22.1284 -0.2 endloop endfacet facet normal 0.685415 0.728153 -0 outer loop - vertex 9.71152 -22.0048 -0.1 + vertex 9.71152 -22.0048 -0.2 vertex 9.59484 -21.895 0 vertex 9.71152 -22.0048 0 endloop @@ -4923,13 +4923,13 @@ solid OpenSCAD_Model facet normal 0.685415 0.728153 0 outer loop vertex 9.59484 -21.895 0 - vertex 9.71152 -22.0048 -0.1 - vertex 9.59484 -21.895 -0.1 + vertex 9.71152 -22.0048 -0.2 + vertex 9.59484 -21.895 -0.2 endloop endfacet facet normal 0.601514 0.798862 -0 outer loop - vertex 9.59484 -21.895 -0.1 + vertex 9.59484 -21.895 -0.2 vertex 9.46723 -21.7989 0 vertex 9.59484 -21.895 0 endloop @@ -4937,13 +4937,13 @@ solid OpenSCAD_Model facet normal 0.601514 0.798862 0 outer loop vertex 9.46723 -21.7989 0 - vertex 9.59484 -21.895 -0.1 - vertex 9.46723 -21.7989 -0.1 + vertex 9.59484 -21.895 -0.2 + vertex 9.46723 -21.7989 -0.2 endloop endfacet facet normal 0.467006 0.884254 -0 outer loop - vertex 9.46723 -21.7989 -0.1 + vertex 9.46723 -21.7989 -0.2 vertex 9.18157 -21.6481 0 vertex 9.46723 -21.7989 0 endloop @@ -4951,13 +4951,13 @@ solid OpenSCAD_Model facet normal 0.467006 0.884254 0 outer loop vertex 9.18157 -21.6481 0 - vertex 9.46723 -21.7989 -0.1 - vertex 9.18157 -21.6481 -0.1 + vertex 9.46723 -21.7989 -0.2 + vertex 9.18157 -21.6481 -0.2 endloop endfacet facet normal 0.284506 0.958674 -0 outer loop - vertex 9.18157 -21.6481 -0.1 + vertex 9.18157 -21.6481 -0.2 vertex 8.85925 -21.5524 0 vertex 9.18157 -21.6481 0 endloop @@ -4965,13 +4965,13 @@ solid OpenSCAD_Model facet normal 0.284506 0.958674 0 outer loop vertex 8.85925 -21.5524 0 - vertex 9.18157 -21.6481 -0.1 - vertex 8.85925 -21.5524 -0.1 + vertex 9.18157 -21.6481 -0.2 + vertex 8.85925 -21.5524 -0.2 endloop endfacet facet normal 0.112981 0.993597 -0 outer loop - vertex 8.85925 -21.5524 -0.1 + vertex 8.85925 -21.5524 -0.2 vertex 8.50498 -21.5121 0 vertex 8.85925 -21.5524 0 endloop @@ -4979,13 +4979,13 @@ solid OpenSCAD_Model facet normal 0.112981 0.993597 0 outer loop vertex 8.50498 -21.5121 0 - vertex 8.85925 -21.5524 -0.1 - vertex 8.50498 -21.5121 -0.1 + vertex 8.85925 -21.5524 -0.2 + vertex 8.50498 -21.5121 -0.2 endloop endfacet facet normal -0.039935 0.999202 0 outer loop - vertex 8.50498 -21.5121 -0.1 + vertex 8.50498 -21.5121 -0.2 vertex 8.12348 -21.5274 0 vertex 8.50498 -21.5121 0 endloop @@ -4993,1301 +4993,1301 @@ solid OpenSCAD_Model facet normal -0.039935 0.999202 0 outer loop vertex 8.12348 -21.5274 0 - vertex 8.50498 -21.5121 -0.1 - vertex 8.12348 -21.5274 -0.1 + vertex 8.50498 -21.5121 -0.2 + vertex 8.12348 -21.5274 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.1179 -30.7807 -0.1 - vertex 30.2299 -31.0524 -0.1 - vertex 30.2187 -30.9454 -0.1 + vertex 30.1179 -30.7807 -0.2 + vertex 30.2299 -31.0524 -0.2 + vertex 30.2187 -30.9454 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.1179 -30.7807 -0.1 - vertex 30.2187 -30.9454 -0.1 - vertex 30.1812 -30.855 -0.1 + vertex 30.1179 -30.7807 -0.2 + vertex 30.2187 -30.9454 -0.2 + vertex 30.1812 -30.855 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.2299 -31.0524 -0.1 - vertex 30.1179 -30.7807 -0.1 - vertex 30.2146 -31.1764 -0.1 + vertex 30.2299 -31.0524 -0.2 + vertex 30.1179 -30.7807 -0.2 + vertex 30.2146 -31.1764 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.2146 -31.1764 -0.1 - vertex 30.1179 -30.7807 -0.1 - vertex 30.1726 -31.3179 -0.1 + vertex 30.2146 -31.1764 -0.2 + vertex 30.1179 -30.7807 -0.2 + vertex 30.1726 -31.3179 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.9008 -30.6099 -0.1 - vertex 30.1726 -31.3179 -0.1 - vertex 30.1179 -30.7807 -0.1 + vertex 29.9008 -30.6099 -0.2 + vertex 30.1726 -31.3179 -0.2 + vertex 30.1179 -30.7807 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.1726 -31.3179 -0.1 - vertex 29.9008 -30.6099 -0.1 - vertex 30.1034 -31.4773 -0.1 + vertex 30.1726 -31.3179 -0.2 + vertex 29.9008 -30.6099 -0.2 + vertex 30.1034 -31.4773 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.7002 -30.4984 -0.1 - vertex 30.1034 -31.4773 -0.1 - vertex 29.9008 -30.6099 -0.1 + vertex 29.7002 -30.4984 -0.2 + vertex 30.1034 -31.4773 -0.2 + vertex 29.9008 -30.6099 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.1034 -31.4773 -0.1 - vertex 29.7002 -30.4984 -0.1 - vertex 29.0845 -30.5466 -0.1 + vertex 30.1034 -31.4773 -0.2 + vertex 29.7002 -30.4984 -0.2 + vertex 29.0845 -30.5466 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.8369 -30.6989 -0.1 - vertex 30.1034 -31.4773 -0.1 - vertex 29.0845 -30.5466 -0.1 + vertex 28.8369 -30.6989 -0.2 + vertex 30.1034 -31.4773 -0.2 + vertex 29.0845 -30.5466 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.3033 -30.4642 -0.1 - vertex 29.7002 -30.4984 -0.1 - vertex 29.5048 -30.449 -0.1 + vertex 29.3033 -30.4642 -0.2 + vertex 29.7002 -30.4984 -0.2 + vertex 29.5048 -30.449 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.7002 -30.4984 -0.1 - vertex 29.3033 -30.4642 -0.1 - vertex 29.0845 -30.5466 -0.1 + vertex 29.7002 -30.4984 -0.2 + vertex 29.3033 -30.4642 -0.2 + vertex 29.0845 -30.5466 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.1034 -31.4773 -0.1 - vertex 28.8369 -30.6989 -0.1 - vertex 29.8827 -31.8517 -0.1 + vertex 30.1034 -31.4773 -0.2 + vertex 28.8369 -30.6989 -0.2 + vertex 29.8827 -31.8517 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.5495 -30.9236 -0.1 - vertex 29.8827 -31.8517 -0.1 - vertex 28.8369 -30.6989 -0.1 + vertex 28.5495 -30.9236 -0.2 + vertex 29.8827 -31.8517 -0.2 + vertex 28.8369 -30.6989 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.8827 -31.8517 -0.1 - vertex 28.5495 -30.9236 -0.1 - vertex 29.5499 -32.3032 -0.1 + vertex 29.8827 -31.8517 -0.2 + vertex 28.5495 -30.9236 -0.2 + vertex 29.5499 -32.3032 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.2108 -31.2235 -0.1 - vertex 29.5499 -32.3032 -0.1 - vertex 28.5495 -30.9236 -0.1 + vertex 28.2108 -31.2235 -0.2 + vertex 29.5499 -32.3032 -0.2 + vertex 28.5495 -30.9236 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.5499 -32.3032 -0.1 - vertex 28.2108 -31.2235 -0.1 - vertex 29.1028 -32.8352 -0.1 + vertex 29.5499 -32.3032 -0.2 + vertex 28.2108 -31.2235 -0.2 + vertex 29.1028 -32.8352 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.276 -32.055 -0.1 - vertex 29.1028 -32.8352 -0.1 - vertex 28.2108 -31.2235 -0.1 + vertex 27.276 -32.055 -0.2 + vertex 29.1028 -32.8352 -0.2 + vertex 28.2108 -31.2235 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.1028 -32.8352 -0.1 - vertex 27.276 -32.055 -0.1 - vertex 28.539 -33.4515 -0.1 + vertex 29.1028 -32.8352 -0.2 + vertex 27.276 -32.055 -0.2 + vertex 28.539 -33.4515 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.539 -33.4515 -0.1 - vertex 27.276 -32.055 -0.1 - vertex 27.856 -34.1555 -0.1 + vertex 28.539 -33.4515 -0.2 + vertex 27.276 -32.055 -0.2 + vertex 27.856 -34.1555 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 26.4309 -32.7448 -0.1 - vertex 27.856 -34.1555 -0.1 - vertex 27.276 -32.055 -0.1 + vertex 26.4309 -32.7448 -0.2 + vertex 27.856 -34.1555 -0.2 + vertex 27.276 -32.055 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.856 -34.1555 -0.1 - vertex 26.4309 -32.7448 -0.1 - vertex 27.3514 -34.6537 -0.1 + vertex 27.856 -34.1555 -0.2 + vertex 26.4309 -32.7448 -0.2 + vertex 27.3514 -34.6537 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.6577 -33.3022 -0.1 - vertex 27.3514 -34.6537 -0.1 - vertex 26.4309 -32.7448 -0.1 + vertex 25.6577 -33.3022 -0.2 + vertex 27.3514 -34.6537 -0.2 + vertex 26.4309 -32.7448 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3514 -34.6537 -0.1 - vertex 25.6577 -33.3022 -0.1 - vertex 26.8832 -35.0925 -0.1 + vertex 27.3514 -34.6537 -0.2 + vertex 25.6577 -33.3022 -0.2 + vertex 26.8832 -35.0925 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.2926 -33.5342 -0.1 - vertex 26.8832 -35.0925 -0.1 - vertex 25.6577 -33.3022 -0.1 + vertex 25.2926 -33.5342 -0.2 + vertex 26.8832 -35.0925 -0.2 + vertex 25.6577 -33.3022 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.8832 -35.0925 -0.1 - vertex 25.2926 -33.5342 -0.1 - vertex 26.4377 -35.4824 -0.1 + vertex 26.8832 -35.0925 -0.2 + vertex 25.2926 -33.5342 -0.2 + vertex 26.4377 -35.4824 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.9388 -33.7368 -0.1 - vertex 26.4377 -35.4824 -0.1 - vertex 25.2926 -33.5342 -0.1 + vertex 24.9388 -33.7368 -0.2 + vertex 26.4377 -35.4824 -0.2 + vertex 25.2926 -33.5342 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.4377 -35.4824 -0.1 - vertex 24.9388 -33.7368 -0.1 - vertex 26.0012 -35.834 -0.1 + vertex 26.4377 -35.4824 -0.2 + vertex 24.9388 -33.7368 -0.2 + vertex 26.0012 -35.834 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.5942 -33.911 -0.1 - vertex 26.0012 -35.834 -0.1 - vertex 24.9388 -33.7368 -0.1 + vertex 24.5942 -33.911 -0.2 + vertex 26.0012 -35.834 -0.2 + vertex 24.9388 -33.7368 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.0012 -35.834 -0.1 - vertex 24.5942 -33.911 -0.1 - vertex 25.5601 -36.1579 -0.1 + vertex 26.0012 -35.834 -0.2 + vertex 24.5942 -33.911 -0.2 + vertex 25.5601 -36.1579 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.2566 -34.0582 -0.1 - vertex 25.5601 -36.1579 -0.1 - vertex 24.5942 -33.911 -0.1 + vertex 24.2566 -34.0582 -0.2 + vertex 25.5601 -36.1579 -0.2 + vertex 24.5942 -33.911 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.5601 -36.1579 -0.1 - vertex 24.2566 -34.0582 -0.1 - vertex 25.1006 -36.4644 -0.1 + vertex 25.5601 -36.1579 -0.2 + vertex 24.2566 -34.0582 -0.2 + vertex 25.1006 -36.4644 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.9237 -34.1793 -0.1 - vertex 25.1006 -36.4644 -0.1 - vertex 24.2566 -34.0582 -0.1 + vertex 23.9237 -34.1793 -0.2 + vertex 25.1006 -36.4644 -0.2 + vertex 24.2566 -34.0582 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.1006 -36.4644 -0.1 - vertex 23.9237 -34.1793 -0.1 - vertex 24.6091 -36.7642 -0.1 + vertex 25.1006 -36.4644 -0.2 + vertex 23.9237 -34.1793 -0.2 + vertex 24.6091 -36.7642 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.5933 -34.2758 -0.1 - vertex 24.6091 -36.7642 -0.1 - vertex 23.9237 -34.1793 -0.1 + vertex 23.5933 -34.2758 -0.2 + vertex 24.6091 -36.7642 -0.2 + vertex 23.9237 -34.1793 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.2634 -34.3487 -0.1 - vertex 24.6091 -36.7642 -0.1 - vertex 23.5933 -34.2758 -0.1 + vertex 23.2634 -34.3487 -0.2 + vertex 24.6091 -36.7642 -0.2 + vertex 23.5933 -34.2758 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.6091 -36.7642 -0.1 - vertex 23.2634 -34.3487 -0.1 - vertex 24.0719 -37.0678 -0.1 + vertex 24.6091 -36.7642 -0.2 + vertex 23.2634 -34.3487 -0.2 + vertex 24.0719 -37.0678 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.9315 -34.3992 -0.1 - vertex 24.0719 -37.0678 -0.1 - vertex 23.2634 -34.3487 -0.1 + vertex 22.9315 -34.3992 -0.2 + vertex 24.0719 -37.0678 -0.2 + vertex 23.2634 -34.3487 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.0719 -37.0678 -0.1 - vertex 22.9315 -34.3992 -0.1 - vertex 23.2902 -37.4839 -0.1 + vertex 24.0719 -37.0678 -0.2 + vertex 22.9315 -34.3992 -0.2 + vertex 23.2902 -37.4839 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.5956 -34.4285 -0.1 - vertex 23.2902 -37.4839 -0.1 - vertex 22.9315 -34.3992 -0.1 + vertex 22.5956 -34.4285 -0.2 + vertex 23.2902 -37.4839 -0.2 + vertex 22.9315 -34.3992 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.2534 -34.4379 -0.1 - vertex 23.2902 -37.4839 -0.1 - vertex 22.5956 -34.4285 -0.1 + vertex 22.2534 -34.4379 -0.2 + vertex 23.2902 -37.4839 -0.2 + vertex 22.5956 -34.4285 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.2902 -37.4839 -0.1 - vertex 22.2534 -34.4379 -0.1 - vertex 22.6041 -37.8201 -0.1 + vertex 23.2902 -37.4839 -0.2 + vertex 22.2534 -34.4379 -0.2 + vertex 22.6041 -37.8201 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.8355 -34.4151 -0.1 - vertex 22.6041 -37.8201 -0.1 - vertex 22.2534 -34.4379 -0.1 + vertex 21.8355 -34.4151 -0.2 + vertex 22.6041 -37.8201 -0.2 + vertex 22.2534 -34.4379 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.6041 -37.8201 -0.1 - vertex 21.8355 -34.4151 -0.1 - vertex 21.9889 -38.084 -0.1 + vertex 22.6041 -37.8201 -0.2 + vertex 21.8355 -34.4151 -0.2 + vertex 21.9889 -38.084 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.43 -34.349 -0.1 - vertex 21.9889 -38.084 -0.1 - vertex 21.8355 -34.4151 -0.1 + vertex 21.43 -34.349 -0.2 + vertex 21.9889 -38.084 -0.2 + vertex 21.8355 -34.4151 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.43 -34.349 -0.1 - vertex 21.4197 -38.2833 -0.1 - vertex 21.9889 -38.084 -0.1 + vertex 21.43 -34.349 -0.2 + vertex 21.4197 -38.2833 -0.2 + vertex 21.9889 -38.084 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.0421 -34.2419 -0.1 - vertex 21.4197 -38.2833 -0.1 - vertex 21.43 -34.349 -0.1 + vertex 21.0421 -34.2419 -0.2 + vertex 21.4197 -38.2833 -0.2 + vertex 21.43 -34.349 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.0421 -34.2419 -0.1 - vertex 20.8717 -38.4255 -0.1 - vertex 21.4197 -38.2833 -0.1 + vertex 21.0421 -34.2419 -0.2 + vertex 20.8717 -38.4255 -0.2 + vertex 21.4197 -38.2833 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3202 -38.5182 -0.1 - vertex 21.0421 -34.2419 -0.1 - vertex 20.6768 -34.0963 -0.1 + vertex 20.3202 -38.5182 -0.2 + vertex 21.0421 -34.2419 -0.2 + vertex 20.6768 -34.0963 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7403 -38.5689 -0.1 - vertex 20.6768 -34.0963 -0.1 - vertex 20.3392 -33.9144 -0.1 + vertex 19.7403 -38.5689 -0.2 + vertex 20.6768 -34.0963 -0.2 + vertex 20.3392 -33.9144 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.0421 -34.2419 -0.1 - vertex 20.3202 -38.5182 -0.1 - vertex 20.8717 -38.4255 -0.1 + vertex 21.0421 -34.2419 -0.2 + vertex 20.3202 -38.5182 -0.2 + vertex 20.8717 -38.4255 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.4669 -38.5591 -0.1 - vertex 20.3392 -33.9144 -0.1 - vertex 20.0345 -33.6987 -0.1 + vertex 18.4669 -38.5591 -0.2 + vertex 20.3392 -33.9144 -0.2 + vertex 20.0345 -33.6987 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.8529 -38.0675 -0.1 - vertex 20.0345 -33.6987 -0.1 - vertex 19.7677 -33.4516 -0.1 + vertex 16.8529 -38.0675 -0.2 + vertex 20.0345 -33.6987 -0.2 + vertex 19.7677 -33.4516 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.6768 -34.0963 -0.1 - vertex 19.7403 -38.5689 -0.1 - vertex 20.3202 -38.5182 -0.1 + vertex 20.6768 -34.0963 -0.2 + vertex 19.7403 -38.5689 -0.2 + vertex 20.3202 -38.5182 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.927 -35.9398 -0.1 - vertex 19.7677 -33.4516 -0.1 - vertex 19.5439 -33.1754 -0.1 + vertex 14.927 -35.9398 -0.2 + vertex 19.7677 -33.4516 -0.2 + vertex 19.5439 -33.1754 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.6774 -34.4466 -0.1 - vertex 19.5439 -33.1754 -0.1 - vertex 19.466 -33.0295 -0.1 + vertex 14.6774 -34.4466 -0.2 + vertex 19.5439 -33.1754 -0.2 + vertex 19.466 -33.0295 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.6656 -33.913 -0.1 - vertex 19.466 -33.0295 -0.1 - vertex 19.403 -32.8415 -0.1 + vertex 14.6656 -33.913 -0.2 + vertex 19.466 -33.0295 -0.2 + vertex 19.403 -32.8415 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.73 -32.8205 -0.1 - vertex 19.403 -32.8415 -0.1 - vertex 19.3545 -32.6156 -0.1 + vertex 14.73 -32.8205 -0.2 + vertex 19.403 -32.8415 -0.2 + vertex 19.3545 -32.6156 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.8056 -32.2631 -0.1 - vertex 19.3545 -32.6156 -0.1 - vertex 19.3203 -32.3556 -0.1 + vertex 14.8056 -32.2631 -0.2 + vertex 19.3545 -32.6156 -0.2 + vertex 19.3203 -32.3556 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3392 -33.9144 -0.1 - vertex 19.1073 -38.5852 -0.1 - vertex 19.7403 -38.5689 -0.1 + vertex 20.3392 -33.9144 -0.2 + vertex 19.1073 -38.5852 -0.2 + vertex 19.7403 -38.5689 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.9098 -31.6993 -0.1 - vertex 19.3203 -32.3556 -0.1 - vertex 19.2935 -31.7496 -0.1 + vertex 14.9098 -31.6993 -0.2 + vertex 19.3203 -32.3556 -0.2 + vertex 19.2935 -31.7496 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.4186 -23.1088 -0.1 - vertex 32.0619 -22.7991 -0.1 - vertex 32.0349 -22.2828 -0.1 + vertex 27.4186 -23.1088 -0.2 + vertex 32.0619 -22.7991 -0.2 + vertex 32.0349 -22.2828 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 32.0619 -22.7991 -0.1 - vertex 27.4186 -23.1088 -0.1 - vertex 32.0372 -23.3848 -0.1 + vertex 32.0619 -22.7991 -0.2 + vertex 27.4186 -23.1088 -0.2 + vertex 32.0372 -23.3848 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3785 -22.8574 -0.1 - vertex 32.0349 -22.2828 -0.1 - vertex 31.9549 -21.8223 -0.1 + vertex 27.3785 -22.8574 -0.2 + vertex 32.0349 -22.2828 -0.2 + vertex 31.9549 -21.8223 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 27.4312 -23.3865 -0.1 - vertex 32.0372 -23.3848 -0.1 - vertex 27.4186 -23.1088 -0.1 + vertex 27.4312 -23.3865 -0.2 + vertex 32.0372 -23.3848 -0.2 + vertex 27.4186 -23.1088 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3785 -22.8574 -0.1 - vertex 31.9549 -21.8223 -0.1 - vertex 31.8204 -21.404 -0.1 + vertex 27.3785 -22.8574 -0.2 + vertex 31.9549 -21.8223 -0.2 + vertex 31.8204 -21.404 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.4161 -23.6904 -0.1 - vertex 31.9625 -24.0535 -0.1 - vertex 27.4312 -23.3865 -0.1 + vertex 27.4161 -23.6904 -0.2 + vertex 31.9625 -24.0535 -0.2 + vertex 27.4312 -23.3865 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3785 -22.8574 -0.1 - vertex 31.8204 -21.404 -0.1 - vertex 31.6298 -21.0145 -0.1 + vertex 27.3785 -22.8574 -0.2 + vertex 31.8204 -21.404 -0.2 + vertex 31.6298 -21.0145 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.9625 -24.0535 -0.1 - vertex 27.4161 -23.6904 -0.1 - vertex 31.8392 -24.8188 -0.1 + vertex 31.9625 -24.0535 -0.2 + vertex 27.4161 -23.6904 -0.2 + vertex 31.8392 -24.8188 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.373 -24.0204 -0.1 - vertex 31.8392 -24.8188 -0.1 - vertex 27.4161 -23.6904 -0.1 + vertex 27.373 -24.0204 -0.2 + vertex 31.8392 -24.8188 -0.2 + vertex 27.4161 -23.6904 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.8392 -24.8188 -0.1 - vertex 27.2401 -24.8188 -0.1 - vertex 31.6784 -25.7224 -0.1 + vertex 31.8392 -24.8188 -0.2 + vertex 27.2401 -24.8188 -0.2 + vertex 31.6784 -25.7224 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3785 -22.8574 -0.1 - vertex 31.6298 -21.0145 -0.1 - vertex 31.3816 -20.64 -0.1 + vertex 27.3785 -22.8574 -0.2 + vertex 31.6298 -21.0145 -0.2 + vertex 31.3816 -20.64 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.2401 -24.8188 -0.1 - vertex 31.8392 -24.8188 -0.1 - vertex 27.373 -24.0204 -0.1 + vertex 27.2401 -24.8188 -0.2 + vertex 31.8392 -24.8188 -0.2 + vertex 27.373 -24.0204 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3111 -22.6325 -0.1 - vertex 31.3816 -20.64 -0.1 - vertex 31.074 -20.2742 -0.1 + vertex 27.3111 -22.6325 -0.2 + vertex 31.3816 -20.64 -0.2 + vertex 31.074 -20.2742 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 29.58 -27.3827 -0.1 - vertex 31.6784 -25.7224 -0.1 - vertex 27.2401 -24.8188 -0.1 + vertex 29.58 -27.3827 -0.2 + vertex 31.6784 -25.7224 -0.2 + vertex 27.2401 -24.8188 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 30.0709 -27.3331 -0.1 - vertex 31.6784 -25.7224 -0.1 - vertex 29.58 -27.3827 -0.1 + vertex 30.0709 -27.3331 -0.2 + vertex 31.6784 -25.7224 -0.2 + vertex 29.58 -27.3827 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3111 -22.6325 -0.1 - vertex 31.074 -20.2742 -0.1 - vertex 30.7365 -19.9631 -0.1 + vertex 27.3111 -22.6325 -0.2 + vertex 31.074 -20.2742 -0.2 + vertex 30.7365 -19.9631 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 30.4717 -27.2602 -0.1 - vertex 31.6003 -26.0834 -0.1 - vertex 30.0709 -27.3331 -0.1 + vertex 30.4717 -27.2602 -0.2 + vertex 31.6003 -26.0834 -0.2 + vertex 30.0709 -27.3331 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3111 -22.6325 -0.1 - vertex 30.7365 -19.9631 -0.1 - vertex 30.3649 -19.705 -0.1 + vertex 27.3111 -22.6325 -0.2 + vertex 30.7365 -19.9631 -0.2 + vertex 30.3649 -19.705 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 30.7934 -27.1595 -0.1 - vertex 31.5092 -26.3899 -0.1 - vertex 30.4717 -27.2602 -0.1 + vertex 30.7934 -27.1595 -0.2 + vertex 31.5092 -26.3899 -0.2 + vertex 30.4717 -27.2602 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.2166 -22.4344 -0.1 - vertex 30.3649 -19.705 -0.1 - vertex 29.9546 -19.4981 -0.1 + vertex 27.2166 -22.4344 -0.2 + vertex 30.3649 -19.705 -0.2 + vertex 29.9546 -19.4981 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 31.047 -27.0266 -0.1 - vertex 31.3939 -26.6463 -0.1 - vertex 30.7934 -27.1595 -0.1 + vertex 31.047 -27.0266 -0.2 + vertex 31.3939 -26.6463 -0.2 + vertex 30.7934 -27.1595 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.2166 -22.4344 -0.1 - vertex 29.9546 -19.4981 -0.1 - vertex 29.5013 -19.3404 -0.1 + vertex 27.2166 -22.4344 -0.2 + vertex 29.9546 -19.4981 -0.2 + vertex 29.5013 -19.3404 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.2166 -22.4344 -0.1 - vertex 29.5013 -19.3404 -0.1 - vertex 29.0007 -19.2301 -0.1 + vertex 27.2166 -22.4344 -0.2 + vertex 29.5013 -19.3404 -0.2 + vertex 29.0007 -19.2301 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.3939 -26.6463 -0.1 - vertex 31.047 -27.0266 -0.1 - vertex 31.2435 -26.857 -0.1 + vertex 31.3939 -26.6463 -0.2 + vertex 31.047 -27.0266 -0.2 + vertex 31.2435 -26.857 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.0952 -22.2631 -0.1 - vertex 29.0007 -19.2301 -0.1 - vertex 28.4483 -19.1654 -0.1 + vertex 27.0952 -22.2631 -0.2 + vertex 29.0007 -19.2301 -0.2 + vertex 28.4483 -19.1654 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9471 -22.1189 -0.1 - vertex 28.4483 -19.1654 -0.1 - vertex 27.8398 -19.1444 -0.1 + vertex 26.9471 -22.1189 -0.2 + vertex 28.4483 -19.1654 -0.2 + vertex 27.8398 -19.1444 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 32.0372 -23.3848 -0.1 - vertex 27.4312 -23.3865 -0.1 - vertex 31.9625 -24.0535 -0.1 + vertex 32.0372 -23.3848 -0.2 + vertex 27.4312 -23.3865 -0.2 + vertex 31.9625 -24.0535 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.6003 -26.0834 -0.1 - vertex 30.4717 -27.2602 -0.1 - vertex 31.5092 -26.3899 -0.1 + vertex 31.6003 -26.0834 -0.2 + vertex 30.4717 -27.2602 -0.2 + vertex 31.5092 -26.3899 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.5092 -26.3899 -0.1 - vertex 30.7934 -27.1595 -0.1 - vertex 31.3939 -26.6463 -0.1 + vertex 31.5092 -26.3899 -0.2 + vertex 30.7934 -27.1595 -0.2 + vertex 31.3939 -26.6463 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 32.0349 -22.2828 -0.1 - vertex 27.3785 -22.8574 -0.1 - vertex 27.4186 -23.1088 -0.1 + vertex 32.0349 -22.2828 -0.2 + vertex 27.3785 -22.8574 -0.2 + vertex 27.4186 -23.1088 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.3816 -20.64 -0.1 - vertex 27.3111 -22.6325 -0.1 - vertex 27.3785 -22.8574 -0.1 + vertex 31.3816 -20.64 -0.2 + vertex 27.3111 -22.6325 -0.2 + vertex 27.3785 -22.8574 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.3649 -19.705 -0.1 - vertex 27.2166 -22.4344 -0.1 - vertex 27.3111 -22.6325 -0.1 + vertex 30.3649 -19.705 -0.2 + vertex 27.2166 -22.4344 -0.2 + vertex 27.3111 -22.6325 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7726 -22.0019 -0.1 - vertex 27.8398 -19.1444 -0.1 - vertex 27.1629 -19.1581 -0.1 + vertex 26.7726 -22.0019 -0.2 + vertex 27.8398 -19.1444 -0.2 + vertex 27.1629 -19.1581 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.0007 -19.2301 -0.1 - vertex 27.0952 -22.2631 -0.1 - vertex 27.2166 -22.4344 -0.1 + vertex 29.0007 -19.2301 -0.2 + vertex 27.0952 -22.2631 -0.2 + vertex 27.2166 -22.4344 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.4483 -19.1654 -0.1 - vertex 26.9471 -22.1189 -0.1 - vertex 27.0952 -22.2631 -0.1 + vertex 28.4483 -19.1654 -0.2 + vertex 26.9471 -22.1189 -0.2 + vertex 27.0952 -22.2631 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.8398 -19.1444 -0.1 - vertex 26.7726 -22.0019 -0.1 - vertex 26.9471 -22.1189 -0.1 + vertex 27.8398 -19.1444 -0.2 + vertex 26.7726 -22.0019 -0.2 + vertex 26.9471 -22.1189 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.1629 -19.1581 -0.1 - vertex 26.5717 -21.9122 -0.1 - vertex 26.7726 -22.0019 -0.1 + vertex 27.1629 -19.1581 -0.2 + vertex 26.5717 -21.9122 -0.2 + vertex 26.7726 -22.0019 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 26.5531 -19.2026 -0.1 - vertex 26.5717 -21.9122 -0.1 - vertex 27.1629 -19.1581 -0.1 + vertex 26.5531 -19.2026 -0.2 + vertex 26.5717 -21.9122 -0.2 + vertex 27.1629 -19.1581 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.5531 -19.2026 -0.1 - vertex 26.3449 -21.8501 -0.1 - vertex 26.5717 -21.9122 -0.1 + vertex 26.5531 -19.2026 -0.2 + vertex 26.3449 -21.8501 -0.2 + vertex 26.5717 -21.9122 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.9886 -19.284 -0.1 - vertex 26.3449 -21.8501 -0.1 - vertex 26.5531 -19.2026 -0.1 + vertex 25.9886 -19.284 -0.2 + vertex 26.3449 -21.8501 -0.2 + vertex 26.5531 -19.2026 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.3449 -21.8501 -0.1 - vertex 25.9886 -19.284 -0.1 - vertex 26.0922 -21.8157 -0.1 + vertex 26.3449 -21.8501 -0.2 + vertex 25.9886 -19.284 -0.2 + vertex 26.0922 -21.8157 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.4477 -19.4082 -0.1 - vertex 26.0922 -21.8157 -0.1 - vertex 25.9886 -19.284 -0.1 + vertex 25.4477 -19.4082 -0.2 + vertex 26.0922 -21.8157 -0.2 + vertex 25.9886 -19.284 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.0922 -21.8157 -0.1 - vertex 25.4477 -19.4082 -0.1 - vertex 25.8138 -21.8092 -0.1 + vertex 26.0922 -21.8157 -0.2 + vertex 25.4477 -19.4082 -0.2 + vertex 25.8138 -21.8092 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.8138 -21.8092 -0.1 - vertex 25.4477 -19.4082 -0.1 - vertex 25.51 -21.8307 -0.1 + vertex 25.8138 -21.8092 -0.2 + vertex 25.4477 -19.4082 -0.2 + vertex 25.51 -21.8307 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.9086 -19.5812 -0.1 - vertex 25.51 -21.8307 -0.1 - vertex 25.4477 -19.4082 -0.1 + vertex 24.9086 -19.5812 -0.2 + vertex 25.51 -21.8307 -0.2 + vertex 25.4477 -19.4082 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.51 -21.8307 -0.1 - vertex 24.9086 -19.5812 -0.1 - vertex 25.181 -21.8805 -0.1 + vertex 25.51 -21.8307 -0.2 + vertex 24.9086 -19.5812 -0.2 + vertex 25.181 -21.8805 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.3497 -19.8089 -0.1 - vertex 25.181 -21.8805 -0.1 - vertex 24.9086 -19.5812 -0.1 + vertex 24.3497 -19.8089 -0.2 + vertex 25.181 -21.8805 -0.2 + vertex 24.9086 -19.5812 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.181 -21.8805 -0.1 - vertex 24.3497 -19.8089 -0.1 - vertex 24.827 -21.9586 -0.1 + vertex 25.181 -21.8805 -0.2 + vertex 24.3497 -19.8089 -0.2 + vertex 24.827 -21.9586 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.7493 -20.0973 -0.1 - vertex 24.827 -21.9586 -0.1 - vertex 24.3497 -19.8089 -0.1 + vertex 23.7493 -20.0973 -0.2 + vertex 24.827 -21.9586 -0.2 + vertex 24.3497 -19.8089 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.827 -21.9586 -0.1 - vertex 23.7493 -20.0973 -0.1 - vertex 24.5319 -22.0421 -0.1 + vertex 24.827 -21.9586 -0.2 + vertex 23.7493 -20.0973 -0.2 + vertex 24.5319 -22.0421 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.5319 -22.0421 -0.1 - vertex 23.7493 -20.0973 -0.1 - vertex 24.2621 -22.1397 -0.1 + vertex 24.5319 -22.0421 -0.2 + vertex 23.7493 -20.0973 -0.2 + vertex 24.2621 -22.1397 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.0854 -20.4525 -0.1 - vertex 24.2621 -22.1397 -0.1 - vertex 23.7493 -20.0973 -0.1 + vertex 23.0854 -20.4525 -0.2 + vertex 24.2621 -22.1397 -0.2 + vertex 23.7493 -20.0973 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.2621 -22.1397 -0.1 - vertex 23.0854 -20.4525 -0.1 - vertex 24.0091 -22.2567 -0.1 + vertex 24.2621 -22.1397 -0.2 + vertex 23.0854 -20.4525 -0.2 + vertex 24.0091 -22.2567 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.0091 -22.2567 -0.1 - vertex 23.0854 -20.4525 -0.1 - vertex 23.7644 -22.3987 -0.1 + vertex 24.0091 -22.2567 -0.2 + vertex 23.0854 -20.4525 -0.2 + vertex 23.7644 -22.3987 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.3543 -20.8886 -0.1 - vertex 23.7644 -22.3987 -0.1 - vertex 23.0854 -20.4525 -0.1 + vertex 22.3543 -20.8886 -0.2 + vertex 23.7644 -22.3987 -0.2 + vertex 23.0854 -20.4525 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.7644 -22.3987 -0.1 - vertex 22.3543 -20.8886 -0.1 - vertex 23.5194 -22.5712 -0.1 + vertex 23.7644 -22.3987 -0.2 + vertex 22.3543 -20.8886 -0.2 + vertex 23.5194 -22.5712 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.5194 -22.5712 -0.1 - vertex 22.3543 -20.8886 -0.1 - vertex 23.2657 -22.7795 -0.1 + vertex 23.5194 -22.5712 -0.2 + vertex 22.3543 -20.8886 -0.2 + vertex 23.2657 -22.7795 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 21.6485 -21.3703 -0.1 - vertex 23.2657 -22.7795 -0.1 - vertex 22.3543 -20.8886 -0.1 + vertex 21.6485 -21.3703 -0.2 + vertex 23.2657 -22.7795 -0.2 + vertex 22.3543 -20.8886 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.2657 -22.7795 -0.1 - vertex 21.6485 -21.3703 -0.1 - vertex 22.6979 -23.3258 -0.1 + vertex 23.2657 -22.7795 -0.2 + vertex 21.6485 -21.3703 -0.2 + vertex 22.6979 -23.3258 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 20.9665 -21.899 -0.1 - vertex 22.6979 -23.3258 -0.1 - vertex 21.6485 -21.3703 -0.1 + vertex 20.9665 -21.899 -0.2 + vertex 22.6979 -23.3258 -0.2 + vertex 21.6485 -21.3703 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.6979 -23.3258 -0.1 - vertex 20.9665 -21.899 -0.1 - vertex 22.2832 -23.7683 -0.1 + vertex 22.6979 -23.3258 -0.2 + vertex 20.9665 -21.899 -0.2 + vertex 22.2832 -23.7683 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 20.3071 -22.4759 -0.1 - vertex 22.2832 -23.7683 -0.1 - vertex 20.9665 -21.899 -0.1 + vertex 20.3071 -22.4759 -0.2 + vertex 22.2832 -23.7683 -0.2 + vertex 20.9665 -21.899 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.2832 -23.7683 -0.1 - vertex 20.3071 -22.4759 -0.1 - vertex 21.9437 -24.1601 -0.1 + vertex 22.2832 -23.7683 -0.2 + vertex 20.3071 -22.4759 -0.2 + vertex 21.9437 -24.1601 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.9437 -24.1601 -0.1 - vertex 20.3071 -22.4759 -0.1 - vertex 21.7143 -24.4589 -0.1 + vertex 21.9437 -24.1601 -0.2 + vertex 20.3071 -22.4759 -0.2 + vertex 21.7143 -24.4589 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.6689 -23.1024 -0.1 - vertex 21.7143 -24.4589 -0.1 - vertex 20.3071 -22.4759 -0.1 + vertex 19.6689 -23.1024 -0.2 + vertex 21.7143 -24.4589 -0.2 + vertex 20.3071 -22.4759 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.6784 -25.7224 -0.1 - vertex 30.0709 -27.3331 -0.1 - vertex 31.6003 -26.0834 -0.1 + vertex 31.6784 -25.7224 -0.2 + vertex 30.0709 -27.3331 -0.2 + vertex 31.6003 -26.0834 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.58 -27.3827 -0.1 - vertex 27.2401 -24.8188 -0.1 - vertex 28.988 -27.4135 -0.1 + vertex 29.58 -27.3827 -0.2 + vertex 27.2401 -24.8188 -0.2 + vertex 28.988 -27.4135 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.988 -27.4135 -0.1 - vertex 27.2401 -24.8188 -0.1 - vertex 27.4568 -27.4364 -0.1 + vertex 28.988 -27.4135 -0.2 + vertex 27.2401 -24.8188 -0.2 + vertex 27.4568 -27.4364 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.2401 -24.8188 -0.1 - vertex 25.3891 -27.4375 -0.1 - vertex 27.4568 -27.4364 -0.1 + vertex 27.2401 -24.8188 -0.2 + vertex 25.3891 -27.4375 -0.2 + vertex 27.4568 -27.4364 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.435 -24.8188 -0.1 - vertex 25.3891 -27.4375 -0.1 - vertex 27.2401 -24.8188 -0.1 + vertex 24.435 -24.8188 -0.2 + vertex 25.3891 -27.4375 -0.2 + vertex 27.2401 -24.8188 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.3459 -24.8032 -0.1 - vertex 25.3891 -27.4375 -0.1 - vertex 24.435 -24.8188 -0.1 + vertex 23.3459 -24.8032 -0.2 + vertex 25.3891 -27.4375 -0.2 + vertex 24.435 -24.8188 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.454 -24.761 -0.1 - vertex 25.3891 -27.4375 -0.1 - vertex 23.3459 -24.8032 -0.1 + vertex 22.454 -24.761 -0.2 + vertex 25.3891 -27.4375 -0.2 + vertex 23.3459 -24.8032 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.1247 -27.4424 -0.1 - vertex 22.454 -24.761 -0.1 - vertex 21.8514 -24.6984 -0.1 + vertex 20.1247 -27.4424 -0.2 + vertex 22.454 -24.761 -0.2 + vertex 21.8514 -24.6984 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.1247 -27.4424 -0.1 - vertex 21.8514 -24.6984 -0.1 - vertex 21.6873 -24.6616 -0.1 + vertex 20.1247 -27.4424 -0.2 + vertex 21.8514 -24.6984 -0.2 + vertex 21.6873 -24.6616 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.1247 -27.4424 -0.1 - vertex 21.6873 -24.6616 -0.1 - vertex 21.63 -24.6221 -0.1 + vertex 20.1247 -27.4424 -0.2 + vertex 21.6873 -24.6616 -0.2 + vertex 21.63 -24.6221 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.7143 -24.4589 -0.1 - vertex 19.6689 -23.1024 -0.1 - vertex 21.6518 -24.5601 -0.1 + vertex 21.7143 -24.4589 -0.2 + vertex 19.6689 -23.1024 -0.2 + vertex 21.6518 -24.5601 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.454 -24.761 -0.1 - vertex 20.1247 -27.4424 -0.1 - vertex 25.3891 -27.4375 -0.1 + vertex 22.454 -24.761 -0.2 + vertex 20.1247 -27.4424 -0.2 + vertex 25.3891 -27.4375 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.6518 -24.5601 -0.1 - vertex 19.6689 -23.1024 -0.1 - vertex 21.63 -24.6221 -0.1 + vertex 21.6518 -24.5601 -0.2 + vertex 19.6689 -23.1024 -0.2 + vertex 21.63 -24.6221 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.0503 -23.7798 -0.1 - vertex 21.63 -24.6221 -0.1 - vertex 19.6689 -23.1024 -0.1 + vertex 19.0503 -23.7798 -0.2 + vertex 21.63 -24.6221 -0.2 + vertex 19.6689 -23.1024 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.4501 -24.5093 -0.1 - vertex 21.63 -24.6221 -0.1 - vertex 19.0503 -23.7798 -0.1 + vertex 18.4501 -24.5093 -0.2 + vertex 21.63 -24.6221 -0.2 + vertex 19.0503 -23.7798 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.63 -24.6221 -0.1 - vertex 18.4501 -24.5093 -0.1 - vertex 20.1247 -27.4424 -0.1 + vertex 21.63 -24.6221 -0.2 + vertex 18.4501 -24.5093 -0.2 + vertex 20.1247 -27.4424 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 17.8667 -25.2923 -0.1 - vertex 20.1247 -27.4424 -0.1 - vertex 18.4501 -24.5093 -0.1 + vertex 17.8667 -25.2923 -0.2 + vertex 20.1247 -27.4424 -0.2 + vertex 18.4501 -24.5093 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 17.4656 -25.8764 -0.1 - vertex 20.1247 -27.4424 -0.1 - vertex 17.8667 -25.2923 -0.1 + vertex 17.4656 -25.8764 -0.2 + vertex 20.1247 -27.4424 -0.2 + vertex 17.8667 -25.2923 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 17.0901 -26.4624 -0.1 - vertex 20.1247 -27.4424 -0.1 - vertex 17.4656 -25.8764 -0.1 + vertex 17.0901 -26.4624 -0.2 + vertex 20.1247 -27.4424 -0.2 + vertex 17.4656 -25.8764 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.1247 -27.4424 -0.1 - vertex 17.0901 -26.4624 -0.1 - vertex 19.9171 -28.0436 -0.1 + vertex 20.1247 -27.4424 -0.2 + vertex 17.0901 -26.4624 -0.2 + vertex 19.9171 -28.0436 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 16.7406 -27.0496 -0.1 - vertex 19.9171 -28.0436 -0.1 - vertex 17.0901 -26.4624 -0.1 + vertex 16.7406 -27.0496 -0.2 + vertex 19.9171 -28.0436 -0.2 + vertex 17.0901 -26.4624 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.9171 -28.0436 -0.1 - vertex 16.7406 -27.0496 -0.1 - vertex 19.6992 -28.7679 -0.1 + vertex 19.9171 -28.0436 -0.2 + vertex 16.7406 -27.0496 -0.2 + vertex 19.6992 -28.7679 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 16.4172 -27.6373 -0.1 - vertex 19.6992 -28.7679 -0.1 - vertex 16.7406 -27.0496 -0.1 + vertex 16.4172 -27.6373 -0.2 + vertex 19.6992 -28.7679 -0.2 + vertex 16.7406 -27.0496 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6992 -28.7679 -0.1 - vertex 16.4172 -27.6373 -0.1 - vertex 19.5256 -29.5327 -0.1 + vertex 19.6992 -28.7679 -0.2 + vertex 16.4172 -27.6373 -0.2 + vertex 19.5256 -29.5327 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 16.1203 -28.2246 -0.1 - vertex 19.5256 -29.5327 -0.1 - vertex 16.4172 -27.6373 -0.1 + vertex 16.1203 -28.2246 -0.2 + vertex 19.5256 -29.5327 -0.2 + vertex 16.4172 -27.6373 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.8502 -28.8109 -0.1 - vertex 19.5256 -29.5327 -0.1 - vertex 16.1203 -28.2246 -0.1 + vertex 15.8502 -28.8109 -0.2 + vertex 19.5256 -29.5327 -0.2 + vertex 16.1203 -28.2246 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.5256 -29.5327 -0.1 - vertex 15.8502 -28.8109 -0.1 - vertex 19.3985 -30.306 -0.1 + vertex 19.5256 -29.5327 -0.2 + vertex 15.8502 -28.8109 -0.2 + vertex 19.3985 -30.306 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.6071 -29.3953 -0.1 - vertex 19.3985 -30.306 -0.1 - vertex 15.8502 -28.8109 -0.1 + vertex 15.6071 -29.3953 -0.2 + vertex 19.3985 -30.306 -0.2 + vertex 15.8502 -28.8109 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.3912 -29.9771 -0.1 - vertex 19.3985 -30.306 -0.1 - vertex 15.6071 -29.3953 -0.1 + vertex 15.3912 -29.9771 -0.2 + vertex 19.3985 -30.306 -0.2 + vertex 15.6071 -29.3953 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3985 -30.306 -0.1 - vertex 15.3912 -29.9771 -0.1 - vertex 19.3204 -31.0557 -0.1 + vertex 19.3985 -30.306 -0.2 + vertex 15.3912 -29.9771 -0.2 + vertex 19.3204 -31.0557 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.2028 -30.5555 -0.1 - vertex 19.3204 -31.0557 -0.1 - vertex 15.3912 -29.9771 -0.1 + vertex 15.2028 -30.5555 -0.2 + vertex 19.3204 -31.0557 -0.2 + vertex 15.3912 -29.9771 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3204 -31.0557 -0.1 - vertex 15.2028 -30.5555 -0.1 - vertex 19.2935 -31.7496 -0.1 + vertex 19.3204 -31.0557 -0.2 + vertex 15.2028 -30.5555 -0.2 + vertex 19.2935 -31.7496 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.0423 -31.1299 -0.1 - vertex 19.2935 -31.7496 -0.1 - vertex 15.2028 -30.5555 -0.1 + vertex 15.0423 -31.1299 -0.2 + vertex 19.2935 -31.7496 -0.2 + vertex 15.2028 -30.5555 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.9098 -31.6993 -0.1 - vertex 19.2935 -31.7496 -0.1 - vertex 15.0423 -31.1299 -0.1 + vertex 14.9098 -31.6993 -0.2 + vertex 19.2935 -31.7496 -0.2 + vertex 15.0423 -31.1299 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3203 -32.3556 -0.1 - vertex 14.9098 -31.6993 -0.1 - vertex 14.8056 -32.2631 -0.1 + vertex 19.3203 -32.3556 -0.2 + vertex 14.9098 -31.6993 -0.2 + vertex 14.8056 -32.2631 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3545 -32.6156 -0.1 - vertex 14.8056 -32.2631 -0.1 - vertex 14.73 -32.8205 -0.1 + vertex 19.3545 -32.6156 -0.2 + vertex 14.8056 -32.2631 -0.2 + vertex 14.73 -32.8205 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.403 -32.8415 -0.1 - vertex 14.73 -32.8205 -0.1 - vertex 14.6832 -33.3707 -0.1 + vertex 19.403 -32.8415 -0.2 + vertex 14.73 -32.8205 -0.2 + vertex 14.6832 -33.3707 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.403 -32.8415 -0.1 - vertex 14.6832 -33.3707 -0.1 - vertex 14.6656 -33.913 -0.1 + vertex 19.403 -32.8415 -0.2 + vertex 14.6832 -33.3707 -0.2 + vertex 14.6656 -33.913 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.466 -33.0295 -0.1 - vertex 14.6656 -33.913 -0.1 - vertex 14.6774 -34.4466 -0.1 + vertex 19.466 -33.0295 -0.2 + vertex 14.6656 -33.913 -0.2 + vertex 14.6774 -34.4466 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.5439 -33.1754 -0.1 - vertex 14.6774 -34.4466 -0.1 - vertex 14.7369 -35.0944 -0.1 + vertex 19.5439 -33.1754 -0.2 + vertex 14.6774 -34.4466 -0.2 + vertex 14.7369 -35.0944 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3392 -33.9144 -0.1 - vertex 18.4669 -38.5591 -0.1 - vertex 19.1073 -38.5852 -0.1 + vertex 20.3392 -33.9144 -0.2 + vertex 18.4669 -38.5591 -0.2 + vertex 19.1073 -38.5852 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0345 -33.6987 -0.1 - vertex 18.1792 -38.5233 -0.1 - vertex 18.4669 -38.5591 -0.1 + vertex 20.0345 -33.6987 -0.2 + vertex 18.1792 -38.5233 -0.2 + vertex 18.4669 -38.5591 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0345 -33.6987 -0.1 - vertex 17.9062 -38.4707 -0.1 - vertex 18.1792 -38.5233 -0.1 + vertex 20.0345 -33.6987 -0.2 + vertex 17.9062 -38.4707 -0.2 + vertex 18.1792 -38.5233 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0345 -33.6987 -0.1 - vertex 17.6424 -38.4 -0.1 - vertex 17.9062 -38.4707 -0.1 + vertex 20.0345 -33.6987 -0.2 + vertex 17.6424 -38.4 -0.2 + vertex 17.9062 -38.4707 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0345 -33.6987 -0.1 - vertex 17.3825 -38.3101 -0.1 - vertex 17.6424 -38.4 -0.1 + vertex 20.0345 -33.6987 -0.2 + vertex 17.3825 -38.3101 -0.2 + vertex 17.6424 -38.4 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0345 -33.6987 -0.1 - vertex 17.1211 -38.1997 -0.1 - vertex 17.3825 -38.3101 -0.1 + vertex 20.0345 -33.6987 -0.2 + vertex 17.1211 -38.1997 -0.2 + vertex 17.3825 -38.3101 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0345 -33.6987 -0.1 - vertex 16.8529 -38.0675 -0.1 - vertex 17.1211 -38.1997 -0.1 + vertex 20.0345 -33.6987 -0.2 + vertex 16.8529 -38.0675 -0.2 + vertex 17.1211 -38.1997 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.5439 -33.1754 -0.1 - vertex 14.7369 -35.0944 -0.1 - vertex 14.8496 -35.6738 -0.1 + vertex 19.5439 -33.1754 -0.2 + vertex 14.7369 -35.0944 -0.2 + vertex 14.8496 -35.6738 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 16.342 -37.7658 -0.1 - vertex 16.8529 -38.0675 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 16.342 -37.7658 -0.2 + vertex 16.8529 -38.0675 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.5439 -33.1754 -0.1 - vertex 14.8496 -35.6738 -0.1 - vertex 14.927 -35.9398 -0.1 + vertex 19.5439 -33.1754 -0.2 + vertex 14.8496 -35.6738 -0.2 + vertex 14.927 -35.9398 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 16.1153 -37.6039 -0.1 - vertex 16.342 -37.7658 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 16.1153 -37.6039 -0.2 + vertex 16.342 -37.7658 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 15.907 -37.4336 -0.1 - vertex 16.1153 -37.6039 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 15.907 -37.4336 -0.2 + vertex 16.1153 -37.6039 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 15.7167 -37.2541 -0.1 - vertex 15.907 -37.4336 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 15.7167 -37.2541 -0.2 + vertex 15.907 -37.4336 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 15.544 -37.0647 -0.1 - vertex 15.7167 -37.2541 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 15.544 -37.0647 -0.2 + vertex 15.7167 -37.2541 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 15.3884 -36.8644 -0.1 - vertex 15.544 -37.0647 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 15.3884 -36.8644 -0.2 + vertex 15.544 -37.0647 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 15.2493 -36.6526 -0.1 - vertex 15.3884 -36.8644 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 15.2493 -36.6526 -0.2 + vertex 15.3884 -36.8644 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 15.1264 -36.4284 -0.1 - vertex 15.2493 -36.6526 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 15.1264 -36.4284 -0.2 + vertex 15.2493 -36.6526 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 14.927 -35.9398 -0.1 - vertex 15.0191 -36.1911 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 14.927 -35.9398 -0.2 + vertex 15.0191 -36.1911 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7677 -33.4516 -0.1 - vertex 15.0191 -36.1911 -0.1 - vertex 15.1264 -36.4284 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 15.0191 -36.1911 -0.2 + vertex 15.1264 -36.4284 -0.2 endloop endfacet facet normal -0.116346 -0.993209 0 outer loop - vertex 28.4483 -19.1654 -0.1 + vertex 28.4483 -19.1654 -0.2 vertex 29.0007 -19.2301 0 vertex 28.4483 -19.1654 0 endloop @@ -6295,13 +6295,13 @@ solid OpenSCAD_Model facet normal -0.116346 -0.993209 -0 outer loop vertex 29.0007 -19.2301 0 - vertex 28.4483 -19.1654 -0.1 - vertex 29.0007 -19.2301 -0.1 + vertex 28.4483 -19.1654 -0.2 + vertex 29.0007 -19.2301 -0.2 endloop endfacet facet normal -0.215114 -0.976589 0 outer loop - vertex 29.0007 -19.2301 -0.1 + vertex 29.0007 -19.2301 -0.2 vertex 29.5013 -19.3404 0 vertex 29.0007 -19.2301 0 endloop @@ -6309,13 +6309,13 @@ solid OpenSCAD_Model facet normal -0.215114 -0.976589 -0 outer loop vertex 29.5013 -19.3404 0 - vertex 29.0007 -19.2301 -0.1 - vertex 29.5013 -19.3404 -0.1 + vertex 29.0007 -19.2301 -0.2 + vertex 29.5013 -19.3404 -0.2 endloop endfacet facet normal -0.328588 -0.944473 0 outer loop - vertex 29.5013 -19.3404 -0.1 + vertex 29.5013 -19.3404 -0.2 vertex 29.9546 -19.4981 0 vertex 29.5013 -19.3404 0 endloop @@ -6323,13 +6323,13 @@ solid OpenSCAD_Model facet normal -0.328588 -0.944473 -0 outer loop vertex 29.9546 -19.4981 0 - vertex 29.5013 -19.3404 -0.1 - vertex 29.9546 -19.4981 -0.1 + vertex 29.5013 -19.3404 -0.2 + vertex 29.9546 -19.4981 -0.2 endloop endfacet facet normal -0.450382 -0.892836 0 outer loop - vertex 29.9546 -19.4981 -0.1 + vertex 29.9546 -19.4981 -0.2 vertex 30.3649 -19.705 0 vertex 29.9546 -19.4981 0 endloop @@ -6337,13 +6337,13 @@ solid OpenSCAD_Model facet normal -0.450382 -0.892836 -0 outer loop vertex 30.3649 -19.705 0 - vertex 29.9546 -19.4981 -0.1 - vertex 30.3649 -19.705 -0.1 + vertex 29.9546 -19.4981 -0.2 + vertex 30.3649 -19.705 -0.2 endloop endfacet facet normal -0.570354 -0.821399 0 outer loop - vertex 30.3649 -19.705 -0.1 + vertex 30.3649 -19.705 -0.2 vertex 30.7365 -19.9631 0 vertex 30.3649 -19.705 0 endloop @@ -6351,13 +6351,13 @@ solid OpenSCAD_Model facet normal -0.570354 -0.821399 -0 outer loop vertex 30.7365 -19.9631 0 - vertex 30.3649 -19.705 -0.1 - vertex 30.7365 -19.9631 -0.1 + vertex 30.3649 -19.705 -0.2 + vertex 30.7365 -19.9631 -0.2 endloop endfacet facet normal -0.677745 -0.735297 0 outer loop - vertex 30.7365 -19.9631 -0.1 + vertex 30.7365 -19.9631 -0.2 vertex 31.074 -20.2742 0 vertex 30.7365 -19.9631 0 endloop @@ -6365,209 +6365,209 @@ solid OpenSCAD_Model facet normal -0.677745 -0.735297 -0 outer loop vertex 31.074 -20.2742 0 - vertex 30.7365 -19.9631 -0.1 - vertex 31.074 -20.2742 -0.1 + vertex 30.7365 -19.9631 -0.2 + vertex 31.074 -20.2742 -0.2 endloop endfacet facet normal -0.765393 -0.643563 0 outer loop - vertex 31.3816 -20.64 -0.1 + vertex 31.3816 -20.64 -0.2 vertex 31.074 -20.2742 0 - vertex 31.074 -20.2742 -0.1 + vertex 31.074 -20.2742 -0.2 endloop endfacet facet normal -0.765393 -0.643563 0 outer loop vertex 31.074 -20.2742 0 - vertex 31.3816 -20.64 -0.1 + vertex 31.3816 -20.64 -0.2 vertex 31.3816 -20.64 0 endloop endfacet facet normal -0.833589 -0.552384 0 outer loop - vertex 31.6298 -21.0145 -0.1 + vertex 31.6298 -21.0145 -0.2 vertex 31.3816 -20.64 0 - vertex 31.3816 -20.64 -0.1 + vertex 31.3816 -20.64 -0.2 endloop endfacet facet normal -0.833589 -0.552384 0 outer loop vertex 31.3816 -20.64 0 - vertex 31.6298 -21.0145 -0.1 + vertex 31.6298 -21.0145 -0.2 vertex 31.6298 -21.0145 0 endloop endfacet facet normal -0.898247 -0.439492 0 outer loop - vertex 31.8204 -21.404 -0.1 + vertex 31.8204 -21.404 -0.2 vertex 31.6298 -21.0145 0 - vertex 31.6298 -21.0145 -0.1 + vertex 31.6298 -21.0145 -0.2 endloop endfacet facet normal -0.898247 -0.439492 0 outer loop vertex 31.6298 -21.0145 0 - vertex 31.8204 -21.404 -0.1 + vertex 31.8204 -21.404 -0.2 vertex 31.8204 -21.404 0 endloop endfacet facet normal -0.951943 -0.306275 0 outer loop - vertex 31.9549 -21.8223 -0.1 + vertex 31.9549 -21.8223 -0.2 vertex 31.8204 -21.404 0 - vertex 31.8204 -21.404 -0.1 + vertex 31.8204 -21.404 -0.2 endloop endfacet facet normal -0.951943 -0.306275 0 outer loop vertex 31.8204 -21.404 0 - vertex 31.9549 -21.8223 -0.1 + vertex 31.9549 -21.8223 -0.2 vertex 31.9549 -21.8223 0 endloop endfacet facet normal -0.985239 -0.171183 0 outer loop - vertex 32.0349 -22.2828 -0.1 + vertex 32.0349 -22.2828 -0.2 vertex 31.9549 -21.8223 0 - vertex 31.9549 -21.8223 -0.1 + vertex 31.9549 -21.8223 -0.2 endloop endfacet facet normal -0.985239 -0.171183 0 outer loop vertex 31.9549 -21.8223 0 - vertex 32.0349 -22.2828 -0.1 + vertex 32.0349 -22.2828 -0.2 vertex 32.0349 -22.2828 0 endloop endfacet facet normal -0.998641 -0.0521185 0 outer loop - vertex 32.0619 -22.7991 -0.1 + vertex 32.0619 -22.7991 -0.2 vertex 32.0349 -22.2828 0 - vertex 32.0349 -22.2828 -0.1 + vertex 32.0349 -22.2828 -0.2 endloop endfacet facet normal -0.998641 -0.0521185 0 outer loop vertex 32.0349 -22.2828 0 - vertex 32.0619 -22.7991 -0.1 + vertex 32.0619 -22.7991 -0.2 vertex 32.0619 -22.7991 0 endloop endfacet facet normal -0.999117 0.0420155 0 outer loop - vertex 32.0372 -23.3848 -0.1 + vertex 32.0372 -23.3848 -0.2 vertex 32.0619 -22.7991 0 - vertex 32.0619 -22.7991 -0.1 + vertex 32.0619 -22.7991 -0.2 endloop endfacet facet normal -0.999117 0.0420155 0 outer loop vertex 32.0619 -22.7991 0 - vertex 32.0372 -23.3848 -0.1 + vertex 32.0372 -23.3848 -0.2 vertex 32.0372 -23.3848 0 endloop endfacet facet normal -0.993814 0.111054 0 outer loop - vertex 31.9625 -24.0535 -0.1 + vertex 31.9625 -24.0535 -0.2 vertex 32.0372 -23.3848 0 - vertex 32.0372 -23.3848 -0.1 + vertex 32.0372 -23.3848 -0.2 endloop endfacet facet normal -0.993814 0.111054 0 outer loop vertex 32.0372 -23.3848 0 - vertex 31.9625 -24.0535 -0.1 + vertex 31.9625 -24.0535 -0.2 vertex 31.9625 -24.0535 0 endloop endfacet facet normal -0.98726 0.159117 0 outer loop - vertex 31.8392 -24.8188 -0.1 + vertex 31.8392 -24.8188 -0.2 vertex 31.9625 -24.0535 0 - vertex 31.9625 -24.0535 -0.1 + vertex 31.9625 -24.0535 -0.2 endloop endfacet facet normal -0.98726 0.159117 0 outer loop vertex 31.9625 -24.0535 0 - vertex 31.8392 -24.8188 -0.1 + vertex 31.8392 -24.8188 -0.2 vertex 31.8392 -24.8188 0 endloop endfacet facet normal -0.984533 0.175198 0 outer loop - vertex 31.6784 -25.7224 -0.1 + vertex 31.6784 -25.7224 -0.2 vertex 31.8392 -24.8188 0 - vertex 31.8392 -24.8188 -0.1 + vertex 31.8392 -24.8188 -0.2 endloop endfacet facet normal -0.984533 0.175198 0 outer loop vertex 31.8392 -24.8188 0 - vertex 31.6784 -25.7224 -0.1 + vertex 31.6784 -25.7224 -0.2 vertex 31.6784 -25.7224 0 endloop endfacet facet normal -0.977413 0.211338 0 outer loop - vertex 31.6003 -26.0834 -0.1 + vertex 31.6003 -26.0834 -0.2 vertex 31.6784 -25.7224 0 - vertex 31.6784 -25.7224 -0.1 + vertex 31.6784 -25.7224 -0.2 endloop endfacet facet normal -0.977413 0.211338 0 outer loop vertex 31.6784 -25.7224 0 - vertex 31.6003 -26.0834 -0.1 + vertex 31.6003 -26.0834 -0.2 vertex 31.6003 -26.0834 0 endloop endfacet facet normal -0.958488 0.285133 0 outer loop - vertex 31.5092 -26.3899 -0.1 + vertex 31.5092 -26.3899 -0.2 vertex 31.6003 -26.0834 0 - vertex 31.6003 -26.0834 -0.1 + vertex 31.6003 -26.0834 -0.2 endloop endfacet facet normal -0.958488 0.285133 0 outer loop vertex 31.6003 -26.0834 0 - vertex 31.5092 -26.3899 -0.1 + vertex 31.5092 -26.3899 -0.2 vertex 31.5092 -26.3899 0 endloop endfacet facet normal -0.912047 0.410085 0 outer loop - vertex 31.3939 -26.6463 -0.1 + vertex 31.3939 -26.6463 -0.2 vertex 31.5092 -26.3899 0 - vertex 31.5092 -26.3899 -0.1 + vertex 31.5092 -26.3899 -0.2 endloop endfacet facet normal -0.912047 0.410085 0 outer loop vertex 31.5092 -26.3899 0 - vertex 31.3939 -26.6463 -0.1 + vertex 31.3939 -26.6463 -0.2 vertex 31.3939 -26.6463 0 endloop endfacet facet normal -0.814021 0.580836 0 outer loop - vertex 31.2435 -26.857 -0.1 + vertex 31.2435 -26.857 -0.2 vertex 31.3939 -26.6463 0 - vertex 31.3939 -26.6463 -0.1 + vertex 31.3939 -26.6463 -0.2 endloop endfacet facet normal -0.814021 0.580836 0 outer loop vertex 31.3939 -26.6463 0 - vertex 31.2435 -26.857 -0.1 + vertex 31.2435 -26.857 -0.2 vertex 31.2435 -26.857 0 endloop endfacet facet normal -0.653404 0.75701 0 outer loop - vertex 31.2435 -26.857 -0.1 + vertex 31.2435 -26.857 -0.2 vertex 31.047 -27.0266 0 vertex 31.2435 -26.857 0 endloop @@ -6575,13 +6575,13 @@ solid OpenSCAD_Model facet normal -0.653404 0.75701 0 outer loop vertex 31.047 -27.0266 0 - vertex 31.2435 -26.857 -0.1 - vertex 31.047 -27.0266 -0.1 + vertex 31.2435 -26.857 -0.2 + vertex 31.047 -27.0266 -0.2 endloop endfacet facet normal -0.464184 0.885739 0 outer loop - vertex 31.047 -27.0266 -0.1 + vertex 31.047 -27.0266 -0.2 vertex 30.7934 -27.1595 0 vertex 31.047 -27.0266 0 endloop @@ -6589,13 +6589,13 @@ solid OpenSCAD_Model facet normal -0.464184 0.885739 0 outer loop vertex 30.7934 -27.1595 0 - vertex 31.047 -27.0266 -0.1 - vertex 30.7934 -27.1595 -0.1 + vertex 31.047 -27.0266 -0.2 + vertex 30.7934 -27.1595 -0.2 endloop endfacet facet normal -0.298657 0.954361 0 outer loop - vertex 30.7934 -27.1595 -0.1 + vertex 30.7934 -27.1595 -0.2 vertex 30.4717 -27.2602 0 vertex 30.7934 -27.1595 0 endloop @@ -6603,13 +6603,13 @@ solid OpenSCAD_Model facet normal -0.298657 0.954361 0 outer loop vertex 30.4717 -27.2602 0 - vertex 30.7934 -27.1595 -0.1 - vertex 30.4717 -27.2602 -0.1 + vertex 30.7934 -27.1595 -0.2 + vertex 30.4717 -27.2602 -0.2 endloop endfacet facet normal -0.17896 0.983856 0 outer loop - vertex 30.4717 -27.2602 -0.1 + vertex 30.4717 -27.2602 -0.2 vertex 30.0709 -27.3331 0 vertex 30.4717 -27.2602 0 endloop @@ -6617,13 +6617,13 @@ solid OpenSCAD_Model facet normal -0.17896 0.983856 0 outer loop vertex 30.0709 -27.3331 0 - vertex 30.4717 -27.2602 -0.1 - vertex 30.0709 -27.3331 -0.1 + vertex 30.4717 -27.2602 -0.2 + vertex 30.0709 -27.3331 -0.2 endloop endfacet facet normal -0.100534 0.994934 0 outer loop - vertex 30.0709 -27.3331 -0.1 + vertex 30.0709 -27.3331 -0.2 vertex 29.58 -27.3827 0 vertex 30.0709 -27.3331 0 endloop @@ -6631,13 +6631,13 @@ solid OpenSCAD_Model facet normal -0.100534 0.994934 0 outer loop vertex 29.58 -27.3827 0 - vertex 30.0709 -27.3331 -0.1 - vertex 29.58 -27.3827 -0.1 + vertex 30.0709 -27.3331 -0.2 + vertex 29.58 -27.3827 -0.2 endloop endfacet facet normal -0.0519093 0.998652 0 outer loop - vertex 29.58 -27.3827 -0.1 + vertex 29.58 -27.3827 -0.2 vertex 28.988 -27.4135 0 vertex 29.58 -27.3827 0 endloop @@ -6645,13 +6645,13 @@ solid OpenSCAD_Model facet normal -0.0519093 0.998652 0 outer loop vertex 28.988 -27.4135 0 - vertex 29.58 -27.3827 -0.1 - vertex 28.988 -27.4135 -0.1 + vertex 29.58 -27.3827 -0.2 + vertex 28.988 -27.4135 -0.2 endloop endfacet facet normal -0.014953 0.999888 0 outer loop - vertex 28.988 -27.4135 -0.1 + vertex 28.988 -27.4135 -0.2 vertex 27.4568 -27.4364 0 vertex 28.988 -27.4135 0 endloop @@ -6659,13 +6659,13 @@ solid OpenSCAD_Model facet normal -0.014953 0.999888 0 outer loop vertex 27.4568 -27.4364 0 - vertex 28.988 -27.4135 -0.1 - vertex 27.4568 -27.4364 -0.1 + vertex 28.988 -27.4135 -0.2 + vertex 27.4568 -27.4364 -0.2 endloop endfacet facet normal -0.000556252 1 0 outer loop - vertex 27.4568 -27.4364 -0.1 + vertex 27.4568 -27.4364 -0.2 vertex 25.3891 -27.4375 0 vertex 27.4568 -27.4364 0 endloop @@ -6673,13 +6673,13 @@ solid OpenSCAD_Model facet normal -0.000556252 1 0 outer loop vertex 25.3891 -27.4375 0 - vertex 27.4568 -27.4364 -0.1 - vertex 25.3891 -27.4375 -0.1 + vertex 27.4568 -27.4364 -0.2 + vertex 25.3891 -27.4375 -0.2 endloop endfacet facet normal -0.00092424 1 0 outer loop - vertex 25.3891 -27.4375 -0.1 + vertex 25.3891 -27.4375 -0.2 vertex 20.1247 -27.4424 0 vertex 25.3891 -27.4375 0 endloop @@ -6687,181 +6687,181 @@ solid OpenSCAD_Model facet normal -0.00092424 1 0 outer loop vertex 20.1247 -27.4424 0 - vertex 25.3891 -27.4375 -0.1 - vertex 20.1247 -27.4424 -0.1 + vertex 25.3891 -27.4375 -0.2 + vertex 20.1247 -27.4424 -0.2 endloop endfacet facet normal -0.945282 0.326254 0 outer loop - vertex 19.9171 -28.0436 -0.1 + vertex 19.9171 -28.0436 -0.2 vertex 20.1247 -27.4424 0 - vertex 20.1247 -27.4424 -0.1 + vertex 20.1247 -27.4424 -0.2 endloop endfacet facet normal -0.945282 0.326254 0 outer loop vertex 20.1247 -27.4424 0 - vertex 19.9171 -28.0436 -0.1 + vertex 19.9171 -28.0436 -0.2 vertex 19.9171 -28.0436 0 endloop endfacet facet normal -0.957593 0.288124 0 outer loop - vertex 19.6992 -28.7679 -0.1 + vertex 19.6992 -28.7679 -0.2 vertex 19.9171 -28.0436 0 - vertex 19.9171 -28.0436 -0.1 + vertex 19.9171 -28.0436 -0.2 endloop endfacet facet normal -0.957593 0.288124 0 outer loop vertex 19.9171 -28.0436 0 - vertex 19.6992 -28.7679 -0.1 + vertex 19.6992 -28.7679 -0.2 vertex 19.6992 -28.7679 0 endloop endfacet facet normal -0.97518 0.221412 0 outer loop - vertex 19.5256 -29.5327 -0.1 + vertex 19.5256 -29.5327 -0.2 vertex 19.6992 -28.7679 0 - vertex 19.6992 -28.7679 -0.1 + vertex 19.6992 -28.7679 -0.2 endloop endfacet facet normal -0.97518 0.221412 0 outer loop vertex 19.6992 -28.7679 0 - vertex 19.5256 -29.5327 -0.1 + vertex 19.5256 -29.5327 -0.2 vertex 19.5256 -29.5327 0 endloop endfacet facet normal -0.986769 0.16213 0 outer loop - vertex 19.3985 -30.306 -0.1 + vertex 19.3985 -30.306 -0.2 vertex 19.5256 -29.5327 0 - vertex 19.5256 -29.5327 -0.1 + vertex 19.5256 -29.5327 -0.2 endloop endfacet facet normal -0.986769 0.16213 0 outer loop vertex 19.5256 -29.5327 0 - vertex 19.3985 -30.306 -0.1 + vertex 19.3985 -30.306 -0.2 vertex 19.3985 -30.306 0 endloop endfacet facet normal -0.994613 0.103657 0 outer loop - vertex 19.3204 -31.0557 -0.1 + vertex 19.3204 -31.0557 -0.2 vertex 19.3985 -30.306 0 - vertex 19.3985 -30.306 -0.1 + vertex 19.3985 -30.306 -0.2 endloop endfacet facet normal -0.994613 0.103657 0 outer loop vertex 19.3985 -30.306 0 - vertex 19.3204 -31.0557 -0.1 + vertex 19.3204 -31.0557 -0.2 vertex 19.3204 -31.0557 0 endloop endfacet facet normal -0.999252 0.0386793 0 outer loop - vertex 19.2935 -31.7496 -0.1 + vertex 19.2935 -31.7496 -0.2 vertex 19.3204 -31.0557 0 - vertex 19.3204 -31.0557 -0.1 + vertex 19.3204 -31.0557 -0.2 endloop endfacet facet normal -0.999252 0.0386793 0 outer loop vertex 19.3204 -31.0557 0 - vertex 19.2935 -31.7496 -0.1 + vertex 19.2935 -31.7496 -0.2 vertex 19.2935 -31.7496 0 endloop endfacet facet normal -0.999028 -0.0440878 0 outer loop - vertex 19.3203 -32.3556 -0.1 + vertex 19.3203 -32.3556 -0.2 vertex 19.2935 -31.7496 0 - vertex 19.2935 -31.7496 -0.1 + vertex 19.2935 -31.7496 -0.2 endloop endfacet facet normal -0.999028 -0.0440878 0 outer loop vertex 19.2935 -31.7496 0 - vertex 19.3203 -32.3556 -0.1 + vertex 19.3203 -32.3556 -0.2 vertex 19.3203 -32.3556 0 endloop endfacet facet normal -0.991457 -0.130433 0 outer loop - vertex 19.3545 -32.6156 -0.1 + vertex 19.3545 -32.6156 -0.2 vertex 19.3203 -32.3556 0 - vertex 19.3203 -32.3556 -0.1 + vertex 19.3203 -32.3556 -0.2 endloop endfacet facet normal -0.991457 -0.130433 0 outer loop vertex 19.3203 -32.3556 0 - vertex 19.3545 -32.6156 -0.1 + vertex 19.3545 -32.6156 -0.2 vertex 19.3545 -32.6156 0 endloop endfacet facet normal -0.977754 -0.209757 0 outer loop - vertex 19.403 -32.8415 -0.1 + vertex 19.403 -32.8415 -0.2 vertex 19.3545 -32.6156 0 - vertex 19.3545 -32.6156 -0.1 + vertex 19.3545 -32.6156 -0.2 endloop endfacet facet normal -0.977754 -0.209757 0 outer loop vertex 19.3545 -32.6156 0 - vertex 19.403 -32.8415 -0.1 + vertex 19.403 -32.8415 -0.2 vertex 19.403 -32.8415 0 endloop endfacet facet normal -0.948071 -0.31806 0 outer loop - vertex 19.466 -33.0295 -0.1 + vertex 19.466 -33.0295 -0.2 vertex 19.403 -32.8415 0 - vertex 19.403 -32.8415 -0.1 + vertex 19.403 -32.8415 -0.2 endloop endfacet facet normal -0.948071 -0.31806 0 outer loop vertex 19.403 -32.8415 0 - vertex 19.466 -33.0295 -0.1 + vertex 19.466 -33.0295 -0.2 vertex 19.466 -33.0295 0 endloop endfacet facet normal -0.882102 -0.471058 0 outer loop - vertex 19.5439 -33.1754 -0.1 + vertex 19.5439 -33.1754 -0.2 vertex 19.466 -33.0295 0 - vertex 19.466 -33.0295 -0.1 + vertex 19.466 -33.0295 -0.2 endloop endfacet facet normal -0.882102 -0.471058 0 outer loop vertex 19.466 -33.0295 0 - vertex 19.5439 -33.1754 -0.1 + vertex 19.5439 -33.1754 -0.2 vertex 19.5439 -33.1754 0 endloop endfacet facet normal -0.777019 -0.629477 0 outer loop - vertex 19.7677 -33.4516 -0.1 + vertex 19.7677 -33.4516 -0.2 vertex 19.5439 -33.1754 0 - vertex 19.5439 -33.1754 -0.1 + vertex 19.5439 -33.1754 -0.2 endloop endfacet facet normal -0.777019 -0.629477 0 outer loop vertex 19.5439 -33.1754 0 - vertex 19.7677 -33.4516 -0.1 + vertex 19.7677 -33.4516 -0.2 vertex 19.7677 -33.4516 0 endloop endfacet facet normal -0.679559 -0.73362 0 outer loop - vertex 19.7677 -33.4516 -0.1 + vertex 19.7677 -33.4516 -0.2 vertex 20.0345 -33.6987 0 vertex 19.7677 -33.4516 0 endloop @@ -6869,13 +6869,13 @@ solid OpenSCAD_Model facet normal -0.679559 -0.73362 -0 outer loop vertex 20.0345 -33.6987 0 - vertex 19.7677 -33.4516 -0.1 - vertex 20.0345 -33.6987 -0.1 + vertex 19.7677 -33.4516 -0.2 + vertex 20.0345 -33.6987 -0.2 endloop endfacet facet normal -0.577724 -0.816232 0 outer loop - vertex 20.0345 -33.6987 -0.1 + vertex 20.0345 -33.6987 -0.2 vertex 20.3392 -33.9144 0 vertex 20.0345 -33.6987 0 endloop @@ -6883,13 +6883,13 @@ solid OpenSCAD_Model facet normal -0.577724 -0.816232 -0 outer loop vertex 20.3392 -33.9144 0 - vertex 20.0345 -33.6987 -0.1 - vertex 20.3392 -33.9144 -0.1 + vertex 20.0345 -33.6987 -0.2 + vertex 20.3392 -33.9144 -0.2 endloop endfacet facet normal -0.474279 -0.880374 0 outer loop - vertex 20.3392 -33.9144 -0.1 + vertex 20.3392 -33.9144 -0.2 vertex 20.6768 -34.0963 0 vertex 20.3392 -33.9144 0 endloop @@ -6897,13 +6897,13 @@ solid OpenSCAD_Model facet normal -0.474279 -0.880374 -0 outer loop vertex 20.6768 -34.0963 0 - vertex 20.3392 -33.9144 -0.1 - vertex 20.6768 -34.0963 -0.1 + vertex 20.3392 -33.9144 -0.2 + vertex 20.6768 -34.0963 -0.2 endloop endfacet facet normal -0.370342 -0.928896 0 outer loop - vertex 20.6768 -34.0963 -0.1 + vertex 20.6768 -34.0963 -0.2 vertex 21.0421 -34.2419 0 vertex 20.6768 -34.0963 0 endloop @@ -6911,13 +6911,13 @@ solid OpenSCAD_Model facet normal -0.370342 -0.928896 -0 outer loop vertex 21.0421 -34.2419 0 - vertex 20.6768 -34.0963 -0.1 - vertex 21.0421 -34.2419 -0.1 + vertex 20.6768 -34.0963 -0.2 + vertex 21.0421 -34.2419 -0.2 endloop endfacet facet normal -0.266037 -0.963963 0 outer loop - vertex 21.0421 -34.2419 -0.1 + vertex 21.0421 -34.2419 -0.2 vertex 21.43 -34.349 0 vertex 21.0421 -34.2419 0 endloop @@ -6925,13 +6925,13 @@ solid OpenSCAD_Model facet normal -0.266037 -0.963963 -0 outer loop vertex 21.43 -34.349 0 - vertex 21.0421 -34.2419 -0.1 - vertex 21.43 -34.349 -0.1 + vertex 21.0421 -34.2419 -0.2 + vertex 21.43 -34.349 -0.2 endloop endfacet facet normal -0.160906 -0.98697 0 outer loop - vertex 21.43 -34.349 -0.1 + vertex 21.43 -34.349 -0.2 vertex 21.8355 -34.4151 0 vertex 21.43 -34.349 0 endloop @@ -6939,13 +6939,13 @@ solid OpenSCAD_Model facet normal -0.160906 -0.98697 -0 outer loop vertex 21.8355 -34.4151 0 - vertex 21.43 -34.349 -0.1 - vertex 21.8355 -34.4151 -0.1 + vertex 21.43 -34.349 -0.2 + vertex 21.8355 -34.4151 -0.2 endloop endfacet facet normal -0.0544036 -0.998519 0 outer loop - vertex 21.8355 -34.4151 -0.1 + vertex 21.8355 -34.4151 -0.2 vertex 22.2534 -34.4379 0 vertex 21.8355 -34.4151 0 endloop @@ -6953,13 +6953,13 @@ solid OpenSCAD_Model facet normal -0.0544036 -0.998519 -0 outer loop vertex 22.2534 -34.4379 0 - vertex 21.8355 -34.4151 -0.1 - vertex 22.2534 -34.4379 -0.1 + vertex 21.8355 -34.4151 -0.2 + vertex 22.2534 -34.4379 -0.2 endloop endfacet facet normal 0.0273252 -0.999627 0 outer loop - vertex 22.2534 -34.4379 -0.1 + vertex 22.2534 -34.4379 -0.2 vertex 22.5956 -34.4285 0 vertex 22.2534 -34.4379 0 endloop @@ -6967,13 +6967,13 @@ solid OpenSCAD_Model facet normal 0.0273252 -0.999627 0 outer loop vertex 22.5956 -34.4285 0 - vertex 22.2534 -34.4379 -0.1 - vertex 22.5956 -34.4285 -0.1 + vertex 22.2534 -34.4379 -0.2 + vertex 22.5956 -34.4285 -0.2 endloop endfacet facet normal 0.0869987 -0.996208 0 outer loop - vertex 22.5956 -34.4285 -0.1 + vertex 22.5956 -34.4285 -0.2 vertex 22.9315 -34.3992 0 vertex 22.5956 -34.4285 0 endloop @@ -6981,13 +6981,13 @@ solid OpenSCAD_Model facet normal 0.0869987 -0.996208 0 outer loop vertex 22.9315 -34.3992 0 - vertex 22.5956 -34.4285 -0.1 - vertex 22.9315 -34.3992 -0.1 + vertex 22.5956 -34.4285 -0.2 + vertex 22.9315 -34.3992 -0.2 endloop endfacet facet normal 0.150489 -0.988612 0 outer loop - vertex 22.9315 -34.3992 -0.1 + vertex 22.9315 -34.3992 -0.2 vertex 23.2634 -34.3487 0 vertex 22.9315 -34.3992 0 endloop @@ -6995,13 +6995,13 @@ solid OpenSCAD_Model facet normal 0.150489 -0.988612 0 outer loop vertex 23.2634 -34.3487 0 - vertex 22.9315 -34.3992 -0.1 - vertex 23.2634 -34.3487 -0.1 + vertex 22.9315 -34.3992 -0.2 + vertex 23.2634 -34.3487 -0.2 endloop endfacet facet normal 0.215659 -0.976469 0 outer loop - vertex 23.2634 -34.3487 -0.1 + vertex 23.2634 -34.3487 -0.2 vertex 23.5933 -34.2758 0 vertex 23.2634 -34.3487 0 endloop @@ -7009,13 +7009,13 @@ solid OpenSCAD_Model facet normal 0.215659 -0.976469 0 outer loop vertex 23.5933 -34.2758 0 - vertex 23.2634 -34.3487 -0.1 - vertex 23.5933 -34.2758 -0.1 + vertex 23.2634 -34.3487 -0.2 + vertex 23.5933 -34.2758 -0.2 endloop endfacet facet normal 0.280239 -0.95993 0 outer loop - vertex 23.5933 -34.2758 -0.1 + vertex 23.5933 -34.2758 -0.2 vertex 23.9237 -34.1793 0 vertex 23.5933 -34.2758 0 endloop @@ -7023,13 +7023,13 @@ solid OpenSCAD_Model facet normal 0.280239 -0.95993 0 outer loop vertex 23.9237 -34.1793 0 - vertex 23.5933 -34.2758 -0.1 - vertex 23.9237 -34.1793 -0.1 + vertex 23.5933 -34.2758 -0.2 + vertex 23.9237 -34.1793 -0.2 endloop endfacet facet normal 0.342076 -0.939672 0 outer loop - vertex 23.9237 -34.1793 -0.1 + vertex 23.9237 -34.1793 -0.2 vertex 24.2566 -34.0582 0 vertex 23.9237 -34.1793 0 endloop @@ -7037,13 +7037,13 @@ solid OpenSCAD_Model facet normal 0.342076 -0.939672 0 outer loop vertex 24.2566 -34.0582 0 - vertex 23.9237 -34.1793 -0.1 - vertex 24.2566 -34.0582 -0.1 + vertex 23.9237 -34.1793 -0.2 + vertex 24.2566 -34.0582 -0.2 endloop endfacet facet normal 0.399452 -0.916754 0 outer loop - vertex 24.2566 -34.0582 -0.1 + vertex 24.2566 -34.0582 -0.2 vertex 24.5942 -33.911 0 vertex 24.2566 -34.0582 0 endloop @@ -7051,13 +7051,13 @@ solid OpenSCAD_Model facet normal 0.399452 -0.916754 0 outer loop vertex 24.5942 -33.911 0 - vertex 24.2566 -34.0582 -0.1 - vertex 24.5942 -33.911 -0.1 + vertex 24.2566 -34.0582 -0.2 + vertex 24.5942 -33.911 -0.2 endloop endfacet facet normal 0.451238 -0.892404 0 outer loop - vertex 24.5942 -33.911 -0.1 + vertex 24.5942 -33.911 -0.2 vertex 24.9388 -33.7368 0 vertex 24.5942 -33.911 0 endloop @@ -7065,13 +7065,13 @@ solid OpenSCAD_Model facet normal 0.451238 -0.892404 0 outer loop vertex 24.9388 -33.7368 0 - vertex 24.5942 -33.911 -0.1 - vertex 24.9388 -33.7368 -0.1 + vertex 24.5942 -33.911 -0.2 + vertex 24.9388 -33.7368 -0.2 endloop endfacet facet normal 0.496895 -0.867811 0 outer loop - vertex 24.9388 -33.7368 -0.1 + vertex 24.9388 -33.7368 -0.2 vertex 25.2926 -33.5342 0 vertex 24.9388 -33.7368 0 endloop @@ -7079,13 +7079,13 @@ solid OpenSCAD_Model facet normal 0.496895 -0.867811 0 outer loop vertex 25.2926 -33.5342 0 - vertex 24.9388 -33.7368 -0.1 - vertex 25.2926 -33.5342 -0.1 + vertex 24.9388 -33.7368 -0.2 + vertex 25.2926 -33.5342 -0.2 endloop endfacet facet normal 0.536389 -0.843971 0 outer loop - vertex 25.2926 -33.5342 -0.1 + vertex 25.2926 -33.5342 -0.2 vertex 25.6577 -33.3022 0 vertex 25.2926 -33.5342 0 endloop @@ -7093,13 +7093,13 @@ solid OpenSCAD_Model facet normal 0.536389 -0.843971 0 outer loop vertex 25.6577 -33.3022 0 - vertex 25.2926 -33.5342 -0.1 - vertex 25.6577 -33.3022 -0.1 + vertex 25.2926 -33.5342 -0.2 + vertex 25.6577 -33.3022 -0.2 endloop endfacet facet normal 0.584792 -0.811183 0 outer loop - vertex 25.6577 -33.3022 -0.1 + vertex 25.6577 -33.3022 -0.2 vertex 26.4309 -32.7448 0 vertex 25.6577 -33.3022 0 endloop @@ -7107,13 +7107,13 @@ solid OpenSCAD_Model facet normal 0.584792 -0.811183 0 outer loop vertex 26.4309 -32.7448 0 - vertex 25.6577 -33.3022 -0.1 - vertex 26.4309 -32.7448 -0.1 + vertex 25.6577 -33.3022 -0.2 + vertex 26.4309 -32.7448 -0.2 endloop endfacet facet normal 0.632266 -0.774751 0 outer loop - vertex 26.4309 -32.7448 -0.1 + vertex 26.4309 -32.7448 -0.2 vertex 27.276 -32.055 0 vertex 26.4309 -32.7448 0 endloop @@ -7121,13 +7121,13 @@ solid OpenSCAD_Model facet normal 0.632266 -0.774751 0 outer loop vertex 27.276 -32.055 0 - vertex 26.4309 -32.7448 -0.1 - vertex 27.276 -32.055 -0.1 + vertex 26.4309 -32.7448 -0.2 + vertex 27.276 -32.055 -0.2 endloop endfacet facet normal 0.66466 -0.747146 0 outer loop - vertex 27.276 -32.055 -0.1 + vertex 27.276 -32.055 -0.2 vertex 28.2108 -31.2235 0 vertex 27.276 -32.055 0 endloop @@ -7135,13 +7135,13 @@ solid OpenSCAD_Model facet normal 0.66466 -0.747146 0 outer loop vertex 28.2108 -31.2235 0 - vertex 27.276 -32.055 -0.1 - vertex 28.2108 -31.2235 -0.1 + vertex 27.276 -32.055 -0.2 + vertex 28.2108 -31.2235 -0.2 endloop endfacet facet normal 0.662871 -0.748733 0 outer loop - vertex 28.2108 -31.2235 -0.1 + vertex 28.2108 -31.2235 -0.2 vertex 28.5495 -30.9236 0 vertex 28.2108 -31.2235 0 endloop @@ -7149,13 +7149,13 @@ solid OpenSCAD_Model facet normal 0.662871 -0.748733 0 outer loop vertex 28.5495 -30.9236 0 - vertex 28.2108 -31.2235 -0.1 - vertex 28.5495 -30.9236 -0.1 + vertex 28.2108 -31.2235 -0.2 + vertex 28.5495 -30.9236 -0.2 endloop endfacet facet normal 0.615947 -0.787787 0 outer loop - vertex 28.5495 -30.9236 -0.1 + vertex 28.5495 -30.9236 -0.2 vertex 28.8369 -30.6989 0 vertex 28.5495 -30.9236 0 endloop @@ -7163,13 +7163,13 @@ solid OpenSCAD_Model facet normal 0.615947 -0.787787 0 outer loop vertex 28.8369 -30.6989 0 - vertex 28.5495 -30.9236 -0.1 - vertex 28.8369 -30.6989 -0.1 + vertex 28.5495 -30.9236 -0.2 + vertex 28.8369 -30.6989 -0.2 endloop endfacet facet normal 0.524001 -0.851718 0 outer loop - vertex 28.8369 -30.6989 -0.1 + vertex 28.8369 -30.6989 -0.2 vertex 29.0845 -30.5466 0 vertex 28.8369 -30.6989 0 endloop @@ -7177,13 +7177,13 @@ solid OpenSCAD_Model facet normal 0.524001 -0.851718 0 outer loop vertex 29.0845 -30.5466 0 - vertex 28.8369 -30.6989 -0.1 - vertex 29.0845 -30.5466 -0.1 + vertex 28.8369 -30.6989 -0.2 + vertex 29.0845 -30.5466 -0.2 endloop endfacet facet normal 0.352437 -0.935836 0 outer loop - vertex 29.0845 -30.5466 -0.1 + vertex 29.0845 -30.5466 -0.2 vertex 29.3033 -30.4642 0 vertex 29.0845 -30.5466 0 endloop @@ -7191,13 +7191,13 @@ solid OpenSCAD_Model facet normal 0.352437 -0.935836 0 outer loop vertex 29.3033 -30.4642 0 - vertex 29.0845 -30.5466 -0.1 - vertex 29.3033 -30.4642 -0.1 + vertex 29.0845 -30.5466 -0.2 + vertex 29.3033 -30.4642 -0.2 endloop endfacet facet normal 0.0751321 -0.997174 0 outer loop - vertex 29.3033 -30.4642 -0.1 + vertex 29.3033 -30.4642 -0.2 vertex 29.5048 -30.449 0 vertex 29.3033 -30.4642 0 endloop @@ -7205,13 +7205,13 @@ solid OpenSCAD_Model facet normal 0.0751321 -0.997174 0 outer loop vertex 29.5048 -30.449 0 - vertex 29.3033 -30.4642 -0.1 - vertex 29.5048 -30.449 -0.1 + vertex 29.3033 -30.4642 -0.2 + vertex 29.5048 -30.449 -0.2 endloop endfacet facet normal -0.245256 -0.969458 0 outer loop - vertex 29.5048 -30.449 -0.1 + vertex 29.5048 -30.449 -0.2 vertex 29.7002 -30.4984 0 vertex 29.5048 -30.449 0 endloop @@ -7219,13 +7219,13 @@ solid OpenSCAD_Model facet normal -0.245256 -0.969458 -0 outer loop vertex 29.7002 -30.4984 0 - vertex 29.5048 -30.449 -0.1 - vertex 29.7002 -30.4984 -0.1 + vertex 29.5048 -30.449 -0.2 + vertex 29.7002 -30.4984 -0.2 endloop endfacet facet normal -0.485575 -0.874195 0 outer loop - vertex 29.7002 -30.4984 -0.1 + vertex 29.7002 -30.4984 -0.2 vertex 29.9008 -30.6099 0 vertex 29.7002 -30.4984 0 endloop @@ -7233,13 +7233,13 @@ solid OpenSCAD_Model facet normal -0.485575 -0.874195 -0 outer loop vertex 29.9008 -30.6099 0 - vertex 29.7002 -30.4984 -0.1 - vertex 29.9008 -30.6099 -0.1 + vertex 29.7002 -30.4984 -0.2 + vertex 29.9008 -30.6099 -0.2 endloop endfacet facet normal -0.618314 -0.785931 0 outer loop - vertex 29.9008 -30.6099 -0.1 + vertex 29.9008 -30.6099 -0.2 vertex 30.1179 -30.7807 0 vertex 29.9008 -30.6099 0 endloop @@ -7247,167 +7247,167 @@ solid OpenSCAD_Model facet normal -0.618314 -0.785931 -0 outer loop vertex 30.1179 -30.7807 0 - vertex 29.9008 -30.6099 -0.1 - vertex 30.1179 -30.7807 -0.1 + vertex 29.9008 -30.6099 -0.2 + vertex 30.1179 -30.7807 -0.2 endloop endfacet facet normal -0.761006 -0.648745 0 outer loop - vertex 30.1812 -30.855 -0.1 + vertex 30.1812 -30.855 -0.2 vertex 30.1179 -30.7807 0 - vertex 30.1179 -30.7807 -0.1 + vertex 30.1179 -30.7807 -0.2 endloop endfacet facet normal -0.761006 -0.648745 0 outer loop vertex 30.1179 -30.7807 0 - vertex 30.1812 -30.855 -0.1 + vertex 30.1812 -30.855 -0.2 vertex 30.1812 -30.855 0 endloop endfacet facet normal -0.923965 -0.382477 0 outer loop - vertex 30.2187 -30.9454 -0.1 + vertex 30.2187 -30.9454 -0.2 vertex 30.1812 -30.855 0 - vertex 30.1812 -30.855 -0.1 + vertex 30.1812 -30.855 -0.2 endloop endfacet facet normal -0.923965 -0.382477 0 outer loop vertex 30.1812 -30.855 0 - vertex 30.2187 -30.9454 -0.1 + vertex 30.2187 -30.9454 -0.2 vertex 30.2187 -30.9454 0 endloop endfacet facet normal -0.994533 -0.104423 0 outer loop - vertex 30.2299 -31.0524 -0.1 + vertex 30.2299 -31.0524 -0.2 vertex 30.2187 -30.9454 0 - vertex 30.2187 -30.9454 -0.1 + vertex 30.2187 -30.9454 -0.2 endloop endfacet facet normal -0.994533 -0.104423 0 outer loop vertex 30.2187 -30.9454 0 - vertex 30.2299 -31.0524 -0.1 + vertex 30.2299 -31.0524 -0.2 vertex 30.2299 -31.0524 0 endloop endfacet facet normal -0.992515 0.122124 0 outer loop - vertex 30.2146 -31.1764 -0.1 + vertex 30.2146 -31.1764 -0.2 vertex 30.2299 -31.0524 0 - vertex 30.2299 -31.0524 -0.1 + vertex 30.2299 -31.0524 -0.2 endloop endfacet facet normal -0.992515 0.122124 0 outer loop vertex 30.2299 -31.0524 0 - vertex 30.2146 -31.1764 -0.1 + vertex 30.2146 -31.1764 -0.2 vertex 30.2146 -31.1764 0 endloop endfacet facet normal -0.95856 0.284892 0 outer loop - vertex 30.1726 -31.3179 -0.1 + vertex 30.1726 -31.3179 -0.2 vertex 30.2146 -31.1764 0 - vertex 30.2146 -31.1764 -0.1 + vertex 30.2146 -31.1764 -0.2 endloop endfacet facet normal -0.95856 0.284892 0 outer loop vertex 30.2146 -31.1764 0 - vertex 30.1726 -31.3179 -0.1 + vertex 30.1726 -31.3179 -0.2 vertex 30.1726 -31.3179 0 endloop endfacet facet normal -0.917421 0.397919 0 outer loop - vertex 30.1034 -31.4773 -0.1 + vertex 30.1034 -31.4773 -0.2 vertex 30.1726 -31.3179 0 - vertex 30.1726 -31.3179 -0.1 + vertex 30.1726 -31.3179 -0.2 endloop endfacet facet normal -0.917421 0.397919 0 outer loop vertex 30.1726 -31.3179 0 - vertex 30.1034 -31.4773 -0.1 + vertex 30.1034 -31.4773 -0.2 vertex 30.1034 -31.4773 0 endloop endfacet facet normal -0.861393 0.50794 0 outer loop - vertex 29.8827 -31.8517 -0.1 + vertex 29.8827 -31.8517 -0.2 vertex 30.1034 -31.4773 0 - vertex 30.1034 -31.4773 -0.1 + vertex 30.1034 -31.4773 -0.2 endloop endfacet facet normal -0.861393 0.50794 0 outer loop vertex 30.1034 -31.4773 0 - vertex 29.8827 -31.8517 -0.1 + vertex 29.8827 -31.8517 -0.2 vertex 29.8827 -31.8517 0 endloop endfacet facet normal -0.804973 0.593311 0 outer loop - vertex 29.5499 -32.3032 -0.1 + vertex 29.5499 -32.3032 -0.2 vertex 29.8827 -31.8517 0 - vertex 29.8827 -31.8517 -0.1 + vertex 29.8827 -31.8517 -0.2 endloop endfacet facet normal -0.804973 0.593311 0 outer loop vertex 29.8827 -31.8517 0 - vertex 29.5499 -32.3032 -0.1 + vertex 29.5499 -32.3032 -0.2 vertex 29.5499 -32.3032 0 endloop endfacet facet normal -0.76559 0.643329 0 outer loop - vertex 29.1028 -32.8352 -0.1 + vertex 29.1028 -32.8352 -0.2 vertex 29.5499 -32.3032 0 - vertex 29.5499 -32.3032 -0.1 + vertex 29.5499 -32.3032 -0.2 endloop endfacet facet normal -0.76559 0.643329 0 outer loop vertex 29.5499 -32.3032 0 - vertex 29.1028 -32.8352 -0.1 + vertex 29.1028 -32.8352 -0.2 vertex 29.1028 -32.8352 0 endloop endfacet facet normal -0.73778 0.675042 0 outer loop - vertex 28.539 -33.4515 -0.1 + vertex 28.539 -33.4515 -0.2 vertex 29.1028 -32.8352 0 - vertex 29.1028 -32.8352 -0.1 + vertex 29.1028 -32.8352 -0.2 endloop endfacet facet normal -0.73778 0.675042 0 outer loop vertex 29.1028 -32.8352 0 - vertex 28.539 -33.4515 -0.1 + vertex 28.539 -33.4515 -0.2 vertex 28.539 -33.4515 0 endloop endfacet facet normal -0.717743 0.696309 0 outer loop - vertex 27.856 -34.1555 -0.1 + vertex 27.856 -34.1555 -0.2 vertex 28.539 -33.4515 0 - vertex 28.539 -33.4515 -0.1 + vertex 28.539 -33.4515 -0.2 endloop endfacet facet normal -0.717743 0.696309 0 outer loop vertex 28.539 -33.4515 0 - vertex 27.856 -34.1555 -0.1 + vertex 27.856 -34.1555 -0.2 vertex 27.856 -34.1555 0 endloop endfacet facet normal -0.702585 0.7116 0 outer loop - vertex 27.856 -34.1555 -0.1 + vertex 27.856 -34.1555 -0.2 vertex 27.3514 -34.6537 0 vertex 27.856 -34.1555 0 endloop @@ -7415,13 +7415,13 @@ solid OpenSCAD_Model facet normal -0.702585 0.7116 0 outer loop vertex 27.3514 -34.6537 0 - vertex 27.856 -34.1555 -0.1 - vertex 27.3514 -34.6537 -0.1 + vertex 27.856 -34.1555 -0.2 + vertex 27.3514 -34.6537 -0.2 endloop endfacet facet normal -0.683825 0.729646 0 outer loop - vertex 27.3514 -34.6537 -0.1 + vertex 27.3514 -34.6537 -0.2 vertex 26.8832 -35.0925 0 vertex 27.3514 -34.6537 0 endloop @@ -7429,13 +7429,13 @@ solid OpenSCAD_Model facet normal -0.683825 0.729646 0 outer loop vertex 26.8832 -35.0925 0 - vertex 27.3514 -34.6537 -0.1 - vertex 26.8832 -35.0925 -0.1 + vertex 27.3514 -34.6537 -0.2 + vertex 26.8832 -35.0925 -0.2 endloop endfacet facet normal -0.65863 0.752467 0 outer loop - vertex 26.8832 -35.0925 -0.1 + vertex 26.8832 -35.0925 -0.2 vertex 26.4377 -35.4824 0 vertex 26.8832 -35.0925 0 endloop @@ -7443,13 +7443,13 @@ solid OpenSCAD_Model facet normal -0.65863 0.752467 0 outer loop vertex 26.4377 -35.4824 0 - vertex 26.8832 -35.0925 -0.1 - vertex 26.4377 -35.4824 -0.1 + vertex 26.8832 -35.0925 -0.2 + vertex 26.4377 -35.4824 -0.2 endloop endfacet facet normal -0.627338 0.778747 0 outer loop - vertex 26.4377 -35.4824 -0.1 + vertex 26.4377 -35.4824 -0.2 vertex 26.0012 -35.834 0 vertex 26.4377 -35.4824 0 endloop @@ -7457,13 +7457,13 @@ solid OpenSCAD_Model facet normal -0.627338 0.778747 0 outer loop vertex 26.0012 -35.834 0 - vertex 26.4377 -35.4824 -0.1 - vertex 26.0012 -35.834 -0.1 + vertex 26.4377 -35.4824 -0.2 + vertex 26.0012 -35.834 -0.2 endloop endfacet facet normal -0.591741 0.806128 0 outer loop - vertex 26.0012 -35.834 -0.1 + vertex 26.0012 -35.834 -0.2 vertex 25.5601 -36.1579 0 vertex 26.0012 -35.834 0 endloop @@ -7471,13 +7471,13 @@ solid OpenSCAD_Model facet normal -0.591741 0.806128 0 outer loop vertex 25.5601 -36.1579 0 - vertex 26.0012 -35.834 -0.1 - vertex 25.5601 -36.1579 -0.1 + vertex 26.0012 -35.834 -0.2 + vertex 25.5601 -36.1579 -0.2 endloop endfacet facet normal -0.554992 0.831856 0 outer loop - vertex 25.5601 -36.1579 -0.1 + vertex 25.5601 -36.1579 -0.2 vertex 25.1006 -36.4644 0 vertex 25.5601 -36.1579 0 endloop @@ -7485,13 +7485,13 @@ solid OpenSCAD_Model facet normal -0.554992 0.831856 0 outer loop vertex 25.1006 -36.4644 0 - vertex 25.5601 -36.1579 -0.1 - vertex 25.1006 -36.4644 -0.1 + vertex 25.5601 -36.1579 -0.2 + vertex 25.1006 -36.4644 -0.2 endloop endfacet facet normal -0.520754 0.853707 0 outer loop - vertex 25.1006 -36.4644 -0.1 + vertex 25.1006 -36.4644 -0.2 vertex 24.6091 -36.7642 0 vertex 25.1006 -36.4644 0 endloop @@ -7499,13 +7499,13 @@ solid OpenSCAD_Model facet normal -0.520754 0.853707 0 outer loop vertex 24.6091 -36.7642 0 - vertex 25.1006 -36.4644 -0.1 - vertex 24.6091 -36.7642 -0.1 + vertex 25.1006 -36.4644 -0.2 + vertex 24.6091 -36.7642 -0.2 endloop endfacet facet normal -0.492012 0.870588 0 outer loop - vertex 24.6091 -36.7642 -0.1 + vertex 24.6091 -36.7642 -0.2 vertex 24.0719 -37.0678 0 vertex 24.6091 -36.7642 0 endloop @@ -7513,13 +7513,13 @@ solid OpenSCAD_Model facet normal -0.492012 0.870588 0 outer loop vertex 24.0719 -37.0678 0 - vertex 24.6091 -36.7642 -0.1 - vertex 24.0719 -37.0678 -0.1 + vertex 24.6091 -36.7642 -0.2 + vertex 24.0719 -37.0678 -0.2 endloop endfacet facet normal -0.469837 0.882753 0 outer loop - vertex 24.0719 -37.0678 -0.1 + vertex 24.0719 -37.0678 -0.2 vertex 23.2902 -37.4839 0 vertex 24.0719 -37.0678 0 endloop @@ -7527,13 +7527,13 @@ solid OpenSCAD_Model facet normal -0.469837 0.882753 0 outer loop vertex 23.2902 -37.4839 0 - vertex 24.0719 -37.0678 -0.1 - vertex 23.2902 -37.4839 -0.1 + vertex 24.0719 -37.0678 -0.2 + vertex 23.2902 -37.4839 -0.2 endloop endfacet facet normal -0.440052 0.897972 0 outer loop - vertex 23.2902 -37.4839 -0.1 + vertex 23.2902 -37.4839 -0.2 vertex 22.6041 -37.8201 0 vertex 23.2902 -37.4839 0 endloop @@ -7541,13 +7541,13 @@ solid OpenSCAD_Model facet normal -0.440052 0.897972 0 outer loop vertex 22.6041 -37.8201 0 - vertex 23.2902 -37.4839 -0.1 - vertex 22.6041 -37.8201 -0.1 + vertex 23.2902 -37.4839 -0.2 + vertex 22.6041 -37.8201 -0.2 endloop endfacet facet normal -0.394271 0.918994 0 outer loop - vertex 22.6041 -37.8201 -0.1 + vertex 22.6041 -37.8201 -0.2 vertex 21.9889 -38.084 0 vertex 22.6041 -37.8201 0 endloop @@ -7555,13 +7555,13 @@ solid OpenSCAD_Model facet normal -0.394271 0.918994 0 outer loop vertex 21.9889 -38.084 0 - vertex 22.6041 -37.8201 -0.1 - vertex 21.9889 -38.084 -0.1 + vertex 22.6041 -37.8201 -0.2 + vertex 21.9889 -38.084 -0.2 endloop endfacet facet normal -0.330435 0.943829 0 outer loop - vertex 21.9889 -38.084 -0.1 + vertex 21.9889 -38.084 -0.2 vertex 21.4197 -38.2833 0 vertex 21.9889 -38.084 0 endloop @@ -7569,13 +7569,13 @@ solid OpenSCAD_Model facet normal -0.330435 0.943829 0 outer loop vertex 21.4197 -38.2833 0 - vertex 21.9889 -38.084 -0.1 - vertex 21.4197 -38.2833 -0.1 + vertex 21.9889 -38.084 -0.2 + vertex 21.4197 -38.2833 -0.2 endloop endfacet facet normal -0.251155 0.967947 0 outer loop - vertex 21.4197 -38.2833 -0.1 + vertex 21.4197 -38.2833 -0.2 vertex 20.8717 -38.4255 0 vertex 21.4197 -38.2833 0 endloop @@ -7583,13 +7583,13 @@ solid OpenSCAD_Model facet normal -0.251155 0.967947 0 outer loop vertex 20.8717 -38.4255 0 - vertex 21.4197 -38.2833 -0.1 - vertex 20.8717 -38.4255 -0.1 + vertex 21.4197 -38.2833 -0.2 + vertex 20.8717 -38.4255 -0.2 endloop endfacet facet normal -0.165695 0.986177 0 outer loop - vertex 20.8717 -38.4255 -0.1 + vertex 20.8717 -38.4255 -0.2 vertex 20.3202 -38.5182 0 vertex 20.8717 -38.4255 0 endloop @@ -7597,13 +7597,13 @@ solid OpenSCAD_Model facet normal -0.165695 0.986177 0 outer loop vertex 20.3202 -38.5182 0 - vertex 20.8717 -38.4255 -0.1 - vertex 20.3202 -38.5182 -0.1 + vertex 20.8717 -38.4255 -0.2 + vertex 20.3202 -38.5182 -0.2 endloop endfacet facet normal -0.0871415 0.996196 0 outer loop - vertex 20.3202 -38.5182 -0.1 + vertex 20.3202 -38.5182 -0.2 vertex 19.7403 -38.5689 0 vertex 20.3202 -38.5182 0 endloop @@ -7611,13 +7611,13 @@ solid OpenSCAD_Model facet normal -0.0871415 0.996196 0 outer loop vertex 19.7403 -38.5689 0 - vertex 20.3202 -38.5182 -0.1 - vertex 19.7403 -38.5689 -0.1 + vertex 20.3202 -38.5182 -0.2 + vertex 19.7403 -38.5689 -0.2 endloop endfacet facet normal -0.0258263 0.999666 0 outer loop - vertex 19.7403 -38.5689 -0.1 + vertex 19.7403 -38.5689 -0.2 vertex 19.1073 -38.5852 0 vertex 19.7403 -38.5689 0 endloop @@ -7625,13 +7625,13 @@ solid OpenSCAD_Model facet normal -0.0258263 0.999666 0 outer loop vertex 19.1073 -38.5852 0 - vertex 19.7403 -38.5689 -0.1 - vertex 19.1073 -38.5852 -0.1 + vertex 19.7403 -38.5689 -0.2 + vertex 19.1073 -38.5852 -0.2 endloop endfacet facet normal 0.0407265 0.99917 -0 outer loop - vertex 19.1073 -38.5852 -0.1 + vertex 19.1073 -38.5852 -0.2 vertex 18.4669 -38.5591 0 vertex 19.1073 -38.5852 0 endloop @@ -7639,13 +7639,13 @@ solid OpenSCAD_Model facet normal 0.0407265 0.99917 0 outer loop vertex 18.4669 -38.5591 0 - vertex 19.1073 -38.5852 -0.1 - vertex 18.4669 -38.5591 -0.1 + vertex 19.1073 -38.5852 -0.2 + vertex 18.4669 -38.5591 -0.2 endloop endfacet facet normal 0.12356 0.992337 -0 outer loop - vertex 18.4669 -38.5591 -0.1 + vertex 18.4669 -38.5591 -0.2 vertex 18.1792 -38.5233 0 vertex 18.4669 -38.5591 0 endloop @@ -7653,13 +7653,13 @@ solid OpenSCAD_Model facet normal 0.12356 0.992337 0 outer loop vertex 18.1792 -38.5233 0 - vertex 18.4669 -38.5591 -0.1 - vertex 18.1792 -38.5233 -0.1 + vertex 18.4669 -38.5591 -0.2 + vertex 18.1792 -38.5233 -0.2 endloop endfacet facet normal 0.189246 0.98193 -0 outer loop - vertex 18.1792 -38.5233 -0.1 + vertex 18.1792 -38.5233 -0.2 vertex 17.9062 -38.4707 0 vertex 18.1792 -38.5233 0 endloop @@ -7667,13 +7667,13 @@ solid OpenSCAD_Model facet normal 0.189246 0.98193 0 outer loop vertex 17.9062 -38.4707 0 - vertex 18.1792 -38.5233 -0.1 - vertex 17.9062 -38.4707 -0.1 + vertex 18.1792 -38.5233 -0.2 + vertex 17.9062 -38.4707 -0.2 endloop endfacet facet normal 0.258743 0.965946 -0 outer loop - vertex 17.9062 -38.4707 -0.1 + vertex 17.9062 -38.4707 -0.2 vertex 17.6424 -38.4 0 vertex 17.9062 -38.4707 0 endloop @@ -7681,13 +7681,13 @@ solid OpenSCAD_Model facet normal 0.258743 0.965946 0 outer loop vertex 17.6424 -38.4 0 - vertex 17.9062 -38.4707 -0.1 - vertex 17.6424 -38.4 -0.1 + vertex 17.9062 -38.4707 -0.2 + vertex 17.6424 -38.4 -0.2 endloop endfacet facet normal 0.326993 0.945027 -0 outer loop - vertex 17.6424 -38.4 -0.1 + vertex 17.6424 -38.4 -0.2 vertex 17.3825 -38.3101 0 vertex 17.6424 -38.4 0 endloop @@ -7695,13 +7695,13 @@ solid OpenSCAD_Model facet normal 0.326993 0.945027 0 outer loop vertex 17.3825 -38.3101 0 - vertex 17.6424 -38.4 -0.1 - vertex 17.3825 -38.3101 -0.1 + vertex 17.6424 -38.4 -0.2 + vertex 17.3825 -38.3101 -0.2 endloop endfacet facet normal 0.389172 0.921165 -0 outer loop - vertex 17.3825 -38.3101 -0.1 + vertex 17.3825 -38.3101 -0.2 vertex 17.1211 -38.1997 0 vertex 17.3825 -38.3101 0 endloop @@ -7709,13 +7709,13 @@ solid OpenSCAD_Model facet normal 0.389172 0.921165 0 outer loop vertex 17.1211 -38.1997 0 - vertex 17.3825 -38.3101 -0.1 - vertex 17.1211 -38.1997 -0.1 + vertex 17.3825 -38.3101 -0.2 + vertex 17.1211 -38.1997 -0.2 endloop endfacet facet normal 0.442006 0.897012 -0 outer loop - vertex 17.1211 -38.1997 -0.1 + vertex 17.1211 -38.1997 -0.2 vertex 16.8529 -38.0675 0 vertex 17.1211 -38.1997 0 endloop @@ -7723,13 +7723,13 @@ solid OpenSCAD_Model facet normal 0.442006 0.897012 0 outer loop vertex 16.8529 -38.0675 0 - vertex 17.1211 -38.1997 -0.1 - vertex 16.8529 -38.0675 -0.1 + vertex 17.1211 -38.1997 -0.2 + vertex 16.8529 -38.0675 -0.2 endloop endfacet facet normal 0.508496 0.861064 -0 outer loop - vertex 16.8529 -38.0675 -0.1 + vertex 16.8529 -38.0675 -0.2 vertex 16.342 -37.7658 0 vertex 16.8529 -38.0675 0 endloop @@ -7737,13 +7737,13 @@ solid OpenSCAD_Model facet normal 0.508496 0.861064 0 outer loop vertex 16.342 -37.7658 0 - vertex 16.8529 -38.0675 -0.1 - vertex 16.342 -37.7658 -0.1 + vertex 16.8529 -38.0675 -0.2 + vertex 16.342 -37.7658 -0.2 endloop endfacet facet normal 0.581032 0.813881 -0 outer loop - vertex 16.342 -37.7658 -0.1 + vertex 16.342 -37.7658 -0.2 vertex 16.1153 -37.6039 0 vertex 16.342 -37.7658 0 endloop @@ -7751,13 +7751,13 @@ solid OpenSCAD_Model facet normal 0.581032 0.813881 0 outer loop vertex 16.1153 -37.6039 0 - vertex 16.342 -37.7658 -0.1 - vertex 16.1153 -37.6039 -0.1 + vertex 16.342 -37.7658 -0.2 + vertex 16.1153 -37.6039 -0.2 endloop endfacet facet normal 0.632987 0.774162 -0 outer loop - vertex 16.1153 -37.6039 -0.1 + vertex 16.1153 -37.6039 -0.2 vertex 15.907 -37.4336 0 vertex 16.1153 -37.6039 0 endloop @@ -7765,13 +7765,13 @@ solid OpenSCAD_Model facet normal 0.632987 0.774162 0 outer loop vertex 15.907 -37.4336 0 - vertex 16.1153 -37.6039 -0.1 - vertex 15.907 -37.4336 -0.1 + vertex 16.1153 -37.6039 -0.2 + vertex 15.907 -37.4336 -0.2 endloop endfacet facet normal 0.68624 0.727375 -0 outer loop - vertex 15.907 -37.4336 -0.1 + vertex 15.907 -37.4336 -0.2 vertex 15.7167 -37.2541 0 vertex 15.907 -37.4336 0 endloop @@ -7779,405 +7779,405 @@ solid OpenSCAD_Model facet normal 0.68624 0.727375 0 outer loop vertex 15.7167 -37.2541 0 - vertex 15.907 -37.4336 -0.1 - vertex 15.7167 -37.2541 -0.1 + vertex 15.907 -37.4336 -0.2 + vertex 15.7167 -37.2541 -0.2 endloop endfacet facet normal 0.739053 0.673647 0 outer loop vertex 15.7167 -37.2541 0 - vertex 15.544 -37.0647 -0.1 + vertex 15.544 -37.0647 -0.2 vertex 15.544 -37.0647 0 endloop endfacet facet normal 0.739053 0.673647 0 outer loop - vertex 15.544 -37.0647 -0.1 + vertex 15.544 -37.0647 -0.2 vertex 15.7167 -37.2541 0 - vertex 15.7167 -37.2541 -0.1 + vertex 15.7167 -37.2541 -0.2 endloop endfacet facet normal 0.789576 0.613652 0 outer loop vertex 15.544 -37.0647 0 - vertex 15.3884 -36.8644 -0.1 + vertex 15.3884 -36.8644 -0.2 vertex 15.3884 -36.8644 0 endloop endfacet facet normal 0.789576 0.613652 0 outer loop - vertex 15.3884 -36.8644 -0.1 + vertex 15.3884 -36.8644 -0.2 vertex 15.544 -37.0647 0 - vertex 15.544 -37.0647 -0.1 + vertex 15.544 -37.0647 -0.2 endloop endfacet facet normal 0.835985 0.548752 0 outer loop vertex 15.3884 -36.8644 0 - vertex 15.2493 -36.6526 -0.1 + vertex 15.2493 -36.6526 -0.2 vertex 15.2493 -36.6526 0 endloop endfacet facet normal 0.835985 0.548752 0 outer loop - vertex 15.2493 -36.6526 -0.1 + vertex 15.2493 -36.6526 -0.2 vertex 15.3884 -36.8644 0 - vertex 15.3884 -36.8644 -0.1 + vertex 15.3884 -36.8644 -0.2 endloop endfacet facet normal 0.876837 0.480788 0 outer loop vertex 15.2493 -36.6526 0 - vertex 15.1264 -36.4284 -0.1 + vertex 15.1264 -36.4284 -0.2 vertex 15.1264 -36.4284 0 endloop endfacet facet normal 0.876837 0.480788 0 outer loop - vertex 15.1264 -36.4284 -0.1 + vertex 15.1264 -36.4284 -0.2 vertex 15.2493 -36.6526 0 - vertex 15.2493 -36.6526 -0.1 + vertex 15.2493 -36.6526 -0.2 endloop endfacet facet normal 0.911228 0.411902 0 outer loop vertex 15.1264 -36.4284 0 - vertex 15.0191 -36.1911 -0.1 + vertex 15.0191 -36.1911 -0.2 vertex 15.0191 -36.1911 0 endloop endfacet facet normal 0.911228 0.411902 0 outer loop - vertex 15.0191 -36.1911 -0.1 + vertex 15.0191 -36.1911 -0.2 vertex 15.1264 -36.4284 0 - vertex 15.1264 -36.4284 -0.1 + vertex 15.1264 -36.4284 -0.2 endloop endfacet facet normal 0.938903 0.344183 0 outer loop vertex 15.0191 -36.1911 0 - vertex 14.927 -35.9398 -0.1 + vertex 14.927 -35.9398 -0.2 vertex 14.927 -35.9398 0 endloop endfacet facet normal 0.938903 0.344183 0 outer loop - vertex 14.927 -35.9398 -0.1 + vertex 14.927 -35.9398 -0.2 vertex 15.0191 -36.1911 0 - vertex 15.0191 -36.1911 -0.1 + vertex 15.0191 -36.1911 -0.2 endloop endfacet facet normal 0.960161 0.279447 0 outer loop vertex 14.927 -35.9398 0 - vertex 14.8496 -35.6738 -0.1 + vertex 14.8496 -35.6738 -0.2 vertex 14.8496 -35.6738 0 endloop endfacet facet normal 0.960161 0.279447 0 outer loop - vertex 14.8496 -35.6738 -0.1 + vertex 14.8496 -35.6738 -0.2 vertex 14.927 -35.9398 0 - vertex 14.927 -35.9398 -0.1 + vertex 14.927 -35.9398 -0.2 endloop endfacet facet normal 0.981615 0.190873 0 outer loop vertex 14.8496 -35.6738 0 - vertex 14.7369 -35.0944 -0.1 + vertex 14.7369 -35.0944 -0.2 vertex 14.7369 -35.0944 0 endloop endfacet facet normal 0.981615 0.190873 0 outer loop - vertex 14.7369 -35.0944 -0.1 + vertex 14.7369 -35.0944 -0.2 vertex 14.8496 -35.6738 0 - vertex 14.8496 -35.6738 -0.1 + vertex 14.8496 -35.6738 -0.2 endloop endfacet facet normal 0.995797 0.0915901 0 outer loop vertex 14.7369 -35.0944 0 - vertex 14.6774 -34.4466 -0.1 + vertex 14.6774 -34.4466 -0.2 vertex 14.6774 -34.4466 0 endloop endfacet facet normal 0.995797 0.0915901 0 outer loop - vertex 14.6774 -34.4466 -0.1 + vertex 14.6774 -34.4466 -0.2 vertex 14.7369 -35.0944 0 - vertex 14.7369 -35.0944 -0.1 + vertex 14.7369 -35.0944 -0.2 endloop endfacet facet normal 0.999758 0.0220201 0 outer loop vertex 14.6774 -34.4466 0 - vertex 14.6656 -33.913 -0.1 + vertex 14.6656 -33.913 -0.2 vertex 14.6656 -33.913 0 endloop endfacet facet normal 0.999758 0.0220201 0 outer loop - vertex 14.6656 -33.913 -0.1 + vertex 14.6656 -33.913 -0.2 vertex 14.6774 -34.4466 0 - vertex 14.6774 -34.4466 -0.1 + vertex 14.6774 -34.4466 -0.2 endloop endfacet facet normal 0.999472 -0.03249 0 outer loop vertex 14.6656 -33.913 0 - vertex 14.6832 -33.3707 -0.1 + vertex 14.6832 -33.3707 -0.2 vertex 14.6832 -33.3707 0 endloop endfacet facet normal 0.999472 -0.03249 0 outer loop - vertex 14.6832 -33.3707 -0.1 + vertex 14.6832 -33.3707 -0.2 vertex 14.6656 -33.913 0 - vertex 14.6656 -33.913 -0.1 + vertex 14.6656 -33.913 -0.2 endloop endfacet facet normal 0.996411 -0.0846524 0 outer loop vertex 14.6832 -33.3707 0 - vertex 14.73 -32.8205 -0.1 + vertex 14.73 -32.8205 -0.2 vertex 14.73 -32.8205 0 endloop endfacet facet normal 0.996411 -0.0846524 0 outer loop - vertex 14.73 -32.8205 -0.1 + vertex 14.73 -32.8205 -0.2 vertex 14.6832 -33.3707 0 - vertex 14.6832 -33.3707 -0.1 + vertex 14.6832 -33.3707 -0.2 endloop endfacet facet normal 0.990928 -0.134393 0 outer loop vertex 14.73 -32.8205 0 - vertex 14.8056 -32.2631 -0.1 + vertex 14.8056 -32.2631 -0.2 vertex 14.8056 -32.2631 0 endloop endfacet facet normal 0.990928 -0.134393 0 outer loop - vertex 14.8056 -32.2631 -0.1 + vertex 14.8056 -32.2631 -0.2 vertex 14.73 -32.8205 0 - vertex 14.73 -32.8205 -0.1 + vertex 14.73 -32.8205 -0.2 endloop endfacet facet normal 0.983352 -0.181712 0 outer loop vertex 14.8056 -32.2631 0 - vertex 14.9098 -31.6993 -0.1 + vertex 14.9098 -31.6993 -0.2 vertex 14.9098 -31.6993 0 endloop endfacet facet normal 0.983352 -0.181712 0 outer loop - vertex 14.9098 -31.6993 -0.1 + vertex 14.9098 -31.6993 -0.2 vertex 14.8056 -32.2631 0 - vertex 14.8056 -32.2631 -0.1 + vertex 14.8056 -32.2631 -0.2 endloop endfacet facet normal 0.973979 -0.226639 0 outer loop vertex 14.9098 -31.6993 0 - vertex 15.0423 -31.1299 -0.1 + vertex 15.0423 -31.1299 -0.2 vertex 15.0423 -31.1299 0 endloop endfacet facet normal 0.973979 -0.226639 0 outer loop - vertex 15.0423 -31.1299 -0.1 + vertex 15.0423 -31.1299 -0.2 vertex 14.9098 -31.6993 0 - vertex 14.9098 -31.6993 -0.1 + vertex 14.9098 -31.6993 -0.2 endloop endfacet facet normal 0.963072 -0.269246 0 outer loop vertex 15.0423 -31.1299 0 - vertex 15.2028 -30.5555 -0.1 + vertex 15.2028 -30.5555 -0.2 vertex 15.2028 -30.5555 0 endloop endfacet facet normal 0.963072 -0.269246 0 outer loop - vertex 15.2028 -30.5555 -0.1 + vertex 15.2028 -30.5555 -0.2 vertex 15.0423 -31.1299 0 - vertex 15.0423 -31.1299 -0.1 + vertex 15.0423 -31.1299 -0.2 endloop endfacet facet normal 0.950861 -0.309619 0 outer loop vertex 15.2028 -30.5555 0 - vertex 15.3912 -29.9771 -0.1 + vertex 15.3912 -29.9771 -0.2 vertex 15.3912 -29.9771 0 endloop endfacet facet normal 0.950861 -0.309619 0 outer loop - vertex 15.3912 -29.9771 -0.1 + vertex 15.3912 -29.9771 -0.2 vertex 15.2028 -30.5555 0 - vertex 15.2028 -30.5555 -0.1 + vertex 15.2028 -30.5555 -0.2 endloop endfacet facet normal 0.93754 -0.347877 0 outer loop vertex 15.3912 -29.9771 0 - vertex 15.6071 -29.3953 -0.1 + vertex 15.6071 -29.3953 -0.2 vertex 15.6071 -29.3953 0 endloop endfacet facet normal 0.93754 -0.347877 0 outer loop - vertex 15.6071 -29.3953 -0.1 + vertex 15.6071 -29.3953 -0.2 vertex 15.3912 -29.9771 0 - vertex 15.3912 -29.9771 -0.1 + vertex 15.3912 -29.9771 -0.2 endloop endfacet facet normal 0.92328 -0.384128 0 outer loop vertex 15.6071 -29.3953 0 - vertex 15.8502 -28.8109 -0.1 + vertex 15.8502 -28.8109 -0.2 vertex 15.8502 -28.8109 0 endloop endfacet facet normal 0.92328 -0.384128 0 outer loop - vertex 15.8502 -28.8109 -0.1 + vertex 15.8502 -28.8109 -0.2 vertex 15.6071 -29.3953 0 - vertex 15.6071 -29.3953 -0.1 + vertex 15.6071 -29.3953 -0.2 endloop endfacet facet normal 0.908217 -0.418499 0 outer loop vertex 15.8502 -28.8109 0 - vertex 16.1203 -28.2246 -0.1 + vertex 16.1203 -28.2246 -0.2 vertex 16.1203 -28.2246 0 endloop endfacet facet normal 0.908217 -0.418499 0 outer loop - vertex 16.1203 -28.2246 -0.1 + vertex 16.1203 -28.2246 -0.2 vertex 15.8502 -28.8109 0 - vertex 15.8502 -28.8109 -0.1 + vertex 15.8502 -28.8109 -0.2 endloop endfacet facet normal 0.892471 -0.451106 0 outer loop vertex 16.1203 -28.2246 0 - vertex 16.4172 -27.6373 -0.1 + vertex 16.4172 -27.6373 -0.2 vertex 16.4172 -27.6373 0 endloop endfacet facet normal 0.892471 -0.451106 0 outer loop - vertex 16.4172 -27.6373 -0.1 + vertex 16.4172 -27.6373 -0.2 vertex 16.1203 -28.2246 0 - vertex 16.1203 -28.2246 -0.1 + vertex 16.1203 -28.2246 -0.2 endloop endfacet facet normal 0.876136 -0.482063 0 outer loop vertex 16.4172 -27.6373 0 - vertex 16.7406 -27.0496 -0.1 + vertex 16.7406 -27.0496 -0.2 vertex 16.7406 -27.0496 0 endloop endfacet facet normal 0.876136 -0.482063 0 outer loop - vertex 16.7406 -27.0496 -0.1 + vertex 16.7406 -27.0496 -0.2 vertex 16.4172 -27.6373 0 - vertex 16.4172 -27.6373 -0.1 + vertex 16.4172 -27.6373 -0.2 endloop endfacet facet normal 0.85929 -0.511489 0 outer loop vertex 16.7406 -27.0496 0 - vertex 17.0901 -26.4624 -0.1 + vertex 17.0901 -26.4624 -0.2 vertex 17.0901 -26.4624 0 endloop endfacet facet normal 0.85929 -0.511489 0 outer loop - vertex 17.0901 -26.4624 -0.1 + vertex 17.0901 -26.4624 -0.2 vertex 16.7406 -27.0496 0 - vertex 16.7406 -27.0496 -0.1 + vertex 16.7406 -27.0496 -0.2 endloop endfacet facet normal 0.841993 -0.539488 0 outer loop vertex 17.0901 -26.4624 0 - vertex 17.4656 -25.8764 -0.1 + vertex 17.4656 -25.8764 -0.2 vertex 17.4656 -25.8764 0 endloop endfacet facet normal 0.841993 -0.539488 0 outer loop - vertex 17.4656 -25.8764 -0.1 + vertex 17.4656 -25.8764 -0.2 vertex 17.0901 -26.4624 0 - vertex 17.0901 -26.4624 -0.1 + vertex 17.0901 -26.4624 -0.2 endloop endfacet facet normal 0.8243 -0.566153 0 outer loop vertex 17.4656 -25.8764 0 - vertex 17.8667 -25.2923 -0.1 + vertex 17.8667 -25.2923 -0.2 vertex 17.8667 -25.2923 0 endloop endfacet facet normal 0.8243 -0.566153 0 outer loop - vertex 17.8667 -25.2923 -0.1 + vertex 17.8667 -25.2923 -0.2 vertex 17.4656 -25.8764 0 - vertex 17.4656 -25.8764 -0.1 + vertex 17.4656 -25.8764 -0.2 endloop endfacet facet normal 0.801921 -0.59743 0 outer loop vertex 17.8667 -25.2923 0 - vertex 18.4501 -24.5093 -0.1 + vertex 18.4501 -24.5093 -0.2 vertex 18.4501 -24.5093 0 endloop endfacet facet normal 0.801921 -0.59743 0 outer loop - vertex 18.4501 -24.5093 -0.1 + vertex 18.4501 -24.5093 -0.2 vertex 17.8667 -25.2923 0 - vertex 17.8667 -25.2923 -0.1 + vertex 17.8667 -25.2923 -0.2 endloop endfacet facet normal 0.772213 -0.635364 0 outer loop vertex 18.4501 -24.5093 0 - vertex 19.0503 -23.7798 -0.1 + vertex 19.0503 -23.7798 -0.2 vertex 19.0503 -23.7798 0 endloop endfacet facet normal 0.772213 -0.635364 0 outer loop - vertex 19.0503 -23.7798 -0.1 + vertex 19.0503 -23.7798 -0.2 vertex 18.4501 -24.5093 0 - vertex 18.4501 -24.5093 -0.1 + vertex 18.4501 -24.5093 -0.2 endloop endfacet facet normal 0.738434 -0.674325 0 outer loop vertex 19.0503 -23.7798 0 - vertex 19.6689 -23.1024 -0.1 + vertex 19.6689 -23.1024 -0.2 vertex 19.6689 -23.1024 0 endloop endfacet facet normal 0.738434 -0.674325 0 outer loop - vertex 19.6689 -23.1024 -0.1 + vertex 19.6689 -23.1024 -0.2 vertex 19.0503 -23.7798 0 - vertex 19.0503 -23.7798 -0.1 + vertex 19.0503 -23.7798 -0.2 endloop endfacet facet normal 0.700496 -0.713656 0 outer loop - vertex 19.6689 -23.1024 -0.1 + vertex 19.6689 -23.1024 -0.2 vertex 20.3071 -22.4759 0 vertex 19.6689 -23.1024 0 endloop @@ -8185,13 +8185,13 @@ solid OpenSCAD_Model facet normal 0.700496 -0.713656 0 outer loop vertex 20.3071 -22.4759 0 - vertex 19.6689 -23.1024 -0.1 - vertex 20.3071 -22.4759 -0.1 + vertex 19.6689 -23.1024 -0.2 + vertex 20.3071 -22.4759 -0.2 endloop endfacet facet normal 0.658485 -0.752594 0 outer loop - vertex 20.3071 -22.4759 -0.1 + vertex 20.3071 -22.4759 -0.2 vertex 20.9665 -21.899 0 vertex 20.3071 -22.4759 0 endloop @@ -8199,13 +8199,13 @@ solid OpenSCAD_Model facet normal 0.658485 -0.752594 0 outer loop vertex 20.9665 -21.899 0 - vertex 20.3071 -22.4759 -0.1 - vertex 20.9665 -21.899 -0.1 + vertex 20.3071 -22.4759 -0.2 + vertex 20.9665 -21.899 -0.2 endloop endfacet facet normal 0.612713 -0.790306 0 outer loop - vertex 20.9665 -21.899 -0.1 + vertex 20.9665 -21.899 -0.2 vertex 21.6485 -21.3703 0 vertex 20.9665 -21.899 0 endloop @@ -8213,13 +8213,13 @@ solid OpenSCAD_Model facet normal 0.612713 -0.790306 0 outer loop vertex 21.6485 -21.3703 0 - vertex 20.9665 -21.899 -0.1 - vertex 21.6485 -21.3703 -0.1 + vertex 20.9665 -21.899 -0.2 + vertex 21.6485 -21.3703 -0.2 endloop endfacet facet normal 0.563707 -0.825975 0 outer loop - vertex 21.6485 -21.3703 -0.1 + vertex 21.6485 -21.3703 -0.2 vertex 22.3543 -20.8886 0 vertex 21.6485 -21.3703 0 endloop @@ -8227,13 +8227,13 @@ solid OpenSCAD_Model facet normal 0.563707 -0.825975 0 outer loop vertex 22.3543 -20.8886 0 - vertex 21.6485 -21.3703 -0.1 - vertex 22.3543 -20.8886 -0.1 + vertex 21.6485 -21.3703 -0.2 + vertex 22.3543 -20.8886 -0.2 endloop endfacet facet normal 0.512208 -0.858861 0 outer loop - vertex 22.3543 -20.8886 -0.1 + vertex 22.3543 -20.8886 -0.2 vertex 23.0854 -20.4525 0 vertex 22.3543 -20.8886 0 endloop @@ -8241,13 +8241,13 @@ solid OpenSCAD_Model facet normal 0.512208 -0.858861 0 outer loop vertex 23.0854 -20.4525 0 - vertex 22.3543 -20.8886 -0.1 - vertex 23.0854 -20.4525 -0.1 + vertex 22.3543 -20.8886 -0.2 + vertex 23.0854 -20.4525 -0.2 endloop endfacet facet normal 0.471781 -0.881716 0 outer loop - vertex 23.0854 -20.4525 -0.1 + vertex 23.0854 -20.4525 -0.2 vertex 23.7493 -20.0973 0 vertex 23.0854 -20.4525 0 endloop @@ -8255,13 +8255,13 @@ solid OpenSCAD_Model facet normal 0.471781 -0.881716 0 outer loop vertex 23.7493 -20.0973 0 - vertex 23.0854 -20.4525 -0.1 - vertex 23.7493 -20.0973 -0.1 + vertex 23.0854 -20.4525 -0.2 + vertex 23.7493 -20.0973 -0.2 endloop endfacet facet normal 0.433016 -0.901386 0 outer loop - vertex 23.7493 -20.0973 -0.1 + vertex 23.7493 -20.0973 -0.2 vertex 24.3497 -19.8089 0 vertex 23.7493 -20.0973 0 endloop @@ -8269,13 +8269,13 @@ solid OpenSCAD_Model facet normal 0.433016 -0.901386 0 outer loop vertex 24.3497 -19.8089 0 - vertex 23.7493 -20.0973 -0.1 - vertex 24.3497 -19.8089 -0.1 + vertex 23.7493 -20.0973 -0.2 + vertex 24.3497 -19.8089 -0.2 endloop endfacet facet normal 0.377334 -0.926077 0 outer loop - vertex 24.3497 -19.8089 -0.1 + vertex 24.3497 -19.8089 -0.2 vertex 24.9086 -19.5812 0 vertex 24.3497 -19.8089 0 endloop @@ -8283,13 +8283,13 @@ solid OpenSCAD_Model facet normal 0.377334 -0.926077 0 outer loop vertex 24.9086 -19.5812 0 - vertex 24.3497 -19.8089 -0.1 - vertex 24.9086 -19.5812 -0.1 + vertex 24.3497 -19.8089 -0.2 + vertex 24.9086 -19.5812 -0.2 endloop endfacet facet normal 0.305529 -0.952183 0 outer loop - vertex 24.9086 -19.5812 -0.1 + vertex 24.9086 -19.5812 -0.2 vertex 25.4477 -19.4082 0 vertex 24.9086 -19.5812 0 endloop @@ -8297,13 +8297,13 @@ solid OpenSCAD_Model facet normal 0.305529 -0.952183 0 outer loop vertex 25.4477 -19.4082 0 - vertex 24.9086 -19.5812 -0.1 - vertex 25.4477 -19.4082 -0.1 + vertex 24.9086 -19.5812 -0.2 + vertex 25.4477 -19.4082 -0.2 endloop endfacet facet normal 0.223751 -0.974646 0 outer loop - vertex 25.4477 -19.4082 -0.1 + vertex 25.4477 -19.4082 -0.2 vertex 25.9886 -19.284 0 vertex 25.4477 -19.4082 0 endloop @@ -8311,13 +8311,13 @@ solid OpenSCAD_Model facet normal 0.223751 -0.974646 0 outer loop vertex 25.9886 -19.284 0 - vertex 25.4477 -19.4082 -0.1 - vertex 25.9886 -19.284 -0.1 + vertex 25.4477 -19.4082 -0.2 + vertex 25.9886 -19.284 -0.2 endloop endfacet facet normal 0.142672 -0.98977 0 outer loop - vertex 25.9886 -19.284 -0.1 + vertex 25.9886 -19.284 -0.2 vertex 26.5531 -19.2026 0 vertex 25.9886 -19.284 0 endloop @@ -8325,13 +8325,13 @@ solid OpenSCAD_Model facet normal 0.142672 -0.98977 0 outer loop vertex 26.5531 -19.2026 0 - vertex 25.9886 -19.284 -0.1 - vertex 26.5531 -19.2026 -0.1 + vertex 25.9886 -19.284 -0.2 + vertex 26.5531 -19.2026 -0.2 endloop endfacet facet normal 0.072849 -0.997343 0 outer loop - vertex 26.5531 -19.2026 -0.1 + vertex 26.5531 -19.2026 -0.2 vertex 27.1629 -19.1581 0 vertex 26.5531 -19.2026 0 endloop @@ -8339,13 +8339,13 @@ solid OpenSCAD_Model facet normal 0.072849 -0.997343 0 outer loop vertex 27.1629 -19.1581 0 - vertex 26.5531 -19.2026 -0.1 - vertex 27.1629 -19.1581 -0.1 + vertex 26.5531 -19.2026 -0.2 + vertex 27.1629 -19.1581 -0.2 endloop endfacet facet normal 0.0202302 -0.999795 0 outer loop - vertex 27.1629 -19.1581 -0.1 + vertex 27.1629 -19.1581 -0.2 vertex 27.8398 -19.1444 0 vertex 27.1629 -19.1581 0 endloop @@ -8353,13 +8353,13 @@ solid OpenSCAD_Model facet normal 0.0202302 -0.999795 0 outer loop vertex 27.8398 -19.1444 0 - vertex 27.1629 -19.1581 -0.1 - vertex 27.8398 -19.1444 -0.1 + vertex 27.1629 -19.1581 -0.2 + vertex 27.8398 -19.1444 -0.2 endloop endfacet facet normal -0.0344796 -0.999405 0 outer loop - vertex 27.8398 -19.1444 -0.1 + vertex 27.8398 -19.1444 -0.2 vertex 28.4483 -19.1654 0 vertex 27.8398 -19.1444 0 endloop @@ -8367,13 +8367,13 @@ solid OpenSCAD_Model facet normal -0.0344796 -0.999405 -0 outer loop vertex 28.4483 -19.1654 0 - vertex 27.8398 -19.1444 -0.1 - vertex 28.4483 -19.1654 -0.1 + vertex 27.8398 -19.1444 -0.2 + vertex 28.4483 -19.1654 -0.2 endloop endfacet facet normal -0.149538 0.988756 0 outer loop - vertex 25.51 -21.8307 -0.1 + vertex 25.51 -21.8307 -0.2 vertex 25.181 -21.8805 0 vertex 25.51 -21.8307 0 endloop @@ -8381,13 +8381,13 @@ solid OpenSCAD_Model facet normal -0.149538 0.988756 0 outer loop vertex 25.181 -21.8805 0 - vertex 25.51 -21.8307 -0.1 - vertex 25.181 -21.8805 -0.1 + vertex 25.51 -21.8307 -0.2 + vertex 25.181 -21.8805 -0.2 endloop endfacet facet normal -0.215553 0.976492 0 outer loop - vertex 25.181 -21.8805 -0.1 + vertex 25.181 -21.8805 -0.2 vertex 24.827 -21.9586 0 vertex 25.181 -21.8805 0 endloop @@ -8395,13 +8395,13 @@ solid OpenSCAD_Model facet normal -0.215553 0.976492 0 outer loop vertex 24.827 -21.9586 0 - vertex 25.181 -21.8805 -0.1 - vertex 24.827 -21.9586 -0.1 + vertex 25.181 -21.8805 -0.2 + vertex 24.827 -21.9586 -0.2 endloop endfacet facet normal -0.27228 0.962218 0 outer loop - vertex 24.827 -21.9586 -0.1 + vertex 24.827 -21.9586 -0.2 vertex 24.5319 -22.0421 0 vertex 24.827 -21.9586 0 endloop @@ -8409,13 +8409,13 @@ solid OpenSCAD_Model facet normal -0.27228 0.962218 0 outer loop vertex 24.5319 -22.0421 0 - vertex 24.827 -21.9586 -0.1 - vertex 24.5319 -22.0421 -0.1 + vertex 24.827 -21.9586 -0.2 + vertex 24.5319 -22.0421 -0.2 endloop endfacet facet normal -0.339982 0.940432 0 outer loop - vertex 24.5319 -22.0421 -0.1 + vertex 24.5319 -22.0421 -0.2 vertex 24.2621 -22.1397 0 vertex 24.5319 -22.0421 0 endloop @@ -8423,13 +8423,13 @@ solid OpenSCAD_Model facet normal -0.339982 0.940432 0 outer loop vertex 24.2621 -22.1397 0 - vertex 24.5319 -22.0421 -0.1 - vertex 24.2621 -22.1397 -0.1 + vertex 24.5319 -22.0421 -0.2 + vertex 24.2621 -22.1397 -0.2 endloop endfacet facet normal -0.419841 0.907598 0 outer loop - vertex 24.2621 -22.1397 -0.1 + vertex 24.2621 -22.1397 -0.2 vertex 24.0091 -22.2567 0 vertex 24.2621 -22.1397 0 endloop @@ -8437,13 +8437,13 @@ solid OpenSCAD_Model facet normal -0.419841 0.907598 0 outer loop vertex 24.0091 -22.2567 0 - vertex 24.2621 -22.1397 -0.1 - vertex 24.0091 -22.2567 -0.1 + vertex 24.2621 -22.1397 -0.2 + vertex 24.0091 -22.2567 -0.2 endloop endfacet facet normal -0.501876 0.864939 0 outer loop - vertex 24.0091 -22.2567 -0.1 + vertex 24.0091 -22.2567 -0.2 vertex 23.7644 -22.3987 0 vertex 24.0091 -22.2567 0 endloop @@ -8451,13 +8451,13 @@ solid OpenSCAD_Model facet normal -0.501876 0.864939 0 outer loop vertex 23.7644 -22.3987 0 - vertex 24.0091 -22.2567 -0.1 - vertex 23.7644 -22.3987 -0.1 + vertex 24.0091 -22.2567 -0.2 + vertex 23.7644 -22.3987 -0.2 endloop endfacet facet normal -0.575619 0.817718 0 outer loop - vertex 23.7644 -22.3987 -0.1 + vertex 23.7644 -22.3987 -0.2 vertex 23.5194 -22.5712 0 vertex 23.7644 -22.3987 0 endloop @@ -8465,13 +8465,13 @@ solid OpenSCAD_Model facet normal -0.575619 0.817718 0 outer loop vertex 23.5194 -22.5712 0 - vertex 23.7644 -22.3987 -0.1 - vertex 23.5194 -22.5712 -0.1 + vertex 23.7644 -22.3987 -0.2 + vertex 23.5194 -22.5712 -0.2 endloop endfacet facet normal -0.634613 0.77283 0 outer loop - vertex 23.5194 -22.5712 -0.1 + vertex 23.5194 -22.5712 -0.2 vertex 23.2657 -22.7795 0 vertex 23.5194 -22.5712 0 endloop @@ -8479,13 +8479,13 @@ solid OpenSCAD_Model facet normal -0.634613 0.77283 0 outer loop vertex 23.2657 -22.7795 0 - vertex 23.5194 -22.5712 -0.1 - vertex 23.2657 -22.7795 -0.1 + vertex 23.5194 -22.5712 -0.2 + vertex 23.2657 -22.7795 -0.2 endloop endfacet facet normal -0.693326 0.720624 0 outer loop - vertex 23.2657 -22.7795 -0.1 + vertex 23.2657 -22.7795 -0.2 vertex 22.6979 -23.3258 0 vertex 23.2657 -22.7795 0 endloop @@ -8493,83 +8493,83 @@ solid OpenSCAD_Model facet normal -0.693326 0.720624 0 outer loop vertex 22.6979 -23.3258 0 - vertex 23.2657 -22.7795 -0.1 - vertex 22.6979 -23.3258 -0.1 + vertex 23.2657 -22.7795 -0.2 + vertex 22.6979 -23.3258 -0.2 endloop endfacet facet normal -0.729687 0.683781 0 outer loop - vertex 22.2832 -23.7683 -0.1 + vertex 22.2832 -23.7683 -0.2 vertex 22.6979 -23.3258 0 - vertex 22.6979 -23.3258 -0.1 + vertex 22.6979 -23.3258 -0.2 endloop endfacet facet normal -0.729687 0.683781 0 outer loop vertex 22.6979 -23.3258 0 - vertex 22.2832 -23.7683 -0.1 + vertex 22.2832 -23.7683 -0.2 vertex 22.2832 -23.7683 0 endloop endfacet facet normal -0.755777 0.65483 0 outer loop - vertex 21.9437 -24.1601 -0.1 + vertex 21.9437 -24.1601 -0.2 vertex 22.2832 -23.7683 0 - vertex 22.2832 -23.7683 -0.1 + vertex 22.2832 -23.7683 -0.2 endloop endfacet facet normal -0.755777 0.65483 0 outer loop vertex 22.2832 -23.7683 0 - vertex 21.9437 -24.1601 -0.1 + vertex 21.9437 -24.1601 -0.2 vertex 21.9437 -24.1601 0 endloop endfacet facet normal -0.793147 0.60903 0 outer loop - vertex 21.7143 -24.4589 -0.1 + vertex 21.7143 -24.4589 -0.2 vertex 21.9437 -24.1601 0 - vertex 21.9437 -24.1601 -0.1 + vertex 21.9437 -24.1601 -0.2 endloop endfacet facet normal -0.793147 0.60903 0 outer loop vertex 21.9437 -24.1601 0 - vertex 21.7143 -24.4589 -0.1 + vertex 21.7143 -24.4589 -0.2 vertex 21.7143 -24.4589 0 endloop endfacet facet normal -0.850912 0.525308 0 outer loop - vertex 21.6518 -24.5601 -0.1 + vertex 21.6518 -24.5601 -0.2 vertex 21.7143 -24.4589 0 - vertex 21.7143 -24.4589 -0.1 + vertex 21.7143 -24.4589 -0.2 endloop endfacet facet normal -0.850912 0.525308 0 outer loop vertex 21.7143 -24.4589 0 - vertex 21.6518 -24.5601 -0.1 + vertex 21.6518 -24.5601 -0.2 vertex 21.6518 -24.5601 0 endloop endfacet facet normal -0.943329 0.331858 0 outer loop - vertex 21.63 -24.6221 -0.1 + vertex 21.63 -24.6221 -0.2 vertex 21.6518 -24.5601 0 - vertex 21.6518 -24.5601 -0.1 + vertex 21.6518 -24.5601 -0.2 endloop endfacet facet normal -0.943329 0.331858 0 outer loop vertex 21.6518 -24.5601 0 - vertex 21.63 -24.6221 -0.1 + vertex 21.63 -24.6221 -0.2 vertex 21.63 -24.6221 0 endloop endfacet facet normal -0.568017 -0.823017 0 outer loop - vertex 21.63 -24.6221 -0.1 + vertex 21.63 -24.6221 -0.2 vertex 21.6873 -24.6616 0 vertex 21.63 -24.6221 0 endloop @@ -8577,13 +8577,13 @@ solid OpenSCAD_Model facet normal -0.568017 -0.823017 -0 outer loop vertex 21.6873 -24.6616 0 - vertex 21.63 -24.6221 -0.1 - vertex 21.6873 -24.6616 -0.1 + vertex 21.63 -24.6221 -0.2 + vertex 21.6873 -24.6616 -0.2 endloop endfacet facet normal -0.21919 -0.975682 0 outer loop - vertex 21.6873 -24.6616 -0.1 + vertex 21.6873 -24.6616 -0.2 vertex 21.8514 -24.6984 0 vertex 21.6873 -24.6616 0 endloop @@ -8591,13 +8591,13 @@ solid OpenSCAD_Model facet normal -0.21919 -0.975682 -0 outer loop vertex 21.8514 -24.6984 0 - vertex 21.6873 -24.6616 -0.1 - vertex 21.8514 -24.6984 -0.1 + vertex 21.6873 -24.6616 -0.2 + vertex 21.8514 -24.6984 -0.2 endloop endfacet facet normal -0.103226 -0.994658 0 outer loop - vertex 21.8514 -24.6984 -0.1 + vertex 21.8514 -24.6984 -0.2 vertex 22.454 -24.761 0 vertex 21.8514 -24.6984 0 endloop @@ -8605,13 +8605,13 @@ solid OpenSCAD_Model facet normal -0.103226 -0.994658 -0 outer loop vertex 22.454 -24.761 0 - vertex 21.8514 -24.6984 -0.1 - vertex 22.454 -24.761 -0.1 + vertex 21.8514 -24.6984 -0.2 + vertex 22.454 -24.761 -0.2 endloop endfacet facet normal -0.0473276 -0.998879 0 outer loop - vertex 22.454 -24.761 -0.1 + vertex 22.454 -24.761 -0.2 vertex 23.3459 -24.8032 0 vertex 22.454 -24.761 0 endloop @@ -8619,13 +8619,13 @@ solid OpenSCAD_Model facet normal -0.0473276 -0.998879 -0 outer loop vertex 23.3459 -24.8032 0 - vertex 22.454 -24.761 -0.1 - vertex 23.3459 -24.8032 -0.1 + vertex 22.454 -24.761 -0.2 + vertex 23.3459 -24.8032 -0.2 endloop endfacet facet normal -0.0142485 -0.999898 0 outer loop - vertex 23.3459 -24.8032 -0.1 + vertex 23.3459 -24.8032 -0.2 vertex 24.435 -24.8188 0 vertex 23.3459 -24.8032 0 endloop @@ -8633,13 +8633,13 @@ solid OpenSCAD_Model facet normal -0.0142485 -0.999898 -0 outer loop vertex 24.435 -24.8188 0 - vertex 23.3459 -24.8032 -0.1 - vertex 24.435 -24.8188 -0.1 + vertex 23.3459 -24.8032 -0.2 + vertex 24.435 -24.8188 -0.2 endloop endfacet facet normal 0 -1 0 outer loop - vertex 24.435 -24.8188 -0.1 + vertex 24.435 -24.8188 -0.2 vertex 27.2401 -24.8188 0 vertex 24.435 -24.8188 0 endloop @@ -8647,125 +8647,125 @@ solid OpenSCAD_Model facet normal 0 -1 -0 outer loop vertex 27.2401 -24.8188 0 - vertex 24.435 -24.8188 -0.1 - vertex 27.2401 -24.8188 -0.1 + vertex 24.435 -24.8188 -0.2 + vertex 27.2401 -24.8188 -0.2 endloop endfacet facet normal 0.986418 -0.164252 0 outer loop vertex 27.2401 -24.8188 0 - vertex 27.373 -24.0204 -0.1 + vertex 27.373 -24.0204 -0.2 vertex 27.373 -24.0204 0 endloop endfacet facet normal 0.986418 -0.164252 0 outer loop - vertex 27.373 -24.0204 -0.1 + vertex 27.373 -24.0204 -0.2 vertex 27.2401 -24.8188 0 - vertex 27.2401 -24.8188 -0.1 + vertex 27.2401 -24.8188 -0.2 endloop endfacet facet normal 0.99159 -0.129416 0 outer loop vertex 27.373 -24.0204 0 - vertex 27.4161 -23.6904 -0.1 + vertex 27.4161 -23.6904 -0.2 vertex 27.4161 -23.6904 0 endloop endfacet facet normal 0.99159 -0.129416 0 outer loop - vertex 27.4161 -23.6904 -0.1 + vertex 27.4161 -23.6904 -0.2 vertex 27.373 -24.0204 0 - vertex 27.373 -24.0204 -0.1 + vertex 27.373 -24.0204 -0.2 endloop endfacet facet normal 0.998763 -0.0497285 0 outer loop vertex 27.4161 -23.6904 0 - vertex 27.4312 -23.3865 -0.1 + vertex 27.4312 -23.3865 -0.2 vertex 27.4312 -23.3865 0 endloop endfacet facet normal 0.998763 -0.0497285 0 outer loop - vertex 27.4312 -23.3865 -0.1 + vertex 27.4312 -23.3865 -0.2 vertex 27.4161 -23.6904 0 - vertex 27.4161 -23.6904 -0.1 + vertex 27.4161 -23.6904 -0.2 endloop endfacet facet normal 0.998974 0.0452785 0 outer loop vertex 27.4312 -23.3865 0 - vertex 27.4186 -23.1088 -0.1 + vertex 27.4186 -23.1088 -0.2 vertex 27.4186 -23.1088 0 endloop endfacet facet normal 0.998974 0.0452785 0 outer loop - vertex 27.4186 -23.1088 -0.1 + vertex 27.4186 -23.1088 -0.2 vertex 27.4312 -23.3865 0 - vertex 27.4312 -23.3865 -0.1 + vertex 27.4312 -23.3865 -0.2 endloop endfacet facet normal 0.987512 0.157546 0 outer loop vertex 27.4186 -23.1088 0 - vertex 27.3785 -22.8574 -0.1 + vertex 27.3785 -22.8574 -0.2 vertex 27.3785 -22.8574 0 endloop endfacet facet normal 0.987512 0.157546 0 outer loop - vertex 27.3785 -22.8574 -0.1 + vertex 27.3785 -22.8574 -0.2 vertex 27.4186 -23.1088 0 - vertex 27.4186 -23.1088 -0.1 + vertex 27.4186 -23.1088 -0.2 endloop endfacet facet normal 0.957877 0.287177 0 outer loop vertex 27.3785 -22.8574 0 - vertex 27.3111 -22.6325 -0.1 + vertex 27.3111 -22.6325 -0.2 vertex 27.3111 -22.6325 0 endloop endfacet facet normal 0.957877 0.287177 0 outer loop - vertex 27.3111 -22.6325 -0.1 + vertex 27.3111 -22.6325 -0.2 vertex 27.3785 -22.8574 0 - vertex 27.3785 -22.8574 -0.1 + vertex 27.3785 -22.8574 -0.2 endloop endfacet facet normal 0.902589 0.430503 0 outer loop vertex 27.3111 -22.6325 0 - vertex 27.2166 -22.4344 -0.1 + vertex 27.2166 -22.4344 -0.2 vertex 27.2166 -22.4344 0 endloop endfacet facet normal 0.902589 0.430503 0 outer loop - vertex 27.2166 -22.4344 -0.1 + vertex 27.2166 -22.4344 -0.2 vertex 27.3111 -22.6325 0 - vertex 27.3111 -22.6325 -0.1 + vertex 27.3111 -22.6325 -0.2 endloop endfacet facet normal 0.815851 0.578262 0 outer loop vertex 27.2166 -22.4344 0 - vertex 27.0952 -22.2631 -0.1 + vertex 27.0952 -22.2631 -0.2 vertex 27.0952 -22.2631 0 endloop endfacet facet normal 0.815851 0.578262 0 outer loop - vertex 27.0952 -22.2631 -0.1 + vertex 27.0952 -22.2631 -0.2 vertex 27.2166 -22.4344 0 - vertex 27.2166 -22.4344 -0.1 + vertex 27.2166 -22.4344 -0.2 endloop endfacet facet normal 0.697754 0.716337 -0 outer loop - vertex 27.0952 -22.2631 -0.1 + vertex 27.0952 -22.2631 -0.2 vertex 26.9471 -22.1189 0 vertex 27.0952 -22.2631 0 endloop @@ -8773,13 +8773,13 @@ solid OpenSCAD_Model facet normal 0.697754 0.716337 0 outer loop vertex 26.9471 -22.1189 0 - vertex 27.0952 -22.2631 -0.1 - vertex 26.9471 -22.1189 -0.1 + vertex 27.0952 -22.2631 -0.2 + vertex 26.9471 -22.1189 -0.2 endloop endfacet facet normal 0.556877 0.830595 -0 outer loop - vertex 26.9471 -22.1189 -0.1 + vertex 26.9471 -22.1189 -0.2 vertex 26.7726 -22.0019 0 vertex 26.9471 -22.1189 0 endloop @@ -8787,13 +8787,13 @@ solid OpenSCAD_Model facet normal 0.556877 0.830595 0 outer loop vertex 26.7726 -22.0019 0 - vertex 26.9471 -22.1189 -0.1 - vertex 26.7726 -22.0019 -0.1 + vertex 26.9471 -22.1189 -0.2 + vertex 26.7726 -22.0019 -0.2 endloop endfacet facet normal 0.40766 0.913134 -0 outer loop - vertex 26.7726 -22.0019 -0.1 + vertex 26.7726 -22.0019 -0.2 vertex 26.5717 -21.9122 0 vertex 26.7726 -22.0019 0 endloop @@ -8801,13 +8801,13 @@ solid OpenSCAD_Model facet normal 0.40766 0.913134 0 outer loop vertex 26.5717 -21.9122 0 - vertex 26.7726 -22.0019 -0.1 - vertex 26.5717 -21.9122 -0.1 + vertex 26.7726 -22.0019 -0.2 + vertex 26.5717 -21.9122 -0.2 endloop endfacet facet normal 0.264042 0.964511 -0 outer loop - vertex 26.5717 -21.9122 -0.1 + vertex 26.5717 -21.9122 -0.2 vertex 26.3449 -21.8501 0 vertex 26.5717 -21.9122 0 endloop @@ -8815,13 +8815,13 @@ solid OpenSCAD_Model facet normal 0.264042 0.964511 0 outer loop vertex 26.3449 -21.8501 0 - vertex 26.5717 -21.9122 -0.1 - vertex 26.3449 -21.8501 -0.1 + vertex 26.5717 -21.9122 -0.2 + vertex 26.3449 -21.8501 -0.2 endloop endfacet facet normal 0.134852 0.990866 -0 outer loop - vertex 26.3449 -21.8501 -0.1 + vertex 26.3449 -21.8501 -0.2 vertex 26.0922 -21.8157 0 vertex 26.3449 -21.8501 0 endloop @@ -8829,13 +8829,13 @@ solid OpenSCAD_Model facet normal 0.134852 0.990866 0 outer loop vertex 26.0922 -21.8157 0 - vertex 26.3449 -21.8501 -0.1 - vertex 26.0922 -21.8157 -0.1 + vertex 26.3449 -21.8501 -0.2 + vertex 26.0922 -21.8157 -0.2 endloop endfacet facet normal 0.0233803 0.999727 -0 outer loop - vertex 26.0922 -21.8157 -0.1 + vertex 26.0922 -21.8157 -0.2 vertex 25.8138 -21.8092 0 vertex 26.0922 -21.8157 0 endloop @@ -8843,13 +8843,13 @@ solid OpenSCAD_Model facet normal 0.0233803 0.999727 0 outer loop vertex 25.8138 -21.8092 0 - vertex 26.0922 -21.8157 -0.1 - vertex 25.8138 -21.8092 -0.1 + vertex 26.0922 -21.8157 -0.2 + vertex 25.8138 -21.8092 -0.2 endloop endfacet facet normal -0.0707205 0.997496 0 outer loop - vertex 25.8138 -21.8092 -0.1 + vertex 25.8138 -21.8092 -0.2 vertex 25.51 -21.8307 0 vertex 25.8138 -21.8092 0 endloop @@ -8857,1868 +8857,1868 @@ solid OpenSCAD_Model facet normal -0.0707205 0.997496 0 outer loop vertex 25.51 -21.8307 0 - vertex 25.8138 -21.8092 -0.1 - vertex 25.51 -21.8307 -0.1 + vertex 25.8138 -21.8092 -0.2 + vertex 25.51 -21.8307 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.0431 -18.7102 -0.1 - vertex -32.1476 -18.5412 -0.1 - vertex -36.5163 -17.3821 -0.1 + vertex -37.0431 -18.7102 -0.2 + vertex -32.1476 -18.5412 -0.2 + vertex -36.5163 -17.3821 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.1476 -18.5412 -0.1 - vertex -37.0431 -18.7102 -0.1 - vertex -33.2902 -21.4299 -0.1 + vertex -32.1476 -18.5412 -0.2 + vertex -37.0431 -18.7102 -0.2 + vertex -33.2902 -21.4299 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.2902 -21.4299 -0.1 - vertex -37.0431 -18.7102 -0.1 - vertex -33.4325 -21.7956 -0.1 + vertex -33.2902 -21.4299 -0.2 + vertex -37.0431 -18.7102 -0.2 + vertex -33.4325 -21.7956 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.3469 -21.8682 -0.1 - vertex -33.4325 -21.7956 -0.1 - vertex -37.0431 -18.7102 -0.1 + vertex -38.3469 -21.8682 -0.2 + vertex -33.4325 -21.7956 -0.2 + vertex -37.0431 -18.7102 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.4325 -21.7956 -0.1 - vertex -38.3469 -21.8682 -0.1 - vertex -33.503 -22.0719 -0.1 + vertex -33.4325 -21.7956 -0.2 + vertex -38.3469 -21.8682 -0.2 + vertex -33.503 -22.0719 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.503 -22.0719 -0.1 - vertex -38.3469 -21.8682 -0.1 - vertex -34.9509 -25.4747 -0.1 + vertex -33.503 -22.0719 -0.2 + vertex -38.3469 -21.8682 -0.2 + vertex -34.9509 -25.4747 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.8955 -25.4747 -0.1 - vertex -34.9509 -25.4747 -0.1 - vertex -38.3469 -21.8682 -0.1 + vertex -39.8955 -25.4747 -0.2 + vertex -34.9509 -25.4747 -0.2 + vertex -38.3469 -21.8682 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.9509 -25.4747 -0.1 - vertex -39.8955 -25.4747 -0.1 - vertex -35.4707 -26.6225 -0.1 + vertex -34.9509 -25.4747 -0.2 + vertex -39.8955 -25.4747 -0.2 + vertex -35.4707 -26.6225 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.4707 -26.6225 -0.1 - vertex -39.8955 -25.4747 -0.1 - vertex -36.4516 -28.8697 -0.1 + vertex -35.4707 -26.6225 -0.2 + vertex -39.8955 -25.4747 -0.2 + vertex -36.4516 -28.8697 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -41.2695 -28.6585 -0.1 - vertex -36.4516 -28.8697 -0.1 - vertex -39.8955 -25.4747 -0.1 + vertex -41.2695 -28.6585 -0.2 + vertex -36.4516 -28.8697 -0.2 + vertex -39.8955 -25.4747 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.4516 -28.8697 -0.1 - vertex -41.2695 -28.6585 -0.1 - vertex -37.5165 -31.4193 -0.1 + vertex -36.4516 -28.8697 -0.2 + vertex -41.2695 -28.6585 -0.2 + vertex -37.5165 -31.4193 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -42.2252 -30.9405 -0.1 - vertex -37.5165 -31.4193 -0.1 - vertex -41.2695 -28.6585 -0.1 + vertex -42.2252 -30.9405 -0.2 + vertex -37.5165 -31.4193 -0.2 + vertex -41.2695 -28.6585 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.5165 -31.4193 -0.1 - vertex -42.2252 -30.9405 -0.1 - vertex -38.3711 -33.5534 -0.1 + vertex -37.5165 -31.4193 -0.2 + vertex -42.2252 -30.9405 -0.2 + vertex -38.3711 -33.5534 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4764 -11.5321 -0.1 - vertex -17.4002 -11.6639 -0.1 - vertex -17.4268 -11.5861 -0.1 + vertex -17.4764 -11.5321 -0.2 + vertex -17.4002 -11.6639 -0.2 + vertex -17.4268 -11.5861 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4002 -11.6639 -0.1 - vertex -17.5514 -11.4978 -0.1 - vertex -17.3941 -11.77 -0.1 + vertex -17.4002 -11.6639 -0.2 + vertex -17.5514 -11.4978 -0.2 + vertex -17.3941 -11.77 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4002 -11.6639 -0.1 - vertex -17.4764 -11.5321 -0.1 - vertex -17.5514 -11.4978 -0.1 + vertex -17.4002 -11.6639 -0.2 + vertex -17.4764 -11.5321 -0.2 + vertex -17.5514 -11.4978 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7876 -11.4712 -0.1 - vertex -17.3941 -11.77 -0.1 - vertex -17.5514 -11.4978 -0.1 + vertex -17.7876 -11.4712 -0.2 + vertex -17.3941 -11.77 -0.2 + vertex -17.5514 -11.4978 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.3941 -11.77 -0.1 - vertex -17.7876 -11.4712 -0.1 - vertex -17.4339 -12.0833 -0.1 + vertex -17.3941 -11.77 -0.2 + vertex -17.7876 -11.4712 -0.2 + vertex -17.4339 -12.0833 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4339 -12.0833 -0.1 - vertex -17.7876 -11.4712 -0.1 - vertex -17.5116 -12.3759 -0.1 + vertex -17.4339 -12.0833 -0.2 + vertex -17.7876 -11.4712 -0.2 + vertex -17.5116 -12.3759 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.5116 -12.3759 -0.1 - vertex -17.7876 -11.4712 -0.1 - vertex -17.6664 -12.8441 -0.1 + vertex -17.5116 -12.3759 -0.2 + vertex -17.7876 -11.4712 -0.2 + vertex -17.6664 -12.8441 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.9412 -14.6683 -0.1 - vertex -17.6664 -12.8441 -0.1 - vertex -17.7876 -11.4712 -0.1 + vertex -21.9412 -14.6683 -0.2 + vertex -17.6664 -12.8441 -0.2 + vertex -17.7876 -11.4712 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.6664 -12.8441 -0.1 - vertex -21.9412 -14.6683 -0.1 - vertex -18.1466 -14.1495 -0.1 + vertex -17.6664 -12.8441 -0.2 + vertex -21.9412 -14.6683 -0.2 + vertex -18.1466 -14.1495 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex -21.6284 -15.0493 -0.1 - vertex -18.1466 -14.1495 -0.1 - vertex -21.6966 -14.8935 -0.1 + vertex -21.6284 -15.0493 -0.2 + vertex -18.1466 -14.1495 -0.2 + vertex -21.6966 -14.8935 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -21.5879 -15.2616 -0.1 - vertex -18.7537 -15.6836 -0.1 - vertex -21.6284 -15.0493 -0.1 + vertex -21.5879 -15.2616 -0.2 + vertex -18.7537 -15.6836 -0.2 + vertex -21.6284 -15.0493 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -21.5693 -15.5508 -0.1 - vertex -18.7537 -15.6836 -0.1 - vertex -21.5879 -15.2616 -0.1 + vertex -21.5693 -15.5508 -0.2 + vertex -18.7537 -15.6836 -0.2 + vertex -21.5879 -15.2616 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.5729 -16.4428 -0.1 - vertex -19.3667 -17.1305 -0.1 - vertex -21.5693 -15.5508 -0.1 + vertex -21.5729 -16.4428 -0.2 + vertex -19.3667 -17.1305 -0.2 + vertex -21.5693 -15.5508 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.3667 -17.1305 -0.1 - vertex -21.5729 -16.4428 -0.1 - vertex -19.4996 -17.3696 -0.1 + vertex -19.3667 -17.1305 -0.2 + vertex -21.5729 -16.4428 -0.2 + vertex -19.4996 -17.3696 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.4996 -17.3696 -0.1 - vertex -21.5729 -16.4428 -0.1 - vertex -19.6713 -17.584 -0.1 + vertex -19.4996 -17.3696 -0.2 + vertex -21.5729 -16.4428 -0.2 + vertex -19.6713 -17.584 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.5774 -17.3273 -0.1 - vertex -19.8743 -17.7693 -0.1 - vertex -21.5729 -16.4428 -0.1 + vertex -21.5774 -17.3273 -0.2 + vertex -19.8743 -17.7693 -0.2 + vertex -21.5729 -16.4428 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.8743 -17.7693 -0.1 - vertex -21.5774 -17.3273 -0.1 - vertex -20.1009 -17.9213 -0.1 + vertex -19.8743 -17.7693 -0.2 + vertex -21.5774 -17.3273 -0.2 + vertex -20.1009 -17.9213 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -20.1009 -17.9213 -0.1 - vertex -21.5774 -17.3273 -0.1 - vertex -20.3435 -18.0357 -0.1 + vertex -20.1009 -17.9213 -0.2 + vertex -21.5774 -17.3273 -0.2 + vertex -20.3435 -18.0357 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -20.5945 -18.108 -0.1 - vertex -21.5774 -17.3273 -0.1 - vertex -20.8463 -18.1339 -0.1 + vertex -20.5945 -18.108 -0.2 + vertex -21.5774 -17.3273 -0.2 + vertex -20.8463 -18.1339 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -21.5614 -17.6077 -0.1 - vertex -20.8463 -18.1339 -0.1 - vertex -21.5774 -17.3273 -0.1 + vertex -21.5614 -17.6077 -0.2 + vertex -20.8463 -18.1339 -0.2 + vertex -21.5774 -17.3273 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -20.8463 -18.1339 -0.1 - vertex -21.5614 -17.6077 -0.1 - vertex -21.0912 -18.1093 -0.1 + vertex -20.8463 -18.1339 -0.2 + vertex -21.5614 -17.6077 -0.2 + vertex -21.0912 -18.1093 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.0912 -18.1093 -0.1 - vertex -21.5614 -17.6077 -0.1 - vertex -21.2545 -18.0693 -0.1 + vertex -21.0912 -18.1093 -0.2 + vertex -21.5614 -17.6077 -0.2 + vertex -21.2545 -18.0693 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2545 -18.0693 -0.1 - vertex -21.5263 -17.8042 -0.1 - vertex -21.378 -18.0171 -0.1 + vertex -21.2545 -18.0693 -0.2 + vertex -21.5263 -17.8042 -0.2 + vertex -21.378 -18.0171 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -20.3435 -18.0357 -0.1 - vertex -21.5774 -17.3273 -0.1 - vertex -20.5945 -18.108 -0.1 + vertex -20.3435 -18.0357 -0.2 + vertex -21.5774 -17.3273 -0.2 + vertex -20.5945 -18.108 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.6713 -17.584 -0.1 - vertex -21.5729 -16.4428 -0.1 - vertex -19.8743 -17.7693 -0.1 + vertex -19.6713 -17.584 -0.2 + vertex -21.5729 -16.4428 -0.2 + vertex -19.8743 -17.7693 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.7537 -15.6836 -0.1 - vertex -21.5693 -15.5508 -0.1 - vertex -19.3667 -17.1305 -0.1 + vertex -18.7537 -15.6836 -0.2 + vertex -21.5693 -15.5508 -0.2 + vertex -19.3667 -17.1305 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.1466 -14.1495 -0.1 - vertex -21.6284 -15.0493 -0.1 - vertex -18.7537 -15.6836 -0.1 + vertex -18.1466 -14.1495 -0.2 + vertex -21.6284 -15.0493 -0.2 + vertex -18.7537 -15.6836 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.1466 -14.1495 -0.1 - vertex -21.7989 -14.7733 -0.1 - vertex -21.6966 -14.8935 -0.1 + vertex -18.1466 -14.1495 -0.2 + vertex -21.7989 -14.7733 -0.2 + vertex -21.6966 -14.8935 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.1466 -14.1495 -0.1 - vertex -21.9412 -14.6683 -0.1 - vertex -21.7989 -14.7733 -0.1 + vertex -18.1466 -14.1495 -0.2 + vertex -21.9412 -14.6683 -0.2 + vertex -21.7989 -14.7733 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7876 -11.4712 -0.1 - vertex -22.1296 -14.5577 -0.1 - vertex -21.9412 -14.6683 -0.1 + vertex -17.7876 -11.4712 -0.2 + vertex -22.1296 -14.5577 -0.2 + vertex -21.9412 -14.6683 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7876 -11.4712 -0.1 - vertex -22.3213 -14.4724 -0.1 - vertex -22.1296 -14.5577 -0.1 + vertex -17.7876 -11.4712 -0.2 + vertex -22.3213 -14.4724 -0.2 + vertex -22.1296 -14.5577 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7876 -11.4712 -0.1 - vertex -22.5778 -14.3998 -0.1 - vertex -22.3213 -14.4724 -0.1 + vertex -17.7876 -11.4712 -0.2 + vertex -22.5778 -14.3998 -0.2 + vertex -22.3213 -14.4724 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7876 -11.4712 -0.1 - vertex -22.9103 -14.3386 -0.1 - vertex -22.5778 -14.3998 -0.1 + vertex -17.7876 -11.4712 -0.2 + vertex -22.9103 -14.3386 -0.2 + vertex -22.5778 -14.3998 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7876 -11.4712 -0.1 - vertex -23.3301 -14.2877 -0.1 - vertex -22.9103 -14.3386 -0.1 + vertex -17.7876 -11.4712 -0.2 + vertex -23.3301 -14.2877 -0.2 + vertex -22.9103 -14.3386 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.175 -11.3523 -0.1 - vertex -23.3301 -14.2877 -0.1 - vertex -17.7876 -11.4712 -0.1 + vertex -27.175 -11.3523 -0.2 + vertex -23.3301 -14.2877 -0.2 + vertex -17.7876 -11.4712 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.3301 -14.2877 -0.1 - vertex -27.175 -11.3523 -0.1 - vertex -24.4767 -14.2125 -0.1 + vertex -23.3301 -14.2877 -0.2 + vertex -27.175 -11.3523 -0.2 + vertex -24.4767 -14.2125 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.4767 -14.2125 -0.1 - vertex -27.175 -11.3523 -0.1 - vertex -26.1077 -14.1654 -0.1 + vertex -24.4767 -14.2125 -0.2 + vertex -27.175 -11.3523 -0.2 + vertex -26.1077 -14.1654 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.175 -11.3523 -0.1 - vertex -28.2448 -14.1442 -0.1 - vertex -26.1077 -14.1654 -0.1 + vertex -27.175 -11.3523 -0.2 + vertex -28.2448 -14.1442 -0.2 + vertex -26.1077 -14.1654 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.175 -11.3523 -0.1 - vertex -28.9898 -14.1579 -0.1 - vertex -28.2448 -14.1442 -0.1 + vertex -27.175 -11.3523 -0.2 + vertex -28.9898 -14.1579 -0.2 + vertex -28.2448 -14.1442 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.175 -11.3523 -0.1 - vertex -29.549 -14.1906 -0.1 - vertex -28.9898 -14.1579 -0.1 + vertex -27.175 -11.3523 -0.2 + vertex -29.549 -14.1906 -0.2 + vertex -28.9898 -14.1579 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.0944 -11.3029 -0.1 - vertex -29.549 -14.1906 -0.1 - vertex -27.175 -11.3523 -0.1 + vertex -32.0944 -11.3029 -0.2 + vertex -29.549 -14.1906 -0.2 + vertex -27.175 -11.3523 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.549 -14.1906 -0.1 - vertex -32.0944 -11.3029 -0.1 - vertex -29.9449 -14.2443 -0.1 + vertex -29.549 -14.1906 -0.2 + vertex -32.0944 -11.3029 -0.2 + vertex -29.9449 -14.2443 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.9449 -14.2443 -0.1 - vertex -32.0944 -11.3029 -0.1 - vertex -30.1999 -14.321 -0.1 + vertex -29.9449 -14.2443 -0.2 + vertex -32.0944 -11.3029 -0.2 + vertex -30.1999 -14.321 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.3673 -14.4836 -0.1 - vertex -30.4158 -14.7057 -0.1 - vertex -30.377 -14.5514 -0.1 + vertex -30.3673 -14.4836 -0.2 + vertex -30.4158 -14.7057 -0.2 + vertex -30.377 -14.5514 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.3673 -14.4836 -0.1 - vertex -30.5215 -14.964 -0.1 - vertex -30.4158 -14.7057 -0.1 + vertex -30.3673 -14.4836 -0.2 + vertex -30.5215 -14.964 -0.2 + vertex -30.4158 -14.7057 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.4754 -14.1281 -0.1 - vertex -30.5215 -14.964 -0.1 - vertex -30.3673 -14.4836 -0.1 + vertex -35.4754 -14.1281 -0.2 + vertex -30.5215 -14.964 -0.2 + vertex -30.3673 -14.4836 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.5215 -14.964 -0.1 - vertex -35.4754 -14.1281 -0.1 - vertex -30.678 -15.2903 -0.1 + vertex -30.5215 -14.964 -0.2 + vertex -35.4754 -14.1281 -0.2 + vertex -30.678 -15.2903 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.678 -15.2903 -0.1 - vertex -35.4754 -14.1281 -0.1 - vertex -30.8691 -15.6487 -0.1 + vertex -30.678 -15.2903 -0.2 + vertex -35.4754 -14.1281 -0.2 + vertex -30.8691 -15.6487 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -35.5123 -14.4274 -0.1 - vertex -30.8691 -15.6487 -0.1 - vertex -35.4754 -14.1281 -0.1 + vertex -35.5123 -14.4274 -0.2 + vertex -30.8691 -15.6487 -0.2 + vertex -35.4754 -14.1281 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.1999 -14.321 -0.1 - vertex -32.0944 -11.3029 -0.1 - vertex -30.2816 -14.3686 -0.1 + vertex -30.1999 -14.321 -0.2 + vertex -32.0944 -11.3029 -0.2 + vertex -30.2816 -14.3686 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.0944 -11.3029 -0.1 - vertex -30.3364 -14.4227 -0.1 - vertex -30.2816 -14.3686 -0.1 + vertex -32.0944 -11.3029 -0.2 + vertex -30.3364 -14.4227 -0.2 + vertex -30.2816 -14.3686 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.0944 -11.3029 -0.1 - vertex -30.3673 -14.4836 -0.1 - vertex -30.3364 -14.4227 -0.1 + vertex -32.0944 -11.3029 -0.2 + vertex -30.3673 -14.4836 -0.2 + vertex -30.3364 -14.4227 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -35.4904 -13.894 -0.1 - vertex -30.3673 -14.4836 -0.1 - vertex -32.0944 -11.3029 -0.1 + vertex -35.4904 -13.894 -0.2 + vertex -30.3673 -14.4836 -0.2 + vertex -32.0944 -11.3029 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.8691 -15.6487 -0.1 - vertex -35.5123 -14.4274 -0.1 - vertex -31.1223 -16.1487 -0.1 + vertex -30.8691 -15.6487 -0.2 + vertex -35.5123 -14.4274 -0.2 + vertex -31.1223 -16.1487 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -35.5964 -14.799 -0.1 - vertex -31.1223 -16.1487 -0.1 - vertex -35.5123 -14.4274 -0.1 + vertex -35.5964 -14.799 -0.2 + vertex -31.1223 -16.1487 -0.2 + vertex -35.5123 -14.4274 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.1223 -16.1487 -0.1 - vertex -35.5964 -14.799 -0.1 - vertex -31.4477 -16.8607 -0.1 + vertex -31.1223 -16.1487 -0.2 + vertex -35.5964 -14.799 -0.2 + vertex -31.4477 -16.8607 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -35.7796 -15.3934 -0.1 - vertex -31.4477 -16.8607 -0.1 - vertex -35.5964 -14.799 -0.1 + vertex -35.7796 -15.3934 -0.2 + vertex -31.4477 -16.8607 -0.2 + vertex -35.5964 -14.799 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.4477 -16.8607 -0.1 - vertex -35.7796 -15.3934 -0.1 - vertex -31.8034 -17.6899 -0.1 + vertex -31.4477 -16.8607 -0.2 + vertex -35.7796 -15.3934 -0.2 + vertex -31.8034 -17.6899 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.4904 -13.894 -0.1 - vertex -32.0944 -11.3029 -0.1 - vertex -33.7011 -11.3017 -0.1 + vertex -35.4904 -13.894 -0.2 + vertex -32.0944 -11.3029 -0.2 + vertex -33.7011 -11.3017 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -21.5263 -17.8042 -0.1 - vertex -21.2545 -18.0693 -0.1 - vertex -21.5614 -17.6077 -0.1 + vertex -21.5263 -17.8042 -0.2 + vertex -21.2545 -18.0693 -0.2 + vertex -21.5614 -17.6077 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.378 -18.0171 -0.1 - vertex -21.5263 -17.8042 -0.1 - vertex -21.4669 -17.9347 -0.1 + vertex -21.378 -18.0171 -0.2 + vertex -21.5263 -17.8042 -0.2 + vertex -21.4669 -17.9347 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -25.4624 -26.9141 -0.1 - vertex -27.8988 -26.2055 -0.1 - vertex -27.8924 -26.5154 -0.1 + vertex -25.4624 -26.9141 -0.2 + vertex -27.8988 -26.2055 -0.2 + vertex -27.8924 -26.5154 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.2929 -22.2506 -0.1 - vertex -27.9236 -26.0946 -0.1 - vertex -27.8988 -26.2055 -0.1 + vertex -27.2929 -22.2506 -0.2 + vertex -27.9236 -26.0946 -0.2 + vertex -27.8988 -26.2055 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.2929 -22.2506 -0.1 - vertex -27.9636 -26.0069 -0.1 - vertex -27.9236 -26.0946 -0.1 + vertex -27.2929 -22.2506 -0.2 + vertex -27.9636 -26.0069 -0.2 + vertex -27.9236 -26.0946 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.2929 -22.2506 -0.1 - vertex -28.0195 -25.9379 -0.1 - vertex -27.9636 -26.0069 -0.1 + vertex -27.2929 -22.2506 -0.2 + vertex -28.0195 -25.9379 -0.2 + vertex -27.9636 -26.0069 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.2929 -22.2506 -0.1 - vertex -28.0919 -25.8829 -0.1 - vertex -28.0195 -25.9379 -0.1 + vertex -27.2929 -22.2506 -0.2 + vertex -28.0919 -25.8829 -0.2 + vertex -28.0195 -25.9379 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.2888 -25.7968 -0.1 - vertex -27.6923 -22.3658 -0.1 - vertex -28.1242 -22.4577 -0.1 + vertex -28.2888 -25.7968 -0.2 + vertex -27.6923 -22.3658 -0.2 + vertex -28.1242 -22.4577 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.6923 -22.3658 -0.1 - vertex -28.2888 -25.7968 -0.1 - vertex -28.0919 -25.8829 -0.1 + vertex -27.6923 -22.3658 -0.2 + vertex -28.2888 -25.7968 -0.2 + vertex -28.0919 -25.8829 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.1242 -22.4577 -0.1 - vertex -28.5596 -25.7117 -0.1 - vertex -28.2888 -25.7968 -0.1 + vertex -28.1242 -22.4577 -0.2 + vertex -28.5596 -25.7117 -0.2 + vertex -28.2888 -25.7968 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -28.5914 -22.5277 -0.1 - vertex -28.5596 -25.7117 -0.1 - vertex -28.1242 -22.4577 -0.1 + vertex -28.5914 -22.5277 -0.2 + vertex -28.5596 -25.7117 -0.2 + vertex -28.1242 -22.4577 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.5914 -22.5277 -0.1 - vertex -28.7678 -25.6646 -0.1 - vertex -28.5596 -25.7117 -0.1 + vertex -28.5914 -22.5277 -0.2 + vertex -28.7678 -25.6646 -0.2 + vertex -28.5596 -25.7117 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.5914 -22.5277 -0.1 - vertex -29.0734 -25.6205 -0.1 - vertex -28.7678 -25.6646 -0.1 + vertex -28.5914 -22.5277 -0.2 + vertex -29.0734 -25.6205 -0.2 + vertex -28.7678 -25.6646 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -29.0966 -22.5767 -0.1 - vertex -29.0734 -25.6205 -0.1 - vertex -28.5914 -22.5277 -0.1 + vertex -29.0966 -22.5767 -0.2 + vertex -29.0734 -25.6205 -0.2 + vertex -28.5914 -22.5277 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -29.6427 -22.606 -0.1 - vertex -29.0734 -25.6205 -0.1 - vertex -29.0966 -22.5767 -0.1 + vertex -29.6427 -22.606 -0.2 + vertex -29.0734 -25.6205 -0.2 + vertex -29.0966 -22.5767 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.6427 -22.606 -0.1 - vertex -29.9179 -25.5457 -0.1 - vertex -29.0734 -25.6205 -0.1 + vertex -29.6427 -22.606 -0.2 + vertex -29.9179 -25.5457 -0.2 + vertex -29.0734 -25.6205 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -30.2322 -22.6168 -0.1 - vertex -29.9179 -25.5457 -0.1 - vertex -29.6427 -22.606 -0.1 + vertex -30.2322 -22.6168 -0.2 + vertex -29.9179 -25.5457 -0.2 + vertex -29.6427 -22.606 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.9759 -25.4949 -0.1 - vertex -30.2322 -22.6168 -0.1 - vertex -30.868 -22.6102 -0.1 + vertex -30.9759 -25.4949 -0.2 + vertex -30.2322 -22.6168 -0.2 + vertex -30.868 -22.6102 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.2322 -22.6168 -0.1 - vertex -30.9759 -25.4949 -0.1 - vertex -29.9179 -25.5457 -0.1 + vertex -30.2322 -22.6168 -0.2 + vertex -30.9759 -25.4949 -0.2 + vertex -29.9179 -25.5457 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.8095 -22.5865 -0.1 - vertex -30.9759 -25.4949 -0.1 - vertex -30.868 -22.6102 -0.1 + vertex -31.8095 -22.5865 -0.2 + vertex -30.9759 -25.4949 -0.2 + vertex -30.868 -22.6102 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.8095 -22.5865 -0.1 - vertex -32.1303 -25.4759 -0.1 - vertex -30.9759 -25.4949 -0.1 + vertex -31.8095 -22.5865 -0.2 + vertex -32.1303 -25.4759 -0.2 + vertex -30.9759 -25.4949 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.5132 -22.5543 -0.1 - vertex -32.1303 -25.4759 -0.1 - vertex -31.8095 -22.5865 -0.1 + vertex -32.5132 -22.5543 -0.2 + vertex -32.1303 -25.4759 -0.2 + vertex -31.8095 -22.5865 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.0067 -22.5002 -0.1 - vertex -32.1303 -25.4759 -0.1 - vertex -32.5132 -22.5543 -0.1 + vertex -33.0067 -22.5002 -0.2 + vertex -32.1303 -25.4759 -0.2 + vertex -32.5132 -22.5543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.1833 -22.4608 -0.1 - vertex -32.1303 -25.4759 -0.1 - vertex -33.0067 -22.5002 -0.1 + vertex -33.1833 -22.4608 -0.2 + vertex -32.1303 -25.4759 -0.2 + vertex -33.0067 -22.5002 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.9509 -25.4747 -0.1 - vertex -33.1833 -22.4608 -0.1 - vertex -33.3177 -22.4108 -0.1 + vertex -34.9509 -25.4747 -0.2 + vertex -33.1833 -22.4608 -0.2 + vertex -33.3177 -22.4108 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.9509 -25.4747 -0.1 - vertex -33.3177 -22.4108 -0.1 - vertex -33.4135 -22.3486 -0.1 + vertex -34.9509 -25.4747 -0.2 + vertex -33.3177 -22.4108 -0.2 + vertex -33.4135 -22.3486 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.9509 -25.4747 -0.1 - vertex -33.4135 -22.3486 -0.1 - vertex -33.4739 -22.2725 -0.1 + vertex -34.9509 -25.4747 -0.2 + vertex -33.4135 -22.3486 -0.2 + vertex -33.4739 -22.2725 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -36.0907 -16.2655 -0.1 - vertex -31.8034 -17.6899 -0.1 - vertex -35.7796 -15.3934 -0.1 + vertex -36.0907 -16.2655 -0.2 + vertex -31.8034 -17.6899 -0.2 + vertex -35.7796 -15.3934 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.5622 -13.718 -0.1 - vertex -33.7011 -11.3017 -0.1 - vertex -34.8583 -11.3197 -0.1 + vertex -35.5622 -13.718 -0.2 + vertex -33.7011 -11.3017 -0.2 + vertex -34.8583 -11.3197 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.1833 -22.4608 -0.1 - vertex -34.9509 -25.4747 -0.1 - vertex -32.1303 -25.4759 -0.1 + vertex -33.1833 -22.4608 -0.2 + vertex -34.9509 -25.4747 -0.2 + vertex -32.1303 -25.4759 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.5026 -22.1809 -0.1 - vertex -34.9509 -25.4747 -0.1 - vertex -33.4739 -22.2725 -0.1 + vertex -33.5026 -22.1809 -0.2 + vertex -34.9509 -25.4747 -0.2 + vertex -33.4739 -22.2725 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.8034 -17.6899 -0.1 - vertex -36.0907 -16.2655 -0.1 - vertex -32.1476 -18.5412 -0.1 + vertex -31.8034 -17.6899 -0.2 + vertex -36.0907 -16.2655 -0.2 + vertex -32.1476 -18.5412 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.503 -22.0719 -0.1 - vertex -34.9509 -25.4747 -0.1 - vertex -33.5026 -22.1809 -0.1 + vertex -33.503 -22.0719 -0.2 + vertex -34.9509 -25.4747 -0.2 + vertex -33.5026 -22.1809 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -36.5163 -17.3821 -0.1 - vertex -32.1476 -18.5412 -0.1 - vertex -36.0907 -16.2655 -0.1 + vertex -36.5163 -17.3821 -0.2 + vertex -32.1476 -18.5412 -0.2 + vertex -36.0907 -16.2655 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.3673 -14.4836 -0.1 - vertex -35.4904 -13.894 -0.1 - vertex -35.4754 -14.1281 -0.1 + vertex -30.3673 -14.4836 -0.2 + vertex -35.4904 -13.894 -0.2 + vertex -35.4754 -14.1281 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.7011 -11.3017 -0.1 - vertex -35.5189 -13.7992 -0.1 - vertex -35.4904 -13.894 -0.1 + vertex -33.7011 -11.3017 -0.2 + vertex -35.5189 -13.7992 -0.2 + vertex -35.4904 -13.894 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.7011 -11.3017 -0.1 - vertex -35.5622 -13.718 -0.1 - vertex -35.5189 -13.7992 -0.1 + vertex -33.7011 -11.3017 -0.2 + vertex -35.5622 -13.718 -0.2 + vertex -35.5189 -13.7992 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.8583 -11.3197 -0.1 - vertex -35.6209 -13.6496 -0.1 - vertex -35.5622 -13.718 -0.1 + vertex -34.8583 -11.3197 -0.2 + vertex -35.6209 -13.6496 -0.2 + vertex -35.5622 -13.718 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.6956 -13.593 -0.1 - vertex -34.8583 -11.3197 -0.1 - vertex -35.6555 -11.3595 -0.1 + vertex -35.6956 -13.593 -0.2 + vertex -34.8583 -11.3197 -0.2 + vertex -35.6555 -11.3595 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.8583 -11.3197 -0.1 - vertex -35.6956 -13.593 -0.1 - vertex -35.6209 -13.6496 -0.1 + vertex -34.8583 -11.3197 -0.2 + vertex -35.6956 -13.593 -0.2 + vertex -35.6209 -13.6496 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.6555 -11.3595 -0.1 - vertex -35.8956 -13.512 -0.1 - vertex -35.6956 -13.593 -0.1 + vertex -35.6555 -11.3595 -0.2 + vertex -35.8956 -13.512 -0.2 + vertex -35.6956 -13.593 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -36.1819 -11.4238 -0.1 - vertex -35.8956 -13.512 -0.1 - vertex -35.6555 -11.3595 -0.1 + vertex -36.1819 -11.4238 -0.2 + vertex -35.8956 -13.512 -0.2 + vertex -35.6555 -11.3595 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.8956 -13.512 -0.1 - vertex -36.1819 -11.4238 -0.1 - vertex -36.1669 -13.4677 -0.1 + vertex -35.8956 -13.512 -0.2 + vertex -36.1819 -11.4238 -0.2 + vertex -36.1669 -13.4677 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -36.527 -11.5152 -0.1 - vertex -36.1669 -13.4677 -0.1 - vertex -36.1819 -11.4238 -0.1 + vertex -36.527 -11.5152 -0.2 + vertex -36.1669 -13.4677 -0.2 + vertex -36.1819 -11.4238 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -36.7802 -11.6364 -0.1 - vertex -36.1669 -13.4677 -0.1 - vertex -36.527 -11.5152 -0.1 + vertex -36.7802 -11.6364 -0.2 + vertex -36.1669 -13.4677 -0.2 + vertex -36.527 -11.5152 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.1669 -13.4677 -0.1 - vertex -36.7802 -11.6364 -0.1 - vertex -36.5145 -13.4531 -0.1 + vertex -36.1669 -13.4677 -0.2 + vertex -36.7802 -11.6364 -0.2 + vertex -36.5145 -13.4531 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -36.9755 -11.7636 -0.1 - vertex -36.5145 -13.4531 -0.1 - vertex -36.7802 -11.6364 -0.1 + vertex -36.9755 -11.7636 -0.2 + vertex -36.5145 -13.4531 -0.2 + vertex -36.7802 -11.6364 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -37.1409 -11.9004 -0.1 - vertex -36.5145 -13.4531 -0.1 - vertex -36.9755 -11.7636 -0.1 + vertex -37.1409 -11.9004 -0.2 + vertex -36.5145 -13.4531 -0.2 + vertex -36.9755 -11.7636 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.5145 -13.4531 -0.1 - vertex -37.1409 -11.9004 -0.1 - vertex -36.7305 -13.4387 -0.1 + vertex -36.5145 -13.4531 -0.2 + vertex -37.1409 -11.9004 -0.2 + vertex -36.7305 -13.4387 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -37.2767 -12.0443 -0.1 - vertex -36.7305 -13.4387 -0.1 - vertex -37.1409 -11.9004 -0.1 + vertex -37.2767 -12.0443 -0.2 + vertex -36.7305 -13.4387 -0.2 + vertex -37.1409 -11.9004 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.7305 -13.4387 -0.1 - vertex -37.2767 -12.0443 -0.1 - vertex -36.9216 -13.3997 -0.1 + vertex -36.7305 -13.4387 -0.2 + vertex -37.2767 -12.0443 -0.2 + vertex -36.9216 -13.3997 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -37.3834 -12.1929 -0.1 - vertex -36.9216 -13.3997 -0.1 - vertex -37.2767 -12.0443 -0.1 + vertex -37.3834 -12.1929 -0.2 + vertex -36.9216 -13.3997 -0.2 + vertex -37.2767 -12.0443 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -37.4611 -12.3438 -0.1 - vertex -36.9216 -13.3997 -0.1 - vertex -37.3834 -12.1929 -0.1 + vertex -37.4611 -12.3438 -0.2 + vertex -36.9216 -13.3997 -0.2 + vertex -37.3834 -12.1929 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.9216 -13.3997 -0.1 - vertex -37.4611 -12.3438 -0.1 - vertex -37.0874 -13.3385 -0.1 + vertex -36.9216 -13.3997 -0.2 + vertex -37.4611 -12.3438 -0.2 + vertex -37.0874 -13.3385 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -37.5104 -12.4945 -0.1 - vertex -37.0874 -13.3385 -0.1 - vertex -37.4611 -12.3438 -0.1 + vertex -37.5104 -12.4945 -0.2 + vertex -37.0874 -13.3385 -0.2 + vertex -37.4611 -12.3438 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.0874 -13.3385 -0.1 - vertex -37.5104 -12.4945 -0.1 - vertex -37.2276 -13.2576 -0.1 + vertex -37.0874 -13.3385 -0.2 + vertex -37.5104 -12.4945 -0.2 + vertex -37.2276 -13.2576 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -37.5315 -12.6425 -0.1 - vertex -37.2276 -13.2576 -0.1 - vertex -37.5104 -12.4945 -0.1 + vertex -37.5315 -12.6425 -0.2 + vertex -37.2276 -13.2576 -0.2 + vertex -37.5104 -12.4945 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.2276 -13.2576 -0.1 - vertex -37.5315 -12.6425 -0.1 - vertex -37.3418 -13.1594 -0.1 + vertex -37.2276 -13.2576 -0.2 + vertex -37.5315 -12.6425 -0.2 + vertex -37.3418 -13.1594 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.3418 -13.1594 -0.1 - vertex -37.5315 -12.6425 -0.1 - vertex -37.4296 -13.0463 -0.1 + vertex -37.3418 -13.1594 -0.2 + vertex -37.5315 -12.6425 -0.2 + vertex -37.4296 -13.0463 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.4296 -13.0463 -0.1 - vertex -37.5315 -12.6425 -0.1 - vertex -37.4908 -12.9209 -0.1 + vertex -37.4296 -13.0463 -0.2 + vertex -37.5315 -12.6425 -0.2 + vertex -37.4908 -12.9209 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.4908 -12.9209 -0.1 - vertex -37.5315 -12.6425 -0.1 - vertex -37.5249 -12.7854 -0.1 + vertex -37.4908 -12.9209 -0.2 + vertex -37.5315 -12.6425 -0.2 + vertex -37.5249 -12.7854 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.9739 -18.9651 -0.1 - vertex -22.585 -19.4947 -0.1 - vertex -22.594 -19.3555 -0.1 + vertex -22.9739 -18.9651 -0.2 + vertex -22.585 -19.4947 -0.2 + vertex -22.594 -19.3555 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.8524 -19.008 -0.1 - vertex -22.594 -19.3555 -0.1 - vertex -22.625 -19.2389 -0.1 + vertex -22.8524 -19.008 -0.2 + vertex -22.594 -19.3555 -0.2 + vertex -22.625 -19.2389 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.7539 -19.0668 -0.1 - vertex -22.625 -19.2389 -0.1 - vertex -22.6782 -19.1432 -0.1 + vertex -22.7539 -19.0668 -0.2 + vertex -22.625 -19.2389 -0.2 + vertex -22.6782 -19.1432 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.594 -19.3555 -0.1 - vertex -22.8524 -19.008 -0.1 - vertex -22.9739 -18.9651 -0.1 + vertex -22.594 -19.3555 -0.2 + vertex -22.8524 -19.008 -0.2 + vertex -22.9739 -18.9651 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.625 -19.2389 -0.1 - vertex -22.7539 -19.0668 -0.1 - vertex -22.8524 -19.008 -0.1 + vertex -22.625 -19.2389 -0.2 + vertex -22.7539 -19.0668 -0.2 + vertex -22.8524 -19.008 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.1186 -18.9365 -0.1 - vertex -22.585 -19.4947 -0.1 - vertex -22.9739 -18.9651 -0.1 + vertex -23.1186 -18.9365 -0.2 + vertex -22.585 -19.4947 -0.2 + vertex -22.9739 -18.9651 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.585 -19.4947 -0.1 - vertex -23.1186 -18.9365 -0.1 - vertex -22.5978 -19.6581 -0.1 + vertex -22.585 -19.4947 -0.2 + vertex -23.1186 -18.9365 -0.2 + vertex -22.5978 -19.6581 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.4791 -18.9156 -0.1 - vertex -22.5978 -19.6581 -0.1 - vertex -23.1186 -18.9365 -0.1 + vertex -23.4791 -18.9156 -0.2 + vertex -22.5978 -19.6581 -0.2 + vertex -23.1186 -18.9365 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.5978 -19.6581 -0.1 - vertex -23.4791 -18.9156 -0.1 - vertex -22.6874 -20.0641 -0.1 + vertex -22.5978 -19.6581 -0.2 + vertex -23.4791 -18.9156 -0.2 + vertex -22.6874 -20.0641 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -23.6632 -18.9241 -0.1 - vertex -22.6874 -20.0641 -0.1 - vertex -23.4791 -18.9156 -0.1 + vertex -23.6632 -18.9241 -0.2 + vertex -22.6874 -20.0641 -0.2 + vertex -23.4791 -18.9156 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.3738 -19.4278 -0.1 - vertex -22.6874 -20.0641 -0.1 - vertex -24.2328 -19.2424 -0.1 + vertex -24.3738 -19.4278 -0.2 + vertex -22.6874 -20.0641 -0.2 + vertex -24.2328 -19.2424 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.6874 -20.0641 -0.1 - vertex -23.6632 -18.9241 -0.1 - vertex -24.2328 -19.2424 -0.1 + vertex -22.6874 -20.0641 -0.2 + vertex -23.6632 -18.9241 -0.2 + vertex -24.2328 -19.2424 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.0993 -19.1062 -0.1 - vertex -23.6632 -18.9241 -0.1 - vertex -23.8226 -18.954 -0.1 + vertex -24.0993 -19.1062 -0.2 + vertex -23.6632 -18.9241 -0.2 + vertex -23.8226 -18.954 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.0993 -19.1062 -0.1 - vertex -23.8226 -18.954 -0.1 - vertex -23.9653 -19.0124 -0.1 + vertex -24.0993 -19.1062 -0.2 + vertex -23.8226 -18.954 -0.2 + vertex -23.9653 -19.0124 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.6632 -18.9241 -0.1 - vertex -24.0993 -19.1062 -0.1 - vertex -24.2328 -19.2424 -0.1 + vertex -23.6632 -18.9241 -0.2 + vertex -24.0993 -19.1062 -0.2 + vertex -24.2328 -19.2424 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.6874 -20.0641 -0.1 - vertex -24.3738 -19.4278 -0.1 - vertex -22.8608 -20.5868 -0.1 + vertex -22.6874 -20.0641 -0.2 + vertex -24.3738 -19.4278 -0.2 + vertex -22.8608 -20.5868 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.7108 -19.9745 -0.1 - vertex -22.8608 -20.5868 -0.1 - vertex -24.3738 -19.4278 -0.1 + vertex -24.7108 -19.9745 -0.2 + vertex -22.8608 -20.5868 -0.2 + vertex -24.3738 -19.4278 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.8608 -20.5868 -0.1 - vertex -24.7108 -19.9745 -0.1 - vertex -23.116 -21.2395 -0.1 + vertex -22.8608 -20.5868 -0.2 + vertex -24.7108 -19.9745 -0.2 + vertex -23.116 -21.2395 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.9407 -20.3516 -0.1 - vertex -23.116 -21.2395 -0.1 - vertex -24.7108 -19.9745 -0.1 + vertex -24.9407 -20.3516 -0.2 + vertex -23.116 -21.2395 -0.2 + vertex -24.7108 -19.9745 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.1784 -20.695 -0.1 - vertex -23.116 -21.2395 -0.1 - vertex -24.9407 -20.3516 -0.1 + vertex -25.1784 -20.695 -0.2 + vertex -23.116 -21.2395 -0.2 + vertex -24.9407 -20.3516 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.4267 -21.0057 -0.1 - vertex -23.116 -21.2395 -0.1 - vertex -25.1784 -20.695 -0.1 + vertex -25.4267 -21.0057 -0.2 + vertex -23.116 -21.2395 -0.2 + vertex -25.1784 -20.695 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -25.6884 -21.2849 -0.1 - vertex -23.116 -21.2395 -0.1 - vertex -25.4267 -21.0057 -0.1 + vertex -25.6884 -21.2849 -0.2 + vertex -23.116 -21.2395 -0.2 + vertex -25.4267 -21.0057 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.116 -21.2395 -0.1 - vertex -25.6884 -21.2849 -0.1 - vertex -24.3958 -24.3815 -0.1 + vertex -23.116 -21.2395 -0.2 + vertex -25.6884 -21.2849 -0.2 + vertex -24.3958 -24.3815 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.9661 -21.5339 -0.1 - vertex -24.3958 -24.3815 -0.1 - vertex -25.6884 -21.2849 -0.1 + vertex -25.9661 -21.5339 -0.2 + vertex -24.3958 -24.3815 -0.2 + vertex -25.6884 -21.2849 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.2627 -21.7538 -0.1 - vertex -24.3958 -24.3815 -0.1 - vertex -25.9661 -21.5339 -0.1 + vertex -26.2627 -21.7538 -0.2 + vertex -24.3958 -24.3815 -0.2 + vertex -25.9661 -21.5339 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.5809 -21.9457 -0.1 - vertex -24.3958 -24.3815 -0.1 - vertex -26.2627 -21.7538 -0.1 + vertex -26.5809 -21.9457 -0.2 + vertex -24.3958 -24.3815 -0.2 + vertex -26.2627 -21.7538 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.9234 -22.1109 -0.1 - vertex -24.3958 -24.3815 -0.1 - vertex -26.5809 -21.9457 -0.1 + vertex -26.9234 -22.1109 -0.2 + vertex -24.3958 -24.3815 -0.2 + vertex -26.5809 -21.9457 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -27.2929 -22.2506 -0.1 - vertex -24.3958 -24.3815 -0.1 - vertex -26.9234 -22.1109 -0.1 + vertex -27.2929 -22.2506 -0.2 + vertex -24.3958 -24.3815 -0.2 + vertex -26.9234 -22.1109 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3958 -24.3815 -0.1 - vertex -27.2929 -22.2506 -0.1 - vertex -24.9793 -25.8003 -0.1 + vertex -24.3958 -24.3815 -0.2 + vertex -27.2929 -22.2506 -0.2 + vertex -24.9793 -25.8003 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -25.4624 -26.9141 -0.1 - vertex -27.8924 -26.5154 -0.1 - vertex -25.8688 -27.7587 -0.1 + vertex -25.4624 -26.9141 -0.2 + vertex -27.8924 -26.5154 -0.2 + vertex -25.8688 -27.7587 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -25.8688 -27.7587 -0.1 - vertex -27.9393 -26.9734 -0.1 - vertex -26.0506 -28.0911 -0.1 + vertex -25.8688 -27.7587 -0.2 + vertex -27.9393 -26.9734 -0.2 + vertex -26.0506 -28.0911 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.0506 -28.0911 -0.1 - vertex -27.9393 -26.9734 -0.1 - vertex -26.2221 -28.3696 -0.1 + vertex -26.0506 -28.0911 -0.2 + vertex -27.9393 -26.9734 -0.2 + vertex -26.2221 -28.3696 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -27.9393 -26.9734 -0.1 - vertex -25.8688 -27.7587 -0.1 - vertex -27.8924 -26.5154 -0.1 + vertex -27.9393 -26.9734 -0.2 + vertex -25.8688 -27.7587 -0.2 + vertex -27.8924 -26.5154 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.2221 -28.3696 -0.1 - vertex -27.9393 -26.9734 -0.1 - vertex -26.3861 -28.5987 -0.1 + vertex -26.2221 -28.3696 -0.2 + vertex -27.9393 -26.9734 -0.2 + vertex -26.3861 -28.5987 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -28.1721 -28.4809 -0.1 - vertex -26.3861 -28.5987 -0.1 - vertex -27.9393 -26.9734 -0.1 + vertex -28.1721 -28.4809 -0.2 + vertex -26.3861 -28.5987 -0.2 + vertex -27.9393 -26.9734 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.8988 -26.2055 -0.1 - vertex -24.9793 -25.8003 -0.1 - vertex -27.2929 -22.2506 -0.1 + vertex -27.8988 -26.2055 -0.2 + vertex -24.9793 -25.8003 -0.2 + vertex -27.2929 -22.2506 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.3861 -28.5987 -0.1 - vertex -28.1721 -28.4809 -0.1 - vertex -26.5458 -28.7827 -0.1 + vertex -26.3861 -28.5987 -0.2 + vertex -28.1721 -28.4809 -0.2 + vertex -26.5458 -28.7827 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.5458 -28.7827 -0.1 - vertex -28.1721 -28.4809 -0.1 - vertex -26.7039 -28.9262 -0.1 + vertex -26.5458 -28.7827 -0.2 + vertex -28.1721 -28.4809 -0.2 + vertex -26.7039 -28.9262 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -27.8988 -26.2055 -0.1 - vertex -25.4624 -26.9141 -0.1 - vertex -24.9793 -25.8003 -0.1 + vertex -27.8988 -26.2055 -0.2 + vertex -25.4624 -26.9141 -0.2 + vertex -24.9793 -25.8003 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.7039 -28.9262 -0.1 - vertex -28.1721 -28.4809 -0.1 - vertex -26.8635 -29.0336 -0.1 + vertex -26.7039 -28.9262 -0.2 + vertex -28.1721 -28.4809 -0.2 + vertex -26.8635 -29.0336 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.8635 -29.0336 -0.1 - vertex -28.1721 -28.4809 -0.1 - vertex -27.0275 -29.1093 -0.1 + vertex -26.8635 -29.0336 -0.2 + vertex -28.1721 -28.4809 -0.2 + vertex -27.0275 -29.1093 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.0919 -25.8829 -0.1 - vertex -27.2929 -22.2506 -0.1 - vertex -27.6923 -22.3658 -0.1 + vertex -28.0919 -25.8829 -0.2 + vertex -27.2929 -22.2506 -0.2 + vertex -27.6923 -22.3658 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.0275 -29.1093 -0.1 - vertex -28.1721 -28.4809 -0.1 - vertex -27.1989 -29.1579 -0.1 + vertex -27.0275 -29.1093 -0.2 + vertex -28.1721 -28.4809 -0.2 + vertex -27.1989 -29.1579 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.1989 -29.1579 -0.1 - vertex -28.1721 -28.4809 -0.1 - vertex -27.3805 -29.1838 -0.1 + vertex -27.1989 -29.1579 -0.2 + vertex -28.1721 -28.4809 -0.2 + vertex -27.3805 -29.1838 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.3805 -29.1838 -0.1 - vertex -28.1721 -28.4809 -0.1 - vertex -27.5755 -29.1914 -0.1 + vertex -27.3805 -29.1838 -0.2 + vertex -28.1721 -28.4809 -0.2 + vertex -27.5755 -29.1914 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -28.2235 -28.8853 -0.1 - vertex -27.5755 -29.1914 -0.1 - vertex -28.1721 -28.4809 -0.1 + vertex -28.2235 -28.8853 -0.2 + vertex -27.5755 -29.1914 -0.2 + vertex -28.1721 -28.4809 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.5755 -29.1914 -0.1 - vertex -28.2235 -28.8853 -0.1 - vertex -27.9775 -29.1782 -0.1 + vertex -27.5755 -29.1914 -0.2 + vertex -28.2235 -28.8853 -0.2 + vertex -27.9775 -29.1782 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.9775 -29.1782 -0.1 - vertex -28.2235 -28.8853 -0.1 - vertex -28.0989 -29.15 -0.1 + vertex -27.9775 -29.1782 -0.2 + vertex -28.2235 -28.8853 -0.2 + vertex -28.0989 -29.15 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -28.2154 -29.0113 -0.1 - vertex -28.0989 -29.15 -0.1 - vertex -28.2235 -28.8853 -0.1 + vertex -28.2154 -29.0113 -0.2 + vertex -28.0989 -29.15 -0.2 + vertex -28.2235 -28.8853 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.0989 -29.15 -0.1 - vertex -28.2154 -29.0113 -0.1 - vertex -28.176 -29.097 -0.1 + vertex -28.0989 -29.15 -0.2 + vertex -28.2154 -29.0113 -0.2 + vertex -28.176 -29.097 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.4571 -30.6716 -0.1 - vertex -23.4513 -30.847 -0.1 - vertex -23.4345 -30.738 -0.1 + vertex -23.4571 -30.6716 -0.2 + vertex -23.4513 -30.847 -0.2 + vertex -23.4345 -30.738 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.5012 -30.6026 -0.1 - vertex -23.4513 -30.847 -0.1 - vertex -23.4571 -30.6716 -0.1 + vertex -23.5012 -30.6026 -0.2 + vertex -23.4513 -30.847 -0.2 + vertex -23.4571 -30.6716 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.6433 -30.465 -0.1 - vertex -23.4513 -30.847 -0.1 - vertex -23.5012 -30.6026 -0.1 + vertex -23.6433 -30.465 -0.2 + vertex -23.4513 -30.847 -0.2 + vertex -23.5012 -30.6026 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.4513 -30.847 -0.1 - vertex -23.6433 -30.465 -0.1 - vertex -23.5218 -31.031 -0.1 + vertex -23.4513 -30.847 -0.2 + vertex -23.6433 -30.465 -0.2 + vertex -23.5218 -31.031 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.8399 -30.3412 -0.1 - vertex -23.5218 -31.031 -0.1 - vertex -23.6433 -30.465 -0.1 + vertex -23.8399 -30.3412 -0.2 + vertex -23.5218 -31.031 -0.2 + vertex -23.6433 -30.465 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.0701 -30.2475 -0.1 - vertex -23.5218 -31.031 -0.1 - vertex -23.8399 -30.3412 -0.1 + vertex -24.0701 -30.2475 -0.2 + vertex -23.5218 -31.031 -0.2 + vertex -23.8399 -30.3412 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.5218 -31.031 -0.1 - vertex -24.0701 -30.2475 -0.1 - vertex -23.8031 -31.5911 -0.1 + vertex -23.5218 -31.031 -0.2 + vertex -24.0701 -30.2475 -0.2 + vertex -23.8031 -31.5911 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.8452 -30.2998 -0.1 - vertex -23.8031 -31.5911 -0.1 - vertex -24.0701 -30.2475 -0.1 + vertex -24.8452 -30.2998 -0.2 + vertex -23.8031 -31.5911 -0.2 + vertex -24.0701 -30.2475 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.8452 -30.2998 -0.1 - vertex -24.0701 -30.2475 -0.1 - vertex -24.2803 -30.1833 -0.1 + vertex -24.8452 -30.2998 -0.2 + vertex -24.0701 -30.2475 -0.2 + vertex -24.2803 -30.1833 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.6311 -30.1847 -0.1 - vertex -24.2803 -30.1833 -0.1 - vertex -24.455 -30.1541 -0.1 + vertex -24.6311 -30.1847 -0.2 + vertex -24.2803 -30.1833 -0.2 + vertex -24.455 -30.1541 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.6311 -30.1847 -0.1 - vertex -24.455 -30.1541 -0.1 - vertex -24.5406 -30.1604 -0.1 + vertex -24.6311 -30.1847 -0.2 + vertex -24.455 -30.1541 -0.2 + vertex -24.5406 -30.1604 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.2803 -30.1833 -0.1 - vertex -24.6311 -30.1847 -0.1 - vertex -24.8452 -30.2998 -0.1 + vertex -24.2803 -30.1833 -0.2 + vertex -24.6311 -30.1847 -0.2 + vertex -24.8452 -30.2998 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.8031 -31.5911 -0.1 - vertex -24.8452 -30.2998 -0.1 - vertex -25.1341 -30.5242 -0.1 + vertex -23.8031 -31.5911 -0.2 + vertex -24.8452 -30.2998 -0.2 + vertex -25.1341 -30.5242 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.5344 -30.8827 -0.1 - vertex -23.8031 -31.5911 -0.1 - vertex -25.1341 -30.5242 -0.1 + vertex -25.5344 -30.8827 -0.2 + vertex -23.8031 -31.5911 -0.2 + vertex -25.1341 -30.5242 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.8031 -31.5911 -0.1 - vertex -25.5344 -30.8827 -0.1 - vertex -24.2375 -32.3527 -0.1 + vertex -23.8031 -31.5911 -0.2 + vertex -25.5344 -30.8827 -0.2 + vertex -24.2375 -32.3527 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.2375 -32.3527 -0.1 - vertex -25.5344 -30.8827 -0.1 - vertex -24.7839 -33.2498 -0.1 + vertex -24.2375 -32.3527 -0.2 + vertex -25.5344 -30.8827 -0.2 + vertex -24.7839 -33.2498 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.8166 -32.1012 -0.1 - vertex -24.7839 -33.2498 -0.1 - vertex -25.5344 -30.8827 -0.1 + vertex -26.8166 -32.1012 -0.2 + vertex -24.7839 -33.2498 -0.2 + vertex -25.5344 -30.8827 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.7839 -33.2498 -0.1 - vertex -26.8166 -32.1012 -0.1 - vertex -25.4011 -34.2168 -0.1 + vertex -24.7839 -33.2498 -0.2 + vertex -26.8166 -32.1012 -0.2 + vertex -25.4011 -34.2168 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -27.3602 -32.5933 -0.1 - vertex -25.4011 -34.2168 -0.1 - vertex -26.8166 -32.1012 -0.1 + vertex -27.3602 -32.5933 -0.2 + vertex -25.4011 -34.2168 -0.2 + vertex -26.8166 -32.1012 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -27.924 -33.0516 -0.1 - vertex -25.4011 -34.2168 -0.1 - vertex -27.3602 -32.5933 -0.1 + vertex -27.924 -33.0516 -0.2 + vertex -25.4011 -34.2168 -0.2 + vertex -27.3602 -32.5933 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -25.4011 -34.2168 -0.1 - vertex -27.924 -33.0516 -0.1 - vertex -26.0482 -35.1877 -0.1 + vertex -25.4011 -34.2168 -0.2 + vertex -27.924 -33.0516 -0.2 + vertex -26.0482 -35.1877 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -28.5012 -33.4718 -0.1 - vertex -26.0482 -35.1877 -0.1 - vertex -27.924 -33.0516 -0.1 + vertex -28.5012 -33.4718 -0.2 + vertex -26.0482 -35.1877 -0.2 + vertex -27.924 -33.0516 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.0482 -35.1877 -0.1 - vertex -28.5012 -33.4718 -0.1 - vertex -26.6839 -36.0968 -0.1 + vertex -26.0482 -35.1877 -0.2 + vertex -28.5012 -33.4718 -0.2 + vertex -26.6839 -36.0968 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -29.0852 -33.8499 -0.1 - vertex -26.6839 -36.0968 -0.1 - vertex -28.5012 -33.4718 -0.1 + vertex -29.0852 -33.8499 -0.2 + vertex -26.6839 -36.0968 -0.2 + vertex -28.5012 -33.4718 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.6839 -36.0968 -0.1 - vertex -29.0852 -33.8499 -0.1 - vertex -27.2673 -36.8782 -0.1 + vertex -26.6839 -36.0968 -0.2 + vertex -29.0852 -33.8499 -0.2 + vertex -27.2673 -36.8782 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -29.669 -34.1817 -0.1 - vertex -27.2673 -36.8782 -0.1 - vertex -29.0852 -33.8499 -0.1 + vertex -29.669 -34.1817 -0.2 + vertex -27.2673 -36.8782 -0.2 + vertex -29.0852 -33.8499 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -30.2461 -34.4632 -0.1 - vertex -27.2673 -36.8782 -0.1 - vertex -29.669 -34.1817 -0.1 + vertex -30.2461 -34.4632 -0.2 + vertex -27.2673 -36.8782 -0.2 + vertex -29.669 -34.1817 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.2673 -36.8782 -0.1 - vertex -30.2461 -34.4632 -0.1 - vertex -28.2718 -38.1638 -0.1 + vertex -27.2673 -36.8782 -0.2 + vertex -30.2461 -34.4632 -0.2 + vertex -28.2718 -38.1638 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -30.8095 -34.6902 -0.1 - vertex -28.2718 -38.1638 -0.1 - vertex -30.2461 -34.4632 -0.1 + vertex -30.8095 -34.6902 -0.2 + vertex -28.2718 -38.1638 -0.2 + vertex -30.2461 -34.4632 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -31.3526 -34.8586 -0.1 - vertex -28.2718 -38.1638 -0.1 - vertex -30.8095 -34.6902 -0.1 + vertex -31.3526 -34.8586 -0.2 + vertex -28.2718 -38.1638 -0.2 + vertex -30.8095 -34.6902 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -31.5797 -34.902 -0.1 - vertex -28.2718 -38.1638 -0.1 - vertex -31.3526 -34.8586 -0.1 + vertex -31.5797 -34.902 -0.2 + vertex -28.2718 -38.1638 -0.2 + vertex -31.3526 -34.8586 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -31.9023 -34.9414 -0.1 - vertex -28.2718 -38.1638 -0.1 - vertex -31.5797 -34.902 -0.1 + vertex -31.9023 -34.9414 -0.2 + vertex -28.2718 -38.1638 -0.2 + vertex -31.5797 -34.902 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -32.7769 -35.0076 -0.1 - vertex -28.2718 -38.1638 -0.1 - vertex -31.9023 -34.9414 -0.1 + vertex -32.7769 -35.0076 -0.2 + vertex -28.2718 -38.1638 -0.2 + vertex -31.9023 -34.9414 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.6203 -38.1325 -0.1 - vertex -32.7769 -35.0076 -0.1 - vertex -33.8615 -35.0556 -0.1 + vertex -37.6203 -38.1325 -0.2 + vertex -32.7769 -35.0076 -0.2 + vertex -33.8615 -35.0556 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.6203 -38.1325 -0.1 - vertex -33.8615 -35.0556 -0.1 - vertex -35.0412 -35.0835 -0.1 + vertex -37.6203 -38.1325 -0.2 + vertex -33.8615 -35.0556 -0.2 + vertex -35.0412 -35.0835 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.6203 -38.1325 -0.1 - vertex -35.0412 -35.0835 -0.1 - vertex -36.2012 -35.0898 -0.1 + vertex -37.6203 -38.1325 -0.2 + vertex -35.0412 -35.0835 -0.2 + vertex -36.2012 -35.0898 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.6203 -38.1325 -0.1 - vertex -36.2012 -35.0898 -0.1 - vertex -37.2267 -35.0727 -0.1 + vertex -37.6203 -38.1325 -0.2 + vertex -36.2012 -35.0898 -0.2 + vertex -37.2267 -35.0727 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.7769 -35.0076 -0.1 - vertex -37.6203 -38.1325 -0.1 - vertex -28.2718 -38.1638 -0.1 + vertex -32.7769 -35.0076 -0.2 + vertex -37.6203 -38.1325 -0.2 + vertex -28.2718 -38.1638 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.0027 -35.0306 -0.1 - vertex -37.6203 -38.1325 -0.1 - vertex -37.2267 -35.0727 -0.1 + vertex -38.0027 -35.0306 -0.2 + vertex -37.6203 -38.1325 -0.2 + vertex -37.2267 -35.0727 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.2613 -34.9997 -0.1 - vertex -37.6203 -38.1325 -0.1 - vertex -38.0027 -35.0306 -0.1 + vertex -38.2613 -34.9997 -0.2 + vertex -37.6203 -38.1325 -0.2 + vertex -38.0027 -35.0306 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.4144 -34.9619 -0.1 - vertex -37.6203 -38.1325 -0.1 - vertex -38.2613 -34.9997 -0.1 + vertex -38.4144 -34.9619 -0.2 + vertex -37.6203 -38.1325 -0.2 + vertex -38.2613 -34.9997 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -41.2883 -38.1087 -0.1 - vertex -38.4144 -34.9619 -0.1 - vertex -38.5336 -34.8886 -0.1 + vertex -41.2883 -38.1087 -0.2 + vertex -38.4144 -34.9619 -0.2 + vertex -38.5336 -34.8886 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -41.2883 -38.1087 -0.1 - vertex -38.5336 -34.8886 -0.1 - vertex -38.6312 -34.7874 -0.1 + vertex -41.2883 -38.1087 -0.2 + vertex -38.5336 -34.8886 -0.2 + vertex -38.6312 -34.7874 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -41.2883 -38.1087 -0.1 - vertex -38.6312 -34.7874 -0.1 - vertex -38.6971 -34.6715 -0.1 + vertex -41.2883 -38.1087 -0.2 + vertex -38.6312 -34.7874 -0.2 + vertex -38.6971 -34.6715 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -42.7651 -32.2453 -0.1 - vertex -38.3711 -33.5534 -0.1 - vertex -42.2252 -30.9405 -0.1 + vertex -42.7651 -32.2453 -0.2 + vertex -38.3711 -33.5534 -0.2 + vertex -42.2252 -30.9405 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.3711 -33.5534 -0.1 - vertex -42.7651 -32.2453 -0.1 - vertex -38.6277 -34.2404 -0.1 + vertex -38.3711 -33.5534 -0.2 + vertex -42.7651 -32.2453 -0.2 + vertex -38.6277 -34.2404 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.6277 -34.2404 -0.1 - vertex -42.7651 -32.2453 -0.1 - vertex -38.7214 -34.5543 -0.1 + vertex -38.6277 -34.2404 -0.2 + vertex -42.7651 -32.2453 -0.2 + vertex -38.7214 -34.5543 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -43.2426 -33.2915 -0.1 - vertex -38.7214 -34.5543 -0.1 - vertex -42.7651 -32.2453 -0.1 + vertex -43.2426 -33.2915 -0.2 + vertex -38.7214 -34.5543 -0.2 + vertex -42.7651 -32.2453 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -43.4655 -33.7273 -0.1 - vertex -38.7214 -34.5543 -0.1 - vertex -43.2426 -33.2915 -0.1 + vertex -43.4655 -33.7273 -0.2 + vertex -38.7214 -34.5543 -0.2 + vertex -43.2426 -33.2915 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.7214 -34.5543 -0.1 - vertex -43.4655 -33.7273 -0.1 - vertex -38.6971 -34.6715 -0.1 + vertex -38.7214 -34.5543 -0.2 + vertex -43.4655 -33.7273 -0.2 + vertex -38.6971 -34.6715 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.4144 -34.9619 -0.1 - vertex -41.2883 -38.1087 -0.1 - vertex -37.6203 -38.1325 -0.1 + vertex -38.4144 -34.9619 -0.2 + vertex -41.2883 -38.1087 -0.2 + vertex -37.6203 -38.1325 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -43.682 -34.1098 -0.1 - vertex -38.6971 -34.6715 -0.1 - vertex -43.4655 -33.7273 -0.1 + vertex -43.682 -34.1098 -0.2 + vertex -38.6971 -34.6715 -0.2 + vertex -43.4655 -33.7273 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.6971 -34.6715 -0.1 - vertex -43.682 -34.1098 -0.1 - vertex -41.2883 -38.1087 -0.1 + vertex -38.6971 -34.6715 -0.2 + vertex -43.682 -34.1098 -0.2 + vertex -41.2883 -38.1087 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -43.8952 -34.443 -0.1 - vertex -41.2883 -38.1087 -0.1 - vertex -43.682 -34.1098 -0.1 + vertex -43.8952 -34.443 -0.2 + vertex -41.2883 -38.1087 -0.2 + vertex -43.682 -34.1098 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -44.108 -34.7306 -0.1 - vertex -41.2883 -38.1087 -0.1 - vertex -43.8952 -34.443 -0.1 + vertex -44.108 -34.7306 -0.2 + vertex -41.2883 -38.1087 -0.2 + vertex -43.8952 -34.443 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -44.3237 -34.9765 -0.1 - vertex -41.2883 -38.1087 -0.1 - vertex -44.108 -34.7306 -0.1 + vertex -44.3237 -34.9765 -0.2 + vertex -41.2883 -38.1087 -0.2 + vertex -44.108 -34.7306 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -44.3237 -34.9765 -0.1 - vertex -44.3648 -38.0673 -0.1 - vertex -41.2883 -38.1087 -0.1 + vertex -44.3237 -34.9765 -0.2 + vertex -44.3648 -38.0673 -0.2 + vertex -41.2883 -38.1087 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -44.5451 -35.1844 -0.1 - vertex -44.3648 -38.0673 -0.1 - vertex -44.3237 -34.9765 -0.1 + vertex -44.5451 -35.1844 -0.2 + vertex -44.3648 -38.0673 -0.2 + vertex -44.3237 -34.9765 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -44.7755 -35.3583 -0.1 - vertex -44.3648 -38.0673 -0.1 - vertex -44.5451 -35.1844 -0.1 + vertex -44.7755 -35.3583 -0.2 + vertex -44.3648 -38.0673 -0.2 + vertex -44.5451 -35.1844 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -45.0179 -35.5019 -0.1 - vertex -44.3648 -38.0673 -0.1 - vertex -44.7755 -35.3583 -0.1 + vertex -45.0179 -35.5019 -0.2 + vertex -44.3648 -38.0673 -0.2 + vertex -44.7755 -35.3583 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -45.2753 -35.6191 -0.1 - vertex -44.3648 -38.0673 -0.1 - vertex -45.0179 -35.5019 -0.1 + vertex -45.2753 -35.6191 -0.2 + vertex -44.3648 -38.0673 -0.2 + vertex -45.0179 -35.5019 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -45.5508 -35.7136 -0.1 - vertex -44.3648 -38.0673 -0.1 - vertex -45.2753 -35.6191 -0.1 + vertex -45.5508 -35.7136 -0.2 + vertex -44.3648 -38.0673 -0.2 + vertex -45.2753 -35.6191 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -45.8475 -35.7893 -0.1 - vertex -44.3648 -38.0673 -0.1 - vertex -45.5508 -35.7136 -0.1 + vertex -45.8475 -35.7893 -0.2 + vertex -44.3648 -38.0673 -0.2 + vertex -45.5508 -35.7136 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -46.5272 -38.014 -0.1 - vertex -45.8475 -35.7893 -0.1 - vertex -46.1684 -35.8499 -0.1 + vertex -46.5272 -38.014 -0.2 + vertex -45.8475 -35.7893 -0.2 + vertex -46.1684 -35.8499 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -46.5272 -38.014 -0.1 - vertex -46.1684 -35.8499 -0.1 - vertex -46.4544 -35.9117 -0.1 + vertex -46.5272 -38.014 -0.2 + vertex -46.1684 -35.8499 -0.2 + vertex -46.4544 -35.9117 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -45.8475 -35.7893 -0.1 - vertex -46.5272 -38.014 -0.1 - vertex -44.3648 -38.0673 -0.1 + vertex -45.8475 -35.7893 -0.2 + vertex -46.5272 -38.014 -0.2 + vertex -44.3648 -38.0673 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -46.7228 -35.999 -0.1 - vertex -46.5272 -38.014 -0.1 - vertex -46.4544 -35.9117 -0.1 + vertex -46.7228 -35.999 -0.2 + vertex -46.5272 -38.014 -0.2 + vertex -46.4544 -35.9117 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -46.9715 -36.1082 -0.1 - vertex -46.5272 -38.014 -0.1 - vertex -46.7228 -35.999 -0.1 + vertex -46.9715 -36.1082 -0.2 + vertex -46.5272 -38.014 -0.2 + vertex -46.7228 -35.999 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.1985 -36.2359 -0.1 - vertex -46.5272 -38.014 -0.1 - vertex -46.9715 -36.1082 -0.1 + vertex -47.1985 -36.2359 -0.2 + vertex -46.5272 -38.014 -0.2 + vertex -46.9715 -36.1082 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.4015 -36.3788 -0.1 - vertex -46.5272 -38.014 -0.1 - vertex -47.1985 -36.2359 -0.1 + vertex -47.4015 -36.3788 -0.2 + vertex -46.5272 -38.014 -0.2 + vertex -47.1985 -36.2359 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -46.5272 -38.014 -0.1 - vertex -47.4015 -36.3788 -0.1 - vertex -47.1648 -37.9848 -0.1 + vertex -46.5272 -38.014 -0.2 + vertex -47.4015 -36.3788 -0.2 + vertex -47.1648 -37.9848 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.5785 -36.5332 -0.1 - vertex -47.1648 -37.9848 -0.1 - vertex -47.4015 -36.3788 -0.1 + vertex -47.5785 -36.5332 -0.2 + vertex -47.1648 -37.9848 -0.2 + vertex -47.4015 -36.3788 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.7274 -36.6957 -0.1 - vertex -47.1648 -37.9848 -0.1 - vertex -47.5785 -36.5332 -0.1 + vertex -47.7274 -36.6957 -0.2 + vertex -47.1648 -37.9848 -0.2 + vertex -47.5785 -36.5332 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.846 -36.863 -0.1 - vertex -47.1648 -37.9848 -0.1 - vertex -47.7274 -36.6957 -0.1 + vertex -47.846 -36.863 -0.2 + vertex -47.1648 -37.9848 -0.2 + vertex -47.7274 -36.6957 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.1648 -37.9848 -0.1 - vertex -47.846 -36.863 -0.1 - vertex -47.4529 -37.9547 -0.1 + vertex -47.1648 -37.9848 -0.2 + vertex -47.846 -36.863 -0.2 + vertex -47.4529 -37.9547 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.9322 -37.0315 -0.1 - vertex -47.4529 -37.9547 -0.1 - vertex -47.846 -36.863 -0.1 + vertex -47.9322 -37.0315 -0.2 + vertex -47.4529 -37.9547 -0.2 + vertex -47.846 -36.863 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.4529 -37.9547 -0.1 - vertex -47.9322 -37.0315 -0.1 - vertex -47.6522 -37.8745 -0.1 + vertex -47.4529 -37.9547 -0.2 + vertex -47.9322 -37.0315 -0.2 + vertex -47.6522 -37.8745 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.984 -37.1977 -0.1 - vertex -47.6522 -37.8745 -0.1 - vertex -47.9322 -37.0315 -0.1 + vertex -47.984 -37.1977 -0.2 + vertex -47.6522 -37.8745 -0.2 + vertex -47.9322 -37.0315 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.6522 -37.8745 -0.1 - vertex -47.984 -37.1977 -0.1 - vertex -47.8044 -37.7712 -0.1 + vertex -47.6522 -37.8745 -0.2 + vertex -47.984 -37.1977 -0.2 + vertex -47.8044 -37.7712 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -47.9993 -37.3583 -0.1 - vertex -47.8044 -37.7712 -0.1 - vertex -47.984 -37.1977 -0.1 + vertex -47.9993 -37.3583 -0.2 + vertex -47.8044 -37.7712 -0.2 + vertex -47.984 -37.1977 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.8044 -37.7712 -0.1 - vertex -47.9993 -37.3583 -0.1 - vertex -47.9115 -37.6485 -0.1 + vertex -47.8044 -37.7712 -0.2 + vertex -47.9993 -37.3583 -0.2 + vertex -47.9115 -37.6485 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.9115 -37.6485 -0.1 - vertex -47.9993 -37.3583 -0.1 - vertex -47.9758 -37.5097 -0.1 + vertex -47.9115 -37.6485 -0.2 + vertex -47.9993 -37.3583 -0.2 + vertex -47.9758 -37.5097 -0.2 endloop endfacet facet normal -0.0100487 -0.99995 0 outer loop - vertex -32.0944 -11.3029 -0.1 + vertex -32.0944 -11.3029 -0.2 vertex -27.175 -11.3523 0 vertex -32.0944 -11.3029 0 endloop @@ -10726,13 +10726,13 @@ solid OpenSCAD_Model facet normal -0.0100487 -0.99995 -0 outer loop vertex -27.175 -11.3523 0 - vertex -32.0944 -11.3029 -0.1 - vertex -27.175 -11.3523 -0.1 + vertex -32.0944 -11.3029 -0.2 + vertex -27.175 -11.3523 -0.2 endloop endfacet facet normal -0.0126654 -0.99992 0 outer loop - vertex -27.175 -11.3523 -0.1 + vertex -27.175 -11.3523 -0.2 vertex -17.7876 -11.4712 0 vertex -27.175 -11.3523 0 endloop @@ -10740,13 +10740,13 @@ solid OpenSCAD_Model facet normal -0.0126654 -0.99992 -0 outer loop vertex -17.7876 -11.4712 0 - vertex -27.175 -11.3523 -0.1 - vertex -17.7876 -11.4712 -0.1 + vertex -27.175 -11.3523 -0.2 + vertex -17.7876 -11.4712 -0.2 endloop endfacet facet normal -0.111827 -0.993728 0 outer loop - vertex -17.7876 -11.4712 -0.1 + vertex -17.7876 -11.4712 -0.2 vertex -17.5514 -11.4978 0 vertex -17.7876 -11.4712 0 endloop @@ -10754,13 +10754,13 @@ solid OpenSCAD_Model facet normal -0.111827 -0.993728 -0 outer loop vertex -17.5514 -11.4978 0 - vertex -17.7876 -11.4712 -0.1 - vertex -17.5514 -11.4978 -0.1 + vertex -17.7876 -11.4712 -0.2 + vertex -17.5514 -11.4978 -0.2 endloop endfacet facet normal -0.415864 -0.909427 0 outer loop - vertex -17.5514 -11.4978 -0.1 + vertex -17.5514 -11.4978 -0.2 vertex -17.4764 -11.5321 0 vertex -17.5514 -11.4978 0 endloop @@ -10768,167 +10768,167 @@ solid OpenSCAD_Model facet normal -0.415864 -0.909427 -0 outer loop vertex -17.4764 -11.5321 0 - vertex -17.5514 -11.4978 -0.1 - vertex -17.4764 -11.5321 -0.1 + vertex -17.5514 -11.4978 -0.2 + vertex -17.4764 -11.5321 -0.2 endloop endfacet facet normal -0.736355 -0.676596 0 outer loop - vertex -17.4268 -11.5861 -0.1 + vertex -17.4268 -11.5861 -0.2 vertex -17.4764 -11.5321 0 - vertex -17.4764 -11.5321 -0.1 + vertex -17.4764 -11.5321 -0.2 endloop endfacet facet normal -0.736355 -0.676596 0 outer loop vertex -17.4764 -11.5321 0 - vertex -17.4268 -11.5861 -0.1 + vertex -17.4268 -11.5861 -0.2 vertex -17.4268 -11.5861 0 endloop endfacet facet normal -0.946306 -0.323273 0 outer loop - vertex -17.4002 -11.6639 -0.1 + vertex -17.4002 -11.6639 -0.2 vertex -17.4268 -11.5861 0 - vertex -17.4268 -11.5861 -0.1 + vertex -17.4268 -11.5861 -0.2 endloop endfacet facet normal -0.946306 -0.323273 0 outer loop vertex -17.4268 -11.5861 0 - vertex -17.4002 -11.6639 -0.1 + vertex -17.4002 -11.6639 -0.2 vertex -17.4002 -11.6639 0 endloop endfacet facet normal -0.998372 -0.057036 0 outer loop - vertex -17.3941 -11.77 -0.1 + vertex -17.3941 -11.77 -0.2 vertex -17.4002 -11.6639 0 - vertex -17.4002 -11.6639 -0.1 + vertex -17.4002 -11.6639 -0.2 endloop endfacet facet normal -0.998372 -0.057036 0 outer loop vertex -17.4002 -11.6639 0 - vertex -17.3941 -11.77 -0.1 + vertex -17.3941 -11.77 -0.2 vertex -17.3941 -11.77 0 endloop endfacet facet normal -0.992058 0.125781 0 outer loop - vertex -17.4339 -12.0833 -0.1 + vertex -17.4339 -12.0833 -0.2 vertex -17.3941 -11.77 0 - vertex -17.3941 -11.77 -0.1 + vertex -17.3941 -11.77 -0.2 endloop endfacet facet normal -0.992058 0.125781 0 outer loop vertex -17.3941 -11.77 0 - vertex -17.4339 -12.0833 -0.1 + vertex -17.4339 -12.0833 -0.2 vertex -17.4339 -12.0833 0 endloop endfacet facet normal -0.966487 0.256715 0 outer loop - vertex -17.5116 -12.3759 -0.1 + vertex -17.5116 -12.3759 -0.2 vertex -17.4339 -12.0833 0 - vertex -17.4339 -12.0833 -0.1 + vertex -17.4339 -12.0833 -0.2 endloop endfacet facet normal -0.966487 0.256715 0 outer loop vertex -17.4339 -12.0833 0 - vertex -17.5116 -12.3759 -0.1 + vertex -17.5116 -12.3759 -0.2 vertex -17.5116 -12.3759 0 endloop endfacet facet normal -0.949465 0.313873 0 outer loop - vertex -17.6664 -12.8441 -0.1 + vertex -17.6664 -12.8441 -0.2 vertex -17.5116 -12.3759 0 - vertex -17.5116 -12.3759 -0.1 + vertex -17.5116 -12.3759 -0.2 endloop endfacet facet normal -0.949465 0.313873 0 outer loop vertex -17.5116 -12.3759 0 - vertex -17.6664 -12.8441 -0.1 + vertex -17.6664 -12.8441 -0.2 vertex -17.6664 -12.8441 0 endloop endfacet facet normal -0.938494 0.345297 0 outer loop - vertex -18.1466 -14.1495 -0.1 + vertex -18.1466 -14.1495 -0.2 vertex -17.6664 -12.8441 0 - vertex -17.6664 -12.8441 -0.1 + vertex -17.6664 -12.8441 -0.2 endloop endfacet facet normal -0.938494 0.345297 0 outer loop vertex -17.6664 -12.8441 0 - vertex -18.1466 -14.1495 -0.1 + vertex -18.1466 -14.1495 -0.2 vertex -18.1466 -14.1495 0 endloop endfacet facet normal -0.929834 0.367979 0 outer loop - vertex -18.7537 -15.6836 -0.1 + vertex -18.7537 -15.6836 -0.2 vertex -18.1466 -14.1495 0 - vertex -18.1466 -14.1495 -0.1 + vertex -18.1466 -14.1495 -0.2 endloop endfacet facet normal -0.929834 0.367979 0 outer loop vertex -18.1466 -14.1495 0 - vertex -18.7537 -15.6836 -0.1 + vertex -18.7537 -15.6836 -0.2 vertex -18.7537 -15.6836 0 endloop endfacet facet normal -0.920782 0.390077 0 outer loop - vertex -19.3667 -17.1305 -0.1 + vertex -19.3667 -17.1305 -0.2 vertex -18.7537 -15.6836 0 - vertex -18.7537 -15.6836 -0.1 + vertex -18.7537 -15.6836 -0.2 endloop endfacet facet normal -0.920782 0.390077 0 outer loop vertex -18.7537 -15.6836 0 - vertex -19.3667 -17.1305 -0.1 + vertex -19.3667 -17.1305 -0.2 vertex -19.3667 -17.1305 0 endloop endfacet facet normal -0.87414 0.485675 0 outer loop - vertex -19.4996 -17.3696 -0.1 + vertex -19.4996 -17.3696 -0.2 vertex -19.3667 -17.1305 0 - vertex -19.3667 -17.1305 -0.1 + vertex -19.3667 -17.1305 -0.2 endloop endfacet facet normal -0.87414 0.485675 0 outer loop vertex -19.3667 -17.1305 0 - vertex -19.4996 -17.3696 -0.1 + vertex -19.4996 -17.3696 -0.2 vertex -19.4996 -17.3696 0 endloop endfacet facet normal -0.780486 0.625173 0 outer loop - vertex -19.6713 -17.584 -0.1 + vertex -19.6713 -17.584 -0.2 vertex -19.4996 -17.3696 0 - vertex -19.4996 -17.3696 -0.1 + vertex -19.4996 -17.3696 -0.2 endloop endfacet facet normal -0.780486 0.625173 0 outer loop vertex -19.4996 -17.3696 0 - vertex -19.6713 -17.584 -0.1 + vertex -19.6713 -17.584 -0.2 vertex -19.6713 -17.584 0 endloop endfacet facet normal -0.674318 0.738441 0 outer loop - vertex -19.6713 -17.584 -0.1 + vertex -19.6713 -17.584 -0.2 vertex -19.8743 -17.7693 0 vertex -19.6713 -17.584 0 endloop @@ -10936,13 +10936,13 @@ solid OpenSCAD_Model facet normal -0.674318 0.738441 0 outer loop vertex -19.8743 -17.7693 0 - vertex -19.6713 -17.584 -0.1 - vertex -19.8743 -17.7693 -0.1 + vertex -19.6713 -17.584 -0.2 + vertex -19.8743 -17.7693 -0.2 endloop endfacet facet normal -0.55704 0.830486 0 outer loop - vertex -19.8743 -17.7693 -0.1 + vertex -19.8743 -17.7693 -0.2 vertex -20.1009 -17.9213 0 vertex -19.8743 -17.7693 0 endloop @@ -10950,13 +10950,13 @@ solid OpenSCAD_Model facet normal -0.55704 0.830486 0 outer loop vertex -20.1009 -17.9213 0 - vertex -19.8743 -17.7693 -0.1 - vertex -20.1009 -17.9213 -0.1 + vertex -19.8743 -17.7693 -0.2 + vertex -20.1009 -17.9213 -0.2 endloop endfacet facet normal -0.42623 0.904615 0 outer loop - vertex -20.1009 -17.9213 -0.1 + vertex -20.1009 -17.9213 -0.2 vertex -20.3435 -18.0357 0 vertex -20.1009 -17.9213 0 endloop @@ -10964,13 +10964,13 @@ solid OpenSCAD_Model facet normal -0.42623 0.904615 0 outer loop vertex -20.3435 -18.0357 0 - vertex -20.1009 -17.9213 -0.1 - vertex -20.3435 -18.0357 -0.1 + vertex -20.1009 -17.9213 -0.2 + vertex -20.3435 -18.0357 -0.2 endloop endfacet facet normal -0.276826 0.96092 0 outer loop - vertex -20.3435 -18.0357 -0.1 + vertex -20.3435 -18.0357 -0.2 vertex -20.5945 -18.108 0 vertex -20.3435 -18.0357 0 endloop @@ -10978,13 +10978,13 @@ solid OpenSCAD_Model facet normal -0.276826 0.96092 0 outer loop vertex -20.5945 -18.108 0 - vertex -20.3435 -18.0357 -0.1 - vertex -20.5945 -18.108 -0.1 + vertex -20.3435 -18.0357 -0.2 + vertex -20.5945 -18.108 -0.2 endloop endfacet facet normal -0.102621 0.994721 0 outer loop - vertex -20.5945 -18.108 -0.1 + vertex -20.5945 -18.108 -0.2 vertex -20.8463 -18.1339 0 vertex -20.5945 -18.108 0 endloop @@ -10992,13 +10992,13 @@ solid OpenSCAD_Model facet normal -0.102621 0.994721 0 outer loop vertex -20.8463 -18.1339 0 - vertex -20.5945 -18.108 -0.1 - vertex -20.8463 -18.1339 -0.1 + vertex -20.5945 -18.108 -0.2 + vertex -20.8463 -18.1339 -0.2 endloop endfacet facet normal 0.100283 0.994959 -0 outer loop - vertex -20.8463 -18.1339 -0.1 + vertex -20.8463 -18.1339 -0.2 vertex -21.0912 -18.1093 0 vertex -20.8463 -18.1339 0 endloop @@ -11006,13 +11006,13 @@ solid OpenSCAD_Model facet normal 0.100283 0.994959 0 outer loop vertex -21.0912 -18.1093 0 - vertex -20.8463 -18.1339 -0.1 - vertex -21.0912 -18.1093 -0.1 + vertex -20.8463 -18.1339 -0.2 + vertex -21.0912 -18.1093 -0.2 endloop endfacet facet normal 0.237758 0.971324 -0 outer loop - vertex -21.0912 -18.1093 -0.1 + vertex -21.0912 -18.1093 -0.2 vertex -21.2545 -18.0693 0 vertex -21.0912 -18.1093 0 endloop @@ -11020,13 +11020,13 @@ solid OpenSCAD_Model facet normal 0.237758 0.971324 0 outer loop vertex -21.2545 -18.0693 0 - vertex -21.0912 -18.1093 -0.1 - vertex -21.2545 -18.0693 -0.1 + vertex -21.0912 -18.1093 -0.2 + vertex -21.2545 -18.0693 -0.2 endloop endfacet facet normal 0.389432 0.921055 -0 outer loop - vertex -21.2545 -18.0693 -0.1 + vertex -21.2545 -18.0693 -0.2 vertex -21.378 -18.0171 0 vertex -21.2545 -18.0693 0 endloop @@ -11034,13 +11034,13 @@ solid OpenSCAD_Model facet normal 0.389432 0.921055 0 outer loop vertex -21.378 -18.0171 0 - vertex -21.2545 -18.0693 -0.1 - vertex -21.378 -18.0171 -0.1 + vertex -21.2545 -18.0693 -0.2 + vertex -21.378 -18.0171 -0.2 endloop endfacet facet normal 0.679889 0.733315 -0 outer loop - vertex -21.378 -18.0171 -0.1 + vertex -21.378 -18.0171 -0.2 vertex -21.4669 -17.9347 0 vertex -21.378 -18.0171 0 endloop @@ -11048,139 +11048,139 @@ solid OpenSCAD_Model facet normal 0.679889 0.733315 0 outer loop vertex -21.4669 -17.9347 0 - vertex -21.378 -18.0171 -0.1 - vertex -21.4669 -17.9347 -0.1 + vertex -21.378 -18.0171 -0.2 + vertex -21.4669 -17.9347 -0.2 endloop endfacet facet normal 0.910139 0.414303 0 outer loop vertex -21.4669 -17.9347 0 - vertex -21.5263 -17.8042 -0.1 + vertex -21.5263 -17.8042 -0.2 vertex -21.5263 -17.8042 0 endloop endfacet facet normal 0.910139 0.414303 0 outer loop - vertex -21.5263 -17.8042 -0.1 + vertex -21.5263 -17.8042 -0.2 vertex -21.4669 -17.9347 0 - vertex -21.4669 -17.9347 -0.1 + vertex -21.4669 -17.9347 -0.2 endloop endfacet facet normal 0.984407 0.175905 0 outer loop vertex -21.5263 -17.8042 0 - vertex -21.5614 -17.6077 -0.1 + vertex -21.5614 -17.6077 -0.2 vertex -21.5614 -17.6077 0 endloop endfacet facet normal 0.984407 0.175905 0 outer loop - vertex -21.5614 -17.6077 -0.1 + vertex -21.5614 -17.6077 -0.2 vertex -21.5263 -17.8042 0 - vertex -21.5263 -17.8042 -0.1 + vertex -21.5263 -17.8042 -0.2 endloop endfacet facet normal 0.998374 0.057002 0 outer loop vertex -21.5614 -17.6077 0 - vertex -21.5774 -17.3273 -0.1 + vertex -21.5774 -17.3273 -0.2 vertex -21.5774 -17.3273 0 endloop endfacet facet normal 0.998374 0.057002 0 outer loop - vertex -21.5774 -17.3273 -0.1 + vertex -21.5774 -17.3273 -0.2 vertex -21.5614 -17.6077 0 - vertex -21.5614 -17.6077 -0.1 + vertex -21.5614 -17.6077 -0.2 endloop endfacet facet normal 0.999987 -0.00513458 0 outer loop vertex -21.5774 -17.3273 0 - vertex -21.5729 -16.4428 -0.1 + vertex -21.5729 -16.4428 -0.2 vertex -21.5729 -16.4428 0 endloop endfacet facet normal 0.999987 -0.00513458 0 outer loop - vertex -21.5729 -16.4428 -0.1 + vertex -21.5729 -16.4428 -0.2 vertex -21.5774 -17.3273 0 - vertex -21.5774 -17.3273 -0.1 + vertex -21.5774 -17.3273 -0.2 endloop endfacet facet normal 0.999992 -0.00401347 0 outer loop vertex -21.5729 -16.4428 0 - vertex -21.5693 -15.5508 -0.1 + vertex -21.5693 -15.5508 -0.2 vertex -21.5693 -15.5508 0 endloop endfacet facet normal 0.999992 -0.00401347 0 outer loop - vertex -21.5693 -15.5508 -0.1 + vertex -21.5693 -15.5508 -0.2 vertex -21.5729 -16.4428 0 - vertex -21.5729 -16.4428 -0.1 + vertex -21.5729 -16.4428 -0.2 endloop endfacet facet normal 0.997925 0.0643945 0 outer loop vertex -21.5693 -15.5508 0 - vertex -21.5879 -15.2616 -0.1 + vertex -21.5879 -15.2616 -0.2 vertex -21.5879 -15.2616 0 endloop endfacet facet normal 0.997925 0.0643945 0 outer loop - vertex -21.5879 -15.2616 -0.1 + vertex -21.5879 -15.2616 -0.2 vertex -21.5693 -15.5508 0 - vertex -21.5693 -15.5508 -0.1 + vertex -21.5693 -15.5508 -0.2 endloop endfacet facet normal 0.982338 0.187114 0 outer loop vertex -21.5879 -15.2616 0 - vertex -21.6284 -15.0493 -0.1 + vertex -21.6284 -15.0493 -0.2 vertex -21.6284 -15.0493 0 endloop endfacet facet normal 0.982338 0.187114 0 outer loop - vertex -21.6284 -15.0493 -0.1 + vertex -21.6284 -15.0493 -0.2 vertex -21.5879 -15.2616 0 - vertex -21.5879 -15.2616 -0.1 + vertex -21.5879 -15.2616 -0.2 endloop endfacet facet normal 0.915958 0.401274 0 outer loop vertex -21.6284 -15.0493 0 - vertex -21.6966 -14.8935 -0.1 + vertex -21.6966 -14.8935 -0.2 vertex -21.6966 -14.8935 0 endloop endfacet facet normal 0.915958 0.401274 0 outer loop - vertex -21.6966 -14.8935 -0.1 + vertex -21.6966 -14.8935 -0.2 vertex -21.6284 -15.0493 0 - vertex -21.6284 -15.0493 -0.1 + vertex -21.6284 -15.0493 -0.2 endloop endfacet facet normal 0.761577 0.648074 0 outer loop vertex -21.6966 -14.8935 0 - vertex -21.7989 -14.7733 -0.1 + vertex -21.7989 -14.7733 -0.2 vertex -21.7989 -14.7733 0 endloop endfacet facet normal 0.761577 0.648074 0 outer loop - vertex -21.7989 -14.7733 -0.1 + vertex -21.7989 -14.7733 -0.2 vertex -21.6966 -14.8935 0 - vertex -21.6966 -14.8935 -0.1 + vertex -21.6966 -14.8935 -0.2 endloop endfacet facet normal 0.593991 0.804472 -0 outer loop - vertex -21.7989 -14.7733 -0.1 + vertex -21.7989 -14.7733 -0.2 vertex -21.9412 -14.6683 0 vertex -21.7989 -14.7733 0 endloop @@ -11188,13 +11188,13 @@ solid OpenSCAD_Model facet normal 0.593991 0.804472 0 outer loop vertex -21.9412 -14.6683 0 - vertex -21.7989 -14.7733 -0.1 - vertex -21.9412 -14.6683 -0.1 + vertex -21.7989 -14.7733 -0.2 + vertex -21.9412 -14.6683 -0.2 endloop endfacet facet normal 0.506241 0.862392 -0 outer loop - vertex -21.9412 -14.6683 -0.1 + vertex -21.9412 -14.6683 -0.2 vertex -22.1296 -14.5577 0 vertex -21.9412 -14.6683 0 endloop @@ -11202,13 +11202,13 @@ solid OpenSCAD_Model facet normal 0.506241 0.862392 0 outer loop vertex -22.1296 -14.5577 0 - vertex -21.9412 -14.6683 -0.1 - vertex -22.1296 -14.5577 -0.1 + vertex -21.9412 -14.6683 -0.2 + vertex -22.1296 -14.5577 -0.2 endloop endfacet facet normal 0.406178 0.913794 -0 outer loop - vertex -22.1296 -14.5577 -0.1 + vertex -22.1296 -14.5577 -0.2 vertex -22.3213 -14.4724 0 vertex -22.1296 -14.5577 0 endloop @@ -11216,13 +11216,13 @@ solid OpenSCAD_Model facet normal 0.406178 0.913794 0 outer loop vertex -22.3213 -14.4724 0 - vertex -22.1296 -14.5577 -0.1 - vertex -22.3213 -14.4724 -0.1 + vertex -22.1296 -14.5577 -0.2 + vertex -22.3213 -14.4724 -0.2 endloop endfacet facet normal 0.272589 0.962131 -0 outer loop - vertex -22.3213 -14.4724 -0.1 + vertex -22.3213 -14.4724 -0.2 vertex -22.5778 -14.3998 0 vertex -22.3213 -14.4724 0 endloop @@ -11230,13 +11230,13 @@ solid OpenSCAD_Model facet normal 0.272589 0.962131 0 outer loop vertex -22.5778 -14.3998 0 - vertex -22.3213 -14.4724 -0.1 - vertex -22.5778 -14.3998 -0.1 + vertex -22.3213 -14.4724 -0.2 + vertex -22.5778 -14.3998 -0.2 endloop endfacet facet normal 0.181059 0.983472 -0 outer loop - vertex -22.5778 -14.3998 -0.1 + vertex -22.5778 -14.3998 -0.2 vertex -22.9103 -14.3386 0 vertex -22.5778 -14.3998 0 endloop @@ -11244,13 +11244,13 @@ solid OpenSCAD_Model facet normal 0.181059 0.983472 0 outer loop vertex -22.9103 -14.3386 0 - vertex -22.5778 -14.3998 -0.1 - vertex -22.9103 -14.3386 -0.1 + vertex -22.5778 -14.3998 -0.2 + vertex -22.9103 -14.3386 -0.2 endloop endfacet facet normal 0.120311 0.992736 -0 outer loop - vertex -22.9103 -14.3386 -0.1 + vertex -22.9103 -14.3386 -0.2 vertex -23.3301 -14.2877 0 vertex -22.9103 -14.3386 0 endloop @@ -11258,13 +11258,13 @@ solid OpenSCAD_Model facet normal 0.120311 0.992736 0 outer loop vertex -23.3301 -14.2877 0 - vertex -22.9103 -14.3386 -0.1 - vertex -23.3301 -14.2877 -0.1 + vertex -22.9103 -14.3386 -0.2 + vertex -23.3301 -14.2877 -0.2 endloop endfacet facet normal 0.0654234 0.997858 -0 outer loop - vertex -23.3301 -14.2877 -0.1 + vertex -23.3301 -14.2877 -0.2 vertex -24.4767 -14.2125 0 vertex -23.3301 -14.2877 0 endloop @@ -11272,13 +11272,13 @@ solid OpenSCAD_Model facet normal 0.0654234 0.997858 0 outer loop vertex -24.4767 -14.2125 0 - vertex -23.3301 -14.2877 -0.1 - vertex -24.4767 -14.2125 -0.1 + vertex -23.3301 -14.2877 -0.2 + vertex -24.4767 -14.2125 -0.2 endloop endfacet facet normal 0.0288976 0.999582 -0 outer loop - vertex -24.4767 -14.2125 -0.1 + vertex -24.4767 -14.2125 -0.2 vertex -26.1077 -14.1654 0 vertex -24.4767 -14.2125 0 endloop @@ -11286,13 +11286,13 @@ solid OpenSCAD_Model facet normal 0.0288976 0.999582 0 outer loop vertex -26.1077 -14.1654 0 - vertex -24.4767 -14.2125 -0.1 - vertex -26.1077 -14.1654 -0.1 + vertex -24.4767 -14.2125 -0.2 + vertex -26.1077 -14.1654 -0.2 endloop endfacet facet normal 0.0099076 0.999951 -0 outer loop - vertex -26.1077 -14.1654 -0.1 + vertex -26.1077 -14.1654 -0.2 vertex -28.2448 -14.1442 0 vertex -26.1077 -14.1654 0 endloop @@ -11300,13 +11300,13 @@ solid OpenSCAD_Model facet normal 0.0099076 0.999951 0 outer loop vertex -28.2448 -14.1442 0 - vertex -26.1077 -14.1654 -0.1 - vertex -28.2448 -14.1442 -0.1 + vertex -26.1077 -14.1654 -0.2 + vertex -28.2448 -14.1442 -0.2 endloop endfacet facet normal -0.0184714 0.999829 0 outer loop - vertex -28.2448 -14.1442 -0.1 + vertex -28.2448 -14.1442 -0.2 vertex -28.9898 -14.1579 0 vertex -28.2448 -14.1442 0 endloop @@ -11314,13 +11314,13 @@ solid OpenSCAD_Model facet normal -0.0184714 0.999829 0 outer loop vertex -28.9898 -14.1579 0 - vertex -28.2448 -14.1442 -0.1 - vertex -28.9898 -14.1579 -0.1 + vertex -28.2448 -14.1442 -0.2 + vertex -28.9898 -14.1579 -0.2 endloop endfacet facet normal -0.0583775 0.998295 0 outer loop - vertex -28.9898 -14.1579 -0.1 + vertex -28.9898 -14.1579 -0.2 vertex -29.549 -14.1906 0 vertex -28.9898 -14.1579 0 endloop @@ -11328,13 +11328,13 @@ solid OpenSCAD_Model facet normal -0.0583775 0.998295 0 outer loop vertex -29.549 -14.1906 0 - vertex -28.9898 -14.1579 -0.1 - vertex -29.549 -14.1906 -0.1 + vertex -28.9898 -14.1579 -0.2 + vertex -29.549 -14.1906 -0.2 endloop endfacet facet normal -0.134346 0.990934 0 outer loop - vertex -29.549 -14.1906 -0.1 + vertex -29.549 -14.1906 -0.2 vertex -29.9449 -14.2443 0 vertex -29.549 -14.1906 0 endloop @@ -11342,13 +11342,13 @@ solid OpenSCAD_Model facet normal -0.134346 0.990934 0 outer loop vertex -29.9449 -14.2443 0 - vertex -29.549 -14.1906 -0.1 - vertex -29.9449 -14.2443 -0.1 + vertex -29.549 -14.1906 -0.2 + vertex -29.9449 -14.2443 -0.2 endloop endfacet facet normal -0.287948 0.957646 0 outer loop - vertex -29.9449 -14.2443 -0.1 + vertex -29.9449 -14.2443 -0.2 vertex -30.1999 -14.321 0 vertex -29.9449 -14.2443 0 endloop @@ -11356,13 +11356,13 @@ solid OpenSCAD_Model facet normal -0.287948 0.957646 0 outer loop vertex -30.1999 -14.321 0 - vertex -29.9449 -14.2443 -0.1 - vertex -30.1999 -14.321 -0.1 + vertex -29.9449 -14.2443 -0.2 + vertex -30.1999 -14.321 -0.2 endloop endfacet facet normal -0.503498 0.863996 0 outer loop - vertex -30.1999 -14.321 -0.1 + vertex -30.1999 -14.321 -0.2 vertex -30.2816 -14.3686 0 vertex -30.1999 -14.321 0 endloop @@ -11370,13 +11370,13 @@ solid OpenSCAD_Model facet normal -0.503498 0.863996 0 outer loop vertex -30.2816 -14.3686 0 - vertex -30.1999 -14.321 -0.1 - vertex -30.2816 -14.3686 -0.1 + vertex -30.1999 -14.321 -0.2 + vertex -30.2816 -14.3686 -0.2 endloop endfacet facet normal -0.702151 0.712028 0 outer loop - vertex -30.2816 -14.3686 -0.1 + vertex -30.2816 -14.3686 -0.2 vertex -30.3364 -14.4227 0 vertex -30.2816 -14.3686 0 endloop @@ -11384,237 +11384,237 @@ solid OpenSCAD_Model facet normal -0.702151 0.712028 0 outer loop vertex -30.3364 -14.4227 0 - vertex -30.2816 -14.3686 -0.1 - vertex -30.3364 -14.4227 -0.1 + vertex -30.2816 -14.3686 -0.2 + vertex -30.3364 -14.4227 -0.2 endloop endfacet facet normal -0.891918 0.452198 0 outer loop - vertex -30.3673 -14.4836 -0.1 + vertex -30.3673 -14.4836 -0.2 vertex -30.3364 -14.4227 0 - vertex -30.3364 -14.4227 -0.1 + vertex -30.3364 -14.4227 -0.2 endloop endfacet facet normal -0.891918 0.452198 0 outer loop vertex -30.3364 -14.4227 0 - vertex -30.3673 -14.4836 -0.1 + vertex -30.3673 -14.4836 -0.2 vertex -30.3673 -14.4836 0 endloop endfacet facet normal -0.990022 0.140913 0 outer loop - vertex -30.377 -14.5514 -0.1 + vertex -30.377 -14.5514 -0.2 vertex -30.3673 -14.4836 0 - vertex -30.3673 -14.4836 -0.1 + vertex -30.3673 -14.4836 -0.2 endloop endfacet facet normal -0.990022 0.140913 0 outer loop vertex -30.3673 -14.4836 0 - vertex -30.377 -14.5514 -0.1 + vertex -30.377 -14.5514 -0.2 vertex -30.377 -14.5514 0 endloop endfacet facet normal -0.969743 0.244126 0 outer loop - vertex -30.4158 -14.7057 -0.1 + vertex -30.4158 -14.7057 -0.2 vertex -30.377 -14.5514 0 - vertex -30.377 -14.5514 -0.1 + vertex -30.377 -14.5514 -0.2 endloop endfacet facet normal -0.969743 0.244126 0 outer loop vertex -30.377 -14.5514 0 - vertex -30.4158 -14.7057 -0.1 + vertex -30.4158 -14.7057 -0.2 vertex -30.4158 -14.7057 0 endloop endfacet facet normal -0.925454 0.378859 0 outer loop - vertex -30.5215 -14.964 -0.1 + vertex -30.5215 -14.964 -0.2 vertex -30.4158 -14.7057 0 - vertex -30.4158 -14.7057 -0.1 + vertex -30.4158 -14.7057 -0.2 endloop endfacet facet normal -0.925454 0.378859 0 outer loop vertex -30.4158 -14.7057 0 - vertex -30.5215 -14.964 -0.1 + vertex -30.5215 -14.964 -0.2 vertex -30.5215 -14.964 0 endloop endfacet facet normal -0.901668 0.432429 0 outer loop - vertex -30.678 -15.2903 -0.1 + vertex -30.678 -15.2903 -0.2 vertex -30.5215 -14.964 0 - vertex -30.5215 -14.964 -0.1 + vertex -30.5215 -14.964 -0.2 endloop endfacet facet normal -0.901668 0.432429 0 outer loop vertex -30.5215 -14.964 0 - vertex -30.678 -15.2903 -0.1 + vertex -30.678 -15.2903 -0.2 vertex -30.678 -15.2903 0 endloop endfacet facet normal -0.882363 0.47057 0 outer loop - vertex -30.8691 -15.6487 -0.1 + vertex -30.8691 -15.6487 -0.2 vertex -30.678 -15.2903 0 - vertex -30.678 -15.2903 -0.1 + vertex -30.678 -15.2903 -0.2 endloop endfacet facet normal -0.882363 0.47057 0 outer loop vertex -30.678 -15.2903 0 - vertex -30.8691 -15.6487 -0.1 + vertex -30.8691 -15.6487 -0.2 vertex -30.8691 -15.6487 0 endloop endfacet facet normal -0.892172 0.451696 0 outer loop - vertex -31.1223 -16.1487 -0.1 + vertex -31.1223 -16.1487 -0.2 vertex -30.8691 -15.6487 0 - vertex -30.8691 -15.6487 -0.1 + vertex -30.8691 -15.6487 -0.2 endloop endfacet facet normal -0.892172 0.451696 0 outer loop vertex -30.8691 -15.6487 0 - vertex -31.1223 -16.1487 -0.1 + vertex -31.1223 -16.1487 -0.2 vertex -31.1223 -16.1487 0 endloop endfacet facet normal -0.909515 0.415671 0 outer loop - vertex -31.4477 -16.8607 -0.1 + vertex -31.4477 -16.8607 -0.2 vertex -31.1223 -16.1487 0 - vertex -31.1223 -16.1487 -0.1 + vertex -31.1223 -16.1487 -0.2 endloop endfacet facet normal -0.909515 0.415671 0 outer loop vertex -31.1223 -16.1487 0 - vertex -31.4477 -16.8607 -0.1 + vertex -31.4477 -16.8607 -0.2 vertex -31.4477 -16.8607 0 endloop endfacet facet normal -0.918988 0.394285 0 outer loop - vertex -31.8034 -17.6899 -0.1 + vertex -31.8034 -17.6899 -0.2 vertex -31.4477 -16.8607 0 - vertex -31.4477 -16.8607 -0.1 + vertex -31.4477 -16.8607 -0.2 endloop endfacet facet normal -0.918988 0.394285 0 outer loop vertex -31.4477 -16.8607 0 - vertex -31.8034 -17.6899 -0.1 + vertex -31.8034 -17.6899 -0.2 vertex -31.8034 -17.6899 0 endloop endfacet facet normal -0.927129 0.374741 0 outer loop - vertex -32.1476 -18.5412 -0.1 + vertex -32.1476 -18.5412 -0.2 vertex -31.8034 -17.6899 0 - vertex -31.8034 -17.6899 -0.1 + vertex -31.8034 -17.6899 -0.2 endloop endfacet facet normal -0.927129 0.374741 0 outer loop vertex -31.8034 -17.6899 0 - vertex -32.1476 -18.5412 -0.1 + vertex -32.1476 -18.5412 -0.2 vertex -32.1476 -18.5412 0 endloop endfacet facet normal -0.929897 0.36782 0 outer loop - vertex -33.2902 -21.4299 -0.1 + vertex -33.2902 -21.4299 -0.2 vertex -32.1476 -18.5412 0 - vertex -32.1476 -18.5412 -0.1 + vertex -32.1476 -18.5412 -0.2 endloop endfacet facet normal -0.929897 0.36782 0 outer loop vertex -32.1476 -18.5412 0 - vertex -33.2902 -21.4299 -0.1 + vertex -33.2902 -21.4299 -0.2 vertex -33.2902 -21.4299 0 endloop endfacet facet normal -0.931897 0.362724 0 outer loop - vertex -33.4325 -21.7956 -0.1 + vertex -33.4325 -21.7956 -0.2 vertex -33.2902 -21.4299 0 - vertex -33.2902 -21.4299 -0.1 + vertex -33.2902 -21.4299 -0.2 endloop endfacet facet normal -0.931897 0.362724 0 outer loop vertex -33.2902 -21.4299 0 - vertex -33.4325 -21.7956 -0.1 + vertex -33.4325 -21.7956 -0.2 vertex -33.4325 -21.7956 0 endloop endfacet facet normal -0.968991 0.247098 0 outer loop - vertex -33.503 -22.0719 -0.1 + vertex -33.503 -22.0719 -0.2 vertex -33.4325 -21.7956 0 - vertex -33.4325 -21.7956 -0.1 + vertex -33.4325 -21.7956 -0.2 endloop endfacet facet normal -0.968991 0.247098 0 outer loop vertex -33.4325 -21.7956 0 - vertex -33.503 -22.0719 -0.1 + vertex -33.503 -22.0719 -0.2 vertex -33.503 -22.0719 0 endloop endfacet facet normal -0.999995 -0.00318704 0 outer loop - vertex -33.5026 -22.1809 -0.1 + vertex -33.5026 -22.1809 -0.2 vertex -33.503 -22.0719 0 - vertex -33.503 -22.0719 -0.1 + vertex -33.503 -22.0719 -0.2 endloop endfacet facet normal -0.999995 -0.00318704 0 outer loop vertex -33.503 -22.0719 0 - vertex -33.5026 -22.1809 -0.1 + vertex -33.5026 -22.1809 -0.2 vertex -33.5026 -22.1809 0 endloop endfacet facet normal -0.954349 -0.298693 0 outer loop - vertex -33.4739 -22.2725 -0.1 + vertex -33.4739 -22.2725 -0.2 vertex -33.5026 -22.1809 0 - vertex -33.5026 -22.1809 -0.1 + vertex -33.5026 -22.1809 -0.2 endloop endfacet facet normal -0.954349 -0.298693 0 outer loop vertex -33.5026 -22.1809 0 - vertex -33.4739 -22.2725 -0.1 + vertex -33.4739 -22.2725 -0.2 vertex -33.4739 -22.2725 0 endloop endfacet facet normal -0.782807 -0.622265 0 outer loop - vertex -33.4135 -22.3486 -0.1 + vertex -33.4135 -22.3486 -0.2 vertex -33.4739 -22.2725 0 - vertex -33.4739 -22.2725 -0.1 + vertex -33.4739 -22.2725 -0.2 endloop endfacet facet normal -0.782807 -0.622265 0 outer loop vertex -33.4739 -22.2725 0 - vertex -33.4135 -22.3486 -0.1 + vertex -33.4135 -22.3486 -0.2 vertex -33.4135 -22.3486 0 endloop endfacet facet normal -0.544751 -0.838598 0 outer loop - vertex -33.4135 -22.3486 -0.1 + vertex -33.4135 -22.3486 -0.2 vertex -33.3177 -22.4108 0 vertex -33.4135 -22.3486 0 endloop @@ -11622,13 +11622,13 @@ solid OpenSCAD_Model facet normal -0.544751 -0.838598 -0 outer loop vertex -33.3177 -22.4108 0 - vertex -33.4135 -22.3486 -0.1 - vertex -33.3177 -22.4108 -0.1 + vertex -33.4135 -22.3486 -0.2 + vertex -33.3177 -22.4108 -0.2 endloop endfacet facet normal -0.348432 -0.937334 0 outer loop - vertex -33.3177 -22.4108 -0.1 + vertex -33.3177 -22.4108 -0.2 vertex -33.1833 -22.4608 0 vertex -33.3177 -22.4108 0 endloop @@ -11636,13 +11636,13 @@ solid OpenSCAD_Model facet normal -0.348432 -0.937334 -0 outer loop vertex -33.1833 -22.4608 0 - vertex -33.3177 -22.4108 -0.1 - vertex -33.1833 -22.4608 -0.1 + vertex -33.3177 -22.4108 -0.2 + vertex -33.1833 -22.4608 -0.2 endloop endfacet facet normal -0.218014 -0.975946 0 outer loop - vertex -33.1833 -22.4608 -0.1 + vertex -33.1833 -22.4608 -0.2 vertex -33.0067 -22.5002 0 vertex -33.1833 -22.4608 0 endloop @@ -11650,13 +11650,13 @@ solid OpenSCAD_Model facet normal -0.218014 -0.975946 -0 outer loop vertex -33.0067 -22.5002 0 - vertex -33.1833 -22.4608 -0.1 - vertex -33.0067 -22.5002 -0.1 + vertex -33.1833 -22.4608 -0.2 + vertex -33.0067 -22.5002 -0.2 endloop endfacet facet normal -0.108894 -0.994053 0 outer loop - vertex -33.0067 -22.5002 -0.1 + vertex -33.0067 -22.5002 -0.2 vertex -32.5132 -22.5543 0 vertex -33.0067 -22.5002 0 endloop @@ -11664,13 +11664,13 @@ solid OpenSCAD_Model facet normal -0.108894 -0.994053 -0 outer loop vertex -32.5132 -22.5543 0 - vertex -33.0067 -22.5002 -0.1 - vertex -32.5132 -22.5543 -0.1 + vertex -33.0067 -22.5002 -0.2 + vertex -32.5132 -22.5543 -0.2 endloop endfacet facet normal -0.0456949 -0.998955 0 outer loop - vertex -32.5132 -22.5543 -0.1 + vertex -32.5132 -22.5543 -0.2 vertex -31.8095 -22.5865 0 vertex -32.5132 -22.5543 0 endloop @@ -11678,13 +11678,13 @@ solid OpenSCAD_Model facet normal -0.0456949 -0.998955 -0 outer loop vertex -31.8095 -22.5865 0 - vertex -32.5132 -22.5543 -0.1 - vertex -31.8095 -22.5865 -0.1 + vertex -32.5132 -22.5543 -0.2 + vertex -31.8095 -22.5865 -0.2 endloop endfacet facet normal -0.0252584 -0.999681 0 outer loop - vertex -31.8095 -22.5865 -0.1 + vertex -31.8095 -22.5865 -0.2 vertex -30.868 -22.6102 0 vertex -31.8095 -22.5865 0 endloop @@ -11692,13 +11692,13 @@ solid OpenSCAD_Model facet normal -0.0252584 -0.999681 -0 outer loop vertex -30.868 -22.6102 0 - vertex -31.8095 -22.5865 -0.1 - vertex -30.868 -22.6102 -0.1 + vertex -31.8095 -22.5865 -0.2 + vertex -30.868 -22.6102 -0.2 endloop endfacet facet normal -0.0103281 -0.999947 0 outer loop - vertex -30.868 -22.6102 -0.1 + vertex -30.868 -22.6102 -0.2 vertex -30.2322 -22.6168 0 vertex -30.868 -22.6102 0 endloop @@ -11706,13 +11706,13 @@ solid OpenSCAD_Model facet normal -0.0103281 -0.999947 -0 outer loop vertex -30.2322 -22.6168 0 - vertex -30.868 -22.6102 -0.1 - vertex -30.2322 -22.6168 -0.1 + vertex -30.868 -22.6102 -0.2 + vertex -30.2322 -22.6168 -0.2 endloop endfacet facet normal 0.0183057 -0.999832 0 outer loop - vertex -30.2322 -22.6168 -0.1 + vertex -30.2322 -22.6168 -0.2 vertex -29.6427 -22.606 0 vertex -30.2322 -22.6168 0 endloop @@ -11720,13 +11720,13 @@ solid OpenSCAD_Model facet normal 0.0183057 -0.999832 0 outer loop vertex -29.6427 -22.606 0 - vertex -30.2322 -22.6168 -0.1 - vertex -29.6427 -22.606 -0.1 + vertex -30.2322 -22.6168 -0.2 + vertex -29.6427 -22.606 -0.2 endloop endfacet facet normal 0.0536309 -0.998561 0 outer loop - vertex -29.6427 -22.606 -0.1 + vertex -29.6427 -22.606 -0.2 vertex -29.0966 -22.5767 0 vertex -29.6427 -22.606 0 endloop @@ -11734,13 +11734,13 @@ solid OpenSCAD_Model facet normal 0.0536309 -0.998561 0 outer loop vertex -29.0966 -22.5767 0 - vertex -29.6427 -22.606 -0.1 - vertex -29.0966 -22.5767 -0.1 + vertex -29.6427 -22.606 -0.2 + vertex -29.0966 -22.5767 -0.2 endloop endfacet facet normal 0.0966018 -0.995323 0 outer loop - vertex -29.0966 -22.5767 -0.1 + vertex -29.0966 -22.5767 -0.2 vertex -28.5914 -22.5277 0 vertex -29.0966 -22.5767 0 endloop @@ -11748,13 +11748,13 @@ solid OpenSCAD_Model facet normal 0.0966018 -0.995323 0 outer loop vertex -28.5914 -22.5277 0 - vertex -29.0966 -22.5767 -0.1 - vertex -28.5914 -22.5277 -0.1 + vertex -29.0966 -22.5767 -0.2 + vertex -28.5914 -22.5277 -0.2 endloop endfacet facet normal 0.148005 -0.988987 0 outer loop - vertex -28.5914 -22.5277 -0.1 + vertex -28.5914 -22.5277 -0.2 vertex -28.1242 -22.4577 0 vertex -28.5914 -22.5277 0 endloop @@ -11762,13 +11762,13 @@ solid OpenSCAD_Model facet normal 0.148005 -0.988987 0 outer loop vertex -28.1242 -22.4577 0 - vertex -28.5914 -22.5277 -0.1 - vertex -28.1242 -22.4577 -0.1 + vertex -28.5914 -22.5277 -0.2 + vertex -28.1242 -22.4577 -0.2 endloop endfacet facet normal 0.208284 -0.978068 0 outer loop - vertex -28.1242 -22.4577 -0.1 + vertex -28.1242 -22.4577 -0.2 vertex -27.6923 -22.3658 0 vertex -28.1242 -22.4577 0 endloop @@ -11776,13 +11776,13 @@ solid OpenSCAD_Model facet normal 0.208284 -0.978068 0 outer loop vertex -27.6923 -22.3658 0 - vertex -28.1242 -22.4577 -0.1 - vertex -27.6923 -22.3658 -0.1 + vertex -28.1242 -22.4577 -0.2 + vertex -27.6923 -22.3658 -0.2 endloop endfacet facet normal 0.277178 -0.960818 0 outer loop - vertex -27.6923 -22.3658 -0.1 + vertex -27.6923 -22.3658 -0.2 vertex -27.2929 -22.2506 0 vertex -27.6923 -22.3658 0 endloop @@ -11790,13 +11790,13 @@ solid OpenSCAD_Model facet normal 0.277178 -0.960818 0 outer loop vertex -27.2929 -22.2506 0 - vertex -27.6923 -22.3658 -0.1 - vertex -27.2929 -22.2506 -0.1 + vertex -27.6923 -22.3658 -0.2 + vertex -27.2929 -22.2506 -0.2 endloop endfacet facet normal 0.353412 -0.935468 0 outer loop - vertex -27.2929 -22.2506 -0.1 + vertex -27.2929 -22.2506 -0.2 vertex -26.9234 -22.1109 0 vertex -27.2929 -22.2506 0 endloop @@ -11804,13 +11804,13 @@ solid OpenSCAD_Model facet normal 0.353412 -0.935468 0 outer loop vertex -26.9234 -22.1109 0 - vertex -27.2929 -22.2506 -0.1 - vertex -26.9234 -22.1109 -0.1 + vertex -27.2929 -22.2506 -0.2 + vertex -26.9234 -22.1109 -0.2 endloop endfacet facet normal 0.434442 -0.9007 0 outer loop - vertex -26.9234 -22.1109 -0.1 + vertex -26.9234 -22.1109 -0.2 vertex -26.5809 -21.9457 0 vertex -26.9234 -22.1109 0 endloop @@ -11818,13 +11818,13 @@ solid OpenSCAD_Model facet normal 0.434442 -0.9007 0 outer loop vertex -26.5809 -21.9457 0 - vertex -26.9234 -22.1109 -0.1 - vertex -26.5809 -21.9457 -0.1 + vertex -26.9234 -22.1109 -0.2 + vertex -26.5809 -21.9457 -0.2 endloop endfacet facet normal 0.516567 -0.856247 0 outer loop - vertex -26.5809 -21.9457 -0.1 + vertex -26.5809 -21.9457 -0.2 vertex -26.2627 -21.7538 0 vertex -26.5809 -21.9457 0 endloop @@ -11832,13 +11832,13 @@ solid OpenSCAD_Model facet normal 0.516567 -0.856247 0 outer loop vertex -26.2627 -21.7538 0 - vertex -26.5809 -21.9457 -0.1 - vertex -26.2627 -21.7538 -0.1 + vertex -26.5809 -21.9457 -0.2 + vertex -26.2627 -21.7538 -0.2 endloop endfacet facet normal 0.595538 -0.803327 0 outer loop - vertex -26.2627 -21.7538 -0.1 + vertex -26.2627 -21.7538 -0.2 vertex -25.9661 -21.5339 0 vertex -26.2627 -21.7538 0 endloop @@ -11846,13 +11846,13 @@ solid OpenSCAD_Model facet normal 0.595538 -0.803327 0 outer loop vertex -25.9661 -21.5339 0 - vertex -26.2627 -21.7538 -0.1 - vertex -25.9661 -21.5339 -0.1 + vertex -26.2627 -21.7538 -0.2 + vertex -25.9661 -21.5339 -0.2 endloop endfacet facet normal 0.667477 -0.744631 0 outer loop - vertex -25.9661 -21.5339 -0.1 + vertex -25.9661 -21.5339 -0.2 vertex -25.6884 -21.2849 0 vertex -25.9661 -21.5339 0 endloop @@ -11860,111 +11860,111 @@ solid OpenSCAD_Model facet normal 0.667477 -0.744631 0 outer loop vertex -25.6884 -21.2849 0 - vertex -25.9661 -21.5339 -0.1 - vertex -25.6884 -21.2849 -0.1 + vertex -25.9661 -21.5339 -0.2 + vertex -25.6884 -21.2849 -0.2 endloop endfacet facet normal 0.729709 -0.683757 0 outer loop vertex -25.6884 -21.2849 0 - vertex -25.4267 -21.0057 -0.1 + vertex -25.4267 -21.0057 -0.2 vertex -25.4267 -21.0057 0 endloop endfacet facet normal 0.729709 -0.683757 0 outer loop - vertex -25.4267 -21.0057 -0.1 + vertex -25.4267 -21.0057 -0.2 vertex -25.6884 -21.2849 0 - vertex -25.6884 -21.2849 -0.1 + vertex -25.6884 -21.2849 -0.2 endloop endfacet facet normal 0.781167 -0.624322 0 outer loop vertex -25.4267 -21.0057 0 - vertex -25.1784 -20.695 -0.1 + vertex -25.1784 -20.695 -0.2 vertex -25.1784 -20.695 0 endloop endfacet facet normal 0.781167 -0.624322 0 outer loop - vertex -25.1784 -20.695 -0.1 + vertex -25.1784 -20.695 -0.2 vertex -25.4267 -21.0057 0 - vertex -25.4267 -21.0057 -0.1 + vertex -25.4267 -21.0057 -0.2 endloop endfacet facet normal 0.82216 -0.569257 0 outer loop vertex -25.1784 -20.695 0 - vertex -24.9407 -20.3516 -0.1 + vertex -24.9407 -20.3516 -0.2 vertex -24.9407 -20.3516 0 endloop endfacet facet normal 0.82216 -0.569257 0 outer loop - vertex -24.9407 -20.3516 -0.1 + vertex -24.9407 -20.3516 -0.2 vertex -25.1784 -20.695 0 - vertex -25.1784 -20.695 -0.1 + vertex -25.1784 -20.695 -0.2 endloop endfacet facet normal 0.853894 -0.520447 0 outer loop vertex -24.9407 -20.3516 0 - vertex -24.7108 -19.9745 -0.1 + vertex -24.7108 -19.9745 -0.2 vertex -24.7108 -19.9745 0 endloop endfacet facet normal 0.853894 -0.520447 0 outer loop - vertex -24.7108 -19.9745 -0.1 + vertex -24.7108 -19.9745 -0.2 vertex -24.9407 -20.3516 0 - vertex -24.9407 -20.3516 -0.1 + vertex -24.9407 -20.3516 -0.2 endloop endfacet facet normal 0.85126 -0.524745 0 outer loop vertex -24.7108 -19.9745 0 - vertex -24.3738 -19.4278 -0.1 + vertex -24.3738 -19.4278 -0.2 vertex -24.3738 -19.4278 0 endloop endfacet facet normal 0.85126 -0.524745 0 outer loop - vertex -24.3738 -19.4278 -0.1 + vertex -24.3738 -19.4278 -0.2 vertex -24.7108 -19.9745 0 - vertex -24.7108 -19.9745 -0.1 + vertex -24.7108 -19.9745 -0.2 endloop endfacet facet normal 0.796036 -0.60525 0 outer loop vertex -24.3738 -19.4278 0 - vertex -24.2328 -19.2424 -0.1 + vertex -24.2328 -19.2424 -0.2 vertex -24.2328 -19.2424 0 endloop endfacet facet normal 0.796036 -0.60525 0 outer loop - vertex -24.2328 -19.2424 -0.1 + vertex -24.2328 -19.2424 -0.2 vertex -24.3738 -19.4278 0 - vertex -24.3738 -19.4278 -0.1 + vertex -24.3738 -19.4278 -0.2 endloop endfacet facet normal 0.714094 -0.70005 0 outer loop vertex -24.2328 -19.2424 0 - vertex -24.0993 -19.1062 -0.1 + vertex -24.0993 -19.1062 -0.2 vertex -24.0993 -19.1062 0 endloop endfacet facet normal 0.714094 -0.70005 0 outer loop - vertex -24.0993 -19.1062 -0.1 + vertex -24.0993 -19.1062 -0.2 vertex -24.2328 -19.2424 0 - vertex -24.2328 -19.2424 -0.1 + vertex -24.2328 -19.2424 -0.2 endloop endfacet facet normal 0.573399 -0.819276 0 outer loop - vertex -24.0993 -19.1062 -0.1 + vertex -24.0993 -19.1062 -0.2 vertex -23.9653 -19.0124 0 vertex -24.0993 -19.1062 0 endloop @@ -11972,13 +11972,13 @@ solid OpenSCAD_Model facet normal 0.573399 -0.819276 0 outer loop vertex -23.9653 -19.0124 0 - vertex -24.0993 -19.1062 -0.1 - vertex -23.9653 -19.0124 -0.1 + vertex -24.0993 -19.1062 -0.2 + vertex -23.9653 -19.0124 -0.2 endloop endfacet facet normal 0.378849 -0.925458 0 outer loop - vertex -23.9653 -19.0124 -0.1 + vertex -23.9653 -19.0124 -0.2 vertex -23.8226 -18.954 0 vertex -23.9653 -19.0124 0 endloop @@ -11986,13 +11986,13 @@ solid OpenSCAD_Model facet normal 0.378849 -0.925458 0 outer loop vertex -23.8226 -18.954 0 - vertex -23.9653 -19.0124 -0.1 - vertex -23.8226 -18.954 -0.1 + vertex -23.9653 -19.0124 -0.2 + vertex -23.8226 -18.954 -0.2 endloop endfacet facet normal 0.184661 -0.982802 0 outer loop - vertex -23.8226 -18.954 -0.1 + vertex -23.8226 -18.954 -0.2 vertex -23.6632 -18.9241 0 vertex -23.8226 -18.954 0 endloop @@ -12000,13 +12000,13 @@ solid OpenSCAD_Model facet normal 0.184661 -0.982802 0 outer loop vertex -23.6632 -18.9241 0 - vertex -23.8226 -18.954 -0.1 - vertex -23.6632 -18.9241 -0.1 + vertex -23.8226 -18.954 -0.2 + vertex -23.6632 -18.9241 -0.2 endloop endfacet facet normal 0.0457652 -0.998952 0 outer loop - vertex -23.6632 -18.9241 -0.1 + vertex -23.6632 -18.9241 -0.2 vertex -23.4791 -18.9156 0 vertex -23.6632 -18.9241 0 endloop @@ -12014,13 +12014,13 @@ solid OpenSCAD_Model facet normal 0.0457652 -0.998952 0 outer loop vertex -23.4791 -18.9156 0 - vertex -23.6632 -18.9241 -0.1 - vertex -23.4791 -18.9156 -0.1 + vertex -23.6632 -18.9241 -0.2 + vertex -23.4791 -18.9156 -0.2 endloop endfacet facet normal -0.0578368 -0.998326 0 outer loop - vertex -23.4791 -18.9156 -0.1 + vertex -23.4791 -18.9156 -0.2 vertex -23.1186 -18.9365 0 vertex -23.4791 -18.9156 0 endloop @@ -12028,13 +12028,13 @@ solid OpenSCAD_Model facet normal -0.0578368 -0.998326 -0 outer loop vertex -23.1186 -18.9365 0 - vertex -23.4791 -18.9156 -0.1 - vertex -23.1186 -18.9365 -0.1 + vertex -23.4791 -18.9156 -0.2 + vertex -23.1186 -18.9365 -0.2 endloop endfacet facet normal -0.193675 -0.981066 0 outer loop - vertex -23.1186 -18.9365 -0.1 + vertex -23.1186 -18.9365 -0.2 vertex -22.9739 -18.9651 0 vertex -23.1186 -18.9365 0 endloop @@ -12042,13 +12042,13 @@ solid OpenSCAD_Model facet normal -0.193675 -0.981066 -0 outer loop vertex -22.9739 -18.9651 0 - vertex -23.1186 -18.9365 -0.1 - vertex -22.9739 -18.9651 -0.1 + vertex -23.1186 -18.9365 -0.2 + vertex -22.9739 -18.9651 -0.2 endloop endfacet facet normal -0.332798 -0.942998 0 outer loop - vertex -22.9739 -18.9651 -0.1 + vertex -22.9739 -18.9651 -0.2 vertex -22.8524 -19.008 0 vertex -22.9739 -18.9651 0 endloop @@ -12056,13 +12056,13 @@ solid OpenSCAD_Model facet normal -0.332798 -0.942998 -0 outer loop vertex -22.8524 -19.008 0 - vertex -22.9739 -18.9651 -0.1 - vertex -22.8524 -19.008 -0.1 + vertex -22.9739 -18.9651 -0.2 + vertex -22.8524 -19.008 -0.2 endloop endfacet facet normal -0.512852 -0.858477 0 outer loop - vertex -22.8524 -19.008 -0.1 + vertex -22.8524 -19.008 -0.2 vertex -22.7539 -19.0668 0 vertex -22.8524 -19.008 0 endloop @@ -12070,237 +12070,237 @@ solid OpenSCAD_Model facet normal -0.512852 -0.858477 -0 outer loop vertex -22.7539 -19.0668 0 - vertex -22.8524 -19.008 -0.1 - vertex -22.7539 -19.0668 -0.1 + vertex -22.8524 -19.008 -0.2 + vertex -22.7539 -19.0668 -0.2 endloop endfacet facet normal -0.710432 -0.703766 0 outer loop - vertex -22.6782 -19.1432 -0.1 + vertex -22.6782 -19.1432 -0.2 vertex -22.7539 -19.0668 0 - vertex -22.7539 -19.0668 -0.1 + vertex -22.7539 -19.0668 -0.2 endloop endfacet facet normal -0.710432 -0.703766 0 outer loop vertex -22.7539 -19.0668 0 - vertex -22.6782 -19.1432 -0.1 + vertex -22.6782 -19.1432 -0.2 vertex -22.6782 -19.1432 0 endloop endfacet facet normal -0.873955 -0.486007 0 outer loop - vertex -22.625 -19.2389 -0.1 + vertex -22.625 -19.2389 -0.2 vertex -22.6782 -19.1432 0 - vertex -22.6782 -19.1432 -0.1 + vertex -22.6782 -19.1432 -0.2 endloop endfacet facet normal -0.873955 -0.486007 0 outer loop vertex -22.6782 -19.1432 0 - vertex -22.625 -19.2389 -0.1 + vertex -22.625 -19.2389 -0.2 vertex -22.625 -19.2389 0 endloop endfacet facet normal -0.966491 -0.256701 0 outer loop - vertex -22.594 -19.3555 -0.1 + vertex -22.594 -19.3555 -0.2 vertex -22.625 -19.2389 0 - vertex -22.625 -19.2389 -0.1 + vertex -22.625 -19.2389 -0.2 endloop endfacet facet normal -0.966491 -0.256701 0 outer loop vertex -22.625 -19.2389 0 - vertex -22.594 -19.3555 -0.1 + vertex -22.594 -19.3555 -0.2 vertex -22.594 -19.3555 0 endloop endfacet facet normal -0.997923 -0.0644192 0 outer loop - vertex -22.585 -19.4947 -0.1 + vertex -22.585 -19.4947 -0.2 vertex -22.594 -19.3555 0 - vertex -22.594 -19.3555 -0.1 + vertex -22.594 -19.3555 -0.2 endloop endfacet facet normal -0.997923 -0.0644192 0 outer loop vertex -22.594 -19.3555 0 - vertex -22.585 -19.4947 -0.1 + vertex -22.585 -19.4947 -0.2 vertex -22.585 -19.4947 0 endloop endfacet facet normal -0.996972 0.0777592 0 outer loop - vertex -22.5978 -19.6581 -0.1 + vertex -22.5978 -19.6581 -0.2 vertex -22.585 -19.4947 0 - vertex -22.585 -19.4947 -0.1 + vertex -22.585 -19.4947 -0.2 endloop endfacet facet normal -0.996972 0.0777592 0 outer loop vertex -22.585 -19.4947 0 - vertex -22.5978 -19.6581 -0.1 + vertex -22.5978 -19.6581 -0.2 vertex -22.5978 -19.6581 0 endloop endfacet facet normal -0.976488 0.215571 0 outer loop - vertex -22.6874 -20.0641 -0.1 + vertex -22.6874 -20.0641 -0.2 vertex -22.5978 -19.6581 0 - vertex -22.5978 -19.6581 -0.1 + vertex -22.5978 -19.6581 -0.2 endloop endfacet facet normal -0.976488 0.215571 0 outer loop vertex -22.5978 -19.6581 0 - vertex -22.6874 -20.0641 -0.1 + vertex -22.6874 -20.0641 -0.2 vertex -22.6874 -20.0641 0 endloop endfacet facet normal -0.949119 0.314918 0 outer loop - vertex -22.8608 -20.5868 -0.1 + vertex -22.8608 -20.5868 -0.2 vertex -22.6874 -20.0641 0 - vertex -22.6874 -20.0641 -0.1 + vertex -22.6874 -20.0641 -0.2 endloop endfacet facet normal -0.949119 0.314918 0 outer loop vertex -22.6874 -20.0641 0 - vertex -22.8608 -20.5868 -0.1 + vertex -22.8608 -20.5868 -0.2 vertex -22.8608 -20.5868 0 endloop endfacet facet normal -0.931342 0.364145 0 outer loop - vertex -23.116 -21.2395 -0.1 + vertex -23.116 -21.2395 -0.2 vertex -22.8608 -20.5868 0 - vertex -22.8608 -20.5868 -0.1 + vertex -22.8608 -20.5868 -0.2 endloop endfacet facet normal -0.931342 0.364145 0 outer loop vertex -22.8608 -20.5868 0 - vertex -23.116 -21.2395 -0.1 + vertex -23.116 -21.2395 -0.2 vertex -23.116 -21.2395 0 endloop endfacet facet normal -0.926122 0.377225 0 outer loop - vertex -24.3958 -24.3815 -0.1 + vertex -24.3958 -24.3815 -0.2 vertex -23.116 -21.2395 0 - vertex -23.116 -21.2395 -0.1 + vertex -23.116 -21.2395 -0.2 endloop endfacet facet normal -0.926122 0.377225 0 outer loop vertex -23.116 -21.2395 0 - vertex -24.3958 -24.3815 -0.1 + vertex -24.3958 -24.3815 -0.2 vertex -24.3958 -24.3815 0 endloop endfacet facet normal -0.92485 0.380332 0 outer loop - vertex -24.9793 -25.8003 -0.1 + vertex -24.9793 -25.8003 -0.2 vertex -24.3958 -24.3815 0 - vertex -24.3958 -24.3815 -0.1 + vertex -24.3958 -24.3815 -0.2 endloop endfacet facet normal -0.92485 0.380332 0 outer loop vertex -24.3958 -24.3815 0 - vertex -24.9793 -25.8003 -0.1 + vertex -24.9793 -25.8003 -0.2 vertex -24.9793 -25.8003 0 endloop endfacet facet normal -0.917414 0.397935 0 outer loop - vertex -25.4624 -26.9141 -0.1 + vertex -25.4624 -26.9141 -0.2 vertex -24.9793 -25.8003 0 - vertex -24.9793 -25.8003 -0.1 + vertex -24.9793 -25.8003 -0.2 endloop endfacet facet normal -0.917414 0.397935 0 outer loop vertex -24.9793 -25.8003 0 - vertex -25.4624 -26.9141 -0.1 + vertex -25.4624 -26.9141 -0.2 vertex -25.4624 -26.9141 0 endloop endfacet facet normal -0.901103 0.433605 0 outer loop - vertex -25.8688 -27.7587 -0.1 + vertex -25.8688 -27.7587 -0.2 vertex -25.4624 -26.9141 0 - vertex -25.4624 -26.9141 -0.1 + vertex -25.4624 -26.9141 -0.2 endloop endfacet facet normal -0.901103 0.433605 0 outer loop vertex -25.4624 -26.9141 0 - vertex -25.8688 -27.7587 -0.1 + vertex -25.8688 -27.7587 -0.2 vertex -25.8688 -27.7587 0 endloop endfacet facet normal -0.87739 0.479778 0 outer loop - vertex -26.0506 -28.0911 -0.1 + vertex -26.0506 -28.0911 -0.2 vertex -25.8688 -27.7587 0 - vertex -25.8688 -27.7587 -0.1 + vertex -25.8688 -27.7587 -0.2 endloop endfacet facet normal -0.87739 0.479778 0 outer loop vertex -25.8688 -27.7587 0 - vertex -26.0506 -28.0911 -0.1 + vertex -26.0506 -28.0911 -0.2 vertex -26.0506 -28.0911 0 endloop endfacet facet normal -0.851572 0.524237 0 outer loop - vertex -26.2221 -28.3696 -0.1 + vertex -26.2221 -28.3696 -0.2 vertex -26.0506 -28.0911 0 - vertex -26.0506 -28.0911 -0.1 + vertex -26.0506 -28.0911 -0.2 endloop endfacet facet normal -0.851572 0.524237 0 outer loop vertex -26.0506 -28.0911 0 - vertex -26.2221 -28.3696 -0.1 + vertex -26.2221 -28.3696 -0.2 vertex -26.2221 -28.3696 0 endloop endfacet facet normal -0.812951 0.582331 0 outer loop - vertex -26.3861 -28.5987 -0.1 + vertex -26.3861 -28.5987 -0.2 vertex -26.2221 -28.3696 0 - vertex -26.2221 -28.3696 -0.1 + vertex -26.2221 -28.3696 -0.2 endloop endfacet facet normal -0.812951 0.582331 0 outer loop vertex -26.2221 -28.3696 0 - vertex -26.3861 -28.5987 -0.1 + vertex -26.3861 -28.5987 -0.2 vertex -26.3861 -28.5987 0 endloop endfacet facet normal -0.755407 0.655255 0 outer loop - vertex -26.5458 -28.7827 -0.1 + vertex -26.5458 -28.7827 -0.2 vertex -26.3861 -28.5987 0 - vertex -26.3861 -28.5987 -0.1 + vertex -26.3861 -28.5987 -0.2 endloop endfacet facet normal -0.755407 0.655255 0 outer loop vertex -26.3861 -28.5987 0 - vertex -26.5458 -28.7827 -0.1 + vertex -26.5458 -28.7827 -0.2 vertex -26.5458 -28.7827 0 endloop endfacet facet normal -0.671936 0.740609 0 outer loop - vertex -26.5458 -28.7827 -0.1 + vertex -26.5458 -28.7827 -0.2 vertex -26.7039 -28.9262 0 vertex -26.5458 -28.7827 0 endloop @@ -12308,13 +12308,13 @@ solid OpenSCAD_Model facet normal -0.671936 0.740609 0 outer loop vertex -26.7039 -28.9262 0 - vertex -26.5458 -28.7827 -0.1 - vertex -26.7039 -28.9262 -0.1 + vertex -26.5458 -28.7827 -0.2 + vertex -26.7039 -28.9262 -0.2 endloop endfacet facet normal -0.558253 0.829671 0 outer loop - vertex -26.7039 -28.9262 -0.1 + vertex -26.7039 -28.9262 -0.2 vertex -26.8635 -29.0336 0 vertex -26.7039 -28.9262 0 endloop @@ -12322,13 +12322,13 @@ solid OpenSCAD_Model facet normal -0.558253 0.829671 0 outer loop vertex -26.8635 -29.0336 0 - vertex -26.7039 -28.9262 -0.1 - vertex -26.8635 -29.0336 -0.1 + vertex -26.7039 -28.9262 -0.2 + vertex -26.8635 -29.0336 -0.2 endloop endfacet facet normal -0.419339 0.90783 0 outer loop - vertex -26.8635 -29.0336 -0.1 + vertex -26.8635 -29.0336 -0.2 vertex -27.0275 -29.1093 0 vertex -26.8635 -29.0336 0 endloop @@ -12336,13 +12336,13 @@ solid OpenSCAD_Model facet normal -0.419339 0.90783 0 outer loop vertex -27.0275 -29.1093 0 - vertex -26.8635 -29.0336 -0.1 - vertex -27.0275 -29.1093 -0.1 + vertex -26.8635 -29.0336 -0.2 + vertex -27.0275 -29.1093 -0.2 endloop endfacet facet normal -0.272797 0.962072 0 outer loop - vertex -27.0275 -29.1093 -0.1 + vertex -27.0275 -29.1093 -0.2 vertex -27.1989 -29.1579 0 vertex -27.0275 -29.1093 0 endloop @@ -12350,13 +12350,13 @@ solid OpenSCAD_Model facet normal -0.272797 0.962072 0 outer loop vertex -27.1989 -29.1579 0 - vertex -27.0275 -29.1093 -0.1 - vertex -27.1989 -29.1579 -0.1 + vertex -27.0275 -29.1093 -0.2 + vertex -27.1989 -29.1579 -0.2 endloop endfacet facet normal -0.141044 0.990003 0 outer loop - vertex -27.1989 -29.1579 -0.1 + vertex -27.1989 -29.1579 -0.2 vertex -27.3805 -29.1838 0 vertex -27.1989 -29.1579 0 endloop @@ -12364,13 +12364,13 @@ solid OpenSCAD_Model facet normal -0.141044 0.990003 0 outer loop vertex -27.3805 -29.1838 0 - vertex -27.1989 -29.1579 -0.1 - vertex -27.3805 -29.1838 -0.1 + vertex -27.1989 -29.1579 -0.2 + vertex -27.3805 -29.1838 -0.2 endloop endfacet facet normal -0.0391387 0.999234 0 outer loop - vertex -27.3805 -29.1838 -0.1 + vertex -27.3805 -29.1838 -0.2 vertex -27.5755 -29.1914 0 vertex -27.3805 -29.1838 0 endloop @@ -12378,13 +12378,13 @@ solid OpenSCAD_Model facet normal -0.0391387 0.999234 0 outer loop vertex -27.5755 -29.1914 0 - vertex -27.3805 -29.1838 -0.1 - vertex -27.5755 -29.1914 -0.1 + vertex -27.3805 -29.1838 -0.2 + vertex -27.5755 -29.1914 -0.2 endloop endfacet facet normal 0.0328742 0.999459 -0 outer loop - vertex -27.5755 -29.1914 -0.1 + vertex -27.5755 -29.1914 -0.2 vertex -27.9775 -29.1782 0 vertex -27.5755 -29.1914 0 endloop @@ -12392,13 +12392,13 @@ solid OpenSCAD_Model facet normal 0.0328742 0.999459 0 outer loop vertex -27.9775 -29.1782 0 - vertex -27.5755 -29.1914 -0.1 - vertex -27.9775 -29.1782 -0.1 + vertex -27.5755 -29.1914 -0.2 + vertex -27.9775 -29.1782 -0.2 endloop endfacet facet normal 0.226397 0.974035 -0 outer loop - vertex -27.9775 -29.1782 -0.1 + vertex -27.9775 -29.1782 -0.2 vertex -28.0989 -29.15 0 vertex -27.9775 -29.1782 0 endloop @@ -12406,13 +12406,13 @@ solid OpenSCAD_Model facet normal 0.226397 0.974035 0 outer loop vertex -28.0989 -29.15 0 - vertex -27.9775 -29.1782 -0.1 - vertex -28.0989 -29.15 -0.1 + vertex -27.9775 -29.1782 -0.2 + vertex -28.0989 -29.15 -0.2 endloop endfacet facet normal 0.566674 0.823942 -0 outer loop - vertex -28.0989 -29.15 -0.1 + vertex -28.0989 -29.15 -0.2 vertex -28.176 -29.097 0 vertex -28.0989 -29.15 0 endloop @@ -12420,139 +12420,139 @@ solid OpenSCAD_Model facet normal 0.566674 0.823942 0 outer loop vertex -28.176 -29.097 0 - vertex -28.0989 -29.15 -0.1 - vertex -28.176 -29.097 -0.1 + vertex -28.0989 -29.15 -0.2 + vertex -28.176 -29.097 -0.2 endloop endfacet facet normal 0.908757 0.417326 0 outer loop vertex -28.176 -29.097 0 - vertex -28.2154 -29.0113 -0.1 + vertex -28.2154 -29.0113 -0.2 vertex -28.2154 -29.0113 0 endloop endfacet facet normal 0.908757 0.417326 0 outer loop - vertex -28.2154 -29.0113 -0.1 + vertex -28.2154 -29.0113 -0.2 vertex -28.176 -29.097 0 - vertex -28.176 -29.097 -0.1 + vertex -28.176 -29.097 -0.2 endloop endfacet facet normal 0.997947 0.0640397 0 outer loop vertex -28.2154 -29.0113 0 - vertex -28.2235 -28.8853 -0.1 + vertex -28.2235 -28.8853 -0.2 vertex -28.2235 -28.8853 0 endloop endfacet facet normal 0.997947 0.0640397 0 outer loop - vertex -28.2235 -28.8853 -0.1 + vertex -28.2235 -28.8853 -0.2 vertex -28.2154 -29.0113 0 - vertex -28.2154 -29.0113 -0.1 + vertex -28.2154 -29.0113 -0.2 endloop endfacet facet normal 0.992038 -0.125943 0 outer loop vertex -28.2235 -28.8853 0 - vertex -28.1721 -28.4809 -0.1 + vertex -28.1721 -28.4809 -0.2 vertex -28.1721 -28.4809 0 endloop endfacet facet normal 0.992038 -0.125943 0 outer loop - vertex -28.1721 -28.4809 -0.1 + vertex -28.1721 -28.4809 -0.2 vertex -28.2235 -28.8853 0 - vertex -28.2235 -28.8853 -0.1 + vertex -28.2235 -28.8853 -0.2 endloop endfacet facet normal 0.988281 -0.152644 0 outer loop vertex -28.1721 -28.4809 0 - vertex -27.9393 -26.9734 -0.1 + vertex -27.9393 -26.9734 -0.2 vertex -27.9393 -26.9734 0 endloop endfacet facet normal 0.988281 -0.152644 0 outer loop - vertex -27.9393 -26.9734 -0.1 + vertex -27.9393 -26.9734 -0.2 vertex -28.1721 -28.4809 0 - vertex -28.1721 -28.4809 -0.1 + vertex -28.1721 -28.4809 -0.2 endloop endfacet facet normal 0.994809 -0.101759 0 outer loop vertex -27.9393 -26.9734 0 - vertex -27.8924 -26.5154 -0.1 + vertex -27.8924 -26.5154 -0.2 vertex -27.8924 -26.5154 0 endloop endfacet facet normal 0.994809 -0.101759 0 outer loop - vertex -27.8924 -26.5154 -0.1 + vertex -27.8924 -26.5154 -0.2 vertex -27.9393 -26.9734 0 - vertex -27.9393 -26.9734 -0.1 + vertex -27.9393 -26.9734 -0.2 endloop endfacet facet normal 0.999788 0.0205947 0 outer loop vertex -27.8924 -26.5154 0 - vertex -27.8988 -26.2055 -0.1 + vertex -27.8988 -26.2055 -0.2 vertex -27.8988 -26.2055 0 endloop endfacet facet normal 0.999788 0.0205947 0 outer loop - vertex -27.8988 -26.2055 -0.1 + vertex -27.8988 -26.2055 -0.2 vertex -27.8924 -26.5154 0 - vertex -27.8924 -26.5154 -0.1 + vertex -27.8924 -26.5154 -0.2 endloop endfacet facet normal 0.975965 0.217927 0 outer loop vertex -27.8988 -26.2055 0 - vertex -27.9236 -26.0946 -0.1 + vertex -27.9236 -26.0946 -0.2 vertex -27.9236 -26.0946 0 endloop endfacet facet normal 0.975965 0.217927 0 outer loop - vertex -27.9236 -26.0946 -0.1 + vertex -27.9236 -26.0946 -0.2 vertex -27.8988 -26.2055 0 - vertex -27.8988 -26.2055 -0.1 + vertex -27.8988 -26.2055 -0.2 endloop endfacet facet normal 0.909758 0.415139 0 outer loop vertex -27.9236 -26.0946 0 - vertex -27.9636 -26.0069 -0.1 + vertex -27.9636 -26.0069 -0.2 vertex -27.9636 -26.0069 0 endloop endfacet facet normal 0.909758 0.415139 0 outer loop - vertex -27.9636 -26.0069 -0.1 + vertex -27.9636 -26.0069 -0.2 vertex -27.9236 -26.0946 0 - vertex -27.9236 -26.0946 -0.1 + vertex -27.9236 -26.0946 -0.2 endloop endfacet facet normal 0.777135 0.629334 0 outer loop vertex -27.9636 -26.0069 0 - vertex -28.0195 -25.9379 -0.1 + vertex -28.0195 -25.9379 -0.2 vertex -28.0195 -25.9379 0 endloop endfacet facet normal 0.777135 0.629334 0 outer loop - vertex -28.0195 -25.9379 -0.1 + vertex -28.0195 -25.9379 -0.2 vertex -27.9636 -26.0069 0 - vertex -27.9636 -26.0069 -0.1 + vertex -27.9636 -26.0069 -0.2 endloop endfacet facet normal 0.604573 0.79655 -0 outer loop - vertex -28.0195 -25.9379 -0.1 + vertex -28.0195 -25.9379 -0.2 vertex -28.0919 -25.8829 0 vertex -28.0195 -25.9379 0 endloop @@ -12560,13 +12560,13 @@ solid OpenSCAD_Model facet normal 0.604573 0.79655 0 outer loop vertex -28.0919 -25.8829 0 - vertex -28.0195 -25.9379 -0.1 - vertex -28.0919 -25.8829 -0.1 + vertex -28.0195 -25.9379 -0.2 + vertex -28.0919 -25.8829 -0.2 endloop endfacet facet normal 0.400676 0.91622 -0 outer loop - vertex -28.0919 -25.8829 -0.1 + vertex -28.0919 -25.8829 -0.2 vertex -28.2888 -25.7968 0 vertex -28.0919 -25.8829 0 endloop @@ -12574,13 +12574,13 @@ solid OpenSCAD_Model facet normal 0.400676 0.91622 0 outer loop vertex -28.2888 -25.7968 0 - vertex -28.0919 -25.8829 -0.1 - vertex -28.2888 -25.7968 -0.1 + vertex -28.0919 -25.8829 -0.2 + vertex -28.2888 -25.7968 -0.2 endloop endfacet facet normal 0.299723 0.954026 -0 outer loop - vertex -28.2888 -25.7968 -0.1 + vertex -28.2888 -25.7968 -0.2 vertex -28.5596 -25.7117 0 vertex -28.2888 -25.7968 0 endloop @@ -12588,13 +12588,13 @@ solid OpenSCAD_Model facet normal 0.299723 0.954026 0 outer loop vertex -28.5596 -25.7117 0 - vertex -28.2888 -25.7968 -0.1 - vertex -28.5596 -25.7117 -0.1 + vertex -28.2888 -25.7968 -0.2 + vertex -28.5596 -25.7117 -0.2 endloop endfacet facet normal 0.220879 0.975301 -0 outer loop - vertex -28.5596 -25.7117 -0.1 + vertex -28.5596 -25.7117 -0.2 vertex -28.7678 -25.6646 0 vertex -28.5596 -25.7117 0 endloop @@ -12602,13 +12602,13 @@ solid OpenSCAD_Model facet normal 0.220879 0.975301 0 outer loop vertex -28.7678 -25.6646 0 - vertex -28.5596 -25.7117 -0.1 - vertex -28.7678 -25.6646 -0.1 + vertex -28.5596 -25.7117 -0.2 + vertex -28.7678 -25.6646 -0.2 endloop endfacet facet normal 0.142669 0.98977 -0 outer loop - vertex -28.7678 -25.6646 -0.1 + vertex -28.7678 -25.6646 -0.2 vertex -29.0734 -25.6205 0 vertex -28.7678 -25.6646 0 endloop @@ -12616,13 +12616,13 @@ solid OpenSCAD_Model facet normal 0.142669 0.98977 0 outer loop vertex -29.0734 -25.6205 0 - vertex -28.7678 -25.6646 -0.1 - vertex -29.0734 -25.6205 -0.1 + vertex -28.7678 -25.6646 -0.2 + vertex -29.0734 -25.6205 -0.2 endloop endfacet facet normal 0.0883121 0.996093 -0 outer loop - vertex -29.0734 -25.6205 -0.1 + vertex -29.0734 -25.6205 -0.2 vertex -29.9179 -25.5457 0 vertex -29.0734 -25.6205 0 endloop @@ -12630,13 +12630,13 @@ solid OpenSCAD_Model facet normal 0.0883121 0.996093 0 outer loop vertex -29.9179 -25.5457 0 - vertex -29.0734 -25.6205 -0.1 - vertex -29.9179 -25.5457 -0.1 + vertex -29.0734 -25.6205 -0.2 + vertex -29.9179 -25.5457 -0.2 endloop endfacet facet normal 0.0479595 0.998849 -0 outer loop - vertex -29.9179 -25.5457 -0.1 + vertex -29.9179 -25.5457 -0.2 vertex -30.9759 -25.4949 0 vertex -29.9179 -25.5457 0 endloop @@ -12644,13 +12644,13 @@ solid OpenSCAD_Model facet normal 0.0479595 0.998849 0 outer loop vertex -30.9759 -25.4949 0 - vertex -29.9179 -25.5457 -0.1 - vertex -30.9759 -25.4949 -0.1 + vertex -29.9179 -25.5457 -0.2 + vertex -30.9759 -25.4949 -0.2 endloop endfacet facet normal 0.0164478 0.999865 -0 outer loop - vertex -30.9759 -25.4949 -0.1 + vertex -30.9759 -25.4949 -0.2 vertex -32.1303 -25.4759 0 vertex -30.9759 -25.4949 0 endloop @@ -12658,13 +12658,13 @@ solid OpenSCAD_Model facet normal 0.0164478 0.999865 0 outer loop vertex -32.1303 -25.4759 0 - vertex -30.9759 -25.4949 -0.1 - vertex -32.1303 -25.4759 -0.1 + vertex -30.9759 -25.4949 -0.2 + vertex -32.1303 -25.4759 -0.2 endloop endfacet facet normal 0.000432102 1 -0 outer loop - vertex -32.1303 -25.4759 -0.1 + vertex -32.1303 -25.4759 -0.2 vertex -34.9509 -25.4747 0 vertex -32.1303 -25.4759 0 endloop @@ -12672,139 +12672,139 @@ solid OpenSCAD_Model facet normal 0.000432102 1 0 outer loop vertex -34.9509 -25.4747 0 - vertex -32.1303 -25.4759 -0.1 - vertex -34.9509 -25.4747 -0.1 + vertex -32.1303 -25.4759 -0.2 + vertex -34.9509 -25.4747 -0.2 endloop endfacet facet normal -0.910935 0.41255 0 outer loop - vertex -35.4707 -26.6225 -0.1 + vertex -35.4707 -26.6225 -0.2 vertex -34.9509 -25.4747 0 - vertex -34.9509 -25.4747 -0.1 + vertex -34.9509 -25.4747 -0.2 endloop endfacet facet normal -0.910935 0.41255 0 outer loop vertex -34.9509 -25.4747 0 - vertex -35.4707 -26.6225 -0.1 + vertex -35.4707 -26.6225 -0.2 vertex -35.4707 -26.6225 0 endloop endfacet facet normal -0.916492 0.400054 0 outer loop - vertex -36.4516 -28.8697 -0.1 + vertex -36.4516 -28.8697 -0.2 vertex -35.4707 -26.6225 0 - vertex -35.4707 -26.6225 -0.1 + vertex -35.4707 -26.6225 -0.2 endloop endfacet facet normal -0.916492 0.400054 0 outer loop vertex -35.4707 -26.6225 0 - vertex -36.4516 -28.8697 -0.1 + vertex -36.4516 -28.8697 -0.2 vertex -36.4516 -28.8697 0 endloop endfacet facet normal -0.92275 0.385399 0 outer loop - vertex -37.5165 -31.4193 -0.1 + vertex -37.5165 -31.4193 -0.2 vertex -36.4516 -28.8697 0 - vertex -36.4516 -28.8697 -0.1 + vertex -36.4516 -28.8697 -0.2 endloop endfacet facet normal -0.92275 0.385399 0 outer loop vertex -36.4516 -28.8697 0 - vertex -37.5165 -31.4193 -0.1 + vertex -37.5165 -31.4193 -0.2 vertex -37.5165 -31.4193 0 endloop endfacet facet normal -0.928331 0.371754 0 outer loop - vertex -38.3711 -33.5534 -0.1 + vertex -38.3711 -33.5534 -0.2 vertex -37.5165 -31.4193 0 - vertex -37.5165 -31.4193 -0.1 + vertex -37.5165 -31.4193 -0.2 endloop endfacet facet normal -0.928331 0.371754 0 outer loop vertex -37.5165 -31.4193 0 - vertex -38.3711 -33.5534 -0.1 + vertex -38.3711 -33.5534 -0.2 vertex -38.3711 -33.5534 0 endloop endfacet facet normal -0.936805 0.349851 0 outer loop - vertex -38.6277 -34.2404 -0.1 + vertex -38.6277 -34.2404 -0.2 vertex -38.3711 -33.5534 0 - vertex -38.3711 -33.5534 -0.1 + vertex -38.3711 -33.5534 -0.2 endloop endfacet facet normal -0.936805 0.349851 0 outer loop vertex -38.3711 -33.5534 0 - vertex -38.6277 -34.2404 -0.1 + vertex -38.6277 -34.2404 -0.2 vertex -38.6277 -34.2404 0 endloop endfacet facet normal -0.958246 0.285946 0 outer loop - vertex -38.7214 -34.5543 -0.1 + vertex -38.7214 -34.5543 -0.2 vertex -38.6277 -34.2404 0 - vertex -38.6277 -34.2404 -0.1 + vertex -38.6277 -34.2404 -0.2 endloop endfacet facet normal -0.958246 0.285946 0 outer loop vertex -38.6277 -34.2404 0 - vertex -38.7214 -34.5543 -0.1 + vertex -38.7214 -34.5543 -0.2 vertex -38.7214 -34.5543 0 endloop endfacet facet normal -0.979296 -0.202433 0 outer loop - vertex -38.6971 -34.6715 -0.1 + vertex -38.6971 -34.6715 -0.2 vertex -38.7214 -34.5543 0 - vertex -38.7214 -34.5543 -0.1 + vertex -38.7214 -34.5543 -0.2 endloop endfacet facet normal -0.979296 -0.202433 0 outer loop vertex -38.7214 -34.5543 0 - vertex -38.6971 -34.6715 -0.1 + vertex -38.6971 -34.6715 -0.2 vertex -38.6971 -34.6715 0 endloop endfacet facet normal -0.869155 -0.494539 0 outer loop - vertex -38.6312 -34.7874 -0.1 + vertex -38.6312 -34.7874 -0.2 vertex -38.6971 -34.6715 0 - vertex -38.6971 -34.6715 -0.1 + vertex -38.6971 -34.6715 -0.2 endloop endfacet facet normal -0.869155 -0.494539 0 outer loop vertex -38.6971 -34.6715 0 - vertex -38.6312 -34.7874 -0.1 + vertex -38.6312 -34.7874 -0.2 vertex -38.6312 -34.7874 0 endloop endfacet facet normal -0.719928 -0.694049 0 outer loop - vertex -38.5336 -34.8886 -0.1 + vertex -38.5336 -34.8886 -0.2 vertex -38.6312 -34.7874 0 - vertex -38.6312 -34.7874 -0.1 + vertex -38.6312 -34.7874 -0.2 endloop endfacet facet normal -0.719928 -0.694049 0 outer loop vertex -38.6312 -34.7874 0 - vertex -38.5336 -34.8886 -0.1 + vertex -38.5336 -34.8886 -0.2 vertex -38.5336 -34.8886 0 endloop endfacet facet normal -0.523423 -0.852073 0 outer loop - vertex -38.5336 -34.8886 -0.1 + vertex -38.5336 -34.8886 -0.2 vertex -38.4144 -34.9619 0 vertex -38.5336 -34.8886 0 endloop @@ -12812,13 +12812,13 @@ solid OpenSCAD_Model facet normal -0.523423 -0.852073 -0 outer loop vertex -38.4144 -34.9619 0 - vertex -38.5336 -34.8886 -0.1 - vertex -38.4144 -34.9619 -0.1 + vertex -38.5336 -34.8886 -0.2 + vertex -38.4144 -34.9619 -0.2 endloop endfacet facet normal -0.239855 -0.970809 0 outer loop - vertex -38.4144 -34.9619 -0.1 + vertex -38.4144 -34.9619 -0.2 vertex -38.2613 -34.9997 0 vertex -38.4144 -34.9619 0 endloop @@ -12826,13 +12826,13 @@ solid OpenSCAD_Model facet normal -0.239855 -0.970809 -0 outer loop vertex -38.2613 -34.9997 0 - vertex -38.4144 -34.9619 -0.1 - vertex -38.2613 -34.9997 -0.1 + vertex -38.4144 -34.9619 -0.2 + vertex -38.2613 -34.9997 -0.2 endloop endfacet facet normal -0.118843 -0.992913 0 outer loop - vertex -38.2613 -34.9997 -0.1 + vertex -38.2613 -34.9997 -0.2 vertex -38.0027 -35.0306 0 vertex -38.2613 -34.9997 0 endloop @@ -12840,13 +12840,13 @@ solid OpenSCAD_Model facet normal -0.118843 -0.992913 -0 outer loop vertex -38.0027 -35.0306 0 - vertex -38.2613 -34.9997 -0.1 - vertex -38.0027 -35.0306 -0.1 + vertex -38.2613 -34.9997 -0.2 + vertex -38.0027 -35.0306 -0.2 endloop endfacet facet normal -0.0541463 -0.998533 0 outer loop - vertex -38.0027 -35.0306 -0.1 + vertex -38.0027 -35.0306 -0.2 vertex -37.2267 -35.0727 0 vertex -38.0027 -35.0306 0 endloop @@ -12854,13 +12854,13 @@ solid OpenSCAD_Model facet normal -0.0541463 -0.998533 -0 outer loop vertex -37.2267 -35.0727 0 - vertex -38.0027 -35.0306 -0.1 - vertex -37.2267 -35.0727 -0.1 + vertex -38.0027 -35.0306 -0.2 + vertex -37.2267 -35.0727 -0.2 endloop endfacet facet normal -0.0166336 -0.999862 0 outer loop - vertex -37.2267 -35.0727 -0.1 + vertex -37.2267 -35.0727 -0.2 vertex -36.2012 -35.0898 0 vertex -37.2267 -35.0727 0 endloop @@ -12868,13 +12868,13 @@ solid OpenSCAD_Model facet normal -0.0166336 -0.999862 -0 outer loop vertex -36.2012 -35.0898 0 - vertex -37.2267 -35.0727 -0.1 - vertex -36.2012 -35.0898 -0.1 + vertex -37.2267 -35.0727 -0.2 + vertex -36.2012 -35.0898 -0.2 endloop endfacet facet normal 0.00541272 -0.999985 0 outer loop - vertex -36.2012 -35.0898 -0.1 + vertex -36.2012 -35.0898 -0.2 vertex -35.0412 -35.0835 0 vertex -36.2012 -35.0898 0 endloop @@ -12882,13 +12882,13 @@ solid OpenSCAD_Model facet normal 0.00541272 -0.999985 0 outer loop vertex -35.0412 -35.0835 0 - vertex -36.2012 -35.0898 -0.1 - vertex -35.0412 -35.0835 -0.1 + vertex -36.2012 -35.0898 -0.2 + vertex -35.0412 -35.0835 -0.2 endloop endfacet facet normal 0.0236788 -0.99972 0 outer loop - vertex -35.0412 -35.0835 -0.1 + vertex -35.0412 -35.0835 -0.2 vertex -33.8615 -35.0556 0 vertex -35.0412 -35.0835 0 endloop @@ -12896,13 +12896,13 @@ solid OpenSCAD_Model facet normal 0.0236788 -0.99972 0 outer loop vertex -33.8615 -35.0556 0 - vertex -35.0412 -35.0835 -0.1 - vertex -33.8615 -35.0556 -0.1 + vertex -35.0412 -35.0835 -0.2 + vertex -33.8615 -35.0556 -0.2 endloop endfacet facet normal 0.0441434 -0.999025 0 outer loop - vertex -33.8615 -35.0556 -0.1 + vertex -33.8615 -35.0556 -0.2 vertex -32.7769 -35.0076 0 vertex -33.8615 -35.0556 0 endloop @@ -12910,13 +12910,13 @@ solid OpenSCAD_Model facet normal 0.0441434 -0.999025 0 outer loop vertex -32.7769 -35.0076 0 - vertex -33.8615 -35.0556 -0.1 - vertex -32.7769 -35.0076 -0.1 + vertex -33.8615 -35.0556 -0.2 + vertex -32.7769 -35.0076 -0.2 endloop endfacet facet normal 0.0755008 -0.997146 0 outer loop - vertex -32.7769 -35.0076 -0.1 + vertex -32.7769 -35.0076 -0.2 vertex -31.9023 -34.9414 0 vertex -32.7769 -35.0076 0 endloop @@ -12924,13 +12924,13 @@ solid OpenSCAD_Model facet normal 0.0755008 -0.997146 0 outer loop vertex -31.9023 -34.9414 0 - vertex -32.7769 -35.0076 -0.1 - vertex -31.9023 -34.9414 -0.1 + vertex -32.7769 -35.0076 -0.2 + vertex -31.9023 -34.9414 -0.2 endloop endfacet facet normal 0.121377 -0.992606 0 outer loop - vertex -31.9023 -34.9414 -0.1 + vertex -31.9023 -34.9414 -0.2 vertex -31.5797 -34.902 0 vertex -31.9023 -34.9414 0 endloop @@ -12938,13 +12938,13 @@ solid OpenSCAD_Model facet normal 0.121377 -0.992606 0 outer loop vertex -31.5797 -34.902 0 - vertex -31.9023 -34.9414 -0.1 - vertex -31.5797 -34.902 -0.1 + vertex -31.9023 -34.9414 -0.2 + vertex -31.5797 -34.902 -0.2 endloop endfacet facet normal 0.187713 -0.982224 0 outer loop - vertex -31.5797 -34.902 -0.1 + vertex -31.5797 -34.902 -0.2 vertex -31.3526 -34.8586 0 vertex -31.5797 -34.902 0 endloop @@ -12952,13 +12952,13 @@ solid OpenSCAD_Model facet normal 0.187713 -0.982224 0 outer loop vertex -31.3526 -34.8586 0 - vertex -31.5797 -34.902 -0.1 - vertex -31.3526 -34.8586 -0.1 + vertex -31.5797 -34.902 -0.2 + vertex -31.3526 -34.8586 -0.2 endloop endfacet facet normal 0.296204 -0.955125 0 outer loop - vertex -31.3526 -34.8586 -0.1 + vertex -31.3526 -34.8586 -0.2 vertex -30.8095 -34.6902 0 vertex -31.3526 -34.8586 0 endloop @@ -12966,13 +12966,13 @@ solid OpenSCAD_Model facet normal 0.296204 -0.955125 0 outer loop vertex -30.8095 -34.6902 0 - vertex -31.3526 -34.8586 -0.1 - vertex -30.8095 -34.6902 -0.1 + vertex -31.3526 -34.8586 -0.2 + vertex -30.8095 -34.6902 -0.2 endloop endfacet facet normal 0.373689 -0.927554 0 outer loop - vertex -30.8095 -34.6902 -0.1 + vertex -30.8095 -34.6902 -0.2 vertex -30.2461 -34.4632 0 vertex -30.8095 -34.6902 0 endloop @@ -12980,13 +12980,13 @@ solid OpenSCAD_Model facet normal 0.373689 -0.927554 0 outer loop vertex -30.2461 -34.4632 0 - vertex -30.8095 -34.6902 -0.1 - vertex -30.2461 -34.4632 -0.1 + vertex -30.8095 -34.6902 -0.2 + vertex -30.2461 -34.4632 -0.2 endloop endfacet facet normal 0.438403 -0.898778 0 outer loop - vertex -30.2461 -34.4632 -0.1 + vertex -30.2461 -34.4632 -0.2 vertex -29.669 -34.1817 0 vertex -30.2461 -34.4632 0 endloop @@ -12994,13 +12994,13 @@ solid OpenSCAD_Model facet normal 0.438403 -0.898778 0 outer loop vertex -29.669 -34.1817 0 - vertex -30.2461 -34.4632 -0.1 - vertex -29.669 -34.1817 -0.1 + vertex -30.2461 -34.4632 -0.2 + vertex -29.669 -34.1817 -0.2 endloop endfacet facet normal 0.494095 -0.869408 0 outer loop - vertex -29.669 -34.1817 -0.1 + vertex -29.669 -34.1817 -0.2 vertex -29.0852 -33.8499 0 vertex -29.669 -34.1817 0 endloop @@ -13008,13 +13008,13 @@ solid OpenSCAD_Model facet normal 0.494095 -0.869408 0 outer loop vertex -29.0852 -33.8499 0 - vertex -29.669 -34.1817 -0.1 - vertex -29.0852 -33.8499 -0.1 + vertex -29.669 -34.1817 -0.2 + vertex -29.0852 -33.8499 -0.2 endloop endfacet facet normal 0.543479 -0.839423 0 outer loop - vertex -29.0852 -33.8499 -0.1 + vertex -29.0852 -33.8499 -0.2 vertex -28.5012 -33.4718 0 vertex -29.0852 -33.8499 0 endloop @@ -13022,13 +13022,13 @@ solid OpenSCAD_Model facet normal 0.543479 -0.839423 0 outer loop vertex -28.5012 -33.4718 0 - vertex -29.0852 -33.8499 -0.1 - vertex -28.5012 -33.4718 -0.1 + vertex -29.0852 -33.8499 -0.2 + vertex -28.5012 -33.4718 -0.2 endloop endfacet facet normal 0.588526 -0.808478 0 outer loop - vertex -28.5012 -33.4718 -0.1 + vertex -28.5012 -33.4718 -0.2 vertex -27.924 -33.0516 0 vertex -28.5012 -33.4718 0 endloop @@ -13036,13 +13036,13 @@ solid OpenSCAD_Model facet normal 0.588526 -0.808478 0 outer loop vertex -27.924 -33.0516 0 - vertex -28.5012 -33.4718 -0.1 - vertex -27.924 -33.0516 -0.1 + vertex -28.5012 -33.4718 -0.2 + vertex -27.924 -33.0516 -0.2 endloop endfacet facet normal 0.630713 -0.776016 0 outer loop - vertex -27.924 -33.0516 -0.1 + vertex -27.924 -33.0516 -0.2 vertex -27.3602 -32.5933 0 vertex -27.924 -33.0516 0 endloop @@ -13050,13 +13050,13 @@ solid OpenSCAD_Model facet normal 0.630713 -0.776016 0 outer loop vertex -27.3602 -32.5933 0 - vertex -27.924 -33.0516 -0.1 - vertex -27.3602 -32.5933 -0.1 + vertex -27.924 -33.0516 -0.2 + vertex -27.3602 -32.5933 -0.2 endloop endfacet facet normal 0.671162 -0.741311 0 outer loop - vertex -27.3602 -32.5933 -0.1 + vertex -27.3602 -32.5933 -0.2 vertex -26.8166 -32.1012 0 vertex -27.3602 -32.5933 0 endloop @@ -13064,13 +13064,13 @@ solid OpenSCAD_Model facet normal 0.671162 -0.741311 0 outer loop vertex -26.8166 -32.1012 0 - vertex -27.3602 -32.5933 -0.1 - vertex -26.8166 -32.1012 -0.1 + vertex -27.3602 -32.5933 -0.2 + vertex -26.8166 -32.1012 -0.2 endloop endfacet facet normal 0.688884 -0.724872 0 outer loop - vertex -26.8166 -32.1012 -0.1 + vertex -26.8166 -32.1012 -0.2 vertex -25.5344 -30.8827 0 vertex -26.8166 -32.1012 0 endloop @@ -13078,13 +13078,13 @@ solid OpenSCAD_Model facet normal 0.688884 -0.724872 0 outer loop vertex -25.5344 -30.8827 0 - vertex -26.8166 -32.1012 -0.1 - vertex -25.5344 -30.8827 -0.1 + vertex -26.8166 -32.1012 -0.2 + vertex -25.5344 -30.8827 -0.2 endloop endfacet facet normal 0.667079 -0.744987 0 outer loop - vertex -25.5344 -30.8827 -0.1 + vertex -25.5344 -30.8827 -0.2 vertex -25.1341 -30.5242 0 vertex -25.5344 -30.8827 0 endloop @@ -13092,13 +13092,13 @@ solid OpenSCAD_Model facet normal 0.667079 -0.744987 0 outer loop vertex -25.1341 -30.5242 0 - vertex -25.5344 -30.8827 -0.1 - vertex -25.1341 -30.5242 -0.1 + vertex -25.5344 -30.8827 -0.2 + vertex -25.1341 -30.5242 -0.2 endloop endfacet facet normal 0.613469 -0.789718 0 outer loop - vertex -25.1341 -30.5242 -0.1 + vertex -25.1341 -30.5242 -0.2 vertex -24.8452 -30.2998 0 vertex -25.1341 -30.5242 0 endloop @@ -13106,13 +13106,13 @@ solid OpenSCAD_Model facet normal 0.613469 -0.789718 0 outer loop vertex -24.8452 -30.2998 0 - vertex -25.1341 -30.5242 -0.1 - vertex -24.8452 -30.2998 -0.1 + vertex -25.1341 -30.5242 -0.2 + vertex -24.8452 -30.2998 -0.2 endloop endfacet facet normal 0.473466 -0.880812 0 outer loop - vertex -24.8452 -30.2998 -0.1 + vertex -24.8452 -30.2998 -0.2 vertex -24.6311 -30.1847 0 vertex -24.8452 -30.2998 0 endloop @@ -13120,13 +13120,13 @@ solid OpenSCAD_Model facet normal 0.473466 -0.880812 0 outer loop vertex -24.6311 -30.1847 0 - vertex -24.8452 -30.2998 -0.1 - vertex -24.6311 -30.1847 -0.1 + vertex -24.8452 -30.2998 -0.2 + vertex -24.6311 -30.1847 -0.2 endloop endfacet facet normal 0.259354 -0.965782 0 outer loop - vertex -24.6311 -30.1847 -0.1 + vertex -24.6311 -30.1847 -0.2 vertex -24.5406 -30.1604 0 vertex -24.6311 -30.1847 0 endloop @@ -13134,13 +13134,13 @@ solid OpenSCAD_Model facet normal 0.259354 -0.965782 0 outer loop vertex -24.5406 -30.1604 0 - vertex -24.6311 -30.1847 -0.1 - vertex -24.5406 -30.1604 -0.1 + vertex -24.6311 -30.1847 -0.2 + vertex -24.5406 -30.1604 -0.2 endloop endfacet facet normal 0.0730053 -0.997332 0 outer loop - vertex -24.5406 -30.1604 -0.1 + vertex -24.5406 -30.1604 -0.2 vertex -24.455 -30.1541 0 vertex -24.5406 -30.1604 0 endloop @@ -13148,13 +13148,13 @@ solid OpenSCAD_Model facet normal 0.0730053 -0.997332 0 outer loop vertex -24.455 -30.1541 0 - vertex -24.5406 -30.1604 -0.1 - vertex -24.455 -30.1541 -0.1 + vertex -24.5406 -30.1604 -0.2 + vertex -24.455 -30.1541 -0.2 endloop endfacet facet normal -0.164732 -0.986338 0 outer loop - vertex -24.455 -30.1541 -0.1 + vertex -24.455 -30.1541 -0.2 vertex -24.2803 -30.1833 0 vertex -24.455 -30.1541 0 endloop @@ -13162,13 +13162,13 @@ solid OpenSCAD_Model facet normal -0.164732 -0.986338 -0 outer loop vertex -24.2803 -30.1833 0 - vertex -24.455 -30.1541 -0.1 - vertex -24.2803 -30.1833 -0.1 + vertex -24.455 -30.1541 -0.2 + vertex -24.2803 -30.1833 -0.2 endloop endfacet facet normal -0.291983 -0.956423 0 outer loop - vertex -24.2803 -30.1833 -0.1 + vertex -24.2803 -30.1833 -0.2 vertex -24.0701 -30.2475 0 vertex -24.2803 -30.1833 0 endloop @@ -13176,13 +13176,13 @@ solid OpenSCAD_Model facet normal -0.291983 -0.956423 -0 outer loop vertex -24.0701 -30.2475 0 - vertex -24.2803 -30.1833 -0.1 - vertex -24.0701 -30.2475 -0.1 + vertex -24.2803 -30.1833 -0.2 + vertex -24.0701 -30.2475 -0.2 endloop endfacet facet normal -0.377094 -0.926175 0 outer loop - vertex -24.0701 -30.2475 -0.1 + vertex -24.0701 -30.2475 -0.2 vertex -23.8399 -30.3412 0 vertex -24.0701 -30.2475 0 endloop @@ -13190,13 +13190,13 @@ solid OpenSCAD_Model facet normal -0.377094 -0.926175 -0 outer loop vertex -23.8399 -30.3412 0 - vertex -24.0701 -30.2475 -0.1 - vertex -23.8399 -30.3412 -0.1 + vertex -24.0701 -30.2475 -0.2 + vertex -23.8399 -30.3412 -0.2 endloop endfacet facet normal -0.532683 -0.846315 0 outer loop - vertex -23.8399 -30.3412 -0.1 + vertex -23.8399 -30.3412 -0.2 vertex -23.6433 -30.465 0 vertex -23.8399 -30.3412 0 endloop @@ -13204,13 +13204,13 @@ solid OpenSCAD_Model facet normal -0.532683 -0.846315 -0 outer loop vertex -23.6433 -30.465 0 - vertex -23.8399 -30.3412 -0.1 - vertex -23.6433 -30.465 -0.1 + vertex -23.8399 -30.3412 -0.2 + vertex -23.6433 -30.465 -0.2 endloop endfacet facet normal -0.695789 -0.718246 0 outer loop - vertex -23.6433 -30.465 -0.1 + vertex -23.6433 -30.465 -0.2 vertex -23.5012 -30.6026 0 vertex -23.6433 -30.465 0 endloop @@ -13218,181 +13218,181 @@ solid OpenSCAD_Model facet normal -0.695789 -0.718246 -0 outer loop vertex -23.5012 -30.6026 0 - vertex -23.6433 -30.465 -0.1 - vertex -23.5012 -30.6026 -0.1 + vertex -23.6433 -30.465 -0.2 + vertex -23.5012 -30.6026 -0.2 endloop endfacet facet normal -0.84273 -0.538337 0 outer loop - vertex -23.4571 -30.6716 -0.1 + vertex -23.4571 -30.6716 -0.2 vertex -23.5012 -30.6026 0 - vertex -23.5012 -30.6026 -0.1 + vertex -23.5012 -30.6026 -0.2 endloop endfacet facet normal -0.84273 -0.538337 0 outer loop vertex -23.5012 -30.6026 0 - vertex -23.4571 -30.6716 -0.1 + vertex -23.4571 -30.6716 -0.2 vertex -23.4571 -30.6716 0 endloop endfacet facet normal -0.946617 -0.322361 0 outer loop - vertex -23.4345 -30.738 -0.1 + vertex -23.4345 -30.738 -0.2 vertex -23.4571 -30.6716 0 - vertex -23.4571 -30.6716 -0.1 + vertex -23.4571 -30.6716 -0.2 endloop endfacet facet normal -0.946617 -0.322361 0 outer loop vertex -23.4571 -30.6716 0 - vertex -23.4345 -30.738 -0.1 + vertex -23.4345 -30.738 -0.2 vertex -23.4345 -30.738 0 endloop endfacet facet normal -0.988328 0.152339 0 outer loop - vertex -23.4513 -30.847 -0.1 + vertex -23.4513 -30.847 -0.2 vertex -23.4345 -30.738 0 - vertex -23.4345 -30.738 -0.1 + vertex -23.4345 -30.738 -0.2 endloop endfacet facet normal -0.988328 0.152339 0 outer loop vertex -23.4345 -30.738 0 - vertex -23.4513 -30.847 -0.1 + vertex -23.4513 -30.847 -0.2 vertex -23.4513 -30.847 0 endloop endfacet facet normal -0.933862 0.357635 0 outer loop - vertex -23.5218 -31.031 -0.1 + vertex -23.5218 -31.031 -0.2 vertex -23.4513 -30.847 0 - vertex -23.4513 -30.847 -0.1 + vertex -23.4513 -30.847 -0.2 endloop endfacet facet normal -0.933862 0.357635 0 outer loop vertex -23.4513 -30.847 0 - vertex -23.5218 -31.031 -0.1 + vertex -23.5218 -31.031 -0.2 vertex -23.5218 -31.031 0 endloop endfacet facet normal -0.893602 0.44886 0 outer loop - vertex -23.8031 -31.5911 -0.1 + vertex -23.8031 -31.5911 -0.2 vertex -23.5218 -31.031 0 - vertex -23.5218 -31.031 -0.1 + vertex -23.5218 -31.031 -0.2 endloop endfacet facet normal -0.893602 0.44886 0 outer loop vertex -23.5218 -31.031 0 - vertex -23.8031 -31.5911 -0.1 + vertex -23.8031 -31.5911 -0.2 vertex -23.8031 -31.5911 0 endloop endfacet facet normal -0.86862 0.495478 0 outer loop - vertex -24.2375 -32.3527 -0.1 + vertex -24.2375 -32.3527 -0.2 vertex -23.8031 -31.5911 0 - vertex -23.8031 -31.5911 -0.1 + vertex -23.8031 -31.5911 -0.2 endloop endfacet facet normal -0.86862 0.495478 0 outer loop vertex -23.8031 -31.5911 0 - vertex -24.2375 -32.3527 -0.1 + vertex -24.2375 -32.3527 -0.2 vertex -24.2375 -32.3527 0 endloop endfacet facet normal -0.854086 0.520132 0 outer loop - vertex -24.7839 -33.2498 -0.1 + vertex -24.7839 -33.2498 -0.2 vertex -24.2375 -32.3527 0 - vertex -24.2375 -32.3527 -0.1 + vertex -24.2375 -32.3527 -0.2 endloop endfacet facet normal -0.854086 0.520132 0 outer loop vertex -24.2375 -32.3527 0 - vertex -24.7839 -33.2498 -0.1 + vertex -24.7839 -33.2498 -0.2 vertex -24.7839 -33.2498 0 endloop endfacet facet normal -0.842904 0.538064 0 outer loop - vertex -25.4011 -34.2168 -0.1 + vertex -25.4011 -34.2168 -0.2 vertex -24.7839 -33.2498 0 - vertex -24.7839 -33.2498 -0.1 + vertex -24.7839 -33.2498 -0.2 endloop endfacet facet normal -0.842904 0.538064 0 outer loop vertex -24.7839 -33.2498 0 - vertex -25.4011 -34.2168 -0.1 + vertex -25.4011 -34.2168 -0.2 vertex -25.4011 -34.2168 0 endloop endfacet facet normal -0.832144 0.55456 0 outer loop - vertex -26.0482 -35.1877 -0.1 + vertex -26.0482 -35.1877 -0.2 vertex -25.4011 -34.2168 0 - vertex -25.4011 -34.2168 -0.1 + vertex -25.4011 -34.2168 -0.2 endloop endfacet facet normal -0.832144 0.55456 0 outer loop vertex -25.4011 -34.2168 0 - vertex -26.0482 -35.1877 -0.1 + vertex -26.0482 -35.1877 -0.2 vertex -26.0482 -35.1877 0 endloop endfacet facet normal -0.819486 0.573099 0 outer loop - vertex -26.6839 -36.0968 -0.1 + vertex -26.6839 -36.0968 -0.2 vertex -26.0482 -35.1877 0 - vertex -26.0482 -35.1877 -0.1 + vertex -26.0482 -35.1877 -0.2 endloop endfacet facet normal -0.819486 0.573099 0 outer loop vertex -26.0482 -35.1877 0 - vertex -26.6839 -36.0968 -0.1 + vertex -26.6839 -36.0968 -0.2 vertex -26.6839 -36.0968 0 endloop endfacet facet normal -0.801319 0.598238 0 outer loop - vertex -27.2673 -36.8782 -0.1 + vertex -27.2673 -36.8782 -0.2 vertex -26.6839 -36.0968 0 - vertex -26.6839 -36.0968 -0.1 + vertex -26.6839 -36.0968 -0.2 endloop endfacet facet normal -0.801319 0.598238 0 outer loop vertex -26.6839 -36.0968 0 - vertex -27.2673 -36.8782 -0.1 + vertex -27.2673 -36.8782 -0.2 vertex -27.2673 -36.8782 0 endloop endfacet facet normal -0.788011 0.615661 0 outer loop - vertex -28.2718 -38.1638 -0.1 + vertex -28.2718 -38.1638 -0.2 vertex -27.2673 -36.8782 0 - vertex -27.2673 -36.8782 -0.1 + vertex -27.2673 -36.8782 -0.2 endloop endfacet facet normal -0.788011 0.615661 0 outer loop vertex -27.2673 -36.8782 0 - vertex -28.2718 -38.1638 -0.1 + vertex -28.2718 -38.1638 -0.2 vertex -28.2718 -38.1638 0 endloop endfacet facet normal 0.00335501 0.999994 -0 outer loop - vertex -28.2718 -38.1638 -0.1 + vertex -28.2718 -38.1638 -0.2 vertex -37.6203 -38.1325 0 vertex -28.2718 -38.1638 0 endloop @@ -13400,13 +13400,13 @@ solid OpenSCAD_Model facet normal 0.00335501 0.999994 0 outer loop vertex -37.6203 -38.1325 0 - vertex -28.2718 -38.1638 -0.1 - vertex -37.6203 -38.1325 -0.1 + vertex -28.2718 -38.1638 -0.2 + vertex -37.6203 -38.1325 -0.2 endloop endfacet facet normal 0.00646856 0.999979 -0 outer loop - vertex -37.6203 -38.1325 -0.1 + vertex -37.6203 -38.1325 -0.2 vertex -41.2883 -38.1087 0 vertex -37.6203 -38.1325 0 endloop @@ -13414,13 +13414,13 @@ solid OpenSCAD_Model facet normal 0.00646856 0.999979 0 outer loop vertex -41.2883 -38.1087 0 - vertex -37.6203 -38.1325 -0.1 - vertex -41.2883 -38.1087 -0.1 + vertex -37.6203 -38.1325 -0.2 + vertex -41.2883 -38.1087 -0.2 endloop endfacet facet normal 0.013462 0.999909 -0 outer loop - vertex -41.2883 -38.1087 -0.1 + vertex -41.2883 -38.1087 -0.2 vertex -44.3648 -38.0673 0 vertex -41.2883 -38.1087 0 endloop @@ -13428,13 +13428,13 @@ solid OpenSCAD_Model facet normal 0.013462 0.999909 0 outer loop vertex -44.3648 -38.0673 0 - vertex -41.2883 -38.1087 -0.1 - vertex -44.3648 -38.0673 -0.1 + vertex -41.2883 -38.1087 -0.2 + vertex -44.3648 -38.0673 -0.2 endloop endfacet facet normal 0.0246353 0.999697 -0 outer loop - vertex -44.3648 -38.0673 -0.1 + vertex -44.3648 -38.0673 -0.2 vertex -46.5272 -38.014 0 vertex -44.3648 -38.0673 0 endloop @@ -13442,13 +13442,13 @@ solid OpenSCAD_Model facet normal 0.0246353 0.999697 0 outer loop vertex -46.5272 -38.014 0 - vertex -44.3648 -38.0673 -0.1 - vertex -46.5272 -38.014 -0.1 + vertex -44.3648 -38.0673 -0.2 + vertex -46.5272 -38.014 -0.2 endloop endfacet facet normal 0.0458604 0.998948 -0 outer loop - vertex -46.5272 -38.014 -0.1 + vertex -46.5272 -38.014 -0.2 vertex -47.1648 -37.9848 0 vertex -46.5272 -38.014 0 endloop @@ -13456,13 +13456,13 @@ solid OpenSCAD_Model facet normal 0.0458604 0.998948 0 outer loop vertex -47.1648 -37.9848 0 - vertex -46.5272 -38.014 -0.1 - vertex -47.1648 -37.9848 -0.1 + vertex -46.5272 -38.014 -0.2 + vertex -47.1648 -37.9848 -0.2 endloop endfacet facet normal 0.103752 0.994603 -0 outer loop - vertex -47.1648 -37.9848 -0.1 + vertex -47.1648 -37.9848 -0.2 vertex -47.4529 -37.9547 0 vertex -47.1648 -37.9848 0 endloop @@ -13470,13 +13470,13 @@ solid OpenSCAD_Model facet normal 0.103752 0.994603 0 outer loop vertex -47.4529 -37.9547 0 - vertex -47.1648 -37.9848 -0.1 - vertex -47.4529 -37.9547 -0.1 + vertex -47.1648 -37.9848 -0.2 + vertex -47.4529 -37.9547 -0.2 endloop endfacet facet normal 0.373487 0.927636 -0 outer loop - vertex -47.4529 -37.9547 -0.1 + vertex -47.4529 -37.9547 -0.2 vertex -47.6522 -37.8745 0 vertex -47.4529 -37.9547 0 endloop @@ -13484,13 +13484,13 @@ solid OpenSCAD_Model facet normal 0.373487 0.927636 0 outer loop vertex -47.6522 -37.8745 0 - vertex -47.4529 -37.9547 -0.1 - vertex -47.6522 -37.8745 -0.1 + vertex -47.4529 -37.9547 -0.2 + vertex -47.6522 -37.8745 -0.2 endloop endfacet facet normal 0.561365 0.827568 -0 outer loop - vertex -47.6522 -37.8745 -0.1 + vertex -47.6522 -37.8745 -0.2 vertex -47.8044 -37.7712 0 vertex -47.6522 -37.8745 0 endloop @@ -13498,125 +13498,125 @@ solid OpenSCAD_Model facet normal 0.561365 0.827568 0 outer loop vertex -47.8044 -37.7712 0 - vertex -47.6522 -37.8745 -0.1 - vertex -47.8044 -37.7712 -0.1 + vertex -47.6522 -37.8745 -0.2 + vertex -47.8044 -37.7712 -0.2 endloop endfacet facet normal 0.753293 0.657685 0 outer loop vertex -47.8044 -37.7712 0 - vertex -47.9115 -37.6485 -0.1 + vertex -47.9115 -37.6485 -0.2 vertex -47.9115 -37.6485 0 endloop endfacet facet normal 0.753293 0.657685 0 outer loop - vertex -47.9115 -37.6485 -0.1 + vertex -47.9115 -37.6485 -0.2 vertex -47.8044 -37.7712 0 - vertex -47.8044 -37.7712 -0.1 + vertex -47.8044 -37.7712 -0.2 endloop endfacet facet normal 0.907474 0.420108 0 outer loop vertex -47.9115 -37.6485 0 - vertex -47.9758 -37.5097 -0.1 + vertex -47.9758 -37.5097 -0.2 vertex -47.9758 -37.5097 0 endloop endfacet facet normal 0.907474 0.420108 0 outer loop - vertex -47.9758 -37.5097 -0.1 + vertex -47.9758 -37.5097 -0.2 vertex -47.9115 -37.6485 0 - vertex -47.9115 -37.6485 -0.1 + vertex -47.9115 -37.6485 -0.2 endloop endfacet facet normal 0.988205 0.153137 0 outer loop vertex -47.9758 -37.5097 0 - vertex -47.9993 -37.3583 -0.1 + vertex -47.9993 -37.3583 -0.2 vertex -47.9993 -37.3583 0 endloop endfacet facet normal 0.988205 0.153137 0 outer loop - vertex -47.9993 -37.3583 -0.1 + vertex -47.9993 -37.3583 -0.2 vertex -47.9758 -37.5097 0 - vertex -47.9758 -37.5097 -0.1 + vertex -47.9758 -37.5097 -0.2 endloop endfacet facet normal 0.995535 -0.0943972 0 outer loop vertex -47.9993 -37.3583 0 - vertex -47.984 -37.1977 -0.1 + vertex -47.984 -37.1977 -0.2 vertex -47.984 -37.1977 0 endloop endfacet facet normal 0.995535 -0.0943972 0 outer loop - vertex -47.984 -37.1977 -0.1 + vertex -47.984 -37.1977 -0.2 vertex -47.9993 -37.3583 0 - vertex -47.9993 -37.3583 -0.1 + vertex -47.9993 -37.3583 -0.2 endloop endfacet facet normal 0.954736 -0.297455 0 outer loop vertex -47.984 -37.1977 0 - vertex -47.9322 -37.0315 -0.1 + vertex -47.9322 -37.0315 -0.2 vertex -47.9322 -37.0315 0 endloop endfacet facet normal 0.954736 -0.297455 0 outer loop - vertex -47.9322 -37.0315 -0.1 + vertex -47.9322 -37.0315 -0.2 vertex -47.984 -37.1977 0 - vertex -47.984 -37.1977 -0.1 + vertex -47.984 -37.1977 -0.2 endloop endfacet facet normal 0.890101 -0.455763 0 outer loop vertex -47.9322 -37.0315 0 - vertex -47.846 -36.863 -0.1 + vertex -47.846 -36.863 -0.2 vertex -47.846 -36.863 0 endloop endfacet facet normal 0.890101 -0.455763 0 outer loop - vertex -47.846 -36.863 -0.1 + vertex -47.846 -36.863 -0.2 vertex -47.9322 -37.0315 0 - vertex -47.9322 -37.0315 -0.1 + vertex -47.9322 -37.0315 -0.2 endloop endfacet facet normal 0.815677 -0.578507 0 outer loop vertex -47.846 -36.863 0 - vertex -47.7274 -36.6957 -0.1 + vertex -47.7274 -36.6957 -0.2 vertex -47.7274 -36.6957 0 endloop endfacet facet normal 0.815677 -0.578507 0 outer loop - vertex -47.7274 -36.6957 -0.1 + vertex -47.7274 -36.6957 -0.2 vertex -47.846 -36.863 0 - vertex -47.846 -36.863 -0.1 + vertex -47.846 -36.863 -0.2 endloop endfacet facet normal 0.737497 -0.67535 0 outer loop vertex -47.7274 -36.6957 0 - vertex -47.5785 -36.5332 -0.1 + vertex -47.5785 -36.5332 -0.2 vertex -47.5785 -36.5332 0 endloop endfacet facet normal 0.737497 -0.67535 0 outer loop - vertex -47.5785 -36.5332 -0.1 + vertex -47.5785 -36.5332 -0.2 vertex -47.7274 -36.6957 0 - vertex -47.7274 -36.6957 -0.1 + vertex -47.7274 -36.6957 -0.2 endloop endfacet facet normal 0.65739 -0.753551 0 outer loop - vertex -47.5785 -36.5332 -0.1 + vertex -47.5785 -36.5332 -0.2 vertex -47.4015 -36.3788 0 vertex -47.5785 -36.5332 0 endloop @@ -13624,13 +13624,13 @@ solid OpenSCAD_Model facet normal 0.65739 -0.753551 0 outer loop vertex -47.4015 -36.3788 0 - vertex -47.5785 -36.5332 -0.1 - vertex -47.4015 -36.3788 -0.1 + vertex -47.5785 -36.5332 -0.2 + vertex -47.4015 -36.3788 -0.2 endloop endfacet facet normal 0.575341 -0.817914 0 outer loop - vertex -47.4015 -36.3788 -0.1 + vertex -47.4015 -36.3788 -0.2 vertex -47.1985 -36.2359 0 vertex -47.4015 -36.3788 0 endloop @@ -13638,13 +13638,13 @@ solid OpenSCAD_Model facet normal 0.575341 -0.817914 0 outer loop vertex -47.1985 -36.2359 0 - vertex -47.4015 -36.3788 -0.1 - vertex -47.1985 -36.2359 -0.1 + vertex -47.4015 -36.3788 -0.2 + vertex -47.1985 -36.2359 -0.2 endloop endfacet facet normal 0.490533 -0.871423 0 outer loop - vertex -47.1985 -36.2359 -0.1 + vertex -47.1985 -36.2359 -0.2 vertex -46.9715 -36.1082 0 vertex -47.1985 -36.2359 0 endloop @@ -13652,13 +13652,13 @@ solid OpenSCAD_Model facet normal 0.490533 -0.871423 0 outer loop vertex -46.9715 -36.1082 0 - vertex -47.1985 -36.2359 -0.1 - vertex -46.9715 -36.1082 -0.1 + vertex -47.1985 -36.2359 -0.2 + vertex -46.9715 -36.1082 -0.2 endloop endfacet facet normal 0.402049 -0.915618 0 outer loop - vertex -46.9715 -36.1082 -0.1 + vertex -46.9715 -36.1082 -0.2 vertex -46.7228 -35.999 0 vertex -46.9715 -36.1082 0 endloop @@ -13666,13 +13666,13 @@ solid OpenSCAD_Model facet normal 0.402049 -0.915618 0 outer loop vertex -46.7228 -35.999 0 - vertex -46.9715 -36.1082 -0.1 - vertex -46.7228 -35.999 -0.1 + vertex -46.9715 -36.1082 -0.2 + vertex -46.7228 -35.999 -0.2 endloop endfacet facet normal 0.309107 -0.951027 0 outer loop - vertex -46.7228 -35.999 -0.1 + vertex -46.7228 -35.999 -0.2 vertex -46.4544 -35.9117 0 vertex -46.7228 -35.999 0 endloop @@ -13680,13 +13680,13 @@ solid OpenSCAD_Model facet normal 0.309107 -0.951027 0 outer loop vertex -46.4544 -35.9117 0 - vertex -46.7228 -35.999 -0.1 - vertex -46.4544 -35.9117 -0.1 + vertex -46.7228 -35.999 -0.2 + vertex -46.4544 -35.9117 -0.2 endloop endfacet facet normal 0.211211 -0.977441 0 outer loop - vertex -46.4544 -35.9117 -0.1 + vertex -46.4544 -35.9117 -0.2 vertex -46.1684 -35.8499 0 vertex -46.4544 -35.9117 0 endloop @@ -13694,13 +13694,13 @@ solid OpenSCAD_Model facet normal 0.211211 -0.977441 0 outer loop vertex -46.1684 -35.8499 0 - vertex -46.4544 -35.9117 -0.1 - vertex -46.1684 -35.8499 -0.1 + vertex -46.4544 -35.9117 -0.2 + vertex -46.1684 -35.8499 -0.2 endloop endfacet facet normal 0.185786 -0.98259 0 outer loop - vertex -46.1684 -35.8499 -0.1 + vertex -46.1684 -35.8499 -0.2 vertex -45.8475 -35.7893 0 vertex -46.1684 -35.8499 0 endloop @@ -13708,13 +13708,13 @@ solid OpenSCAD_Model facet normal 0.185786 -0.98259 0 outer loop vertex -45.8475 -35.7893 0 - vertex -46.1684 -35.8499 -0.1 - vertex -45.8475 -35.7893 -0.1 + vertex -46.1684 -35.8499 -0.2 + vertex -45.8475 -35.7893 -0.2 endloop endfacet facet normal 0.247179 -0.96897 0 outer loop - vertex -45.8475 -35.7893 -0.1 + vertex -45.8475 -35.7893 -0.2 vertex -45.5508 -35.7136 0 vertex -45.8475 -35.7893 0 endloop @@ -13722,13 +13722,13 @@ solid OpenSCAD_Model facet normal 0.247179 -0.96897 0 outer loop vertex -45.5508 -35.7136 0 - vertex -45.8475 -35.7893 -0.1 - vertex -45.5508 -35.7136 -0.1 + vertex -45.8475 -35.7893 -0.2 + vertex -45.5508 -35.7136 -0.2 endloop endfacet facet normal 0.324475 -0.945894 0 outer loop - vertex -45.5508 -35.7136 -0.1 + vertex -45.5508 -35.7136 -0.2 vertex -45.2753 -35.6191 0 vertex -45.5508 -35.7136 0 endloop @@ -13736,13 +13736,13 @@ solid OpenSCAD_Model facet normal 0.324475 -0.945894 0 outer loop vertex -45.2753 -35.6191 0 - vertex -45.5508 -35.7136 -0.1 - vertex -45.2753 -35.6191 -0.1 + vertex -45.5508 -35.7136 -0.2 + vertex -45.2753 -35.6191 -0.2 endloop endfacet facet normal 0.414245 -0.910165 0 outer loop - vertex -45.2753 -35.6191 -0.1 + vertex -45.2753 -35.6191 -0.2 vertex -45.0179 -35.5019 0 vertex -45.2753 -35.6191 0 endloop @@ -13750,13 +13750,13 @@ solid OpenSCAD_Model facet normal 0.414245 -0.910165 0 outer loop vertex -45.0179 -35.5019 0 - vertex -45.2753 -35.6191 -0.1 - vertex -45.0179 -35.5019 -0.1 + vertex -45.2753 -35.6191 -0.2 + vertex -45.0179 -35.5019 -0.2 endloop endfacet facet normal 0.509766 -0.860313 0 outer loop - vertex -45.0179 -35.5019 -0.1 + vertex -45.0179 -35.5019 -0.2 vertex -44.7755 -35.3583 0 vertex -45.0179 -35.5019 0 endloop @@ -13764,13 +13764,13 @@ solid OpenSCAD_Model facet normal 0.509766 -0.860313 0 outer loop vertex -44.7755 -35.3583 0 - vertex -45.0179 -35.5019 -0.1 - vertex -44.7755 -35.3583 -0.1 + vertex -45.0179 -35.5019 -0.2 + vertex -44.7755 -35.3583 -0.2 endloop endfacet facet normal 0.602421 -0.798179 0 outer loop - vertex -44.7755 -35.3583 -0.1 + vertex -44.7755 -35.3583 -0.2 vertex -44.5451 -35.1844 0 vertex -44.7755 -35.3583 0 endloop @@ -13778,13 +13778,13 @@ solid OpenSCAD_Model facet normal 0.602421 -0.798179 0 outer loop vertex -44.5451 -35.1844 0 - vertex -44.7755 -35.3583 -0.1 - vertex -44.5451 -35.1844 -0.1 + vertex -44.7755 -35.3583 -0.2 + vertex -44.5451 -35.1844 -0.2 endloop endfacet facet normal 0.684546 -0.728969 0 outer loop - vertex -44.5451 -35.1844 -0.1 + vertex -44.5451 -35.1844 -0.2 vertex -44.3237 -34.9765 0 vertex -44.5451 -35.1844 0 endloop @@ -13792,307 +13792,307 @@ solid OpenSCAD_Model facet normal 0.684546 -0.728969 0 outer loop vertex -44.3237 -34.9765 0 - vertex -44.5451 -35.1844 -0.1 - vertex -44.3237 -34.9765 -0.1 + vertex -44.5451 -35.1844 -0.2 + vertex -44.3237 -34.9765 -0.2 endloop endfacet facet normal 0.751841 -0.659345 0 outer loop vertex -44.3237 -34.9765 0 - vertex -44.108 -34.7306 -0.1 + vertex -44.108 -34.7306 -0.2 vertex -44.108 -34.7306 0 endloop endfacet facet normal 0.751841 -0.659345 0 outer loop - vertex -44.108 -34.7306 -0.1 + vertex -44.108 -34.7306 -0.2 vertex -44.3237 -34.9765 0 - vertex -44.3237 -34.9765 -0.1 + vertex -44.3237 -34.9765 -0.2 endloop endfacet facet normal 0.803805 -0.594893 0 outer loop vertex -44.108 -34.7306 0 - vertex -43.8952 -34.443 -0.1 + vertex -43.8952 -34.443 -0.2 vertex -43.8952 -34.443 0 endloop endfacet facet normal 0.803805 -0.594893 0 outer loop - vertex -43.8952 -34.443 -0.1 + vertex -43.8952 -34.443 -0.2 vertex -44.108 -34.7306 0 - vertex -44.108 -34.7306 -0.1 + vertex -44.108 -34.7306 -0.2 endloop endfacet facet normal 0.842352 -0.538928 0 outer loop vertex -43.8952 -34.443 0 - vertex -43.682 -34.1098 -0.1 + vertex -43.682 -34.1098 -0.2 vertex -43.682 -34.1098 0 endloop endfacet facet normal 0.842352 -0.538928 0 outer loop - vertex -43.682 -34.1098 -0.1 + vertex -43.682 -34.1098 -0.2 vertex -43.8952 -34.443 0 - vertex -43.8952 -34.443 -0.1 + vertex -43.8952 -34.443 -0.2 endloop endfacet facet normal 0.870266 -0.492581 0 outer loop vertex -43.682 -34.1098 0 - vertex -43.4655 -33.7273 -0.1 + vertex -43.4655 -33.7273 -0.2 vertex -43.4655 -33.7273 0 endloop endfacet facet normal 0.870266 -0.492581 0 outer loop - vertex -43.4655 -33.7273 -0.1 + vertex -43.4655 -33.7273 -0.2 vertex -43.682 -34.1098 0 - vertex -43.682 -34.1098 -0.1 + vertex -43.682 -34.1098 -0.2 endloop endfacet facet normal 0.890236 -0.4555 0 outer loop vertex -43.4655 -33.7273 0 - vertex -43.2426 -33.2915 -0.1 + vertex -43.2426 -33.2915 -0.2 vertex -43.2426 -33.2915 0 endloop endfacet facet normal 0.890236 -0.4555 0 outer loop - vertex -43.2426 -33.2915 -0.1 + vertex -43.2426 -33.2915 -0.2 vertex -43.4655 -33.7273 0 - vertex -43.4655 -33.7273 -0.1 + vertex -43.4655 -33.7273 -0.2 endloop endfacet facet normal 0.909757 -0.41514 0 outer loop vertex -43.2426 -33.2915 0 - vertex -42.7651 -32.2453 -0.1 + vertex -42.7651 -32.2453 -0.2 vertex -42.7651 -32.2453 0 endloop endfacet facet normal 0.909757 -0.41514 0 outer loop - vertex -42.7651 -32.2453 -0.1 + vertex -42.7651 -32.2453 -0.2 vertex -43.2426 -33.2915 0 - vertex -43.2426 -33.2915 -0.1 + vertex -43.2426 -33.2915 -0.2 endloop endfacet facet normal 0.924016 -0.382355 0 outer loop vertex -42.7651 -32.2453 0 - vertex -42.2252 -30.9405 -0.1 + vertex -42.2252 -30.9405 -0.2 vertex -42.2252 -30.9405 0 endloop endfacet facet normal 0.924016 -0.382355 0 outer loop - vertex -42.2252 -30.9405 -0.1 + vertex -42.2252 -30.9405 -0.2 vertex -42.7651 -32.2453 0 - vertex -42.7651 -32.2453 -0.1 + vertex -42.7651 -32.2453 -0.2 endloop endfacet facet normal 0.922377 -0.38629 0 outer loop vertex -42.2252 -30.9405 0 - vertex -41.2695 -28.6585 -0.1 + vertex -41.2695 -28.6585 -0.2 vertex -41.2695 -28.6585 0 endloop endfacet facet normal 0.922377 -0.38629 0 outer loop - vertex -41.2695 -28.6585 -0.1 + vertex -41.2695 -28.6585 -0.2 vertex -42.2252 -30.9405 0 - vertex -42.2252 -30.9405 -0.1 + vertex -42.2252 -30.9405 -0.2 endloop endfacet facet normal 0.918146 -0.396243 0 outer loop vertex -41.2695 -28.6585 0 - vertex -39.8955 -25.4747 -0.1 + vertex -39.8955 -25.4747 -0.2 vertex -39.8955 -25.4747 0 endloop endfacet facet normal 0.918146 -0.396243 0 outer loop - vertex -39.8955 -25.4747 -0.1 + vertex -39.8955 -25.4747 -0.2 vertex -41.2695 -28.6585 0 - vertex -41.2695 -28.6585 -0.1 + vertex -41.2695 -28.6585 -0.2 endloop endfacet facet normal 0.918872 -0.394555 0 outer loop vertex -39.8955 -25.4747 0 - vertex -38.3469 -21.8682 -0.1 + vertex -38.3469 -21.8682 -0.2 vertex -38.3469 -21.8682 0 endloop endfacet facet normal 0.918872 -0.394555 0 outer loop - vertex -38.3469 -21.8682 -0.1 + vertex -38.3469 -21.8682 -0.2 vertex -39.8955 -25.4747 0 - vertex -39.8955 -25.4747 -0.1 + vertex -39.8955 -25.4747 -0.2 endloop endfacet facet normal 0.92432 -0.381618 0 outer loop vertex -38.3469 -21.8682 0 - vertex -37.0431 -18.7102 -0.1 + vertex -37.0431 -18.7102 -0.2 vertex -37.0431 -18.7102 0 endloop endfacet facet normal 0.92432 -0.381618 0 outer loop - vertex -37.0431 -18.7102 -0.1 + vertex -37.0431 -18.7102 -0.2 vertex -38.3469 -21.8682 0 - vertex -38.3469 -21.8682 -0.1 + vertex -38.3469 -21.8682 -0.2 endloop endfacet facet normal 0.929541 -0.368719 0 outer loop vertex -37.0431 -18.7102 0 - vertex -36.5163 -17.3821 -0.1 + vertex -36.5163 -17.3821 -0.2 vertex -36.5163 -17.3821 0 endloop endfacet facet normal 0.929541 -0.368719 0 outer loop - vertex -36.5163 -17.3821 -0.1 + vertex -36.5163 -17.3821 -0.2 vertex -37.0431 -18.7102 0 - vertex -37.0431 -18.7102 -0.1 + vertex -37.0431 -18.7102 -0.2 endloop endfacet facet normal 0.934424 -0.356162 0 outer loop vertex -36.5163 -17.3821 0 - vertex -36.0907 -16.2655 -0.1 + vertex -36.0907 -16.2655 -0.2 vertex -36.0907 -16.2655 0 endloop endfacet facet normal 0.934424 -0.356162 0 outer loop - vertex -36.0907 -16.2655 -0.1 + vertex -36.0907 -16.2655 -0.2 vertex -36.5163 -17.3821 0 - vertex -36.5163 -17.3821 -0.1 + vertex -36.5163 -17.3821 -0.2 endloop endfacet facet normal 0.941869 -0.335981 0 outer loop vertex -36.0907 -16.2655 0 - vertex -35.7796 -15.3934 -0.1 + vertex -35.7796 -15.3934 -0.2 vertex -35.7796 -15.3934 0 endloop endfacet facet normal 0.941869 -0.335981 0 outer loop - vertex -35.7796 -15.3934 -0.1 + vertex -35.7796 -15.3934 -0.2 vertex -36.0907 -16.2655 0 - vertex -36.0907 -16.2655 -0.1 + vertex -36.0907 -16.2655 -0.2 endloop endfacet facet normal 0.955627 -0.294578 0 outer loop vertex -35.7796 -15.3934 0 - vertex -35.5964 -14.799 -0.1 + vertex -35.5964 -14.799 -0.2 vertex -35.5964 -14.799 0 endloop endfacet facet normal 0.955627 -0.294578 0 outer loop - vertex -35.5964 -14.799 -0.1 + vertex -35.5964 -14.799 -0.2 vertex -35.7796 -15.3934 0 - vertex -35.7796 -15.3934 -0.1 + vertex -35.7796 -15.3934 -0.2 endloop endfacet facet normal 0.97537 -0.220574 0 outer loop vertex -35.5964 -14.799 0 - vertex -35.5123 -14.4274 -0.1 + vertex -35.5123 -14.4274 -0.2 vertex -35.5123 -14.4274 0 endloop endfacet facet normal 0.97537 -0.220574 0 outer loop - vertex -35.5123 -14.4274 -0.1 + vertex -35.5123 -14.4274 -0.2 vertex -35.5964 -14.799 0 - vertex -35.5964 -14.799 -0.1 + vertex -35.5964 -14.799 -0.2 endloop endfacet facet normal 0.992467 -0.122514 0 outer loop vertex -35.5123 -14.4274 0 - vertex -35.4754 -14.1281 -0.1 + vertex -35.4754 -14.1281 -0.2 vertex -35.4754 -14.1281 0 endloop endfacet facet normal 0.992467 -0.122514 0 outer loop - vertex -35.4754 -14.1281 -0.1 + vertex -35.4754 -14.1281 -0.2 vertex -35.5123 -14.4274 0 - vertex -35.5123 -14.4274 -0.1 + vertex -35.5123 -14.4274 -0.2 endloop endfacet facet normal 0.997952 0.0639612 0 outer loop vertex -35.4754 -14.1281 0 - vertex -35.4904 -13.894 -0.1 + vertex -35.4904 -13.894 -0.2 vertex -35.4904 -13.894 0 endloop endfacet facet normal 0.997952 0.0639612 0 outer loop - vertex -35.4904 -13.894 -0.1 + vertex -35.4904 -13.894 -0.2 vertex -35.4754 -14.1281 0 - vertex -35.4754 -14.1281 -0.1 + vertex -35.4754 -14.1281 -0.2 endloop endfacet facet normal 0.957653 0.287925 0 outer loop vertex -35.4904 -13.894 0 - vertex -35.5189 -13.7992 -0.1 + vertex -35.5189 -13.7992 -0.2 vertex -35.5189 -13.7992 0 endloop endfacet facet normal 0.957653 0.287925 0 outer loop - vertex -35.5189 -13.7992 -0.1 + vertex -35.5189 -13.7992 -0.2 vertex -35.4904 -13.894 0 - vertex -35.4904 -13.894 -0.1 + vertex -35.4904 -13.894 -0.2 endloop endfacet facet normal 0.882255 0.470771 0 outer loop vertex -35.5189 -13.7992 0 - vertex -35.5622 -13.718 -0.1 + vertex -35.5622 -13.718 -0.2 vertex -35.5622 -13.718 0 endloop endfacet facet normal 0.882255 0.470771 0 outer loop - vertex -35.5622 -13.718 -0.1 + vertex -35.5622 -13.718 -0.2 vertex -35.5189 -13.7992 0 - vertex -35.5189 -13.7992 -0.1 + vertex -35.5189 -13.7992 -0.2 endloop endfacet facet normal 0.758808 0.651314 0 outer loop vertex -35.5622 -13.718 0 - vertex -35.6209 -13.6496 -0.1 + vertex -35.6209 -13.6496 -0.2 vertex -35.6209 -13.6496 0 endloop endfacet facet normal 0.758808 0.651314 0 outer loop - vertex -35.6209 -13.6496 -0.1 + vertex -35.6209 -13.6496 -0.2 vertex -35.5622 -13.718 0 - vertex -35.5622 -13.718 -0.1 + vertex -35.5622 -13.718 -0.2 endloop endfacet facet normal 0.603335 0.797487 -0 outer loop - vertex -35.6209 -13.6496 -0.1 + vertex -35.6209 -13.6496 -0.2 vertex -35.6956 -13.593 0 vertex -35.6209 -13.6496 0 endloop @@ -14100,13 +14100,13 @@ solid OpenSCAD_Model facet normal 0.603335 0.797487 0 outer loop vertex -35.6956 -13.593 0 - vertex -35.6209 -13.6496 -0.1 - vertex -35.6956 -13.593 -0.1 + vertex -35.6209 -13.6496 -0.2 + vertex -35.6956 -13.593 -0.2 endloop endfacet facet normal 0.375678 0.92675 -0 outer loop - vertex -35.6956 -13.593 -0.1 + vertex -35.6956 -13.593 -0.2 vertex -35.8956 -13.512 0 vertex -35.6956 -13.593 0 endloop @@ -14114,13 +14114,13 @@ solid OpenSCAD_Model facet normal 0.375678 0.92675 0 outer loop vertex -35.8956 -13.512 0 - vertex -35.6956 -13.593 -0.1 - vertex -35.8956 -13.512 -0.1 + vertex -35.6956 -13.593 -0.2 + vertex -35.8956 -13.512 -0.2 endloop endfacet facet normal 0.161053 0.986946 -0 outer loop - vertex -35.8956 -13.512 -0.1 + vertex -35.8956 -13.512 -0.2 vertex -36.1669 -13.4677 0 vertex -35.8956 -13.512 0 endloop @@ -14128,13 +14128,13 @@ solid OpenSCAD_Model facet normal 0.161053 0.986946 0 outer loop vertex -36.1669 -13.4677 0 - vertex -35.8956 -13.512 -0.1 - vertex -36.1669 -13.4677 -0.1 + vertex -35.8956 -13.512 -0.2 + vertex -36.1669 -13.4677 -0.2 endloop endfacet facet normal 0.0419804 0.999118 -0 outer loop - vertex -36.1669 -13.4677 -0.1 + vertex -36.1669 -13.4677 -0.2 vertex -36.5145 -13.4531 0 vertex -36.1669 -13.4677 0 endloop @@ -14142,13 +14142,13 @@ solid OpenSCAD_Model facet normal 0.0419804 0.999118 0 outer loop vertex -36.5145 -13.4531 0 - vertex -36.1669 -13.4677 -0.1 - vertex -36.5145 -13.4531 -0.1 + vertex -36.1669 -13.4677 -0.2 + vertex -36.5145 -13.4531 -0.2 endloop endfacet facet normal 0.0664354 0.997791 -0 outer loop - vertex -36.5145 -13.4531 -0.1 + vertex -36.5145 -13.4531 -0.2 vertex -36.7305 -13.4387 0 vertex -36.5145 -13.4531 0 endloop @@ -14156,13 +14156,13 @@ solid OpenSCAD_Model facet normal 0.0664354 0.997791 0 outer loop vertex -36.7305 -13.4387 0 - vertex -36.5145 -13.4531 -0.1 - vertex -36.7305 -13.4387 -0.1 + vertex -36.5145 -13.4531 -0.2 + vertex -36.7305 -13.4387 -0.2 endloop endfacet facet normal 0.199985 0.979799 -0 outer loop - vertex -36.7305 -13.4387 -0.1 + vertex -36.7305 -13.4387 -0.2 vertex -36.9216 -13.3997 0 vertex -36.7305 -13.4387 0 endloop @@ -14170,13 +14170,13 @@ solid OpenSCAD_Model facet normal 0.199985 0.979799 0 outer loop vertex -36.9216 -13.3997 0 - vertex -36.7305 -13.4387 -0.1 - vertex -36.9216 -13.3997 -0.1 + vertex -36.7305 -13.4387 -0.2 + vertex -36.9216 -13.3997 -0.2 endloop endfacet facet normal 0.346161 0.938175 -0 outer loop - vertex -36.9216 -13.3997 -0.1 + vertex -36.9216 -13.3997 -0.2 vertex -37.0874 -13.3385 0 vertex -36.9216 -13.3997 0 endloop @@ -14184,13 +14184,13 @@ solid OpenSCAD_Model facet normal 0.346161 0.938175 0 outer loop vertex -37.0874 -13.3385 0 - vertex -36.9216 -13.3997 -0.1 - vertex -37.0874 -13.3385 -0.1 + vertex -36.9216 -13.3997 -0.2 + vertex -37.0874 -13.3385 -0.2 endloop endfacet facet normal 0.49992 0.866072 -0 outer loop - vertex -37.0874 -13.3385 -0.1 + vertex -37.0874 -13.3385 -0.2 vertex -37.2276 -13.2576 0 vertex -37.0874 -13.3385 0 endloop @@ -14198,13 +14198,13 @@ solid OpenSCAD_Model facet normal 0.49992 0.866072 0 outer loop vertex -37.2276 -13.2576 0 - vertex -37.0874 -13.3385 -0.1 - vertex -37.2276 -13.2576 -0.1 + vertex -37.0874 -13.3385 -0.2 + vertex -37.2276 -13.2576 -0.2 endloop endfacet facet normal 0.652051 0.758175 -0 outer loop - vertex -37.2276 -13.2576 -0.1 + vertex -37.2276 -13.2576 -0.2 vertex -37.3418 -13.1594 0 vertex -37.2276 -13.2576 0 endloop @@ -14212,139 +14212,139 @@ solid OpenSCAD_Model facet normal 0.652051 0.758175 0 outer loop vertex -37.3418 -13.1594 0 - vertex -37.2276 -13.2576 -0.1 - vertex -37.3418 -13.1594 -0.1 + vertex -37.2276 -13.2576 -0.2 + vertex -37.3418 -13.1594 -0.2 endloop endfacet facet normal 0.789664 0.613539 0 outer loop vertex -37.3418 -13.1594 0 - vertex -37.4296 -13.0463 -0.1 + vertex -37.4296 -13.0463 -0.2 vertex -37.4296 -13.0463 0 endloop endfacet facet normal 0.789664 0.613539 0 outer loop - vertex -37.4296 -13.0463 -0.1 + vertex -37.4296 -13.0463 -0.2 vertex -37.3418 -13.1594 0 - vertex -37.3418 -13.1594 -0.1 + vertex -37.3418 -13.1594 -0.2 endloop endfacet facet normal 0.898957 0.438037 0 outer loop vertex -37.4296 -13.0463 0 - vertex -37.4908 -12.9209 -0.1 + vertex -37.4908 -12.9209 -0.2 vertex -37.4908 -12.9209 0 endloop endfacet facet normal 0.898957 0.438037 0 outer loop - vertex -37.4908 -12.9209 -0.1 + vertex -37.4908 -12.9209 -0.2 vertex -37.4296 -13.0463 0 - vertex -37.4296 -13.0463 -0.1 + vertex -37.4296 -13.0463 -0.2 endloop endfacet facet normal 0.969773 0.244009 0 outer loop vertex -37.4908 -12.9209 0 - vertex -37.5249 -12.7854 -0.1 + vertex -37.5249 -12.7854 -0.2 vertex -37.5249 -12.7854 0 endloop endfacet facet normal 0.969773 0.244009 0 outer loop - vertex -37.5249 -12.7854 -0.1 + vertex -37.5249 -12.7854 -0.2 vertex -37.4908 -12.9209 0 - vertex -37.4908 -12.9209 -0.1 + vertex -37.4908 -12.9209 -0.2 endloop endfacet facet normal 0.99892 0.0464614 0 outer loop vertex -37.5249 -12.7854 0 - vertex -37.5315 -12.6425 -0.1 + vertex -37.5315 -12.6425 -0.2 vertex -37.5315 -12.6425 0 endloop endfacet facet normal 0.99892 0.0464614 0 outer loop - vertex -37.5315 -12.6425 -0.1 + vertex -37.5315 -12.6425 -0.2 vertex -37.5249 -12.7854 0 - vertex -37.5249 -12.7854 -0.1 + vertex -37.5249 -12.7854 -0.2 endloop endfacet facet normal 0.989966 -0.141306 0 outer loop vertex -37.5315 -12.6425 0 - vertex -37.5104 -12.4945 -0.1 + vertex -37.5104 -12.4945 -0.2 vertex -37.5104 -12.4945 0 endloop endfacet facet normal 0.989966 -0.141306 0 outer loop - vertex -37.5104 -12.4945 -0.1 + vertex -37.5104 -12.4945 -0.2 vertex -37.5315 -12.6425 0 - vertex -37.5315 -12.6425 -0.1 + vertex -37.5315 -12.6425 -0.2 endloop endfacet facet normal 0.950483 -0.310777 0 outer loop vertex -37.5104 -12.4945 0 - vertex -37.4611 -12.3438 -0.1 + vertex -37.4611 -12.3438 -0.2 vertex -37.4611 -12.3438 0 endloop endfacet facet normal 0.950483 -0.310777 0 outer loop - vertex -37.4611 -12.3438 -0.1 + vertex -37.4611 -12.3438 -0.2 vertex -37.5104 -12.4945 0 - vertex -37.5104 -12.4945 -0.1 + vertex -37.5104 -12.4945 -0.2 endloop endfacet facet normal 0.888869 -0.458162 0 outer loop vertex -37.4611 -12.3438 0 - vertex -37.3834 -12.1929 -0.1 + vertex -37.3834 -12.1929 -0.2 vertex -37.3834 -12.1929 0 endloop endfacet facet normal 0.888869 -0.458162 0 outer loop - vertex -37.3834 -12.1929 -0.1 + vertex -37.3834 -12.1929 -0.2 vertex -37.4611 -12.3438 0 - vertex -37.4611 -12.3438 -0.1 + vertex -37.4611 -12.3438 -0.2 endloop endfacet facet normal 0.812527 -0.582923 0 outer loop vertex -37.3834 -12.1929 0 - vertex -37.2767 -12.0443 -0.1 + vertex -37.2767 -12.0443 -0.2 vertex -37.2767 -12.0443 0 endloop endfacet facet normal 0.812527 -0.582923 0 outer loop - vertex -37.2767 -12.0443 -0.1 + vertex -37.2767 -12.0443 -0.2 vertex -37.3834 -12.1929 0 - vertex -37.3834 -12.1929 -0.1 + vertex -37.3834 -12.1929 -0.2 endloop endfacet facet normal 0.727267 -0.686355 0 outer loop vertex -37.2767 -12.0443 0 - vertex -37.1409 -11.9004 -0.1 + vertex -37.1409 -11.9004 -0.2 vertex -37.1409 -11.9004 0 endloop endfacet facet normal 0.727267 -0.686355 0 outer loop - vertex -37.1409 -11.9004 -0.1 + vertex -37.1409 -11.9004 -0.2 vertex -37.2767 -12.0443 0 - vertex -37.2767 -12.0443 -0.1 + vertex -37.2767 -12.0443 -0.2 endloop endfacet facet normal 0.637301 -0.770615 0 outer loop - vertex -37.1409 -11.9004 -0.1 + vertex -37.1409 -11.9004 -0.2 vertex -36.9755 -11.7636 0 vertex -37.1409 -11.9004 0 endloop @@ -14352,13 +14352,13 @@ solid OpenSCAD_Model facet normal 0.637301 -0.770615 0 outer loop vertex -36.9755 -11.7636 0 - vertex -37.1409 -11.9004 -0.1 - vertex -36.9755 -11.7636 -0.1 + vertex -37.1409 -11.9004 -0.2 + vertex -36.9755 -11.7636 -0.2 endloop endfacet facet normal 0.545722 -0.837967 0 outer loop - vertex -36.9755 -11.7636 -0.1 + vertex -36.9755 -11.7636 -0.2 vertex -36.7802 -11.6364 0 vertex -36.9755 -11.7636 0 endloop @@ -14366,13 +14366,13 @@ solid OpenSCAD_Model facet normal 0.545722 -0.837967 0 outer loop vertex -36.7802 -11.6364 0 - vertex -36.9755 -11.7636 -0.1 - vertex -36.7802 -11.6364 -0.1 + vertex -36.9755 -11.7636 -0.2 + vertex -36.7802 -11.6364 -0.2 endloop endfacet facet normal 0.431805 -0.901967 0 outer loop - vertex -36.7802 -11.6364 -0.1 + vertex -36.7802 -11.6364 -0.2 vertex -36.527 -11.5152 0 vertex -36.7802 -11.6364 0 endloop @@ -14380,13 +14380,13 @@ solid OpenSCAD_Model facet normal 0.431805 -0.901967 0 outer loop vertex -36.527 -11.5152 0 - vertex -36.7802 -11.6364 -0.1 - vertex -36.527 -11.5152 -0.1 + vertex -36.7802 -11.6364 -0.2 + vertex -36.527 -11.5152 -0.2 endloop endfacet facet normal 0.256105 -0.966649 0 outer loop - vertex -36.527 -11.5152 -0.1 + vertex -36.527 -11.5152 -0.2 vertex -36.1819 -11.4238 0 vertex -36.527 -11.5152 0 endloop @@ -14394,13 +14394,13 @@ solid OpenSCAD_Model facet normal 0.256105 -0.966649 0 outer loop vertex -36.1819 -11.4238 0 - vertex -36.527 -11.5152 -0.1 - vertex -36.1819 -11.4238 -0.1 + vertex -36.527 -11.5152 -0.2 + vertex -36.1819 -11.4238 -0.2 endloop endfacet facet normal 0.121259 -0.992621 0 outer loop - vertex -36.1819 -11.4238 -0.1 + vertex -36.1819 -11.4238 -0.2 vertex -35.6555 -11.3595 0 vertex -36.1819 -11.4238 0 endloop @@ -14408,13 +14408,13 @@ solid OpenSCAD_Model facet normal 0.121259 -0.992621 0 outer loop vertex -35.6555 -11.3595 0 - vertex -36.1819 -11.4238 -0.1 - vertex -35.6555 -11.3595 -0.1 + vertex -36.1819 -11.4238 -0.2 + vertex -35.6555 -11.3595 -0.2 endloop endfacet facet normal 0.0498988 -0.998754 0 outer loop - vertex -35.6555 -11.3595 -0.1 + vertex -35.6555 -11.3595 -0.2 vertex -34.8583 -11.3197 0 vertex -35.6555 -11.3595 0 endloop @@ -14422,13 +14422,13 @@ solid OpenSCAD_Model facet normal 0.0498988 -0.998754 0 outer loop vertex -34.8583 -11.3197 0 - vertex -35.6555 -11.3595 -0.1 - vertex -34.8583 -11.3197 -0.1 + vertex -35.6555 -11.3595 -0.2 + vertex -34.8583 -11.3197 -0.2 endloop endfacet facet normal 0.0155398 -0.999879 0 outer loop - vertex -34.8583 -11.3197 -0.1 + vertex -34.8583 -11.3197 -0.2 vertex -33.7011 -11.3017 0 vertex -34.8583 -11.3197 0 endloop @@ -14436,13 +14436,13 @@ solid OpenSCAD_Model facet normal 0.0155398 -0.999879 0 outer loop vertex -33.7011 -11.3017 0 - vertex -34.8583 -11.3197 -0.1 - vertex -33.7011 -11.3017 -0.1 + vertex -34.8583 -11.3197 -0.2 + vertex -33.7011 -11.3017 -0.2 endloop endfacet facet normal -0.000753226 -1 0 outer loop - vertex -33.7011 -11.3017 -0.1 + vertex -33.7011 -11.3017 -0.2 vertex -32.0944 -11.3029 0 vertex -33.7011 -11.3017 0 endloop @@ -14450,1616 +14450,1616 @@ solid OpenSCAD_Model facet normal -0.000753226 -1 -0 outer loop vertex -32.0944 -11.3029 0 - vertex -33.7011 -11.3017 -0.1 - vertex -32.0944 -11.3029 -0.1 + vertex -33.7011 -11.3017 -0.2 + vertex -32.0944 -11.3029 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.0792 -19.1571 -0.1 - vertex -11.6557 -19.6804 -0.1 - vertex -11.6899 -19.4898 -0.1 + vertex -12.0792 -19.1571 -0.2 + vertex -11.6557 -19.6804 -0.2 + vertex -11.6899 -19.4898 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.302 -19.1333 -0.1 - vertex -11.6557 -19.6804 -0.1 - vertex -12.0792 -19.1571 -0.1 + vertex -12.302 -19.1333 -0.2 + vertex -11.6557 -19.6804 -0.2 + vertex -12.0792 -19.1571 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.9023 -19.2259 -0.1 - vertex -11.6899 -19.4898 -0.1 - vertex -11.7723 -19.3375 -0.1 + vertex -11.9023 -19.2259 -0.2 + vertex -11.6899 -19.4898 -0.2 + vertex -11.7723 -19.3375 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.6557 -19.6804 -0.1 - vertex -12.302 -19.1333 -0.1 - vertex -11.6707 -19.9072 -0.1 + vertex -11.6557 -19.6804 -0.2 + vertex -12.302 -19.1333 -0.2 + vertex -11.6707 -19.9072 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.6899 -19.4898 -0.1 - vertex -11.9023 -19.2259 -0.1 - vertex -12.0792 -19.1571 -0.1 + vertex -11.6899 -19.4898 -0.2 + vertex -11.9023 -19.2259 -0.2 + vertex -12.0792 -19.1571 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -12.6849 -19.1929 -0.1 - vertex -11.6707 -19.9072 -0.1 - vertex -12.302 -19.1333 -0.1 + vertex -12.6849 -19.1929 -0.2 + vertex -11.6707 -19.9072 -0.2 + vertex -12.302 -19.1333 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.7355 -20.1677 -0.1 - vertex -12.6849 -19.1929 -0.1 - vertex -11.851 -20.4599 -0.1 + vertex -11.7355 -20.1677 -0.2 + vertex -12.6849 -19.1929 -0.2 + vertex -11.851 -20.4599 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.6707 -19.9072 -0.1 - vertex -12.6849 -19.1929 -0.1 - vertex -11.7355 -20.1677 -0.1 + vertex -11.6707 -19.9072 -0.2 + vertex -12.6849 -19.1929 -0.2 + vertex -11.7355 -20.1677 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.01943 -23.5295 -0.1 - vertex -8.48242 -23.1923 -0.1 - vertex -8.45645 -23.4267 -0.1 + vertex -4.01943 -23.5295 -0.2 + vertex -8.48242 -23.1923 -0.2 + vertex -8.45645 -23.4267 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.06691 -19.2358 -0.1 - vertex -8.54451 -22.9989 -0.1 - vertex -8.48242 -23.1923 -0.1 + vertex -8.06691 -19.2358 -0.2 + vertex -8.54451 -22.9989 -0.2 + vertex -8.48242 -23.1923 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.06691 -19.2358 -0.1 - vertex -8.64279 -22.8439 -0.1 - vertex -8.54451 -22.9989 -0.1 + vertex -8.06691 -19.2358 -0.2 + vertex -8.64279 -22.8439 -0.2 + vertex -8.54451 -22.9989 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.94827 -22.6394 -0.1 - vertex -8.43701 -19.2929 -0.1 - vertex -8.77447 -19.378 -0.1 + vertex -8.94827 -22.6394 -0.2 + vertex -8.43701 -19.2929 -0.2 + vertex -8.77447 -19.378 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.06691 -19.2358 -0.1 - vertex -8.77736 -22.7249 -0.1 - vertex -8.64279 -22.8439 -0.1 + vertex -8.06691 -19.2358 -0.2 + vertex -8.77736 -22.7249 -0.2 + vertex -8.64279 -22.8439 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.43701 -19.2929 -0.1 - vertex -8.94827 -22.6394 -0.1 - vertex -8.77736 -22.7249 -0.1 + vertex -8.43701 -19.2929 -0.2 + vertex -8.94827 -22.6394 -0.2 + vertex -8.77736 -22.7249 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -9.10766 -19.4997 -0.1 - vertex -8.94827 -22.6394 -0.1 - vertex -8.77447 -19.378 -0.1 + vertex -9.10766 -19.4997 -0.2 + vertex -8.94827 -22.6394 -0.2 + vertex -8.77447 -19.378 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -9.46489 -19.667 -0.1 - vertex -8.94827 -22.6394 -0.1 - vertex -9.10766 -19.4997 -0.1 + vertex -9.46489 -19.667 -0.2 + vertex -8.94827 -22.6394 -0.2 + vertex -9.10766 -19.4997 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.94827 -22.6394 -0.1 - vertex -9.46489 -19.667 -0.1 - vertex -9.15561 -22.5851 -0.1 + vertex -8.94827 -22.6394 -0.2 + vertex -9.46489 -19.667 -0.2 + vertex -9.15561 -22.5851 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -9.87453 -19.8884 -0.1 - vertex -9.15561 -22.5851 -0.1 - vertex -9.46489 -19.667 -0.1 + vertex -9.87453 -19.8884 -0.2 + vertex -9.15561 -22.5851 -0.2 + vertex -9.46489 -19.667 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.15561 -22.5851 -0.1 - vertex -9.87453 -19.8884 -0.1 - vertex -9.39946 -22.5595 -0.1 + vertex -9.15561 -22.5851 -0.2 + vertex -9.87453 -19.8884 -0.2 + vertex -9.39946 -22.5595 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -10.3649 -20.1728 -0.1 - vertex -9.39946 -22.5595 -0.1 - vertex -9.87453 -19.8884 -0.1 + vertex -10.3649 -20.1728 -0.2 + vertex -9.39946 -22.5595 -0.2 + vertex -9.87453 -19.8884 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.39946 -22.5595 -0.1 - vertex -10.3649 -20.1728 -0.1 - vertex -9.67988 -22.56 -0.1 + vertex -9.39946 -22.5595 -0.2 + vertex -10.3649 -20.1728 -0.2 + vertex -9.67988 -22.56 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.67988 -22.56 -0.1 - vertex -10.3649 -20.1728 -0.1 - vertex -10.0796 -22.6123 -0.1 + vertex -9.67988 -22.56 -0.2 + vertex -10.3649 -20.1728 -0.2 + vertex -10.0796 -22.6123 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -11.5073 -20.829 -0.1 - vertex -10.0796 -22.6123 -0.1 - vertex -10.3649 -20.1728 -0.1 + vertex -11.5073 -20.829 -0.2 + vertex -10.0796 -22.6123 -0.2 + vertex -10.3649 -20.1728 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.0796 -22.6123 -0.1 - vertex -11.5073 -20.829 -0.1 - vertex -10.5344 -22.7271 -0.1 + vertex -10.0796 -22.6123 -0.2 + vertex -11.5073 -20.829 -0.2 + vertex -10.5344 -22.7271 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5344 -22.7271 -0.1 - vertex -11.5073 -20.829 -0.1 - vertex -10.9881 -22.8877 -0.1 + vertex -10.5344 -22.7271 -0.2 + vertex -11.5073 -20.829 -0.2 + vertex -10.9881 -22.8877 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -11.8784 -21.0286 -0.1 - vertex -10.9881 -22.8877 -0.1 - vertex -11.5073 -20.829 -0.1 + vertex -11.8784 -21.0286 -0.2 + vertex -10.9881 -22.8877 -0.2 + vertex -11.5073 -20.829 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -12.0427 -21.102 -0.1 - vertex -10.9881 -22.8877 -0.1 - vertex -11.8784 -21.0286 -0.1 + vertex -12.0427 -21.102 -0.2 + vertex -10.9881 -22.8877 -0.2 + vertex -11.8784 -21.0286 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.9881 -22.8877 -0.1 - vertex -12.0427 -21.102 -0.1 - vertex -11.3849 -23.0769 -0.1 + vertex -10.9881 -22.8877 -0.2 + vertex -12.0427 -21.102 -0.2 + vertex -11.3849 -23.0769 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.3849 -23.0769 -0.1 - vertex -12.0427 -21.102 -0.1 - vertex -11.9359 -23.4045 -0.1 + vertex -11.3849 -23.0769 -0.2 + vertex -12.0427 -21.102 -0.2 + vertex -11.9359 -23.4045 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.4007 -23.7203 -0.1 - vertex -12.0427 -21.102 -0.1 - vertex -12.0573 -21.0889 -0.1 + vertex -12.4007 -23.7203 -0.2 + vertex -12.0427 -21.102 -0.2 + vertex -12.0573 -21.0889 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.1989 -19.5967 -0.1 - vertex -12.0573 -21.0889 -0.1 - vertex -12.0594 -21.0513 -0.1 + vertex -14.1989 -19.5967 -0.2 + vertex -12.0573 -21.0889 -0.2 + vertex -12.0594 -21.0513 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.3483 -19.3556 -0.1 - vertex -11.851 -20.4599 -0.1 - vertex -12.6849 -19.1929 -0.1 + vertex -13.3483 -19.3556 -0.2 + vertex -11.851 -20.4599 -0.2 + vertex -12.6849 -19.1929 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.851 -20.4599 -0.1 - vertex -13.3483 -19.3556 -0.1 - vertex -12.0288 -20.9134 -0.1 + vertex -11.851 -20.4599 -0.2 + vertex -13.3483 -19.3556 -0.2 + vertex -12.0288 -20.9134 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.0288 -20.9134 -0.1 - vertex -13.3483 -19.3556 -0.1 - vertex -12.0594 -21.0513 -0.1 + vertex -12.0288 -20.9134 -0.2 + vertex -13.3483 -19.3556 -0.2 + vertex -12.0594 -21.0513 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.1989 -19.5967 -0.1 - vertex -12.0594 -21.0513 -0.1 - vertex -13.3483 -19.3556 -0.1 + vertex -14.1989 -19.5967 -0.2 + vertex -12.0594 -21.0513 -0.2 + vertex -13.3483 -19.3556 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.0573 -21.0889 -0.1 - vertex -14.1989 -19.5967 -0.1 - vertex -15.1436 -19.8912 -0.1 + vertex -12.0573 -21.0889 -0.2 + vertex -14.1989 -19.5967 -0.2 + vertex -15.1436 -19.8912 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.0427 -21.102 -0.1 - vertex -12.4007 -23.7203 -0.1 - vertex -11.9359 -23.4045 -0.1 + vertex -12.0427 -21.102 -0.2 + vertex -12.4007 -23.7203 -0.2 + vertex -11.9359 -23.4045 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.0573 -21.0889 -0.1 - vertex -15.1436 -19.8912 -0.1 - vertex -12.7941 -24.0414 -0.1 + vertex -12.0573 -21.0889 -0.2 + vertex -15.1436 -19.8912 -0.2 + vertex -12.7941 -24.0414 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.0573 -21.0889 -0.1 - vertex -12.7941 -24.0414 -0.1 - vertex -12.4007 -23.7203 -0.1 + vertex -12.0573 -21.0889 -0.2 + vertex -12.7941 -24.0414 -0.2 + vertex -12.4007 -23.7203 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.2249 -22.8126 -0.1 - vertex -12.7941 -24.0414 -0.1 - vertex -15.1436 -19.8912 -0.1 + vertex -17.2249 -22.8126 -0.2 + vertex -12.7941 -24.0414 -0.2 + vertex -15.1436 -19.8912 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.7941 -24.0414 -0.1 - vertex -17.2249 -22.8126 -0.1 - vertex -13.131 -24.3848 -0.1 + vertex -12.7941 -24.0414 -0.2 + vertex -17.2249 -22.8126 -0.2 + vertex -13.131 -24.3848 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -17.2226 -22.9371 -0.1 - vertex -13.131 -24.3848 -0.1 - vertex -17.2249 -22.8126 -0.1 + vertex -17.2226 -22.9371 -0.2 + vertex -13.131 -24.3848 -0.2 + vertex -17.2249 -22.8126 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.131 -24.3848 -0.1 - vertex -17.2226 -22.9371 -0.1 - vertex -13.4262 -24.7676 -0.1 + vertex -13.131 -24.3848 -0.2 + vertex -17.2226 -22.9371 -0.2 + vertex -13.4262 -24.7676 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.2873 -23.335 -0.1 - vertex -13.4262 -24.7676 -0.1 - vertex -17.2226 -22.9371 -0.1 + vertex -17.2873 -23.335 -0.2 + vertex -13.4262 -24.7676 -0.2 + vertex -17.2226 -22.9371 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.4084 -23.7485 -0.1 - vertex -13.6945 -25.2068 -0.1 - vertex -17.2873 -23.335 -0.1 + vertex -17.4084 -23.7485 -0.2 + vertex -13.6945 -25.2068 -0.2 + vertex -17.2873 -23.335 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.6656 -24.469 -0.1 - vertex -13.9508 -25.7195 -0.1 - vertex -17.4084 -23.7485 -0.1 + vertex -17.6656 -24.469 -0.2 + vertex -13.9508 -25.7195 -0.2 + vertex -17.4084 -23.7485 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.2578 -22.7276 -0.1 - vertex -15.1436 -19.8912 -0.1 - vertex -16.9393 -20.461 -0.1 + vertex -17.2578 -22.7276 -0.2 + vertex -15.1436 -19.8912 -0.2 + vertex -16.9393 -20.461 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.6945 -25.2068 -0.1 - vertex -17.4084 -23.7485 -0.1 - vertex -13.9508 -25.7195 -0.1 + vertex -13.6945 -25.2068 -0.2 + vertex -17.4084 -23.7485 -0.2 + vertex -13.9508 -25.7195 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.9508 -25.7195 -0.1 - vertex -17.6656 -24.469 -0.1 - vertex -14.2098 -26.3227 -0.1 + vertex -13.9508 -25.7195 -0.2 + vertex -17.6656 -24.469 -0.2 + vertex -14.2098 -26.3227 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.4262 -24.7676 -0.1 - vertex -17.2873 -23.335 -0.1 - vertex -13.6945 -25.2068 -0.1 + vertex -13.4262 -24.7676 -0.2 + vertex -17.2873 -23.335 -0.2 + vertex -13.6945 -25.2068 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.1436 -19.8912 -0.1 - vertex -17.2578 -22.7276 -0.1 - vertex -17.2249 -22.8126 -0.1 + vertex -15.1436 -19.8912 -0.2 + vertex -17.2578 -22.7276 -0.2 + vertex -17.2249 -22.8126 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.9393 -20.461 -0.1 - vertex -17.3267 -22.6747 -0.1 - vertex -17.2578 -22.7276 -0.1 + vertex -16.9393 -20.461 -0.2 + vertex -17.3267 -22.6747 -0.2 + vertex -17.2578 -22.7276 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.9393 -20.461 -0.1 - vertex -17.4374 -22.6462 -0.1 - vertex -17.3267 -22.6747 -0.1 + vertex -16.9393 -20.461 -0.2 + vertex -17.4374 -22.6462 -0.2 + vertex -17.3267 -22.6747 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.9865 -20.7653 -0.1 - vertex -17.4374 -22.6462 -0.1 - vertex -16.9393 -20.461 -0.1 + vertex -17.9865 -20.7653 -0.2 + vertex -17.4374 -22.6462 -0.2 + vertex -16.9393 -20.461 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4374 -22.6462 -0.1 - vertex -17.9865 -20.7653 -0.1 - vertex -17.8061 -22.6324 -0.1 + vertex -17.4374 -22.6462 -0.2 + vertex -17.9865 -20.7653 -0.2 + vertex -17.8061 -22.6324 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -18.5788 -21.2283 -0.1 - vertex -17.8061 -22.6324 -0.1 - vertex -17.9865 -20.7653 -0.1 + vertex -18.5788 -21.2283 -0.2 + vertex -17.8061 -22.6324 -0.2 + vertex -17.9865 -20.7653 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.5053 -21.1105 -0.1 - vertex -17.9865 -20.7653 -0.1 - vertex -18.1109 -20.8023 -0.1 + vertex -18.5053 -21.1105 -0.2 + vertex -17.9865 -20.7653 -0.2 + vertex -18.1109 -20.8023 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.5053 -21.1105 -0.1 - vertex -18.1109 -20.8023 -0.1 - vertex -18.2248 -20.8552 -0.1 + vertex -18.5053 -21.1105 -0.2 + vertex -18.1109 -20.8023 -0.2 + vertex -18.2248 -20.8552 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.5053 -21.1105 -0.1 - vertex -18.2248 -20.8552 -0.1 - vertex -18.3284 -20.924 -0.1 + vertex -18.5053 -21.1105 -0.2 + vertex -18.2248 -20.8552 -0.2 + vertex -18.3284 -20.924 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -18.6967 -21.5139 -0.1 - vertex -17.8061 -22.6324 -0.1 - vertex -18.5788 -21.2283 -0.1 + vertex -18.6967 -21.5139 -0.2 + vertex -17.8061 -22.6324 -0.2 + vertex -18.5788 -21.2283 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.5053 -21.1105 -0.1 - vertex -18.3284 -20.924 -0.1 - vertex -18.4218 -21.0091 -0.1 + vertex -18.5053 -21.1105 -0.2 + vertex -18.3284 -20.924 -0.2 + vertex -18.4218 -21.0091 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.9865 -20.7653 -0.1 - vertex -18.5053 -21.1105 -0.1 - vertex -18.5788 -21.2283 -0.1 + vertex -17.9865 -20.7653 -0.2 + vertex -18.5053 -21.1105 -0.2 + vertex -18.5788 -21.2283 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.8061 -22.6324 -0.1 - vertex -18.6967 -21.5139 -0.1 - vertex -18.1091 -22.6172 -0.1 + vertex -17.8061 -22.6324 -0.2 + vertex -18.6967 -21.5139 -0.2 + vertex -18.1091 -22.6172 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -18.766 -21.7922 -0.1 - vertex -18.1091 -22.6172 -0.1 - vertex -18.6967 -21.5139 -0.1 + vertex -18.766 -21.7922 -0.2 + vertex -18.1091 -22.6172 -0.2 + vertex -18.6967 -21.5139 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.1091 -22.6172 -0.1 - vertex -18.766 -21.7922 -0.1 - vertex -18.3541 -22.5704 -0.1 + vertex -18.1091 -22.6172 -0.2 + vertex -18.766 -21.7922 -0.2 + vertex -18.3541 -22.5704 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -18.7869 -22.0269 -0.1 - vertex -18.3541 -22.5704 -0.1 - vertex -18.766 -21.7922 -0.1 + vertex -18.7869 -22.0269 -0.2 + vertex -18.3541 -22.5704 -0.2 + vertex -18.766 -21.7922 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.3541 -22.5704 -0.1 - vertex -18.7869 -22.0269 -0.1 - vertex -18.5429 -22.4899 -0.1 + vertex -18.3541 -22.5704 -0.2 + vertex -18.7869 -22.0269 -0.2 + vertex -18.5429 -22.4899 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -18.7577 -22.2202 -0.1 - vertex -18.5429 -22.4899 -0.1 - vertex -18.7869 -22.0269 -0.1 + vertex -18.7577 -22.2202 -0.2 + vertex -18.5429 -22.4899 -0.2 + vertex -18.7869 -22.0269 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.5429 -22.4899 -0.1 - vertex -18.7577 -22.2202 -0.1 - vertex -18.6769 -22.3738 -0.1 + vertex -18.5429 -22.4899 -0.2 + vertex -18.7577 -22.2202 -0.2 + vertex -18.6769 -22.3738 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -3.82849 -22.2203 -0.1 - vertex -3.84473 -21.6547 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -3.82849 -22.2203 -0.2 + vertex -3.84473 -21.6547 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -3.84473 -21.6547 -0.1 - vertex -3.87719 -21.3353 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -3.84473 -21.6547 -0.2 + vertex -3.87719 -21.3353 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -3.84589 -22.5177 -0.1 - vertex -3.82849 -22.2203 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -3.84589 -22.5177 -0.2 + vertex -3.82849 -22.2203 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.47107 -20.0532 -0.1 - vertex -3.87719 -21.3353 -0.1 - vertex -3.91934 -21.0662 -0.1 + vertex -4.47107 -20.0532 -0.2 + vertex -3.87719 -21.3353 -0.2 + vertex -3.91934 -21.0662 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -3.88244 -22.8317 -0.1 - vertex -3.84589 -22.5177 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -3.88244 -22.8317 -0.2 + vertex -3.84589 -22.5177 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.29663 -20.2518 -0.1 - vertex -3.91934 -21.0662 -0.1 - vertex -3.97677 -20.8354 -0.1 + vertex -4.29663 -20.2518 -0.2 + vertex -3.91934 -21.0662 -0.2 + vertex -3.97677 -20.8354 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -3.93975 -23.1672 -0.1 - vertex -3.88244 -22.8317 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -3.93975 -23.1672 -0.2 + vertex -3.88244 -22.8317 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.15983 -20.4402 -0.1 - vertex -3.97677 -20.8354 -0.1 - vertex -4.05507 -20.6308 -0.1 + vertex -4.15983 -20.4402 -0.2 + vertex -3.97677 -20.8354 -0.2 + vertex -4.05507 -20.6308 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.97677 -20.8354 -0.1 - vertex -4.15983 -20.4402 -0.1 - vertex -4.29663 -20.2518 -0.1 + vertex -3.97677 -20.8354 -0.2 + vertex -4.15983 -20.4402 -0.2 + vertex -4.29663 -20.2518 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -4.01943 -23.5295 -0.1 - vertex -3.93975 -23.1672 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -4.01943 -23.5295 -0.2 + vertex -3.93975 -23.1672 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.91934 -21.0662 -0.1 - vertex -4.29663 -20.2518 -0.1 - vertex -4.47107 -20.0532 -0.1 + vertex -3.91934 -21.0662 -0.2 + vertex -4.29663 -20.2518 -0.2 + vertex -4.47107 -20.0532 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.68872 -19.8327 -0.1 - vertex -3.87719 -21.3353 -0.1 - vertex -4.47107 -20.0532 -0.1 + vertex -4.68872 -19.8327 -0.2 + vertex -3.87719 -21.3353 -0.2 + vertex -4.47107 -20.0532 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.01943 -23.5295 -0.1 - vertex -8.45645 -23.4267 -0.1 - vertex -4.25232 -24.3543 -0.1 + vertex -4.01943 -23.5295 -0.2 + vertex -8.45645 -23.4267 -0.2 + vertex -4.25232 -24.3543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -3.87719 -21.3353 -0.1 - vertex -4.68872 -19.8327 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -3.87719 -21.3353 -0.2 + vertex -4.68872 -19.8327 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.14058 -19.1411 -0.1 - vertex -4.68872 -19.8327 -0.1 - vertex -4.93899 -19.592 -0.1 + vertex -6.14058 -19.1411 -0.2 + vertex -4.68872 -19.8327 -0.2 + vertex -4.93899 -19.592 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.46654 -23.7044 -0.1 - vertex -4.25232 -24.3543 -0.1 - vertex -8.45645 -23.4267 -0.1 + vertex -8.46654 -23.7044 -0.2 + vertex -4.25232 -24.3543 -0.2 + vertex -8.45645 -23.4267 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.8145 -19.1562 -0.1 - vertex -4.93899 -19.592 -0.1 - vertex -5.14898 -19.4116 -0.1 + vertex -5.8145 -19.1562 -0.2 + vertex -4.93899 -19.592 -0.2 + vertex -5.14898 -19.4116 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.55901 -19.2012 -0.1 - vertex -5.14898 -19.4116 -0.1 - vertex -5.34642 -19.2839 -0.1 + vertex -5.55901 -19.2012 -0.2 + vertex -5.14898 -19.4116 -0.2 + vertex -5.34642 -19.2839 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.14898 -19.4116 -0.1 - vertex -5.55901 -19.2012 -0.1 - vertex -5.8145 -19.1562 -0.1 + vertex -5.14898 -19.4116 -0.2 + vertex -5.55901 -19.2012 -0.2 + vertex -5.8145 -19.1562 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.25232 -24.3543 -0.1 - vertex -8.46654 -23.7044 -0.1 - vertex -4.59396 -25.347 -0.1 + vertex -4.25232 -24.3543 -0.2 + vertex -8.46654 -23.7044 -0.2 + vertex -4.59396 -25.347 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.93899 -19.592 -0.1 - vertex -5.8145 -19.1562 -0.1 - vertex -6.14058 -19.1411 -0.1 + vertex -4.93899 -19.592 -0.2 + vertex -5.8145 -19.1562 -0.2 + vertex -6.14058 -19.1411 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -4.68872 -19.8327 -0.1 - vertex -6.14058 -19.1411 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -4.68872 -19.8327 -0.2 + vertex -6.14058 -19.1411 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.51259 -24.0278 -0.1 - vertex -4.59396 -25.347 -0.1 - vertex -8.46654 -23.7044 -0.1 + vertex -8.51259 -24.0278 -0.2 + vertex -4.59396 -25.347 -0.2 + vertex -8.46654 -23.7044 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -6.14058 -19.1411 -0.1 - vertex -7.11547 -19.1706 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -6.14058 -19.1411 -0.2 + vertex -7.11547 -19.1706 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -7.11547 -19.1706 -0.1 - vertex -7.63584 -19.198 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -7.11547 -19.1706 -0.2 + vertex -7.63584 -19.198 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.59455 -24.3995 -0.1 - vertex -4.59396 -25.347 -0.1 - vertex -8.51259 -24.0278 -0.1 + vertex -8.59455 -24.3995 -0.2 + vertex -4.59396 -25.347 -0.2 + vertex -8.51259 -24.0278 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.48242 -23.1923 -0.1 - vertex -7.63584 -19.198 -0.1 - vertex -8.06691 -19.2358 -0.1 + vertex -8.48242 -23.1923 -0.2 + vertex -7.63584 -19.198 -0.2 + vertex -8.06691 -19.2358 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.59396 -25.347 -0.1 - vertex -8.71232 -24.8218 -0.1 - vertex -5.05721 -26.548 -0.1 + vertex -4.59396 -25.347 -0.2 + vertex -8.71232 -24.8218 -0.2 + vertex -5.05721 -26.548 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -9.05502 -25.8283 -0.1 - vertex -5.05721 -26.548 -0.1 - vertex -8.71232 -24.8218 -0.1 + vertex -9.05502 -25.8283 -0.2 + vertex -5.05721 -26.548 -0.2 + vertex -8.71232 -24.8218 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.77736 -22.7249 -0.1 - vertex -8.06691 -19.2358 -0.1 - vertex -8.43701 -19.2929 -0.1 + vertex -8.77736 -22.7249 -0.2 + vertex -8.06691 -19.2358 -0.2 + vertex -8.43701 -19.2929 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.71232 -24.8218 -0.1 - vertex -4.59396 -25.347 -0.1 - vertex -8.59455 -24.3995 -0.1 + vertex -8.71232 -24.8218 -0.2 + vertex -4.59396 -25.347 -0.2 + vertex -8.59455 -24.3995 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.05721 -26.548 -0.1 - vertex -9.05502 -25.8283 -0.1 - vertex -5.65492 -27.9982 -0.1 + vertex -5.05721 -26.548 -0.2 + vertex -9.05502 -25.8283 -0.2 + vertex -5.65492 -27.9982 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -9.5401 -27.0667 -0.1 - vertex -5.65492 -27.9982 -0.1 - vertex -9.05502 -25.8283 -0.1 + vertex -9.5401 -27.0667 -0.2 + vertex -5.65492 -27.9982 -0.2 + vertex -9.05502 -25.8283 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.65492 -27.9982 -0.1 - vertex -9.5401 -27.0667 -0.1 - vertex -6.39994 -29.738 -0.1 + vertex -5.65492 -27.9982 -0.2 + vertex -9.5401 -27.0667 -0.2 + vertex -6.39994 -29.738 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.5815 -32.143 -0.1 - vertex -6.39994 -29.738 -0.1 - vertex -9.5401 -27.0667 -0.1 + vertex -11.5815 -32.143 -0.2 + vertex -6.39994 -29.738 -0.2 + vertex -9.5401 -27.0667 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.39994 -29.738 -0.1 - vertex -11.5815 -32.143 -0.1 - vertex -7.70823 -32.8163 -0.1 + vertex -6.39994 -29.738 -0.2 + vertex -11.5815 -32.143 -0.2 + vertex -7.70823 -32.8163 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.30266 -36.7536 -0.1 - vertex -7.30695 -36.9638 -0.1 - vertex -7.29619 -36.8569 -0.1 + vertex -7.30266 -36.7536 -0.2 + vertex -7.30695 -36.9638 -0.2 + vertex -7.29619 -36.8569 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.32635 -36.6539 -0.1 - vertex -7.30695 -36.9638 -0.1 - vertex -7.30266 -36.7536 -0.1 + vertex -7.32635 -36.6539 -0.2 + vertex -7.30695 -36.9638 -0.2 + vertex -7.30266 -36.7536 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.36727 -36.5579 -0.1 - vertex -7.30695 -36.9638 -0.1 - vertex -7.32635 -36.6539 -0.1 + vertex -7.36727 -36.5579 -0.2 + vertex -7.30695 -36.9638 -0.2 + vertex -7.32635 -36.6539 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.50076 -36.3769 -0.1 - vertex -7.30695 -36.9638 -0.1 - vertex -7.36727 -36.5579 -0.1 + vertex -7.50076 -36.3769 -0.2 + vertex -7.30695 -36.9638 -0.2 + vertex -7.36727 -36.5579 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.30695 -36.9638 -0.1 - vertex -7.50076 -36.3769 -0.1 - vertex -7.38017 -37.1883 -0.1 + vertex -7.30695 -36.9638 -0.2 + vertex -7.50076 -36.3769 -0.2 + vertex -7.38017 -37.1883 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.70312 -36.2106 -0.1 - vertex -7.38017 -37.1883 -0.1 - vertex -7.50076 -36.3769 -0.1 + vertex -7.70312 -36.2106 -0.2 + vertex -7.38017 -37.1883 -0.2 + vertex -7.50076 -36.3769 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.38017 -37.1883 -0.1 - vertex -7.70312 -36.2106 -0.1 - vertex -7.52232 -37.4271 -0.1 + vertex -7.38017 -37.1883 -0.2 + vertex -7.70312 -36.2106 -0.2 + vertex -7.52232 -37.4271 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.97432 -36.0592 -0.1 - vertex -7.52232 -37.4271 -0.1 - vertex -7.70312 -36.2106 -0.1 + vertex -7.97432 -36.0592 -0.2 + vertex -7.52232 -37.4271 -0.2 + vertex -7.70312 -36.2106 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.52232 -37.4271 -0.1 - vertex -7.97432 -36.0592 -0.1 - vertex -7.73344 -37.6801 -0.1 + vertex -7.52232 -37.4271 -0.2 + vertex -7.97432 -36.0592 -0.2 + vertex -7.73344 -37.6801 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.73344 -37.6801 -0.1 - vertex -7.97432 -36.0592 -0.1 - vertex -7.8903 -37.8311 -0.1 + vertex -7.73344 -37.6801 -0.2 + vertex -7.97432 -36.0592 -0.2 + vertex -7.8903 -37.8311 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.30871 -38.0303 -0.1 - vertex -7.8903 -37.8311 -0.1 - vertex -7.97432 -36.0592 -0.1 + vertex -8.30871 -38.0303 -0.2 + vertex -7.8903 -37.8311 -0.2 + vertex -7.97432 -36.0592 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.30871 -38.0303 -0.1 - vertex -7.97432 -36.0592 -0.1 - vertex -8.30497 -35.8814 -0.1 + vertex -8.30871 -38.0303 -0.2 + vertex -7.97432 -36.0592 -0.2 + vertex -8.30497 -35.8814 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.8903 -37.8311 -0.1 - vertex -8.30871 -38.0303 -0.1 - vertex -8.0676 -37.9462 -0.1 + vertex -7.8903 -37.8311 -0.2 + vertex -8.30871 -38.0303 -0.2 + vertex -8.0676 -37.9462 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.15585 -38.1249 -0.1 - vertex -8.30497 -35.8814 -0.1 - vertex -8.41808 -35.7975 -0.1 + vertex -9.15585 -38.1249 -0.2 + vertex -8.30497 -35.8814 -0.2 + vertex -8.41808 -35.7975 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.15585 -38.1249 -0.1 - vertex -8.41808 -35.7975 -0.1 - vertex -8.49955 -35.7129 -0.1 + vertex -9.15585 -38.1249 -0.2 + vertex -8.41808 -35.7975 -0.2 + vertex -8.49955 -35.7129 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.84865 -38.1451 -0.1 - vertex -8.49955 -35.7129 -0.1 - vertex -8.55176 -35.6244 -0.1 + vertex -9.84865 -38.1451 -0.2 + vertex -8.49955 -35.7129 -0.2 + vertex -8.55176 -35.6244 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.84865 -38.1451 -0.1 - vertex -8.55176 -35.6244 -0.1 - vertex -8.57707 -35.529 -0.1 + vertex -9.84865 -38.1451 -0.2 + vertex -8.55176 -35.6244 -0.2 + vertex -8.57707 -35.529 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.30497 -35.8814 -0.1 - vertex -8.657 -38.0883 -0.1 - vertex -8.30871 -38.0303 -0.1 + vertex -8.30497 -35.8814 -0.2 + vertex -8.657 -38.0883 -0.2 + vertex -8.30871 -38.0303 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.6843 -34.4922 -0.1 - vertex -8.57707 -35.529 -0.1 - vertex -8.57785 -35.4236 -0.1 + vertex -12.6843 -34.4922 -0.2 + vertex -8.57707 -35.529 -0.2 + vertex -8.57785 -35.4236 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.70823 -32.8163 -0.1 - vertex -11.5815 -32.143 -0.1 - vertex -8.13453 -33.8652 -0.1 + vertex -7.70823 -32.8163 -0.2 + vertex -11.5815 -32.143 -0.2 + vertex -8.13453 -33.8652 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -11.9595 -33.0513 -0.1 - vertex -8.13453 -33.8652 -0.1 - vertex -11.5815 -32.143 -0.1 + vertex -11.9595 -33.0513 -0.2 + vertex -8.13453 -33.8652 -0.2 + vertex -11.5815 -32.143 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.13453 -33.8652 -0.1 - vertex -11.9595 -33.0513 -0.1 - vertex -8.32474 -34.384 -0.1 + vertex -8.13453 -33.8652 -0.2 + vertex -11.9595 -33.0513 -0.2 + vertex -8.32474 -34.384 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -12.3268 -33.8339 -0.1 - vertex -8.32474 -34.384 -0.1 - vertex -11.9595 -33.0513 -0.1 + vertex -12.3268 -33.8339 -0.2 + vertex -8.32474 -34.384 -0.2 + vertex -11.9595 -33.0513 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.32474 -34.384 -0.1 - vertex -12.3268 -33.8339 -0.1 - vertex -8.55649 -35.3052 -0.1 + vertex -8.32474 -34.384 -0.2 + vertex -12.3268 -33.8339 -0.2 + vertex -8.55649 -35.3052 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.55649 -35.3052 -0.1 - vertex -12.3268 -33.8339 -0.1 - vertex -8.57785 -35.4236 -0.1 + vertex -8.55649 -35.3052 -0.2 + vertex -12.3268 -33.8339 -0.2 + vertex -8.57785 -35.4236 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.30497 -35.8814 -0.1 - vertex -9.15585 -38.1249 -0.1 - vertex -8.657 -38.0883 -0.1 + vertex -8.30497 -35.8814 -0.2 + vertex -9.15585 -38.1249 -0.2 + vertex -8.657 -38.0883 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -12.6843 -34.4922 -0.1 - vertex -8.57785 -35.4236 -0.1 - vertex -12.3268 -33.8339 -0.1 + vertex -12.6843 -34.4922 -0.2 + vertex -8.57785 -35.4236 -0.2 + vertex -12.3268 -33.8339 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.49955 -35.7129 -0.1 - vertex -9.84865 -38.1451 -0.1 - vertex -9.15585 -38.1249 -0.1 + vertex -8.49955 -35.7129 -0.2 + vertex -9.84865 -38.1451 -0.2 + vertex -9.15585 -38.1249 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.57707 -35.529 -0.1 - vertex -12.6843 -34.4922 -0.1 - vertex -9.84865 -38.1451 -0.1 + vertex -8.57707 -35.529 -0.2 + vertex -12.6843 -34.4922 -0.2 + vertex -9.84865 -38.1451 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.0331 -35.0276 -0.1 - vertex -9.84865 -38.1451 -0.1 - vertex -12.6843 -34.4922 -0.1 + vertex -13.0331 -35.0276 -0.2 + vertex -9.84865 -38.1451 -0.2 + vertex -12.6843 -34.4922 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.84865 -38.1451 -0.1 - vertex -13.0331 -35.0276 -0.1 - vertex -11.9896 -38.1555 -0.1 + vertex -9.84865 -38.1451 -0.2 + vertex -13.0331 -35.0276 -0.2 + vertex -11.9896 -38.1555 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.2045 -35.2497 -0.1 - vertex -11.9896 -38.1555 -0.1 - vertex -13.0331 -35.0276 -0.1 + vertex -13.2045 -35.2497 -0.2 + vertex -11.9896 -38.1555 -0.2 + vertex -13.0331 -35.0276 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.3741 -35.4417 -0.1 - vertex -11.9896 -38.1555 -0.1 - vertex -13.2045 -35.2497 -0.1 + vertex -13.3741 -35.4417 -0.2 + vertex -11.9896 -38.1555 -0.2 + vertex -13.2045 -35.2497 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.5421 -35.6036 -0.1 - vertex -11.9896 -38.1555 -0.1 - vertex -13.3741 -35.4417 -0.1 + vertex -13.5421 -35.6036 -0.2 + vertex -11.9896 -38.1555 -0.2 + vertex -13.3741 -35.4417 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.7085 -35.7356 -0.1 - vertex -11.9896 -38.1555 -0.1 - vertex -13.5421 -35.6036 -0.1 + vertex -13.7085 -35.7356 -0.2 + vertex -11.9896 -38.1555 -0.2 + vertex -13.5421 -35.6036 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.8736 -35.838 -0.1 - vertex -11.9896 -38.1555 -0.1 - vertex -13.7085 -35.7356 -0.1 + vertex -13.8736 -35.838 -0.2 + vertex -11.9896 -38.1555 -0.2 + vertex -13.7085 -35.7356 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.1677 -38.1469 -0.1 - vertex -13.8736 -35.838 -0.1 - vertex -14.0373 -35.911 -0.1 + vertex -14.1677 -38.1469 -0.2 + vertex -13.8736 -35.838 -0.2 + vertex -14.0373 -35.911 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.8736 -35.838 -0.1 - vertex -14.1677 -38.1469 -0.1 - vertex -11.9896 -38.1555 -0.1 + vertex -13.8736 -35.838 -0.2 + vertex -14.1677 -38.1469 -0.2 + vertex -11.9896 -38.1555 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.1999 -35.9546 -0.1 - vertex -14.1677 -38.1469 -0.1 - vertex -14.0373 -35.911 -0.1 + vertex -14.1999 -35.9546 -0.2 + vertex -14.1677 -38.1469 -0.2 + vertex -14.0373 -35.911 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.3614 -35.9691 -0.1 - vertex -14.1677 -38.1469 -0.1 - vertex -14.1999 -35.9546 -0.1 + vertex -14.3614 -35.9691 -0.2 + vertex -14.1677 -38.1469 -0.2 + vertex -14.1999 -35.9546 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.5979 -36.0176 -0.1 - vertex -14.3614 -35.9691 -0.1 - vertex -14.4713 -35.9816 -0.1 + vertex -14.5979 -36.0176 -0.2 + vertex -14.3614 -35.9691 -0.2 + vertex -14.4713 -35.9816 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.3614 -35.9691 -0.1 - vertex -14.5979 -36.0176 -0.1 - vertex -14.1677 -38.1469 -0.1 + vertex -14.3614 -35.9691 -0.2 + vertex -14.5979 -36.0176 -0.2 + vertex -14.1677 -38.1469 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.8831 -36.1495 -0.1 - vertex -14.1677 -38.1469 -0.1 - vertex -14.5979 -36.0176 -0.1 + vertex -14.8831 -36.1495 -0.2 + vertex -14.1677 -38.1469 -0.2 + vertex -14.5979 -36.0176 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.1813 -36.3448 -0.1 - vertex -14.1677 -38.1469 -0.1 - vertex -14.8831 -36.1495 -0.1 + vertex -15.1813 -36.3448 -0.2 + vertex -14.1677 -38.1469 -0.2 + vertex -14.8831 -36.1495 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.1677 -38.1469 -0.1 - vertex -15.1813 -36.3448 -0.1 - vertex -14.8486 -38.1282 -0.1 + vertex -14.1677 -38.1469 -0.2 + vertex -15.1813 -36.3448 -0.2 + vertex -14.8486 -38.1282 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.4564 -36.5832 -0.1 - vertex -14.8486 -38.1282 -0.1 - vertex -15.1813 -36.3448 -0.1 + vertex -15.4564 -36.5832 -0.2 + vertex -14.8486 -38.1282 -0.2 + vertex -15.1813 -36.3448 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.7439 -36.902 -0.1 - vertex -14.8486 -38.1282 -0.1 - vertex -15.4564 -36.5832 -0.1 + vertex -15.7439 -36.902 -0.2 + vertex -14.8486 -38.1282 -0.2 + vertex -15.4564 -36.5832 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.8486 -38.1282 -0.1 - vertex -15.7439 -36.902 -0.1 - vertex -15.316 -38.0928 -0.1 + vertex -14.8486 -38.1282 -0.2 + vertex -15.7439 -36.902 -0.2 + vertex -15.316 -38.0928 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.8411 -37.0399 -0.1 - vertex -15.316 -38.0928 -0.1 - vertex -15.7439 -36.902 -0.1 + vertex -15.8411 -37.0399 -0.2 + vertex -15.316 -38.0928 -0.2 + vertex -15.7439 -36.902 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.9096 -37.1689 -0.1 - vertex -15.316 -38.0928 -0.1 - vertex -15.8411 -37.0399 -0.1 + vertex -15.9096 -37.1689 -0.2 + vertex -15.316 -38.0928 -0.2 + vertex -15.8411 -37.0399 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.9604 -37.5428 -0.1 - vertex -15.316 -38.0928 -0.1 - vertex -15.9096 -37.1689 -0.1 + vertex -15.9604 -37.5428 -0.2 + vertex -15.316 -38.0928 -0.2 + vertex -15.9096 -37.1689 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.316 -38.0928 -0.1 - vertex -15.9604 -37.5428 -0.1 - vertex -15.614 -38.0352 -0.1 + vertex -15.316 -38.0928 -0.2 + vertex -15.9604 -37.5428 -0.2 + vertex -15.614 -38.0352 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.614 -38.0352 -0.1 - vertex -15.8777 -37.8324 -0.1 - vertex -15.7132 -37.9965 -0.1 + vertex -15.614 -38.0352 -0.2 + vertex -15.8777 -37.8324 -0.2 + vertex -15.7132 -37.9965 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.7132 -37.9965 -0.1 - vertex -15.8777 -37.8324 -0.1 - vertex -15.7865 -37.9502 -0.1 + vertex -15.7132 -37.9965 -0.2 + vertex -15.8777 -37.8324 -0.2 + vertex -15.7865 -37.9502 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -15.9316 -37.6764 -0.1 - vertex -15.614 -38.0352 -0.1 - vertex -15.9604 -37.5428 -0.1 + vertex -15.9316 -37.6764 -0.2 + vertex -15.614 -38.0352 -0.2 + vertex -15.9604 -37.5428 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.7865 -37.9502 -0.1 - vertex -15.8777 -37.8324 -0.1 - vertex -15.8396 -37.8957 -0.1 + vertex -15.7865 -37.9502 -0.2 + vertex -15.8777 -37.8324 -0.2 + vertex -15.8396 -37.8957 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.9604 -37.5428 -0.1 - vertex -15.9096 -37.1689 -0.1 - vertex -15.9511 -37.293 -0.1 + vertex -15.9604 -37.5428 -0.2 + vertex -15.9096 -37.1689 -0.2 + vertex -15.9511 -37.293 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -15.8777 -37.8324 -0.1 - vertex -15.614 -38.0352 -0.1 - vertex -15.9316 -37.6764 -0.1 + vertex -15.8777 -37.8324 -0.2 + vertex -15.614 -38.0352 -0.2 + vertex -15.9316 -37.6764 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex -15.9604 -37.5428 -0.1 - vertex -15.9511 -37.293 -0.1 - vertex -15.9675 -37.4163 -0.1 + vertex -15.9604 -37.5428 -0.2 + vertex -15.9511 -37.293 -0.2 + vertex -15.9675 -37.4163 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.5311 -26.6889 -0.1 - vertex -14.2098 -26.3227 -0.1 - vertex -17.6656 -24.469 -0.1 + vertex -18.5311 -26.6889 -0.2 + vertex -14.2098 -26.3227 -0.2 + vertex -17.6656 -24.469 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.2098 -26.3227 -0.1 - vertex -18.5311 -26.6889 -0.1 - vertex -15.3777 -29.1914 -0.1 + vertex -14.2098 -26.3227 -0.2 + vertex -18.5311 -26.6889 -0.2 + vertex -15.3777 -29.1914 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.7699 -29.7113 -0.1 - vertex -15.3777 -29.1914 -0.1 - vertex -18.5311 -26.6889 -0.1 + vertex -19.7699 -29.7113 -0.2 + vertex -15.3777 -29.1914 -0.2 + vertex -18.5311 -26.6889 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.3777 -29.1914 -0.1 - vertex -19.7699 -29.7113 -0.1 - vertex -16.8163 -32.7116 -0.1 + vertex -15.3777 -29.1914 -0.2 + vertex -19.7699 -29.7113 -0.2 + vertex -16.8163 -32.7116 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2682 -33.2523 -0.1 - vertex -16.8163 -32.7116 -0.1 - vertex -19.7699 -29.7113 -0.1 + vertex -21.2682 -33.2523 -0.2 + vertex -16.8163 -32.7116 -0.2 + vertex -19.7699 -29.7113 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.8163 -32.7116 -0.1 - vertex -21.2682 -33.2523 -0.1 - vertex -17.1674 -33.591 -0.1 + vertex -16.8163 -32.7116 -0.2 + vertex -21.2682 -33.2523 -0.2 + vertex -17.1674 -33.591 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.1674 -33.591 -0.1 - vertex -21.2682 -33.2523 -0.1 - vertex -17.4329 -34.3072 -0.1 + vertex -17.1674 -33.591 -0.2 + vertex -21.2682 -33.2523 -0.2 + vertex -17.4329 -34.3072 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4329 -34.3072 -0.1 - vertex -21.2682 -33.2523 -0.1 - vertex -17.6153 -34.8741 -0.1 + vertex -17.4329 -34.3072 -0.2 + vertex -21.2682 -33.2523 -0.2 + vertex -17.6153 -34.8741 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.6072 -34.0169 -0.1 - vertex -17.6153 -34.8741 -0.1 - vertex -21.2682 -33.2523 -0.1 + vertex -21.6072 -34.0169 -0.2 + vertex -17.6153 -34.8741 -0.2 + vertex -21.2682 -33.2523 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.6153 -34.8741 -0.1 - vertex -21.6072 -34.0169 -0.1 - vertex -17.7168 -35.3062 -0.1 + vertex -17.6153 -34.8741 -0.2 + vertex -21.6072 -34.0169 -0.2 + vertex -17.7168 -35.3062 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7168 -35.3062 -0.1 - vertex -21.6072 -34.0169 -0.1 - vertex -17.738 -35.4761 -0.1 + vertex -17.7168 -35.3062 -0.2 + vertex -21.6072 -34.0169 -0.2 + vertex -17.738 -35.4761 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.9074 -34.6287 -0.1 - vertex -17.738 -35.4761 -0.1 - vertex -21.6072 -34.0169 -0.1 + vertex -21.9074 -34.6287 -0.2 + vertex -17.738 -35.4761 -0.2 + vertex -21.6072 -34.0169 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7399 -35.6175 -0.1 - vertex -18.7028 -38.1359 -0.1 - vertex -18.0369 -38.1201 -0.1 + vertex -17.7399 -35.6175 -0.2 + vertex -18.7028 -38.1359 -0.2 + vertex -18.0369 -38.1201 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.738 -35.4761 -0.1 - vertex -21.9074 -34.6287 -0.1 - vertex -17.7399 -35.6175 -0.1 + vertex -17.738 -35.4761 -0.2 + vertex -21.9074 -34.6287 -0.2 + vertex -17.7399 -35.6175 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex -20.8109 -38.1301 -0.1 - vertex -17.7399 -35.6175 -0.1 - vertex -21.9074 -34.6287 -0.1 + vertex -20.8109 -38.1301 -0.2 + vertex -17.7399 -35.6175 -0.2 + vertex -21.9074 -34.6287 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.7399 -35.6175 -0.1 - vertex -20.8109 -38.1301 -0.1 - vertex -18.7028 -38.1359 -0.1 + vertex -17.7399 -35.6175 -0.2 + vertex -20.8109 -38.1301 -0.2 + vertex -18.7028 -38.1359 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -22.1824 -35.1035 -0.1 - vertex -20.8109 -38.1301 -0.1 - vertex -21.9074 -34.6287 -0.1 + vertex -22.1824 -35.1035 -0.2 + vertex -20.8109 -38.1301 -0.2 + vertex -21.9074 -34.6287 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -22.4463 -35.4568 -0.1 - vertex -20.8109 -38.1301 -0.1 - vertex -22.1824 -35.1035 -0.1 + vertex -22.4463 -35.4568 -0.2 + vertex -20.8109 -38.1301 -0.2 + vertex -22.1824 -35.1035 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -22.5782 -35.5929 -0.1 - vertex -20.8109 -38.1301 -0.1 - vertex -22.4463 -35.4568 -0.1 + vertex -22.5782 -35.5929 -0.2 + vertex -20.8109 -38.1301 -0.2 + vertex -22.4463 -35.4568 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -22.7126 -35.7044 -0.1 - vertex -20.8109 -38.1301 -0.1 - vertex -22.5782 -35.5929 -0.1 + vertex -22.7126 -35.7044 -0.2 + vertex -20.8109 -38.1301 -0.2 + vertex -22.5782 -35.5929 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -22.8511 -35.7934 -0.1 - vertex -20.8109 -38.1301 -0.1 - vertex -22.7126 -35.7044 -0.1 + vertex -22.8511 -35.7934 -0.2 + vertex -20.8109 -38.1301 -0.2 + vertex -22.7126 -35.7044 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.4866 -38.0828 -0.1 - vertex -22.8511 -35.7934 -0.1 - vertex -22.9953 -35.8619 -0.1 + vertex -23.4866 -38.0828 -0.2 + vertex -22.8511 -35.7934 -0.2 + vertex -22.9953 -35.8619 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.4866 -38.0828 -0.1 - vertex -22.9953 -35.8619 -0.1 - vertex -23.1471 -35.9117 -0.1 + vertex -23.4866 -38.0828 -0.2 + vertex -22.9953 -35.8619 -0.2 + vertex -23.1471 -35.9117 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.4866 -38.0828 -0.1 - vertex -23.1471 -35.9117 -0.1 - vertex -23.3082 -35.9449 -0.1 + vertex -23.4866 -38.0828 -0.2 + vertex -23.1471 -35.9117 -0.2 + vertex -23.3082 -35.9449 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.8511 -35.7934 -0.1 - vertex -23.4866 -38.0828 -0.1 - vertex -20.8109 -38.1301 -0.1 + vertex -22.8511 -35.7934 -0.2 + vertex -23.4866 -38.0828 -0.2 + vertex -20.8109 -38.1301 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -23.665 -35.9691 -0.1 - vertex -23.4866 -38.0828 -0.1 - vertex -23.3082 -35.9449 -0.1 + vertex -23.665 -35.9691 -0.2 + vertex -23.4866 -38.0828 -0.2 + vertex -23.3082 -35.9449 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -23.8593 -35.9891 -0.1 - vertex -23.4866 -38.0828 -0.1 - vertex -23.665 -35.9691 -0.1 + vertex -23.8593 -35.9891 -0.2 + vertex -23.4866 -38.0828 -0.2 + vertex -23.665 -35.9691 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.0497 -36.0458 -0.1 - vertex -23.4866 -38.0828 -0.1 - vertex -23.8593 -35.9891 -0.1 + vertex -24.0497 -36.0458 -0.2 + vertex -23.4866 -38.0828 -0.2 + vertex -23.8593 -35.9891 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.2334 -36.1344 -0.1 - vertex -23.4866 -38.0828 -0.1 - vertex -24.0497 -36.0458 -0.1 + vertex -24.2334 -36.1344 -0.2 + vertex -23.4866 -38.0828 -0.2 + vertex -24.0497 -36.0458 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.4077 -36.2501 -0.1 - vertex -23.4866 -38.0828 -0.1 - vertex -24.2334 -36.1344 -0.1 + vertex -24.4077 -36.2501 -0.2 + vertex -23.4866 -38.0828 -0.2 + vertex -24.2334 -36.1344 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.57 -36.3881 -0.1 - vertex -23.4866 -38.0828 -0.1 - vertex -24.4077 -36.2501 -0.1 + vertex -24.57 -36.3881 -0.2 + vertex -23.4866 -38.0828 -0.2 + vertex -24.4077 -36.2501 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.4866 -38.0828 -0.1 - vertex -24.57 -36.3881 -0.1 - vertex -24.3782 -38.0456 -0.1 + vertex -23.4866 -38.0828 -0.2 + vertex -24.57 -36.3881 -0.2 + vertex -24.3782 -38.0456 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.7177 -36.5437 -0.1 - vertex -24.3782 -38.0456 -0.1 - vertex -24.57 -36.3881 -0.1 + vertex -24.7177 -36.5437 -0.2 + vertex -24.3782 -38.0456 -0.2 + vertex -24.57 -36.3881 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.8479 -36.7119 -0.1 - vertex -24.3782 -38.0456 -0.1 - vertex -24.7177 -36.5437 -0.1 + vertex -24.8479 -36.7119 -0.2 + vertex -24.3782 -38.0456 -0.2 + vertex -24.7177 -36.5437 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.9582 -36.888 -0.1 - vertex -24.3782 -38.0456 -0.1 - vertex -24.8479 -36.7119 -0.1 + vertex -24.9582 -36.888 -0.2 + vertex -24.3782 -38.0456 -0.2 + vertex -24.8479 -36.7119 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.0457 -37.0673 -0.1 - vertex -24.3782 -38.0456 -0.1 - vertex -24.9582 -36.888 -0.1 + vertex -25.0457 -37.0673 -0.2 + vertex -24.3782 -38.0456 -0.2 + vertex -24.9582 -36.888 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.1078 -37.2448 -0.1 - vertex -24.3782 -38.0456 -0.1 - vertex -25.0457 -37.0673 -0.1 + vertex -25.1078 -37.2448 -0.2 + vertex -24.3782 -38.0456 -0.2 + vertex -25.0457 -37.0673 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3782 -38.0456 -0.1 - vertex -25.1078 -37.2448 -0.1 - vertex -24.7978 -38.0047 -0.1 + vertex -24.3782 -38.0456 -0.2 + vertex -25.1078 -37.2448 -0.2 + vertex -24.7978 -38.0047 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.1419 -37.4158 -0.1 - vertex -24.7978 -38.0047 -0.1 - vertex -25.1078 -37.2448 -0.1 + vertex -25.1419 -37.4158 -0.2 + vertex -24.7978 -38.0047 -0.2 + vertex -25.1078 -37.2448 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.1453 -37.5754 -0.1 - vertex -24.7978 -38.0047 -0.1 - vertex -25.1419 -37.4158 -0.1 + vertex -25.1453 -37.5754 -0.2 + vertex -24.7978 -38.0047 -0.2 + vertex -25.1419 -37.4158 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.7978 -38.0047 -0.1 - vertex -25.1453 -37.5754 -0.1 - vertex -24.9442 -37.9384 -0.1 + vertex -24.7978 -38.0047 -0.2 + vertex -25.1453 -37.5754 -0.2 + vertex -24.9442 -37.9384 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -25.1152 -37.719 -0.1 - vertex -24.9442 -37.9384 -0.1 - vertex -25.1453 -37.5754 -0.1 + vertex -25.1152 -37.719 -0.2 + vertex -24.9442 -37.9384 -0.2 + vertex -25.1453 -37.5754 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.9442 -37.9384 -0.1 - vertex -25.1152 -37.719 -0.1 - vertex -25.0491 -37.8416 -0.1 + vertex -24.9442 -37.9384 -0.2 + vertex -25.1152 -37.719 -0.2 + vertex -25.0491 -37.8416 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.237 -36.6071 -0.1 - vertex -16.2485 -36.9225 -0.1 - vertex -16.2109 -36.752 -0.1 + vertex -16.237 -36.6071 -0.2 + vertex -16.2485 -36.9225 -0.2 + vertex -16.2109 -36.752 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.3106 -36.4662 -0.1 - vertex -16.2485 -36.9225 -0.1 - vertex -16.237 -36.6071 -0.1 + vertex -16.3106 -36.4662 -0.2 + vertex -16.2485 -36.9225 -0.2 + vertex -16.237 -36.6071 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.4249 -36.334 -0.1 - vertex -16.2485 -36.9225 -0.1 - vertex -16.3106 -36.4662 -0.1 + vertex -16.4249 -36.334 -0.2 + vertex -16.2485 -36.9225 -0.2 + vertex -16.3106 -36.4662 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.2485 -36.9225 -0.1 - vertex -16.4249 -36.334 -0.1 - vertex -16.3508 -37.1428 -0.1 + vertex -16.2485 -36.9225 -0.2 + vertex -16.4249 -36.334 -0.2 + vertex -16.3508 -37.1428 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.5729 -36.2152 -0.1 - vertex -16.3508 -37.1428 -0.1 - vertex -16.4249 -36.334 -0.1 + vertex -16.5729 -36.2152 -0.2 + vertex -16.3508 -37.1428 -0.2 + vertex -16.4249 -36.334 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.7476 -36.1146 -0.1 - vertex -16.3508 -37.1428 -0.1 - vertex -16.5729 -36.2152 -0.1 + vertex -16.7476 -36.1146 -0.2 + vertex -16.3508 -37.1428 -0.2 + vertex -16.5729 -36.2152 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.3508 -37.1428 -0.1 - vertex -16.7476 -36.1146 -0.1 - vertex -16.5023 -37.3844 -0.1 + vertex -16.3508 -37.1428 -0.2 + vertex -16.7476 -36.1146 -0.2 + vertex -16.5023 -37.3844 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.942 -36.0369 -0.1 - vertex -16.5023 -37.3844 -0.1 - vertex -16.7476 -36.1146 -0.1 + vertex -16.942 -36.0369 -0.2 + vertex -16.5023 -37.3844 -0.2 + vertex -16.7476 -36.1146 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.1493 -35.9869 -0.1 - vertex -16.5023 -37.3844 -0.1 - vertex -16.942 -36.0369 -0.1 + vertex -17.1493 -35.9869 -0.2 + vertex -16.5023 -37.3844 -0.2 + vertex -16.942 -36.0369 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.5023 -37.3844 -0.1 - vertex -17.1493 -35.9869 -0.1 - vertex -16.6872 -37.6188 -0.1 + vertex -16.5023 -37.3844 -0.2 + vertex -17.1493 -35.9869 -0.2 + vertex -16.6872 -37.6188 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.3625 -35.9691 -0.1 - vertex -16.6872 -37.6188 -0.1 - vertex -17.1493 -35.9869 -0.1 + vertex -17.3625 -35.9691 -0.2 + vertex -16.6872 -37.6188 -0.2 + vertex -17.1493 -35.9869 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4702 -35.9608 -0.1 - vertex -16.6872 -37.6188 -0.1 - vertex -17.3625 -35.9691 -0.1 + vertex -17.4702 -35.9608 -0.2 + vertex -16.6872 -37.6188 -0.2 + vertex -17.3625 -35.9691 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.6872 -37.6188 -0.1 - vertex -17.4702 -35.9608 -0.1 - vertex -16.8516 -37.795 -0.1 + vertex -16.6872 -37.6188 -0.2 + vertex -17.4702 -35.9608 -0.2 + vertex -16.8516 -37.795 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex -17.2437 -38.0218 -0.1 - vertex -16.8516 -37.795 -0.1 - vertex -17.4702 -35.9608 -0.1 + vertex -17.2437 -38.0218 -0.2 + vertex -16.8516 -37.795 -0.2 + vertex -17.4702 -35.9608 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.8516 -37.795 -0.1 - vertex -17.2437 -38.0218 -0.1 - vertex -17.0213 -37.9274 -0.1 + vertex -16.8516 -37.795 -0.2 + vertex -17.2437 -38.0218 -0.2 + vertex -17.0213 -37.9274 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.5664 -38.0841 -0.1 - vertex -17.4702 -35.9608 -0.1 - vertex -17.5603 -35.9348 -0.1 + vertex -17.5664 -38.0841 -0.2 + vertex -17.4702 -35.9608 -0.2 + vertex -17.5603 -35.9348 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.4702 -35.9608 -0.1 - vertex -17.5664 -38.0841 -0.1 - vertex -17.2437 -38.0218 -0.1 + vertex -17.4702 -35.9608 -0.2 + vertex -17.5664 -38.0841 -0.2 + vertex -17.2437 -38.0218 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.0369 -38.1201 -0.1 - vertex -17.5603 -35.9348 -0.1 - vertex -17.6327 -35.8892 -0.1 + vertex -18.0369 -38.1201 -0.2 + vertex -17.5603 -35.9348 -0.2 + vertex -17.6327 -35.8892 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.0369 -38.1201 -0.1 - vertex -17.6327 -35.8892 -0.1 - vertex -17.6869 -35.8223 -0.1 + vertex -18.0369 -38.1201 -0.2 + vertex -17.6327 -35.8892 -0.2 + vertex -17.6869 -35.8223 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.0369 -38.1201 -0.1 - vertex -17.6869 -35.8223 -0.1 - vertex -17.7228 -35.7323 -0.1 + vertex -18.0369 -38.1201 -0.2 + vertex -17.6869 -35.8223 -0.2 + vertex -17.7228 -35.7323 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.0369 -38.1201 -0.1 - vertex -17.7228 -35.7323 -0.1 - vertex -17.7399 -35.6175 -0.1 + vertex -18.0369 -38.1201 -0.2 + vertex -17.7228 -35.7323 -0.2 + vertex -17.7399 -35.6175 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.5603 -35.9348 -0.1 - vertex -18.0369 -38.1201 -0.1 - vertex -17.5664 -38.0841 -0.1 + vertex -17.5603 -35.9348 -0.2 + vertex -18.0369 -38.1201 -0.2 + vertex -17.5664 -38.0841 -0.2 endloop endfacet facet normal -0.362708 -0.931903 0 outer loop - vertex -12.0792 -19.1571 -0.1 + vertex -12.0792 -19.1571 -0.2 vertex -11.9023 -19.2259 0 vertex -12.0792 -19.1571 0 endloop @@ -16067,13 +16067,13 @@ solid OpenSCAD_Model facet normal -0.362708 -0.931903 -0 outer loop vertex -11.9023 -19.2259 0 - vertex -12.0792 -19.1571 -0.1 - vertex -11.9023 -19.2259 -0.1 + vertex -12.0792 -19.1571 -0.2 + vertex -11.9023 -19.2259 -0.2 endloop endfacet facet normal -0.651552 -0.758604 0 outer loop - vertex -11.9023 -19.2259 -0.1 + vertex -11.9023 -19.2259 -0.2 vertex -11.7723 -19.3375 0 vertex -11.9023 -19.2259 0 endloop @@ -16081,125 +16081,125 @@ solid OpenSCAD_Model facet normal -0.651552 -0.758604 -0 outer loop vertex -11.7723 -19.3375 0 - vertex -11.9023 -19.2259 -0.1 - vertex -11.7723 -19.3375 -0.1 + vertex -11.9023 -19.2259 -0.2 + vertex -11.7723 -19.3375 -0.2 endloop endfacet facet normal -0.879356 -0.476164 0 outer loop - vertex -11.6899 -19.4898 -0.1 + vertex -11.6899 -19.4898 -0.2 vertex -11.7723 -19.3375 0 - vertex -11.7723 -19.3375 -0.1 + vertex -11.7723 -19.3375 -0.2 endloop endfacet facet normal -0.879356 -0.476164 0 outer loop vertex -11.7723 -19.3375 0 - vertex -11.6899 -19.4898 -0.1 + vertex -11.6899 -19.4898 -0.2 vertex -11.6899 -19.4898 0 endloop endfacet facet normal -0.98435 -0.176224 0 outer loop - vertex -11.6557 -19.6804 -0.1 + vertex -11.6557 -19.6804 -0.2 vertex -11.6899 -19.4898 0 - vertex -11.6899 -19.4898 -0.1 + vertex -11.6899 -19.4898 -0.2 endloop endfacet facet normal -0.98435 -0.176224 0 outer loop vertex -11.6899 -19.4898 0 - vertex -11.6557 -19.6804 -0.1 + vertex -11.6557 -19.6804 -0.2 vertex -11.6557 -19.6804 0 endloop endfacet facet normal -0.997828 0.0658663 0 outer loop - vertex -11.6707 -19.9072 -0.1 + vertex -11.6707 -19.9072 -0.2 vertex -11.6557 -19.6804 0 - vertex -11.6557 -19.6804 -0.1 + vertex -11.6557 -19.6804 -0.2 endloop endfacet facet normal -0.997828 0.0658663 0 outer loop vertex -11.6557 -19.6804 0 - vertex -11.6707 -19.9072 -0.1 + vertex -11.6707 -19.9072 -0.2 vertex -11.6707 -19.9072 0 endloop endfacet facet normal -0.970423 0.241411 0 outer loop - vertex -11.7355 -20.1677 -0.1 + vertex -11.7355 -20.1677 -0.2 vertex -11.6707 -19.9072 0 - vertex -11.6707 -19.9072 -0.1 + vertex -11.6707 -19.9072 -0.2 endloop endfacet facet normal -0.970423 0.241411 0 outer loop vertex -11.6707 -19.9072 0 - vertex -11.7355 -20.1677 -0.1 + vertex -11.7355 -20.1677 -0.2 vertex -11.7355 -20.1677 0 endloop endfacet facet normal -0.930032 0.367479 0 outer loop - vertex -11.851 -20.4599 -0.1 + vertex -11.851 -20.4599 -0.2 vertex -11.7355 -20.1677 0 - vertex -11.7355 -20.1677 -0.1 + vertex -11.7355 -20.1677 -0.2 endloop endfacet facet normal -0.930032 0.367479 0 outer loop vertex -11.7355 -20.1677 0 - vertex -11.851 -20.4599 -0.1 + vertex -11.851 -20.4599 -0.2 vertex -11.851 -20.4599 0 endloop endfacet facet normal -0.930941 0.365169 0 outer loop - vertex -12.0288 -20.9134 -0.1 + vertex -12.0288 -20.9134 -0.2 vertex -11.851 -20.4599 0 - vertex -11.851 -20.4599 -0.1 + vertex -11.851 -20.4599 -0.2 endloop endfacet facet normal -0.930941 0.365169 0 outer loop vertex -11.851 -20.4599 0 - vertex -12.0288 -20.9134 -0.1 + vertex -12.0288 -20.9134 -0.2 vertex -12.0288 -20.9134 0 endloop endfacet facet normal -0.976329 0.216289 0 outer loop - vertex -12.0594 -21.0513 -0.1 + vertex -12.0594 -21.0513 -0.2 vertex -12.0288 -20.9134 0 - vertex -12.0288 -20.9134 -0.1 + vertex -12.0288 -20.9134 -0.2 endloop endfacet facet normal -0.976329 0.216289 0 outer loop vertex -12.0288 -20.9134 0 - vertex -12.0594 -21.0513 -0.1 + vertex -12.0594 -21.0513 -0.2 vertex -12.0594 -21.0513 0 endloop endfacet facet normal -0.998491 -0.0549167 0 outer loop - vertex -12.0573 -21.0889 -0.1 + vertex -12.0573 -21.0889 -0.2 vertex -12.0594 -21.0513 0 - vertex -12.0594 -21.0513 -0.1 + vertex -12.0594 -21.0513 -0.2 endloop endfacet facet normal -0.998491 -0.0549167 0 outer loop vertex -12.0594 -21.0513 0 - vertex -12.0573 -21.0889 -0.1 + vertex -12.0573 -21.0889 -0.2 vertex -12.0573 -21.0889 0 endloop endfacet facet normal -0.666017 -0.745937 0 outer loop - vertex -12.0573 -21.0889 -0.1 + vertex -12.0573 -21.0889 -0.2 vertex -12.0427 -21.102 0 vertex -12.0573 -21.0889 0 endloop @@ -16207,13 +16207,13 @@ solid OpenSCAD_Model facet normal -0.666017 -0.745937 -0 outer loop vertex -12.0427 -21.102 0 - vertex -12.0573 -21.0889 -0.1 - vertex -12.0427 -21.102 -0.1 + vertex -12.0573 -21.0889 -0.2 + vertex -12.0427 -21.102 -0.2 endloop endfacet facet normal 0.407619 -0.913152 0 outer loop - vertex -12.0427 -21.102 -0.1 + vertex -12.0427 -21.102 -0.2 vertex -11.8784 -21.0286 0 vertex -12.0427 -21.102 0 endloop @@ -16221,13 +16221,13 @@ solid OpenSCAD_Model facet normal 0.407619 -0.913152 0 outer loop vertex -11.8784 -21.0286 0 - vertex -12.0427 -21.102 -0.1 - vertex -11.8784 -21.0286 -0.1 + vertex -12.0427 -21.102 -0.2 + vertex -11.8784 -21.0286 -0.2 endloop endfacet facet normal 0.473772 -0.880648 0 outer loop - vertex -11.8784 -21.0286 -0.1 + vertex -11.8784 -21.0286 -0.2 vertex -11.5073 -20.829 0 vertex -11.8784 -21.0286 0 endloop @@ -16235,13 +16235,13 @@ solid OpenSCAD_Model facet normal 0.473772 -0.880648 0 outer loop vertex -11.5073 -20.829 0 - vertex -11.8784 -21.0286 -0.1 - vertex -11.5073 -20.829 -0.1 + vertex -11.8784 -21.0286 -0.2 + vertex -11.5073 -20.829 -0.2 endloop endfacet facet normal 0.498101 -0.867119 0 outer loop - vertex -11.5073 -20.829 -0.1 + vertex -11.5073 -20.829 -0.2 vertex -10.3649 -20.1728 0 vertex -11.5073 -20.829 0 endloop @@ -16249,13 +16249,13 @@ solid OpenSCAD_Model facet normal 0.498101 -0.867119 0 outer loop vertex -10.3649 -20.1728 0 - vertex -11.5073 -20.829 -0.1 - vertex -10.3649 -20.1728 -0.1 + vertex -11.5073 -20.829 -0.2 + vertex -10.3649 -20.1728 -0.2 endloop endfacet facet normal 0.501647 -0.865072 0 outer loop - vertex -10.3649 -20.1728 -0.1 + vertex -10.3649 -20.1728 -0.2 vertex -9.87453 -19.8884 0 vertex -10.3649 -20.1728 0 endloop @@ -16263,13 +16263,13 @@ solid OpenSCAD_Model facet normal 0.501647 -0.865072 0 outer loop vertex -9.87453 -19.8884 0 - vertex -10.3649 -20.1728 -0.1 - vertex -9.87453 -19.8884 -0.1 + vertex -10.3649 -20.1728 -0.2 + vertex -9.87453 -19.8884 -0.2 endloop endfacet facet normal 0.475521 -0.879704 0 outer loop - vertex -9.87453 -19.8884 -0.1 + vertex -9.87453 -19.8884 -0.2 vertex -9.46489 -19.667 0 vertex -9.87453 -19.8884 0 endloop @@ -16277,13 +16277,13 @@ solid OpenSCAD_Model facet normal 0.475521 -0.879704 0 outer loop vertex -9.46489 -19.667 0 - vertex -9.87453 -19.8884 -0.1 - vertex -9.46489 -19.667 -0.1 + vertex -9.87453 -19.8884 -0.2 + vertex -9.46489 -19.667 -0.2 endloop endfacet facet normal 0.423964 -0.905679 0 outer loop - vertex -9.46489 -19.667 -0.1 + vertex -9.46489 -19.667 -0.2 vertex -9.10766 -19.4997 0 vertex -9.46489 -19.667 0 endloop @@ -16291,13 +16291,13 @@ solid OpenSCAD_Model facet normal 0.423964 -0.905679 0 outer loop vertex -9.10766 -19.4997 0 - vertex -9.46489 -19.667 -0.1 - vertex -9.10766 -19.4997 -0.1 + vertex -9.46489 -19.667 -0.2 + vertex -9.10766 -19.4997 -0.2 endloop endfacet facet normal 0.343275 -0.939235 0 outer loop - vertex -9.10766 -19.4997 -0.1 + vertex -9.10766 -19.4997 -0.2 vertex -8.77447 -19.378 0 vertex -9.10766 -19.4997 0 endloop @@ -16305,13 +16305,13 @@ solid OpenSCAD_Model facet normal 0.343275 -0.939235 0 outer loop vertex -8.77447 -19.378 0 - vertex -9.10766 -19.4997 -0.1 - vertex -8.77447 -19.378 -0.1 + vertex -9.10766 -19.4997 -0.2 + vertex -8.77447 -19.378 -0.2 endloop endfacet facet normal 0.244399 -0.969675 0 outer loop - vertex -8.77447 -19.378 -0.1 + vertex -8.77447 -19.378 -0.2 vertex -8.43701 -19.2929 0 vertex -8.77447 -19.378 0 endloop @@ -16319,13 +16319,13 @@ solid OpenSCAD_Model facet normal 0.244399 -0.969675 0 outer loop vertex -8.43701 -19.2929 0 - vertex -8.77447 -19.378 -0.1 - vertex -8.43701 -19.2929 -0.1 + vertex -8.77447 -19.378 -0.2 + vertex -8.43701 -19.2929 -0.2 endloop endfacet facet normal 0.152431 -0.988314 0 outer loop - vertex -8.43701 -19.2929 -0.1 + vertex -8.43701 -19.2929 -0.2 vertex -8.06691 -19.2358 0 vertex -8.43701 -19.2929 0 endloop @@ -16333,13 +16333,13 @@ solid OpenSCAD_Model facet normal 0.152431 -0.988314 0 outer loop vertex -8.06691 -19.2358 0 - vertex -8.43701 -19.2929 -0.1 - vertex -8.06691 -19.2358 -0.1 + vertex -8.43701 -19.2929 -0.2 + vertex -8.06691 -19.2358 -0.2 endloop endfacet facet normal 0.0874592 -0.996168 0 outer loop - vertex -8.06691 -19.2358 -0.1 + vertex -8.06691 -19.2358 -0.2 vertex -7.63584 -19.198 0 vertex -8.06691 -19.2358 0 endloop @@ -16347,13 +16347,13 @@ solid OpenSCAD_Model facet normal 0.0874592 -0.996168 0 outer loop vertex -7.63584 -19.198 0 - vertex -8.06691 -19.2358 -0.1 - vertex -7.63584 -19.198 -0.1 + vertex -8.06691 -19.2358 -0.2 + vertex -7.63584 -19.198 -0.2 endloop endfacet facet normal 0.0524883 -0.998622 0 outer loop - vertex -7.63584 -19.198 -0.1 + vertex -7.63584 -19.198 -0.2 vertex -7.11547 -19.1706 0 vertex -7.63584 -19.198 0 endloop @@ -16361,13 +16361,13 @@ solid OpenSCAD_Model facet normal 0.0524883 -0.998622 0 outer loop vertex -7.11547 -19.1706 0 - vertex -7.63584 -19.198 -0.1 - vertex -7.11547 -19.1706 -0.1 + vertex -7.63584 -19.198 -0.2 + vertex -7.11547 -19.1706 -0.2 endloop endfacet facet normal 0.0303019 -0.999541 0 outer loop - vertex -7.11547 -19.1706 -0.1 + vertex -7.11547 -19.1706 -0.2 vertex -6.14058 -19.1411 0 vertex -7.11547 -19.1706 0 endloop @@ -16375,13 +16375,13 @@ solid OpenSCAD_Model facet normal 0.0303019 -0.999541 0 outer loop vertex -6.14058 -19.1411 0 - vertex -7.11547 -19.1706 -0.1 - vertex -6.14058 -19.1411 -0.1 + vertex -7.11547 -19.1706 -0.2 + vertex -6.14058 -19.1411 -0.2 endloop endfacet facet normal -0.0462057 -0.998932 0 outer loop - vertex -6.14058 -19.1411 -0.1 + vertex -6.14058 -19.1411 -0.2 vertex -5.8145 -19.1562 0 vertex -6.14058 -19.1411 0 endloop @@ -16389,13 +16389,13 @@ solid OpenSCAD_Model facet normal -0.0462057 -0.998932 -0 outer loop vertex -5.8145 -19.1562 0 - vertex -6.14058 -19.1411 -0.1 - vertex -5.8145 -19.1562 -0.1 + vertex -6.14058 -19.1411 -0.2 + vertex -5.8145 -19.1562 -0.2 endloop endfacet facet normal -0.173732 -0.984793 0 outer loop - vertex -5.8145 -19.1562 -0.1 + vertex -5.8145 -19.1562 -0.2 vertex -5.55901 -19.2012 0 vertex -5.8145 -19.1562 0 endloop @@ -16403,13 +16403,13 @@ solid OpenSCAD_Model facet normal -0.173732 -0.984793 -0 outer loop vertex -5.55901 -19.2012 0 - vertex -5.8145 -19.1562 -0.1 - vertex -5.55901 -19.2012 -0.1 + vertex -5.8145 -19.1562 -0.2 + vertex -5.55901 -19.2012 -0.2 endloop endfacet facet normal -0.362239 -0.932085 0 outer loop - vertex -5.55901 -19.2012 -0.1 + vertex -5.55901 -19.2012 -0.2 vertex -5.34642 -19.2839 0 vertex -5.55901 -19.2012 0 endloop @@ -16417,13 +16417,13 @@ solid OpenSCAD_Model facet normal -0.362239 -0.932085 -0 outer loop vertex -5.34642 -19.2839 0 - vertex -5.55901 -19.2012 -0.1 - vertex -5.34642 -19.2839 -0.1 + vertex -5.55901 -19.2012 -0.2 + vertex -5.34642 -19.2839 -0.2 endloop endfacet facet normal -0.543204 -0.8396 0 outer loop - vertex -5.34642 -19.2839 -0.1 + vertex -5.34642 -19.2839 -0.2 vertex -5.14898 -19.4116 0 vertex -5.34642 -19.2839 0 endloop @@ -16431,13 +16431,13 @@ solid OpenSCAD_Model facet normal -0.543204 -0.8396 -0 outer loop vertex -5.14898 -19.4116 0 - vertex -5.34642 -19.2839 -0.1 - vertex -5.14898 -19.4116 -0.1 + vertex -5.34642 -19.2839 -0.2 + vertex -5.14898 -19.4116 -0.2 endloop endfacet facet normal -0.651669 -0.758504 0 outer loop - vertex -5.14898 -19.4116 -0.1 + vertex -5.14898 -19.4116 -0.2 vertex -4.93899 -19.592 0 vertex -5.14898 -19.4116 0 endloop @@ -16445,13 +16445,13 @@ solid OpenSCAD_Model facet normal -0.651669 -0.758504 -0 outer loop vertex -4.93899 -19.592 0 - vertex -5.14898 -19.4116 -0.1 - vertex -4.93899 -19.592 -0.1 + vertex -5.14898 -19.4116 -0.2 + vertex -4.93899 -19.592 -0.2 endloop endfacet facet normal -0.693118 -0.720824 0 outer loop - vertex -4.93899 -19.592 -0.1 + vertex -4.93899 -19.592 -0.2 vertex -4.68872 -19.8327 0 vertex -4.93899 -19.592 0 endloop @@ -16459,391 +16459,391 @@ solid OpenSCAD_Model facet normal -0.693118 -0.720824 -0 outer loop vertex -4.68872 -19.8327 0 - vertex -4.93899 -19.592 -0.1 - vertex -4.68872 -19.8327 -0.1 + vertex -4.93899 -19.592 -0.2 + vertex -4.68872 -19.8327 -0.2 endloop endfacet facet normal -0.711815 -0.702367 0 outer loop - vertex -4.47107 -20.0532 -0.1 + vertex -4.47107 -20.0532 -0.2 vertex -4.68872 -19.8327 0 - vertex -4.68872 -19.8327 -0.1 + vertex -4.68872 -19.8327 -0.2 endloop endfacet facet normal -0.711815 -0.702367 0 outer loop vertex -4.68872 -19.8327 0 - vertex -4.47107 -20.0532 -0.1 + vertex -4.47107 -20.0532 -0.2 vertex -4.47107 -20.0532 0 endloop endfacet facet normal -0.751184 -0.660092 0 outer loop - vertex -4.29663 -20.2518 -0.1 + vertex -4.29663 -20.2518 -0.2 vertex -4.47107 -20.0532 0 - vertex -4.47107 -20.0532 -0.1 + vertex -4.47107 -20.0532 -0.2 endloop endfacet facet normal -0.751184 -0.660092 0 outer loop vertex -4.47107 -20.0532 0 - vertex -4.29663 -20.2518 -0.1 + vertex -4.29663 -20.2518 -0.2 vertex -4.29663 -20.2518 0 endloop endfacet facet normal -0.80931 -0.587382 0 outer loop - vertex -4.15983 -20.4402 -0.1 + vertex -4.15983 -20.4402 -0.2 vertex -4.29663 -20.2518 0 - vertex -4.29663 -20.2518 -0.1 + vertex -4.29663 -20.2518 -0.2 endloop endfacet facet normal -0.80931 -0.587382 0 outer loop vertex -4.29663 -20.2518 0 - vertex -4.15983 -20.4402 -0.1 + vertex -4.15983 -20.4402 -0.2 vertex -4.15983 -20.4402 0 endloop endfacet facet normal -0.876288 -0.481787 0 outer loop - vertex -4.05507 -20.6308 -0.1 + vertex -4.05507 -20.6308 -0.2 vertex -4.15983 -20.4402 0 - vertex -4.15983 -20.4402 -0.1 + vertex -4.15983 -20.4402 -0.2 endloop endfacet facet normal -0.876288 -0.481787 0 outer loop vertex -4.15983 -20.4402 0 - vertex -4.05507 -20.6308 -0.1 + vertex -4.05507 -20.6308 -0.2 vertex -4.05507 -20.6308 0 endloop endfacet facet normal -0.93397 -0.357351 0 outer loop - vertex -3.97677 -20.8354 -0.1 + vertex -3.97677 -20.8354 -0.2 vertex -4.05507 -20.6308 0 - vertex -4.05507 -20.6308 -0.1 + vertex -4.05507 -20.6308 -0.2 endloop endfacet facet normal -0.93397 -0.357351 0 outer loop vertex -4.05507 -20.6308 0 - vertex -3.97677 -20.8354 -0.1 + vertex -3.97677 -20.8354 -0.2 vertex -3.97677 -20.8354 0 endloop endfacet facet normal -0.970412 -0.241456 0 outer loop - vertex -3.91934 -21.0662 -0.1 + vertex -3.91934 -21.0662 -0.2 vertex -3.97677 -20.8354 0 - vertex -3.97677 -20.8354 -0.1 + vertex -3.97677 -20.8354 -0.2 endloop endfacet facet normal -0.970412 -0.241456 0 outer loop vertex -3.97677 -20.8354 0 - vertex -3.91934 -21.0662 -0.1 + vertex -3.91934 -21.0662 -0.2 vertex -3.91934 -21.0662 0 endloop endfacet facet normal -0.987949 -0.154777 0 outer loop - vertex -3.87719 -21.3353 -0.1 + vertex -3.87719 -21.3353 -0.2 vertex -3.91934 -21.0662 0 - vertex -3.91934 -21.0662 -0.1 + vertex -3.91934 -21.0662 -0.2 endloop endfacet facet normal -0.987949 -0.154777 0 outer loop vertex -3.91934 -21.0662 0 - vertex -3.87719 -21.3353 -0.1 + vertex -3.87719 -21.3353 -0.2 vertex -3.87719 -21.3353 0 endloop endfacet facet normal -0.994874 -0.10112 0 outer loop - vertex -3.84473 -21.6547 -0.1 + vertex -3.84473 -21.6547 -0.2 vertex -3.87719 -21.3353 0 - vertex -3.87719 -21.3353 -0.1 + vertex -3.87719 -21.3353 -0.2 endloop endfacet facet normal -0.994874 -0.10112 0 outer loop vertex -3.87719 -21.3353 0 - vertex -3.84473 -21.6547 -0.1 + vertex -3.84473 -21.6547 -0.2 vertex -3.84473 -21.6547 0 endloop endfacet facet normal -0.999588 -0.0286991 0 outer loop - vertex -3.82849 -22.2203 -0.1 + vertex -3.82849 -22.2203 -0.2 vertex -3.84473 -21.6547 0 - vertex -3.84473 -21.6547 -0.1 + vertex -3.84473 -21.6547 -0.2 endloop endfacet facet normal -0.999588 -0.0286991 0 outer loop vertex -3.84473 -21.6547 0 - vertex -3.82849 -22.2203 -0.1 + vertex -3.82849 -22.2203 -0.2 vertex -3.82849 -22.2203 0 endloop endfacet facet normal -0.998294 0.058395 0 outer loop - vertex -3.84589 -22.5177 -0.1 + vertex -3.84589 -22.5177 -0.2 vertex -3.82849 -22.2203 0 - vertex -3.82849 -22.2203 -0.1 + vertex -3.82849 -22.2203 -0.2 endloop endfacet facet normal -0.998294 0.058395 0 outer loop vertex -3.82849 -22.2203 0 - vertex -3.84589 -22.5177 -0.1 + vertex -3.84589 -22.5177 -0.2 vertex -3.84589 -22.5177 0 endloop endfacet facet normal -0.99329 0.115647 0 outer loop - vertex -3.88244 -22.8317 -0.1 + vertex -3.88244 -22.8317 -0.2 vertex -3.84589 -22.5177 0 - vertex -3.84589 -22.5177 -0.1 + vertex -3.84589 -22.5177 -0.2 endloop endfacet facet normal -0.99329 0.115647 0 outer loop vertex -3.84589 -22.5177 0 - vertex -3.88244 -22.8317 -0.1 + vertex -3.88244 -22.8317 -0.2 vertex -3.88244 -22.8317 0 endloop endfacet facet normal -0.985725 0.168361 0 outer loop - vertex -3.93975 -23.1672 -0.1 + vertex -3.93975 -23.1672 -0.2 vertex -3.88244 -22.8317 0 - vertex -3.88244 -22.8317 -0.1 + vertex -3.88244 -22.8317 -0.2 endloop endfacet facet normal -0.985725 0.168361 0 outer loop vertex -3.88244 -22.8317 0 - vertex -3.93975 -23.1672 -0.1 + vertex -3.93975 -23.1672 -0.2 vertex -3.93975 -23.1672 0 endloop endfacet facet normal -0.976652 0.214827 0 outer loop - vertex -4.01943 -23.5295 -0.1 + vertex -4.01943 -23.5295 -0.2 vertex -3.93975 -23.1672 0 - vertex -3.93975 -23.1672 -0.1 + vertex -3.93975 -23.1672 -0.2 endloop endfacet facet normal -0.976652 0.214827 0 outer loop vertex -3.93975 -23.1672 0 - vertex -4.01943 -23.5295 -0.1 + vertex -4.01943 -23.5295 -0.2 vertex -4.01943 -23.5295 0 endloop endfacet facet normal -0.962379 0.27171 0 outer loop - vertex -4.25232 -24.3543 -0.1 + vertex -4.25232 -24.3543 -0.2 vertex -4.01943 -23.5295 0 - vertex -4.01943 -23.5295 -0.1 + vertex -4.01943 -23.5295 -0.2 endloop endfacet facet normal -0.962379 0.27171 0 outer loop vertex -4.01943 -23.5295 0 - vertex -4.25232 -24.3543 -0.1 + vertex -4.25232 -24.3543 -0.2 vertex -4.25232 -24.3543 0 endloop endfacet facet normal -0.945562 0.325441 0 outer loop - vertex -4.59396 -25.347 -0.1 + vertex -4.59396 -25.347 -0.2 vertex -4.25232 -24.3543 0 - vertex -4.25232 -24.3543 -0.1 + vertex -4.25232 -24.3543 -0.2 endloop endfacet facet normal -0.945562 0.325441 0 outer loop vertex -4.25232 -24.3543 0 - vertex -4.59396 -25.347 -0.1 + vertex -4.59396 -25.347 -0.2 vertex -4.59396 -25.347 0 endloop endfacet facet normal -0.933005 0.359863 0 outer loop - vertex -5.05721 -26.548 -0.1 + vertex -5.05721 -26.548 -0.2 vertex -4.59396 -25.347 0 - vertex -4.59396 -25.347 -0.1 + vertex -4.59396 -25.347 -0.2 endloop endfacet facet normal -0.933005 0.359863 0 outer loop vertex -4.59396 -25.347 0 - vertex -5.05721 -26.548 -0.1 + vertex -5.05721 -26.548 -0.2 vertex -5.05721 -26.548 0 endloop endfacet facet normal -0.924544 0.381075 0 outer loop - vertex -5.65492 -27.9982 -0.1 + vertex -5.65492 -27.9982 -0.2 vertex -5.05721 -26.548 0 - vertex -5.05721 -26.548 -0.1 + vertex -5.05721 -26.548 -0.2 endloop endfacet facet normal -0.924544 0.381075 0 outer loop vertex -5.05721 -26.548 0 - vertex -5.65492 -27.9982 -0.1 + vertex -5.65492 -27.9982 -0.2 vertex -5.65492 -27.9982 0 endloop endfacet facet normal -0.919267 0.393635 0 outer loop - vertex -6.39994 -29.738 -0.1 + vertex -6.39994 -29.738 -0.2 vertex -5.65492 -27.9982 0 - vertex -5.65492 -27.9982 -0.1 + vertex -5.65492 -27.9982 -0.2 endloop endfacet facet normal -0.919267 0.393635 0 outer loop vertex -5.65492 -27.9982 0 - vertex -6.39994 -29.738 -0.1 + vertex -6.39994 -29.738 -0.2 vertex -6.39994 -29.738 0 endloop endfacet facet normal -0.920331 0.391141 0 outer loop - vertex -7.70823 -32.8163 -0.1 + vertex -7.70823 -32.8163 -0.2 vertex -6.39994 -29.738 0 - vertex -6.39994 -29.738 -0.1 + vertex -6.39994 -29.738 -0.2 endloop endfacet facet normal -0.920331 0.391141 0 outer loop vertex -6.39994 -29.738 0 - vertex -7.70823 -32.8163 -0.1 + vertex -7.70823 -32.8163 -0.2 vertex -7.70823 -32.8163 0 endloop endfacet facet normal -0.926406 0.376526 0 outer loop - vertex -8.13453 -33.8652 -0.1 + vertex -8.13453 -33.8652 -0.2 vertex -7.70823 -32.8163 0 - vertex -7.70823 -32.8163 -0.1 + vertex -7.70823 -32.8163 -0.2 endloop endfacet facet normal -0.926406 0.376526 0 outer loop vertex -7.70823 -32.8163 0 - vertex -8.13453 -33.8652 -0.1 + vertex -8.13453 -33.8652 -0.2 vertex -8.13453 -33.8652 0 endloop endfacet facet normal -0.938884 0.344234 0 outer loop - vertex -8.32474 -34.384 -0.1 + vertex -8.32474 -34.384 -0.2 vertex -8.13453 -33.8652 0 - vertex -8.13453 -33.8652 -0.1 + vertex -8.13453 -33.8652 -0.2 endloop endfacet facet normal -0.938884 0.344234 0 outer loop vertex -8.13453 -33.8652 0 - vertex -8.32474 -34.384 -0.1 + vertex -8.32474 -34.384 -0.2 vertex -8.32474 -34.384 0 endloop endfacet facet normal -0.969782 0.243972 0 outer loop - vertex -8.55649 -35.3052 -0.1 + vertex -8.55649 -35.3052 -0.2 vertex -8.32474 -34.384 0 - vertex -8.32474 -34.384 -0.1 + vertex -8.32474 -34.384 -0.2 endloop endfacet facet normal -0.969782 0.243972 0 outer loop vertex -8.32474 -34.384 0 - vertex -8.55649 -35.3052 -0.1 + vertex -8.55649 -35.3052 -0.2 vertex -8.55649 -35.3052 0 endloop endfacet facet normal -0.98411 0.17756 0 outer loop - vertex -8.57785 -35.4236 -0.1 + vertex -8.57785 -35.4236 -0.2 vertex -8.55649 -35.3052 0 - vertex -8.55649 -35.3052 -0.1 + vertex -8.55649 -35.3052 -0.2 endloop endfacet facet normal -0.98411 0.17756 0 outer loop vertex -8.55649 -35.3052 0 - vertex -8.57785 -35.4236 -0.1 + vertex -8.57785 -35.4236 -0.2 vertex -8.57785 -35.4236 0 endloop endfacet facet normal -0.999972 -0.00745735 0 outer loop - vertex -8.57707 -35.529 -0.1 + vertex -8.57707 -35.529 -0.2 vertex -8.57785 -35.4236 0 - vertex -8.57785 -35.4236 -0.1 + vertex -8.57785 -35.4236 -0.2 endloop endfacet facet normal -0.999972 -0.00745735 0 outer loop vertex -8.57785 -35.4236 0 - vertex -8.57707 -35.529 -0.1 + vertex -8.57707 -35.529 -0.2 vertex -8.57707 -35.529 0 endloop endfacet facet normal -0.966564 -0.256425 0 outer loop - vertex -8.55176 -35.6244 -0.1 + vertex -8.55176 -35.6244 -0.2 vertex -8.57707 -35.529 0 - vertex -8.57707 -35.529 -0.1 + vertex -8.57707 -35.529 -0.2 endloop endfacet facet normal -0.966564 -0.256425 0 outer loop vertex -8.57707 -35.529 0 - vertex -8.55176 -35.6244 -0.1 + vertex -8.55176 -35.6244 -0.2 vertex -8.55176 -35.6244 0 endloop endfacet facet normal -0.861289 -0.508115 0 outer loop - vertex -8.49955 -35.7129 -0.1 + vertex -8.49955 -35.7129 -0.2 vertex -8.55176 -35.6244 0 - vertex -8.55176 -35.6244 -0.1 + vertex -8.55176 -35.6244 -0.2 endloop endfacet facet normal -0.861289 -0.508115 0 outer loop vertex -8.55176 -35.6244 0 - vertex -8.49955 -35.7129 -0.1 + vertex -8.49955 -35.7129 -0.2 vertex -8.49955 -35.7129 0 endloop endfacet facet normal -0.720516 -0.693438 0 outer loop - vertex -8.41808 -35.7975 -0.1 + vertex -8.41808 -35.7975 -0.2 vertex -8.49955 -35.7129 0 - vertex -8.49955 -35.7129 -0.1 + vertex -8.49955 -35.7129 -0.2 endloop endfacet facet normal -0.720516 -0.693438 0 outer loop vertex -8.49955 -35.7129 0 - vertex -8.41808 -35.7975 -0.1 + vertex -8.41808 -35.7975 -0.2 vertex -8.41808 -35.7975 0 endloop endfacet facet normal -0.595759 -0.803164 0 outer loop - vertex -8.41808 -35.7975 -0.1 + vertex -8.41808 -35.7975 -0.2 vertex -8.30497 -35.8814 0 vertex -8.41808 -35.7975 0 endloop @@ -16851,13 +16851,13 @@ solid OpenSCAD_Model facet normal -0.595759 -0.803164 -0 outer loop vertex -8.30497 -35.8814 0 - vertex -8.41808 -35.7975 -0.1 - vertex -8.30497 -35.8814 -0.1 + vertex -8.41808 -35.7975 -0.2 + vertex -8.30497 -35.8814 -0.2 endloop endfacet facet normal -0.473656 -0.88071 0 outer loop - vertex -8.30497 -35.8814 -0.1 + vertex -8.30497 -35.8814 -0.2 vertex -7.97432 -36.0592 0 vertex -8.30497 -35.8814 0 endloop @@ -16865,13 +16865,13 @@ solid OpenSCAD_Model facet normal -0.473656 -0.88071 -0 outer loop vertex -7.97432 -36.0592 0 - vertex -8.30497 -35.8814 -0.1 - vertex -7.97432 -36.0592 -0.1 + vertex -8.30497 -35.8814 -0.2 + vertex -7.97432 -36.0592 -0.2 endloop endfacet facet normal -0.487345 -0.873209 0 outer loop - vertex -7.97432 -36.0592 -0.1 + vertex -7.97432 -36.0592 -0.2 vertex -7.70312 -36.2106 0 vertex -7.97432 -36.0592 0 endloop @@ -16879,13 +16879,13 @@ solid OpenSCAD_Model facet normal -0.487345 -0.873209 -0 outer loop vertex -7.70312 -36.2106 0 - vertex -7.97432 -36.0592 -0.1 - vertex -7.70312 -36.2106 -0.1 + vertex -7.97432 -36.0592 -0.2 + vertex -7.70312 -36.2106 -0.2 endloop endfacet facet normal -0.634834 -0.772648 0 outer loop - vertex -7.70312 -36.2106 -0.1 + vertex -7.70312 -36.2106 -0.2 vertex -7.50076 -36.3769 0 vertex -7.70312 -36.2106 0 endloop @@ -16893,125 +16893,125 @@ solid OpenSCAD_Model facet normal -0.634834 -0.772648 -0 outer loop vertex -7.50076 -36.3769 0 - vertex -7.70312 -36.2106 -0.1 - vertex -7.50076 -36.3769 -0.1 + vertex -7.70312 -36.2106 -0.2 + vertex -7.50076 -36.3769 -0.2 endloop endfacet facet normal -0.80484 -0.593492 0 outer loop - vertex -7.36727 -36.5579 -0.1 + vertex -7.36727 -36.5579 -0.2 vertex -7.50076 -36.3769 0 - vertex -7.50076 -36.3769 -0.1 + vertex -7.50076 -36.3769 -0.2 endloop endfacet facet normal -0.80484 -0.593492 0 outer loop vertex -7.50076 -36.3769 0 - vertex -7.36727 -36.5579 -0.1 + vertex -7.36727 -36.5579 -0.2 vertex -7.36727 -36.5579 0 endloop endfacet facet normal -0.919952 -0.39203 0 outer loop - vertex -7.32635 -36.6539 -0.1 + vertex -7.32635 -36.6539 -0.2 vertex -7.36727 -36.5579 0 - vertex -7.36727 -36.5579 -0.1 + vertex -7.36727 -36.5579 -0.2 endloop endfacet facet normal -0.919952 -0.39203 0 outer loop vertex -7.36727 -36.5579 0 - vertex -7.32635 -36.6539 -0.1 + vertex -7.32635 -36.6539 -0.2 vertex -7.32635 -36.6539 0 endloop endfacet facet normal -0.972883 -0.231299 0 outer loop - vertex -7.30266 -36.7536 -0.1 + vertex -7.30266 -36.7536 -0.2 vertex -7.32635 -36.6539 0 - vertex -7.32635 -36.6539 -0.1 + vertex -7.32635 -36.6539 -0.2 endloop endfacet facet normal -0.972883 -0.231299 0 outer loop vertex -7.32635 -36.6539 0 - vertex -7.30266 -36.7536 -0.1 + vertex -7.30266 -36.7536 -0.2 vertex -7.30266 -36.7536 0 endloop endfacet facet normal -0.998045 -0.0625022 0 outer loop - vertex -7.29619 -36.8569 -0.1 + vertex -7.29619 -36.8569 -0.2 vertex -7.30266 -36.7536 0 - vertex -7.30266 -36.7536 -0.1 + vertex -7.30266 -36.7536 -0.2 endloop endfacet facet normal -0.998045 -0.0625022 0 outer loop vertex -7.30266 -36.7536 0 - vertex -7.29619 -36.8569 -0.1 + vertex -7.29619 -36.8569 -0.2 vertex -7.29619 -36.8569 0 endloop endfacet facet normal -0.994972 0.100157 0 outer loop - vertex -7.30695 -36.9638 -0.1 + vertex -7.30695 -36.9638 -0.2 vertex -7.29619 -36.8569 0 - vertex -7.29619 -36.8569 -0.1 + vertex -7.29619 -36.8569 -0.2 endloop endfacet facet normal -0.994972 0.100157 0 outer loop vertex -7.29619 -36.8569 0 - vertex -7.30695 -36.9638 -0.1 + vertex -7.30695 -36.9638 -0.2 vertex -7.30695 -36.9638 0 endloop endfacet facet normal -0.950745 0.309974 0 outer loop - vertex -7.38017 -37.1883 -0.1 + vertex -7.38017 -37.1883 -0.2 vertex -7.30695 -36.9638 0 - vertex -7.30695 -36.9638 -0.1 + vertex -7.30695 -36.9638 -0.2 endloop endfacet facet normal -0.950745 0.309974 0 outer loop vertex -7.30695 -36.9638 0 - vertex -7.38017 -37.1883 -0.1 + vertex -7.38017 -37.1883 -0.2 vertex -7.38017 -37.1883 0 endloop endfacet facet normal -0.859288 0.511491 0 outer loop - vertex -7.52232 -37.4271 -0.1 + vertex -7.52232 -37.4271 -0.2 vertex -7.38017 -37.1883 0 - vertex -7.38017 -37.1883 -0.1 + vertex -7.38017 -37.1883 -0.2 endloop endfacet facet normal -0.859288 0.511491 0 outer loop vertex -7.38017 -37.1883 0 - vertex -7.52232 -37.4271 -0.1 + vertex -7.52232 -37.4271 -0.2 vertex -7.52232 -37.4271 0 endloop endfacet facet normal -0.767721 0.640785 0 outer loop - vertex -7.73344 -37.6801 -0.1 + vertex -7.73344 -37.6801 -0.2 vertex -7.52232 -37.4271 0 - vertex -7.52232 -37.4271 -0.1 + vertex -7.52232 -37.4271 -0.2 endloop endfacet facet normal -0.767721 0.640785 0 outer loop vertex -7.52232 -37.4271 0 - vertex -7.73344 -37.6801 -0.1 + vertex -7.73344 -37.6801 -0.2 vertex -7.73344 -37.6801 0 endloop endfacet facet normal -0.693467 0.720489 0 outer loop - vertex -7.73344 -37.6801 -0.1 + vertex -7.73344 -37.6801 -0.2 vertex -7.8903 -37.8311 0 vertex -7.73344 -37.6801 0 endloop @@ -17019,13 +17019,13 @@ solid OpenSCAD_Model facet normal -0.693467 0.720489 0 outer loop vertex -7.8903 -37.8311 0 - vertex -7.73344 -37.6801 -0.1 - vertex -7.8903 -37.8311 -0.1 + vertex -7.73344 -37.6801 -0.2 + vertex -7.8903 -37.8311 -0.2 endloop endfacet facet normal -0.544632 0.838675 0 outer loop - vertex -7.8903 -37.8311 -0.1 + vertex -7.8903 -37.8311 -0.2 vertex -8.0676 -37.9462 0 vertex -7.8903 -37.8311 0 endloop @@ -17033,13 +17033,13 @@ solid OpenSCAD_Model facet normal -0.544632 0.838675 0 outer loop vertex -8.0676 -37.9462 0 - vertex -7.8903 -37.8311 -0.1 - vertex -8.0676 -37.9462 -0.1 + vertex -7.8903 -37.8311 -0.2 + vertex -8.0676 -37.9462 -0.2 endloop endfacet facet normal -0.329452 0.944172 0 outer loop - vertex -8.0676 -37.9462 -0.1 + vertex -8.0676 -37.9462 -0.2 vertex -8.30871 -38.0303 0 vertex -8.0676 -37.9462 0 endloop @@ -17047,13 +17047,13 @@ solid OpenSCAD_Model facet normal -0.329452 0.944172 0 outer loop vertex -8.30871 -38.0303 0 - vertex -8.0676 -37.9462 -0.1 - vertex -8.30871 -38.0303 -0.1 + vertex -8.0676 -37.9462 -0.2 + vertex -8.30871 -38.0303 -0.2 endloop endfacet facet normal -0.164178 0.986431 0 outer loop - vertex -8.30871 -38.0303 -0.1 + vertex -8.30871 -38.0303 -0.2 vertex -8.657 -38.0883 0 vertex -8.30871 -38.0303 0 endloop @@ -17061,13 +17061,13 @@ solid OpenSCAD_Model facet normal -0.164178 0.986431 0 outer loop vertex -8.657 -38.0883 0 - vertex -8.30871 -38.0303 -0.1 - vertex -8.657 -38.0883 -0.1 + vertex -8.30871 -38.0303 -0.2 + vertex -8.657 -38.0883 -0.2 endloop endfacet facet normal -0.0732736 0.997312 0 outer loop - vertex -8.657 -38.0883 -0.1 + vertex -8.657 -38.0883 -0.2 vertex -9.15585 -38.1249 0 vertex -8.657 -38.0883 0 endloop @@ -17075,13 +17075,13 @@ solid OpenSCAD_Model facet normal -0.0732736 0.997312 0 outer loop vertex -9.15585 -38.1249 0 - vertex -8.657 -38.0883 -0.1 - vertex -9.15585 -38.1249 -0.1 + vertex -8.657 -38.0883 -0.2 + vertex -9.15585 -38.1249 -0.2 endloop endfacet facet normal -0.0291211 0.999576 0 outer loop - vertex -9.15585 -38.1249 -0.1 + vertex -9.15585 -38.1249 -0.2 vertex -9.84865 -38.1451 0 vertex -9.15585 -38.1249 0 endloop @@ -17089,13 +17089,13 @@ solid OpenSCAD_Model facet normal -0.0291211 0.999576 0 outer loop vertex -9.84865 -38.1451 0 - vertex -9.15585 -38.1249 -0.1 - vertex -9.84865 -38.1451 -0.1 + vertex -9.15585 -38.1249 -0.2 + vertex -9.84865 -38.1451 -0.2 endloop endfacet facet normal -0.00482502 0.999988 0 outer loop - vertex -9.84865 -38.1451 -0.1 + vertex -9.84865 -38.1451 -0.2 vertex -11.9896 -38.1555 0 vertex -9.84865 -38.1451 0 endloop @@ -17103,13 +17103,13 @@ solid OpenSCAD_Model facet normal -0.00482502 0.999988 0 outer loop vertex -11.9896 -38.1555 0 - vertex -9.84865 -38.1451 -0.1 - vertex -11.9896 -38.1555 -0.1 + vertex -9.84865 -38.1451 -0.2 + vertex -11.9896 -38.1555 -0.2 endloop endfacet facet normal 0.0039213 0.999992 -0 outer loop - vertex -11.9896 -38.1555 -0.1 + vertex -11.9896 -38.1555 -0.2 vertex -14.1677 -38.1469 0 vertex -11.9896 -38.1555 0 endloop @@ -17117,13 +17117,13 @@ solid OpenSCAD_Model facet normal 0.0039213 0.999992 0 outer loop vertex -14.1677 -38.1469 0 - vertex -11.9896 -38.1555 -0.1 - vertex -14.1677 -38.1469 -0.1 + vertex -11.9896 -38.1555 -0.2 + vertex -14.1677 -38.1469 -0.2 endloop endfacet facet normal 0.0274602 0.999623 -0 outer loop - vertex -14.1677 -38.1469 -0.1 + vertex -14.1677 -38.1469 -0.2 vertex -14.8486 -38.1282 0 vertex -14.1677 -38.1469 0 endloop @@ -17131,13 +17131,13 @@ solid OpenSCAD_Model facet normal 0.0274602 0.999623 0 outer loop vertex -14.8486 -38.1282 0 - vertex -14.1677 -38.1469 -0.1 - vertex -14.8486 -38.1282 -0.1 + vertex -14.1677 -38.1469 -0.2 + vertex -14.8486 -38.1282 -0.2 endloop endfacet facet normal 0.0756421 0.997135 -0 outer loop - vertex -14.8486 -38.1282 -0.1 + vertex -14.8486 -38.1282 -0.2 vertex -15.316 -38.0928 0 vertex -14.8486 -38.1282 0 endloop @@ -17145,13 +17145,13 @@ solid OpenSCAD_Model facet normal 0.0756421 0.997135 0 outer loop vertex -15.316 -38.0928 0 - vertex -14.8486 -38.1282 -0.1 - vertex -15.316 -38.0928 -0.1 + vertex -14.8486 -38.1282 -0.2 + vertex -15.316 -38.0928 -0.2 endloop endfacet facet normal 0.189644 0.981853 -0 outer loop - vertex -15.316 -38.0928 -0.1 + vertex -15.316 -38.0928 -0.2 vertex -15.614 -38.0352 0 vertex -15.316 -38.0928 0 endloop @@ -17159,13 +17159,13 @@ solid OpenSCAD_Model facet normal 0.189644 0.981853 0 outer loop vertex -15.614 -38.0352 0 - vertex -15.316 -38.0928 -0.1 - vertex -15.614 -38.0352 -0.1 + vertex -15.316 -38.0928 -0.2 + vertex -15.614 -38.0352 -0.2 endloop endfacet facet normal 0.363705 0.931514 -0 outer loop - vertex -15.614 -38.0352 -0.1 + vertex -15.614 -38.0352 -0.2 vertex -15.7132 -37.9965 0 vertex -15.614 -38.0352 0 endloop @@ -17173,13 +17173,13 @@ solid OpenSCAD_Model facet normal 0.363705 0.931514 0 outer loop vertex -15.7132 -37.9965 0 - vertex -15.614 -38.0352 -0.1 - vertex -15.7132 -37.9965 -0.1 + vertex -15.614 -38.0352 -0.2 + vertex -15.7132 -37.9965 -0.2 endloop endfacet facet normal 0.533432 0.845843 -0 outer loop - vertex -15.7132 -37.9965 -0.1 + vertex -15.7132 -37.9965 -0.2 vertex -15.7865 -37.9502 0 vertex -15.7132 -37.9965 0 endloop @@ -17187,153 +17187,153 @@ solid OpenSCAD_Model facet normal 0.533432 0.845843 0 outer loop vertex -15.7865 -37.9502 0 - vertex -15.7132 -37.9965 -0.1 - vertex -15.7865 -37.9502 -0.1 + vertex -15.7132 -37.9965 -0.2 + vertex -15.7865 -37.9502 -0.2 endloop endfacet facet normal 0.71659 0.697495 0 outer loop vertex -15.7865 -37.9502 0 - vertex -15.8396 -37.8957 -0.1 + vertex -15.8396 -37.8957 -0.2 vertex -15.8396 -37.8957 0 endloop endfacet facet normal 0.71659 0.697495 0 outer loop - vertex -15.8396 -37.8957 -0.1 + vertex -15.8396 -37.8957 -0.2 vertex -15.7865 -37.9502 0 - vertex -15.7865 -37.9502 -0.1 + vertex -15.7865 -37.9502 -0.2 endloop endfacet facet normal 0.856476 0.516186 0 outer loop vertex -15.8396 -37.8957 0 - vertex -15.8777 -37.8324 -0.1 + vertex -15.8777 -37.8324 -0.2 vertex -15.8777 -37.8324 0 endloop endfacet facet normal 0.856476 0.516186 0 outer loop - vertex -15.8777 -37.8324 -0.1 + vertex -15.8777 -37.8324 -0.2 vertex -15.8396 -37.8957 0 - vertex -15.8396 -37.8957 -0.1 + vertex -15.8396 -37.8957 -0.2 endloop endfacet facet normal 0.945292 0.326225 0 outer loop vertex -15.8777 -37.8324 0 - vertex -15.9316 -37.6764 -0.1 + vertex -15.9316 -37.6764 -0.2 vertex -15.9316 -37.6764 0 endloop endfacet facet normal 0.945292 0.326225 0 outer loop - vertex -15.9316 -37.6764 -0.1 + vertex -15.9316 -37.6764 -0.2 vertex -15.8777 -37.8324 0 - vertex -15.8777 -37.8324 -0.1 + vertex -15.8777 -37.8324 -0.2 endloop endfacet facet normal 0.977576 0.210582 0 outer loop vertex -15.9316 -37.6764 0 - vertex -15.9604 -37.5428 -0.1 + vertex -15.9604 -37.5428 -0.2 vertex -15.9604 -37.5428 0 endloop endfacet facet normal 0.977576 0.210582 0 outer loop - vertex -15.9604 -37.5428 -0.1 + vertex -15.9604 -37.5428 -0.2 vertex -15.9316 -37.6764 0 - vertex -15.9316 -37.6764 -0.1 + vertex -15.9316 -37.6764 -0.2 endloop endfacet facet normal 0.998424 0.0561231 0 outer loop vertex -15.9604 -37.5428 0 - vertex -15.9675 -37.4163 -0.1 + vertex -15.9675 -37.4163 -0.2 vertex -15.9675 -37.4163 0 endloop endfacet facet normal 0.998424 0.0561231 0 outer loop - vertex -15.9675 -37.4163 -0.1 + vertex -15.9675 -37.4163 -0.2 vertex -15.9604 -37.5428 0 - vertex -15.9604 -37.5428 -0.1 + vertex -15.9604 -37.5428 -0.2 endloop endfacet facet normal 0.991334 -0.131364 0 outer loop vertex -15.9675 -37.4163 0 - vertex -15.9511 -37.293 -0.1 + vertex -15.9511 -37.293 -0.2 vertex -15.9511 -37.293 0 endloop endfacet facet normal 0.991334 -0.131364 0 outer loop - vertex -15.9511 -37.293 -0.1 + vertex -15.9511 -37.293 -0.2 vertex -15.9675 -37.4163 0 - vertex -15.9675 -37.4163 -0.1 + vertex -15.9675 -37.4163 -0.2 endloop endfacet facet normal 0.94832 -0.317316 0 outer loop vertex -15.9511 -37.293 0 - vertex -15.9096 -37.1689 -0.1 + vertex -15.9096 -37.1689 -0.2 vertex -15.9096 -37.1689 0 endloop endfacet facet normal 0.94832 -0.317316 0 outer loop - vertex -15.9096 -37.1689 -0.1 + vertex -15.9096 -37.1689 -0.2 vertex -15.9511 -37.293 0 - vertex -15.9511 -37.293 -0.1 + vertex -15.9511 -37.293 -0.2 endloop endfacet facet normal 0.883259 -0.468885 0 outer loop vertex -15.9096 -37.1689 0 - vertex -15.8411 -37.0399 -0.1 + vertex -15.8411 -37.0399 -0.2 vertex -15.8411 -37.0399 0 endloop endfacet facet normal 0.883259 -0.468885 0 outer loop - vertex -15.8411 -37.0399 -0.1 + vertex -15.8411 -37.0399 -0.2 vertex -15.9096 -37.1689 0 - vertex -15.9096 -37.1689 -0.1 + vertex -15.9096 -37.1689 -0.2 endloop endfacet facet normal 0.817454 -0.575994 0 outer loop vertex -15.8411 -37.0399 0 - vertex -15.7439 -36.902 -0.1 + vertex -15.7439 -36.902 -0.2 vertex -15.7439 -36.902 0 endloop endfacet facet normal 0.817454 -0.575994 0 outer loop - vertex -15.7439 -36.902 -0.1 + vertex -15.7439 -36.902 -0.2 vertex -15.8411 -37.0399 0 - vertex -15.8411 -37.0399 -0.1 + vertex -15.8411 -37.0399 -0.2 endloop endfacet facet normal 0.742584 -0.669753 0 outer loop vertex -15.7439 -36.902 0 - vertex -15.4564 -36.5832 -0.1 + vertex -15.4564 -36.5832 -0.2 vertex -15.4564 -36.5832 0 endloop endfacet facet normal 0.742584 -0.669753 0 outer loop - vertex -15.4564 -36.5832 -0.1 + vertex -15.4564 -36.5832 -0.2 vertex -15.7439 -36.902 0 - vertex -15.7439 -36.902 -0.1 + vertex -15.7439 -36.902 -0.2 endloop endfacet facet normal 0.654929 -0.755691 0 outer loop - vertex -15.4564 -36.5832 -0.1 + vertex -15.4564 -36.5832 -0.2 vertex -15.1813 -36.3448 0 vertex -15.4564 -36.5832 0 endloop @@ -17341,13 +17341,13 @@ solid OpenSCAD_Model facet normal 0.654929 -0.755691 0 outer loop vertex -15.1813 -36.3448 0 - vertex -15.4564 -36.5832 -0.1 - vertex -15.1813 -36.3448 -0.1 + vertex -15.4564 -36.5832 -0.2 + vertex -15.1813 -36.3448 -0.2 endloop endfacet facet normal 0.547883 -0.836555 0 outer loop - vertex -15.1813 -36.3448 -0.1 + vertex -15.1813 -36.3448 -0.2 vertex -14.8831 -36.1495 0 vertex -15.1813 -36.3448 0 endloop @@ -17355,13 +17355,13 @@ solid OpenSCAD_Model facet normal 0.547883 -0.836555 0 outer loop vertex -14.8831 -36.1495 0 - vertex -15.1813 -36.3448 -0.1 - vertex -14.8831 -36.1495 -0.1 + vertex -15.1813 -36.3448 -0.2 + vertex -14.8831 -36.1495 -0.2 endloop endfacet facet normal 0.419801 -0.907616 0 outer loop - vertex -14.8831 -36.1495 -0.1 + vertex -14.8831 -36.1495 -0.2 vertex -14.5979 -36.0176 0 vertex -14.8831 -36.1495 0 endloop @@ -17369,13 +17369,13 @@ solid OpenSCAD_Model facet normal 0.419801 -0.907616 0 outer loop vertex -14.5979 -36.0176 0 - vertex -14.8831 -36.1495 -0.1 - vertex -14.5979 -36.0176 -0.1 + vertex -14.8831 -36.1495 -0.2 + vertex -14.5979 -36.0176 -0.2 endloop endfacet facet normal 0.273076 -0.961992 0 outer loop - vertex -14.5979 -36.0176 -0.1 + vertex -14.5979 -36.0176 -0.2 vertex -14.4713 -35.9816 0 vertex -14.5979 -36.0176 0 endloop @@ -17383,13 +17383,13 @@ solid OpenSCAD_Model facet normal 0.273076 -0.961992 0 outer loop vertex -14.4713 -35.9816 0 - vertex -14.5979 -36.0176 -0.1 - vertex -14.4713 -35.9816 -0.1 + vertex -14.5979 -36.0176 -0.2 + vertex -14.4713 -35.9816 -0.2 endloop endfacet facet normal 0.113362 -0.993554 0 outer loop - vertex -14.4713 -35.9816 -0.1 + vertex -14.4713 -35.9816 -0.2 vertex -14.3614 -35.9691 0 vertex -14.4713 -35.9816 0 endloop @@ -17397,13 +17397,13 @@ solid OpenSCAD_Model facet normal 0.113362 -0.993554 0 outer loop vertex -14.3614 -35.9691 0 - vertex -14.4713 -35.9816 -0.1 - vertex -14.3614 -35.9691 -0.1 + vertex -14.4713 -35.9816 -0.2 + vertex -14.3614 -35.9691 -0.2 endloop endfacet facet normal 0.0894161 -0.995994 0 outer loop - vertex -14.3614 -35.9691 -0.1 + vertex -14.3614 -35.9691 -0.2 vertex -14.1999 -35.9546 0 vertex -14.3614 -35.9691 0 endloop @@ -17411,13 +17411,13 @@ solid OpenSCAD_Model facet normal 0.0894161 -0.995994 0 outer loop vertex -14.1999 -35.9546 0 - vertex -14.3614 -35.9691 -0.1 - vertex -14.1999 -35.9546 -0.1 + vertex -14.3614 -35.9691 -0.2 + vertex -14.1999 -35.9546 -0.2 endloop endfacet facet normal 0.259204 -0.965823 0 outer loop - vertex -14.1999 -35.9546 -0.1 + vertex -14.1999 -35.9546 -0.2 vertex -14.0373 -35.911 0 vertex -14.1999 -35.9546 0 endloop @@ -17425,13 +17425,13 @@ solid OpenSCAD_Model facet normal 0.259204 -0.965823 0 outer loop vertex -14.0373 -35.911 0 - vertex -14.1999 -35.9546 -0.1 - vertex -14.0373 -35.911 -0.1 + vertex -14.1999 -35.9546 -0.2 + vertex -14.0373 -35.911 -0.2 endloop endfacet facet normal 0.406893 -0.913476 0 outer loop - vertex -14.0373 -35.911 -0.1 + vertex -14.0373 -35.911 -0.2 vertex -13.8736 -35.838 0 vertex -14.0373 -35.911 0 endloop @@ -17439,13 +17439,13 @@ solid OpenSCAD_Model facet normal 0.406893 -0.913476 0 outer loop vertex -13.8736 -35.838 0 - vertex -14.0373 -35.911 -0.1 - vertex -13.8736 -35.838 -0.1 + vertex -14.0373 -35.911 -0.2 + vertex -13.8736 -35.838 -0.2 endloop endfacet facet normal 0.527319 -0.849667 0 outer loop - vertex -13.8736 -35.838 -0.1 + vertex -13.8736 -35.838 -0.2 vertex -13.7085 -35.7356 0 vertex -13.8736 -35.838 0 endloop @@ -17453,13 +17453,13 @@ solid OpenSCAD_Model facet normal 0.527319 -0.849667 0 outer loop vertex -13.7085 -35.7356 0 - vertex -13.8736 -35.838 -0.1 - vertex -13.7085 -35.7356 -0.1 + vertex -13.8736 -35.838 -0.2 + vertex -13.7085 -35.7356 -0.2 endloop endfacet facet normal 0.621601 -0.783334 0 outer loop - vertex -13.7085 -35.7356 -0.1 + vertex -13.7085 -35.7356 -0.2 vertex -13.5421 -35.6036 0 vertex -13.7085 -35.7356 0 endloop @@ -17467,13 +17467,13 @@ solid OpenSCAD_Model facet normal 0.621601 -0.783334 0 outer loop vertex -13.5421 -35.6036 0 - vertex -13.7085 -35.7356 -0.1 - vertex -13.5421 -35.6036 -0.1 + vertex -13.7085 -35.7356 -0.2 + vertex -13.5421 -35.6036 -0.2 endloop endfacet facet normal 0.693973 -0.720001 0 outer loop - vertex -13.5421 -35.6036 -0.1 + vertex -13.5421 -35.6036 -0.2 vertex -13.3741 -35.4417 0 vertex -13.5421 -35.6036 0 endloop @@ -17481,237 +17481,237 @@ solid OpenSCAD_Model facet normal 0.693973 -0.720001 0 outer loop vertex -13.3741 -35.4417 0 - vertex -13.5421 -35.6036 -0.1 - vertex -13.3741 -35.4417 -0.1 + vertex -13.5421 -35.6036 -0.2 + vertex -13.3741 -35.4417 -0.2 endloop endfacet facet normal 0.74925 -0.662287 0 outer loop vertex -13.3741 -35.4417 0 - vertex -13.2045 -35.2497 -0.1 + vertex -13.2045 -35.2497 -0.2 vertex -13.2045 -35.2497 0 endloop endfacet facet normal 0.74925 -0.662287 0 outer loop - vertex -13.2045 -35.2497 -0.1 + vertex -13.2045 -35.2497 -0.2 vertex -13.3741 -35.4417 0 - vertex -13.3741 -35.4417 -0.1 + vertex -13.3741 -35.4417 -0.2 endloop endfacet facet normal 0.791599 -0.611041 0 outer loop vertex -13.2045 -35.2497 0 - vertex -13.0331 -35.0276 -0.1 + vertex -13.0331 -35.0276 -0.2 vertex -13.0331 -35.0276 0 endloop endfacet facet normal 0.791599 -0.611041 0 outer loop - vertex -13.0331 -35.0276 -0.1 + vertex -13.0331 -35.0276 -0.2 vertex -13.2045 -35.2497 0 - vertex -13.2045 -35.2497 -0.1 + vertex -13.2045 -35.2497 -0.2 endloop endfacet facet normal 0.837921 -0.545792 0 outer loop vertex -13.0331 -35.0276 0 - vertex -12.6843 -34.4922 -0.1 + vertex -12.6843 -34.4922 -0.2 vertex -12.6843 -34.4922 0 endloop endfacet facet normal 0.837921 -0.545792 0 outer loop - vertex -12.6843 -34.4922 -0.1 + vertex -12.6843 -34.4922 -0.2 vertex -13.0331 -35.0276 0 - vertex -13.0331 -35.0276 -0.1 + vertex -13.0331 -35.0276 -0.2 endloop endfacet facet normal 0.878782 -0.477224 0 outer loop vertex -12.6843 -34.4922 0 - vertex -12.3268 -33.8339 -0.1 + vertex -12.3268 -33.8339 -0.2 vertex -12.3268 -33.8339 0 endloop endfacet facet normal 0.878782 -0.477224 0 outer loop - vertex -12.3268 -33.8339 -0.1 + vertex -12.3268 -33.8339 -0.2 vertex -12.6843 -34.4922 0 - vertex -12.6843 -34.4922 -0.1 + vertex -12.6843 -34.4922 -0.2 endloop endfacet facet normal 0.905274 -0.424829 0 outer loop vertex -12.3268 -33.8339 0 - vertex -11.9595 -33.0513 -0.1 + vertex -11.9595 -33.0513 -0.2 vertex -11.9595 -33.0513 0 endloop endfacet facet normal 0.905274 -0.424829 0 outer loop - vertex -11.9595 -33.0513 -0.1 + vertex -11.9595 -33.0513 -0.2 vertex -12.3268 -33.8339 0 - vertex -12.3268 -33.8339 -0.1 + vertex -12.3268 -33.8339 -0.2 endloop endfacet facet normal 0.923227 -0.384256 0 outer loop vertex -11.9595 -33.0513 0 - vertex -11.5815 -32.143 -0.1 + vertex -11.5815 -32.143 -0.2 vertex -11.5815 -32.143 0 endloop endfacet facet normal 0.923227 -0.384256 0 outer loop - vertex -11.5815 -32.143 -0.1 + vertex -11.5815 -32.143 -0.2 vertex -11.9595 -33.0513 0 - vertex -11.9595 -33.0513 -0.1 + vertex -11.9595 -33.0513 -0.2 endloop endfacet facet normal 0.927789 -0.373105 0 outer loop vertex -11.5815 -32.143 0 - vertex -9.5401 -27.0667 -0.1 + vertex -9.5401 -27.0667 -0.2 vertex -9.5401 -27.0667 0 endloop endfacet facet normal 0.927789 -0.373105 0 outer loop - vertex -9.5401 -27.0667 -0.1 + vertex -9.5401 -27.0667 -0.2 vertex -11.5815 -32.143 0 - vertex -11.5815 -32.143 -0.1 + vertex -11.5815 -32.143 -0.2 endloop endfacet facet normal 0.931122 -0.364709 0 outer loop vertex -9.5401 -27.0667 0 - vertex -9.05502 -25.8283 -0.1 + vertex -9.05502 -25.8283 -0.2 vertex -9.05502 -25.8283 0 endloop endfacet facet normal 0.931122 -0.364709 0 outer loop - vertex -9.05502 -25.8283 -0.1 + vertex -9.05502 -25.8283 -0.2 vertex -9.5401 -27.0667 0 - vertex -9.5401 -27.0667 -0.1 + vertex -9.5401 -27.0667 -0.2 endloop endfacet facet normal 0.946626 -0.322334 0 outer loop vertex -9.05502 -25.8283 0 - vertex -8.71232 -24.8218 -0.1 + vertex -8.71232 -24.8218 -0.2 vertex -8.71232 -24.8218 0 endloop endfacet facet normal 0.946626 -0.322334 0 outer loop - vertex -8.71232 -24.8218 -0.1 + vertex -8.71232 -24.8218 -0.2 vertex -9.05502 -25.8283 0 - vertex -9.05502 -25.8283 -0.1 + vertex -9.05502 -25.8283 -0.2 endloop endfacet facet normal 0.963249 -0.26861 0 outer loop vertex -8.71232 -24.8218 0 - vertex -8.59455 -24.3995 -0.1 + vertex -8.59455 -24.3995 -0.2 vertex -8.59455 -24.3995 0 endloop endfacet facet normal 0.963249 -0.26861 0 outer loop - vertex -8.59455 -24.3995 -0.1 + vertex -8.59455 -24.3995 -0.2 vertex -8.71232 -24.8218 0 - vertex -8.71232 -24.8218 -0.1 + vertex -8.71232 -24.8218 -0.2 endloop endfacet facet normal 0.976543 -0.215323 0 outer loop vertex -8.59455 -24.3995 0 - vertex -8.51259 -24.0278 -0.1 + vertex -8.51259 -24.0278 -0.2 vertex -8.51259 -24.0278 0 endloop endfacet facet normal 0.976543 -0.215323 0 outer loop - vertex -8.51259 -24.0278 -0.1 + vertex -8.51259 -24.0278 -0.2 vertex -8.59455 -24.3995 0 - vertex -8.59455 -24.3995 -0.1 + vertex -8.59455 -24.3995 -0.2 endloop endfacet facet normal 0.990015 -0.140965 0 outer loop vertex -8.51259 -24.0278 0 - vertex -8.46654 -23.7044 -0.1 + vertex -8.46654 -23.7044 -0.2 vertex -8.46654 -23.7044 0 endloop endfacet facet normal 0.990015 -0.140965 0 outer loop - vertex -8.46654 -23.7044 -0.1 + vertex -8.46654 -23.7044 -0.2 vertex -8.51259 -24.0278 0 - vertex -8.51259 -24.0278 -0.1 + vertex -8.51259 -24.0278 -0.2 endloop endfacet facet normal 0.999341 -0.0362924 0 outer loop vertex -8.46654 -23.7044 0 - vertex -8.45645 -23.4267 -0.1 + vertex -8.45645 -23.4267 -0.2 vertex -8.45645 -23.4267 0 endloop endfacet facet normal 0.999341 -0.0362924 0 outer loop - vertex -8.45645 -23.4267 -0.1 + vertex -8.45645 -23.4267 -0.2 vertex -8.46654 -23.7044 0 - vertex -8.46654 -23.7044 -0.1 + vertex -8.46654 -23.7044 -0.2 endloop endfacet facet normal 0.993917 0.110127 0 outer loop vertex -8.45645 -23.4267 0 - vertex -8.48242 -23.1923 -0.1 + vertex -8.48242 -23.1923 -0.2 vertex -8.48242 -23.1923 0 endloop endfacet facet normal 0.993917 0.110127 0 outer loop - vertex -8.48242 -23.1923 -0.1 + vertex -8.48242 -23.1923 -0.2 vertex -8.45645 -23.4267 0 - vertex -8.45645 -23.4267 -0.1 + vertex -8.45645 -23.4267 -0.2 endloop endfacet facet normal 0.952162 0.305593 0 outer loop vertex -8.48242 -23.1923 0 - vertex -8.54451 -22.9989 -0.1 + vertex -8.54451 -22.9989 -0.2 vertex -8.54451 -22.9989 0 endloop endfacet facet normal 0.952162 0.305593 0 outer loop - vertex -8.54451 -22.9989 -0.1 + vertex -8.54451 -22.9989 -0.2 vertex -8.48242 -23.1923 0 - vertex -8.48242 -23.1923 -0.1 + vertex -8.48242 -23.1923 -0.2 endloop endfacet facet normal 0.844525 0.535516 0 outer loop vertex -8.54451 -22.9989 0 - vertex -8.64279 -22.8439 -0.1 + vertex -8.64279 -22.8439 -0.2 vertex -8.64279 -22.8439 0 endloop endfacet facet normal 0.844525 0.535516 0 outer loop - vertex -8.64279 -22.8439 -0.1 + vertex -8.64279 -22.8439 -0.2 vertex -8.54451 -22.9989 0 - vertex -8.54451 -22.9989 -0.1 + vertex -8.54451 -22.9989 -0.2 endloop endfacet facet normal 0.662463 0.749095 -0 outer loop - vertex -8.64279 -22.8439 -0.1 + vertex -8.64279 -22.8439 -0.2 vertex -8.77736 -22.7249 0 vertex -8.64279 -22.8439 0 endloop @@ -17719,13 +17719,13 @@ solid OpenSCAD_Model facet normal 0.662463 0.749095 0 outer loop vertex -8.77736 -22.7249 0 - vertex -8.64279 -22.8439 -0.1 - vertex -8.77736 -22.7249 -0.1 + vertex -8.64279 -22.8439 -0.2 + vertex -8.77736 -22.7249 -0.2 endloop endfacet facet normal 0.447148 0.89446 -0 outer loop - vertex -8.77736 -22.7249 -0.1 + vertex -8.77736 -22.7249 -0.2 vertex -8.94827 -22.6394 0 vertex -8.77736 -22.7249 0 endloop @@ -17733,13 +17733,13 @@ solid OpenSCAD_Model facet normal 0.447148 0.89446 0 outer loop vertex -8.94827 -22.6394 0 - vertex -8.77736 -22.7249 -0.1 - vertex -8.94827 -22.6394 -0.1 + vertex -8.77736 -22.7249 -0.2 + vertex -8.94827 -22.6394 -0.2 endloop endfacet facet normal 0.253452 0.967348 -0 outer loop - vertex -8.94827 -22.6394 -0.1 + vertex -8.94827 -22.6394 -0.2 vertex -9.15561 -22.5851 0 vertex -8.94827 -22.6394 0 endloop @@ -17747,13 +17747,13 @@ solid OpenSCAD_Model facet normal 0.253452 0.967348 0 outer loop vertex -9.15561 -22.5851 0 - vertex -8.94827 -22.6394 -0.1 - vertex -9.15561 -22.5851 -0.1 + vertex -8.94827 -22.6394 -0.2 + vertex -9.15561 -22.5851 -0.2 endloop endfacet facet normal 0.104613 0.994513 -0 outer loop - vertex -9.15561 -22.5851 -0.1 + vertex -9.15561 -22.5851 -0.2 vertex -9.39946 -22.5595 0 vertex -9.15561 -22.5851 0 endloop @@ -17761,13 +17761,13 @@ solid OpenSCAD_Model facet normal 0.104613 0.994513 0 outer loop vertex -9.39946 -22.5595 0 - vertex -9.15561 -22.5851 -0.1 - vertex -9.39946 -22.5595 -0.1 + vertex -9.15561 -22.5851 -0.2 + vertex -9.39946 -22.5595 -0.2 endloop endfacet facet normal -0.0020677 0.999998 0 outer loop - vertex -9.39946 -22.5595 -0.1 + vertex -9.39946 -22.5595 -0.2 vertex -9.67988 -22.56 0 vertex -9.39946 -22.5595 0 endloop @@ -17775,13 +17775,13 @@ solid OpenSCAD_Model facet normal -0.0020677 0.999998 0 outer loop vertex -9.67988 -22.56 0 - vertex -9.39946 -22.5595 -0.1 - vertex -9.67988 -22.56 -0.1 + vertex -9.39946 -22.5595 -0.2 + vertex -9.67988 -22.56 -0.2 endloop endfacet facet normal -0.129535 0.991575 0 outer loop - vertex -9.67988 -22.56 -0.1 + vertex -9.67988 -22.56 -0.2 vertex -10.0796 -22.6123 0 vertex -9.67988 -22.56 0 endloop @@ -17789,13 +17789,13 @@ solid OpenSCAD_Model facet normal -0.129535 0.991575 0 outer loop vertex -10.0796 -22.6123 0 - vertex -9.67988 -22.56 -0.1 - vertex -10.0796 -22.6123 -0.1 + vertex -9.67988 -22.56 -0.2 + vertex -10.0796 -22.6123 -0.2 endloop endfacet facet normal -0.24491 0.969546 0 outer loop - vertex -10.0796 -22.6123 -0.1 + vertex -10.0796 -22.6123 -0.2 vertex -10.5344 -22.7271 0 vertex -10.0796 -22.6123 0 endloop @@ -17803,13 +17803,13 @@ solid OpenSCAD_Model facet normal -0.24491 0.969546 0 outer loop vertex -10.5344 -22.7271 0 - vertex -10.0796 -22.6123 -0.1 - vertex -10.5344 -22.7271 -0.1 + vertex -10.0796 -22.6123 -0.2 + vertex -10.5344 -22.7271 -0.2 endloop endfacet facet normal -0.333557 0.94273 0 outer loop - vertex -10.5344 -22.7271 -0.1 + vertex -10.5344 -22.7271 -0.2 vertex -10.9881 -22.8877 0 vertex -10.5344 -22.7271 0 endloop @@ -17817,13 +17817,13 @@ solid OpenSCAD_Model facet normal -0.333557 0.94273 0 outer loop vertex -10.9881 -22.8877 0 - vertex -10.5344 -22.7271 -0.1 - vertex -10.9881 -22.8877 -0.1 + vertex -10.5344 -22.7271 -0.2 + vertex -10.9881 -22.8877 -0.2 endloop endfacet facet normal -0.430494 0.902594 0 outer loop - vertex -10.9881 -22.8877 -0.1 + vertex -10.9881 -22.8877 -0.2 vertex -11.3849 -23.0769 0 vertex -10.9881 -22.8877 0 endloop @@ -17831,13 +17831,13 @@ solid OpenSCAD_Model facet normal -0.430494 0.902594 0 outer loop vertex -11.3849 -23.0769 0 - vertex -10.9881 -22.8877 -0.1 - vertex -11.3849 -23.0769 -0.1 + vertex -10.9881 -22.8877 -0.2 + vertex -11.3849 -23.0769 -0.2 endloop endfacet facet normal -0.511004 0.859578 0 outer loop - vertex -11.3849 -23.0769 -0.1 + vertex -11.3849 -23.0769 -0.2 vertex -11.9359 -23.4045 0 vertex -11.3849 -23.0769 0 endloop @@ -17845,13 +17845,13 @@ solid OpenSCAD_Model facet normal -0.511004 0.859578 0 outer loop vertex -11.9359 -23.4045 0 - vertex -11.3849 -23.0769 -0.1 - vertex -11.9359 -23.4045 -0.1 + vertex -11.3849 -23.0769 -0.2 + vertex -11.9359 -23.4045 -0.2 endloop endfacet facet normal -0.561997 0.827139 0 outer loop - vertex -11.9359 -23.4045 -0.1 + vertex -11.9359 -23.4045 -0.2 vertex -12.4007 -23.7203 0 vertex -11.9359 -23.4045 0 endloop @@ -17859,13 +17859,13 @@ solid OpenSCAD_Model facet normal -0.561997 0.827139 0 outer loop vertex -12.4007 -23.7203 0 - vertex -11.9359 -23.4045 -0.1 - vertex -12.4007 -23.7203 -0.1 + vertex -11.9359 -23.4045 -0.2 + vertex -12.4007 -23.7203 -0.2 endloop endfacet facet normal -0.632295 0.774728 0 outer loop - vertex -12.4007 -23.7203 -0.1 + vertex -12.4007 -23.7203 -0.2 vertex -12.7941 -24.0414 0 vertex -12.4007 -23.7203 0 endloop @@ -17873,237 +17873,237 @@ solid OpenSCAD_Model facet normal -0.632295 0.774728 0 outer loop vertex -12.7941 -24.0414 0 - vertex -12.4007 -23.7203 -0.1 - vertex -12.7941 -24.0414 -0.1 + vertex -12.4007 -23.7203 -0.2 + vertex -12.7941 -24.0414 -0.2 endloop endfacet facet normal -0.713871 0.700277 0 outer loop - vertex -13.131 -24.3848 -0.1 + vertex -13.131 -24.3848 -0.2 vertex -12.7941 -24.0414 0 - vertex -12.7941 -24.0414 -0.1 + vertex -12.7941 -24.0414 -0.2 endloop endfacet facet normal -0.713871 0.700277 0 outer loop vertex -12.7941 -24.0414 0 - vertex -13.131 -24.3848 -0.1 + vertex -13.131 -24.3848 -0.2 vertex -13.131 -24.3848 0 endloop endfacet facet normal -0.791901 0.61065 0 outer loop - vertex -13.4262 -24.7676 -0.1 + vertex -13.4262 -24.7676 -0.2 vertex -13.131 -24.3848 0 - vertex -13.131 -24.3848 -0.1 + vertex -13.131 -24.3848 -0.2 endloop endfacet facet normal -0.791901 0.61065 0 outer loop vertex -13.131 -24.3848 0 - vertex -13.4262 -24.7676 -0.1 + vertex -13.4262 -24.7676 -0.2 vertex -13.4262 -24.7676 0 endloop endfacet facet normal -0.853364 0.521315 0 outer loop - vertex -13.6945 -25.2068 -0.1 + vertex -13.6945 -25.2068 -0.2 vertex -13.4262 -24.7676 0 - vertex -13.4262 -24.7676 -0.1 + vertex -13.4262 -24.7676 -0.2 endloop endfacet facet normal -0.853364 0.521315 0 outer loop vertex -13.4262 -24.7676 0 - vertex -13.6945 -25.2068 -0.1 + vertex -13.6945 -25.2068 -0.2 vertex -13.6945 -25.2068 0 endloop endfacet facet normal -0.894467 0.447134 0 outer loop - vertex -13.9508 -25.7195 -0.1 + vertex -13.9508 -25.7195 -0.2 vertex -13.6945 -25.2068 0 - vertex -13.6945 -25.2068 -0.1 + vertex -13.6945 -25.2068 -0.2 endloop endfacet facet normal -0.894467 0.447134 0 outer loop vertex -13.6945 -25.2068 0 - vertex -13.9508 -25.7195 -0.1 + vertex -13.9508 -25.7195 -0.2 vertex -13.9508 -25.7195 0 endloop endfacet facet normal -0.918824 0.394667 0 outer loop - vertex -14.2098 -26.3227 -0.1 + vertex -14.2098 -26.3227 -0.2 vertex -13.9508 -25.7195 0 - vertex -13.9508 -25.7195 -0.1 + vertex -13.9508 -25.7195 -0.2 endloop endfacet facet normal -0.918824 0.394667 0 outer loop vertex -13.9508 -25.7195 0 - vertex -14.2098 -26.3227 -0.1 + vertex -14.2098 -26.3227 -0.2 vertex -14.2098 -26.3227 0 endloop endfacet facet normal -0.926196 0.377042 0 outer loop - vertex -15.3777 -29.1914 -0.1 + vertex -15.3777 -29.1914 -0.2 vertex -14.2098 -26.3227 0 - vertex -14.2098 -26.3227 -0.1 + vertex -14.2098 -26.3227 -0.2 endloop endfacet facet normal -0.926196 0.377042 0 outer loop vertex -14.2098 -26.3227 0 - vertex -15.3777 -29.1914 -0.1 + vertex -15.3777 -29.1914 -0.2 vertex -15.3777 -29.1914 0 endloop endfacet facet normal -0.925675 0.37832 0 outer loop - vertex -16.8163 -32.7116 -0.1 + vertex -16.8163 -32.7116 -0.2 vertex -15.3777 -29.1914 0 - vertex -15.3777 -29.1914 -0.1 + vertex -15.3777 -29.1914 -0.2 endloop endfacet facet normal -0.925675 0.37832 0 outer loop vertex -15.3777 -29.1914 0 - vertex -16.8163 -32.7116 -0.1 + vertex -16.8163 -32.7116 -0.2 vertex -16.8163 -32.7116 0 endloop endfacet facet normal -0.928735 0.370745 0 outer loop - vertex -17.1674 -33.591 -0.1 + vertex -17.1674 -33.591 -0.2 vertex -16.8163 -32.7116 0 - vertex -16.8163 -32.7116 -0.1 + vertex -16.8163 -32.7116 -0.2 endloop endfacet facet normal -0.928735 0.370745 0 outer loop vertex -16.8163 -32.7116 0 - vertex -17.1674 -33.591 -0.1 + vertex -17.1674 -33.591 -0.2 vertex -17.1674 -33.591 0 endloop endfacet facet normal -0.937631 0.347632 0 outer loop - vertex -17.4329 -34.3072 -0.1 + vertex -17.4329 -34.3072 -0.2 vertex -17.1674 -33.591 0 - vertex -17.1674 -33.591 -0.1 + vertex -17.1674 -33.591 -0.2 endloop endfacet facet normal -0.937631 0.347632 0 outer loop vertex -17.1674 -33.591 0 - vertex -17.4329 -34.3072 -0.1 + vertex -17.4329 -34.3072 -0.2 vertex -17.4329 -34.3072 0 endloop endfacet facet normal -0.951989 0.306132 0 outer loop - vertex -17.6153 -34.8741 -0.1 + vertex -17.6153 -34.8741 -0.2 vertex -17.4329 -34.3072 0 - vertex -17.4329 -34.3072 -0.1 + vertex -17.4329 -34.3072 -0.2 endloop endfacet facet normal -0.951989 0.306132 0 outer loop vertex -17.4329 -34.3072 0 - vertex -17.6153 -34.8741 -0.1 + vertex -17.6153 -34.8741 -0.2 vertex -17.6153 -34.8741 0 endloop endfacet facet normal -0.973485 0.228749 0 outer loop - vertex -17.7168 -35.3062 -0.1 + vertex -17.7168 -35.3062 -0.2 vertex -17.6153 -34.8741 0 - vertex -17.6153 -34.8741 -0.1 + vertex -17.6153 -34.8741 -0.2 endloop endfacet facet normal -0.973485 0.228749 0 outer loop vertex -17.6153 -34.8741 0 - vertex -17.7168 -35.3062 -0.1 + vertex -17.7168 -35.3062 -0.2 vertex -17.7168 -35.3062 0 endloop endfacet facet normal -0.992299 0.123865 0 outer loop - vertex -17.738 -35.4761 -0.1 + vertex -17.738 -35.4761 -0.2 vertex -17.7168 -35.3062 0 - vertex -17.7168 -35.3062 -0.1 + vertex -17.7168 -35.3062 -0.2 endloop endfacet facet normal -0.992299 0.123865 0 outer loop vertex -17.7168 -35.3062 0 - vertex -17.738 -35.4761 -0.1 + vertex -17.738 -35.4761 -0.2 vertex -17.738 -35.4761 0 endloop endfacet facet normal -0.99991 0.0134015 0 outer loop - vertex -17.7399 -35.6175 -0.1 + vertex -17.7399 -35.6175 -0.2 vertex -17.738 -35.4761 0 - vertex -17.738 -35.4761 -0.1 + vertex -17.738 -35.4761 -0.2 endloop endfacet facet normal -0.99991 0.0134015 0 outer loop vertex -17.738 -35.4761 0 - vertex -17.7399 -35.6175 -0.1 + vertex -17.7399 -35.6175 -0.2 vertex -17.7399 -35.6175 0 endloop endfacet facet normal -0.989073 -0.147424 0 outer loop - vertex -17.7228 -35.7323 -0.1 + vertex -17.7228 -35.7323 -0.2 vertex -17.7399 -35.6175 0 - vertex -17.7399 -35.6175 -0.1 + vertex -17.7399 -35.6175 -0.2 endloop endfacet facet normal -0.989073 -0.147424 0 outer loop vertex -17.7399 -35.6175 0 - vertex -17.7228 -35.7323 -0.1 + vertex -17.7228 -35.7323 -0.2 vertex -17.7228 -35.7323 0 endloop endfacet facet normal -0.929053 -0.369947 0 outer loop - vertex -17.6869 -35.8223 -0.1 + vertex -17.6869 -35.8223 -0.2 vertex -17.7228 -35.7323 0 - vertex -17.7228 -35.7323 -0.1 + vertex -17.7228 -35.7323 -0.2 endloop endfacet facet normal -0.929053 -0.369947 0 outer loop vertex -17.7228 -35.7323 0 - vertex -17.6869 -35.8223 -0.1 + vertex -17.6869 -35.8223 -0.2 vertex -17.6869 -35.8223 0 endloop endfacet facet normal -0.776679 -0.629897 0 outer loop - vertex -17.6327 -35.8892 -0.1 + vertex -17.6327 -35.8892 -0.2 vertex -17.6869 -35.8223 0 - vertex -17.6869 -35.8223 -0.1 + vertex -17.6869 -35.8223 -0.2 endloop endfacet facet normal -0.776679 -0.629897 0 outer loop vertex -17.6869 -35.8223 0 - vertex -17.6327 -35.8892 -0.1 + vertex -17.6327 -35.8892 -0.2 vertex -17.6327 -35.8892 0 endloop endfacet facet normal -0.532937 -0.846155 0 outer loop - vertex -17.6327 -35.8892 -0.1 + vertex -17.6327 -35.8892 -0.2 vertex -17.5603 -35.9348 0 vertex -17.6327 -35.8892 0 endloop @@ -18111,13 +18111,13 @@ solid OpenSCAD_Model facet normal -0.532937 -0.846155 -0 outer loop vertex -17.5603 -35.9348 0 - vertex -17.6327 -35.8892 -0.1 - vertex -17.5603 -35.9348 -0.1 + vertex -17.6327 -35.8892 -0.2 + vertex -17.5603 -35.9348 -0.2 endloop endfacet facet normal -0.277484 -0.96073 0 outer loop - vertex -17.5603 -35.9348 -0.1 + vertex -17.5603 -35.9348 -0.2 vertex -17.4702 -35.9608 0 vertex -17.5603 -35.9348 0 endloop @@ -18125,13 +18125,13 @@ solid OpenSCAD_Model facet normal -0.277484 -0.96073 -0 outer loop vertex -17.4702 -35.9608 0 - vertex -17.5603 -35.9348 -0.1 - vertex -17.4702 -35.9608 -0.1 + vertex -17.5603 -35.9348 -0.2 + vertex -17.4702 -35.9608 -0.2 endloop endfacet facet normal -0.0767033 -0.997054 0 outer loop - vertex -17.4702 -35.9608 -0.1 + vertex -17.4702 -35.9608 -0.2 vertex -17.3625 -35.9691 0 vertex -17.4702 -35.9608 0 endloop @@ -18139,13 +18139,13 @@ solid OpenSCAD_Model facet normal -0.0767033 -0.997054 -0 outer loop vertex -17.3625 -35.9691 0 - vertex -17.4702 -35.9608 -0.1 - vertex -17.3625 -35.9691 -0.1 + vertex -17.4702 -35.9608 -0.2 + vertex -17.3625 -35.9691 -0.2 endloop endfacet facet normal -0.0829709 -0.996552 0 outer loop - vertex -17.3625 -35.9691 -0.1 + vertex -17.3625 -35.9691 -0.2 vertex -17.1493 -35.9869 0 vertex -17.3625 -35.9691 0 endloop @@ -18153,13 +18153,13 @@ solid OpenSCAD_Model facet normal -0.0829709 -0.996552 -0 outer loop vertex -17.1493 -35.9869 0 - vertex -17.3625 -35.9691 -0.1 - vertex -17.1493 -35.9869 -0.1 + vertex -17.3625 -35.9691 -0.2 + vertex -17.1493 -35.9869 -0.2 endloop endfacet facet normal -0.234852 -0.972031 0 outer loop - vertex -17.1493 -35.9869 -0.1 + vertex -17.1493 -35.9869 -0.2 vertex -16.942 -36.0369 0 vertex -17.1493 -35.9869 0 endloop @@ -18167,13 +18167,13 @@ solid OpenSCAD_Model facet normal -0.234852 -0.972031 -0 outer loop vertex -16.942 -36.0369 0 - vertex -17.1493 -35.9869 -0.1 - vertex -16.942 -36.0369 -0.1 + vertex -17.1493 -35.9869 -0.2 + vertex -16.942 -36.0369 -0.2 endloop endfacet facet normal -0.371048 -0.928614 0 outer loop - vertex -16.942 -36.0369 -0.1 + vertex -16.942 -36.0369 -0.2 vertex -16.7476 -36.1146 0 vertex -16.942 -36.0369 0 endloop @@ -18181,13 +18181,13 @@ solid OpenSCAD_Model facet normal -0.371048 -0.928614 -0 outer loop vertex -16.7476 -36.1146 0 - vertex -16.942 -36.0369 -0.1 - vertex -16.7476 -36.1146 -0.1 + vertex -16.942 -36.0369 -0.2 + vertex -16.7476 -36.1146 -0.2 endloop endfacet facet normal -0.499006 -0.866599 0 outer loop - vertex -16.7476 -36.1146 -0.1 + vertex -16.7476 -36.1146 -0.2 vertex -16.5729 -36.2152 0 vertex -16.7476 -36.1146 0 endloop @@ -18195,13 +18195,13 @@ solid OpenSCAD_Model facet normal -0.499006 -0.866599 -0 outer loop vertex -16.5729 -36.2152 0 - vertex -16.7476 -36.1146 -0.1 - vertex -16.5729 -36.2152 -0.1 + vertex -16.7476 -36.1146 -0.2 + vertex -16.5729 -36.2152 -0.2 endloop endfacet facet normal -0.625925 -0.779883 0 outer loop - vertex -16.5729 -36.2152 -0.1 + vertex -16.5729 -36.2152 -0.2 vertex -16.4249 -36.334 0 vertex -16.5729 -36.2152 0 endloop @@ -18209,125 +18209,125 @@ solid OpenSCAD_Model facet normal -0.625925 -0.779883 -0 outer loop vertex -16.4249 -36.334 0 - vertex -16.5729 -36.2152 -0.1 - vertex -16.4249 -36.334 -0.1 + vertex -16.5729 -36.2152 -0.2 + vertex -16.4249 -36.334 -0.2 endloop endfacet facet normal -0.756453 -0.654048 0 outer loop - vertex -16.3106 -36.4662 -0.1 + vertex -16.3106 -36.4662 -0.2 vertex -16.4249 -36.334 0 - vertex -16.4249 -36.334 -0.1 + vertex -16.4249 -36.334 -0.2 endloop endfacet facet normal -0.756453 -0.654048 0 outer loop vertex -16.4249 -36.334 0 - vertex -16.3106 -36.4662 -0.1 + vertex -16.3106 -36.4662 -0.2 vertex -16.3106 -36.4662 0 endloop endfacet facet normal -0.886186 -0.46333 0 outer loop - vertex -16.237 -36.6071 -0.1 + vertex -16.237 -36.6071 -0.2 vertex -16.3106 -36.4662 0 - vertex -16.3106 -36.4662 -0.1 + vertex -16.3106 -36.4662 -0.2 endloop endfacet facet normal -0.886186 -0.46333 0 outer loop vertex -16.3106 -36.4662 0 - vertex -16.237 -36.6071 -0.1 + vertex -16.237 -36.6071 -0.2 vertex -16.237 -36.6071 0 endloop endfacet facet normal -0.984159 -0.177288 0 outer loop - vertex -16.2109 -36.752 -0.1 + vertex -16.2109 -36.752 -0.2 vertex -16.237 -36.6071 0 - vertex -16.237 -36.6071 -0.1 + vertex -16.237 -36.6071 -0.2 endloop endfacet facet normal -0.984159 -0.177288 0 outer loop vertex -16.237 -36.6071 0 - vertex -16.2109 -36.752 -0.1 + vertex -16.2109 -36.752 -0.2 vertex -16.2109 -36.752 0 endloop endfacet facet normal -0.97657 0.215201 0 outer loop - vertex -16.2485 -36.9225 -0.1 + vertex -16.2485 -36.9225 -0.2 vertex -16.2109 -36.752 0 - vertex -16.2109 -36.752 -0.1 + vertex -16.2109 -36.752 -0.2 endloop endfacet facet normal -0.97657 0.215201 0 outer loop vertex -16.2109 -36.752 0 - vertex -16.2485 -36.9225 -0.1 + vertex -16.2485 -36.9225 -0.2 vertex -16.2485 -36.9225 0 endloop endfacet facet normal -0.906917 0.42131 0 outer loop - vertex -16.3508 -37.1428 -0.1 + vertex -16.3508 -37.1428 -0.2 vertex -16.2485 -36.9225 0 - vertex -16.2485 -36.9225 -0.1 + vertex -16.2485 -36.9225 -0.2 endloop endfacet facet normal -0.906917 0.42131 0 outer loop vertex -16.2485 -36.9225 0 - vertex -16.3508 -37.1428 -0.1 + vertex -16.3508 -37.1428 -0.2 vertex -16.3508 -37.1428 0 endloop endfacet facet normal -0.847258 0.531182 0 outer loop - vertex -16.5023 -37.3844 -0.1 + vertex -16.5023 -37.3844 -0.2 vertex -16.3508 -37.1428 0 - vertex -16.3508 -37.1428 -0.1 + vertex -16.3508 -37.1428 -0.2 endloop endfacet facet normal -0.847258 0.531182 0 outer loop vertex -16.3508 -37.1428 0 - vertex -16.5023 -37.3844 -0.1 + vertex -16.5023 -37.3844 -0.2 vertex -16.5023 -37.3844 0 endloop endfacet facet normal -0.785088 0.619384 0 outer loop - vertex -16.6872 -37.6188 -0.1 + vertex -16.6872 -37.6188 -0.2 vertex -16.5023 -37.3844 0 - vertex -16.5023 -37.3844 -0.1 + vertex -16.5023 -37.3844 -0.2 endloop endfacet facet normal -0.785088 0.619384 0 outer loop vertex -16.5023 -37.3844 0 - vertex -16.6872 -37.6188 -0.1 + vertex -16.6872 -37.6188 -0.2 vertex -16.6872 -37.6188 0 endloop endfacet facet normal -0.731213 0.68215 0 outer loop - vertex -16.8516 -37.795 -0.1 + vertex -16.8516 -37.795 -0.2 vertex -16.6872 -37.6188 0 - vertex -16.6872 -37.6188 -0.1 + vertex -16.6872 -37.6188 -0.2 endloop endfacet facet normal -0.731213 0.68215 0 outer loop vertex -16.6872 -37.6188 0 - vertex -16.8516 -37.795 -0.1 + vertex -16.8516 -37.795 -0.2 vertex -16.8516 -37.795 0 endloop endfacet facet normal -0.615138 0.78842 0 outer loop - vertex -16.8516 -37.795 -0.1 + vertex -16.8516 -37.795 -0.2 vertex -17.0213 -37.9274 0 vertex -16.8516 -37.795 0 endloop @@ -18335,13 +18335,13 @@ solid OpenSCAD_Model facet normal -0.615138 0.78842 0 outer loop vertex -17.0213 -37.9274 0 - vertex -16.8516 -37.795 -0.1 - vertex -17.0213 -37.9274 -0.1 + vertex -16.8516 -37.795 -0.2 + vertex -17.0213 -37.9274 -0.2 endloop endfacet facet normal -0.390611 0.920556 0 outer loop - vertex -17.0213 -37.9274 -0.1 + vertex -17.0213 -37.9274 -0.2 vertex -17.2437 -38.0218 0 vertex -17.0213 -37.9274 0 endloop @@ -18349,13 +18349,13 @@ solid OpenSCAD_Model facet normal -0.390611 0.920556 0 outer loop vertex -17.2437 -38.0218 0 - vertex -17.0213 -37.9274 -0.1 - vertex -17.2437 -38.0218 -0.1 + vertex -17.0213 -37.9274 -0.2 + vertex -17.2437 -38.0218 -0.2 endloop endfacet facet normal -0.189492 0.981882 0 outer loop - vertex -17.2437 -38.0218 -0.1 + vertex -17.2437 -38.0218 -0.2 vertex -17.5664 -38.0841 0 vertex -17.2437 -38.0218 0 endloop @@ -18363,13 +18363,13 @@ solid OpenSCAD_Model facet normal -0.189492 0.981882 0 outer loop vertex -17.5664 -38.0841 0 - vertex -17.2437 -38.0218 -0.1 - vertex -17.5664 -38.0841 -0.1 + vertex -17.2437 -38.0218 -0.2 + vertex -17.5664 -38.0841 -0.2 endloop endfacet facet normal -0.0764443 0.997074 0 outer loop - vertex -17.5664 -38.0841 -0.1 + vertex -17.5664 -38.0841 -0.2 vertex -18.0369 -38.1201 0 vertex -17.5664 -38.0841 0 endloop @@ -18377,13 +18377,13 @@ solid OpenSCAD_Model facet normal -0.0764443 0.997074 0 outer loop vertex -18.0369 -38.1201 0 - vertex -17.5664 -38.0841 -0.1 - vertex -18.0369 -38.1201 -0.1 + vertex -17.5664 -38.0841 -0.2 + vertex -18.0369 -38.1201 -0.2 endloop endfacet facet normal -0.0236695 0.99972 0 outer loop - vertex -18.0369 -38.1201 -0.1 + vertex -18.0369 -38.1201 -0.2 vertex -18.7028 -38.1359 0 vertex -18.0369 -38.1201 0 endloop @@ -18391,13 +18391,13 @@ solid OpenSCAD_Model facet normal -0.0236695 0.99972 0 outer loop vertex -18.7028 -38.1359 0 - vertex -18.0369 -38.1201 -0.1 - vertex -18.7028 -38.1359 -0.1 + vertex -18.0369 -38.1201 -0.2 + vertex -18.7028 -38.1359 -0.2 endloop endfacet facet normal 0.00275597 0.999996 -0 outer loop - vertex -18.7028 -38.1359 -0.1 + vertex -18.7028 -38.1359 -0.2 vertex -20.8109 -38.1301 0 vertex -18.7028 -38.1359 0 endloop @@ -18405,13 +18405,13 @@ solid OpenSCAD_Model facet normal 0.00275597 0.999996 0 outer loop vertex -20.8109 -38.1301 0 - vertex -18.7028 -38.1359 -0.1 - vertex -20.8109 -38.1301 -0.1 + vertex -18.7028 -38.1359 -0.2 + vertex -20.8109 -38.1301 -0.2 endloop endfacet facet normal 0.0176671 0.999844 -0 outer loop - vertex -20.8109 -38.1301 -0.1 + vertex -20.8109 -38.1301 -0.2 vertex -23.4866 -38.0828 0 vertex -20.8109 -38.1301 0 endloop @@ -18419,13 +18419,13 @@ solid OpenSCAD_Model facet normal 0.0176671 0.999844 0 outer loop vertex -23.4866 -38.0828 0 - vertex -20.8109 -38.1301 -0.1 - vertex -23.4866 -38.0828 -0.1 + vertex -20.8109 -38.1301 -0.2 + vertex -23.4866 -38.0828 -0.2 endloop endfacet facet normal 0.0417305 0.999129 -0 outer loop - vertex -23.4866 -38.0828 -0.1 + vertex -23.4866 -38.0828 -0.2 vertex -24.3782 -38.0456 0 vertex -23.4866 -38.0828 0 endloop @@ -18433,13 +18433,13 @@ solid OpenSCAD_Model facet normal 0.0417305 0.999129 0 outer loop vertex -24.3782 -38.0456 0 - vertex -23.4866 -38.0828 -0.1 - vertex -24.3782 -38.0456 -0.1 + vertex -23.4866 -38.0828 -0.2 + vertex -24.3782 -38.0456 -0.2 endloop endfacet facet normal 0.0968237 0.995302 -0 outer loop - vertex -24.3782 -38.0456 -0.1 + vertex -24.3782 -38.0456 -0.2 vertex -24.7978 -38.0047 0 vertex -24.3782 -38.0456 0 endloop @@ -18447,13 +18447,13 @@ solid OpenSCAD_Model facet normal 0.0968237 0.995302 0 outer loop vertex -24.7978 -38.0047 0 - vertex -24.3782 -38.0456 -0.1 - vertex -24.7978 -38.0047 -0.1 + vertex -24.3782 -38.0456 -0.2 + vertex -24.7978 -38.0047 -0.2 endloop endfacet facet normal 0.412814 0.910815 -0 outer loop - vertex -24.7978 -38.0047 -0.1 + vertex -24.7978 -38.0047 -0.2 vertex -24.9442 -37.9384 0 vertex -24.7978 -38.0047 0 endloop @@ -18461,13 +18461,13 @@ solid OpenSCAD_Model facet normal 0.412814 0.910815 0 outer loop vertex -24.9442 -37.9384 0 - vertex -24.7978 -38.0047 -0.1 - vertex -24.9442 -37.9384 -0.1 + vertex -24.7978 -38.0047 -0.2 + vertex -24.9442 -37.9384 -0.2 endloop endfacet facet normal 0.678412 0.734682 -0 outer loop - vertex -24.9442 -37.9384 -0.1 + vertex -24.9442 -37.9384 -0.2 vertex -25.0491 -37.8416 0 vertex -24.9442 -37.9384 0 endloop @@ -18475,139 +18475,139 @@ solid OpenSCAD_Model facet normal 0.678412 0.734682 0 outer loop vertex -25.0491 -37.8416 0 - vertex -24.9442 -37.9384 -0.1 - vertex -25.0491 -37.8416 -0.1 + vertex -24.9442 -37.9384 -0.2 + vertex -25.0491 -37.8416 -0.2 endloop endfacet facet normal 0.880101 0.474787 0 outer loop vertex -25.0491 -37.8416 0 - vertex -25.1152 -37.719 -0.1 + vertex -25.1152 -37.719 -0.2 vertex -25.1152 -37.719 0 endloop endfacet facet normal 0.880101 0.474787 0 outer loop - vertex -25.1152 -37.719 -0.1 + vertex -25.1152 -37.719 -0.2 vertex -25.0491 -37.8416 0 - vertex -25.0491 -37.8416 -0.1 + vertex -25.0491 -37.8416 -0.2 endloop endfacet facet normal 0.978769 0.204965 0 outer loop vertex -25.1152 -37.719 0 - vertex -25.1453 -37.5754 -0.1 + vertex -25.1453 -37.5754 -0.2 vertex -25.1453 -37.5754 0 endloop endfacet facet normal 0.978769 0.204965 0 outer loop - vertex -25.1453 -37.5754 -0.1 + vertex -25.1453 -37.5754 -0.2 vertex -25.1152 -37.719 0 - vertex -25.1152 -37.719 -0.1 + vertex -25.1152 -37.719 -0.2 endloop endfacet facet normal 0.99978 -0.0209726 0 outer loop vertex -25.1453 -37.5754 0 - vertex -25.1419 -37.4158 -0.1 + vertex -25.1419 -37.4158 -0.2 vertex -25.1419 -37.4158 0 endloop endfacet facet normal 0.99978 -0.0209726 0 outer loop - vertex -25.1419 -37.4158 -0.1 + vertex -25.1419 -37.4158 -0.2 vertex -25.1453 -37.5754 0 - vertex -25.1453 -37.5754 -0.1 + vertex -25.1453 -37.5754 -0.2 endloop endfacet facet normal 0.980708 -0.195479 0 outer loop vertex -25.1419 -37.4158 0 - vertex -25.1078 -37.2448 -0.1 + vertex -25.1078 -37.2448 -0.2 vertex -25.1078 -37.2448 0 endloop endfacet facet normal 0.980708 -0.195479 0 outer loop - vertex -25.1078 -37.2448 -0.1 + vertex -25.1078 -37.2448 -0.2 vertex -25.1419 -37.4158 0 - vertex -25.1419 -37.4158 -0.1 + vertex -25.1419 -37.4158 -0.2 endloop endfacet facet normal 0.94384 -0.330404 0 outer loop vertex -25.1078 -37.2448 0 - vertex -25.0457 -37.0673 -0.1 + vertex -25.0457 -37.0673 -0.2 vertex -25.0457 -37.0673 0 endloop endfacet facet normal 0.94384 -0.330404 0 outer loop - vertex -25.0457 -37.0673 -0.1 + vertex -25.0457 -37.0673 -0.2 vertex -25.1078 -37.2448 0 - vertex -25.1078 -37.2448 -0.1 + vertex -25.1078 -37.2448 -0.2 endloop endfacet facet normal 0.898573 -0.438825 0 outer loop vertex -25.0457 -37.0673 0 - vertex -24.9582 -36.888 -0.1 + vertex -24.9582 -36.888 -0.2 vertex -24.9582 -36.888 0 endloop endfacet facet normal 0.898573 -0.438825 0 outer loop - vertex -24.9582 -36.888 -0.1 + vertex -24.9582 -36.888 -0.2 vertex -25.0457 -37.0673 0 - vertex -25.0457 -37.0673 -0.1 + vertex -25.0457 -37.0673 -0.2 endloop endfacet facet normal 0.847669 -0.530525 0 outer loop vertex -24.9582 -36.888 0 - vertex -24.8479 -36.7119 -0.1 + vertex -24.8479 -36.7119 -0.2 vertex -24.8479 -36.7119 0 endloop endfacet facet normal 0.847669 -0.530525 0 outer loop - vertex -24.8479 -36.7119 -0.1 + vertex -24.8479 -36.7119 -0.2 vertex -24.9582 -36.888 0 - vertex -24.9582 -36.888 -0.1 + vertex -24.9582 -36.888 -0.2 endloop endfacet facet normal 0.790663 -0.612252 0 outer loop vertex -24.8479 -36.7119 0 - vertex -24.7177 -36.5437 -0.1 + vertex -24.7177 -36.5437 -0.2 vertex -24.7177 -36.5437 0 endloop endfacet facet normal 0.790663 -0.612252 0 outer loop - vertex -24.7177 -36.5437 -0.1 + vertex -24.7177 -36.5437 -0.2 vertex -24.8479 -36.7119 0 - vertex -24.8479 -36.7119 -0.1 + vertex -24.8479 -36.7119 -0.2 endloop endfacet facet normal 0.7253 -0.688433 0 outer loop vertex -24.7177 -36.5437 0 - vertex -24.57 -36.3881 -0.1 + vertex -24.57 -36.3881 -0.2 vertex -24.57 -36.3881 0 endloop endfacet facet normal 0.7253 -0.688433 0 outer loop - vertex -24.57 -36.3881 -0.1 + vertex -24.57 -36.3881 -0.2 vertex -24.7177 -36.5437 0 - vertex -24.7177 -36.5437 -0.1 + vertex -24.7177 -36.5437 -0.2 endloop endfacet facet normal 0.647808 -0.761803 0 outer loop - vertex -24.57 -36.3881 -0.1 + vertex -24.57 -36.3881 -0.2 vertex -24.4077 -36.2501 0 vertex -24.57 -36.3881 0 endloop @@ -18615,13 +18615,13 @@ solid OpenSCAD_Model facet normal 0.647808 -0.761803 0 outer loop vertex -24.4077 -36.2501 0 - vertex -24.57 -36.3881 -0.1 - vertex -24.4077 -36.2501 -0.1 + vertex -24.57 -36.3881 -0.2 + vertex -24.4077 -36.2501 -0.2 endloop endfacet facet normal 0.553033 -0.833159 0 outer loop - vertex -24.4077 -36.2501 -0.1 + vertex -24.4077 -36.2501 -0.2 vertex -24.2334 -36.1344 0 vertex -24.4077 -36.2501 0 endloop @@ -18629,13 +18629,13 @@ solid OpenSCAD_Model facet normal 0.553033 -0.833159 0 outer loop vertex -24.2334 -36.1344 0 - vertex -24.4077 -36.2501 -0.1 - vertex -24.2334 -36.1344 -0.1 + vertex -24.4077 -36.2501 -0.2 + vertex -24.2334 -36.1344 -0.2 endloop endfacet facet normal 0.434505 -0.900669 0 outer loop - vertex -24.2334 -36.1344 -0.1 + vertex -24.2334 -36.1344 -0.2 vertex -24.0497 -36.0458 0 vertex -24.2334 -36.1344 0 endloop @@ -18643,13 +18643,13 @@ solid OpenSCAD_Model facet normal 0.434505 -0.900669 0 outer loop vertex -24.0497 -36.0458 0 - vertex -24.2334 -36.1344 -0.1 - vertex -24.0497 -36.0458 -0.1 + vertex -24.2334 -36.1344 -0.2 + vertex -24.0497 -36.0458 -0.2 endloop endfacet facet normal 0.285417 -0.958403 0 outer loop - vertex -24.0497 -36.0458 -0.1 + vertex -24.0497 -36.0458 -0.2 vertex -23.8593 -35.9891 0 vertex -24.0497 -36.0458 0 endloop @@ -18657,13 +18657,13 @@ solid OpenSCAD_Model facet normal 0.285417 -0.958403 0 outer loop vertex -23.8593 -35.9891 0 - vertex -24.0497 -36.0458 -0.1 - vertex -23.8593 -35.9891 -0.1 + vertex -24.0497 -36.0458 -0.2 + vertex -23.8593 -35.9891 -0.2 endloop endfacet facet normal 0.1022 -0.994764 0 outer loop - vertex -23.8593 -35.9891 -0.1 + vertex -23.8593 -35.9891 -0.2 vertex -23.665 -35.9691 0 vertex -23.8593 -35.9891 0 endloop @@ -18671,13 +18671,13 @@ solid OpenSCAD_Model facet normal 0.1022 -0.994764 0 outer loop vertex -23.665 -35.9691 0 - vertex -23.8593 -35.9891 -0.1 - vertex -23.665 -35.9691 -0.1 + vertex -23.8593 -35.9891 -0.2 + vertex -23.665 -35.9691 -0.2 endloop endfacet facet normal 0.0676467 -0.997709 0 outer loop - vertex -23.665 -35.9691 -0.1 + vertex -23.665 -35.9691 -0.2 vertex -23.3082 -35.9449 0 vertex -23.665 -35.9691 0 endloop @@ -18685,13 +18685,13 @@ solid OpenSCAD_Model facet normal 0.0676467 -0.997709 0 outer loop vertex -23.3082 -35.9449 0 - vertex -23.665 -35.9691 -0.1 - vertex -23.3082 -35.9449 -0.1 + vertex -23.665 -35.9691 -0.2 + vertex -23.3082 -35.9449 -0.2 endloop endfacet facet normal 0.201749 -0.979437 0 outer loop - vertex -23.3082 -35.9449 -0.1 + vertex -23.3082 -35.9449 -0.2 vertex -23.1471 -35.9117 0 vertex -23.3082 -35.9449 0 endloop @@ -18699,13 +18699,13 @@ solid OpenSCAD_Model facet normal 0.201749 -0.979437 0 outer loop vertex -23.1471 -35.9117 0 - vertex -23.3082 -35.9449 -0.1 - vertex -23.1471 -35.9117 -0.1 + vertex -23.3082 -35.9449 -0.2 + vertex -23.1471 -35.9117 -0.2 endloop endfacet facet normal 0.311945 -0.9501 0 outer loop - vertex -23.1471 -35.9117 -0.1 + vertex -23.1471 -35.9117 -0.2 vertex -22.9953 -35.8619 0 vertex -23.1471 -35.9117 0 endloop @@ -18713,13 +18713,13 @@ solid OpenSCAD_Model facet normal 0.311945 -0.9501 0 outer loop vertex -22.9953 -35.8619 0 - vertex -23.1471 -35.9117 -0.1 - vertex -22.9953 -35.8619 -0.1 + vertex -23.1471 -35.9117 -0.2 + vertex -22.9953 -35.8619 -0.2 endloop endfacet facet normal 0.428709 -0.903443 0 outer loop - vertex -22.9953 -35.8619 -0.1 + vertex -22.9953 -35.8619 -0.2 vertex -22.8511 -35.7934 0 vertex -22.9953 -35.8619 0 endloop @@ -18727,13 +18727,13 @@ solid OpenSCAD_Model facet normal 0.428709 -0.903443 0 outer loop vertex -22.8511 -35.7934 0 - vertex -22.9953 -35.8619 -0.1 - vertex -22.8511 -35.7934 -0.1 + vertex -22.9953 -35.8619 -0.2 + vertex -22.8511 -35.7934 -0.2 endloop endfacet facet normal 0.540869 -0.841107 0 outer loop - vertex -22.8511 -35.7934 -0.1 + vertex -22.8511 -35.7934 -0.2 vertex -22.7126 -35.7044 0 vertex -22.8511 -35.7934 0 endloop @@ -18741,13 +18741,13 @@ solid OpenSCAD_Model facet normal 0.540869 -0.841107 0 outer loop vertex -22.7126 -35.7044 0 - vertex -22.8511 -35.7934 -0.1 - vertex -22.7126 -35.7044 -0.1 + vertex -22.8511 -35.7934 -0.2 + vertex -22.7126 -35.7044 -0.2 endloop endfacet facet normal 0.638801 -0.769372 0 outer loop - vertex -22.7126 -35.7044 -0.1 + vertex -22.7126 -35.7044 -0.2 vertex -22.5782 -35.5929 0 vertex -22.7126 -35.7044 0 endloop @@ -18755,195 +18755,195 @@ solid OpenSCAD_Model facet normal 0.638801 -0.769372 0 outer loop vertex -22.5782 -35.5929 0 - vertex -22.7126 -35.7044 -0.1 - vertex -22.5782 -35.5929 -0.1 + vertex -22.7126 -35.7044 -0.2 + vertex -22.5782 -35.5929 -0.2 endloop endfacet facet normal 0.717693 -0.69636 0 outer loop vertex -22.5782 -35.5929 0 - vertex -22.4463 -35.4568 -0.1 + vertex -22.4463 -35.4568 -0.2 vertex -22.4463 -35.4568 0 endloop endfacet facet normal 0.717693 -0.69636 0 outer loop - vertex -22.4463 -35.4568 -0.1 + vertex -22.4463 -35.4568 -0.2 vertex -22.5782 -35.5929 0 - vertex -22.5782 -35.5929 -0.1 + vertex -22.5782 -35.5929 -0.2 endloop endfacet facet normal 0.801318 -0.598238 0 outer loop vertex -22.4463 -35.4568 0 - vertex -22.1824 -35.1035 -0.1 + vertex -22.1824 -35.1035 -0.2 vertex -22.1824 -35.1035 0 endloop endfacet facet normal 0.801318 -0.598238 0 outer loop - vertex -22.1824 -35.1035 -0.1 + vertex -22.1824 -35.1035 -0.2 vertex -22.4463 -35.4568 0 - vertex -22.4463 -35.4568 -0.1 + vertex -22.4463 -35.4568 -0.2 endloop endfacet facet normal 0.865265 -0.501314 0 outer loop vertex -22.1824 -35.1035 0 - vertex -21.9074 -34.6287 -0.1 + vertex -21.9074 -34.6287 -0.2 vertex -21.9074 -34.6287 0 endloop endfacet facet normal 0.865265 -0.501314 0 outer loop - vertex -21.9074 -34.6287 -0.1 + vertex -21.9074 -34.6287 -0.2 vertex -22.1824 -35.1035 0 - vertex -22.1824 -35.1035 -0.1 + vertex -22.1824 -35.1035 -0.2 endloop endfacet facet normal 0.897795 -0.440414 0 outer loop vertex -21.9074 -34.6287 0 - vertex -21.6072 -34.0169 -0.1 + vertex -21.6072 -34.0169 -0.2 vertex -21.6072 -34.0169 0 endloop endfacet facet normal 0.897795 -0.440414 0 outer loop - vertex -21.6072 -34.0169 -0.1 + vertex -21.6072 -34.0169 -0.2 vertex -21.9074 -34.6287 0 - vertex -21.9074 -34.6287 -0.1 + vertex -21.9074 -34.6287 -0.2 endloop endfacet facet normal 0.914162 -0.405349 0 outer loop vertex -21.6072 -34.0169 0 - vertex -21.2682 -33.2523 -0.1 + vertex -21.2682 -33.2523 -0.2 vertex -21.2682 -33.2523 0 endloop endfacet facet normal 0.914162 -0.405349 0 outer loop - vertex -21.2682 -33.2523 -0.1 + vertex -21.2682 -33.2523 -0.2 vertex -21.6072 -34.0169 0 - vertex -21.6072 -34.0169 -0.1 + vertex -21.6072 -34.0169 -0.2 endloop endfacet facet normal 0.920953 -0.389675 0 outer loop vertex -21.2682 -33.2523 0 - vertex -19.7699 -29.7113 -0.1 + vertex -19.7699 -29.7113 -0.2 vertex -19.7699 -29.7113 0 endloop endfacet facet normal 0.920953 -0.389675 0 outer loop - vertex -19.7699 -29.7113 -0.1 + vertex -19.7699 -29.7113 -0.2 vertex -21.2682 -33.2523 0 - vertex -21.2682 -33.2523 -0.1 + vertex -21.2682 -33.2523 -0.2 endloop endfacet facet normal 0.925287 -0.379267 0 outer loop vertex -19.7699 -29.7113 0 - vertex -18.5311 -26.6889 -0.1 + vertex -18.5311 -26.6889 -0.2 vertex -18.5311 -26.6889 0 endloop endfacet facet normal 0.925287 -0.379267 0 outer loop - vertex -18.5311 -26.6889 -0.1 + vertex -18.5311 -26.6889 -0.2 vertex -19.7699 -29.7113 0 - vertex -19.7699 -29.7113 -0.1 + vertex -19.7699 -29.7113 -0.2 endloop endfacet facet normal 0.931695 -0.363243 0 outer loop vertex -18.5311 -26.6889 0 - vertex -17.6656 -24.469 -0.1 + vertex -17.6656 -24.469 -0.2 vertex -17.6656 -24.469 0 endloop endfacet facet normal 0.931695 -0.363243 0 outer loop - vertex -17.6656 -24.469 -0.1 + vertex -17.6656 -24.469 -0.2 vertex -18.5311 -26.6889 0 - vertex -18.5311 -26.6889 -0.1 + vertex -18.5311 -26.6889 -0.2 endloop endfacet facet normal 0.941797 -0.336183 0 outer loop vertex -17.6656 -24.469 0 - vertex -17.4084 -23.7485 -0.1 + vertex -17.4084 -23.7485 -0.2 vertex -17.4084 -23.7485 0 endloop endfacet facet normal 0.941797 -0.336183 0 outer loop - vertex -17.4084 -23.7485 -0.1 + vertex -17.4084 -23.7485 -0.2 vertex -17.6656 -24.469 0 - vertex -17.6656 -24.469 -0.1 + vertex -17.6656 -24.469 -0.2 endloop endfacet facet normal 0.959662 -0.281158 0 outer loop vertex -17.4084 -23.7485 0 - vertex -17.2873 -23.335 -0.1 + vertex -17.2873 -23.335 -0.2 vertex -17.2873 -23.335 0 endloop endfacet facet normal 0.959662 -0.281158 0 outer loop - vertex -17.2873 -23.335 -0.1 + vertex -17.2873 -23.335 -0.2 vertex -17.4084 -23.7485 0 - vertex -17.4084 -23.7485 -0.1 + vertex -17.4084 -23.7485 -0.2 endloop endfacet facet normal 0.987024 -0.160575 0 outer loop vertex -17.2873 -23.335 0 - vertex -17.2226 -22.9371 -0.1 + vertex -17.2226 -22.9371 -0.2 vertex -17.2226 -22.9371 0 endloop endfacet facet normal 0.987024 -0.160575 0 outer loop - vertex -17.2226 -22.9371 -0.1 + vertex -17.2226 -22.9371 -0.2 vertex -17.2873 -23.335 0 - vertex -17.2873 -23.335 -0.1 + vertex -17.2873 -23.335 -0.2 endloop endfacet facet normal 0.999826 0.0186517 0 outer loop vertex -17.2226 -22.9371 0 - vertex -17.2249 -22.8126 -0.1 + vertex -17.2249 -22.8126 -0.2 vertex -17.2249 -22.8126 0 endloop endfacet facet normal 0.999826 0.0186517 0 outer loop - vertex -17.2249 -22.8126 -0.1 + vertex -17.2249 -22.8126 -0.2 vertex -17.2226 -22.9371 0 - vertex -17.2226 -22.9371 -0.1 + vertex -17.2226 -22.9371 -0.2 endloop endfacet facet normal 0.932644 0.360799 0 outer loop vertex -17.2249 -22.8126 0 - vertex -17.2578 -22.7276 -0.1 + vertex -17.2578 -22.7276 -0.2 vertex -17.2578 -22.7276 0 endloop endfacet facet normal 0.932644 0.360799 0 outer loop - vertex -17.2578 -22.7276 -0.1 + vertex -17.2578 -22.7276 -0.2 vertex -17.2249 -22.8126 0 - vertex -17.2249 -22.8126 -0.1 + vertex -17.2249 -22.8126 -0.2 endloop endfacet facet normal 0.608972 0.793192 -0 outer loop - vertex -17.2578 -22.7276 -0.1 + vertex -17.2578 -22.7276 -0.2 vertex -17.3267 -22.6747 0 vertex -17.2578 -22.7276 0 endloop @@ -18951,13 +18951,13 @@ solid OpenSCAD_Model facet normal 0.608972 0.793192 0 outer loop vertex -17.3267 -22.6747 0 - vertex -17.2578 -22.7276 -0.1 - vertex -17.3267 -22.6747 -0.1 + vertex -17.2578 -22.7276 -0.2 + vertex -17.3267 -22.6747 -0.2 endloop endfacet facet normal 0.249366 0.968409 -0 outer loop - vertex -17.3267 -22.6747 -0.1 + vertex -17.3267 -22.6747 -0.2 vertex -17.4374 -22.6462 0 vertex -17.3267 -22.6747 0 endloop @@ -18965,13 +18965,13 @@ solid OpenSCAD_Model facet normal 0.249366 0.968409 0 outer loop vertex -17.4374 -22.6462 0 - vertex -17.3267 -22.6747 -0.1 - vertex -17.4374 -22.6462 -0.1 + vertex -17.3267 -22.6747 -0.2 + vertex -17.4374 -22.6462 -0.2 endloop endfacet facet normal 0.0372683 0.999305 -0 outer loop - vertex -17.4374 -22.6462 -0.1 + vertex -17.4374 -22.6462 -0.2 vertex -17.8061 -22.6324 0 vertex -17.4374 -22.6462 0 endloop @@ -18979,13 +18979,13 @@ solid OpenSCAD_Model facet normal 0.0372683 0.999305 0 outer loop vertex -17.8061 -22.6324 0 - vertex -17.4374 -22.6462 -0.1 - vertex -17.8061 -22.6324 -0.1 + vertex -17.4374 -22.6462 -0.2 + vertex -17.8061 -22.6324 -0.2 endloop endfacet facet normal 0.050033 0.998748 -0 outer loop - vertex -17.8061 -22.6324 -0.1 + vertex -17.8061 -22.6324 -0.2 vertex -18.1091 -22.6172 0 vertex -17.8061 -22.6324 0 endloop @@ -18993,13 +18993,13 @@ solid OpenSCAD_Model facet normal 0.050033 0.998748 0 outer loop vertex -18.1091 -22.6172 0 - vertex -17.8061 -22.6324 -0.1 - vertex -18.1091 -22.6172 -0.1 + vertex -17.8061 -22.6324 -0.2 + vertex -18.1091 -22.6172 -0.2 endloop endfacet facet normal 0.187734 0.98222 -0 outer loop - vertex -18.1091 -22.6172 -0.1 + vertex -18.1091 -22.6172 -0.2 vertex -18.3541 -22.5704 0 vertex -18.1091 -22.6172 0 endloop @@ -19007,13 +19007,13 @@ solid OpenSCAD_Model facet normal 0.187734 0.98222 0 outer loop vertex -18.3541 -22.5704 0 - vertex -18.1091 -22.6172 -0.1 - vertex -18.3541 -22.5704 -0.1 + vertex -18.1091 -22.6172 -0.2 + vertex -18.3541 -22.5704 -0.2 endloop endfacet facet normal 0.392235 0.919865 -0 outer loop - vertex -18.3541 -22.5704 -0.1 + vertex -18.3541 -22.5704 -0.2 vertex -18.5429 -22.4899 0 vertex -18.3541 -22.5704 0 endloop @@ -19021,13 +19021,13 @@ solid OpenSCAD_Model facet normal 0.392235 0.919865 0 outer loop vertex -18.5429 -22.4899 0 - vertex -18.3541 -22.5704 -0.1 - vertex -18.5429 -22.4899 -0.1 + vertex -18.3541 -22.5704 -0.2 + vertex -18.5429 -22.4899 -0.2 endloop endfacet facet normal 0.654816 0.755788 -0 outer loop - vertex -18.5429 -22.4899 -0.1 + vertex -18.5429 -22.4899 -0.2 vertex -18.6769 -22.3738 0 vertex -18.5429 -22.4899 0 endloop @@ -19035,111 +19035,111 @@ solid OpenSCAD_Model facet normal 0.654816 0.755788 0 outer loop vertex -18.6769 -22.3738 0 - vertex -18.5429 -22.4899 -0.1 - vertex -18.6769 -22.3738 -0.1 + vertex -18.5429 -22.4899 -0.2 + vertex -18.6769 -22.3738 -0.2 endloop endfacet facet normal 0.885096 0.465409 0 outer loop vertex -18.6769 -22.3738 0 - vertex -18.7577 -22.2202 -0.1 + vertex -18.7577 -22.2202 -0.2 vertex -18.7577 -22.2202 0 endloop endfacet facet normal 0.885096 0.465409 0 outer loop - vertex -18.7577 -22.2202 -0.1 + vertex -18.7577 -22.2202 -0.2 vertex -18.6769 -22.3738 0 - vertex -18.6769 -22.3738 -0.1 + vertex -18.6769 -22.3738 -0.2 endloop endfacet facet normal 0.988779 0.149383 0 outer loop vertex -18.7577 -22.2202 0 - vertex -18.7869 -22.0269 -0.1 + vertex -18.7869 -22.0269 -0.2 vertex -18.7869 -22.0269 0 endloop endfacet facet normal 0.988779 0.149383 0 outer loop - vertex -18.7869 -22.0269 -0.1 + vertex -18.7869 -22.0269 -0.2 vertex -18.7577 -22.2202 0 - vertex -18.7577 -22.2202 -0.1 + vertex -18.7577 -22.2202 -0.2 endloop endfacet facet normal 0.99608 -0.0884566 0 outer loop vertex -18.7869 -22.0269 0 - vertex -18.766 -21.7922 -0.1 + vertex -18.766 -21.7922 -0.2 vertex -18.766 -21.7922 0 endloop endfacet facet normal 0.99608 -0.0884566 0 outer loop - vertex -18.766 -21.7922 -0.1 + vertex -18.766 -21.7922 -0.2 vertex -18.7869 -22.0269 0 - vertex -18.7869 -22.0269 -0.1 + vertex -18.7869 -22.0269 -0.2 endloop endfacet facet normal 0.970344 -0.241728 0 outer loop vertex -18.766 -21.7922 0 - vertex -18.6967 -21.5139 -0.1 + vertex -18.6967 -21.5139 -0.2 vertex -18.6967 -21.5139 0 endloop endfacet facet normal 0.970344 -0.241728 0 outer loop - vertex -18.6967 -21.5139 -0.1 + vertex -18.6967 -21.5139 -0.2 vertex -18.766 -21.7922 0 - vertex -18.766 -21.7922 -0.1 + vertex -18.766 -21.7922 -0.2 endloop endfacet facet normal 0.92433 -0.381593 0 outer loop vertex -18.6967 -21.5139 0 - vertex -18.5788 -21.2283 -0.1 + vertex -18.5788 -21.2283 -0.2 vertex -18.5788 -21.2283 0 endloop endfacet facet normal 0.92433 -0.381593 0 outer loop - vertex -18.5788 -21.2283 -0.1 + vertex -18.5788 -21.2283 -0.2 vertex -18.6967 -21.5139 0 - vertex -18.6967 -21.5139 -0.1 + vertex -18.6967 -21.5139 -0.2 endloop endfacet facet normal 0.848388 -0.529374 0 outer loop vertex -18.5788 -21.2283 0 - vertex -18.5053 -21.1105 -0.1 + vertex -18.5053 -21.1105 -0.2 vertex -18.5053 -21.1105 0 endloop endfacet facet normal 0.848388 -0.529374 0 outer loop - vertex -18.5053 -21.1105 -0.1 + vertex -18.5053 -21.1105 -0.2 vertex -18.5788 -21.2283 0 - vertex -18.5788 -21.2283 -0.1 + vertex -18.5788 -21.2283 -0.2 endloop endfacet facet normal 0.772185 -0.635398 0 outer loop vertex -18.5053 -21.1105 0 - vertex -18.4218 -21.0091 -0.1 + vertex -18.4218 -21.0091 -0.2 vertex -18.4218 -21.0091 0 endloop endfacet facet normal 0.772185 -0.635398 0 outer loop - vertex -18.4218 -21.0091 -0.1 + vertex -18.4218 -21.0091 -0.2 vertex -18.5053 -21.1105 0 - vertex -18.5053 -21.1105 -0.1 + vertex -18.5053 -21.1105 -0.2 endloop endfacet facet normal 0.673134 -0.739521 0 outer loop - vertex -18.4218 -21.0091 -0.1 + vertex -18.4218 -21.0091 -0.2 vertex -18.3284 -20.924 0 vertex -18.4218 -21.0091 0 endloop @@ -19147,13 +19147,13 @@ solid OpenSCAD_Model facet normal 0.673134 -0.739521 0 outer loop vertex -18.3284 -20.924 0 - vertex -18.4218 -21.0091 -0.1 - vertex -18.3284 -20.924 -0.1 + vertex -18.4218 -21.0091 -0.2 + vertex -18.3284 -20.924 -0.2 endloop endfacet facet normal 0.553635 -0.832759 0 outer loop - vertex -18.3284 -20.924 -0.1 + vertex -18.3284 -20.924 -0.2 vertex -18.2248 -20.8552 0 vertex -18.3284 -20.924 0 endloop @@ -19161,13 +19161,13 @@ solid OpenSCAD_Model facet normal 0.553635 -0.832759 0 outer loop vertex -18.2248 -20.8552 0 - vertex -18.3284 -20.924 -0.1 - vertex -18.2248 -20.8552 -0.1 + vertex -18.3284 -20.924 -0.2 + vertex -18.2248 -20.8552 -0.2 endloop endfacet facet normal 0.4209 -0.907107 0 outer loop - vertex -18.2248 -20.8552 -0.1 + vertex -18.2248 -20.8552 -0.2 vertex -18.1109 -20.8023 0 vertex -18.2248 -20.8552 0 endloop @@ -19175,13 +19175,13 @@ solid OpenSCAD_Model facet normal 0.4209 -0.907107 0 outer loop vertex -18.1109 -20.8023 0 - vertex -18.2248 -20.8552 -0.1 - vertex -18.1109 -20.8023 -0.1 + vertex -18.2248 -20.8552 -0.2 + vertex -18.1109 -20.8023 -0.2 endloop endfacet facet normal 0.284987 -0.958531 0 outer loop - vertex -18.1109 -20.8023 -0.1 + vertex -18.1109 -20.8023 -0.2 vertex -17.9865 -20.7653 0 vertex -18.1109 -20.8023 0 endloop @@ -19189,13 +19189,13 @@ solid OpenSCAD_Model facet normal 0.284987 -0.958531 0 outer loop vertex -17.9865 -20.7653 0 - vertex -18.1109 -20.8023 -0.1 - vertex -17.9865 -20.7653 -0.1 + vertex -18.1109 -20.8023 -0.2 + vertex -17.9865 -20.7653 -0.2 endloop endfacet facet normal 0.279088 -0.960266 0 outer loop - vertex -17.9865 -20.7653 -0.1 + vertex -17.9865 -20.7653 -0.2 vertex -16.9393 -20.461 0 vertex -17.9865 -20.7653 0 endloop @@ -19203,13 +19203,13 @@ solid OpenSCAD_Model facet normal 0.279088 -0.960266 0 outer loop vertex -16.9393 -20.461 0 - vertex -17.9865 -20.7653 -0.1 - vertex -16.9393 -20.461 -0.1 + vertex -17.9865 -20.7653 -0.2 + vertex -16.9393 -20.461 -0.2 endloop endfacet facet normal 0.302435 -0.95317 0 outer loop - vertex -16.9393 -20.461 -0.1 + vertex -16.9393 -20.461 -0.2 vertex -15.1436 -19.8912 0 vertex -16.9393 -20.461 0 endloop @@ -19217,13 +19217,13 @@ solid OpenSCAD_Model facet normal 0.302435 -0.95317 0 outer loop vertex -15.1436 -19.8912 0 - vertex -16.9393 -20.461 -0.1 - vertex -15.1436 -19.8912 -0.1 + vertex -16.9393 -20.461 -0.2 + vertex -15.1436 -19.8912 -0.2 endloop endfacet facet normal 0.297661 -0.954672 0 outer loop - vertex -15.1436 -19.8912 -0.1 + vertex -15.1436 -19.8912 -0.2 vertex -14.1989 -19.5967 0 vertex -15.1436 -19.8912 0 endloop @@ -19231,13 +19231,13 @@ solid OpenSCAD_Model facet normal 0.297661 -0.954672 0 outer loop vertex -14.1989 -19.5967 0 - vertex -15.1436 -19.8912 -0.1 - vertex -14.1989 -19.5967 -0.1 + vertex -15.1436 -19.8912 -0.2 + vertex -14.1989 -19.5967 -0.2 endloop endfacet facet normal 0.272658 -0.962111 0 outer loop - vertex -14.1989 -19.5967 -0.1 + vertex -14.1989 -19.5967 -0.2 vertex -13.3483 -19.3556 0 vertex -14.1989 -19.5967 0 endloop @@ -19245,13 +19245,13 @@ solid OpenSCAD_Model facet normal 0.272658 -0.962111 0 outer loop vertex -13.3483 -19.3556 0 - vertex -14.1989 -19.5967 -0.1 - vertex -13.3483 -19.3556 -0.1 + vertex -14.1989 -19.5967 -0.2 + vertex -13.3483 -19.3556 -0.2 endloop endfacet facet normal 0.238231 -0.971209 0 outer loop - vertex -13.3483 -19.3556 -0.1 + vertex -13.3483 -19.3556 -0.2 vertex -12.6849 -19.1929 0 vertex -13.3483 -19.3556 0 endloop @@ -19259,13 +19259,13 @@ solid OpenSCAD_Model facet normal 0.238231 -0.971209 0 outer loop vertex -12.6849 -19.1929 0 - vertex -13.3483 -19.3556 -0.1 - vertex -12.6849 -19.1929 -0.1 + vertex -13.3483 -19.3556 -0.2 + vertex -12.6849 -19.1929 -0.2 endloop endfacet facet normal 0.153595 -0.988134 0 outer loop - vertex -12.6849 -19.1929 -0.1 + vertex -12.6849 -19.1929 -0.2 vertex -12.302 -19.1333 0 vertex -12.6849 -19.1929 0 endloop @@ -19273,13 +19273,13 @@ solid OpenSCAD_Model facet normal 0.153595 -0.988134 0 outer loop vertex -12.302 -19.1333 0 - vertex -12.6849 -19.1929 -0.1 - vertex -12.302 -19.1333 -0.1 + vertex -12.6849 -19.1929 -0.2 + vertex -12.302 -19.1333 -0.2 endloop endfacet facet normal -0.105808 -0.994387 0 outer loop - vertex -12.302 -19.1333 -0.1 + vertex -12.302 -19.1333 -0.2 vertex -12.0792 -19.1571 0 vertex -12.302 -19.1333 0 endloop @@ -19287,1231 +19287,1231 @@ solid OpenSCAD_Model facet normal -0.105808 -0.994387 -0 outer loop vertex -12.0792 -19.1571 0 - vertex -12.302 -19.1333 -0.1 - vertex -12.0792 -19.1571 -0.1 + vertex -12.302 -19.1333 -0.2 + vertex -12.0792 -19.1571 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 35.6833 -25.6471 -0.1 - vertex 39.342 -26.9688 -0.1 - vertex 35.957 -24.8864 -0.1 + vertex 35.6833 -25.6471 -0.2 + vertex 39.342 -26.9688 -0.2 + vertex 35.957 -24.8864 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 35.3422 -26.5156 -0.1 - vertex 39.342 -26.9688 -0.1 - vertex 35.6833 -25.6471 -0.1 + vertex 35.3422 -26.5156 -0.2 + vertex 39.342 -26.9688 -0.2 + vertex 35.6833 -25.6471 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 39.342 -26.9688 -0.1 - vertex 35.3422 -26.5156 -0.1 - vertex 38.2305 -29.6614 -0.1 + vertex 39.342 -26.9688 -0.2 + vertex 35.3422 -26.5156 -0.2 + vertex 38.2305 -29.6614 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 33.8561 -30.1753 -0.1 - vertex 38.2305 -29.6614 -0.1 - vertex 35.3422 -26.5156 -0.1 + vertex 33.8561 -30.1753 -0.2 + vertex 38.2305 -29.6614 -0.2 + vertex 35.3422 -26.5156 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.2305 -29.6614 -0.1 - vertex 33.8561 -30.1753 -0.1 - vertex 37.444 -31.6395 -0.1 + vertex 38.2305 -29.6614 -0.2 + vertex 33.8561 -30.1753 -0.2 + vertex 37.444 -31.6395 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.3957 -19.1543 -0.1 - vertex 42.162 -19.859 -0.1 - vertex 42.1595 -19.6516 -0.1 + vertex 41.3957 -19.1543 -0.2 + vertex 42.162 -19.859 -0.2 + vertex 42.1595 -19.6516 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.7426 -19.1572 -0.1 - vertex 42.1595 -19.6516 -0.1 - vertex 42.1149 -19.4743 -0.1 + vertex 41.7426 -19.1572 -0.2 + vertex 42.1595 -19.6516 -0.2 + vertex 42.1149 -19.4743 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.162 -19.859 -0.1 - vertex 41.3957 -19.1543 -0.1 - vertex 42.1212 -20.0931 -0.1 + vertex 42.162 -19.859 -0.2 + vertex 41.3957 -19.1543 -0.2 + vertex 42.1212 -20.0931 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.7426 -19.1572 -0.1 - vertex 42.1149 -19.4743 -0.1 - vertex 42.0297 -19.3306 -0.1 + vertex 41.7426 -19.1572 -0.2 + vertex 42.1149 -19.4743 -0.2 + vertex 42.0297 -19.3306 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 41.156 -19.2119 -0.1 - vertex 42.1212 -20.0931 -0.1 - vertex 41.3957 -19.1543 -0.1 + vertex 41.156 -19.2119 -0.2 + vertex 42.1212 -20.0931 -0.2 + vertex 41.3957 -19.1543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.1212 -20.0931 -0.1 - vertex 41.156 -19.2119 -0.1 - vertex 42.0356 -20.3507 -0.1 + vertex 42.1212 -20.0931 -0.2 + vertex 41.156 -19.2119 -0.2 + vertex 42.0356 -20.3507 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.7426 -19.1572 -0.1 - vertex 42.0297 -19.3306 -0.1 - vertex 41.9051 -19.2238 -0.1 + vertex 41.7426 -19.1572 -0.2 + vertex 42.0297 -19.3306 -0.2 + vertex 41.9051 -19.2238 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.9233 -19.8512 -0.1 - vertex 47.9993 -20.1225 -0.1 - vertex 47.9745 -19.9807 -0.1 + vertex 47.9233 -19.8512 -0.2 + vertex 47.9993 -20.1225 -0.2 + vertex 47.9745 -19.9807 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.9993 -20.1225 -0.1 - vertex 47.9233 -19.8512 -0.1 - vertex 47.9987 -20.2887 -0.1 + vertex 47.9993 -20.1225 -0.2 + vertex 47.9233 -19.8512 -0.2 + vertex 47.9987 -20.2887 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.845 -19.7221 -0.1 - vertex 47.9987 -20.2887 -0.1 - vertex 47.9233 -19.8512 -0.1 + vertex 47.845 -19.7221 -0.2 + vertex 47.9987 -20.2887 -0.2 + vertex 47.9233 -19.8512 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.9987 -20.2887 -0.1 - vertex 47.845 -19.7221 -0.1 - vertex 47.9737 -20.4912 -0.1 + vertex 47.9987 -20.2887 -0.2 + vertex 47.845 -19.7221 -0.2 + vertex 47.9737 -20.4912 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.7384 -19.5813 -0.1 - vertex 47.9737 -20.4912 -0.1 - vertex 47.845 -19.7221 -0.1 + vertex 47.7384 -19.5813 -0.2 + vertex 47.9737 -20.4912 -0.2 + vertex 47.845 -19.7221 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.044 -19.1833 -0.1 - vertex 47.9737 -20.4912 -0.1 - vertex 47.7384 -19.5813 -0.1 + vertex 47.044 -19.1833 -0.2 + vertex 47.9737 -20.4912 -0.2 + vertex 47.7384 -19.5813 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 46.8289 -19.1548 -0.1 - vertex 47.9737 -20.4912 -0.1 - vertex 47.044 -19.1833 -0.1 + vertex 46.8289 -19.1548 -0.2 + vertex 47.9737 -20.4912 -0.2 + vertex 47.044 -19.1833 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.2257 -19.2263 -0.1 - vertex 47.7384 -19.5813 -0.1 - vertex 47.6302 -19.4614 -0.1 + vertex 47.2257 -19.2263 -0.2 + vertex 47.7384 -19.5813 -0.2 + vertex 47.6302 -19.4614 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 46.274 -19.1343 -0.1 - vertex 47.8542 -21.0531 -0.1 - vertex 46.8289 -19.1548 -0.1 + vertex 46.274 -19.1343 -0.2 + vertex 47.8542 -21.0531 -0.2 + vertex 46.8289 -19.1548 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.2257 -19.2263 -0.1 - vertex 47.6302 -19.4614 -0.1 - vertex 47.5127 -19.3635 -0.1 + vertex 47.2257 -19.2263 -0.2 + vertex 47.6302 -19.4614 -0.2 + vertex 47.5127 -19.3635 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.2257 -19.2263 -0.1 - vertex 47.5127 -19.3635 -0.1 - vertex 47.3799 -19.2858 -0.1 + vertex 47.2257 -19.2263 -0.2 + vertex 47.5127 -19.3635 -0.2 + vertex 47.3799 -19.2858 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.9737 -20.4912 -0.1 - vertex 46.8289 -19.1548 -0.1 - vertex 47.8542 -21.0531 -0.1 + vertex 47.9737 -20.4912 -0.2 + vertex 46.8289 -19.1548 -0.2 + vertex 47.8542 -21.0531 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.7384 -19.5813 -0.1 - vertex 47.2257 -19.2263 -0.1 - vertex 47.044 -19.1833 -0.1 + vertex 47.7384 -19.5813 -0.2 + vertex 47.2257 -19.2263 -0.2 + vertex 47.044 -19.1833 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.8542 -21.0531 -0.1 - vertex 46.274 -19.1343 -0.1 - vertex 47.7155 -21.5429 -0.1 + vertex 47.8542 -21.0531 -0.2 + vertex 46.274 -19.1343 -0.2 + vertex 47.7155 -21.5429 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 45.8151 -19.1475 -0.1 - vertex 47.7155 -21.5429 -0.1 - vertex 46.274 -19.1343 -0.1 + vertex 45.8151 -19.1475 -0.2 + vertex 47.7155 -21.5429 -0.2 + vertex 46.274 -19.1343 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.7155 -21.5429 -0.1 - vertex 45.8151 -19.1475 -0.1 - vertex 47.5422 -21.9981 -0.1 + vertex 47.7155 -21.5429 -0.2 + vertex 45.8151 -19.1475 -0.2 + vertex 47.5422 -21.9981 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 45.391 -19.1898 -0.1 - vertex 47.5422 -21.9981 -0.1 - vertex 45.8151 -19.1475 -0.1 + vertex 45.391 -19.1898 -0.2 + vertex 47.5422 -21.9981 -0.2 + vertex 45.8151 -19.1475 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.5422 -21.9981 -0.1 - vertex 45.391 -19.1898 -0.1 - vertex 47.3383 -22.4165 -0.1 + vertex 47.5422 -21.9981 -0.2 + vertex 45.391 -19.1898 -0.2 + vertex 47.3383 -22.4165 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 44.9905 -19.265 -0.1 - vertex 47.3383 -22.4165 -0.1 - vertex 45.391 -19.1898 -0.1 + vertex 44.9905 -19.265 -0.2 + vertex 47.3383 -22.4165 -0.2 + vertex 45.391 -19.1898 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 44.6026 -19.3768 -0.1 - vertex 47.3383 -22.4165 -0.1 - vertex 44.9905 -19.265 -0.1 + vertex 44.6026 -19.3768 -0.2 + vertex 47.3383 -22.4165 -0.2 + vertex 44.9905 -19.265 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.3383 -22.4165 -0.1 - vertex 44.6026 -19.3768 -0.1 - vertex 47.1074 -22.796 -0.1 + vertex 47.3383 -22.4165 -0.2 + vertex 44.6026 -19.3768 -0.2 + vertex 47.1074 -22.796 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 44.2162 -19.5289 -0.1 - vertex 47.1074 -22.796 -0.1 - vertex 44.6026 -19.3768 -0.1 + vertex 44.2162 -19.5289 -0.2 + vertex 47.1074 -22.796 -0.2 + vertex 44.6026 -19.3768 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.1074 -22.796 -0.1 - vertex 44.2162 -19.5289 -0.1 - vertex 46.8534 -23.1343 -0.1 + vertex 47.1074 -22.796 -0.2 + vertex 44.2162 -19.5289 -0.2 + vertex 46.8534 -23.1343 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 43.3873 -23.2523 -0.1 - vertex 46.8534 -23.1343 -0.1 - vertex 44.2162 -19.5289 -0.1 + vertex 43.3873 -23.2523 -0.2 + vertex 46.8534 -23.1343 -0.2 + vertex 44.2162 -19.5289 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 46.8534 -23.1343 -0.1 - vertex 43.3873 -23.2523 -0.1 - vertex 46.5801 -23.4293 -0.1 + vertex 46.8534 -23.1343 -0.2 + vertex 43.3873 -23.2523 -0.2 + vertex 46.5801 -23.4293 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 46.5801 -23.4293 -0.1 - vertex 43.3873 -23.2523 -0.1 - vertex 46.2914 -23.6786 -0.1 + vertex 46.5801 -23.4293 -0.2 + vertex 43.3873 -23.2523 -0.2 + vertex 46.2914 -23.6786 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 43.6239 -23.5069 -0.1 - vertex 46.2914 -23.6786 -0.1 - vertex 43.3873 -23.2523 -0.1 + vertex 43.6239 -23.5069 -0.2 + vertex 46.2914 -23.6786 -0.2 + vertex 43.3873 -23.2523 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 46.2914 -23.6786 -0.1 - vertex 43.6239 -23.5069 -0.1 - vertex 45.9909 -23.8802 -0.1 + vertex 46.2914 -23.6786 -0.2 + vertex 43.6239 -23.5069 -0.2 + vertex 45.9909 -23.8802 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 43.8807 -23.7673 -0.1 - vertex 45.3703 -24.1311 -0.1 - vertex 43.6239 -23.5069 -0.1 + vertex 43.8807 -23.7673 -0.2 + vertex 45.3703 -24.1311 -0.2 + vertex 43.6239 -23.5069 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 45.3703 -24.1311 -0.1 - vertex 43.8807 -23.7673 -0.1 - vertex 45.0576 -24.176 -0.1 + vertex 45.3703 -24.1311 -0.2 + vertex 43.8807 -23.7673 -0.2 + vertex 45.0576 -24.176 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 45.9909 -23.8802 -0.1 - vertex 43.6239 -23.5069 -0.1 - vertex 45.6826 -24.0317 -0.1 + vertex 45.9909 -23.8802 -0.2 + vertex 43.6239 -23.5069 -0.2 + vertex 45.6826 -24.0317 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 45.0576 -24.176 -0.1 - vertex 43.8807 -23.7673 -0.1 - vertex 44.7485 -24.1643 -0.1 + vertex 45.0576 -24.176 -0.2 + vertex 43.8807 -23.7673 -0.2 + vertex 44.7485 -24.1643 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 44.7485 -24.1643 -0.1 - vertex 43.8807 -23.7673 -0.1 - vertex 44.4468 -24.0937 -0.1 + vertex 44.7485 -24.1643 -0.2 + vertex 43.8807 -23.7673 -0.2 + vertex 44.4468 -24.0937 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 43.3873 -23.2523 -0.1 - vertex 44.2162 -19.5289 -0.1 - vertex 43.8201 -19.7253 -0.1 + vertex 43.3873 -23.2523 -0.2 + vertex 44.2162 -19.5289 -0.2 + vertex 43.8201 -19.7253 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 44.4468 -24.0937 -0.1 - vertex 43.8807 -23.7673 -0.1 - vertex 44.1563 -23.9621 -0.1 + vertex 44.4468 -24.0937 -0.2 + vertex 43.8807 -23.7673 -0.2 + vertex 44.1563 -23.9621 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 43.3873 -23.2523 -0.1 - vertex 43.8201 -19.7253 -0.1 - vertex 43.4033 -19.9696 -0.1 + vertex 43.3873 -23.2523 -0.2 + vertex 43.8201 -19.7253 -0.2 + vertex 43.4033 -19.9696 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 45.6826 -24.0317 -0.1 - vertex 43.6239 -23.5069 -0.1 - vertex 45.3703 -24.1311 -0.1 + vertex 45.6826 -24.0317 -0.2 + vertex 43.6239 -23.5069 -0.2 + vertex 45.3703 -24.1311 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 43.4033 -19.9696 -0.1 - vertex 43.1493 -23.0437 -0.1 - vertex 43.3873 -23.2523 -0.1 + vertex 43.4033 -19.9696 -0.2 + vertex 43.1493 -23.0437 -0.2 + vertex 43.3873 -23.2523 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 42.9547 -20.2657 -0.1 - vertex 43.1493 -23.0437 -0.1 - vertex 43.4033 -19.9696 -0.1 + vertex 42.9547 -20.2657 -0.2 + vertex 43.1493 -23.0437 -0.2 + vertex 43.4033 -19.9696 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.9547 -20.2657 -0.1 - vertex 42.9376 -22.9028 -0.1 - vertex 43.1493 -23.0437 -0.1 + vertex 42.9547 -20.2657 -0.2 + vertex 42.9376 -22.9028 -0.2 + vertex 43.1493 -23.0437 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.9547 -20.2657 -0.1 - vertex 42.8503 -22.8644 -0.1 - vertex 42.9376 -22.9028 -0.1 + vertex 42.9547 -20.2657 -0.2 + vertex 42.8503 -22.8644 -0.2 + vertex 42.9376 -22.9028 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 42.3117 -20.6924 -0.1 - vertex 42.8503 -22.8644 -0.1 - vertex 42.9547 -20.2657 -0.1 + vertex 42.3117 -20.6924 -0.2 + vertex 42.8503 -22.8644 -0.2 + vertex 42.9547 -20.2657 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.8503 -22.8644 -0.1 - vertex 42.3117 -20.6924 -0.1 - vertex 42.7799 -22.851 -0.1 + vertex 42.8503 -22.8644 -0.2 + vertex 42.3117 -20.6924 -0.2 + vertex 42.7799 -22.851 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 42.1116 -20.8028 -0.1 - vertex 42.7799 -22.851 -0.1 - vertex 42.3117 -20.6924 -0.1 + vertex 42.1116 -20.8028 -0.2 + vertex 42.7799 -22.851 -0.2 + vertex 42.3117 -20.6924 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.7799 -22.851 -0.1 - vertex 42.1116 -20.8028 -0.1 - vertex 42.6968 -22.8729 -0.1 + vertex 42.7799 -22.851 -0.2 + vertex 42.1116 -20.8028 -0.2 + vertex 42.6968 -22.8729 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 41.9827 -20.8453 -0.1 - vertex 42.6968 -22.8729 -0.1 - vertex 42.1116 -20.8028 -0.1 + vertex 41.9827 -20.8453 -0.2 + vertex 42.6968 -22.8729 -0.2 + vertex 42.1116 -20.8028 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.6968 -22.8729 -0.1 - vertex 41.9827 -20.8453 -0.1 - vertex 42.5728 -22.9356 -0.1 + vertex 42.6968 -22.8729 -0.2 + vertex 41.9827 -20.8453 -0.2 + vertex 42.5728 -22.9356 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.9427 -20.8413 -0.1 - vertex 42.5728 -22.9356 -0.1 - vertex 41.9827 -20.8453 -0.1 + vertex 41.9427 -20.8413 -0.2 + vertex 42.5728 -22.9356 -0.2 + vertex 41.9827 -20.8453 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.5728 -22.9356 -0.1 - vertex 41.9427 -20.8413 -0.1 - vertex 42.2267 -23.1657 -0.1 + vertex 42.5728 -22.9356 -0.2 + vertex 41.9427 -20.8413 -0.2 + vertex 42.2267 -23.1657 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.7898 -23.5063 -0.1 - vertex 41.9427 -20.8413 -0.1 - vertex 41.9179 -20.8207 -0.1 + vertex 41.7898 -23.5063 -0.2 + vertex 41.9427 -20.8413 -0.2 + vertex 41.9179 -20.8207 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.9427 -20.8413 -0.1 - vertex 41.7898 -23.5063 -0.1 - vertex 42.2267 -23.1657 -0.1 + vertex 41.9427 -20.8413 -0.2 + vertex 41.7898 -23.5063 -0.2 + vertex 42.2267 -23.1657 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 39.5298 -19.7361 -0.1 - vertex 41.9179 -20.8207 -0.1 - vertex 41.9099 -20.7296 -0.1 + vertex 39.5298 -19.7361 -0.2 + vertex 41.9179 -20.8207 -0.2 + vertex 41.9099 -20.7296 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.0356 -20.3507 -0.1 - vertex 41.156 -19.2119 -0.1 - vertex 41.9515 -20.5727 -0.1 + vertex 42.0356 -20.3507 -0.2 + vertex 41.156 -19.2119 -0.2 + vertex 41.9515 -20.5727 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.1595 -19.6516 -0.1 - vertex 41.7426 -19.1572 -0.1 - vertex 41.5436 -19.1343 -0.1 + vertex 42.1595 -19.6516 -0.2 + vertex 41.7426 -19.1572 -0.2 + vertex 41.5436 -19.1343 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 42.1595 -19.6516 -0.1 - vertex 41.5436 -19.1343 -0.1 - vertex 41.3957 -19.1543 -0.1 + vertex 42.1595 -19.6516 -0.2 + vertex 41.5436 -19.1343 -0.2 + vertex 41.3957 -19.1543 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 40.4513 -19.4233 -0.1 - vertex 41.9515 -20.5727 -0.1 - vertex 41.156 -19.2119 -0.1 + vertex 40.4513 -19.4233 -0.2 + vertex 41.9515 -20.5727 -0.2 + vertex 41.156 -19.2119 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.9515 -20.5727 -0.1 - vertex 40.4513 -19.4233 -0.1 - vertex 41.9099 -20.7296 -0.1 + vertex 41.9515 -20.5727 -0.2 + vertex 40.4513 -19.4233 -0.2 + vertex 41.9099 -20.7296 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 39.5298 -19.7361 -0.1 - vertex 41.9099 -20.7296 -0.1 - vertex 40.4513 -19.4233 -0.1 + vertex 39.5298 -19.7361 -0.2 + vertex 41.9099 -20.7296 -0.2 + vertex 40.4513 -19.4233 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.9179 -20.8207 -0.1 - vertex 39.5298 -19.7361 -0.1 - vertex 41.3103 -23.9223 -0.1 + vertex 41.9179 -20.8207 -0.2 + vertex 39.5298 -19.7361 -0.2 + vertex 41.3103 -23.9223 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.9179 -20.8207 -0.1 - vertex 41.3103 -23.9223 -0.1 - vertex 41.7898 -23.5063 -0.1 + vertex 41.9179 -20.8207 -0.2 + vertex 41.3103 -23.9223 -0.2 + vertex 41.7898 -23.5063 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 38.4916 -20.1181 -0.1 - vertex 41.3103 -23.9223 -0.1 - vertex 39.5298 -19.7361 -0.1 + vertex 38.4916 -20.1181 -0.2 + vertex 41.3103 -23.9223 -0.2 + vertex 39.5298 -19.7361 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 41.3103 -23.9223 -0.1 - vertex 38.4916 -20.1181 -0.1 - vertex 40.922 -24.2835 -0.1 + vertex 41.3103 -23.9223 -0.2 + vertex 38.4916 -20.1181 -0.2 + vertex 40.922 -24.2835 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 40.922 -24.2835 -0.1 - vertex 38.4916 -20.1181 -0.1 - vertex 40.604 -24.6171 -0.1 + vertex 40.922 -24.2835 -0.2 + vertex 38.4916 -20.1181 -0.2 + vertex 40.604 -24.6171 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 36.3539 -23.0402 -0.1 - vertex 40.604 -24.6171 -0.1 - vertex 38.4916 -20.1181 -0.1 + vertex 36.3539 -23.0402 -0.2 + vertex 40.604 -24.6171 -0.2 + vertex 38.4916 -20.1181 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 36.3671 -23.1585 -0.1 - vertex 40.604 -24.6171 -0.1 - vertex 36.3539 -23.0402 -0.1 + vertex 36.3671 -23.1585 -0.2 + vertex 40.604 -24.6171 -0.2 + vertex 36.3539 -23.0402 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 40.604 -24.6171 -0.1 - vertex 36.362 -23.3104 -0.1 - vertex 40.3218 -24.9877 -0.1 + vertex 40.604 -24.6171 -0.2 + vertex 36.362 -23.3104 -0.2 + vertex 40.3218 -24.9877 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 36.2977 -23.7121 -0.1 - vertex 40.3218 -24.9877 -0.1 - vertex 36.362 -23.3104 -0.1 + vertex 36.2977 -23.7121 -0.2 + vertex 40.3218 -24.9877 -0.2 + vertex 36.362 -23.3104 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 40.3218 -24.9877 -0.1 - vertex 36.2977 -23.7121 -0.1 - vertex 40.0406 -25.46 -0.1 + vertex 40.3218 -24.9877 -0.2 + vertex 36.2977 -23.7121 -0.2 + vertex 40.0406 -25.46 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.3539 -23.0402 -0.1 - vertex 38.4916 -20.1181 -0.1 - vertex 37.4642 -20.5001 -0.1 + vertex 36.3539 -23.0402 -0.2 + vertex 38.4916 -20.1181 -0.2 + vertex 37.4642 -20.5001 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 36.1622 -24.2394 -0.1 - vertex 40.0406 -25.46 -0.1 - vertex 36.2977 -23.7121 -0.1 + vertex 36.1622 -24.2394 -0.2 + vertex 40.0406 -25.46 -0.2 + vertex 36.2977 -23.7121 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 40.0406 -25.46 -0.1 - vertex 36.1622 -24.2394 -0.1 - vertex 39.7256 -26.0988 -0.1 + vertex 40.0406 -25.46 -0.2 + vertex 36.1622 -24.2394 -0.2 + vertex 39.7256 -26.0988 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.3224 -22.9562 -0.1 - vertex 37.4642 -20.5001 -0.1 - vertex 36.5724 -20.813 -0.1 + vertex 36.3224 -22.9562 -0.2 + vertex 37.4642 -20.5001 -0.2 + vertex 36.5724 -20.813 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 35.957 -24.8864 -0.1 - vertex 39.7256 -26.0988 -0.1 - vertex 36.1622 -24.2394 -0.1 + vertex 35.957 -24.8864 -0.2 + vertex 39.7256 -26.0988 -0.2 + vertex 36.1622 -24.2394 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 39.7256 -26.0988 -0.1 - vertex 35.957 -24.8864 -0.1 - vertex 39.342 -26.9688 -0.1 + vertex 39.7256 -26.0988 -0.2 + vertex 35.957 -24.8864 -0.2 + vertex 39.342 -26.9688 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 36.362 -23.3104 -0.1 - vertex 40.604 -24.6171 -0.1 - vertex 36.3671 -23.1585 -0.1 + vertex 36.362 -23.3104 -0.2 + vertex 40.604 -24.6171 -0.2 + vertex 36.3671 -23.1585 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.4642 -20.5001 -0.1 - vertex 36.3224 -22.9562 -0.1 - vertex 36.3539 -23.0402 -0.1 + vertex 37.4642 -20.5001 -0.2 + vertex 36.3224 -22.9562 -0.2 + vertex 36.3539 -23.0402 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.5724 -20.813 -0.1 - vertex 36.2723 -22.9073 -0.1 - vertex 36.3224 -22.9562 -0.1 + vertex 36.5724 -20.813 -0.2 + vertex 36.2723 -22.9073 -0.2 + vertex 36.3224 -22.9562 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 35.9118 -21.0243 -0.1 - vertex 36.2723 -22.9073 -0.1 - vertex 36.5724 -20.813 -0.1 + vertex 35.9118 -21.0243 -0.2 + vertex 36.2723 -22.9073 -0.2 + vertex 36.5724 -20.813 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.2723 -22.9073 -0.1 - vertex 35.9118 -21.0243 -0.1 - vertex 36.2034 -22.8943 -0.1 + vertex 36.2723 -22.9073 -0.2 + vertex 35.9118 -21.0243 -0.2 + vertex 36.2034 -22.8943 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 35.5778 -21.102 -0.1 - vertex 36.2034 -22.8943 -0.1 - vertex 35.9118 -21.0243 -0.1 + vertex 35.5778 -21.102 -0.2 + vertex 36.2034 -22.8943 -0.2 + vertex 35.9118 -21.0243 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.2034 -22.8943 -0.1 - vertex 35.5778 -21.102 -0.1 - vertex 36.1157 -22.9178 -0.1 + vertex 36.2034 -22.8943 -0.2 + vertex 35.5778 -21.102 -0.2 + vertex 36.1157 -22.9178 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.1157 -22.9178 -0.1 - vertex 35.5778 -21.102 -0.1 - vertex 35.9442 -22.9618 -0.1 + vertex 36.1157 -22.9178 -0.2 + vertex 35.5778 -21.102 -0.2 + vertex 35.9442 -22.9618 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.9442 -22.9618 -0.1 - vertex 35.5778 -21.102 -0.1 - vertex 35.7166 -22.9783 -0.1 + vertex 35.9442 -22.9618 -0.2 + vertex 35.5778 -21.102 -0.2 + vertex 35.7166 -22.9783 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 35.0706 -21.3217 -0.1 - vertex 35.7166 -22.9783 -0.1 - vertex 35.5778 -21.102 -0.1 + vertex 35.0706 -21.3217 -0.2 + vertex 35.7166 -22.9783 -0.2 + vertex 35.5778 -21.102 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.2304 -21.2043 -0.1 - vertex 35.5778 -21.102 -0.1 - vertex 35.4013 -21.1287 -0.1 + vertex 35.2304 -21.2043 -0.2 + vertex 35.5778 -21.102 -0.2 + vertex 35.4013 -21.1287 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.5778 -21.102 -0.1 - vertex 35.2304 -21.2043 -0.1 - vertex 35.0706 -21.3217 -0.1 + vertex 35.5778 -21.102 -0.2 + vertex 35.2304 -21.2043 -0.2 + vertex 35.0706 -21.3217 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 34.9274 -21.474 -0.1 - vertex 35.7166 -22.9783 -0.1 - vertex 35.0706 -21.3217 -0.1 + vertex 34.9274 -21.474 -0.2 + vertex 35.7166 -22.9783 -0.2 + vertex 35.0706 -21.3217 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.7166 -22.9783 -0.1 - vertex 34.9274 -21.474 -0.1 - vertex 35.4626 -22.9668 -0.1 + vertex 35.7166 -22.9783 -0.2 + vertex 34.9274 -21.474 -0.2 + vertex 35.4626 -22.9668 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 34.8063 -21.6543 -0.1 - vertex 35.4626 -22.9668 -0.1 - vertex 34.9274 -21.474 -0.1 + vertex 34.8063 -21.6543 -0.2 + vertex 35.4626 -22.9668 -0.2 + vertex 34.9274 -21.474 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 34.713 -21.8554 -0.1 - vertex 35.4626 -22.9668 -0.1 - vertex 34.8063 -21.6543 -0.1 + vertex 34.713 -21.8554 -0.2 + vertex 35.4626 -22.9668 -0.2 + vertex 34.8063 -21.6543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.4626 -22.9668 -0.1 - vertex 34.713 -21.8554 -0.1 - vertex 35.2118 -22.9271 -0.1 + vertex 35.4626 -22.9668 -0.2 + vertex 34.713 -21.8554 -0.2 + vertex 35.2118 -22.9271 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 34.653 -22.0706 -0.1 - vertex 35.2118 -22.9271 -0.1 - vertex 34.713 -21.8554 -0.1 + vertex 34.653 -22.0706 -0.2 + vertex 35.2118 -22.9271 -0.2 + vertex 34.713 -21.8554 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 34.6318 -22.2927 -0.1 - vertex 35.2118 -22.9271 -0.1 - vertex 34.653 -22.0706 -0.1 + vertex 34.6318 -22.2927 -0.2 + vertex 35.2118 -22.9271 -0.2 + vertex 34.653 -22.0706 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.2118 -22.9271 -0.1 - vertex 34.6318 -22.2927 -0.1 - vertex 34.9345 -22.8399 -0.1 + vertex 35.2118 -22.9271 -0.2 + vertex 34.6318 -22.2927 -0.2 + vertex 34.9345 -22.8399 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 34.6385 -22.4262 -0.1 - vertex 34.9345 -22.8399 -0.1 - vertex 34.6318 -22.2927 -0.1 + vertex 34.6385 -22.4262 -0.2 + vertex 34.9345 -22.8399 -0.2 + vertex 34.6318 -22.2927 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 34.6602 -22.54 -0.1 - vertex 34.9345 -22.8399 -0.1 - vertex 34.6385 -22.4262 -0.1 + vertex 34.6602 -22.54 -0.2 + vertex 34.9345 -22.8399 -0.2 + vertex 34.6385 -22.4262 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 34.9345 -22.8399 -0.1 - vertex 34.6602 -22.54 -0.1 - vertex 34.8338 -22.7839 -0.1 + vertex 34.9345 -22.8399 -0.2 + vertex 34.6602 -22.54 -0.2 + vertex 34.8338 -22.7839 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 34.8338 -22.7839 -0.1 - vertex 34.6602 -22.54 -0.1 - vertex 34.7558 -22.7166 -0.1 + vertex 34.8338 -22.7839 -0.2 + vertex 34.6602 -22.54 -0.2 + vertex 34.7558 -22.7166 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 34.7558 -22.7166 -0.1 - vertex 34.6602 -22.54 -0.1 - vertex 34.6986 -22.636 -0.1 + vertex 34.7558 -22.7166 -0.2 + vertex 34.6602 -22.54 -0.2 + vertex 34.6986 -22.636 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.6954 -36.1853 -0.1 - vertex 38.1248 -36.8464 -0.1 - vertex 38.119 -36.6694 -0.1 + vertex 37.6954 -36.1853 -0.2 + vertex 38.1248 -36.8464 -0.2 + vertex 38.119 -36.6694 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.8576 -36.2498 -0.1 - vertex 38.119 -36.6694 -0.1 - vertex 38.0969 -36.5276 -0.1 + vertex 37.8576 -36.2498 -0.2 + vertex 38.119 -36.6694 -0.2 + vertex 38.0969 -36.5276 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.203 -36.0604 -0.1 - vertex 38.1248 -36.8464 -0.1 - vertex 37.6954 -36.1853 -0.1 + vertex 37.203 -36.0604 -0.2 + vertex 38.1248 -36.8464 -0.2 + vertex 37.6954 -36.1853 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.9736 -36.3241 -0.1 - vertex 38.0969 -36.5276 -0.1 - vertex 38.0509 -36.4146 -0.1 + vertex 37.9736 -36.3241 -0.2 + vertex 38.0969 -36.5276 -0.2 + vertex 38.0509 -36.4146 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.1248 -36.8464 -0.1 - vertex 37.203 -36.0604 -0.1 - vertex 38.103 -37.2562 -0.1 + vertex 38.1248 -36.8464 -0.2 + vertex 37.203 -36.0604 -0.2 + vertex 38.103 -37.2562 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.0969 -36.5276 -0.1 - vertex 37.9736 -36.3241 -0.1 - vertex 37.8576 -36.2498 -0.1 + vertex 38.0969 -36.5276 -0.2 + vertex 37.9736 -36.3241 -0.2 + vertex 37.8576 -36.2498 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.119 -36.6694 -0.1 - vertex 37.8576 -36.2498 -0.1 - vertex 37.6954 -36.1853 -0.1 + vertex 38.119 -36.6694 -0.2 + vertex 37.8576 -36.2498 -0.2 + vertex 37.6954 -36.1853 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 37.3927 -37.9628 -0.1 - vertex 38.103 -37.2562 -0.1 - vertex 37.203 -36.0604 -0.1 + vertex 37.3927 -37.9628 -0.2 + vertex 38.103 -37.2562 -0.2 + vertex 37.203 -36.0604 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 37.7849 -37.8018 -0.1 - vertex 38.0668 -37.4245 -0.1 - vertex 37.6132 -37.8903 -0.1 + vertex 37.7849 -37.8018 -0.2 + vertex 38.0668 -37.4245 -0.2 + vertex 37.6132 -37.8903 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.0668 -37.4245 -0.1 - vertex 37.7849 -37.8018 -0.1 - vertex 38.0057 -37.5705 -0.1 + vertex 38.0668 -37.4245 -0.2 + vertex 37.7849 -37.8018 -0.2 + vertex 38.0057 -37.5705 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.0057 -37.5705 -0.1 - vertex 37.7849 -37.8018 -0.1 - vertex 37.9137 -37.6957 -0.1 + vertex 38.0057 -37.5705 -0.2 + vertex 37.7849 -37.8018 -0.2 + vertex 37.9137 -37.6957 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 37.6132 -37.8903 -0.1 - vertex 38.103 -37.2562 -0.1 - vertex 37.3927 -37.9628 -0.1 + vertex 37.6132 -37.8903 -0.2 + vertex 38.103 -37.2562 -0.2 + vertex 37.3927 -37.9628 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.103 -37.2562 -0.1 - vertex 37.6132 -37.8903 -0.1 - vertex 38.0668 -37.4245 -0.1 + vertex 38.103 -37.2562 -0.2 + vertex 37.6132 -37.8903 -0.2 + vertex 38.0668 -37.4245 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.203 -36.0604 -0.1 - vertex 37.1174 -38.0208 -0.1 - vertex 37.3927 -37.9628 -0.1 + vertex 37.203 -36.0604 -0.2 + vertex 37.1174 -38.0208 -0.2 + vertex 37.3927 -37.9628 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.203 -36.0604 -0.1 - vertex 36.7812 -38.066 -0.1 - vertex 37.1174 -38.0208 -0.1 + vertex 37.203 -36.0604 -0.2 + vertex 36.7812 -38.066 -0.2 + vertex 37.1174 -38.0208 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.6812 -35.9318 -0.1 - vertex 36.7812 -38.066 -0.1 - vertex 37.203 -36.0604 -0.1 + vertex 36.6812 -35.9318 -0.2 + vertex 36.7812 -38.066 -0.2 + vertex 37.203 -36.0604 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.9024 -38.1241 -0.1 - vertex 36.6812 -35.9318 -0.1 - vertex 36.5187 -35.8653 -0.1 + vertex 35.9024 -38.1241 -0.2 + vertex 36.6812 -35.9318 -0.2 + vertex 36.5187 -35.8653 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 35.9024 -38.1241 -0.1 - vertex 36.5187 -35.8653 -0.1 - vertex 36.4089 -35.7834 -0.1 + vertex 35.9024 -38.1241 -0.2 + vertex 36.5187 -35.8653 -0.2 + vertex 36.4089 -35.7834 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 34.7085 -38.1497 -0.1 - vertex 36.4089 -35.7834 -0.1 - vertex 36.3422 -35.6758 -0.1 + vertex 34.7085 -38.1497 -0.2 + vertex 36.4089 -35.7834 -0.2 + vertex 36.3422 -35.6758 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 34.7085 -38.1497 -0.1 - vertex 36.3422 -35.6758 -0.1 - vertex 36.3089 -35.532 -0.1 + vertex 34.7085 -38.1497 -0.2 + vertex 36.3422 -35.6758 -0.2 + vertex 36.3089 -35.532 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 37.444 -31.6395 -0.1 - vertex 33.8561 -30.1753 -0.1 - vertex 36.8389 -33.2656 -0.1 + vertex 37.444 -31.6395 -0.2 + vertex 33.8561 -30.1753 -0.2 + vertex 36.8389 -33.2656 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 33.1139 -32.0001 -0.1 - vertex 36.8389 -33.2656 -0.1 - vertex 33.8561 -30.1753 -0.1 + vertex 33.1139 -32.0001 -0.2 + vertex 36.8389 -33.2656 -0.2 + vertex 33.8561 -30.1753 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.6812 -35.9318 -0.1 - vertex 35.9024 -38.1241 -0.1 - vertex 36.7812 -38.066 -0.1 + vertex 36.6812 -35.9318 -0.2 + vertex 35.9024 -38.1241 -0.2 + vertex 36.7812 -38.066 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 32.0766 -34.3595 -0.1 - vertex 36.3089 -35.532 -0.1 - vertex 36.2992 -35.3418 -0.1 + vertex 32.0766 -34.3595 -0.2 + vertex 36.3089 -35.532 -0.2 + vertex 36.2992 -35.3418 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.8389 -33.2656 -0.1 - vertex 33.1139 -32.0001 -0.1 - vertex 36.4479 -34.448 -0.1 + vertex 36.8389 -33.2656 -0.2 + vertex 33.1139 -32.0001 -0.2 + vertex 36.4479 -34.448 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 32.5373 -33.371 -0.1 - vertex 36.4479 -34.448 -0.1 - vertex 33.1139 -32.0001 -0.1 + vertex 32.5373 -33.371 -0.2 + vertex 36.4479 -34.448 -0.2 + vertex 33.1139 -32.0001 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.4479 -34.448 -0.1 - vertex 32.5373 -33.371 -0.1 - vertex 36.3428 -34.844 -0.1 + vertex 36.4479 -34.448 -0.2 + vertex 32.5373 -33.371 -0.2 + vertex 36.3428 -34.844 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.3428 -34.844 -0.1 - vertex 32.5373 -33.371 -0.1 - vertex 36.3035 -35.0946 -0.1 + vertex 36.3428 -34.844 -0.2 + vertex 32.5373 -33.371 -0.2 + vertex 36.3035 -35.0946 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 32.0766 -34.3595 -0.1 - vertex 36.3035 -35.0946 -0.1 - vertex 32.5373 -33.371 -0.1 + vertex 32.0766 -34.3595 -0.2 + vertex 36.3035 -35.0946 -0.2 + vertex 32.5373 -33.371 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.3035 -35.0946 -0.1 - vertex 32.0766 -34.3595 -0.1 - vertex 36.2992 -35.3418 -0.1 + vertex 36.3035 -35.0946 -0.2 + vertex 32.0766 -34.3595 -0.2 + vertex 36.2992 -35.3418 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.4089 -35.7834 -0.1 - vertex 34.7085 -38.1497 -0.1 - vertex 35.9024 -38.1241 -0.1 + vertex 36.4089 -35.7834 -0.2 + vertex 34.7085 -38.1497 -0.2 + vertex 35.9024 -38.1241 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.3089 -35.532 -0.1 - vertex 32.0766 -34.3595 -0.1 - vertex 31.8743 -34.7329 -0.1 + vertex 36.3089 -35.532 -0.2 + vertex 32.0766 -34.3595 -0.2 + vertex 31.8743 -34.7329 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 36.3089 -35.532 -0.1 - vertex 31.8743 -34.7329 -0.1 - vertex 34.7085 -38.1497 -0.1 + vertex 36.3089 -35.532 -0.2 + vertex 31.8743 -34.7329 -0.2 + vertex 34.7085 -38.1497 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 34.7085 -38.1497 -0.1 - vertex 31.8743 -34.7329 -0.1 - vertex 33.1514 -38.1555 -0.1 + vertex 34.7085 -38.1497 -0.2 + vertex 31.8743 -34.7329 -0.2 + vertex 33.1514 -38.1555 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 31.6824 -35.0376 -0.1 - vertex 33.1514 -38.1555 -0.1 - vertex 31.8743 -34.7329 -0.1 + vertex 31.6824 -35.0376 -0.2 + vertex 33.1514 -38.1555 -0.2 + vertex 31.8743 -34.7329 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 31.4948 -35.2825 -0.1 - vertex 33.1514 -38.1555 -0.1 - vertex 31.6824 -35.0376 -0.1 + vertex 31.4948 -35.2825 -0.2 + vertex 33.1514 -38.1555 -0.2 + vertex 31.6824 -35.0376 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 31.3052 -35.4767 -0.1 - vertex 33.1514 -38.1555 -0.1 - vertex 31.4948 -35.2825 -0.1 + vertex 31.3052 -35.4767 -0.2 + vertex 33.1514 -38.1555 -0.2 + vertex 31.4948 -35.2825 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 31.1075 -35.6291 -0.1 - vertex 33.1514 -38.1555 -0.1 - vertex 31.3052 -35.4767 -0.1 + vertex 31.1075 -35.6291 -0.2 + vertex 33.1514 -38.1555 -0.2 + vertex 31.3052 -35.4767 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 33.1514 -38.1555 -0.1 - vertex 31.1075 -35.6291 -0.1 - vertex 31.1824 -38.1409 -0.1 + vertex 33.1514 -38.1555 -0.2 + vertex 31.1075 -35.6291 -0.2 + vertex 31.1824 -38.1409 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 30.8955 -35.7486 -0.1 - vertex 31.1824 -38.1409 -0.1 - vertex 31.1075 -35.6291 -0.1 + vertex 30.8955 -35.7486 -0.2 + vertex 31.1824 -38.1409 -0.2 + vertex 31.1075 -35.6291 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 30.6629 -35.8443 -0.1 - vertex 31.1824 -38.1409 -0.1 - vertex 30.8955 -35.7486 -0.1 + vertex 30.6629 -35.8443 -0.2 + vertex 31.1824 -38.1409 -0.2 + vertex 30.8955 -35.7486 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 30.4037 -35.9251 -0.1 - vertex 31.1824 -38.1409 -0.1 - vertex 30.6629 -35.8443 -0.1 + vertex 30.4037 -35.9251 -0.2 + vertex 31.1824 -38.1409 -0.2 + vertex 30.6629 -35.8443 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.4037 -35.9251 -0.1 - vertex 29.8192 -38.0948 -0.1 - vertex 31.1824 -38.1409 -0.1 + vertex 30.4037 -35.9251 -0.2 + vertex 29.8192 -38.0948 -0.2 + vertex 31.1824 -38.1409 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.7804 -36.0779 -0.1 - vertex 29.8192 -38.0948 -0.1 - vertex 30.4037 -35.9251 -0.1 + vertex 29.7804 -36.0779 -0.2 + vertex 29.8192 -38.0948 -0.2 + vertex 30.4037 -35.9251 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.5705 -36.1356 -0.1 - vertex 29.8192 -38.0948 -0.1 - vertex 29.7804 -36.0779 -0.1 + vertex 29.5705 -36.1356 -0.2 + vertex 29.8192 -38.0948 -0.2 + vertex 29.7804 -36.0779 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.3757 -36.2065 -0.1 - vertex 29.8192 -38.0948 -0.1 - vertex 29.5705 -36.1356 -0.1 + vertex 29.3757 -36.2065 -0.2 + vertex 29.8192 -38.0948 -0.2 + vertex 29.5705 -36.1356 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.1966 -36.2895 -0.1 - vertex 29.8192 -38.0948 -0.1 - vertex 29.3757 -36.2065 -0.1 + vertex 29.1966 -36.2895 -0.2 + vertex 29.8192 -38.0948 -0.2 + vertex 29.3757 -36.2065 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.8192 -38.0948 -0.1 - vertex 29.1966 -36.2895 -0.1 - vertex 29.3448 -38.0588 -0.1 + vertex 29.8192 -38.0948 -0.2 + vertex 29.1966 -36.2895 -0.2 + vertex 29.3448 -38.0588 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.034 -36.3831 -0.1 - vertex 29.3448 -38.0588 -0.1 - vertex 29.1966 -36.2895 -0.1 + vertex 29.034 -36.3831 -0.2 + vertex 29.3448 -38.0588 -0.2 + vertex 29.1966 -36.2895 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.8888 -36.4863 -0.1 - vertex 29.3448 -38.0588 -0.1 - vertex 29.034 -36.3831 -0.1 + vertex 28.8888 -36.4863 -0.2 + vertex 29.3448 -38.0588 -0.2 + vertex 29.034 -36.3831 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.7617 -36.5978 -0.1 - vertex 29.3448 -38.0588 -0.1 - vertex 28.8888 -36.4863 -0.1 + vertex 28.7617 -36.5978 -0.2 + vertex 29.3448 -38.0588 -0.2 + vertex 28.8888 -36.4863 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.6534 -36.7163 -0.1 - vertex 29.3448 -38.0588 -0.1 - vertex 28.7617 -36.5978 -0.1 + vertex 28.6534 -36.7163 -0.2 + vertex 29.3448 -38.0588 -0.2 + vertex 28.7617 -36.5978 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.3448 -38.0588 -0.1 - vertex 28.6534 -36.7163 -0.1 - vertex 28.9979 -38.0135 -0.1 + vertex 29.3448 -38.0588 -0.2 + vertex 28.6534 -36.7163 -0.2 + vertex 28.9979 -38.0135 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.5648 -36.8405 -0.1 - vertex 28.9979 -38.0135 -0.1 - vertex 28.6534 -36.7163 -0.1 + vertex 28.5648 -36.8405 -0.2 + vertex 28.9979 -38.0135 -0.2 + vertex 28.6534 -36.7163 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.4965 -36.9693 -0.1 - vertex 28.9979 -38.0135 -0.1 - vertex 28.5648 -36.8405 -0.1 + vertex 28.4965 -36.9693 -0.2 + vertex 28.9979 -38.0135 -0.2 + vertex 28.5648 -36.8405 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.4495 -37.1014 -0.1 - vertex 28.9979 -38.0135 -0.1 - vertex 28.4965 -36.9693 -0.1 + vertex 28.4495 -37.1014 -0.2 + vertex 28.9979 -38.0135 -0.2 + vertex 28.4965 -36.9693 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.7706 -37.9584 -0.1 - vertex 28.5587 -37.7674 -0.1 - vertex 28.6548 -37.8931 -0.1 + vertex 28.7706 -37.9584 -0.2 + vertex 28.5587 -37.7674 -0.2 + vertex 28.6548 -37.8931 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.4243 -37.2355 -0.1 - vertex 28.9979 -38.0135 -0.1 - vertex 28.4495 -37.1014 -0.1 + vertex 28.4243 -37.2355 -0.2 + vertex 28.9979 -38.0135 -0.2 + vertex 28.4495 -37.1014 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.9979 -38.0135 -0.1 - vertex 28.5587 -37.7674 -0.1 - vertex 28.7706 -37.9584 -0.1 + vertex 28.9979 -38.0135 -0.2 + vertex 28.5587 -37.7674 -0.2 + vertex 28.7706 -37.9584 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.4219 -37.3704 -0.1 - vertex 28.9979 -38.0135 -0.1 - vertex 28.4243 -37.2355 -0.1 + vertex 28.4219 -37.3704 -0.2 + vertex 28.9979 -38.0135 -0.2 + vertex 28.4243 -37.2355 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 28.5587 -37.7674 -0.1 - vertex 28.9979 -38.0135 -0.1 - vertex 28.4883 -37.6376 -0.1 + vertex 28.5587 -37.7674 -0.2 + vertex 28.9979 -38.0135 -0.2 + vertex 28.4883 -37.6376 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 28.4883 -37.6376 -0.1 - vertex 28.9979 -38.0135 -0.1 - vertex 28.443 -37.5048 -0.1 + vertex 28.4883 -37.6376 -0.2 + vertex 28.9979 -38.0135 -0.2 + vertex 28.443 -37.5048 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.9979 -38.0135 -0.1 - vertex 28.4219 -37.3704 -0.1 - vertex 28.443 -37.5048 -0.1 + vertex 28.9979 -38.0135 -0.2 + vertex 28.4219 -37.3704 -0.2 + vertex 28.443 -37.5048 -0.2 endloop endfacet facet normal -0.131122 -0.991366 0 outer loop - vertex 46.8289 -19.1548 -0.1 + vertex 46.8289 -19.1548 -0.2 vertex 47.044 -19.1833 0 vertex 46.8289 -19.1548 0 endloop @@ -20519,13 +20519,13 @@ solid OpenSCAD_Model facet normal -0.131122 -0.991366 -0 outer loop vertex 47.044 -19.1833 0 - vertex 46.8289 -19.1548 -0.1 - vertex 47.044 -19.1833 -0.1 + vertex 46.8289 -19.1548 -0.2 + vertex 47.044 -19.1833 -0.2 endloop endfacet facet normal -0.230596 -0.97305 0 outer loop - vertex 47.044 -19.1833 -0.1 + vertex 47.044 -19.1833 -0.2 vertex 47.2257 -19.2263 0 vertex 47.044 -19.1833 0 endloop @@ -20533,13 +20533,13 @@ solid OpenSCAD_Model facet normal -0.230596 -0.97305 -0 outer loop vertex 47.2257 -19.2263 0 - vertex 47.044 -19.1833 -0.1 - vertex 47.2257 -19.2263 -0.1 + vertex 47.044 -19.1833 -0.2 + vertex 47.2257 -19.2263 -0.2 endloop endfacet facet normal -0.359881 -0.932998 0 outer loop - vertex 47.2257 -19.2263 -0.1 + vertex 47.2257 -19.2263 -0.2 vertex 47.3799 -19.2858 0 vertex 47.2257 -19.2263 0 endloop @@ -20547,13 +20547,13 @@ solid OpenSCAD_Model facet normal -0.359881 -0.932998 -0 outer loop vertex 47.3799 -19.2858 0 - vertex 47.2257 -19.2263 -0.1 - vertex 47.3799 -19.2858 -0.1 + vertex 47.2257 -19.2263 -0.2 + vertex 47.3799 -19.2858 -0.2 endloop endfacet facet normal -0.505271 -0.862961 0 outer loop - vertex 47.3799 -19.2858 -0.1 + vertex 47.3799 -19.2858 -0.2 vertex 47.5127 -19.3635 0 vertex 47.3799 -19.2858 0 endloop @@ -20561,13 +20561,13 @@ solid OpenSCAD_Model facet normal -0.505271 -0.862961 -0 outer loop vertex 47.5127 -19.3635 0 - vertex 47.3799 -19.2858 -0.1 - vertex 47.5127 -19.3635 -0.1 + vertex 47.3799 -19.2858 -0.2 + vertex 47.5127 -19.3635 -0.2 endloop endfacet facet normal -0.640123 -0.768272 0 outer loop - vertex 47.5127 -19.3635 -0.1 + vertex 47.5127 -19.3635 -0.2 vertex 47.6302 -19.4614 0 vertex 47.5127 -19.3635 0 endloop @@ -20575,209 +20575,209 @@ solid OpenSCAD_Model facet normal -0.640123 -0.768272 -0 outer loop vertex 47.6302 -19.4614 0 - vertex 47.5127 -19.3635 -0.1 - vertex 47.6302 -19.4614 -0.1 + vertex 47.5127 -19.3635 -0.2 + vertex 47.6302 -19.4614 -0.2 endloop endfacet facet normal -0.742266 -0.670106 0 outer loop - vertex 47.7384 -19.5813 -0.1 + vertex 47.7384 -19.5813 -0.2 vertex 47.6302 -19.4614 0 - vertex 47.6302 -19.4614 -0.1 + vertex 47.6302 -19.4614 -0.2 endloop endfacet facet normal -0.742266 -0.670106 0 outer loop vertex 47.6302 -19.4614 0 - vertex 47.7384 -19.5813 -0.1 + vertex 47.7384 -19.5813 -0.2 vertex 47.7384 -19.5813 0 endloop endfacet facet normal -0.797332 -0.60354 0 outer loop - vertex 47.845 -19.7221 -0.1 + vertex 47.845 -19.7221 -0.2 vertex 47.7384 -19.5813 0 - vertex 47.7384 -19.5813 -0.1 + vertex 47.7384 -19.5813 -0.2 endloop endfacet facet normal -0.797332 -0.60354 0 outer loop vertex 47.7384 -19.5813 0 - vertex 47.845 -19.7221 -0.1 + vertex 47.845 -19.7221 -0.2 vertex 47.845 -19.7221 0 endloop endfacet facet normal -0.85488 -0.518827 0 outer loop - vertex 47.9233 -19.8512 -0.1 + vertex 47.9233 -19.8512 -0.2 vertex 47.845 -19.7221 0 - vertex 47.845 -19.7221 -0.1 + vertex 47.845 -19.7221 -0.2 endloop endfacet facet normal -0.85488 -0.518827 0 outer loop vertex 47.845 -19.7221 0 - vertex 47.9233 -19.8512 -0.1 + vertex 47.9233 -19.8512 -0.2 vertex 47.9233 -19.8512 0 endloop endfacet facet normal -0.930142 -0.367201 0 outer loop - vertex 47.9745 -19.9807 -0.1 + vertex 47.9745 -19.9807 -0.2 vertex 47.9233 -19.8512 0 - vertex 47.9233 -19.8512 -0.1 + vertex 47.9233 -19.8512 -0.2 endloop endfacet facet normal -0.930142 -0.367201 0 outer loop vertex 47.9233 -19.8512 0 - vertex 47.9745 -19.9807 -0.1 + vertex 47.9745 -19.9807 -0.2 vertex 47.9745 -19.9807 0 endloop endfacet facet normal -0.985048 -0.172278 0 outer loop - vertex 47.9993 -20.1225 -0.1 + vertex 47.9993 -20.1225 -0.2 vertex 47.9745 -19.9807 0 - vertex 47.9745 -19.9807 -0.1 + vertex 47.9745 -19.9807 -0.2 endloop endfacet facet normal -0.985048 -0.172278 0 outer loop vertex 47.9745 -19.9807 0 - vertex 47.9993 -20.1225 -0.1 + vertex 47.9993 -20.1225 -0.2 vertex 47.9993 -20.1225 0 endloop endfacet facet normal -0.999994 0.0034209 0 outer loop - vertex 47.9987 -20.2887 -0.1 + vertex 47.9987 -20.2887 -0.2 vertex 47.9993 -20.1225 0 - vertex 47.9993 -20.1225 -0.1 + vertex 47.9993 -20.1225 -0.2 endloop endfacet facet normal -0.999994 0.0034209 0 outer loop vertex 47.9993 -20.1225 0 - vertex 47.9987 -20.2887 -0.1 + vertex 47.9987 -20.2887 -0.2 vertex 47.9987 -20.2887 0 endloop endfacet facet normal -0.992465 0.122526 0 outer loop - vertex 47.9737 -20.4912 -0.1 + vertex 47.9737 -20.4912 -0.2 vertex 47.9987 -20.2887 0 - vertex 47.9987 -20.2887 -0.1 + vertex 47.9987 -20.2887 -0.2 endloop endfacet facet normal -0.992465 0.122526 0 outer loop vertex 47.9987 -20.2887 0 - vertex 47.9737 -20.4912 -0.1 + vertex 47.9737 -20.4912 -0.2 vertex 47.9737 -20.4912 0 endloop endfacet facet normal -0.97813 0.207995 0 outer loop - vertex 47.8542 -21.0531 -0.1 + vertex 47.8542 -21.0531 -0.2 vertex 47.9737 -20.4912 0 - vertex 47.9737 -20.4912 -0.1 + vertex 47.9737 -20.4912 -0.2 endloop endfacet facet normal -0.97813 0.207995 0 outer loop vertex 47.9737 -20.4912 0 - vertex 47.8542 -21.0531 -0.1 + vertex 47.8542 -21.0531 -0.2 vertex 47.8542 -21.0531 0 endloop endfacet facet normal -0.962149 0.272524 0 outer loop - vertex 47.7155 -21.5429 -0.1 + vertex 47.7155 -21.5429 -0.2 vertex 47.8542 -21.0531 0 - vertex 47.8542 -21.0531 -0.1 + vertex 47.8542 -21.0531 -0.2 endloop endfacet facet normal -0.962149 0.272524 0 outer loop vertex 47.8542 -21.0531 0 - vertex 47.7155 -21.5429 -0.1 + vertex 47.7155 -21.5429 -0.2 vertex 47.7155 -21.5429 0 endloop endfacet facet normal -0.934598 0.355705 0 outer loop - vertex 47.5422 -21.9981 -0.1 + vertex 47.5422 -21.9981 -0.2 vertex 47.7155 -21.5429 0 - vertex 47.7155 -21.5429 -0.1 + vertex 47.7155 -21.5429 -0.2 endloop endfacet facet normal -0.934598 0.355705 0 outer loop vertex 47.7155 -21.5429 0 - vertex 47.5422 -21.9981 -0.1 + vertex 47.5422 -21.9981 -0.2 vertex 47.5422 -21.9981 0 endloop endfacet facet normal -0.898902 0.438149 0 outer loop - vertex 47.3383 -22.4165 -0.1 + vertex 47.3383 -22.4165 -0.2 vertex 47.5422 -21.9981 0 - vertex 47.5422 -21.9981 -0.1 + vertex 47.5422 -21.9981 -0.2 endloop endfacet facet normal -0.898902 0.438149 0 outer loop vertex 47.5422 -21.9981 0 - vertex 47.3383 -22.4165 -0.1 + vertex 47.3383 -22.4165 -0.2 vertex 47.3383 -22.4165 0 endloop endfacet facet normal -0.854314 0.519757 0 outer loop - vertex 47.1074 -22.796 -0.1 + vertex 47.1074 -22.796 -0.2 vertex 47.3383 -22.4165 0 - vertex 47.3383 -22.4165 -0.1 + vertex 47.3383 -22.4165 -0.2 endloop endfacet facet normal -0.854314 0.519757 0 outer loop vertex 47.3383 -22.4165 0 - vertex 47.1074 -22.796 -0.1 + vertex 47.1074 -22.796 -0.2 vertex 47.1074 -22.796 0 endloop endfacet facet normal -0.79973 0.600359 0 outer loop - vertex 46.8534 -23.1343 -0.1 + vertex 46.8534 -23.1343 -0.2 vertex 47.1074 -22.796 0 - vertex 47.1074 -22.796 -0.1 + vertex 47.1074 -22.796 -0.2 endloop endfacet facet normal -0.79973 0.600359 0 outer loop vertex 47.1074 -22.796 0 - vertex 46.8534 -23.1343 -0.1 + vertex 46.8534 -23.1343 -0.2 vertex 46.8534 -23.1343 0 endloop endfacet facet normal -0.73354 0.679647 0 outer loop - vertex 46.5801 -23.4293 -0.1 + vertex 46.5801 -23.4293 -0.2 vertex 46.8534 -23.1343 0 - vertex 46.8534 -23.1343 -0.1 + vertex 46.8534 -23.1343 -0.2 endloop endfacet facet normal -0.73354 0.679647 0 outer loop vertex 46.8534 -23.1343 0 - vertex 46.5801 -23.4293 -0.1 + vertex 46.5801 -23.4293 -0.2 vertex 46.5801 -23.4293 0 endloop endfacet facet normal -0.653573 0.756863 0 outer loop - vertex 46.5801 -23.4293 -0.1 + vertex 46.5801 -23.4293 -0.2 vertex 46.2914 -23.6786 0 vertex 46.5801 -23.4293 0 endloop @@ -20785,13 +20785,13 @@ solid OpenSCAD_Model facet normal -0.653573 0.756863 0 outer loop vertex 46.2914 -23.6786 0 - vertex 46.5801 -23.4293 -0.1 - vertex 46.2914 -23.6786 -0.1 + vertex 46.5801 -23.4293 -0.2 + vertex 46.2914 -23.6786 -0.2 endloop endfacet facet normal -0.557126 0.830428 0 outer loop - vertex 46.2914 -23.6786 -0.1 + vertex 46.2914 -23.6786 -0.2 vertex 45.9909 -23.8802 0 vertex 46.2914 -23.6786 0 endloop @@ -20799,13 +20799,13 @@ solid OpenSCAD_Model facet normal -0.557126 0.830428 0 outer loop vertex 45.9909 -23.8802 0 - vertex 46.2914 -23.6786 -0.1 - vertex 45.9909 -23.8802 -0.1 + vertex 46.2914 -23.6786 -0.2 + vertex 45.9909 -23.8802 -0.2 endloop endfacet facet normal -0.441145 0.897436 0 outer loop - vertex 45.9909 -23.8802 -0.1 + vertex 45.9909 -23.8802 -0.2 vertex 45.6826 -24.0317 0 vertex 45.9909 -23.8802 0 endloop @@ -20813,13 +20813,13 @@ solid OpenSCAD_Model facet normal -0.441145 0.897436 0 outer loop vertex 45.6826 -24.0317 0 - vertex 45.9909 -23.8802 -0.1 - vertex 45.6826 -24.0317 -0.1 + vertex 45.9909 -23.8802 -0.2 + vertex 45.6826 -24.0317 -0.2 endloop endfacet facet normal -0.303061 0.952971 0 outer loop - vertex 45.6826 -24.0317 -0.1 + vertex 45.6826 -24.0317 -0.2 vertex 45.3703 -24.1311 0 vertex 45.6826 -24.0317 0 endloop @@ -20827,13 +20827,13 @@ solid OpenSCAD_Model facet normal -0.303061 0.952971 0 outer loop vertex 45.3703 -24.1311 0 - vertex 45.6826 -24.0317 -0.1 - vertex 45.3703 -24.1311 -0.1 + vertex 45.6826 -24.0317 -0.2 + vertex 45.3703 -24.1311 -0.2 endloop endfacet facet normal -0.142218 0.989835 0 outer loop - vertex 45.3703 -24.1311 -0.1 + vertex 45.3703 -24.1311 -0.2 vertex 45.0576 -24.176 0 vertex 45.3703 -24.1311 0 endloop @@ -20841,13 +20841,13 @@ solid OpenSCAD_Model facet normal -0.142218 0.989835 0 outer loop vertex 45.0576 -24.176 0 - vertex 45.3703 -24.1311 -0.1 - vertex 45.0576 -24.176 -0.1 + vertex 45.3703 -24.1311 -0.2 + vertex 45.0576 -24.176 -0.2 endloop endfacet facet normal 0.0378695 0.999283 -0 outer loop - vertex 45.0576 -24.176 -0.1 + vertex 45.0576 -24.176 -0.2 vertex 44.7485 -24.1643 0 vertex 45.0576 -24.176 0 endloop @@ -20855,13 +20855,13 @@ solid OpenSCAD_Model facet normal 0.0378695 0.999283 0 outer loop vertex 44.7485 -24.1643 0 - vertex 45.0576 -24.176 -0.1 - vertex 44.7485 -24.1643 -0.1 + vertex 45.0576 -24.176 -0.2 + vertex 44.7485 -24.1643 -0.2 endloop endfacet facet normal 0.227696 0.973732 -0 outer loop - vertex 44.7485 -24.1643 -0.1 + vertex 44.7485 -24.1643 -0.2 vertex 44.4468 -24.0937 0 vertex 44.7485 -24.1643 0 endloop @@ -20869,13 +20869,13 @@ solid OpenSCAD_Model facet normal 0.227696 0.973732 0 outer loop vertex 44.4468 -24.0937 0 - vertex 44.7485 -24.1643 -0.1 - vertex 44.4468 -24.0937 -0.1 + vertex 44.7485 -24.1643 -0.2 + vertex 44.4468 -24.0937 -0.2 endloop endfacet facet normal 0.412594 0.910915 -0 outer loop - vertex 44.4468 -24.0937 -0.1 + vertex 44.4468 -24.0937 -0.2 vertex 44.1563 -23.9621 0 vertex 44.4468 -24.0937 0 endloop @@ -20883,13 +20883,13 @@ solid OpenSCAD_Model facet normal 0.412594 0.910915 0 outer loop vertex 44.1563 -23.9621 0 - vertex 44.4468 -24.0937 -0.1 - vertex 44.1563 -23.9621 -0.1 + vertex 44.4468 -24.0937 -0.2 + vertex 44.1563 -23.9621 -0.2 endloop endfacet facet normal 0.57736 0.81649 -0 outer loop - vertex 44.1563 -23.9621 -0.1 + vertex 44.1563 -23.9621 -0.2 vertex 43.8807 -23.7673 0 vertex 44.1563 -23.9621 0 endloop @@ -20897,41 +20897,41 @@ solid OpenSCAD_Model facet normal 0.57736 0.81649 0 outer loop vertex 43.8807 -23.7673 0 - vertex 44.1563 -23.9621 -0.1 - vertex 43.8807 -23.7673 -0.1 + vertex 44.1563 -23.9621 -0.2 + vertex 43.8807 -23.7673 -0.2 endloop endfacet facet normal 0.711931 0.70225 0 outer loop vertex 43.8807 -23.7673 0 - vertex 43.6239 -23.5069 -0.1 + vertex 43.6239 -23.5069 -0.2 vertex 43.6239 -23.5069 0 endloop endfacet facet normal 0.711931 0.70225 0 outer loop - vertex 43.6239 -23.5069 -0.1 + vertex 43.6239 -23.5069 -0.2 vertex 43.8807 -23.7673 0 - vertex 43.8807 -23.7673 -0.1 + vertex 43.8807 -23.7673 -0.2 endloop endfacet facet normal 0.732645 0.680611 0 outer loop vertex 43.6239 -23.5069 0 - vertex 43.3873 -23.2523 -0.1 + vertex 43.3873 -23.2523 -0.2 vertex 43.3873 -23.2523 0 endloop endfacet facet normal 0.732645 0.680611 0 outer loop - vertex 43.3873 -23.2523 -0.1 + vertex 43.3873 -23.2523 -0.2 vertex 43.6239 -23.5069 0 - vertex 43.6239 -23.5069 -0.1 + vertex 43.6239 -23.5069 -0.2 endloop endfacet facet normal 0.659068 0.752084 -0 outer loop - vertex 43.3873 -23.2523 -0.1 + vertex 43.3873 -23.2523 -0.2 vertex 43.1493 -23.0437 0 vertex 43.3873 -23.2523 0 endloop @@ -20939,13 +20939,13 @@ solid OpenSCAD_Model facet normal 0.659068 0.752084 0 outer loop vertex 43.1493 -23.0437 0 - vertex 43.3873 -23.2523 -0.1 - vertex 43.1493 -23.0437 -0.1 + vertex 43.3873 -23.2523 -0.2 + vertex 43.1493 -23.0437 -0.2 endloop endfacet facet normal 0.55411 0.832444 -0 outer loop - vertex 43.1493 -23.0437 -0.1 + vertex 43.1493 -23.0437 -0.2 vertex 42.9376 -22.9028 0 vertex 43.1493 -23.0437 0 endloop @@ -20953,13 +20953,13 @@ solid OpenSCAD_Model facet normal 0.55411 0.832444 0 outer loop vertex 42.9376 -22.9028 0 - vertex 43.1493 -23.0437 -0.1 - vertex 42.9376 -22.9028 -0.1 + vertex 43.1493 -23.0437 -0.2 + vertex 42.9376 -22.9028 -0.2 endloop endfacet facet normal 0.402192 0.915555 -0 outer loop - vertex 42.9376 -22.9028 -0.1 + vertex 42.9376 -22.9028 -0.2 vertex 42.8503 -22.8644 0 vertex 42.9376 -22.9028 0 endloop @@ -20967,13 +20967,13 @@ solid OpenSCAD_Model facet normal 0.402192 0.915555 0 outer loop vertex 42.8503 -22.8644 0 - vertex 42.9376 -22.9028 -0.1 - vertex 42.8503 -22.8644 -0.1 + vertex 42.9376 -22.9028 -0.2 + vertex 42.8503 -22.8644 -0.2 endloop endfacet facet normal 0.186876 0.982384 -0 outer loop - vertex 42.8503 -22.8644 -0.1 + vertex 42.8503 -22.8644 -0.2 vertex 42.7799 -22.851 0 vertex 42.8503 -22.8644 0 endloop @@ -20981,13 +20981,13 @@ solid OpenSCAD_Model facet normal 0.186876 0.982384 0 outer loop vertex 42.7799 -22.851 0 - vertex 42.8503 -22.8644 -0.1 - vertex 42.7799 -22.851 -0.1 + vertex 42.8503 -22.8644 -0.2 + vertex 42.7799 -22.851 -0.2 endloop endfacet facet normal -0.254315 0.967121 0 outer loop - vertex 42.7799 -22.851 -0.1 + vertex 42.7799 -22.851 -0.2 vertex 42.6968 -22.8729 0 vertex 42.7799 -22.851 0 endloop @@ -20995,13 +20995,13 @@ solid OpenSCAD_Model facet normal -0.254315 0.967121 0 outer loop vertex 42.6968 -22.8729 0 - vertex 42.7799 -22.851 -0.1 - vertex 42.6968 -22.8729 -0.1 + vertex 42.7799 -22.851 -0.2 + vertex 42.6968 -22.8729 -0.2 endloop endfacet facet normal -0.451219 0.892413 0 outer loop - vertex 42.6968 -22.8729 -0.1 + vertex 42.6968 -22.8729 -0.2 vertex 42.5728 -22.9356 0 vertex 42.6968 -22.8729 0 endloop @@ -21009,13 +21009,13 @@ solid OpenSCAD_Model facet normal -0.451219 0.892413 0 outer loop vertex 42.5728 -22.9356 0 - vertex 42.6968 -22.8729 -0.1 - vertex 42.5728 -22.9356 -0.1 + vertex 42.6968 -22.8729 -0.2 + vertex 42.5728 -22.9356 -0.2 endloop endfacet facet normal -0.553713 0.832708 0 outer loop - vertex 42.5728 -22.9356 -0.1 + vertex 42.5728 -22.9356 -0.2 vertex 42.2267 -23.1657 0 vertex 42.5728 -22.9356 0 endloop @@ -21023,13 +21023,13 @@ solid OpenSCAD_Model facet normal -0.553713 0.832708 0 outer loop vertex 42.2267 -23.1657 0 - vertex 42.5728 -22.9356 -0.1 - vertex 42.2267 -23.1657 -0.1 + vertex 42.5728 -22.9356 -0.2 + vertex 42.2267 -23.1657 -0.2 endloop endfacet facet normal -0.614835 0.788656 0 outer loop - vertex 42.2267 -23.1657 -0.1 + vertex 42.2267 -23.1657 -0.2 vertex 41.7898 -23.5063 0 vertex 42.2267 -23.1657 0 endloop @@ -21037,13 +21037,13 @@ solid OpenSCAD_Model facet normal -0.614835 0.788656 0 outer loop vertex 41.7898 -23.5063 0 - vertex 42.2267 -23.1657 -0.1 - vertex 41.7898 -23.5063 -0.1 + vertex 42.2267 -23.1657 -0.2 + vertex 41.7898 -23.5063 -0.2 endloop endfacet facet normal -0.655263 0.755401 0 outer loop - vertex 41.7898 -23.5063 -0.1 + vertex 41.7898 -23.5063 -0.2 vertex 41.3103 -23.9223 0 vertex 41.7898 -23.5063 0 endloop @@ -21051,13 +21051,13 @@ solid OpenSCAD_Model facet normal -0.655263 0.755401 0 outer loop vertex 41.3103 -23.9223 0 - vertex 41.7898 -23.5063 -0.1 - vertex 41.3103 -23.9223 -0.1 + vertex 41.7898 -23.5063 -0.2 + vertex 41.3103 -23.9223 -0.2 endloop endfacet facet normal -0.681106 0.732185 0 outer loop - vertex 41.3103 -23.9223 -0.1 + vertex 41.3103 -23.9223 -0.2 vertex 40.922 -24.2835 0 vertex 41.3103 -23.9223 0 endloop @@ -21065,223 +21065,223 @@ solid OpenSCAD_Model facet normal -0.681106 0.732185 0 outer loop vertex 40.922 -24.2835 0 - vertex 41.3103 -23.9223 -0.1 - vertex 40.922 -24.2835 -0.1 + vertex 41.3103 -23.9223 -0.2 + vertex 40.922 -24.2835 -0.2 endloop endfacet facet normal -0.723872 0.689934 0 outer loop - vertex 40.604 -24.6171 -0.1 + vertex 40.604 -24.6171 -0.2 vertex 40.922 -24.2835 0 - vertex 40.922 -24.2835 -0.1 + vertex 40.922 -24.2835 -0.2 endloop endfacet facet normal -0.723872 0.689934 0 outer loop vertex 40.922 -24.2835 0 - vertex 40.604 -24.6171 -0.1 + vertex 40.604 -24.6171 -0.2 vertex 40.604 -24.6171 0 endloop endfacet facet normal -0.795563 0.60587 0 outer loop - vertex 40.3218 -24.9877 -0.1 + vertex 40.3218 -24.9877 -0.2 vertex 40.604 -24.6171 0 - vertex 40.604 -24.6171 -0.1 + vertex 40.604 -24.6171 -0.2 endloop endfacet facet normal -0.795563 0.60587 0 outer loop vertex 40.604 -24.6171 0 - vertex 40.3218 -24.9877 -0.1 + vertex 40.3218 -24.9877 -0.2 vertex 40.3218 -24.9877 0 endloop endfacet facet normal -0.859211 0.511621 0 outer loop - vertex 40.0406 -25.46 -0.1 + vertex 40.0406 -25.46 -0.2 vertex 40.3218 -24.9877 0 - vertex 40.3218 -24.9877 -0.1 + vertex 40.3218 -24.9877 -0.2 endloop endfacet facet normal -0.859211 0.511621 0 outer loop vertex 40.3218 -24.9877 0 - vertex 40.0406 -25.46 -0.1 + vertex 40.0406 -25.46 -0.2 vertex 40.0406 -25.46 0 endloop endfacet facet normal -0.896877 0.442281 0 outer loop - vertex 39.7256 -26.0988 -0.1 + vertex 39.7256 -26.0988 -0.2 vertex 40.0406 -25.46 0 - vertex 40.0406 -25.46 -0.1 + vertex 40.0406 -25.46 -0.2 endloop endfacet facet normal -0.896877 0.442281 0 outer loop vertex 40.0406 -25.46 0 - vertex 39.7256 -26.0988 -0.1 + vertex 39.7256 -26.0988 -0.2 vertex 39.7256 -26.0988 0 endloop endfacet facet normal -0.915036 0.403372 0 outer loop - vertex 39.342 -26.9688 -0.1 + vertex 39.342 -26.9688 -0.2 vertex 39.7256 -26.0988 0 - vertex 39.7256 -26.0988 -0.1 + vertex 39.7256 -26.0988 -0.2 endloop endfacet facet normal -0.915036 0.403372 0 outer loop vertex 39.7256 -26.0988 0 - vertex 39.342 -26.9688 -0.1 + vertex 39.342 -26.9688 -0.2 vertex 39.342 -26.9688 0 endloop endfacet facet normal -0.924339 0.381572 0 outer loop - vertex 38.2305 -29.6614 -0.1 + vertex 38.2305 -29.6614 -0.2 vertex 39.342 -26.9688 0 - vertex 39.342 -26.9688 -0.1 + vertex 39.342 -26.9688 -0.2 endloop endfacet facet normal -0.924339 0.381572 0 outer loop vertex 39.342 -26.9688 0 - vertex 38.2305 -29.6614 -0.1 + vertex 38.2305 -29.6614 -0.2 vertex 38.2305 -29.6614 0 endloop endfacet facet normal -0.929232 0.369498 0 outer loop - vertex 37.444 -31.6395 -0.1 + vertex 37.444 -31.6395 -0.2 vertex 38.2305 -29.6614 0 - vertex 38.2305 -29.6614 -0.1 + vertex 38.2305 -29.6614 -0.2 endloop endfacet facet normal -0.929232 0.369498 0 outer loop vertex 38.2305 -29.6614 0 - vertex 37.444 -31.6395 -0.1 + vertex 37.444 -31.6395 -0.2 vertex 37.444 -31.6395 0 endloop endfacet facet normal -0.937221 0.348736 0 outer loop - vertex 36.8389 -33.2656 -0.1 + vertex 36.8389 -33.2656 -0.2 vertex 37.444 -31.6395 0 - vertex 37.444 -31.6395 -0.1 + vertex 37.444 -31.6395 -0.2 endloop endfacet facet normal -0.937221 0.348736 0 outer loop vertex 37.444 -31.6395 0 - vertex 36.8389 -33.2656 -0.1 + vertex 36.8389 -33.2656 -0.2 vertex 36.8389 -33.2656 0 endloop endfacet facet normal -0.949427 0.313989 0 outer loop - vertex 36.4479 -34.448 -0.1 + vertex 36.4479 -34.448 -0.2 vertex 36.8389 -33.2656 0 - vertex 36.8389 -33.2656 -0.1 + vertex 36.8389 -33.2656 -0.2 endloop endfacet facet normal -0.949427 0.313989 0 outer loop vertex 36.8389 -33.2656 0 - vertex 36.4479 -34.448 -0.1 + vertex 36.4479 -34.448 -0.2 vertex 36.4479 -34.448 0 endloop endfacet facet normal -0.966574 0.256387 0 outer loop - vertex 36.3428 -34.844 -0.1 + vertex 36.3428 -34.844 -0.2 vertex 36.4479 -34.448 0 - vertex 36.4479 -34.448 -0.1 + vertex 36.4479 -34.448 -0.2 endloop endfacet facet normal -0.966574 0.256387 0 outer loop vertex 36.4479 -34.448 0 - vertex 36.3428 -34.844 -0.1 + vertex 36.3428 -34.844 -0.2 vertex 36.3428 -34.844 0 endloop endfacet facet normal -0.987922 0.154951 0 outer loop - vertex 36.3035 -35.0946 -0.1 + vertex 36.3035 -35.0946 -0.2 vertex 36.3428 -34.844 0 - vertex 36.3428 -34.844 -0.1 + vertex 36.3428 -34.844 -0.2 endloop endfacet facet normal -0.987922 0.154951 0 outer loop vertex 36.3428 -34.844 0 - vertex 36.3035 -35.0946 -0.1 + vertex 36.3035 -35.0946 -0.2 vertex 36.3035 -35.0946 0 endloop endfacet facet normal -0.999846 0.0175753 0 outer loop - vertex 36.2992 -35.3418 -0.1 + vertex 36.2992 -35.3418 -0.2 vertex 36.3035 -35.0946 0 - vertex 36.3035 -35.0946 -0.1 + vertex 36.3035 -35.0946 -0.2 endloop endfacet facet normal -0.999846 0.0175753 0 outer loop vertex 36.3035 -35.0946 0 - vertex 36.2992 -35.3418 -0.1 + vertex 36.2992 -35.3418 -0.2 vertex 36.2992 -35.3418 0 endloop endfacet facet normal -0.99871 -0.0507764 0 outer loop - vertex 36.3089 -35.532 -0.1 + vertex 36.3089 -35.532 -0.2 vertex 36.2992 -35.3418 0 - vertex 36.2992 -35.3418 -0.1 + vertex 36.2992 -35.3418 -0.2 endloop endfacet facet normal -0.99871 -0.0507764 0 outer loop vertex 36.2992 -35.3418 0 - vertex 36.3089 -35.532 -0.1 + vertex 36.3089 -35.532 -0.2 vertex 36.3089 -35.532 0 endloop endfacet facet normal -0.974112 -0.226068 0 outer loop - vertex 36.3422 -35.6758 -0.1 + vertex 36.3422 -35.6758 -0.2 vertex 36.3089 -35.532 0 - vertex 36.3089 -35.532 -0.1 + vertex 36.3089 -35.532 -0.2 endloop endfacet facet normal -0.974112 -0.226068 0 outer loop vertex 36.3089 -35.532 0 - vertex 36.3422 -35.6758 -0.1 + vertex 36.3422 -35.6758 -0.2 vertex 36.3422 -35.6758 0 endloop endfacet facet normal -0.84992 -0.526911 0 outer loop - vertex 36.4089 -35.7834 -0.1 + vertex 36.4089 -35.7834 -0.2 vertex 36.3422 -35.6758 0 - vertex 36.3422 -35.6758 -0.1 + vertex 36.3422 -35.6758 -0.2 endloop endfacet facet normal -0.84992 -0.526911 0 outer loop vertex 36.3422 -35.6758 0 - vertex 36.4089 -35.7834 -0.1 + vertex 36.4089 -35.7834 -0.2 vertex 36.4089 -35.7834 0 endloop endfacet facet normal -0.59793 -0.801548 0 outer loop - vertex 36.4089 -35.7834 -0.1 + vertex 36.4089 -35.7834 -0.2 vertex 36.5187 -35.8653 0 vertex 36.4089 -35.7834 0 endloop @@ -21289,13 +21289,13 @@ solid OpenSCAD_Model facet normal -0.59793 -0.801548 -0 outer loop vertex 36.5187 -35.8653 0 - vertex 36.4089 -35.7834 -0.1 - vertex 36.5187 -35.8653 -0.1 + vertex 36.4089 -35.7834 -0.2 + vertex 36.5187 -35.8653 -0.2 endloop endfacet facet normal -0.37896 -0.925413 0 outer loop - vertex 36.5187 -35.8653 -0.1 + vertex 36.5187 -35.8653 -0.2 vertex 36.6812 -35.9318 0 vertex 36.5187 -35.8653 0 endloop @@ -21303,13 +21303,13 @@ solid OpenSCAD_Model facet normal -0.37896 -0.925413 -0 outer loop vertex 36.6812 -35.9318 0 - vertex 36.5187 -35.8653 -0.1 - vertex 36.6812 -35.9318 -0.1 + vertex 36.5187 -35.8653 -0.2 + vertex 36.6812 -35.9318 -0.2 endloop endfacet facet normal -0.239239 -0.970961 0 outer loop - vertex 36.6812 -35.9318 -0.1 + vertex 36.6812 -35.9318 -0.2 vertex 37.203 -36.0604 0 vertex 36.6812 -35.9318 0 endloop @@ -21317,13 +21317,13 @@ solid OpenSCAD_Model facet normal -0.239239 -0.970961 -0 outer loop vertex 37.203 -36.0604 0 - vertex 36.6812 -35.9318 -0.1 - vertex 37.203 -36.0604 -0.1 + vertex 36.6812 -35.9318 -0.2 + vertex 37.203 -36.0604 -0.2 endloop endfacet facet normal -0.245847 -0.969309 0 outer loop - vertex 37.203 -36.0604 -0.1 + vertex 37.203 -36.0604 -0.2 vertex 37.6954 -36.1853 0 vertex 37.203 -36.0604 0 endloop @@ -21331,13 +21331,13 @@ solid OpenSCAD_Model facet normal -0.245847 -0.969309 -0 outer loop vertex 37.6954 -36.1853 0 - vertex 37.203 -36.0604 -0.1 - vertex 37.6954 -36.1853 -0.1 + vertex 37.203 -36.0604 -0.2 + vertex 37.6954 -36.1853 -0.2 endloop endfacet facet normal -0.369675 -0.929161 0 outer loop - vertex 37.6954 -36.1853 -0.1 + vertex 37.6954 -36.1853 -0.2 vertex 37.8576 -36.2498 0 vertex 37.6954 -36.1853 0 endloop @@ -21345,13 +21345,13 @@ solid OpenSCAD_Model facet normal -0.369675 -0.929161 -0 outer loop vertex 37.8576 -36.2498 0 - vertex 37.6954 -36.1853 -0.1 - vertex 37.8576 -36.2498 -0.1 + vertex 37.6954 -36.1853 -0.2 + vertex 37.8576 -36.2498 -0.2 endloop endfacet facet normal -0.539517 -0.841975 0 outer loop - vertex 37.8576 -36.2498 -0.1 + vertex 37.8576 -36.2498 -0.2 vertex 37.9736 -36.3241 0 vertex 37.8576 -36.2498 0 endloop @@ -21359,125 +21359,125 @@ solid OpenSCAD_Model facet normal -0.539517 -0.841975 -0 outer loop vertex 37.9736 -36.3241 0 - vertex 37.8576 -36.2498 -0.1 - vertex 37.9736 -36.3241 -0.1 + vertex 37.8576 -36.2498 -0.2 + vertex 37.9736 -36.3241 -0.2 endloop endfacet facet normal -0.760366 -0.649494 0 outer loop - vertex 38.0509 -36.4146 -0.1 + vertex 38.0509 -36.4146 -0.2 vertex 37.9736 -36.3241 0 - vertex 37.9736 -36.3241 -0.1 + vertex 37.9736 -36.3241 -0.2 endloop endfacet facet normal -0.760366 -0.649494 0 outer loop vertex 37.9736 -36.3241 0 - vertex 38.0509 -36.4146 -0.1 + vertex 38.0509 -36.4146 -0.2 vertex 38.0509 -36.4146 0 endloop endfacet facet normal -0.926147 -0.377163 0 outer loop - vertex 38.0969 -36.5276 -0.1 + vertex 38.0969 -36.5276 -0.2 vertex 38.0509 -36.4146 0 - vertex 38.0509 -36.4146 -0.1 + vertex 38.0509 -36.4146 -0.2 endloop endfacet facet normal -0.926147 -0.377163 0 outer loop vertex 38.0509 -36.4146 0 - vertex 38.0969 -36.5276 -0.1 + vertex 38.0969 -36.5276 -0.2 vertex 38.0969 -36.5276 0 endloop endfacet facet normal -0.988006 -0.154417 0 outer loop - vertex 38.119 -36.6694 -0.1 + vertex 38.119 -36.6694 -0.2 vertex 38.0969 -36.5276 0 - vertex 38.0969 -36.5276 -0.1 + vertex 38.0969 -36.5276 -0.2 endloop endfacet facet normal -0.988006 -0.154417 0 outer loop vertex 38.0969 -36.5276 0 - vertex 38.119 -36.6694 -0.1 + vertex 38.119 -36.6694 -0.2 vertex 38.119 -36.6694 0 endloop endfacet facet normal -0.999475 -0.0324031 0 outer loop - vertex 38.1248 -36.8464 -0.1 + vertex 38.1248 -36.8464 -0.2 vertex 38.119 -36.6694 0 - vertex 38.119 -36.6694 -0.1 + vertex 38.119 -36.6694 -0.2 endloop endfacet facet normal -0.999475 -0.0324031 0 outer loop vertex 38.119 -36.6694 0 - vertex 38.1248 -36.8464 -0.1 + vertex 38.1248 -36.8464 -0.2 vertex 38.1248 -36.8464 0 endloop endfacet facet normal -0.99859 0.0530808 0 outer loop - vertex 38.103 -37.2562 -0.1 + vertex 38.103 -37.2562 -0.2 vertex 38.1248 -36.8464 0 - vertex 38.1248 -36.8464 -0.1 + vertex 38.1248 -36.8464 -0.2 endloop endfacet facet normal -0.99859 0.0530808 0 outer loop vertex 38.1248 -36.8464 0 - vertex 38.103 -37.2562 -0.1 + vertex 38.103 -37.2562 -0.2 vertex 38.103 -37.2562 0 endloop endfacet facet normal -0.977614 0.210405 0 outer loop - vertex 38.0668 -37.4245 -0.1 + vertex 38.0668 -37.4245 -0.2 vertex 38.103 -37.2562 0 - vertex 38.103 -37.2562 -0.1 + vertex 38.103 -37.2562 -0.2 endloop endfacet facet normal -0.977614 0.210405 0 outer loop vertex 38.103 -37.2562 0 - vertex 38.0668 -37.4245 -0.1 + vertex 38.0668 -37.4245 -0.2 vertex 38.0668 -37.4245 0 endloop endfacet facet normal -0.922461 0.38609 0 outer loop - vertex 38.0057 -37.5705 -0.1 + vertex 38.0057 -37.5705 -0.2 vertex 38.0668 -37.4245 0 - vertex 38.0668 -37.4245 -0.1 + vertex 38.0668 -37.4245 -0.2 endloop endfacet facet normal -0.922461 0.38609 0 outer loop vertex 38.0668 -37.4245 0 - vertex 38.0057 -37.5705 -0.1 + vertex 38.0057 -37.5705 -0.2 vertex 38.0057 -37.5705 0 endloop endfacet facet normal -0.806037 0.591865 0 outer loop - vertex 37.9137 -37.6957 -0.1 + vertex 37.9137 -37.6957 -0.2 vertex 38.0057 -37.5705 0 - vertex 38.0057 -37.5705 -0.1 + vertex 38.0057 -37.5705 -0.2 endloop endfacet facet normal -0.806037 0.591865 0 outer loop vertex 38.0057 -37.5705 0 - vertex 37.9137 -37.6957 -0.1 + vertex 37.9137 -37.6957 -0.2 vertex 37.9137 -37.6957 0 endloop endfacet facet normal -0.635642 0.771984 0 outer loop - vertex 37.9137 -37.6957 -0.1 + vertex 37.9137 -37.6957 -0.2 vertex 37.7849 -37.8018 0 vertex 37.9137 -37.6957 0 endloop @@ -21485,13 +21485,13 @@ solid OpenSCAD_Model facet normal -0.635642 0.771984 0 outer loop vertex 37.7849 -37.8018 0 - vertex 37.9137 -37.6957 -0.1 - vertex 37.7849 -37.8018 -0.1 + vertex 37.9137 -37.6957 -0.2 + vertex 37.7849 -37.8018 -0.2 endloop endfacet facet normal -0.458146 0.888877 0 outer loop - vertex 37.7849 -37.8018 -0.1 + vertex 37.7849 -37.8018 -0.2 vertex 37.6132 -37.8903 0 vertex 37.7849 -37.8018 0 endloop @@ -21499,13 +21499,13 @@ solid OpenSCAD_Model facet normal -0.458146 0.888877 0 outer loop vertex 37.6132 -37.8903 0 - vertex 37.7849 -37.8018 -0.1 - vertex 37.6132 -37.8903 -0.1 + vertex 37.7849 -37.8018 -0.2 + vertex 37.6132 -37.8903 -0.2 endloop endfacet facet normal -0.312246 0.950001 0 outer loop - vertex 37.6132 -37.8903 -0.1 + vertex 37.6132 -37.8903 -0.2 vertex 37.3927 -37.9628 0 vertex 37.6132 -37.8903 0 endloop @@ -21513,13 +21513,13 @@ solid OpenSCAD_Model facet normal -0.312246 0.950001 0 outer loop vertex 37.3927 -37.9628 0 - vertex 37.6132 -37.8903 -0.1 - vertex 37.3927 -37.9628 -0.1 + vertex 37.6132 -37.8903 -0.2 + vertex 37.3927 -37.9628 -0.2 endloop endfacet facet normal -0.206263 0.978497 0 outer loop - vertex 37.3927 -37.9628 -0.1 + vertex 37.3927 -37.9628 -0.2 vertex 37.1174 -38.0208 0 vertex 37.3927 -37.9628 0 endloop @@ -21527,13 +21527,13 @@ solid OpenSCAD_Model facet normal -0.206263 0.978497 0 outer loop vertex 37.1174 -38.0208 0 - vertex 37.3927 -37.9628 -0.1 - vertex 37.1174 -38.0208 -0.1 + vertex 37.3927 -37.9628 -0.2 + vertex 37.1174 -38.0208 -0.2 endloop endfacet facet normal -0.133215 0.991087 0 outer loop - vertex 37.1174 -38.0208 -0.1 + vertex 37.1174 -38.0208 -0.2 vertex 36.7812 -38.066 0 vertex 37.1174 -38.0208 0 endloop @@ -21541,13 +21541,13 @@ solid OpenSCAD_Model facet normal -0.133215 0.991087 0 outer loop vertex 36.7812 -38.066 0 - vertex 37.1174 -38.0208 -0.1 - vertex 36.7812 -38.066 -0.1 + vertex 37.1174 -38.0208 -0.2 + vertex 36.7812 -38.066 -0.2 endloop endfacet facet normal -0.0659814 0.997821 0 outer loop - vertex 36.7812 -38.066 -0.1 + vertex 36.7812 -38.066 -0.2 vertex 35.9024 -38.1241 0 vertex 36.7812 -38.066 0 endloop @@ -21555,13 +21555,13 @@ solid OpenSCAD_Model facet normal -0.0659814 0.997821 0 outer loop vertex 35.9024 -38.1241 0 - vertex 36.7812 -38.066 -0.1 - vertex 35.9024 -38.1241 -0.1 + vertex 36.7812 -38.066 -0.2 + vertex 35.9024 -38.1241 -0.2 endloop endfacet facet normal -0.0214493 0.99977 0 outer loop - vertex 35.9024 -38.1241 -0.1 + vertex 35.9024 -38.1241 -0.2 vertex 34.7085 -38.1497 0 vertex 35.9024 -38.1241 0 endloop @@ -21569,13 +21569,13 @@ solid OpenSCAD_Model facet normal -0.0214493 0.99977 0 outer loop vertex 34.7085 -38.1497 0 - vertex 35.9024 -38.1241 -0.1 - vertex 34.7085 -38.1497 -0.1 + vertex 35.9024 -38.1241 -0.2 + vertex 34.7085 -38.1497 -0.2 endloop endfacet facet normal -0.00368212 0.999993 0 outer loop - vertex 34.7085 -38.1497 -0.1 + vertex 34.7085 -38.1497 -0.2 vertex 33.1514 -38.1555 0 vertex 34.7085 -38.1497 0 endloop @@ -21583,13 +21583,13 @@ solid OpenSCAD_Model facet normal -0.00368212 0.999993 0 outer loop vertex 33.1514 -38.1555 0 - vertex 34.7085 -38.1497 -0.1 - vertex 33.1514 -38.1555 -0.1 + vertex 34.7085 -38.1497 -0.2 + vertex 33.1514 -38.1555 -0.2 endloop endfacet facet normal 0.00738333 0.999973 -0 outer loop - vertex 33.1514 -38.1555 -0.1 + vertex 33.1514 -38.1555 -0.2 vertex 31.1824 -38.1409 0 vertex 33.1514 -38.1555 0 endloop @@ -21597,13 +21597,13 @@ solid OpenSCAD_Model facet normal 0.00738333 0.999973 0 outer loop vertex 31.1824 -38.1409 0 - vertex 33.1514 -38.1555 -0.1 - vertex 31.1824 -38.1409 -0.1 + vertex 33.1514 -38.1555 -0.2 + vertex 31.1824 -38.1409 -0.2 endloop endfacet facet normal 0.0337924 0.999429 -0 outer loop - vertex 31.1824 -38.1409 -0.1 + vertex 31.1824 -38.1409 -0.2 vertex 29.8192 -38.0948 0 vertex 31.1824 -38.1409 0 endloop @@ -21611,13 +21611,13 @@ solid OpenSCAD_Model facet normal 0.0337924 0.999429 0 outer loop vertex 29.8192 -38.0948 0 - vertex 31.1824 -38.1409 -0.1 - vertex 29.8192 -38.0948 -0.1 + vertex 31.1824 -38.1409 -0.2 + vertex 29.8192 -38.0948 -0.2 endloop endfacet facet normal 0.0757553 0.997126 -0 outer loop - vertex 29.8192 -38.0948 -0.1 + vertex 29.8192 -38.0948 -0.2 vertex 29.3448 -38.0588 0 vertex 29.8192 -38.0948 0 endloop @@ -21625,13 +21625,13 @@ solid OpenSCAD_Model facet normal 0.0757553 0.997126 0 outer loop vertex 29.3448 -38.0588 0 - vertex 29.8192 -38.0948 -0.1 - vertex 29.3448 -38.0588 -0.1 + vertex 29.8192 -38.0948 -0.2 + vertex 29.3448 -38.0588 -0.2 endloop endfacet facet normal 0.129569 0.99157 -0 outer loop - vertex 29.3448 -38.0588 -0.1 + vertex 29.3448 -38.0588 -0.2 vertex 28.9979 -38.0135 0 vertex 29.3448 -38.0588 0 endloop @@ -21639,13 +21639,13 @@ solid OpenSCAD_Model facet normal 0.129569 0.99157 0 outer loop vertex 28.9979 -38.0135 0 - vertex 29.3448 -38.0588 -0.1 - vertex 28.9979 -38.0135 -0.1 + vertex 29.3448 -38.0588 -0.2 + vertex 28.9979 -38.0135 -0.2 endloop endfacet facet normal 0.235468 0.971882 -0 outer loop - vertex 28.9979 -38.0135 -0.1 + vertex 28.9979 -38.0135 -0.2 vertex 28.7706 -37.9584 0 vertex 28.9979 -38.0135 0 endloop @@ -21653,13 +21653,13 @@ solid OpenSCAD_Model facet normal 0.235468 0.971882 0 outer loop vertex 28.7706 -37.9584 0 - vertex 28.9979 -38.0135 -0.1 - vertex 28.7706 -37.9584 -0.1 + vertex 28.9979 -38.0135 -0.2 + vertex 28.7706 -37.9584 -0.2 endloop endfacet facet normal 0.491281 0.871001 -0 outer loop - vertex 28.7706 -37.9584 -0.1 + vertex 28.7706 -37.9584 -0.2 vertex 28.6548 -37.8931 0 vertex 28.7706 -37.9584 0 endloop @@ -21667,153 +21667,153 @@ solid OpenSCAD_Model facet normal 0.491281 0.871001 0 outer loop vertex 28.6548 -37.8931 0 - vertex 28.7706 -37.9584 -0.1 - vertex 28.6548 -37.8931 -0.1 + vertex 28.7706 -37.9584 -0.2 + vertex 28.6548 -37.8931 -0.2 endloop endfacet facet normal 0.794168 0.607698 0 outer loop vertex 28.6548 -37.8931 0 - vertex 28.5587 -37.7674 -0.1 + vertex 28.5587 -37.7674 -0.2 vertex 28.5587 -37.7674 0 endloop endfacet facet normal 0.794168 0.607698 0 outer loop - vertex 28.5587 -37.7674 -0.1 + vertex 28.5587 -37.7674 -0.2 vertex 28.6548 -37.8931 0 - vertex 28.6548 -37.8931 -0.1 + vertex 28.6548 -37.8931 -0.2 endloop endfacet facet normal 0.879213 0.47643 0 outer loop vertex 28.5587 -37.7674 0 - vertex 28.4883 -37.6376 -0.1 + vertex 28.4883 -37.6376 -0.2 vertex 28.4883 -37.6376 0 endloop endfacet facet normal 0.879213 0.47643 0 outer loop - vertex 28.4883 -37.6376 -0.1 + vertex 28.4883 -37.6376 -0.2 vertex 28.5587 -37.7674 0 - vertex 28.5587 -37.7674 -0.1 + vertex 28.5587 -37.7674 -0.2 endloop endfacet facet normal 0.946363 0.323104 0 outer loop vertex 28.4883 -37.6376 0 - vertex 28.443 -37.5048 -0.1 + vertex 28.443 -37.5048 -0.2 vertex 28.443 -37.5048 0 endloop endfacet facet normal 0.946363 0.323104 0 outer loop - vertex 28.443 -37.5048 -0.1 + vertex 28.443 -37.5048 -0.2 vertex 28.4883 -37.6376 0 - vertex 28.4883 -37.6376 -0.1 + vertex 28.4883 -37.6376 -0.2 endloop endfacet facet normal 0.987941 0.154833 0 outer loop vertex 28.443 -37.5048 0 - vertex 28.4219 -37.3704 -0.1 + vertex 28.4219 -37.3704 -0.2 vertex 28.4219 -37.3704 0 endloop endfacet facet normal 0.987941 0.154833 0 outer loop - vertex 28.4219 -37.3704 -0.1 + vertex 28.4219 -37.3704 -0.2 vertex 28.443 -37.5048 0 - vertex 28.443 -37.5048 -0.1 + vertex 28.443 -37.5048 -0.2 endloop endfacet facet normal 0.99984 -0.0178826 0 outer loop vertex 28.4219 -37.3704 0 - vertex 28.4243 -37.2355 -0.1 + vertex 28.4243 -37.2355 -0.2 vertex 28.4243 -37.2355 0 endloop endfacet facet normal 0.99984 -0.0178826 0 outer loop - vertex 28.4243 -37.2355 -0.1 + vertex 28.4243 -37.2355 -0.2 vertex 28.4219 -37.3704 0 - vertex 28.4219 -37.3704 -0.1 + vertex 28.4219 -37.3704 -0.2 endloop endfacet facet normal 0.982895 -0.184165 0 outer loop vertex 28.4243 -37.2355 0 - vertex 28.4495 -37.1014 -0.1 + vertex 28.4495 -37.1014 -0.2 vertex 28.4495 -37.1014 0 endloop endfacet facet normal 0.982895 -0.184165 0 outer loop - vertex 28.4495 -37.1014 -0.1 + vertex 28.4495 -37.1014 -0.2 vertex 28.4243 -37.2355 0 - vertex 28.4243 -37.2355 -0.1 + vertex 28.4243 -37.2355 -0.2 endloop endfacet facet normal 0.941957 -0.335735 0 outer loop vertex 28.4495 -37.1014 0 - vertex 28.4965 -36.9693 -0.1 + vertex 28.4965 -36.9693 -0.2 vertex 28.4965 -36.9693 0 endloop endfacet facet normal 0.941957 -0.335735 0 outer loop - vertex 28.4965 -36.9693 -0.1 + vertex 28.4965 -36.9693 -0.2 vertex 28.4495 -37.1014 0 - vertex 28.4495 -37.1014 -0.1 + vertex 28.4495 -37.1014 -0.2 endloop endfacet facet normal 0.883597 -0.468248 0 outer loop vertex 28.4965 -36.9693 0 - vertex 28.5648 -36.8405 -0.1 + vertex 28.5648 -36.8405 -0.2 vertex 28.5648 -36.8405 0 endloop endfacet facet normal 0.883597 -0.468248 0 outer loop - vertex 28.5648 -36.8405 -0.1 + vertex 28.5648 -36.8405 -0.2 vertex 28.4965 -36.9693 0 - vertex 28.4965 -36.9693 -0.1 + vertex 28.4965 -36.9693 -0.2 endloop endfacet facet normal 0.814058 -0.580783 0 outer loop vertex 28.5648 -36.8405 0 - vertex 28.6534 -36.7163 -0.1 + vertex 28.6534 -36.7163 -0.2 vertex 28.6534 -36.7163 0 endloop endfacet facet normal 0.814058 -0.580783 0 outer loop - vertex 28.6534 -36.7163 -0.1 + vertex 28.6534 -36.7163 -0.2 vertex 28.5648 -36.8405 0 - vertex 28.5648 -36.8405 -0.1 + vertex 28.5648 -36.8405 -0.2 endloop endfacet facet normal 0.738176 -0.674608 0 outer loop vertex 28.6534 -36.7163 0 - vertex 28.7617 -36.5978 -0.1 + vertex 28.7617 -36.5978 -0.2 vertex 28.7617 -36.5978 0 endloop endfacet facet normal 0.738176 -0.674608 0 outer loop - vertex 28.7617 -36.5978 -0.1 + vertex 28.7617 -36.5978 -0.2 vertex 28.6534 -36.7163 0 - vertex 28.6534 -36.7163 -0.1 + vertex 28.6534 -36.7163 -0.2 endloop endfacet facet normal 0.659231 -0.75194 0 outer loop - vertex 28.7617 -36.5978 -0.1 + vertex 28.7617 -36.5978 -0.2 vertex 28.8888 -36.4863 0 vertex 28.7617 -36.5978 0 endloop @@ -21821,13 +21821,13 @@ solid OpenSCAD_Model facet normal 0.659231 -0.75194 0 outer loop vertex 28.8888 -36.4863 0 - vertex 28.7617 -36.5978 -0.1 - vertex 28.8888 -36.4863 -0.1 + vertex 28.7617 -36.5978 -0.2 + vertex 28.8888 -36.4863 -0.2 endloop endfacet facet normal 0.57926 -0.815143 0 outer loop - vertex 28.8888 -36.4863 -0.1 + vertex 28.8888 -36.4863 -0.2 vertex 29.034 -36.3831 0 vertex 28.8888 -36.4863 0 endloop @@ -21835,13 +21835,13 @@ solid OpenSCAD_Model facet normal 0.57926 -0.815143 0 outer loop vertex 29.034 -36.3831 0 - vertex 28.8888 -36.4863 -0.1 - vertex 29.034 -36.3831 -0.1 + vertex 28.8888 -36.4863 -0.2 + vertex 29.034 -36.3831 -0.2 endloop endfacet facet normal 0.499403 -0.86637 0 outer loop - vertex 29.034 -36.3831 -0.1 + vertex 29.034 -36.3831 -0.2 vertex 29.1966 -36.2895 0 vertex 29.034 -36.3831 0 endloop @@ -21849,13 +21849,13 @@ solid OpenSCAD_Model facet normal 0.499403 -0.86637 0 outer loop vertex 29.1966 -36.2895 0 - vertex 29.034 -36.3831 -0.1 - vertex 29.1966 -36.2895 -0.1 + vertex 29.034 -36.3831 -0.2 + vertex 29.1966 -36.2895 -0.2 endloop endfacet facet normal 0.420274 -0.907397 0 outer loop - vertex 29.1966 -36.2895 -0.1 + vertex 29.1966 -36.2895 -0.2 vertex 29.3757 -36.2065 0 vertex 29.1966 -36.2895 0 endloop @@ -21863,13 +21863,13 @@ solid OpenSCAD_Model facet normal 0.420274 -0.907397 0 outer loop vertex 29.3757 -36.2065 0 - vertex 29.1966 -36.2895 -0.1 - vertex 29.3757 -36.2065 -0.1 + vertex 29.1966 -36.2895 -0.2 + vertex 29.3757 -36.2065 -0.2 endloop endfacet facet normal 0.34216 -0.939642 0 outer loop - vertex 29.3757 -36.2065 -0.1 + vertex 29.3757 -36.2065 -0.2 vertex 29.5705 -36.1356 0 vertex 29.3757 -36.2065 0 endloop @@ -21877,13 +21877,13 @@ solid OpenSCAD_Model facet normal 0.34216 -0.939642 0 outer loop vertex 29.5705 -36.1356 0 - vertex 29.3757 -36.2065 -0.1 - vertex 29.5705 -36.1356 -0.1 + vertex 29.3757 -36.2065 -0.2 + vertex 29.5705 -36.1356 -0.2 endloop endfacet facet normal 0.265166 -0.964203 0 outer loop - vertex 29.5705 -36.1356 -0.1 + vertex 29.5705 -36.1356 -0.2 vertex 29.7804 -36.0779 0 vertex 29.5705 -36.1356 0 endloop @@ -21891,13 +21891,13 @@ solid OpenSCAD_Model facet normal 0.265166 -0.964203 0 outer loop vertex 29.7804 -36.0779 0 - vertex 29.5705 -36.1356 -0.1 - vertex 29.7804 -36.0779 -0.1 + vertex 29.5705 -36.1356 -0.2 + vertex 29.7804 -36.0779 -0.2 endloop endfacet facet normal 0.237962 -0.971274 0 outer loop - vertex 29.7804 -36.0779 -0.1 + vertex 29.7804 -36.0779 -0.2 vertex 30.4037 -35.9251 0 vertex 29.7804 -36.0779 0 endloop @@ -21905,13 +21905,13 @@ solid OpenSCAD_Model facet normal 0.237962 -0.971274 0 outer loop vertex 30.4037 -35.9251 0 - vertex 29.7804 -36.0779 -0.1 - vertex 30.4037 -35.9251 -0.1 + vertex 29.7804 -36.0779 -0.2 + vertex 30.4037 -35.9251 -0.2 endloop endfacet facet normal 0.297523 -0.954715 0 outer loop - vertex 30.4037 -35.9251 -0.1 + vertex 30.4037 -35.9251 -0.2 vertex 30.6629 -35.8443 0 vertex 30.4037 -35.9251 0 endloop @@ -21919,13 +21919,13 @@ solid OpenSCAD_Model facet normal 0.297523 -0.954715 0 outer loop vertex 30.6629 -35.8443 0 - vertex 30.4037 -35.9251 -0.1 - vertex 30.6629 -35.8443 -0.1 + vertex 30.4037 -35.9251 -0.2 + vertex 30.6629 -35.8443 -0.2 endloop endfacet facet normal 0.380574 -0.92475 0 outer loop - vertex 30.6629 -35.8443 -0.1 + vertex 30.6629 -35.8443 -0.2 vertex 30.8955 -35.7486 0 vertex 30.6629 -35.8443 0 endloop @@ -21933,13 +21933,13 @@ solid OpenSCAD_Model facet normal 0.380574 -0.92475 0 outer loop vertex 30.8955 -35.7486 0 - vertex 30.6629 -35.8443 -0.1 - vertex 30.8955 -35.7486 -0.1 + vertex 30.6629 -35.8443 -0.2 + vertex 30.8955 -35.7486 -0.2 endloop endfacet facet normal 0.491191 -0.871052 0 outer loop - vertex 30.8955 -35.7486 -0.1 + vertex 30.8955 -35.7486 -0.2 vertex 31.1075 -35.6291 0 vertex 30.8955 -35.7486 0 endloop @@ -21947,13 +21947,13 @@ solid OpenSCAD_Model facet normal 0.491191 -0.871052 0 outer loop vertex 31.1075 -35.6291 0 - vertex 30.8955 -35.7486 -0.1 - vertex 31.1075 -35.6291 -0.1 + vertex 30.8955 -35.7486 -0.2 + vertex 31.1075 -35.6291 -0.2 endloop endfacet facet normal 0.610497 -0.792019 0 outer loop - vertex 31.1075 -35.6291 -0.1 + vertex 31.1075 -35.6291 -0.2 vertex 31.3052 -35.4767 0 vertex 31.1075 -35.6291 0 endloop @@ -21961,237 +21961,237 @@ solid OpenSCAD_Model facet normal 0.610497 -0.792019 0 outer loop vertex 31.3052 -35.4767 0 - vertex 31.1075 -35.6291 -0.1 - vertex 31.3052 -35.4767 -0.1 + vertex 31.1075 -35.6291 -0.2 + vertex 31.3052 -35.4767 -0.2 endloop endfacet facet normal 0.71556 -0.698551 0 outer loop vertex 31.3052 -35.4767 0 - vertex 31.4948 -35.2825 -0.1 + vertex 31.4948 -35.2825 -0.2 vertex 31.4948 -35.2825 0 endloop endfacet facet normal 0.71556 -0.698551 0 outer loop - vertex 31.4948 -35.2825 -0.1 + vertex 31.4948 -35.2825 -0.2 vertex 31.3052 -35.4767 0 - vertex 31.3052 -35.4767 -0.1 + vertex 31.3052 -35.4767 -0.2 endloop endfacet facet normal 0.793854 -0.608109 0 outer loop vertex 31.4948 -35.2825 0 - vertex 31.6824 -35.0376 -0.1 + vertex 31.6824 -35.0376 -0.2 vertex 31.6824 -35.0376 0 endloop endfacet facet normal 0.793854 -0.608109 0 outer loop - vertex 31.6824 -35.0376 -0.1 + vertex 31.6824 -35.0376 -0.2 vertex 31.4948 -35.2825 0 - vertex 31.4948 -35.2825 -0.1 + vertex 31.4948 -35.2825 -0.2 endloop endfacet facet normal 0.846168 -0.532916 0 outer loop vertex 31.6824 -35.0376 0 - vertex 31.8743 -34.7329 -0.1 + vertex 31.8743 -34.7329 -0.2 vertex 31.8743 -34.7329 0 endloop endfacet facet normal 0.846168 -0.532916 0 outer loop - vertex 31.8743 -34.7329 -0.1 + vertex 31.8743 -34.7329 -0.2 vertex 31.6824 -35.0376 0 - vertex 31.6824 -35.0376 -0.1 + vertex 31.6824 -35.0376 -0.2 endloop endfacet facet normal 0.879213 -0.47643 0 outer loop vertex 31.8743 -34.7329 0 - vertex 32.0766 -34.3595 -0.1 + vertex 32.0766 -34.3595 -0.2 vertex 32.0766 -34.3595 0 endloop endfacet facet normal 0.879213 -0.47643 0 outer loop - vertex 32.0766 -34.3595 -0.1 + vertex 32.0766 -34.3595 -0.2 vertex 31.8743 -34.7329 0 - vertex 31.8743 -34.7329 -0.1 + vertex 31.8743 -34.7329 -0.2 endloop endfacet facet normal 0.906414 -0.422389 0 outer loop vertex 32.0766 -34.3595 0 - vertex 32.5373 -33.371 -0.1 + vertex 32.5373 -33.371 -0.2 vertex 32.5373 -33.371 0 endloop endfacet facet normal 0.906414 -0.422389 0 outer loop - vertex 32.5373 -33.371 -0.1 + vertex 32.5373 -33.371 -0.2 vertex 32.0766 -34.3595 0 - vertex 32.0766 -34.3595 -0.1 + vertex 32.0766 -34.3595 -0.2 endloop endfacet facet normal 0.921762 -0.387755 0 outer loop vertex 32.5373 -33.371 0 - vertex 33.1139 -32.0001 -0.1 + vertex 33.1139 -32.0001 -0.2 vertex 33.1139 -32.0001 0 endloop endfacet facet normal 0.921762 -0.387755 0 outer loop - vertex 33.1139 -32.0001 -0.1 + vertex 33.1139 -32.0001 -0.2 vertex 32.5373 -33.371 0 - vertex 32.5373 -33.371 -0.1 + vertex 32.5373 -33.371 -0.2 endloop endfacet facet normal 0.926317 -0.376745 0 outer loop vertex 33.1139 -32.0001 0 - vertex 33.8561 -30.1753 -0.1 + vertex 33.8561 -30.1753 -0.2 vertex 33.8561 -30.1753 0 endloop endfacet facet normal 0.926317 -0.376745 0 outer loop - vertex 33.8561 -30.1753 -0.1 + vertex 33.8561 -30.1753 -0.2 vertex 33.1139 -32.0001 0 - vertex 33.1139 -32.0001 -0.1 + vertex 33.1139 -32.0001 -0.2 endloop endfacet facet normal 0.926524 -0.376237 0 outer loop vertex 33.8561 -30.1753 0 - vertex 35.3422 -26.5156 -0.1 + vertex 35.3422 -26.5156 -0.2 vertex 35.3422 -26.5156 0 endloop endfacet facet normal 0.926524 -0.376237 0 outer loop - vertex 35.3422 -26.5156 -0.1 + vertex 35.3422 -26.5156 -0.2 vertex 33.8561 -30.1753 0 - vertex 33.8561 -30.1753 -0.1 + vertex 33.8561 -30.1753 -0.2 endloop endfacet facet normal 0.930815 -0.36549 0 outer loop vertex 35.3422 -26.5156 0 - vertex 35.6833 -25.6471 -0.1 + vertex 35.6833 -25.6471 -0.2 vertex 35.6833 -25.6471 0 endloop endfacet facet normal 0.930815 -0.36549 0 outer loop - vertex 35.6833 -25.6471 -0.1 + vertex 35.6833 -25.6471 -0.2 vertex 35.3422 -26.5156 0 - vertex 35.3422 -26.5156 -0.1 + vertex 35.3422 -26.5156 -0.2 endloop endfacet facet normal 0.940922 -0.338624 0 outer loop vertex 35.6833 -25.6471 0 - vertex 35.957 -24.8864 -0.1 + vertex 35.957 -24.8864 -0.2 vertex 35.957 -24.8864 0 endloop endfacet facet normal 0.940922 -0.338624 0 outer loop - vertex 35.957 -24.8864 -0.1 + vertex 35.957 -24.8864 -0.2 vertex 35.6833 -25.6471 0 - vertex 35.6833 -25.6471 -0.1 + vertex 35.6833 -25.6471 -0.2 endloop endfacet facet normal 0.953192 -0.302366 0 outer loop vertex 35.957 -24.8864 0 - vertex 36.1622 -24.2394 -0.1 + vertex 36.1622 -24.2394 -0.2 vertex 36.1622 -24.2394 0 endloop endfacet facet normal 0.953192 -0.302366 0 outer loop - vertex 36.1622 -24.2394 -0.1 + vertex 36.1622 -24.2394 -0.2 vertex 35.957 -24.8864 0 - vertex 35.957 -24.8864 -0.1 + vertex 35.957 -24.8864 -0.2 endloop endfacet facet normal 0.968572 -0.248734 0 outer loop vertex 36.1622 -24.2394 0 - vertex 36.2977 -23.7121 -0.1 + vertex 36.2977 -23.7121 -0.2 vertex 36.2977 -23.7121 0 endloop endfacet facet normal 0.968572 -0.248734 0 outer loop - vertex 36.2977 -23.7121 -0.1 + vertex 36.2977 -23.7121 -0.2 vertex 36.1622 -24.2394 0 - vertex 36.1622 -24.2394 -0.1 + vertex 36.1622 -24.2394 -0.2 endloop endfacet facet normal 0.987422 -0.158107 0 outer loop vertex 36.2977 -23.7121 0 - vertex 36.362 -23.3104 -0.1 + vertex 36.362 -23.3104 -0.2 vertex 36.362 -23.3104 0 endloop endfacet facet normal 0.987422 -0.158107 0 outer loop - vertex 36.362 -23.3104 -0.1 + vertex 36.362 -23.3104 -0.2 vertex 36.2977 -23.7121 0 - vertex 36.2977 -23.7121 -0.1 + vertex 36.2977 -23.7121 -0.2 endloop endfacet facet normal 0.999436 -0.0335772 0 outer loop vertex 36.362 -23.3104 0 - vertex 36.3671 -23.1585 -0.1 + vertex 36.3671 -23.1585 -0.2 vertex 36.3671 -23.1585 0 endloop endfacet facet normal 0.999436 -0.0335772 0 outer loop - vertex 36.3671 -23.1585 -0.1 + vertex 36.3671 -23.1585 -0.2 vertex 36.362 -23.3104 0 - vertex 36.362 -23.3104 -0.1 + vertex 36.362 -23.3104 -0.2 endloop endfacet facet normal 0.993888 0.110395 0 outer loop vertex 36.3671 -23.1585 0 - vertex 36.3539 -23.0402 -0.1 + vertex 36.3539 -23.0402 -0.2 vertex 36.3539 -23.0402 0 endloop endfacet facet normal 0.993888 0.110395 0 outer loop - vertex 36.3539 -23.0402 -0.1 + vertex 36.3539 -23.0402 -0.2 vertex 36.3671 -23.1585 0 - vertex 36.3671 -23.1585 -0.1 + vertex 36.3671 -23.1585 -0.2 endloop endfacet facet normal 0.93611 0.351708 0 outer loop vertex 36.3539 -23.0402 0 - vertex 36.3224 -22.9562 -0.1 + vertex 36.3224 -22.9562 -0.2 vertex 36.3224 -22.9562 0 endloop endfacet facet normal 0.93611 0.351708 0 outer loop - vertex 36.3224 -22.9562 -0.1 + vertex 36.3224 -22.9562 -0.2 vertex 36.3539 -23.0402 0 - vertex 36.3539 -23.0402 -0.1 + vertex 36.3539 -23.0402 -0.2 endloop endfacet facet normal 0.698293 0.715812 -0 outer loop - vertex 36.3224 -22.9562 -0.1 + vertex 36.3224 -22.9562 -0.2 vertex 36.2723 -22.9073 0 vertex 36.3224 -22.9562 0 endloop @@ -22199,13 +22199,13 @@ solid OpenSCAD_Model facet normal 0.698293 0.715812 0 outer loop vertex 36.2723 -22.9073 0 - vertex 36.3224 -22.9562 -0.1 - vertex 36.2723 -22.9073 -0.1 + vertex 36.3224 -22.9562 -0.2 + vertex 36.2723 -22.9073 -0.2 endloop endfacet facet normal 0.186395 0.982475 -0 outer loop - vertex 36.2723 -22.9073 -0.1 + vertex 36.2723 -22.9073 -0.2 vertex 36.2034 -22.8943 0 vertex 36.2723 -22.9073 0 endloop @@ -22213,13 +22213,13 @@ solid OpenSCAD_Model facet normal 0.186395 0.982475 0 outer loop vertex 36.2034 -22.8943 0 - vertex 36.2723 -22.9073 -0.1 - vertex 36.2034 -22.8943 -0.1 + vertex 36.2723 -22.9073 -0.2 + vertex 36.2034 -22.8943 -0.2 endloop endfacet facet normal -0.258789 0.965934 0 outer loop - vertex 36.2034 -22.8943 -0.1 + vertex 36.2034 -22.8943 -0.2 vertex 36.1157 -22.9178 0 vertex 36.2034 -22.8943 0 endloop @@ -22227,13 +22227,13 @@ solid OpenSCAD_Model facet normal -0.258789 0.965934 0 outer loop vertex 36.1157 -22.9178 0 - vertex 36.2034 -22.8943 -0.1 - vertex 36.1157 -22.9178 -0.1 + vertex 36.2034 -22.8943 -0.2 + vertex 36.1157 -22.9178 -0.2 endloop endfacet facet normal -0.248765 0.968564 0 outer loop - vertex 36.1157 -22.9178 -0.1 + vertex 36.1157 -22.9178 -0.2 vertex 35.9442 -22.9618 0 vertex 36.1157 -22.9178 0 endloop @@ -22241,13 +22241,13 @@ solid OpenSCAD_Model facet normal -0.248765 0.968564 0 outer loop vertex 35.9442 -22.9618 0 - vertex 36.1157 -22.9178 -0.1 - vertex 35.9442 -22.9618 -0.1 + vertex 36.1157 -22.9178 -0.2 + vertex 35.9442 -22.9618 -0.2 endloop endfacet facet normal -0.0720501 0.997401 0 outer loop - vertex 35.9442 -22.9618 -0.1 + vertex 35.9442 -22.9618 -0.2 vertex 35.7166 -22.9783 0 vertex 35.9442 -22.9618 0 endloop @@ -22255,13 +22255,13 @@ solid OpenSCAD_Model facet normal -0.0720501 0.997401 0 outer loop vertex 35.7166 -22.9783 0 - vertex 35.9442 -22.9618 -0.1 - vertex 35.7166 -22.9783 -0.1 + vertex 35.9442 -22.9618 -0.2 + vertex 35.7166 -22.9783 -0.2 endloop endfacet facet normal 0.0451334 0.998981 -0 outer loop - vertex 35.7166 -22.9783 -0.1 + vertex 35.7166 -22.9783 -0.2 vertex 35.4626 -22.9668 0 vertex 35.7166 -22.9783 0 endloop @@ -22269,13 +22269,13 @@ solid OpenSCAD_Model facet normal 0.0451334 0.998981 0 outer loop vertex 35.4626 -22.9668 0 - vertex 35.7166 -22.9783 -0.1 - vertex 35.4626 -22.9668 -0.1 + vertex 35.7166 -22.9783 -0.2 + vertex 35.4626 -22.9668 -0.2 endloop endfacet facet normal 0.156383 0.987697 -0 outer loop - vertex 35.4626 -22.9668 -0.1 + vertex 35.4626 -22.9668 -0.2 vertex 35.2118 -22.9271 0 vertex 35.4626 -22.9668 0 endloop @@ -22283,13 +22283,13 @@ solid OpenSCAD_Model facet normal 0.156383 0.987697 0 outer loop vertex 35.2118 -22.9271 0 - vertex 35.4626 -22.9668 -0.1 - vertex 35.2118 -22.9271 -0.1 + vertex 35.4626 -22.9668 -0.2 + vertex 35.2118 -22.9271 -0.2 endloop endfacet facet normal 0.299759 0.954015 -0 outer loop - vertex 35.2118 -22.9271 -0.1 + vertex 35.2118 -22.9271 -0.2 vertex 34.9345 -22.8399 0 vertex 35.2118 -22.9271 0 endloop @@ -22297,13 +22297,13 @@ solid OpenSCAD_Model facet normal 0.299759 0.954015 0 outer loop vertex 34.9345 -22.8399 0 - vertex 35.2118 -22.9271 -0.1 - vertex 34.9345 -22.8399 -0.1 + vertex 35.2118 -22.9271 -0.2 + vertex 34.9345 -22.8399 -0.2 endloop endfacet facet normal 0.486497 0.873682 -0 outer loop - vertex 34.9345 -22.8399 -0.1 + vertex 34.9345 -22.8399 -0.2 vertex 34.8338 -22.7839 0 vertex 34.9345 -22.8399 0 endloop @@ -22311,13 +22311,13 @@ solid OpenSCAD_Model facet normal 0.486497 0.873682 0 outer loop vertex 34.8338 -22.7839 0 - vertex 34.9345 -22.8399 -0.1 - vertex 34.8338 -22.7839 -0.1 + vertex 34.9345 -22.8399 -0.2 + vertex 34.8338 -22.7839 -0.2 endloop endfacet facet normal 0.653163 0.757217 -0 outer loop - vertex 34.8338 -22.7839 -0.1 + vertex 34.8338 -22.7839 -0.2 vertex 34.7558 -22.7166 0 vertex 34.8338 -22.7839 0 endloop @@ -22325,139 +22325,139 @@ solid OpenSCAD_Model facet normal 0.653163 0.757217 0 outer loop vertex 34.7558 -22.7166 0 - vertex 34.8338 -22.7839 -0.1 - vertex 34.7558 -22.7166 -0.1 + vertex 34.8338 -22.7839 -0.2 + vertex 34.7558 -22.7166 -0.2 endloop endfacet facet normal 0.815361 0.578952 0 outer loop vertex 34.7558 -22.7166 0 - vertex 34.6986 -22.636 -0.1 + vertex 34.6986 -22.636 -0.2 vertex 34.6986 -22.636 0 endloop endfacet facet normal 0.815361 0.578952 0 outer loop - vertex 34.6986 -22.636 -0.1 + vertex 34.6986 -22.636 -0.2 vertex 34.7558 -22.7166 0 - vertex 34.7558 -22.7166 -0.1 + vertex 34.7558 -22.7166 -0.2 endloop endfacet facet normal 0.928456 0.371442 0 outer loop vertex 34.6986 -22.636 0 - vertex 34.6602 -22.54 -0.1 + vertex 34.6602 -22.54 -0.2 vertex 34.6602 -22.54 0 endloop endfacet facet normal 0.928456 0.371442 0 outer loop - vertex 34.6602 -22.54 -0.1 + vertex 34.6602 -22.54 -0.2 vertex 34.6986 -22.636 0 - vertex 34.6986 -22.636 -0.1 + vertex 34.6986 -22.636 -0.2 endloop endfacet facet normal 0.982392 0.186829 0 outer loop vertex 34.6602 -22.54 0 - vertex 34.6385 -22.4262 -0.1 + vertex 34.6385 -22.4262 -0.2 vertex 34.6385 -22.4262 0 endloop endfacet facet normal 0.982392 0.186829 0 outer loop - vertex 34.6385 -22.4262 -0.1 + vertex 34.6385 -22.4262 -0.2 vertex 34.6602 -22.54 0 - vertex 34.6602 -22.54 -0.1 + vertex 34.6602 -22.54 -0.2 endloop endfacet facet normal 0.998716 0.050655 0 outer loop vertex 34.6385 -22.4262 0 - vertex 34.6318 -22.2927 -0.1 + vertex 34.6318 -22.2927 -0.2 vertex 34.6318 -22.2927 0 endloop endfacet facet normal 0.998716 0.050655 0 outer loop - vertex 34.6318 -22.2927 -0.1 + vertex 34.6318 -22.2927 -0.2 vertex 34.6385 -22.4262 0 - vertex 34.6385 -22.4262 -0.1 + vertex 34.6385 -22.4262 -0.2 endloop endfacet facet normal 0.995457 -0.0952108 0 outer loop vertex 34.6318 -22.2927 0 - vertex 34.653 -22.0706 -0.1 + vertex 34.653 -22.0706 -0.2 vertex 34.653 -22.0706 0 endloop endfacet facet normal 0.995457 -0.0952108 0 outer loop - vertex 34.653 -22.0706 -0.1 + vertex 34.653 -22.0706 -0.2 vertex 34.6318 -22.2927 0 - vertex 34.6318 -22.2927 -0.1 + vertex 34.6318 -22.2927 -0.2 endloop endfacet facet normal 0.963199 -0.268788 0 outer loop vertex 34.653 -22.0706 0 - vertex 34.713 -21.8554 -0.1 + vertex 34.713 -21.8554 -0.2 vertex 34.713 -21.8554 0 endloop endfacet facet normal 0.963199 -0.268788 0 outer loop - vertex 34.713 -21.8554 -0.1 + vertex 34.713 -21.8554 -0.2 vertex 34.653 -22.0706 0 - vertex 34.653 -22.0706 -0.1 + vertex 34.653 -22.0706 -0.2 endloop endfacet facet normal 0.90719 -0.420722 0 outer loop vertex 34.713 -21.8554 0 - vertex 34.8063 -21.6543 -0.1 + vertex 34.8063 -21.6543 -0.2 vertex 34.8063 -21.6543 0 endloop endfacet facet normal 0.90719 -0.420722 0 outer loop - vertex 34.8063 -21.6543 -0.1 + vertex 34.8063 -21.6543 -0.2 vertex 34.713 -21.8554 0 - vertex 34.713 -21.8554 -0.1 + vertex 34.713 -21.8554 -0.2 endloop endfacet facet normal 0.830216 -0.557442 0 outer loop vertex 34.8063 -21.6543 0 - vertex 34.9274 -21.474 -0.1 + vertex 34.9274 -21.474 -0.2 vertex 34.9274 -21.474 0 endloop endfacet facet normal 0.830216 -0.557442 0 outer loop - vertex 34.9274 -21.474 -0.1 + vertex 34.9274 -21.474 -0.2 vertex 34.8063 -21.6543 0 - vertex 34.8063 -21.6543 -0.1 + vertex 34.8063 -21.6543 -0.2 endloop endfacet facet normal 0.728585 -0.684956 0 outer loop vertex 34.9274 -21.474 0 - vertex 35.0706 -21.3217 -0.1 + vertex 35.0706 -21.3217 -0.2 vertex 35.0706 -21.3217 0 endloop endfacet facet normal 0.728585 -0.684956 0 outer loop - vertex 35.0706 -21.3217 -0.1 + vertex 35.0706 -21.3217 -0.2 vertex 34.9274 -21.474 0 - vertex 34.9274 -21.474 -0.1 + vertex 34.9274 -21.474 -0.2 endloop endfacet facet normal 0.592071 -0.805886 0 outer loop - vertex 35.0706 -21.3217 -0.1 + vertex 35.0706 -21.3217 -0.2 vertex 35.2304 -21.2043 0 vertex 35.0706 -21.3217 0 endloop @@ -22465,13 +22465,13 @@ solid OpenSCAD_Model facet normal 0.592071 -0.805886 0 outer loop vertex 35.2304 -21.2043 0 - vertex 35.0706 -21.3217 -0.1 - vertex 35.2304 -21.2043 -0.1 + vertex 35.0706 -21.3217 -0.2 + vertex 35.2304 -21.2043 -0.2 endloop endfacet facet normal 0.404331 -0.914613 0 outer loop - vertex 35.2304 -21.2043 -0.1 + vertex 35.2304 -21.2043 -0.2 vertex 35.4013 -21.1287 0 vertex 35.2304 -21.2043 0 endloop @@ -22479,13 +22479,13 @@ solid OpenSCAD_Model facet normal 0.404331 -0.914613 0 outer loop vertex 35.4013 -21.1287 0 - vertex 35.2304 -21.2043 -0.1 - vertex 35.4013 -21.1287 -0.1 + vertex 35.2304 -21.2043 -0.2 + vertex 35.4013 -21.1287 -0.2 endloop endfacet facet normal 0.149785 -0.988719 0 outer loop - vertex 35.4013 -21.1287 -0.1 + vertex 35.4013 -21.1287 -0.2 vertex 35.5778 -21.102 0 vertex 35.4013 -21.1287 0 endloop @@ -22493,13 +22493,13 @@ solid OpenSCAD_Model facet normal 0.149785 -0.988719 0 outer loop vertex 35.5778 -21.102 0 - vertex 35.4013 -21.1287 -0.1 - vertex 35.5778 -21.102 -0.1 + vertex 35.4013 -21.1287 -0.2 + vertex 35.5778 -21.102 -0.2 endloop endfacet facet normal 0.22645 -0.974023 0 outer loop - vertex 35.5778 -21.102 -0.1 + vertex 35.5778 -21.102 -0.2 vertex 35.9118 -21.0243 0 vertex 35.5778 -21.102 0 endloop @@ -22507,13 +22507,13 @@ solid OpenSCAD_Model facet normal 0.22645 -0.974023 0 outer loop vertex 35.9118 -21.0243 0 - vertex 35.5778 -21.102 -0.1 - vertex 35.9118 -21.0243 -0.1 + vertex 35.5778 -21.102 -0.2 + vertex 35.9118 -21.0243 -0.2 endloop endfacet facet normal 0.304725 -0.95244 0 outer loop - vertex 35.9118 -21.0243 -0.1 + vertex 35.9118 -21.0243 -0.2 vertex 36.5724 -20.813 0 vertex 35.9118 -21.0243 0 endloop @@ -22521,13 +22521,13 @@ solid OpenSCAD_Model facet normal 0.304725 -0.95244 0 outer loop vertex 36.5724 -20.813 0 - vertex 35.9118 -21.0243 -0.1 - vertex 36.5724 -20.813 -0.1 + vertex 35.9118 -21.0243 -0.2 + vertex 36.5724 -20.813 -0.2 endloop endfacet facet normal 0.331013 -0.943626 0 outer loop - vertex 36.5724 -20.813 -0.1 + vertex 36.5724 -20.813 -0.2 vertex 37.4642 -20.5001 0 vertex 36.5724 -20.813 0 endloop @@ -22535,13 +22535,13 @@ solid OpenSCAD_Model facet normal 0.331013 -0.943626 0 outer loop vertex 37.4642 -20.5001 0 - vertex 36.5724 -20.813 -0.1 - vertex 37.4642 -20.5001 -0.1 + vertex 36.5724 -20.813 -0.2 + vertex 37.4642 -20.5001 -0.2 endloop endfacet facet normal 0.348531 -0.937297 0 outer loop - vertex 37.4642 -20.5001 -0.1 + vertex 37.4642 -20.5001 -0.2 vertex 38.4916 -20.1181 0 vertex 37.4642 -20.5001 0 endloop @@ -22549,13 +22549,13 @@ solid OpenSCAD_Model facet normal 0.348531 -0.937297 0 outer loop vertex 38.4916 -20.1181 0 - vertex 37.4642 -20.5001 -0.1 - vertex 38.4916 -20.1181 -0.1 + vertex 37.4642 -20.5001 -0.2 + vertex 38.4916 -20.1181 -0.2 endloop endfacet facet normal 0.345306 -0.93849 0 outer loop - vertex 38.4916 -20.1181 -0.1 + vertex 38.4916 -20.1181 -0.2 vertex 39.5298 -19.7361 0 vertex 38.4916 -20.1181 0 endloop @@ -22563,13 +22563,13 @@ solid OpenSCAD_Model facet normal 0.345306 -0.93849 0 outer loop vertex 39.5298 -19.7361 0 - vertex 38.4916 -20.1181 -0.1 - vertex 39.5298 -19.7361 -0.1 + vertex 38.4916 -20.1181 -0.2 + vertex 39.5298 -19.7361 -0.2 endloop endfacet facet normal 0.321461 -0.946923 0 outer loop - vertex 39.5298 -19.7361 -0.1 + vertex 39.5298 -19.7361 -0.2 vertex 40.4513 -19.4233 0 vertex 39.5298 -19.7361 0 endloop @@ -22577,13 +22577,13 @@ solid OpenSCAD_Model facet normal 0.321461 -0.946923 0 outer loop vertex 40.4513 -19.4233 0 - vertex 39.5298 -19.7361 -0.1 - vertex 40.4513 -19.4233 -0.1 + vertex 39.5298 -19.7361 -0.2 + vertex 40.4513 -19.4233 -0.2 endloop endfacet facet normal 0.28733 -0.957832 0 outer loop - vertex 40.4513 -19.4233 -0.1 + vertex 40.4513 -19.4233 -0.2 vertex 41.156 -19.2119 0 vertex 40.4513 -19.4233 0 endloop @@ -22591,13 +22591,13 @@ solid OpenSCAD_Model facet normal 0.28733 -0.957832 0 outer loop vertex 41.156 -19.2119 0 - vertex 40.4513 -19.4233 -0.1 - vertex 41.156 -19.2119 -0.1 + vertex 40.4513 -19.4233 -0.2 + vertex 41.156 -19.2119 -0.2 endloop endfacet facet normal 0.23347 -0.972364 0 outer loop - vertex 41.156 -19.2119 -0.1 + vertex 41.156 -19.2119 -0.2 vertex 41.3957 -19.1543 0 vertex 41.156 -19.2119 0 endloop @@ -22605,13 +22605,13 @@ solid OpenSCAD_Model facet normal 0.23347 -0.972364 0 outer loop vertex 41.3957 -19.1543 0 - vertex 41.156 -19.2119 -0.1 - vertex 41.3957 -19.1543 -0.1 + vertex 41.156 -19.2119 -0.2 + vertex 41.3957 -19.1543 -0.2 endloop endfacet facet normal 0.13452 -0.990911 0 outer loop - vertex 41.3957 -19.1543 -0.1 + vertex 41.3957 -19.1543 -0.2 vertex 41.5436 -19.1343 0 vertex 41.3957 -19.1543 0 endloop @@ -22619,13 +22619,13 @@ solid OpenSCAD_Model facet normal 0.13452 -0.990911 0 outer loop vertex 41.5436 -19.1343 0 - vertex 41.3957 -19.1543 -0.1 - vertex 41.5436 -19.1343 -0.1 + vertex 41.3957 -19.1543 -0.2 + vertex 41.5436 -19.1343 -0.2 endloop endfacet facet normal -0.114485 -0.993425 0 outer loop - vertex 41.5436 -19.1343 -0.1 + vertex 41.5436 -19.1343 -0.2 vertex 41.7426 -19.1572 0 vertex 41.5436 -19.1343 0 endloop @@ -22633,13 +22633,13 @@ solid OpenSCAD_Model facet normal -0.114485 -0.993425 -0 outer loop vertex 41.7426 -19.1572 0 - vertex 41.5436 -19.1343 -0.1 - vertex 41.7426 -19.1572 -0.1 + vertex 41.5436 -19.1343 -0.2 + vertex 41.7426 -19.1572 -0.2 endloop endfacet facet normal -0.379137 -0.925341 0 outer loop - vertex 41.7426 -19.1572 -0.1 + vertex 41.7426 -19.1572 -0.2 vertex 41.9051 -19.2238 0 vertex 41.7426 -19.1572 0 endloop @@ -22647,13 +22647,13 @@ solid OpenSCAD_Model facet normal -0.379137 -0.925341 -0 outer loop vertex 41.9051 -19.2238 0 - vertex 41.7426 -19.1572 -0.1 - vertex 41.9051 -19.2238 -0.1 + vertex 41.7426 -19.1572 -0.2 + vertex 41.9051 -19.2238 -0.2 endloop endfacet facet normal -0.651079 -0.75901 0 outer loop - vertex 41.9051 -19.2238 -0.1 + vertex 41.9051 -19.2238 -0.2 vertex 42.0297 -19.3306 0 vertex 41.9051 -19.2238 0 endloop @@ -22661,125 +22661,125 @@ solid OpenSCAD_Model facet normal -0.651079 -0.75901 -0 outer loop vertex 42.0297 -19.3306 0 - vertex 41.9051 -19.2238 -0.1 - vertex 42.0297 -19.3306 -0.1 + vertex 41.9051 -19.2238 -0.2 + vertex 42.0297 -19.3306 -0.2 endloop endfacet facet normal -0.860116 -0.510098 0 outer loop - vertex 42.1149 -19.4743 -0.1 + vertex 42.1149 -19.4743 -0.2 vertex 42.0297 -19.3306 0 - vertex 42.0297 -19.3306 -0.1 + vertex 42.0297 -19.3306 -0.2 endloop endfacet facet normal -0.860116 -0.510098 0 outer loop vertex 42.0297 -19.3306 0 - vertex 42.1149 -19.4743 -0.1 + vertex 42.1149 -19.4743 -0.2 vertex 42.1149 -19.4743 0 endloop endfacet facet normal -0.969806 -0.243876 0 outer loop - vertex 42.1595 -19.6516 -0.1 + vertex 42.1595 -19.6516 -0.2 vertex 42.1149 -19.4743 0 - vertex 42.1149 -19.4743 -0.1 + vertex 42.1149 -19.4743 -0.2 endloop endfacet facet normal -0.969806 -0.243876 0 outer loop vertex 42.1149 -19.4743 0 - vertex 42.1595 -19.6516 -0.1 + vertex 42.1595 -19.6516 -0.2 vertex 42.1595 -19.6516 0 endloop endfacet facet normal -0.999925 -0.0122495 0 outer loop - vertex 42.162 -19.859 -0.1 + vertex 42.162 -19.859 -0.2 vertex 42.1595 -19.6516 0 - vertex 42.1595 -19.6516 -0.1 + vertex 42.1595 -19.6516 -0.2 endloop endfacet facet normal -0.999925 -0.0122495 0 outer loop vertex 42.1595 -19.6516 0 - vertex 42.162 -19.859 -0.1 + vertex 42.162 -19.859 -0.2 vertex 42.162 -19.859 0 endloop endfacet facet normal -0.985121 0.171861 0 outer loop - vertex 42.1212 -20.0931 -0.1 + vertex 42.1212 -20.0931 -0.2 vertex 42.162 -19.859 0 - vertex 42.162 -19.859 -0.1 + vertex 42.162 -19.859 -0.2 endloop endfacet facet normal -0.985121 0.171861 0 outer loop vertex 42.162 -19.859 0 - vertex 42.1212 -20.0931 -0.1 + vertex 42.1212 -20.0931 -0.2 vertex 42.1212 -20.0931 0 endloop endfacet facet normal -0.948956 0.315408 0 outer loop - vertex 42.0356 -20.3507 -0.1 + vertex 42.0356 -20.3507 -0.2 vertex 42.1212 -20.0931 0 - vertex 42.1212 -20.0931 -0.1 + vertex 42.1212 -20.0931 -0.2 endloop endfacet facet normal -0.948956 0.315408 0 outer loop vertex 42.1212 -20.0931 0 - vertex 42.0356 -20.3507 -0.1 + vertex 42.0356 -20.3507 -0.2 vertex 42.0356 -20.3507 0 endloop endfacet facet normal -0.935213 0.354086 0 outer loop - vertex 41.9515 -20.5727 -0.1 + vertex 41.9515 -20.5727 -0.2 vertex 42.0356 -20.3507 0 - vertex 42.0356 -20.3507 -0.1 + vertex 42.0356 -20.3507 -0.2 endloop endfacet facet normal -0.935213 0.354086 0 outer loop vertex 42.0356 -20.3507 0 - vertex 41.9515 -20.5727 -0.1 + vertex 41.9515 -20.5727 -0.2 vertex 41.9515 -20.5727 0 endloop endfacet facet normal -0.96654 0.256517 0 outer loop - vertex 41.9099 -20.7296 -0.1 + vertex 41.9099 -20.7296 -0.2 vertex 41.9515 -20.5727 0 - vertex 41.9515 -20.5727 -0.1 + vertex 41.9515 -20.5727 -0.2 endloop endfacet facet normal -0.96654 0.256517 0 outer loop vertex 41.9515 -20.5727 0 - vertex 41.9099 -20.7296 -0.1 + vertex 41.9099 -20.7296 -0.2 vertex 41.9099 -20.7296 0 endloop endfacet facet normal -0.996169 -0.0874488 0 outer loop - vertex 41.9179 -20.8207 -0.1 + vertex 41.9179 -20.8207 -0.2 vertex 41.9099 -20.7296 0 - vertex 41.9099 -20.7296 -0.1 + vertex 41.9099 -20.7296 -0.2 endloop endfacet facet normal -0.996169 -0.0874488 0 outer loop vertex 41.9099 -20.7296 0 - vertex 41.9179 -20.8207 -0.1 + vertex 41.9179 -20.8207 -0.2 vertex 41.9179 -20.8207 0 endloop endfacet facet normal -0.639023 -0.769188 0 outer loop - vertex 41.9179 -20.8207 -0.1 + vertex 41.9179 -20.8207 -0.2 vertex 41.9427 -20.8413 0 vertex 41.9179 -20.8207 0 endloop @@ -22787,13 +22787,13 @@ solid OpenSCAD_Model facet normal -0.639023 -0.769188 -0 outer loop vertex 41.9427 -20.8413 0 - vertex 41.9179 -20.8207 -0.1 - vertex 41.9427 -20.8413 -0.1 + vertex 41.9179 -20.8207 -0.2 + vertex 41.9427 -20.8413 -0.2 endloop endfacet facet normal -0.0984788 -0.995139 0 outer loop - vertex 41.9427 -20.8413 -0.1 + vertex 41.9427 -20.8413 -0.2 vertex 41.9827 -20.8453 0 vertex 41.9427 -20.8413 0 endloop @@ -22801,13 +22801,13 @@ solid OpenSCAD_Model facet normal -0.0984788 -0.995139 -0 outer loop vertex 41.9827 -20.8453 0 - vertex 41.9427 -20.8413 -0.1 - vertex 41.9827 -20.8453 -0.1 + vertex 41.9427 -20.8413 -0.2 + vertex 41.9827 -20.8453 -0.2 endloop endfacet facet normal 0.313279 -0.949661 0 outer loop - vertex 41.9827 -20.8453 -0.1 + vertex 41.9827 -20.8453 -0.2 vertex 42.1116 -20.8028 0 vertex 41.9827 -20.8453 0 endloop @@ -22815,13 +22815,13 @@ solid OpenSCAD_Model facet normal 0.313279 -0.949661 0 outer loop vertex 42.1116 -20.8028 0 - vertex 41.9827 -20.8453 -0.1 - vertex 42.1116 -20.8028 -0.1 + vertex 41.9827 -20.8453 -0.2 + vertex 42.1116 -20.8028 -0.2 endloop endfacet facet normal 0.482712 -0.875779 0 outer loop - vertex 42.1116 -20.8028 -0.1 + vertex 42.1116 -20.8028 -0.2 vertex 42.3117 -20.6924 0 vertex 42.1116 -20.8028 0 endloop @@ -22829,13 +22829,13 @@ solid OpenSCAD_Model facet normal 0.482712 -0.875779 0 outer loop vertex 42.3117 -20.6924 0 - vertex 42.1116 -20.8028 -0.1 - vertex 42.3117 -20.6924 -0.1 + vertex 42.1116 -20.8028 -0.2 + vertex 42.3117 -20.6924 -0.2 endloop endfacet facet normal 0.552983 -0.833193 0 outer loop - vertex 42.3117 -20.6924 -0.1 + vertex 42.3117 -20.6924 -0.2 vertex 42.9547 -20.2657 0 vertex 42.3117 -20.6924 0 endloop @@ -22843,13 +22843,13 @@ solid OpenSCAD_Model facet normal 0.552983 -0.833193 0 outer loop vertex 42.9547 -20.2657 0 - vertex 42.3117 -20.6924 -0.1 - vertex 42.9547 -20.2657 -0.1 + vertex 42.3117 -20.6924 -0.2 + vertex 42.9547 -20.2657 -0.2 endloop endfacet facet normal 0.550831 -0.834617 0 outer loop - vertex 42.9547 -20.2657 -0.1 + vertex 42.9547 -20.2657 -0.2 vertex 43.4033 -19.9696 0 vertex 42.9547 -20.2657 0 endloop @@ -22857,13 +22857,13 @@ solid OpenSCAD_Model facet normal 0.550831 -0.834617 0 outer loop vertex 43.4033 -19.9696 0 - vertex 42.9547 -20.2657 -0.1 - vertex 43.4033 -19.9696 -0.1 + vertex 42.9547 -20.2657 -0.2 + vertex 43.4033 -19.9696 -0.2 endloop endfacet facet normal 0.505722 -0.862696 0 outer loop - vertex 43.4033 -19.9696 -0.1 + vertex 43.4033 -19.9696 -0.2 vertex 43.8201 -19.7253 0 vertex 43.4033 -19.9696 0 endloop @@ -22871,13 +22871,13 @@ solid OpenSCAD_Model facet normal 0.505722 -0.862696 0 outer loop vertex 43.8201 -19.7253 0 - vertex 43.4033 -19.9696 -0.1 - vertex 43.8201 -19.7253 -0.1 + vertex 43.4033 -19.9696 -0.2 + vertex 43.8201 -19.7253 -0.2 endloop endfacet facet normal 0.444191 -0.895932 0 outer loop - vertex 43.8201 -19.7253 -0.1 + vertex 43.8201 -19.7253 -0.2 vertex 44.2162 -19.5289 0 vertex 43.8201 -19.7253 0 endloop @@ -22885,13 +22885,13 @@ solid OpenSCAD_Model facet normal 0.444191 -0.895932 0 outer loop vertex 44.2162 -19.5289 0 - vertex 43.8201 -19.7253 -0.1 - vertex 44.2162 -19.5289 -0.1 + vertex 43.8201 -19.7253 -0.2 + vertex 44.2162 -19.5289 -0.2 endloop endfacet facet normal 0.36641 -0.930454 0 outer loop - vertex 44.2162 -19.5289 -0.1 + vertex 44.2162 -19.5289 -0.2 vertex 44.6026 -19.3768 0 vertex 44.2162 -19.5289 0 endloop @@ -22899,13 +22899,13 @@ solid OpenSCAD_Model facet normal 0.36641 -0.930454 0 outer loop vertex 44.6026 -19.3768 0 - vertex 44.2162 -19.5289 -0.1 - vertex 44.6026 -19.3768 -0.1 + vertex 44.2162 -19.5289 -0.2 + vertex 44.6026 -19.3768 -0.2 endloop endfacet facet normal 0.276888 -0.960902 0 outer loop - vertex 44.6026 -19.3768 -0.1 + vertex 44.6026 -19.3768 -0.2 vertex 44.9905 -19.265 0 vertex 44.6026 -19.3768 0 endloop @@ -22913,13 +22913,13 @@ solid OpenSCAD_Model facet normal 0.276888 -0.960902 0 outer loop vertex 44.9905 -19.265 0 - vertex 44.6026 -19.3768 -0.1 - vertex 44.9905 -19.265 -0.1 + vertex 44.6026 -19.3768 -0.2 + vertex 44.9905 -19.265 -0.2 endloop endfacet facet normal 0.184446 -0.982843 0 outer loop - vertex 44.9905 -19.265 -0.1 + vertex 44.9905 -19.265 -0.2 vertex 45.391 -19.1898 0 vertex 44.9905 -19.265 0 endloop @@ -22927,13 +22927,13 @@ solid OpenSCAD_Model facet normal 0.184446 -0.982843 0 outer loop vertex 45.391 -19.1898 0 - vertex 44.9905 -19.265 -0.1 - vertex 45.391 -19.1898 -0.1 + vertex 44.9905 -19.265 -0.2 + vertex 45.391 -19.1898 -0.2 endloop endfacet facet normal 0.0992848 -0.995059 0 outer loop - vertex 45.391 -19.1898 -0.1 + vertex 45.391 -19.1898 -0.2 vertex 45.8151 -19.1475 0 vertex 45.391 -19.1898 0 endloop @@ -22941,13 +22941,13 @@ solid OpenSCAD_Model facet normal 0.0992848 -0.995059 0 outer loop vertex 45.8151 -19.1475 0 - vertex 45.391 -19.1898 -0.1 - vertex 45.8151 -19.1475 -0.1 + vertex 45.391 -19.1898 -0.2 + vertex 45.8151 -19.1475 -0.2 endloop endfacet facet normal 0.028896 -0.999582 0 outer loop - vertex 45.8151 -19.1475 -0.1 + vertex 45.8151 -19.1475 -0.2 vertex 46.274 -19.1343 0 vertex 45.8151 -19.1475 0 endloop @@ -22955,13 +22955,13 @@ solid OpenSCAD_Model facet normal 0.028896 -0.999582 0 outer loop vertex 46.274 -19.1343 0 - vertex 45.8151 -19.1475 -0.1 - vertex 46.274 -19.1343 -0.1 + vertex 45.8151 -19.1475 -0.2 + vertex 46.274 -19.1343 -0.2 endloop endfacet facet normal -0.036999 -0.999315 0 outer loop - vertex 46.274 -19.1343 -0.1 + vertex 46.274 -19.1343 -0.2 vertex 46.8289 -19.1548 0 vertex 46.274 -19.1343 0 endloop @@ -22969,7027 +22969,7027 @@ solid OpenSCAD_Model facet normal -0.036999 -0.999315 -0 outer loop vertex 46.8289 -19.1548 0 - vertex 46.274 -19.1343 -0.1 - vertex 46.8289 -19.1548 -0.1 + vertex 46.274 -19.1343 -0.2 + vertex 46.8289 -19.1548 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.1728 30.7024 -0.1 - vertex 12.3025 30.5214 -0.1 - vertex 12.291 30.606 -0.1 + vertex 12.1728 30.7024 -0.2 + vertex 12.3025 30.5214 -0.2 + vertex 12.291 30.606 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.1728 30.7024 -0.1 - vertex 12.291 30.606 -0.1 - vertex 12.2478 30.6663 -0.1 + vertex 12.1728 30.7024 -0.2 + vertex 12.291 30.606 -0.2 + vertex 12.2478 30.6663 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.0661 30.7144 -0.1 - vertex 12.3025 30.5214 -0.1 - vertex 12.1728 30.7024 -0.1 + vertex 12.0661 30.7144 -0.2 + vertex 12.3025 30.5214 -0.2 + vertex 12.1728 30.7024 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.3025 30.5214 -0.1 - vertex 12.0661 30.7144 -0.1 - vertex 12.2821 30.4122 -0.1 + vertex 12.3025 30.5214 -0.2 + vertex 12.0661 30.7144 -0.2 + vertex 12.2821 30.4122 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.9476 30.6899 -0.1 - vertex 12.2821 30.4122 -0.1 - vertex 12.0661 30.7144 -0.1 + vertex 11.9476 30.6899 -0.2 + vertex 12.2821 30.4122 -0.2 + vertex 12.0661 30.7144 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.2821 30.4122 -0.1 - vertex 11.9476 30.6899 -0.1 - vertex 12.23 30.2784 -0.1 + vertex 12.2821 30.4122 -0.2 + vertex 11.9476 30.6899 -0.2 + vertex 12.23 30.2784 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.7177 30.5077 -0.1 - vertex 12.23 30.2784 -0.1 - vertex 11.8311 30.6195 -0.1 + vertex 11.7177 30.5077 -0.2 + vertex 12.23 30.2784 -0.2 + vertex 11.8311 30.6195 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.23 30.2784 -0.1 - vertex 11.9476 30.6899 -0.1 - vertex 11.8311 30.6195 -0.1 + vertex 12.23 30.2784 -0.2 + vertex 11.9476 30.6899 -0.2 + vertex 11.8311 30.6195 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.6088 30.3591 -0.1 - vertex 12.23 30.2784 -0.1 - vertex 11.7177 30.5077 -0.1 + vertex 11.6088 30.3591 -0.2 + vertex 12.23 30.2784 -0.2 + vertex 11.7177 30.5077 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.23 30.2784 -0.1 - vertex 11.6088 30.3591 -0.1 - vertex 12.0304 29.9363 -0.1 + vertex 12.23 30.2784 -0.2 + vertex 11.6088 30.3591 -0.2 + vertex 12.0304 29.9363 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.5057 30.1782 -0.1 - vertex 12.0304 29.9363 -0.1 - vertex 11.6088 30.3591 -0.1 + vertex 11.5057 30.1782 -0.2 + vertex 12.0304 29.9363 -0.2 + vertex 11.6088 30.3591 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.0304 29.9363 -0.1 - vertex 11.5057 30.1782 -0.1 - vertex 11.965 29.8184 -0.1 + vertex 12.0304 29.9363 -0.2 + vertex 11.5057 30.1782 -0.2 + vertex 11.965 29.8184 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.965 29.8184 -0.1 - vertex 11.4096 29.9696 -0.1 - vertex 11.9082 29.6745 -0.1 + vertex 11.965 29.8184 -0.2 + vertex 11.4096 29.9696 -0.2 + vertex 11.9082 29.6745 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.4096 29.9696 -0.1 - vertex 11.965 29.8184 -0.1 - vertex 11.5057 30.1782 -0.1 + vertex 11.4096 29.9696 -0.2 + vertex 11.965 29.8184 -0.2 + vertex 11.5057 30.1782 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.6784 17.7808 -0.1 - vertex 26.0696 17.9605 -0.1 - vertex 26.0933 17.5963 -0.1 + vertex 26.6784 17.7808 -0.2 + vertex 26.0696 17.9605 -0.2 + vertex 26.0933 17.5963 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.2605 19.0904 -0.1 - vertex 26.0009 18.2942 -0.1 - vertex 26.0696 17.9605 -0.1 + vertex 26.2605 19.0904 -0.2 + vertex 26.0009 18.2942 -0.2 + vertex 26.0696 17.9605 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.5652 19.0574 -0.1 - vertex 26.1176 19.296 -0.1 - vertex 25.9541 19.4837 -0.1 + vertex 25.5652 19.0574 -0.2 + vertex 26.1176 19.296 -0.2 + vertex 25.9541 19.4837 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.2605 19.0904 -0.1 - vertex 25.8914 18.5921 -0.1 - vertex 26.0009 18.2942 -0.1 + vertex 26.2605 19.0904 -0.2 + vertex 25.8914 18.5921 -0.2 + vertex 26.0009 18.2942 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.5652 19.0574 -0.1 - vertex 25.9541 19.4837 -0.1 - vertex 25.7697 19.6539 -0.1 + vertex 25.5652 19.0574 -0.2 + vertex 25.9541 19.4837 -0.2 + vertex 25.7697 19.6539 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.2605 19.0904 -0.1 - vertex 25.7448 18.8483 -0.1 - vertex 25.8914 18.5921 -0.1 + vertex 26.2605 19.0904 -0.2 + vertex 25.7448 18.8483 -0.2 + vertex 25.8914 18.5921 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.1176 19.296 -0.1 - vertex 25.5652 19.0574 -0.1 - vertex 25.7448 18.8483 -0.1 + vertex 26.1176 19.296 -0.2 + vertex 25.5652 19.0574 -0.2 + vertex 25.7448 18.8483 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.3564 19.2137 -0.1 - vertex 25.7697 19.6539 -0.1 - vertex 25.5639 19.8069 -0.1 + vertex 25.3564 19.2137 -0.2 + vertex 25.7697 19.6539 -0.2 + vertex 25.5639 19.8069 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.7697 19.6539 -0.1 - vertex 25.3564 19.2137 -0.1 - vertex 25.5652 19.0574 -0.1 + vertex 25.7697 19.6539 -0.2 + vertex 25.3564 19.2137 -0.2 + vertex 25.5652 19.0574 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.1224 19.3115 -0.1 - vertex 25.5639 19.8069 -0.1 - vertex 25.3364 19.943 -0.1 + vertex 25.1224 19.3115 -0.2 + vertex 25.5639 19.8069 -0.2 + vertex 25.3364 19.943 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.5639 19.8069 -0.1 - vertex 25.1224 19.3115 -0.1 - vertex 25.3564 19.2137 -0.1 + vertex 25.5639 19.8069 -0.2 + vertex 25.1224 19.3115 -0.2 + vertex 25.3564 19.2137 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.9972 19.3368 -0.1 - vertex 25.3364 19.943 -0.1 - vertex 25.087 20.0627 -0.1 + vertex 24.9972 19.3368 -0.2 + vertex 25.3364 19.943 -0.2 + vertex 25.087 20.0627 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.3364 19.943 -0.1 - vertex 24.9972 19.3368 -0.1 - vertex 25.1224 19.3115 -0.1 + vertex 25.3364 19.943 -0.2 + vertex 24.9972 19.3368 -0.2 + vertex 25.1224 19.3115 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.087 20.0627 -0.1 - vertex 24.8672 19.3454 -0.1 - vertex 24.9972 19.3368 -0.1 + vertex 25.087 20.0627 -0.2 + vertex 24.8672 19.3454 -0.2 + vertex 24.9972 19.3368 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.8151 20.1664 -0.1 - vertex 24.8672 19.3454 -0.1 - vertex 25.087 20.0627 -0.1 + vertex 24.8151 20.1664 -0.2 + vertex 24.8672 19.3454 -0.2 + vertex 25.087 20.0627 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.8151 20.1664 -0.1 - vertex 24.6124 19.3722 -0.1 - vertex 24.8672 19.3454 -0.1 + vertex 24.8151 20.1664 -0.2 + vertex 24.6124 19.3722 -0.2 + vertex 24.8672 19.3454 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.5205 20.2543 -0.1 - vertex 24.6124 19.3722 -0.1 - vertex 24.8151 20.1664 -0.1 + vertex 24.5205 20.2543 -0.2 + vertex 24.6124 19.3722 -0.2 + vertex 24.8151 20.1664 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.5205 20.2543 -0.1 - vertex 24.2514 19.4451 -0.1 - vertex 24.6124 19.3722 -0.1 + vertex 24.5205 20.2543 -0.2 + vertex 24.2514 19.4451 -0.2 + vertex 24.6124 19.3722 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.2028 20.3268 -0.1 - vertex 24.2514 19.4451 -0.1 - vertex 24.5205 20.2543 -0.1 + vertex 24.2028 20.3268 -0.2 + vertex 24.2514 19.4451 -0.2 + vertex 24.5205 20.2543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.8321 19.5531 -0.1 - vertex 24.2028 20.3268 -0.1 - vertex 23.8617 20.3844 -0.1 + vertex 23.8321 19.5531 -0.2 + vertex 24.2028 20.3268 -0.2 + vertex 23.8617 20.3844 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.2028 20.3268 -0.1 - vertex 23.8321 19.5531 -0.1 - vertex 24.2514 19.4451 -0.1 + vertex 24.2028 20.3268 -0.2 + vertex 23.8321 19.5531 -0.2 + vertex 24.2514 19.4451 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.4027 19.6849 -0.1 - vertex 23.8617 20.3844 -0.1 - vertex 23.4814 20.4643 -0.1 + vertex 23.4027 19.6849 -0.2 + vertex 23.8617 20.3844 -0.2 + vertex 23.4814 20.4643 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.8617 20.3844 -0.1 - vertex 23.4027 19.6849 -0.1 - vertex 23.8321 19.5531 -0.1 + vertex 23.8617 20.3844 -0.2 + vertex 23.4027 19.6849 -0.2 + vertex 23.8321 19.5531 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.9977 19.8472 -0.1 - vertex 23.4814 20.4643 -0.1 - vertex 23.1504 20.59 -0.1 + vertex 22.9977 19.8472 -0.2 + vertex 23.4814 20.4643 -0.2 + vertex 23.1504 20.59 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.4814 20.4643 -0.1 - vertex 22.9977 19.8472 -0.1 - vertex 23.4027 19.6849 -0.1 + vertex 23.4814 20.4643 -0.2 + vertex 22.9977 19.8472 -0.2 + vertex 23.4027 19.6849 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.6486 20.047 -0.1 - vertex 23.1504 20.59 -0.1 - vertex 22.8668 20.7638 -0.1 + vertex 22.6486 20.047 -0.2 + vertex 23.1504 20.59 -0.2 + vertex 22.8668 20.7638 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.3515 20.2895 -0.1 - vertex 22.8668 20.7638 -0.1 - vertex 22.7421 20.8693 -0.1 + vertex 22.3515 20.2895 -0.2 + vertex 22.8668 20.7638 -0.2 + vertex 22.7421 20.8693 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.1504 20.59 -0.1 - vertex 22.6486 20.047 -0.1 - vertex 22.9977 19.8472 -0.1 + vertex 23.1504 20.59 -0.2 + vertex 22.6486 20.047 -0.2 + vertex 22.9977 19.8472 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.2213 20.4283 -0.1 - vertex 22.7421 20.8693 -0.1 - vertex 22.6286 20.9877 -0.1 + vertex 22.2213 20.4283 -0.2 + vertex 22.7421 20.8693 -0.2 + vertex 22.6286 20.9877 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.8989 20.9229 -0.1 - vertex 22.6286 20.9877 -0.1 - vertex 22.4341 21.2638 -0.1 + vertex 21.8989 20.9229 -0.2 + vertex 22.6286 20.9877 -0.2 + vertex 22.4341 21.2638 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.8668 20.7638 -0.1 - vertex 22.3515 20.2895 -0.1 - vertex 22.6486 20.047 -0.1 + vertex 22.8668 20.7638 -0.2 + vertex 22.3515 20.2895 -0.2 + vertex 22.6486 20.047 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 21.7362 21.3239 -0.1 - vertex 22.4341 21.2638 -0.1 - vertex 22.2815 21.5943 -0.1 + vertex 21.7362 21.3239 -0.2 + vertex 22.4341 21.2638 -0.2 + vertex 22.2815 21.5943 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.7421 20.8693 -0.1 - vertex 22.2213 20.4283 -0.1 - vertex 22.3515 20.2895 -0.1 + vertex 22.7421 20.8693 -0.2 + vertex 22.2213 20.4283 -0.2 + vertex 22.3515 20.2895 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 21.6111 21.7881 -0.1 - vertex 22.2815 21.5943 -0.1 - vertex 22.1689 21.9813 -0.1 + vertex 21.6111 21.7881 -0.2 + vertex 22.2815 21.5943 -0.2 + vertex 22.1689 21.9813 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.6286 20.9877 -0.1 - vertex 22.1028 20.5797 -0.1 - vertex 22.2213 20.4283 -0.1 + vertex 22.6286 20.9877 -0.2 + vertex 22.1028 20.5797 -0.2 + vertex 22.2213 20.4283 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 21.5197 22.3204 -0.1 - vertex 22.1689 21.9813 -0.1 - vertex 22.0944 22.427 -0.1 + vertex 21.5197 22.3204 -0.2 + vertex 22.1689 21.9813 -0.2 + vertex 22.0944 22.427 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 21.4205 22.8275 -0.1 - vertex 22.0944 22.427 -0.1 - vertex 21.9928 23.1034 -0.1 + vertex 21.4205 22.8275 -0.2 + vertex 22.0944 22.427 -0.2 + vertex 21.9928 23.1034 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.3493 23.064 -0.1 - vertex 21.9928 23.1034 -0.1 - vertex 21.926 23.397 -0.1 + vertex 21.3493 23.064 -0.2 + vertex 21.9928 23.1034 -0.2 + vertex 21.926 23.397 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.6286 20.9877 -0.1 - vertex 21.8989 20.9229 -0.1 - vertex 22.1028 20.5797 -0.1 + vertex 22.6286 20.9877 -0.2 + vertex 21.8989 20.9229 -0.2 + vertex 22.1028 20.5797 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.2635 23.2891 -0.1 - vertex 21.926 23.397 -0.1 - vertex 21.8437 23.6658 -0.1 + vertex 21.2635 23.2891 -0.2 + vertex 21.926 23.397 -0.2 + vertex 21.8437 23.6658 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.1632 23.503 -0.1 - vertex 21.8437 23.6658 -0.1 - vertex 21.7423 23.9135 -0.1 + vertex 21.1632 23.503 -0.2 + vertex 21.8437 23.6658 -0.2 + vertex 21.7423 23.9135 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.4341 21.2638 -0.1 - vertex 21.7362 21.3239 -0.1 - vertex 21.8989 20.9229 -0.1 + vertex 22.4341 21.2638 -0.2 + vertex 21.7362 21.3239 -0.2 + vertex 21.8989 20.9229 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.0482 23.7058 -0.1 - vertex 21.7423 23.9135 -0.1 - vertex 21.6182 24.144 -0.1 + vertex 21.0482 23.7058 -0.2 + vertex 21.7423 23.9135 -0.2 + vertex 21.6182 24.144 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.2815 21.5943 -0.1 - vertex 21.6111 21.7881 -0.1 - vertex 21.7362 21.3239 -0.1 + vertex 22.2815 21.5943 -0.2 + vertex 21.6111 21.7881 -0.2 + vertex 21.7362 21.3239 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.1689 21.9813 -0.1 - vertex 21.5197 22.3204 -0.1 - vertex 21.6111 21.7881 -0.1 + vertex 22.1689 21.9813 -0.2 + vertex 21.5197 22.3204 -0.2 + vertex 21.6111 21.7881 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.9184 23.8976 -0.1 - vertex 21.6182 24.144 -0.1 - vertex 21.4677 24.3609 -0.1 + vertex 20.9184 23.8976 -0.2 + vertex 21.6182 24.144 -0.2 + vertex 21.4677 24.3609 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.0944 22.427 -0.1 - vertex 21.4205 22.8275 -0.1 - vertex 21.5197 22.3204 -0.1 + vertex 22.0944 22.427 -0.2 + vertex 21.4205 22.8275 -0.2 + vertex 21.5197 22.3204 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.9928 23.1034 -0.1 - vertex 21.3493 23.064 -0.1 - vertex 21.4205 22.8275 -0.1 + vertex 21.9928 23.1034 -0.2 + vertex 21.3493 23.064 -0.2 + vertex 21.4205 22.8275 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.7738 24.0784 -0.1 - vertex 21.4677 24.3609 -0.1 - vertex 21.2873 24.568 -0.1 + vertex 20.7738 24.0784 -0.2 + vertex 21.4677 24.3609 -0.2 + vertex 21.2873 24.568 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.926 23.397 -0.1 - vertex 21.2635 23.2891 -0.1 - vertex 21.3493 23.064 -0.1 + vertex 21.926 23.397 -0.2 + vertex 21.2635 23.2891 -0.2 + vertex 21.3493 23.064 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.8437 23.6658 -0.1 - vertex 21.1632 23.503 -0.1 - vertex 21.2635 23.2891 -0.1 + vertex 21.8437 23.6658 -0.2 + vertex 21.1632 23.503 -0.2 + vertex 21.2635 23.2891 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.6143 24.2484 -0.1 - vertex 21.2873 24.568 -0.1 - vertex 21.0733 24.7691 -0.1 + vertex 20.6143 24.2484 -0.2 + vertex 21.2873 24.568 -0.2 + vertex 21.0733 24.7691 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.7423 23.9135 -0.1 - vertex 21.0482 23.7058 -0.1 - vertex 21.1632 23.503 -0.1 + vertex 21.7423 23.9135 -0.2 + vertex 21.0482 23.7058 -0.2 + vertex 21.1632 23.503 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.6182 24.144 -0.1 - vertex 20.9184 23.8976 -0.1 - vertex 21.0482 23.7058 -0.1 + vertex 21.6182 24.144 -0.2 + vertex 20.9184 23.8976 -0.2 + vertex 21.0482 23.7058 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.4398 24.4076 -0.1 - vertex 21.0733 24.7691 -0.1 - vertex 20.8221 24.9679 -0.1 + vertex 20.4398 24.4076 -0.2 + vertex 21.0733 24.7691 -0.2 + vertex 20.8221 24.9679 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.4677 24.3609 -0.1 - vertex 20.7738 24.0784 -0.1 - vertex 20.9184 23.8976 -0.1 + vertex 21.4677 24.3609 -0.2 + vertex 20.7738 24.0784 -0.2 + vertex 20.9184 23.8976 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.2873 24.568 -0.1 - vertex 20.6143 24.2484 -0.1 - vertex 20.7738 24.0784 -0.1 + vertex 21.2873 24.568 -0.2 + vertex 20.6143 24.2484 -0.2 + vertex 20.7738 24.0784 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.2502 24.5562 -0.1 - vertex 20.8221 24.9679 -0.1 - vertex 20.53 25.168 -0.1 + vertex 20.2502 24.5562 -0.2 + vertex 20.8221 24.9679 -0.2 + vertex 20.53 25.168 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.0733 24.7691 -0.1 - vertex 20.4398 24.4076 -0.1 - vertex 20.6143 24.2484 -0.1 + vertex 21.0733 24.7691 -0.2 + vertex 20.4398 24.4076 -0.2 + vertex 20.6143 24.2484 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.8221 24.9679 -0.1 - vertex 20.2502 24.5562 -0.1 - vertex 20.4398 24.4076 -0.1 + vertex 20.8221 24.9679 -0.2 + vertex 20.2502 24.5562 -0.2 + vertex 20.4398 24.4076 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0455 24.6942 -0.1 - vertex 20.53 25.168 -0.1 - vertex 20.1936 25.3734 -0.1 + vertex 20.0455 24.6942 -0.2 + vertex 20.53 25.168 -0.2 + vertex 20.1936 25.3734 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.53 25.168 -0.1 - vertex 20.0455 24.6942 -0.1 - vertex 20.2502 24.5562 -0.1 + vertex 20.53 25.168 -0.2 + vertex 20.0455 24.6942 -0.2 + vertex 20.2502 24.5562 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.1936 25.3734 -0.1 - vertex 19.5904 24.9388 -0.1 - vertex 20.0455 24.6942 -0.1 + vertex 20.1936 25.3734 -0.2 + vertex 19.5904 24.9388 -0.2 + vertex 20.0455 24.6942 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3729 25.8147 -0.1 - vertex 19.5904 24.9388 -0.1 - vertex 20.1936 25.3734 -0.1 + vertex 19.3729 25.8147 -0.2 + vertex 19.5904 24.9388 -0.2 + vertex 20.1936 25.3734 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3729 25.8147 -0.1 - vertex 19.0737 25.1422 -0.1 - vertex 19.5904 24.9388 -0.1 + vertex 19.3729 25.8147 -0.2 + vertex 19.0737 25.1422 -0.2 + vertex 19.5904 24.9388 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3729 25.8147 -0.1 - vertex 18.5685 25.3244 -0.1 - vertex 19.0737 25.1422 -0.1 + vertex 19.3729 25.8147 -0.2 + vertex 18.5685 25.3244 -0.2 + vertex 19.0737 25.1422 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.3311 26.3216 -0.1 - vertex 18.5685 25.3244 -0.1 - vertex 19.3729 25.8147 -0.1 + vertex 18.3311 26.3216 -0.2 + vertex 18.5685 25.3244 -0.2 + vertex 19.3729 25.8147 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.3311 26.3216 -0.1 - vertex 18.1033 25.5216 -0.1 - vertex 18.5685 25.3244 -0.1 + vertex 18.3311 26.3216 -0.2 + vertex 18.1033 25.5216 -0.2 + vertex 18.5685 25.3244 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.3311 26.3216 -0.1 - vertex 17.6707 25.7385 -0.1 - vertex 18.1033 25.5216 -0.1 + vertex 18.3311 26.3216 -0.2 + vertex 17.6707 25.7385 -0.2 + vertex 18.1033 25.5216 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6504 26.6607 -0.1 - vertex 17.6707 25.7385 -0.1 - vertex 18.3311 26.3216 -0.1 + vertex 17.6504 26.6607 -0.2 + vertex 17.6707 25.7385 -0.2 + vertex 18.3311 26.3216 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6504 26.6607 -0.1 - vertex 17.2631 25.98 -0.1 - vertex 17.6707 25.7385 -0.1 + vertex 17.6504 26.6607 -0.2 + vertex 17.2631 25.98 -0.2 + vertex 17.6707 25.7385 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.873 26.2508 -0.1 - vertex 17.6504 26.6607 -0.1 - vertex 17.0889 26.9817 -0.1 + vertex 16.873 26.2508 -0.2 + vertex 17.6504 26.6607 -0.2 + vertex 17.0889 26.9817 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6504 26.6607 -0.1 - vertex 16.873 26.2508 -0.1 - vertex 17.2631 25.98 -0.1 + vertex 17.6504 26.6607 -0.2 + vertex 16.873 26.2508 -0.2 + vertex 17.2631 25.98 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.4932 26.5558 -0.1 - vertex 17.0889 26.9817 -0.1 - vertex 16.6359 27.2959 -0.1 + vertex 16.4932 26.5558 -0.2 + vertex 17.0889 26.9817 -0.2 + vertex 16.6359 27.2959 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.0889 26.9817 -0.1 - vertex 16.4932 26.5558 -0.1 - vertex 16.873 26.2508 -0.1 + vertex 17.0889 26.9817 -0.2 + vertex 16.4932 26.5558 -0.2 + vertex 16.873 26.2508 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.116 26.8997 -0.1 - vertex 16.6359 27.2959 -0.1 - vertex 16.4467 27.454 -0.1 + vertex 16.116 26.8997 -0.2 + vertex 16.6359 27.2959 -0.2 + vertex 16.4467 27.454 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.116 26.8997 -0.1 - vertex 16.4467 27.454 -0.1 - vertex 16.2806 27.6146 -0.1 + vertex 16.116 26.8997 -0.2 + vertex 16.4467 27.454 -0.2 + vertex 16.2806 27.6146 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.734 27.2872 -0.1 - vertex 16.2806 27.6146 -0.1 - vertex 16.1362 27.7792 -0.1 + vertex 15.734 27.2872 -0.2 + vertex 16.2806 27.6146 -0.2 + vertex 16.1362 27.7792 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.6359 27.2959 -0.1 - vertex 16.116 26.8997 -0.1 - vertex 16.4932 26.5558 -0.1 + vertex 16.6359 27.2959 -0.2 + vertex 16.116 26.8997 -0.2 + vertex 16.4932 26.5558 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.734 27.2872 -0.1 - vertex 16.1362 27.7792 -0.1 - vertex 16.0121 27.9491 -0.1 + vertex 15.734 27.2872 -0.2 + vertex 16.1362 27.7792 -0.2 + vertex 16.0121 27.9491 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.344 27.7317 -0.1 - vertex 16.0121 27.9491 -0.1 - vertex 15.9071 28.1258 -0.1 + vertex 15.344 27.7317 -0.2 + vertex 16.0121 27.9491 -0.2 + vertex 15.9071 28.1258 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.2193 27.9155 -0.1 - vertex 15.9071 28.1258 -0.1 - vertex 15.8197 28.3106 -0.1 + vertex 15.2193 27.9155 -0.2 + vertex 15.9071 28.1258 -0.2 + vertex 15.8197 28.3106 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.1337 28.0941 -0.1 - vertex 15.8197 28.3106 -0.1 - vertex 15.7487 28.5051 -0.1 + vertex 15.1337 28.0941 -0.2 + vertex 15.8197 28.3106 -0.2 + vertex 15.7487 28.5051 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.2806 27.6146 -0.1 - vertex 15.734 27.2872 -0.1 - vertex 16.116 26.8997 -0.1 + vertex 16.2806 27.6146 -0.2 + vertex 15.734 27.2872 -0.2 + vertex 16.116 26.8997 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.0574 28.4965 -0.1 - vertex 15.7487 28.5051 -0.1 - vertex 15.6927 28.7106 -0.1 + vertex 15.0574 28.4965 -0.2 + vertex 15.7487 28.5051 -0.2 + vertex 15.6927 28.7106 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.0552 28.7509 -0.1 - vertex 15.6927 28.7106 -0.1 - vertex 15.6202 29.1601 -0.1 + vertex 15.0552 28.7509 -0.2 + vertex 15.6927 28.7106 -0.2 + vertex 15.6202 29.1601 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.1102 29.496 -0.1 - vertex 15.6202 29.1601 -0.1 - vertex 15.5622 29.5773 -0.1 + vertex 15.1102 29.496 -0.2 + vertex 15.6202 29.1601 -0.2 + vertex 15.5622 29.5773 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.1701 29.8123 -0.1 - vertex 15.5622 29.5773 -0.1 - vertex 15.49 29.8698 -0.1 + vertex 15.1701 29.8123 -0.2 + vertex 15.5622 29.5773 -0.2 + vertex 15.49 29.8698 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.2437 30.0088 -0.1 - vertex 15.49 29.8698 -0.1 - vertex 15.4091 30.0386 -0.1 + vertex 15.2437 30.0088 -0.2 + vertex 15.49 29.8698 -0.2 + vertex 15.4091 30.0386 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.2838 30.0618 -0.1 - vertex 15.4091 30.0386 -0.1 - vertex 15.3672 30.0768 -0.1 + vertex 15.2838 30.0618 -0.2 + vertex 15.4091 30.0386 -0.2 + vertex 15.3672 30.0768 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.6202 29.1601 -0.1 - vertex 15.0694 29.0611 -0.1 - vertex 15.0552 28.7509 -0.1 + vertex 15.6202 29.1601 -0.2 + vertex 15.0694 29.0611 -0.2 + vertex 15.0552 28.7509 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.2838 30.0618 -0.1 - vertex 15.3672 30.0768 -0.1 - vertex 15.3252 30.0845 -0.1 + vertex 15.2838 30.0618 -0.2 + vertex 15.3672 30.0768 -0.2 + vertex 15.3252 30.0845 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.4091 30.0386 -0.1 - vertex 15.2838 30.0618 -0.1 - vertex 15.2437 30.0088 -0.1 + vertex 15.4091 30.0386 -0.2 + vertex 15.2838 30.0618 -0.2 + vertex 15.2437 30.0088 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.49 29.8698 -0.1 - vertex 15.2437 30.0088 -0.1 - vertex 15.1701 29.8123 -0.1 + vertex 15.49 29.8698 -0.2 + vertex 15.2437 30.0088 -0.2 + vertex 15.1701 29.8123 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.6927 28.7106 -0.1 - vertex 15.0552 28.7509 -0.1 - vertex 15.0574 28.4965 -0.1 + vertex 15.6927 28.7106 -0.2 + vertex 15.0552 28.7509 -0.2 + vertex 15.0574 28.4965 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.5622 29.5773 -0.1 - vertex 15.1701 29.8123 -0.1 - vertex 15.1102 29.496 -0.1 + vertex 15.5622 29.5773 -0.2 + vertex 15.1701 29.8123 -0.2 + vertex 15.1102 29.496 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.6202 29.1601 -0.1 - vertex 15.1102 29.496 -0.1 - vertex 15.0694 29.0611 -0.1 + vertex 15.6202 29.1601 -0.2 + vertex 15.1102 29.496 -0.2 + vertex 15.0694 29.0611 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.0121 27.9491 -0.1 - vertex 15.344 27.7317 -0.1 - vertex 15.734 27.2872 -0.1 + vertex 16.0121 27.9491 -0.2 + vertex 15.344 27.7317 -0.2 + vertex 15.734 27.2872 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.7487 28.5051 -0.1 - vertex 15.0574 28.4965 -0.1 - vertex 15.0817 28.2827 -0.1 + vertex 15.7487 28.5051 -0.2 + vertex 15.0574 28.4965 -0.2 + vertex 15.0817 28.2827 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.9071 28.1258 -0.1 - vertex 15.2193 27.9155 -0.1 - vertex 15.344 27.7317 -0.1 + vertex 15.9071 28.1258 -0.2 + vertex 15.2193 27.9155 -0.2 + vertex 15.344 27.7317 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.7487 28.5051 -0.1 - vertex 15.0817 28.2827 -0.1 - vertex 15.1337 28.0941 -0.1 + vertex 15.7487 28.5051 -0.2 + vertex 15.0817 28.2827 -0.2 + vertex 15.1337 28.0941 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.8197 28.3106 -0.1 - vertex 15.1337 28.0941 -0.1 - vertex 15.2193 27.9155 -0.1 + vertex 15.8197 28.3106 -0.2 + vertex 15.1337 28.0941 -0.2 + vertex 15.2193 27.9155 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.6024 10.7775 -0.1 - vertex 21.7259 8.22365 -0.1 - vertex 27.5775 10.2019 -0.1 + vertex 27.6024 10.7775 -0.2 + vertex 21.7259 8.22365 -0.2 + vertex 27.5775 10.2019 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 23.6083 4.95794 -0.1 - vertex 27.0158 7.30485 -0.1 - vertex 23.5351 5.37146 -0.1 + vertex 23.6083 4.95794 -0.2 + vertex 27.0158 7.30485 -0.2 + vertex 23.5351 5.37146 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 22.0631 7.89267 -0.1 - vertex 27.5775 10.2019 -0.1 - vertex 21.7259 8.22365 -0.1 + vertex 22.0631 7.89267 -0.2 + vertex 27.5775 10.2019 -0.2 + vertex 21.7259 8.22365 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.5397 9.70386 -0.1 - vertex 22.0631 7.89267 -0.1 - vertex 27.4871 9.26334 -0.1 + vertex 27.5397 9.70386 -0.2 + vertex 22.0631 7.89267 -0.2 + vertex 27.4871 9.26334 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 23.6192 4.7586 -0.1 - vertex 27.0158 7.30485 -0.1 - vertex 23.6083 4.95794 -0.1 + vertex 23.6192 4.7586 -0.2 + vertex 27.0158 7.30485 -0.2 + vertex 23.6083 4.95794 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.0158 7.30485 -0.1 - vertex 23.6192 4.7586 -0.1 - vertex 24.9074 2.59483 -0.1 + vertex 27.0158 7.30485 -0.2 + vertex 23.6192 4.7586 -0.2 + vertex 24.9074 2.59483 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 22.3621 7.54907 -0.1 - vertex 27.4871 9.26334 -0.1 - vertex 22.0631 7.89267 -0.1 + vertex 22.3621 7.54907 -0.2 + vertex 27.4871 9.26334 -0.2 + vertex 22.0631 7.89267 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.6129 4.5634 -0.1 - vertex 24.9074 2.59483 -0.1 - vertex 23.6192 4.7586 -0.1 + vertex 23.6129 4.5634 -0.2 + vertex 24.9074 2.59483 -0.2 + vertex 23.6192 4.7586 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.5494 4.18291 -0.1 - vertex 24.9074 2.59483 -0.1 - vertex 23.5897 4.3717 -0.1 + vertex 23.5494 4.18291 -0.2 + vertex 24.9074 2.59483 -0.2 + vertex 23.5897 4.3717 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.4176 8.86037 -0.1 - vertex 22.3621 7.54907 -0.1 - vertex 27.3295 8.47496 -0.1 + vertex 27.4176 8.86037 -0.2 + vertex 22.3621 7.54907 -0.2 + vertex 27.3295 8.47496 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.4183 3.81156 -0.1 - vertex 24.9074 2.59483 -0.1 - vertex 23.5494 4.18291 -0.1 + vertex 23.4183 3.81156 -0.2 + vertex 24.9074 2.59483 -0.2 + vertex 23.5494 4.18291 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.22 3.44442 -0.1 - vertex 24.764 2.4559 -0.1 - vertex 23.4183 3.81156 -0.1 + vertex 23.22 3.44442 -0.2 + vertex 24.764 2.4559 -0.2 + vertex 23.4183 3.81156 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.9074 2.59483 -0.1 - vertex 23.4183 3.81156 -0.1 - vertex 24.764 2.4559 -0.1 + vertex 24.9074 2.59483 -0.2 + vertex 23.4183 3.81156 -0.2 + vertex 24.764 2.4559 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.5897 4.3717 -0.1 - vertex 24.9074 2.59483 -0.1 - vertex 23.6129 4.5634 -0.1 + vertex 23.5897 4.3717 -0.2 + vertex 24.9074 2.59483 -0.2 + vertex 23.6129 4.5634 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.0158 7.30485 -0.1 - vertex 23.3929 5.8089 -0.1 - vertex 23.5351 5.37146 -0.1 + vertex 27.0158 7.30485 -0.2 + vertex 23.3929 5.8089 -0.2 + vertex 23.5351 5.37146 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3295 8.47496 -0.1 - vertex 22.3621 7.54907 -0.1 - vertex 27.2208 8.08714 -0.1 + vertex 27.3295 8.47496 -0.2 + vertex 22.3621 7.54907 -0.2 + vertex 27.2208 8.08714 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.0158 7.30485 -0.1 - vertex 23.1811 6.27516 -0.1 - vertex 23.3929 5.8089 -0.1 + vertex 27.0158 7.30485 -0.2 + vertex 23.1811 6.27516 -0.2 + vertex 23.3929 5.8089 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.0158 7.30485 -0.1 - vertex 22.8992 6.77518 -0.1 - vertex 23.1811 6.27516 -0.1 + vertex 27.0158 7.30485 -0.2 + vertex 22.8992 6.77518 -0.2 + vertex 23.1811 6.27516 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.1048 7.68143 -0.1 - vertex 22.8992 6.77518 -0.1 - vertex 27.0158 7.30485 -0.1 + vertex 27.1048 7.68143 -0.2 + vertex 22.8992 6.77518 -0.2 + vertex 27.0158 7.30485 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 22.8992 6.77518 -0.1 - vertex 27.1048 7.68143 -0.1 - vertex 22.6364 7.18064 -0.1 + vertex 22.8992 6.77518 -0.2 + vertex 27.1048 7.68143 -0.2 + vertex 22.6364 7.18064 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.4871 9.26334 -0.1 - vertex 22.3621 7.54907 -0.1 - vertex 27.4176 8.86037 -0.1 + vertex 27.4871 9.26334 -0.2 + vertex 22.3621 7.54907 -0.2 + vertex 27.4176 8.86037 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.2208 8.08714 -0.1 - vertex 22.6364 7.18064 -0.1 - vertex 27.1048 7.68143 -0.1 + vertex 27.2208 8.08714 -0.2 + vertex 22.6364 7.18064 -0.2 + vertex 27.1048 7.68143 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 22.6364 7.18064 -0.1 - vertex 27.2208 8.08714 -0.1 - vertex 22.3621 7.54907 -0.1 + vertex 22.6364 7.18064 -0.2 + vertex 27.2208 8.08714 -0.2 + vertex 22.3621 7.54907 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.3371 8.55423 -0.1 - vertex 22.2336 15.278 -0.1 - vertex 21.6737 15.039 -0.1 + vertex 21.3371 8.55423 -0.2 + vertex 22.2336 15.278 -0.2 + vertex 21.6737 15.039 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.5775 10.2019 -0.1 - vertex 22.0631 7.89267 -0.1 - vertex 27.5397 9.70386 -0.1 + vertex 27.5775 10.2019 -0.2 + vertex 22.0631 7.89267 -0.2 + vertex 27.5397 9.70386 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.8834 8.89663 -0.1 - vertex 21.6737 15.039 -0.1 - vertex 21.1771 14.8489 -0.1 + vertex 20.8834 8.89663 -0.2 + vertex 21.6737 15.039 -0.2 + vertex 21.1771 14.8489 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.6737 15.039 -0.1 - vertex 20.8834 8.89663 -0.1 - vertex 21.3371 8.55423 -0.1 + vertex 21.6737 15.039 -0.2 + vertex 20.8834 8.89663 -0.2 + vertex 21.3371 8.55423 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3513 9.26304 -0.1 - vertex 21.1771 14.8489 -0.1 - vertex 20.8452 14.735 -0.1 + vertex 20.3513 9.26304 -0.2 + vertex 21.1771 14.8489 -0.2 + vertex 20.8452 14.735 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7274 9.66569 -0.1 - vertex 20.8452 14.735 -0.1 - vertex 20.5722 14.6577 -0.1 + vertex 19.7274 9.66569 -0.2 + vertex 20.8452 14.735 -0.2 + vertex 20.5722 14.6577 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.1771 14.8489 -0.1 - vertex 20.3513 9.26304 -0.1 - vertex 20.8834 8.89663 -0.1 + vertex 21.1771 14.8489 -0.2 + vertex 20.3513 9.26304 -0.2 + vertex 20.8834 8.89663 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.4723 9.81661 -0.1 - vertex 20.5722 14.6577 -0.1 - vertex 20.327 14.6203 -0.1 + vertex 19.4723 9.81661 -0.2 + vertex 20.5722 14.6577 -0.2 + vertex 20.327 14.6203 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.2206 9.94402 -0.1 - vertex 20.327 14.6203 -0.1 - vertex 20.0785 14.6265 -0.1 + vertex 19.2206 9.94402 -0.2 + vertex 20.327 14.6203 -0.2 + vertex 20.0785 14.6265 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.6964 10.137 -0.1 - vertex 20.0785 14.6265 -0.1 - vertex 19.7955 14.6797 -0.1 + vertex 18.6964 10.137 -0.2 + vertex 20.0785 14.6265 -0.2 + vertex 19.7955 14.6797 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.8452 14.735 -0.1 - vertex 19.7274 9.66569 -0.1 - vertex 20.3513 9.26304 -0.1 + vertex 20.8452 14.735 -0.2 + vertex 19.7274 9.66569 -0.2 + vertex 20.3513 9.26304 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.5722 14.6577 -0.1 - vertex 19.4723 9.81661 -0.1 - vertex 19.7274 9.66569 -0.1 + vertex 20.5722 14.6577 -0.2 + vertex 19.4723 9.81661 -0.2 + vertex 19.7274 9.66569 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.4085 10.2069 -0.1 - vertex 19.7955 14.6797 -0.1 - vertex 19.4469 14.7833 -0.1 + vertex 18.4085 10.2069 -0.2 + vertex 19.7955 14.6797 -0.2 + vertex 19.4469 14.7833 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.327 14.6203 -0.1 - vertex 19.2206 9.94402 -0.1 - vertex 19.4723 9.81661 -0.1 + vertex 20.327 14.6203 -0.2 + vertex 19.2206 9.94402 -0.2 + vertex 19.4723 9.81661 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0785 14.6265 -0.1 - vertex 18.9645 10.0501 -0.1 - vertex 19.2206 9.94402 -0.1 + vertex 20.0785 14.6265 -0.2 + vertex 18.9645 10.0501 -0.2 + vertex 19.2206 9.94402 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0785 14.6265 -0.1 - vertex 18.6964 10.137 -0.1 - vertex 18.9645 10.0501 -0.1 + vertex 20.0785 14.6265 -0.2 + vertex 18.6964 10.137 -0.2 + vertex 18.9645 10.0501 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.093 10.2619 -0.1 - vertex 19.4469 14.7833 -0.1 - vertex 18.4281 15.1559 -0.1 + vertex 18.093 10.2619 -0.2 + vertex 19.4469 14.7833 -0.2 + vertex 18.4281 15.1559 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.7955 14.6797 -0.1 - vertex 18.4085 10.2069 -0.1 - vertex 18.6964 10.137 -0.1 + vertex 19.7955 14.6797 -0.2 + vertex 18.4085 10.2069 -0.2 + vertex 18.6964 10.137 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.4469 14.7833 -0.1 - vertex 18.093 10.2619 -0.1 - vertex 18.4085 10.2069 -0.1 + vertex 19.4469 14.7833 -0.2 + vertex 18.093 10.2619 -0.2 + vertex 18.4085 10.2069 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.499 10.3797 -0.1 - vertex 18.4281 15.1559 -0.1 - vertex 17.448 15.5385 -0.1 + vertex 16.499 10.3797 -0.2 + vertex 18.4281 15.1559 -0.2 + vertex 17.448 15.5385 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.4281 15.1559 -0.1 - vertex 17.3487 10.3363 -0.1 - vertex 18.093 10.2619 -0.1 + vertex 18.4281 15.1559 -0.2 + vertex 17.3487 10.3363 -0.2 + vertex 18.093 10.2619 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.2187 10.3704 -0.1 - vertex 17.448 15.5385 -0.1 - vertex 16.6072 15.8977 -0.1 + vertex 16.2187 10.3704 -0.2 + vertex 17.448 15.5385 -0.2 + vertex 16.6072 15.8977 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.4281 15.1559 -0.1 - vertex 16.499 10.3797 -0.1 - vertex 17.3487 10.3363 -0.1 + vertex 18.4281 15.1559 -0.2 + vertex 16.499 10.3797 -0.2 + vertex 17.3487 10.3363 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.448 15.5385 -0.1 - vertex 16.2187 10.3704 -0.1 - vertex 16.499 10.3797 -0.1 + vertex 17.448 15.5385 -0.2 + vertex 16.2187 10.3704 -0.2 + vertex 16.499 10.3797 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.6072 15.8977 -0.1 - vertex 16.005 10.3315 -0.1 - vertex 16.2187 10.3704 -0.1 + vertex 16.6072 15.8977 -0.2 + vertex 16.005 10.3315 -0.2 + vertex 16.2187 10.3704 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.8738 16.2527 -0.1 - vertex 16.005 10.3315 -0.1 - vertex 16.6072 15.8977 -0.1 + vertex 15.8738 16.2527 -0.2 + vertex 16.005 10.3315 -0.2 + vertex 16.6072 15.8977 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.8738 16.2527 -0.1 - vertex 15.8355 10.2563 -0.1 - vertex 16.005 10.3315 -0.1 + vertex 15.8738 16.2527 -0.2 + vertex 15.8355 10.2563 -0.2 + vertex 16.005 10.3315 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.2162 16.623 -0.1 - vertex 15.8355 10.2563 -0.1 - vertex 15.8738 16.2527 -0.1 + vertex 15.2162 16.623 -0.2 + vertex 15.8355 10.2563 -0.2 + vertex 15.8738 16.2527 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.8355 10.2563 -0.1 - vertex 15.2162 16.623 -0.1 - vertex 15.6879 10.1383 -0.1 + vertex 15.8355 10.2563 -0.2 + vertex 15.2162 16.623 -0.2 + vertex 15.6879 10.1383 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 10.4375 16.5104 -0.1 - vertex 15.6879 10.1383 -0.1 - vertex 15.2162 16.623 -0.1 + vertex 10.4375 16.5104 -0.2 + vertex 15.6879 10.1383 -0.2 + vertex 15.2162 16.623 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.6879 10.1383 -0.1 - vertex 10.4375 16.5104 -0.1 - vertex 15.5399 9.97068 -0.1 + vertex 15.6879 10.1383 -0.2 + vertex 10.4375 16.5104 -0.2 + vertex 15.5399 9.97068 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.5399 9.97068 -0.1 - vertex 10.4375 16.5104 -0.1 - vertex 15.369 9.74689 -0.1 + vertex 15.5399 9.97068 -0.2 + vertex 10.4375 16.5104 -0.2 + vertex 15.369 9.74689 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 9.73318 16.1788 -0.1 - vertex 15.369 9.74689 -0.1 - vertex 10.4375 16.5104 -0.1 + vertex 9.73318 16.1788 -0.2 + vertex 15.369 9.74689 -0.2 + vertex 10.4375 16.5104 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.369 9.74689 -0.1 - vertex 9.73318 16.1788 -0.1 - vertex 15.213 9.52982 -0.1 + vertex 15.369 9.74689 -0.2 + vertex 9.73318 16.1788 -0.2 + vertex 15.213 9.52982 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.213 9.52982 -0.1 - vertex 9.73318 16.1788 -0.1 - vertex 15.0942 9.33737 -0.1 + vertex 15.213 9.52982 -0.2 + vertex 9.73318 16.1788 -0.2 + vertex 15.0942 9.33737 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 9.19116 15.9452 -0.1 - vertex 15.0942 9.33737 -0.1 - vertex 9.73318 16.1788 -0.1 + vertex 9.19116 15.9452 -0.2 + vertex 15.0942 9.33737 -0.2 + vertex 9.73318 16.1788 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 8.99158 15.8746 -0.1 - vertex 15.0942 9.33737 -0.1 - vertex 9.19116 15.9452 -0.1 + vertex 8.99158 15.8746 -0.2 + vertex 15.0942 9.33737 -0.2 + vertex 9.19116 15.9452 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.4375 16.5104 -0.1 - vertex 15.2162 16.623 -0.1 - vertex 14.6028 17.0277 -0.1 + vertex 10.4375 16.5104 -0.2 + vertex 15.2162 16.623 -0.2 + vertex 14.6028 17.0277 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 24.4388 2.25734 -0.1 - vertex 24.764 2.4559 -0.1 - vertex 23.22 3.44442 -0.1 + vertex 24.4388 2.25734 -0.2 + vertex 24.764 2.4559 -0.2 + vertex 23.22 3.44442 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.764 2.4559 -0.1 - vertex 24.4388 2.25734 -0.1 - vertex 24.6285 2.34829 -0.1 + vertex 24.764 2.4559 -0.2 + vertex 24.4388 2.25734 -0.2 + vertex 24.6285 2.34829 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.4388 2.25734 -0.1 - vertex 23.22 3.44442 -0.1 - vertex 24.2201 2.19262 -0.1 + vertex 24.4388 2.25734 -0.2 + vertex 23.22 3.44442 -0.2 + vertex 24.2201 2.19262 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.2201 2.19262 -0.1 - vertex 23.22 3.44442 -0.1 - vertex 23.9975 2.16372 -0.1 + vertex 24.2201 2.19262 -0.2 + vertex 23.22 3.44442 -0.2 + vertex 23.9975 2.16372 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.9975 2.16372 -0.1 - vertex 23.22 3.44442 -0.1 - vertex 23.7673 2.14309 -0.1 + vertex 23.9975 2.16372 -0.2 + vertex 23.22 3.44442 -0.2 + vertex 23.7673 2.14309 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.0427 3.12896 -0.1 - vertex 23.7673 2.14309 -0.1 - vertex 23.22 3.44442 -0.1 + vertex 23.0427 3.12896 -0.2 + vertex 23.7673 2.14309 -0.2 + vertex 23.22 3.44442 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.7673 2.14309 -0.1 - vertex 23.0427 3.12896 -0.1 - vertex 23.5277 2.10089 -0.1 + vertex 23.7673 2.14309 -0.2 + vertex 23.0427 3.12896 -0.2 + vertex 23.5277 2.10089 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.9115 2.82433 -0.1 - vertex 23.5277 2.10089 -0.1 - vertex 23.0427 3.12896 -0.1 + vertex 22.9115 2.82433 -0.2 + vertex 23.5277 2.10089 -0.2 + vertex 23.0427 3.12896 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.827 2.54396 -0.1 - vertex 23.5277 2.10089 -0.1 - vertex 22.9115 2.82433 -0.1 + vertex 22.827 2.54396 -0.2 + vertex 23.5277 2.10089 -0.2 + vertex 22.9115 2.82433 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.5277 2.10089 -0.1 - vertex 22.827 2.54396 -0.1 - vertex 23.3072 2.04326 -0.1 + vertex 23.5277 2.10089 -0.2 + vertex 22.827 2.54396 -0.2 + vertex 23.3072 2.04326 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.7901 2.30129 -0.1 - vertex 23.3072 2.04326 -0.1 - vertex 22.827 2.54396 -0.1 + vertex 22.7901 2.30129 -0.2 + vertex 23.3072 2.04326 -0.2 + vertex 22.827 2.54396 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.3072 2.04326 -0.1 - vertex 22.7901 2.30129 -0.1 - vertex 23.0469 1.94283 -0.1 + vertex 23.3072 2.04326 -0.2 + vertex 22.7901 2.30129 -0.2 + vertex 23.0469 1.94283 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 22.8016 2.10976 -0.1 - vertex 23.0469 1.94283 -0.1 - vertex 22.7901 2.30129 -0.1 + vertex 22.8016 2.10976 -0.2 + vertex 23.0469 1.94283 -0.2 + vertex 22.7901 2.30129 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 22.8257 2.03737 -0.1 - vertex 23.0469 1.94283 -0.1 - vertex 22.8016 2.10976 -0.1 + vertex 22.8257 2.03737 -0.2 + vertex 23.0469 1.94283 -0.2 + vertex 22.8016 2.10976 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.0469 1.94283 -0.1 - vertex 22.8257 2.03737 -0.1 - vertex 22.9727 1.93385 -0.1 + vertex 23.0469 1.94283 -0.2 + vertex 22.8257 2.03737 -0.2 + vertex 22.9727 1.93385 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex 22.8622 1.9828 -0.1 - vertex 22.9727 1.93385 -0.1 - vertex 22.8257 2.03737 -0.1 + vertex 22.8622 1.9828 -0.2 + vertex 22.9727 1.93385 -0.2 + vertex 22.8257 2.03737 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.9727 1.93385 -0.1 - vertex 22.8622 1.9828 -0.1 - vertex 22.9112 1.94773 -0.1 + vertex 22.9727 1.93385 -0.2 + vertex 22.8622 1.9828 -0.2 + vertex 22.9112 1.94773 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.4227 15.3534 -0.1 - vertex 24.3498 16.3417 -0.1 - vertex 27.4995 15.0808 -0.1 + vertex 27.4227 15.3534 -0.2 + vertex 24.3498 16.3417 -0.2 + vertex 27.4995 15.0808 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3198 15.5987 -0.1 - vertex 24.3498 16.3417 -0.1 - vertex 27.4227 15.3534 -0.1 + vertex 27.3198 15.5987 -0.2 + vertex 24.3498 16.3417 -0.2 + vertex 27.4227 15.3534 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.4995 15.0808 -0.1 - vertex 24.3498 16.3417 -0.1 - vertex 27.5539 14.7505 -0.1 + vertex 27.4995 15.0808 -0.2 + vertex 24.3498 16.3417 -0.2 + vertex 27.5539 14.7505 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.3498 16.3417 -0.1 - vertex 27.3198 15.5987 -0.1 - vertex 24.659 16.5397 -0.1 + vertex 24.3498 16.3417 -0.2 + vertex 27.3198 15.5987 -0.2 + vertex 24.659 16.5397 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.5539 14.7505 -0.1 - vertex 24.3498 16.3417 -0.1 - vertex 27.5896 14.3319 -0.1 + vertex 27.5539 14.7505 -0.2 + vertex 24.3498 16.3417 -0.2 + vertex 27.5896 14.3319 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.1872 15.8473 -0.1 - vertex 24.659 16.5397 -0.1 - vertex 27.3198 15.5987 -0.1 + vertex 27.1872 15.8473 -0.2 + vertex 24.659 16.5397 -0.2 + vertex 27.3198 15.5987 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.9148 16.0975 -0.1 - vertex 27.5896 14.3319 -0.1 - vertex 24.3498 16.3417 -0.1 + vertex 23.9148 16.0975 -0.2 + vertex 27.5896 14.3319 -0.2 + vertex 24.3498 16.3417 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.659 16.5397 -0.1 - vertex 25.8187 16.7495 -0.1 - vertex 24.7548 16.6154 -0.1 + vertex 24.659 16.5397 -0.2 + vertex 25.8187 16.7495 -0.2 + vertex 24.7548 16.6154 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.5896 14.3319 -0.1 - vertex 23.9148 16.0975 -0.1 - vertex 27.6103 13.7945 -0.1 + vertex 27.5896 14.3319 -0.2 + vertex 23.9148 16.0975 -0.2 + vertex 27.6103 13.7945 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 23.3919 15.8262 -0.1 - vertex 27.6103 13.7945 -0.1 - vertex 23.9148 16.0975 -0.1 + vertex 23.3919 15.8262 -0.2 + vertex 27.6103 13.7945 -0.2 + vertex 23.9148 16.0975 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.7548 16.6154 -0.1 - vertex 25.8187 16.7495 -0.1 - vertex 24.8049 16.6725 -0.1 + vertex 24.7548 16.6154 -0.2 + vertex 25.8187 16.7495 -0.2 + vertex 24.8049 16.6725 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.6103 13.7945 -0.1 - vertex 23.3919 15.8262 -0.1 - vertex 27.6211 12.2412 -0.1 + vertex 27.6103 13.7945 -0.2 + vertex 23.3919 15.8262 -0.2 + vertex 27.6211 12.2412 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.659 16.5397 -0.1 - vertex 27.1872 15.8473 -0.1 - vertex 25.8187 16.7495 -0.1 + vertex 24.659 16.5397 -0.2 + vertex 27.1872 15.8473 -0.2 + vertex 25.8187 16.7495 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 22.2336 15.278 -0.1 - vertex 27.6211 12.2412 -0.1 - vertex 23.3919 15.8262 -0.1 + vertex 22.2336 15.278 -0.2 + vertex 27.6211 12.2412 -0.2 + vertex 23.3919 15.8262 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.3371 8.55423 -0.1 - vertex 27.6211 12.2412 -0.1 - vertex 22.2336 15.278 -0.1 + vertex 21.3371 8.55423 -0.2 + vertex 27.6211 12.2412 -0.2 + vertex 22.2336 15.278 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.8659 16.7424 -0.1 - vertex 27.1872 15.8473 -0.1 - vertex 27.0139 16.2113 -0.1 + vertex 25.8659 16.7424 -0.2 + vertex 27.1872 15.8473 -0.2 + vertex 27.0139 16.2113 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.6211 12.2412 -0.1 - vertex 21.3371 8.55423 -0.1 - vertex 27.6024 10.7775 -0.1 + vertex 27.6211 12.2412 -0.2 + vertex 21.3371 8.55423 -0.2 + vertex 27.6024 10.7775 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 21.7259 8.22365 -0.1 - vertex 27.6024 10.7775 -0.1 - vertex 21.3371 8.55423 -0.1 + vertex 21.7259 8.22365 -0.2 + vertex 27.6024 10.7775 -0.2 + vertex 21.3371 8.55423 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.0158 7.30485 -0.1 - vertex 24.9074 2.59483 -0.1 - vertex 26.9517 6.92758 -0.1 + vertex 27.0158 7.30485 -0.2 + vertex 24.9074 2.59483 -0.2 + vertex 26.9517 6.92758 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.1872 15.8473 -0.1 - vertex 25.8659 16.7424 -0.1 - vertex 25.8187 16.7495 -0.1 + vertex 27.1872 15.8473 -0.2 + vertex 25.8659 16.7424 -0.2 + vertex 25.8187 16.7495 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.8659 16.7424 -0.1 - vertex 27.0139 16.2113 -0.1 - vertex 26.8653 16.6367 -0.1 + vertex 25.8659 16.7424 -0.2 + vertex 27.0139 16.2113 -0.2 + vertex 26.8653 16.6367 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.8138 2.23679 -0.1 - vertex 26.9647 2.16551 -0.1 - vertex 26.9615 2.94949 -0.1 + vertex 25.8138 2.23679 -0.2 + vertex 26.9647 2.16551 -0.2 + vertex 26.9615 2.94949 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.4766 2.59351 -0.1 - vertex 26.9615 2.94949 -0.1 - vertex 26.9294 3.98634 -0.1 + vertex 25.4766 2.59351 -0.2 + vertex 26.9615 2.94949 -0.2 + vertex 26.9294 3.98634 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9647 2.16551 -0.1 - vertex 25.8138 2.23679 -0.1 - vertex 26.0094 1.96397 -0.1 + vertex 26.9647 2.16551 -0.2 + vertex 25.8138 2.23679 -0.2 + vertex 26.0094 1.96397 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.185 2.7087 -0.1 - vertex 26.9294 3.98634 -0.1 - vertex 26.8871 5.49316 -0.1 + vertex 25.185 2.7087 -0.2 + vertex 26.9294 3.98634 -0.2 + vertex 26.8871 5.49316 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 26.3175 1.53367 -0.1 - vertex 26.9647 2.16551 -0.1 - vertex 26.0094 1.96397 -0.1 + vertex 26.3175 1.53367 -0.2 + vertex 26.9647 2.16551 -0.2 + vertex 26.0094 1.96397 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9517 6.92758 -0.1 - vertex 24.9074 2.59483 -0.1 - vertex 26.9103 6.51977 -0.1 + vertex 26.9517 6.92758 -0.2 + vertex 24.9074 2.59483 -0.2 + vertex 26.9103 6.51977 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9615 2.94949 -0.1 - vertex 25.6376 2.44612 -0.1 - vertex 25.8138 2.23679 -0.1 + vertex 26.9615 2.94949 -0.2 + vertex 25.6376 2.44612 -0.2 + vertex 25.8138 2.23679 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.9855 16.8461 -0.1 - vertex 26.8653 16.6367 -0.1 - vertex 26.7571 17.0706 -0.1 + vertex 25.9855 16.8461 -0.2 + vertex 26.8653 16.6367 -0.2 + vertex 26.7571 17.0706 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 26.4455 1.37999 -0.1 - vertex 26.9324 1.61996 -0.1 - vertex 26.3175 1.53367 -0.1 + vertex 26.4455 1.37999 -0.2 + vertex 26.9324 1.61996 -0.2 + vertex 26.3175 1.53367 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 26.0803 17.2678 -0.1 - vertex 26.7571 17.0706 -0.1 - vertex 26.7051 17.4601 -0.1 + vertex 26.0803 17.2678 -0.2 + vertex 26.7571 17.0706 -0.2 + vertex 26.7051 17.4601 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 26.0933 17.5963 -0.1 - vertex 26.7051 17.4601 -0.1 - vertex 26.6784 17.7808 -0.1 + vertex 26.0933 17.5963 -0.2 + vertex 26.7051 17.4601 -0.2 + vertex 26.6784 17.7808 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.8653 16.6367 -0.1 - vertex 25.9855 16.8461 -0.1 - vertex 25.9096 16.7563 -0.1 + vertex 26.8653 16.6367 -0.2 + vertex 25.9855 16.8461 -0.2 + vertex 25.9096 16.7563 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 26.0696 17.9605 -0.1 - vertex 26.6784 17.7808 -0.1 - vertex 26.6332 18.0815 -0.1 + vertex 26.0696 17.9605 -0.2 + vertex 26.6784 17.7808 -0.2 + vertex 26.6332 18.0815 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.0696 17.9605 -0.1 - vertex 26.6332 18.0815 -0.1 - vertex 26.5691 18.3624 -0.1 + vertex 26.0696 17.9605 -0.2 + vertex 26.6332 18.0815 -0.2 + vertex 26.5691 18.3624 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7571 17.0706 -0.1 - vertex 26.0434 17.0172 -0.1 - vertex 25.9855 16.8461 -0.1 + vertex 26.7571 17.0706 -0.2 + vertex 26.0434 17.0172 -0.2 + vertex 25.9855 16.8461 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.0696 17.9605 -0.1 - vertex 26.5691 18.3624 -0.1 - vertex 26.4859 18.624 -0.1 + vertex 26.0696 17.9605 -0.2 + vertex 26.5691 18.3624 -0.2 + vertex 26.4859 18.624 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9324 1.61996 -0.1 - vertex 26.4455 1.37999 -0.1 - vertex 26.901 1.43209 -0.1 + vertex 26.9324 1.61996 -0.2 + vertex 26.4455 1.37999 -0.2 + vertex 26.901 1.43209 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.0696 17.9605 -0.1 - vertex 26.4859 18.624 -0.1 - vertex 26.3832 18.8665 -0.1 + vertex 26.0696 17.9605 -0.2 + vertex 26.4859 18.624 -0.2 + vertex 26.3832 18.8665 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 26.5572 1.2697 -0.1 - vertex 26.901 1.43209 -0.1 - vertex 26.4455 1.37999 -0.1 + vertex 26.5572 1.2697 -0.2 + vertex 26.901 1.43209 -0.2 + vertex 26.4455 1.37999 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.0696 17.9605 -0.1 - vertex 26.3832 18.8665 -0.1 - vertex 26.2605 19.0904 -0.1 + vertex 26.0696 17.9605 -0.2 + vertex 26.3832 18.8665 -0.2 + vertex 26.2605 19.0904 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.7448 18.8483 -0.1 - vertex 26.2605 19.0904 -0.1 - vertex 26.1176 19.296 -0.1 + vertex 25.7448 18.8483 -0.2 + vertex 26.2605 19.0904 -0.2 + vertex 26.1176 19.296 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7051 17.4601 -0.1 - vertex 26.0933 17.5963 -0.1 - vertex 26.0803 17.2678 -0.1 + vertex 26.7051 17.4601 -0.2 + vertex 26.0933 17.5963 -0.2 + vertex 26.0803 17.2678 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7571 17.0706 -0.1 - vertex 26.0803 17.2678 -0.1 - vertex 26.0434 17.0172 -0.1 + vertex 26.7571 17.0706 -0.2 + vertex 26.0803 17.2678 -0.2 + vertex 26.0434 17.0172 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 26.6535 1.20459 -0.1 - vertex 26.8581 1.29842 -0.1 - vertex 26.5572 1.2697 -0.1 + vertex 26.6535 1.20459 -0.2 + vertex 26.8581 1.29842 -0.2 + vertex 26.5572 1.2697 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.8581 1.29842 -0.1 - vertex 26.6535 1.20459 -0.1 - vertex 26.8032 1.21715 -0.1 + vertex 26.8581 1.29842 -0.2 + vertex 26.6535 1.20459 -0.2 + vertex 26.8032 1.21715 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.8032 1.21715 -0.1 - vertex 26.6535 1.20459 -0.1 - vertex 26.7352 1.18648 -0.1 + vertex 26.8032 1.21715 -0.2 + vertex 26.6535 1.20459 -0.2 + vertex 26.7352 1.18648 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.8659 16.7424 -0.1 - vertex 26.8653 16.6367 -0.1 - vertex 25.9096 16.7563 -0.1 + vertex 25.8659 16.7424 -0.2 + vertex 26.8653 16.6367 -0.2 + vertex 25.9096 16.7563 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9103 6.51977 -0.1 - vertex 24.9074 2.59483 -0.1 - vertex 26.8894 6.05157 -0.1 + vertex 26.9103 6.51977 -0.2 + vertex 24.9074 2.59483 -0.2 + vertex 26.8894 6.05157 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.7157 16.8274 -0.1 - vertex 24.8049 16.6725 -0.1 - vertex 25.8187 16.7495 -0.1 + vertex 25.7157 16.8274 -0.2 + vertex 24.8049 16.6725 -0.2 + vertex 25.8187 16.7495 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.901 1.43209 -0.1 - vertex 26.5572 1.2697 -0.1 - vertex 26.8581 1.29842 -0.1 + vertex 26.901 1.43209 -0.2 + vertex 26.5572 1.2697 -0.2 + vertex 26.8581 1.29842 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.8049 16.6725 -0.1 - vertex 25.7157 16.8274 -0.1 - vertex 24.8294 16.7672 -0.1 + vertex 24.8049 16.6725 -0.2 + vertex 25.7157 16.8274 -0.2 + vertex 24.8294 16.7672 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9647 2.16551 -0.1 - vertex 26.3175 1.53367 -0.1 - vertex 26.9324 1.61996 -0.1 + vertex 26.9647 2.16551 -0.2 + vertex 26.3175 1.53367 -0.2 + vertex 26.9324 1.61996 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.8294 16.7672 -0.1 - vertex 25.7157 16.8274 -0.1 - vertex 25.6037 16.9917 -0.1 + vertex 24.8294 16.7672 -0.2 + vertex 25.7157 16.8274 -0.2 + vertex 25.6037 16.9917 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.8232 16.8925 -0.1 - vertex 25.6037 16.9917 -0.1 - vertex 25.4856 17.2443 -0.1 + vertex 24.8232 16.8925 -0.2 + vertex 25.6037 16.9917 -0.2 + vertex 25.4856 17.2443 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9615 2.94949 -0.1 - vertex 25.4766 2.59351 -0.1 - vertex 25.6376 2.44612 -0.1 + vertex 26.9615 2.94949 -0.2 + vertex 25.4766 2.59351 -0.2 + vertex 25.6376 2.44612 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.789 17.0321 -0.1 - vertex 25.4856 17.2443 -0.1 - vertex 25.3467 17.5167 -0.1 + vertex 24.789 17.0321 -0.2 + vertex 25.4856 17.2443 -0.2 + vertex 25.3467 17.5167 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 25.0464 2.67962 -0.1 - vertex 26.8894 6.05157 -0.1 - vertex 24.9074 2.59483 -0.1 + vertex 25.0464 2.67962 -0.2 + vertex 26.8894 6.05157 -0.2 + vertex 24.9074 2.59483 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.7291 17.1695 -0.1 - vertex 25.3467 17.5167 -0.1 - vertex 25.2614 17.6336 -0.1 + vertex 24.7291 17.1695 -0.2 + vertex 25.3467 17.5167 -0.2 + vertex 25.2614 17.6336 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9294 3.98634 -0.1 - vertex 25.3271 2.68052 -0.1 - vertex 25.4766 2.59351 -0.1 + vertex 26.9294 3.98634 -0.2 + vertex 25.3271 2.68052 -0.2 + vertex 25.4766 2.59351 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.6602 17.253 -0.1 - vertex 25.2614 17.6336 -0.1 - vertex 25.163 17.7384 -0.1 + vertex 24.6602 17.253 -0.2 + vertex 25.2614 17.6336 -0.2 + vertex 25.163 17.7384 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.6602 17.253 -0.1 - vertex 25.163 17.7384 -0.1 - vertex 25.0501 17.8316 -0.1 + vertex 24.6602 17.253 -0.2 + vertex 25.163 17.7384 -0.2 + vertex 25.0501 17.8316 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.9294 3.98634 -0.1 - vertex 25.185 2.7087 -0.1 - vertex 25.3271 2.68052 -0.1 + vertex 26.9294 3.98634 -0.2 + vertex 25.185 2.7087 -0.2 + vertex 25.3271 2.68052 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.6602 17.253 -0.1 - vertex 25.0501 17.8316 -0.1 - vertex 24.9207 17.9138 -0.1 + vertex 24.6602 17.253 -0.2 + vertex 25.0501 17.8316 -0.2 + vertex 24.9207 17.9138 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.8871 5.49316 -0.1 - vertex 25.0464 2.67962 -0.1 - vertex 25.185 2.7087 -0.1 + vertex 26.8871 5.49316 -0.2 + vertex 25.0464 2.67962 -0.2 + vertex 25.185 2.7087 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.8894 6.05157 -0.1 - vertex 25.0464 2.67962 -0.1 - vertex 26.8871 5.49316 -0.1 + vertex 26.8894 6.05157 -0.2 + vertex 25.0464 2.67962 -0.2 + vertex 26.8871 5.49316 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.6037 16.9917 -0.1 - vertex 24.8232 16.8925 -0.1 - vertex 24.8294 16.7672 -0.1 + vertex 25.6037 16.9917 -0.2 + vertex 24.8232 16.8925 -0.2 + vertex 24.8294 16.7672 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.4856 17.2443 -0.1 - vertex 24.789 17.0321 -0.1 - vertex 24.8232 16.8925 -0.1 + vertex 25.4856 17.2443 -0.2 + vertex 24.789 17.0321 -0.2 + vertex 24.8232 16.8925 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.3467 17.5167 -0.1 - vertex 24.7291 17.1695 -0.1 - vertex 24.789 17.0321 -0.1 + vertex 25.3467 17.5167 -0.2 + vertex 24.7291 17.1695 -0.2 + vertex 24.789 17.0321 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.2614 17.6336 -0.1 - vertex 24.6602 17.253 -0.1 - vertex 24.7291 17.1695 -0.1 + vertex 25.2614 17.6336 -0.2 + vertex 24.6602 17.253 -0.2 + vertex 24.7291 17.1695 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.5483 17.3222 -0.1 - vertex 24.9207 17.9138 -0.1 - vertex 24.6059 18.0475 -0.1 + vertex 24.5483 17.3222 -0.2 + vertex 24.9207 17.9138 -0.2 + vertex 24.6059 18.0475 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.9207 17.9138 -0.1 - vertex 24.5483 17.3222 -0.1 - vertex 24.6602 17.253 -0.1 + vertex 24.9207 17.9138 -0.2 + vertex 24.5483 17.3222 -0.2 + vertex 24.6602 17.253 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.6059 18.0475 -0.1 - vertex 24.386 17.3783 -0.1 - vertex 24.5483 17.3222 -0.1 + vertex 24.6059 18.0475 -0.2 + vertex 24.386 17.3783 -0.2 + vertex 24.5483 17.3222 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.166 17.4223 -0.1 - vertex 24.6059 18.0475 -0.1 - vertex 24.2049 18.1437 -0.1 + vertex 24.166 17.4223 -0.2 + vertex 24.6059 18.0475 -0.2 + vertex 24.2049 18.1437 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.6059 18.0475 -0.1 - vertex 24.166 17.4223 -0.1 - vertex 24.386 17.3783 -0.1 + vertex 24.6059 18.0475 -0.2 + vertex 24.166 17.4223 -0.2 + vertex 24.386 17.3783 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.7039 18.207 -0.1 - vertex 24.166 17.4223 -0.1 - vertex 24.2049 18.1437 -0.1 + vertex 23.7039 18.207 -0.2 + vertex 24.166 17.4223 -0.2 + vertex 24.2049 18.1437 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.7039 18.207 -0.1 - vertex 23.5226 17.4791 -0.1 - vertex 24.166 17.4223 -0.1 + vertex 23.7039 18.207 -0.2 + vertex 23.5226 17.4791 -0.2 + vertex 24.166 17.4223 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.0891 18.2417 -0.1 - vertex 23.5226 17.4791 -0.1 - vertex 23.7039 18.207 -0.1 + vertex 23.0891 18.2417 -0.2 + vertex 23.5226 17.4791 -0.2 + vertex 23.7039 18.207 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.0891 18.2417 -0.1 - vertex 22.5588 17.5015 -0.1 - vertex 23.5226 17.4791 -0.1 + vertex 23.0891 18.2417 -0.2 + vertex 22.5588 17.5015 -0.2 + vertex 23.5226 17.4791 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.3468 18.2522 -0.1 - vertex 22.5588 17.5015 -0.1 - vertex 23.0891 18.2417 -0.1 + vertex 22.3468 18.2522 -0.2 + vertex 22.5588 17.5015 -0.2 + vertex 23.0891 18.2417 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.5679 18.2611 -0.1 - vertex 22.5588 17.5015 -0.1 - vertex 22.3468 18.2522 -0.1 + vertex 21.5679 18.2611 -0.2 + vertex 22.5588 17.5015 -0.2 + vertex 22.3468 18.2522 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.5679 18.2611 -0.1 - vertex 21.0506 17.5236 -0.1 - vertex 22.5588 17.5015 -0.1 + vertex 21.5679 18.2611 -0.2 + vertex 21.0506 17.5236 -0.2 + vertex 22.5588 17.5015 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.9709 18.304 -0.1 - vertex 21.0506 17.5236 -0.1 - vertex 21.5679 18.2611 -0.1 + vertex 20.9709 18.304 -0.2 + vertex 21.0506 17.5236 -0.2 + vertex 21.5679 18.2611 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.7319 18.3459 -0.1 - vertex 21.0506 17.5236 -0.1 - vertex 20.9709 18.304 -0.1 + vertex 20.7319 18.3459 -0.2 + vertex 21.0506 17.5236 -0.2 + vertex 20.9709 18.304 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.2276 17.5562 -0.1 - vertex 20.7319 18.3459 -0.1 - vertex 20.5281 18.4055 -0.1 + vertex 20.2276 17.5562 -0.2 + vertex 20.7319 18.3459 -0.2 + vertex 20.5281 18.4055 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0333 17.6179 -0.1 - vertex 20.5281 18.4055 -0.1 - vertex 20.3561 18.486 -0.1 + vertex 20.0333 17.6179 -0.2 + vertex 20.5281 18.4055 -0.2 + vertex 20.3561 18.486 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.7319 18.3459 -0.1 - vertex 20.2276 17.5562 -0.1 - vertex 21.0506 17.5236 -0.1 + vertex 20.7319 18.3459 -0.2 + vertex 20.2276 17.5562 -0.2 + vertex 21.0506 17.5236 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6934 17.9694 -0.1 - vertex 20.3561 18.486 -0.1 - vertex 20.2124 18.5903 -0.1 + vertex 19.6934 17.9694 -0.2 + vertex 20.3561 18.486 -0.2 + vertex 20.2124 18.5903 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.5281 18.4055 -0.1 - vertex 20.1284 17.5777 -0.1 - vertex 20.2276 17.5562 -0.1 + vertex 20.5281 18.4055 -0.2 + vertex 20.1284 17.5777 -0.2 + vertex 20.2276 17.5562 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.5469 18.2611 -0.1 - vertex 20.2124 18.5903 -0.1 - vertex 20.0935 18.7216 -0.1 + vertex 19.5469 18.2611 -0.2 + vertex 20.2124 18.5903 -0.2 + vertex 20.0935 18.7216 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.5281 18.4055 -0.1 - vertex 20.0333 17.6179 -0.1 - vertex 20.1284 17.5777 -0.1 + vertex 20.5281 18.4055 -0.2 + vertex 20.0333 17.6179 -0.2 + vertex 20.1284 17.5777 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.4153 18.6317 -0.1 - vertex 20.0935 18.7216 -0.1 - vertex 19.9962 18.8829 -0.1 + vertex 19.4153 18.6317 -0.2 + vertex 20.0935 18.7216 -0.2 + vertex 19.9962 18.8829 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3561 18.486 -0.1 - vertex 19.9424 17.6771 -0.1 - vertex 20.0333 17.6179 -0.1 + vertex 20.3561 18.486 -0.2 + vertex 19.9424 17.6771 -0.2 + vertex 20.0333 17.6179 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.4153 18.6317 -0.1 - vertex 19.9962 18.8829 -0.1 - vertex 19.9169 19.0772 -0.1 + vertex 19.4153 18.6317 -0.2 + vertex 19.9962 18.8829 -0.2 + vertex 19.9169 19.0772 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3561 18.486 -0.1 - vertex 19.8554 17.7553 -0.1 - vertex 19.9424 17.6771 -0.1 + vertex 20.3561 18.486 -0.2 + vertex 19.8554 17.7553 -0.2 + vertex 19.9424 17.6771 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.2984 19.082 -0.1 - vertex 19.9169 19.0772 -0.1 - vertex 19.8522 19.3078 -0.1 + vertex 19.2984 19.082 -0.2 + vertex 19.9169 19.0772 -0.2 + vertex 19.8522 19.3078 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.1956 19.6132 -0.1 - vertex 19.8522 19.3078 -0.1 - vertex 19.753 19.8896 -0.1 + vertex 19.1956 19.6132 -0.2 + vertex 19.8522 19.3078 -0.2 + vertex 19.753 19.8896 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3561 18.486 -0.1 - vertex 19.6934 17.9694 -0.1 - vertex 19.8554 17.7553 -0.1 + vertex 20.3561 18.486 -0.2 + vertex 19.6934 17.9694 -0.2 + vertex 19.8554 17.7553 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.1065 20.2262 -0.1 - vertex 19.753 19.8896 -0.1 - vertex 19.6713 20.6529 -0.1 + vertex 19.1065 20.2262 -0.2 + vertex 19.753 19.8896 -0.2 + vertex 19.6713 20.6529 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.0081 20.8787 -0.1 - vertex 19.6713 20.6529 -0.1 - vertex 19.58 21.4118 -0.1 + vertex 19.0081 20.8787 -0.2 + vertex 19.6713 20.6529 -0.2 + vertex 19.58 21.4118 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0935 18.7216 -0.1 - vertex 19.4153 18.6317 -0.1 - vertex 19.5469 18.2611 -0.1 + vertex 20.0935 18.7216 -0.2 + vertex 19.4153 18.6317 -0.2 + vertex 19.5469 18.2611 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.892 21.4494 -0.1 - vertex 19.58 21.4118 -0.1 - vertex 19.5238 21.6908 -0.1 + vertex 18.892 21.4494 -0.2 + vertex 19.58 21.4118 -0.2 + vertex 19.5238 21.6908 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.892 21.4494 -0.1 - vertex 19.5238 21.6908 -0.1 - vertex 19.4538 21.9215 -0.1 + vertex 18.892 21.4494 -0.2 + vertex 19.5238 21.6908 -0.2 + vertex 19.4538 21.9215 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.2124 18.5903 -0.1 - vertex 19.5469 18.2611 -0.1 - vertex 19.6934 17.9694 -0.1 + vertex 20.2124 18.5903 -0.2 + vertex 19.5469 18.2611 -0.2 + vertex 19.6934 17.9694 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.7726 21.8767 -0.1 - vertex 19.4538 21.9215 -0.1 - vertex 19.3646 22.1178 -0.1 + vertex 18.7726 21.8767 -0.2 + vertex 19.4538 21.9215 -0.2 + vertex 19.3646 22.1178 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.9169 19.0772 -0.1 - vertex 19.2984 19.082 -0.1 - vertex 19.4153 18.6317 -0.1 + vertex 19.9169 19.0772 -0.2 + vertex 19.2984 19.082 -0.2 + vertex 19.4153 18.6317 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.7726 21.8767 -0.1 - vertex 19.3646 22.1178 -0.1 - vertex 19.2511 22.2936 -0.1 + vertex 18.7726 21.8767 -0.2 + vertex 19.3646 22.1178 -0.2 + vertex 19.2511 22.2936 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.8522 19.3078 -0.1 - vertex 19.1956 19.6132 -0.1 - vertex 19.2984 19.082 -0.1 + vertex 19.8522 19.3078 -0.2 + vertex 19.1956 19.6132 -0.2 + vertex 19.2984 19.082 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.7163 22.0174 -0.1 - vertex 19.2511 22.2936 -0.1 - vertex 19.108 22.463 -0.1 + vertex 18.7163 22.0174 -0.2 + vertex 19.2511 22.2936 -0.2 + vertex 19.108 22.463 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.753 19.8896 -0.1 - vertex 19.1065 20.2262 -0.1 - vertex 19.1956 19.6132 -0.1 + vertex 19.753 19.8896 -0.2 + vertex 19.1065 20.2262 -0.2 + vertex 19.1956 19.6132 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6713 20.6529 -0.1 - vertex 19.0081 20.8787 -0.1 - vertex 19.1065 20.2262 -0.1 + vertex 19.6713 20.6529 -0.2 + vertex 19.0081 20.8787 -0.2 + vertex 19.1065 20.2262 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.6646 22.0992 -0.1 - vertex 19.108 22.463 -0.1 - vertex 18.9302 22.6398 -0.1 + vertex 18.6646 22.0992 -0.2 + vertex 19.108 22.463 -0.2 + vertex 18.9302 22.6398 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.58 21.4118 -0.1 - vertex 18.892 21.4494 -0.1 - vertex 19.0081 20.8787 -0.1 + vertex 19.58 21.4118 -0.2 + vertex 18.892 21.4494 -0.2 + vertex 19.0081 20.8787 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.4538 21.9215 -0.1 - vertex 18.7726 21.8767 -0.1 - vertex 18.892 21.4494 -0.1 + vertex 19.4538 21.9215 -0.2 + vertex 18.7726 21.8767 -0.2 + vertex 18.892 21.4494 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.2511 22.2936 -0.1 - vertex 18.7163 22.0174 -0.1 - vertex 18.7726 21.8767 -0.1 + vertex 19.2511 22.2936 -0.2 + vertex 18.7163 22.0174 -0.2 + vertex 18.7726 21.8767 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.108 22.463 -0.1 - vertex 18.6646 22.0992 -0.1 - vertex 18.7163 22.0174 -0.1 + vertex 19.108 22.463 -0.2 + vertex 18.6646 22.0992 -0.2 + vertex 18.7163 22.0174 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.4732 22.2317 -0.1 - vertex 18.9302 22.6398 -0.1 - vertex 18.6454 22.8797 -0.1 + vertex 18.4732 22.2317 -0.2 + vertex 18.9302 22.6398 -0.2 + vertex 18.6454 22.8797 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.9302 22.6398 -0.1 - vertex 18.4732 22.2317 -0.1 - vertex 18.6646 22.0992 -0.1 + vertex 18.9302 22.6398 -0.2 + vertex 18.4732 22.2317 -0.2 + vertex 18.6646 22.0992 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.127 22.4141 -0.1 - vertex 18.6454 22.8797 -0.1 - vertex 18.318 23.1114 -0.1 + vertex 18.127 22.4141 -0.2 + vertex 18.6454 22.8797 -0.2 + vertex 18.318 23.1114 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.6454 22.8797 -0.1 - vertex 18.127 22.4141 -0.1 - vertex 18.4732 22.2317 -0.1 + vertex 18.6454 22.8797 -0.2 + vertex 18.127 22.4141 -0.2 + vertex 18.4732 22.2317 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6752 22.6222 -0.1 - vertex 18.318 23.1114 -0.1 - vertex 17.9883 23.3086 -0.1 + vertex 17.6752 22.6222 -0.2 + vertex 18.318 23.1114 -0.2 + vertex 17.9883 23.3086 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6752 22.6222 -0.1 - vertex 17.9883 23.3086 -0.1 - vertex 17.6969 23.4449 -0.1 + vertex 17.6752 22.6222 -0.2 + vertex 17.9883 23.3086 -0.2 + vertex 17.6969 23.4449 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.318 23.1114 -0.1 - vertex 17.6752 22.6222 -0.1 - vertex 18.127 22.4141 -0.1 + vertex 18.318 23.1114 -0.2 + vertex 17.6752 22.6222 -0.2 + vertex 18.127 22.4141 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6969 23.4449 -0.1 - vertex 17.1667 22.8321 -0.1 - vertex 17.6752 22.6222 -0.1 + vertex 17.6969 23.4449 -0.2 + vertex 17.1667 22.8321 -0.2 + vertex 17.6752 22.6222 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.2809 23.9862 -0.1 - vertex 17.1667 22.8321 -0.1 - vertex 17.6969 23.4449 -0.1 + vertex 16.2809 23.9862 -0.2 + vertex 17.1667 22.8321 -0.2 + vertex 17.6969 23.4449 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.2809 23.9862 -0.1 - vertex 15.5173 23.4995 -0.1 - vertex 17.1667 22.8321 -0.1 + vertex 16.2809 23.9862 -0.2 + vertex 15.5173 23.4995 -0.2 + vertex 17.1667 22.8321 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.1328 24.4531 -0.1 - vertex 15.5173 23.4995 -0.1 - vertex 16.2809 23.9862 -0.1 + vertex 15.1328 24.4531 -0.2 + vertex 15.5173 23.4995 -0.2 + vertex 16.2809 23.9862 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.0281 24.1527 -0.1 - vertex 15.1328 24.4531 -0.1 - vertex 14.2197 24.8651 -0.1 + vertex 14.0281 24.1527 -0.2 + vertex 15.1328 24.4531 -0.2 + vertex 14.2197 24.8651 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.1328 24.4531 -0.1 - vertex 14.0281 24.1527 -0.1 - vertex 15.5173 23.4995 -0.1 + vertex 15.1328 24.4531 -0.2 + vertex 14.0281 24.1527 -0.2 + vertex 15.5173 23.4995 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.2197 24.8651 -0.1 - vertex 13.7923 24.2655 -0.1 - vertex 14.0281 24.1527 -0.1 + vertex 14.2197 24.8651 -0.2 + vertex 13.7923 24.2655 -0.2 + vertex 14.0281 24.1527 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.2197 24.8651 -0.1 - vertex 13.5553 24.3991 -0.1 - vertex 13.7923 24.2655 -0.1 + vertex 14.2197 24.8651 -0.2 + vertex 13.5553 24.3991 -0.2 + vertex 13.7923 24.2655 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.5086 25.2416 -0.1 - vertex 13.5553 24.3991 -0.1 - vertex 14.2197 24.8651 -0.1 + vertex 13.5086 25.2416 -0.2 + vertex 13.5553 24.3991 -0.2 + vertex 14.2197 24.8651 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.085 24.7212 -0.1 - vertex 13.5086 25.2416 -0.1 - vertex 13.2184 25.4225 -0.1 + vertex 13.085 24.7212 -0.2 + vertex 13.5086 25.2416 -0.2 + vertex 13.2184 25.4225 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.5086 25.2416 -0.1 - vertex 13.085 24.7212 -0.1 - vertex 13.5553 24.3991 -0.1 + vertex 13.5086 25.2416 -0.2 + vertex 13.085 24.7212 -0.2 + vertex 13.5553 24.3991 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.6316 25.1032 -0.1 - vertex 13.2184 25.4225 -0.1 - vertex 12.9664 25.6018 -0.1 + vertex 12.6316 25.1032 -0.2 + vertex 13.2184 25.4225 -0.2 + vertex 12.9664 25.6018 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.6316 25.1032 -0.1 - vertex 12.9664 25.6018 -0.1 - vertex 12.7484 25.782 -0.1 + vertex 12.6316 25.1032 -0.2 + vertex 12.9664 25.6018 -0.2 + vertex 12.7484 25.782 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.2184 25.4225 -0.1 - vertex 12.6316 25.1032 -0.1 - vertex 13.085 24.7212 -0.1 + vertex 13.2184 25.4225 -0.2 + vertex 12.6316 25.1032 -0.2 + vertex 13.085 24.7212 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.2092 25.5292 -0.1 - vertex 12.7484 25.782 -0.1 - vertex 12.5603 25.9653 -0.1 + vertex 12.2092 25.5292 -0.2 + vertex 12.7484 25.782 -0.2 + vertex 12.5603 25.9653 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.2092 25.5292 -0.1 - vertex 12.5603 25.9653 -0.1 - vertex 12.3979 26.1543 -0.1 + vertex 12.2092 25.5292 -0.2 + vertex 12.5603 25.9653 -0.2 + vertex 12.3979 26.1543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.8324 25.9834 -0.1 - vertex 12.3979 26.1543 -0.1 - vertex 12.2572 26.3514 -0.1 + vertex 11.8324 25.9834 -0.2 + vertex 12.3979 26.1543 -0.2 + vertex 12.2572 26.3514 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.7484 25.782 -0.1 - vertex 12.2092 25.5292 -0.1 - vertex 12.6316 25.1032 -0.1 + vertex 12.7484 25.782 -0.2 + vertex 12.2092 25.5292 -0.2 + vertex 12.6316 25.1032 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.8324 25.9834 -0.1 - vertex 12.2572 26.3514 -0.1 - vertex 12.1339 26.5589 -0.1 + vertex 11.8324 25.9834 -0.2 + vertex 12.2572 26.3514 -0.2 + vertex 12.1339 26.5589 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5154 26.4501 -0.1 - vertex 12.1339 26.5589 -0.1 - vertex 12.0241 26.7794 -0.1 + vertex 11.5154 26.4501 -0.2 + vertex 12.1339 26.5589 -0.2 + vertex 12.0241 26.7794 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.3839 26.6832 -0.1 - vertex 12.0241 26.7794 -0.1 - vertex 11.903 27.1234 -0.1 + vertex 11.3839 26.6832 -0.2 + vertex 12.0241 26.7794 -0.2 + vertex 11.903 27.1234 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.3979 26.1543 -0.1 - vertex 11.8324 25.9834 -0.1 - vertex 12.2092 25.5292 -0.1 + vertex 12.3979 26.1543 -0.2 + vertex 11.8324 25.9834 -0.2 + vertex 12.2092 25.5292 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.1835 27.139 -0.1 - vertex 11.903 27.1234 -0.1 - vertex 11.8169 27.5343 -0.1 + vertex 11.1835 27.139 -0.2 + vertex 11.903 27.1234 -0.2 + vertex 11.8169 27.5343 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.0734 27.5937 -0.1 - vertex 11.8169 27.5343 -0.1 - vertex 11.7656 27.9858 -0.1 + vertex 11.0734 27.5937 -0.2 + vertex 11.8169 27.5343 -0.2 + vertex 11.7656 27.9858 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.0419 28.1143 -0.1 - vertex 11.7656 27.9858 -0.1 - vertex 11.7492 28.4518 -0.1 + vertex 11.0419 28.1143 -0.2 + vertex 11.7656 27.9858 -0.2 + vertex 11.7492 28.4518 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.2437 29.4873 -0.1 - vertex 11.9082 29.6745 -0.1 - vertex 11.4096 29.9696 -0.1 + vertex 11.2437 29.4873 -0.2 + vertex 11.9082 29.6745 -0.2 + vertex 11.4096 29.9696 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.9082 29.6745 -0.1 - vertex 11.2437 29.4873 -0.1 - vertex 11.8205 29.3224 -0.1 + vertex 11.9082 29.6745 -0.2 + vertex 11.2437 29.4873 -0.2 + vertex 11.8205 29.3224 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.7675 28.9061 -0.1 - vertex 11.1213 28.9486 -0.1 - vertex 11.7492 28.4518 -0.1 + vertex 11.7675 28.9061 -0.2 + vertex 11.1213 28.9486 -0.2 + vertex 11.7492 28.4518 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.8205 29.3224 -0.1 - vertex 11.2437 29.4873 -0.1 - vertex 11.7675 28.9061 -0.1 + vertex 11.8205 29.3224 -0.2 + vertex 11.2437 29.4873 -0.2 + vertex 11.7675 28.9061 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.1213 28.9486 -0.1 - vertex 11.7675 28.9061 -0.1 - vertex 11.2437 29.4873 -0.1 + vertex 11.1213 28.9486 -0.2 + vertex 11.7675 28.9061 -0.2 + vertex 11.2437 29.4873 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.0528 28.3898 -0.1 - vertex 11.7492 28.4518 -0.1 - vertex 11.1213 28.9486 -0.1 + vertex 11.0528 28.3898 -0.2 + vertex 11.7492 28.4518 -0.2 + vertex 11.1213 28.9486 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.1339 26.5589 -0.1 - vertex 11.5154 26.4501 -0.1 - vertex 11.8324 25.9834 -0.1 + vertex 12.1339 26.5589 -0.2 + vertex 11.5154 26.4501 -0.2 + vertex 11.8324 25.9834 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.0419 28.1143 -0.1 - vertex 11.7492 28.4518 -0.1 - vertex 11.0528 28.3898 -0.1 + vertex 11.0419 28.1143 -0.2 + vertex 11.7492 28.4518 -0.2 + vertex 11.0528 28.3898 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.0241 26.7794 -0.1 - vertex 11.3839 26.6832 -0.1 - vertex 11.5154 26.4501 -0.1 + vertex 12.0241 26.7794 -0.2 + vertex 11.3839 26.6832 -0.2 + vertex 11.5154 26.4501 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.7656 27.9858 -0.1 - vertex 11.0419 28.1143 -0.1 - vertex 11.0484 27.8474 -0.1 + vertex 11.7656 27.9858 -0.2 + vertex 11.0419 28.1143 -0.2 + vertex 11.0484 27.8474 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.903 27.1234 -0.1 - vertex 11.2726 26.9135 -0.1 - vertex 11.3839 26.6832 -0.1 + vertex 11.903 27.1234 -0.2 + vertex 11.2726 26.9135 -0.2 + vertex 11.3839 26.6832 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.7656 27.9858 -0.1 - vertex 11.0484 27.8474 -0.1 - vertex 11.0734 27.5937 -0.1 + vertex 11.7656 27.9858 -0.2 + vertex 11.0484 27.8474 -0.2 + vertex 11.0734 27.5937 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.903 27.1234 -0.1 - vertex 11.1835 27.139 -0.1 - vertex 11.2726 26.9135 -0.1 + vertex 11.903 27.1234 -0.2 + vertex 11.1835 27.139 -0.2 + vertex 11.2726 26.9135 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.8169 27.5343 -0.1 - vertex 11.1184 27.3577 -0.1 - vertex 11.1835 27.139 -0.1 + vertex 11.8169 27.5343 -0.2 + vertex 11.1184 27.3577 -0.2 + vertex 11.1835 27.139 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.8169 27.5343 -0.1 - vertex 11.0734 27.5937 -0.1 - vertex 11.1184 27.3577 -0.1 + vertex 11.8169 27.5343 -0.2 + vertex 11.0734 27.5937 -0.2 + vertex 11.1184 27.3577 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.5155 0.168137 -0.1 - vertex 21.1355 -0.658014 -0.1 - vertex 21.1316 -0.233279 -0.1 + vertex 20.5155 0.168137 -0.2 + vertex 21.1355 -0.658014 -0.2 + vertex 21.1316 -0.233279 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.8646 0.230347 -0.1 - vertex 21.1316 -0.233279 -0.1 - vertex 21.099 0.0745682 -0.1 + vertex 20.8646 0.230347 -0.2 + vertex 21.1316 -0.233279 -0.2 + vertex 21.099 0.0745682 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.9772 0.235111 -0.1 - vertex 21.099 0.0745682 -0.1 - vertex 21.0726 0.170561 -0.1 + vertex 20.9772 0.235111 -0.2 + vertex 21.099 0.0745682 -0.2 + vertex 21.0726 0.170561 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.9772 0.235111 -0.1 - vertex 21.0726 0.170561 -0.1 - vertex 21.0399 0.220413 -0.1 + vertex 20.9772 0.235111 -0.2 + vertex 21.0726 0.170561 -0.2 + vertex 21.0399 0.220413 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.1316 -0.233279 -0.1 - vertex 20.8646 0.230347 -0.1 - vertex 20.5155 0.168137 -0.1 + vertex 21.1316 -0.233279 -0.2 + vertex 20.8646 0.230347 -0.2 + vertex 20.5155 0.168137 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.1355 -0.658014 -0.1 - vertex 20.5155 0.168137 -0.1 - vertex 20.0432 0.0451876 -0.1 + vertex 21.1355 -0.658014 -0.2 + vertex 20.5155 0.168137 -0.2 + vertex 20.0432 0.0451876 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.099 0.0745682 -0.1 - vertex 20.9772 0.235111 -0.1 - vertex 20.8646 0.230347 -0.1 + vertex 21.099 0.0745682 -0.2 + vertex 20.9772 0.235111 -0.2 + vertex 20.8646 0.230347 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.1355 -0.658014 -0.1 - vertex 20.0432 0.0451876 -0.1 - vertex 21.1085 -1.15452 -0.1 + vertex 21.1355 -0.658014 -0.2 + vertex 20.0432 0.0451876 -0.2 + vertex 21.1085 -1.15452 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.4982 -0.127099 -0.1 - vertex 21.1085 -1.15452 -0.1 - vertex 20.0432 0.0451876 -0.1 + vertex 19.4982 -0.127099 -0.2 + vertex 21.1085 -1.15452 -0.2 + vertex 20.0432 0.0451876 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.1085 -1.15452 -0.1 - vertex 19.4982 -0.127099 -0.1 - vertex 21.0399 -1.71534 -0.1 + vertex 21.1085 -1.15452 -0.2 + vertex 19.4982 -0.127099 -0.2 + vertex 21.0399 -1.71534 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.0399 -1.71534 -0.1 - vertex 19.4982 -0.127099 -0.1 - vertex 20.9878 -1.96317 -0.1 + vertex 21.0399 -1.71534 -0.2 + vertex 19.4982 -0.127099 -0.2 + vertex 20.9878 -1.96317 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.7502 -0.369046 -0.1 - vertex 20.9878 -1.96317 -0.1 - vertex 19.4982 -0.127099 -0.1 + vertex 18.7502 -0.369046 -0.2 + vertex 20.9878 -1.96317 -0.2 + vertex 19.4982 -0.127099 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.9878 -1.96317 -0.1 - vertex 18.7502 -0.369046 -0.1 - vertex 20.9199 -2.19366 -0.1 + vertex 20.9878 -1.96317 -0.2 + vertex 18.7502 -0.369046 -0.2 + vertex 20.9199 -2.19366 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.9199 -2.19366 -0.1 - vertex 18.7502 -0.369046 -0.1 - vertex 20.8331 -2.41014 -0.1 + vertex 20.9199 -2.19366 -0.2 + vertex 18.7502 -0.369046 -0.2 + vertex 20.8331 -2.41014 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.8331 -2.41014 -0.1 - vertex 18.7502 -0.369046 -0.1 - vertex 20.7245 -2.61588 -0.1 + vertex 20.8331 -2.41014 -0.2 + vertex 18.7502 -0.369046 -0.2 + vertex 20.7245 -2.61588 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.7245 -2.61588 -0.1 - vertex 18.7502 -0.369046 -0.1 - vertex 20.591 -2.8142 -0.1 + vertex 20.7245 -2.61588 -0.2 + vertex 18.7502 -0.369046 -0.2 + vertex 20.591 -2.8142 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.591 -2.8142 -0.1 - vertex 18.7502 -0.369046 -0.1 - vertex 20.4297 -3.0084 -0.1 + vertex 20.591 -2.8142 -0.2 + vertex 18.7502 -0.369046 -0.2 + vertex 20.4297 -3.0084 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.4297 -3.0084 -0.1 - vertex 18.7502 -0.369046 -0.1 - vertex 20.2374 -3.20177 -0.1 + vertex 20.4297 -3.0084 -0.2 + vertex 18.7502 -0.369046 -0.2 + vertex 20.2374 -3.20177 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.2374 -3.20177 -0.1 - vertex 18.7502 -0.369046 -0.1 - vertex 20.0112 -3.39762 -0.1 + vertex 20.2374 -3.20177 -0.2 + vertex 18.7502 -0.369046 -0.2 + vertex 20.0112 -3.39762 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.4876 -0.435405 -0.1 - vertex 20.0112 -3.39762 -0.1 - vertex 18.7502 -0.369046 -0.1 + vertex 18.4876 -0.435405 -0.2 + vertex 20.0112 -3.39762 -0.2 + vertex 18.7502 -0.369046 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.0112 -3.39762 -0.1 - vertex 18.4876 -0.435405 -0.1 - vertex 19.4451 -3.80993 -0.1 + vertex 20.0112 -3.39762 -0.2 + vertex 18.4876 -0.435405 -0.2 + vertex 19.4451 -3.80993 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.2791 -0.466914 -0.1 - vertex 19.4451 -3.80993 -0.1 - vertex 18.4876 -0.435405 -0.1 + vertex 18.2791 -0.466914 -0.2 + vertex 19.4451 -3.80993 -0.2 + vertex 18.4876 -0.435405 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.1098 -0.464739 -0.1 - vertex 19.4451 -3.80993 -0.1 - vertex 18.2791 -0.466914 -0.1 + vertex 18.1098 -0.464739 -0.2 + vertex 19.4451 -3.80993 -0.2 + vertex 18.2791 -0.466914 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.4451 -3.80993 -0.1 - vertex 18.1098 -0.464739 -0.1 - vertex 18.7073 -4.27174 -0.1 + vertex 19.4451 -3.80993 -0.2 + vertex 18.1098 -0.464739 -0.2 + vertex 18.7073 -4.27174 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.9646 -0.430052 -0.1 - vertex 18.7073 -4.27174 -0.1 - vertex 18.1098 -0.464739 -0.1 + vertex 17.9646 -0.430052 -0.2 + vertex 18.7073 -4.27174 -0.2 + vertex 18.1098 -0.464739 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.7736 -4.80944 -0.1 - vertex 17.9646 -0.430052 -0.1 - vertex 17.8284 -0.36402 -0.1 + vertex 17.7736 -4.80944 -0.2 + vertex 17.9646 -0.430052 -0.2 + vertex 17.8284 -0.36402 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.9646 -0.430052 -0.1 - vertex 17.7736 -4.80944 -0.1 - vertex 18.7073 -4.27174 -0.1 + vertex 17.9646 -0.430052 -0.2 + vertex 17.7736 -4.80944 -0.2 + vertex 18.7073 -4.27174 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.3217 -2.5049 -0.1 - vertex 17.8284 -0.36402 -0.1 - vertex 17.6862 -0.267812 -0.1 + vertex 14.3217 -2.5049 -0.2 + vertex 17.8284 -0.36402 -0.2 + vertex 17.6862 -0.267812 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.2572 -2.23644 -0.1 - vertex 17.6862 -0.267812 -0.1 - vertex 17.4918 -0.0873203 -0.1 + vertex 14.2572 -2.23644 -0.2 + vertex 17.6862 -0.267812 -0.2 + vertex 17.4918 -0.0873203 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.1524 -1.94488 -0.1 - vertex 17.4918 -0.0873203 -0.1 - vertex 17.2889 0.169637 -0.1 + vertex 14.1524 -1.94488 -0.2 + vertex 17.4918 -0.0873203 -0.2 + vertex 17.2889 0.169637 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.008 -1.63155 -0.1 - vertex 17.2889 0.169637 -0.1 - vertex 17.0802 0.495742 -0.1 + vertex 14.008 -1.63155 -0.2 + vertex 17.2889 0.169637 -0.2 + vertex 17.0802 0.495742 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.8249 -1.29782 -0.1 - vertex 17.0802 0.495742 -0.1 - vertex 16.8681 0.883681 -0.1 + vertex 13.8249 -1.29782 -0.2 + vertex 17.0802 0.495742 -0.2 + vertex 16.8681 0.883681 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.604 -0.945011 -0.1 - vertex 16.8681 0.883681 -0.1 - vertex 16.6551 1.32614 -0.1 + vertex 13.604 -0.945011 -0.2 + vertex 16.8681 0.883681 -0.2 + vertex 16.6551 1.32614 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.3463 -0.574481 -0.1 - vertex 16.6551 1.32614 -0.1 - vertex 16.4437 1.81579 -0.1 + vertex 13.3463 -0.574481 -0.2 + vertex 16.6551 1.32614 -0.2 + vertex 16.4437 1.81579 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6862 -0.267812 -0.1 - vertex 14.2572 -2.23644 -0.1 - vertex 14.3217 -2.5049 -0.1 + vertex 17.6862 -0.267812 -0.2 + vertex 14.2572 -2.23644 -0.2 + vertex 14.3217 -2.5049 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.7237 0.214368 -0.1 - vertex 16.4437 1.81579 -0.1 - vertex 16.2363 2.34533 -0.1 + vertex 12.7237 0.214368 -0.2 + vertex 16.4437 1.81579 -0.2 + vertex 16.2363 2.34533 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.3607 0.629996 -0.1 - vertex 16.2363 2.34533 -0.1 - vertex 16.0356 2.90743 -0.1 + vertex 12.3607 0.629996 -0.2 + vertex 16.2363 2.34533 -0.2 + vertex 16.0356 2.90743 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5355 1.49693 -0.1 - vertex 16.0356 2.90743 -0.1 - vertex 15.6639 4.10009 -0.1 + vertex 11.5355 1.49693 -0.2 + vertex 16.0356 2.90743 -0.2 + vertex 15.6639 4.10009 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.8284 -0.36402 -0.1 - vertex 14.3217 -2.5049 -0.1 - vertex 14.3448 -2.7489 -0.1 + vertex 17.8284 -0.36402 -0.2 + vertex 14.3217 -2.5049 -0.2 + vertex 14.3448 -2.7489 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5355 1.49693 -0.1 - vertex 15.6639 4.10009 -0.1 - vertex 15.498 4.716 -0.1 + vertex 11.5355 1.49693 -0.2 + vertex 15.6639 4.10009 -0.2 + vertex 15.498 4.716 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.5842 2.40247 -0.1 - vertex 15.498 4.716 -0.1 - vertex 15.3486 5.33522 -0.1 + vertex 10.5842 2.40247 -0.2 + vertex 15.498 4.716 -0.2 + vertex 15.3486 5.33522 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.5842 2.40247 -0.1 - vertex 15.3486 5.33522 -0.1 - vertex 15.2183 5.95043 -0.1 + vertex 10.5842 2.40247 -0.2 + vertex 15.3486 5.33522 -0.2 + vertex 15.2183 5.95043 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.61741 3.25086 -0.1 - vertex 15.2183 5.95043 -0.1 - vertex 15.1095 6.5543 -0.1 + vertex 9.61741 3.25086 -0.2 + vertex 15.2183 5.95043 -0.2 + vertex 15.1095 6.5543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.29624 3.50894 -0.1 - vertex 15.1095 6.5543 -0.1 - vertex 15.0249 7.13954 -0.1 + vertex 9.29624 3.50894 -0.2 + vertex 15.1095 6.5543 -0.2 + vertex 15.0249 7.13954 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.3256 -2.96711 -0.1 - vertex 17.7736 -4.80944 -0.1 - vertex 14.3448 -2.7489 -0.1 + vertex 14.3256 -2.96711 -0.2 + vertex 17.7736 -4.80944 -0.2 + vertex 14.3448 -2.7489 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.14614 3.60373 -0.1 - vertex 15.0249 7.13954 -0.1 - vertex 14.9668 7.69881 -0.1 + vertex 9.14614 3.60373 -0.2 + vertex 15.0249 7.13954 -0.2 + vertex 14.9668 7.69881 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.19732 4.25764 -0.1 - vertex 14.9668 7.69881 -0.1 - vertex 14.9212 8.45633 -0.1 + vertex 8.19732 4.25764 -0.2 + vertex 14.9668 7.69881 -0.2 + vertex 14.9212 8.45633 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.0942 9.33737 -0.1 - vertex 8.99158 15.8746 -0.1 - vertex 15.0092 9.15168 -0.1 + vertex 15.0942 9.33737 -0.2 + vertex 8.99158 15.8746 -0.2 + vertex 15.0092 9.15168 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.7736 -4.80944 -0.1 - vertex 14.3256 -2.96711 -0.1 - vertex 16.3254 -5.59514 -0.1 + vertex 17.7736 -4.80944 -0.2 + vertex 14.3256 -2.96711 -0.2 + vertex 16.3254 -5.59514 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.1768 -3.32005 -0.1 - vertex 16.3254 -5.59514 -0.1 - vertex 14.2634 -3.15818 -0.1 + vertex 14.1768 -3.32005 -0.2 + vertex 16.3254 -5.59514 -0.2 + vertex 14.2634 -3.15818 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.2634 -3.15818 -0.1 - vertex 16.3254 -5.59514 -0.1 - vertex 14.3256 -2.96711 -0.1 + vertex 14.2634 -3.15818 -0.2 + vertex 16.3254 -5.59514 -0.2 + vertex 14.3256 -2.96711 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.8284 -0.36402 -0.1 - vertex 14.3448 -2.7489 -0.1 - vertex 17.7736 -4.80944 -0.1 + vertex 17.8284 -0.36402 -0.2 + vertex 14.3448 -2.7489 -0.2 + vertex 17.7736 -4.80944 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.4918 -0.0873203 -0.1 - vertex 14.1524 -1.94488 -0.1 - vertex 14.2572 -2.23644 -0.1 + vertex 17.4918 -0.0873203 -0.2 + vertex 14.1524 -1.94488 -0.2 + vertex 14.2572 -2.23644 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.2889 0.169637 -0.1 - vertex 14.008 -1.63155 -0.1 - vertex 14.1524 -1.94488 -0.1 + vertex 17.2889 0.169637 -0.2 + vertex 14.008 -1.63155 -0.2 + vertex 14.1524 -1.94488 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.4375 16.5104 -0.1 - vertex 14.6028 17.0277 -0.1 - vertex 14.0017 17.4864 -0.1 + vertex 10.4375 16.5104 -0.2 + vertex 14.6028 17.0277 -0.2 + vertex 14.0017 17.4864 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.0802 0.495742 -0.1 - vertex 13.8249 -1.29782 -0.1 - vertex 14.008 -1.63155 -0.1 + vertex 17.0802 0.495742 -0.2 + vertex 13.8249 -1.29782 -0.2 + vertex 14.008 -1.63155 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.8681 0.883681 -0.1 - vertex 13.604 -0.945011 -0.1 - vertex 13.8249 -1.29782 -0.1 + vertex 16.8681 0.883681 -0.2 + vertex 13.604 -0.945011 -0.2 + vertex 13.8249 -1.29782 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.4375 16.5104 -0.1 - vertex 14.0017 17.4864 -0.1 - vertex 13.3813 18.0182 -0.1 + vertex 10.4375 16.5104 -0.2 + vertex 14.0017 17.4864 -0.2 + vertex 13.3813 18.0182 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.6551 1.32614 -0.1 - vertex 13.3463 -0.574481 -0.1 - vertex 13.604 -0.945011 -0.1 + vertex 16.6551 1.32614 -0.2 + vertex 13.3463 -0.574481 -0.2 + vertex 13.604 -0.945011 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.4437 1.81579 -0.1 - vertex 13.0525 -0.187573 -0.1 - vertex 13.3463 -0.574481 -0.1 + vertex 16.4437 1.81579 -0.2 + vertex 13.0525 -0.187573 -0.2 + vertex 13.3463 -0.574481 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.4437 1.81579 -0.1 - vertex 12.7237 0.214368 -0.1 - vertex 13.0525 -0.187573 -0.1 + vertex 16.4437 1.81579 -0.2 + vertex 12.7237 0.214368 -0.2 + vertex 13.0525 -0.187573 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.4375 16.5104 -0.1 - vertex 13.3813 18.0182 -0.1 - vertex 12.71 18.6425 -0.1 + vertex 10.4375 16.5104 -0.2 + vertex 13.3813 18.0182 -0.2 + vertex 12.71 18.6425 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.2363 2.34533 -0.1 - vertex 12.3607 0.629996 -0.1 - vertex 12.7237 0.214368 -0.1 + vertex 16.2363 2.34533 -0.2 + vertex 12.3607 0.629996 -0.2 + vertex 12.7237 0.214368 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.4375 16.5104 -0.1 - vertex 12.71 18.6425 -0.1 - vertex 12.1494 19.1886 -0.1 + vertex 10.4375 16.5104 -0.2 + vertex 12.71 18.6425 -0.2 + vertex 12.1494 19.1886 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.77546 17.1908 -0.1 - vertex 12.1494 19.1886 -0.1 - vertex 11.6914 19.6646 -0.1 + vertex 9.77546 17.1908 -0.2 + vertex 12.1494 19.1886 -0.2 + vertex 11.6914 19.6646 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 8.87708 15.8492 -0.1 - vertex 15.0092 9.15168 -0.1 - vertex 8.99158 15.8746 -0.1 + vertex 8.87708 15.8492 -0.2 + vertex 15.0092 9.15168 -0.2 + vertex 8.99158 15.8746 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.09841 17.8163 -0.1 - vertex 11.6914 19.6646 -0.1 - vertex 11.3113 20.1069 -0.1 + vertex 9.09841 17.8163 -0.2 + vertex 11.6914 19.6646 -0.2 + vertex 11.3113 20.1069 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.09841 17.8163 -0.1 - vertex 11.3113 20.1069 -0.1 - vertex 10.9846 20.5521 -0.1 + vertex 9.09841 17.8163 -0.2 + vertex 11.3113 20.1069 -0.2 + vertex 10.9846 20.5521 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.31493 18.4459 -0.1 - vertex 10.9846 20.5521 -0.1 - vertex 10.6869 21.0368 -0.1 + vertex 8.31493 18.4459 -0.2 + vertex 10.9846 20.5521 -0.2 + vertex 10.6869 21.0368 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.0356 2.90743 -0.1 - vertex 11.5355 1.49693 -0.1 - vertex 12.3607 0.629996 -0.1 + vertex 16.0356 2.90743 -0.2 + vertex 11.5355 1.49693 -0.2 + vertex 12.3607 0.629996 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.498 4.716 -0.1 - vertex 10.5842 2.40247 -0.1 - vertex 11.5355 1.49693 -0.1 + vertex 15.498 4.716 -0.2 + vertex 10.5842 2.40247 -0.2 + vertex 11.5355 1.49693 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.9444 18.7161 -0.1 - vertex 10.6869 21.0368 -0.1 - vertex 10.3935 21.5973 -0.1 + vertex 7.9444 18.7161 -0.2 + vertex 10.6869 21.0368 -0.2 + vertex 10.3935 21.5973 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.36805 19.075 -0.1 - vertex 10.3935 21.5973 -0.1 - vertex 10.0801 22.2703 -0.1 + vertex 7.36805 19.075 -0.2 + vertex 10.3935 21.5973 -0.2 + vertex 10.0801 22.2703 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.1494 19.1886 -0.1 - vertex 9.77546 17.1908 -0.1 - vertex 10.4375 16.5104 -0.1 + vertex 12.1494 19.1886 -0.2 + vertex 9.77546 17.1908 -0.2 + vertex 10.4375 16.5104 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.21113 19.1268 -0.1 - vertex 10.0801 22.2703 -0.1 - vertex 9.72206 23.0922 -0.1 + vertex 7.21113 19.1268 -0.2 + vertex 10.0801 22.2703 -0.2 + vertex 9.72206 23.0922 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.6914 19.6646 -0.1 - vertex 9.46246 17.4938 -0.1 - vertex 9.77546 17.1908 -0.1 + vertex 11.6914 19.6646 -0.2 + vertex 9.46246 17.4938 -0.2 + vertex 9.77546 17.1908 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.21113 19.1268 -0.1 - vertex 9.72206 23.0922 -0.1 - vertex 9.38213 23.8626 -0.1 + vertex 7.21113 19.1268 -0.2 + vertex 9.72206 23.0922 -0.2 + vertex 9.38213 23.8626 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.6914 19.6646 -0.1 - vertex 9.09841 17.8163 -0.1 - vertex 9.46246 17.4938 -0.1 + vertex 11.6914 19.6646 -0.2 + vertex 9.09841 17.8163 -0.2 + vertex 9.46246 17.4938 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.76329 26.0408 -0.1 - vertex 9.38213 23.8626 -0.1 - vertex 9.08206 24.476 -0.1 + vertex 6.76329 26.0408 -0.2 + vertex 9.38213 23.8626 -0.2 + vertex 9.08206 24.476 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.12606 25.9588 -0.1 - vertex 9.08206 24.476 -0.1 - vertex 8.80411 24.9522 -0.1 + vertex 7.12606 25.9588 -0.2 + vertex 9.08206 24.476 -0.2 + vertex 8.80411 24.9522 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.55919 25.8755 -0.1 - vertex 8.80411 24.9522 -0.1 - vertex 8.6679 25.145 -0.1 + vertex 7.55919 25.8755 -0.2 + vertex 8.80411 24.9522 -0.2 + vertex 8.6679 25.145 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.55919 25.8755 -0.1 - vertex 8.6679 25.145 -0.1 - vertex 8.53058 25.3107 -0.1 + vertex 7.55919 25.8755 -0.2 + vertex 8.6679 25.145 -0.2 + vertex 8.53058 25.3107 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.55919 25.8755 -0.1 - vertex 8.53058 25.3107 -0.1 - vertex 8.38993 25.4519 -0.1 + vertex 7.55919 25.8755 -0.2 + vertex 8.53058 25.3107 -0.2 + vertex 8.38993 25.4519 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.9846 20.5521 -0.1 - vertex 8.31493 18.4459 -0.1 - vertex 9.09841 17.8163 -0.1 + vertex 10.9846 20.5521 -0.2 + vertex 8.31493 18.4459 -0.2 + vertex 9.09841 17.8163 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.92584 25.7528 -0.1 - vertex 8.38993 25.4519 -0.1 - vertex 8.24373 25.571 -0.1 + vertex 7.92584 25.7528 -0.2 + vertex 8.38993 25.4519 -0.2 + vertex 8.24373 25.571 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.92584 25.7528 -0.1 - vertex 8.24373 25.571 -0.1 - vertex 8.08977 25.6705 -0.1 + vertex 7.92584 25.7528 -0.2 + vertex 8.24373 25.571 -0.2 + vertex 8.08977 25.6705 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.6869 21.0368 -0.1 - vertex 7.9444 18.7161 -0.1 - vertex 8.31493 18.4459 -0.1 + vertex 10.6869 21.0368 -0.2 + vertex 7.9444 18.7161 -0.2 + vertex 8.31493 18.4459 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.38993 25.4519 -0.1 - vertex 7.92584 25.7528 -0.1 - vertex 7.55919 25.8755 -0.1 + vertex 8.38993 25.4519 -0.2 + vertex 7.92584 25.7528 -0.2 + vertex 7.55919 25.8755 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.3935 21.5973 -0.1 - vertex 7.62063 18.9319 -0.1 - vertex 7.9444 18.7161 -0.1 + vertex 10.3935 21.5973 -0.2 + vertex 7.62063 18.9319 -0.2 + vertex 7.9444 18.7161 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.80411 24.9522 -0.1 - vertex 7.55919 25.8755 -0.1 - vertex 7.12606 25.9588 -0.1 + vertex 8.80411 24.9522 -0.2 + vertex 7.55919 25.8755 -0.2 + vertex 7.12606 25.9588 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.3935 21.5973 -0.1 - vertex 7.36805 19.075 -0.1 - vertex 7.62063 18.9319 -0.1 + vertex 10.3935 21.5973 -0.2 + vertex 7.36805 19.075 -0.2 + vertex 7.62063 18.9319 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.0801 22.2703 -0.1 - vertex 7.21113 19.1268 -0.1 - vertex 7.36805 19.075 -0.1 + vertex 10.0801 22.2703 -0.2 + vertex 7.21113 19.1268 -0.2 + vertex 7.36805 19.075 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.76329 26.0408 -0.1 - vertex 9.08206 24.476 -0.1 - vertex 7.12606 25.9588 -0.1 + vertex 6.76329 26.0408 -0.2 + vertex 9.08206 24.476 -0.2 + vertex 7.12606 25.9588 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.38213 23.8626 -0.1 - vertex 6.76329 26.0408 -0.1 - vertex 7.21113 19.1268 -0.1 + vertex 9.38213 23.8626 -0.2 + vertex 6.76329 26.0408 -0.2 + vertex 7.21113 19.1268 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.21113 19.1268 -0.1 - vertex 6.76329 26.0408 -0.1 - vertex 7.15267 19.0966 -0.1 + vertex 7.21113 19.1268 -0.2 + vertex 6.76329 26.0408 -0.2 + vertex 7.15267 19.0966 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.41393 26.1795 -0.1 - vertex 7.15267 19.0966 -0.1 - vertex 6.76329 26.0408 -0.1 + vertex 6.41393 26.1795 -0.2 + vertex 7.15267 19.0966 -0.2 + vertex 6.76329 26.0408 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.07308 26.3793 -0.1 - vertex 7.15267 19.0966 -0.1 - vertex 6.41393 26.1795 -0.1 + vertex 6.07308 26.3793 -0.2 + vertex 7.15267 19.0966 -0.2 + vertex 6.41393 26.1795 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.816408 27.0884 -0.1 - vertex 7.15267 19.0966 -0.1 - vertex 6.07308 26.3793 -0.1 + vertex 0.816408 27.0884 -0.2 + vertex 7.15267 19.0966 -0.2 + vertex 6.07308 26.3793 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 1.92323 12.5289 -0.1 - vertex 7.1242 19.0144 -0.1 - vertex 1.90284 12.6291 -0.1 + vertex 1.92323 12.5289 -0.2 + vertex 7.1242 19.0144 -0.2 + vertex 1.90284 12.6291 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.734953 27.0776 -0.1 - vertex 7.15267 19.0966 -0.1 - vertex 0.816408 27.0884 -0.1 + vertex 0.734953 27.0776 -0.2 + vertex 7.15267 19.0966 -0.2 + vertex 0.816408 27.0884 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.870515 27.1101 -0.1 - vertex 6.07308 26.3793 -0.1 - vertex 5.73586 26.6445 -0.1 + vertex 0.870515 27.1101 -0.2 + vertex 6.07308 26.3793 -0.2 + vertex 5.73586 26.6445 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.870515 27.1101 -0.1 - vertex 5.73586 26.6445 -0.1 - vertex 5.39739 26.9794 -0.1 + vertex 0.870515 27.1101 -0.2 + vertex 5.73586 26.6445 -0.2 + vertex 5.39739 26.9794 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 6.22936 5.32709 -0.1 - vertex 7.1242 19.0144 -0.1 - vertex 1.92323 12.5289 -0.1 + vertex 6.22936 5.32709 -0.2 + vertex 7.1242 19.0144 -0.2 + vertex 1.92323 12.5289 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.870515 27.1101 -0.1 - vertex 5.39739 26.9794 -0.1 - vertex 5.05276 27.3884 -0.1 + vertex 0.870515 27.1101 -0.2 + vertex 5.39739 26.9794 -0.2 + vertex 5.05276 27.3884 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.908598 27.1645 -0.1 - vertex 5.05276 27.3884 -0.1 - vertex 4.69711 27.8759 -0.1 + vertex 0.908598 27.1645 -0.2 + vertex 5.05276 27.3884 -0.2 + vertex 4.69711 27.8759 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.944126 27.2693 -0.1 - vertex 4.69711 27.8759 -0.1 - vertex 4.32553 28.4461 -0.1 + vertex 0.944126 27.2693 -0.2 + vertex 4.69711 27.8759 -0.2 + vertex 4.32553 28.4461 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 6.22936 5.32709 -0.1 - vertex 7.07462 4.9138 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 6.22936 5.32709 -0.2 + vertex 7.07462 4.9138 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.04514 28.0688 -0.1 - vertex 4.32553 28.4461 -0.1 - vertex 4.09087 28.8303 -0.1 + vertex 1.04514 28.0688 -0.2 + vertex 4.32553 28.4461 -0.2 + vertex 4.09087 28.8303 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.04514 28.0688 -0.1 - vertex 4.09087 28.8303 -0.1 - vertex 3.91157 29.1502 -0.1 + vertex 1.04514 28.0688 -0.2 + vertex 4.09087 28.8303 -0.2 + vertex 3.91157 29.1502 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.0601 28.6106 -0.1 - vertex 3.91157 29.1502 -0.1 - vertex 3.78021 29.4348 -0.1 + vertex 1.0601 28.6106 -0.2 + vertex 3.91157 29.1502 -0.2 + vertex 3.78021 29.4348 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.07949 29.2543 -0.1 - vertex 3.78021 29.4348 -0.1 - vertex 3.68937 29.7129 -0.1 + vertex 1.07949 29.2543 -0.2 + vertex 3.78021 29.4348 -0.2 + vertex 3.68937 29.7129 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.13903 29.8907 -0.1 - vertex 3.68937 29.7129 -0.1 - vertex 3.63162 30.0135 -0.1 + vertex 1.13903 29.8907 -0.2 + vertex 3.68937 29.7129 -0.2 + vertex 3.63162 30.0135 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.24074 30.5277 -0.1 - vertex 3.63162 30.0135 -0.1 - vertex 3.59957 30.3654 -0.1 + vertex 1.24074 30.5277 -0.2 + vertex 3.63162 30.0135 -0.2 + vertex 3.59957 30.3654 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.91748 12.4352 -0.1 - vertex 6.22936 5.32709 -0.1 - vertex 1.92323 12.5289 -0.1 + vertex 1.91748 12.4352 -0.2 + vertex 6.22936 5.32709 -0.2 + vertex 1.92323 12.5289 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.38662 31.173 -0.1 - vertex 3.59957 30.3654 -0.1 - vertex 3.58282 31.3388 -0.1 + vertex 1.38662 31.173 -0.2 + vertex 3.59957 30.3654 -0.2 + vertex 3.58282 31.3388 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 14.0741 -3.47638 -0.1 - vertex 16.3254 -5.59514 -0.1 - vertex 14.1768 -3.32005 -0.1 + vertex 14.0741 -3.47638 -0.2 + vertex 16.3254 -5.59514 -0.2 + vertex 14.1768 -3.32005 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.3254 -5.59514 -0.1 - vertex 14.0741 -3.47638 -0.1 - vertex 15.6549 -5.93433 -0.1 + vertex 16.3254 -5.59514 -0.2 + vertex 14.0741 -3.47638 -0.2 + vertex 15.6549 -5.93433 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.8248 -3.7697 -0.1 - vertex 15.6549 -5.93433 -0.1 - vertex 14.0741 -3.47638 -0.1 + vertex 13.8248 -3.7697 -0.2 + vertex 15.6549 -5.93433 -0.2 + vertex 14.0741 -3.47638 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.6549 -5.93433 -0.1 - vertex 13.8248 -3.7697 -0.1 - vertex 15.0129 -6.23993 -0.1 + vertex 15.6549 -5.93433 -0.2 + vertex 13.8248 -3.7697 -0.2 + vertex 15.0129 -6.23993 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.5249 -4.03275 -0.1 - vertex 15.0129 -6.23993 -0.1 - vertex 13.8248 -3.7697 -0.1 + vertex 13.5249 -4.03275 -0.2 + vertex 15.0129 -6.23993 -0.2 + vertex 13.8248 -3.7697 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.0129 -6.23993 -0.1 - vertex 13.5249 -4.03275 -0.1 - vertex 14.3941 -6.51356 -0.1 + vertex 15.0129 -6.23993 -0.2 + vertex 13.5249 -4.03275 -0.2 + vertex 14.3941 -6.51356 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 13.1837 -4.26011 -0.1 - vertex 14.3941 -6.51356 -0.1 - vertex 13.5249 -4.03275 -0.1 + vertex 13.1837 -4.26011 -0.2 + vertex 14.3941 -6.51356 -0.2 + vertex 13.5249 -4.03275 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.3941 -6.51356 -0.1 - vertex 13.1837 -4.26011 -0.1 - vertex 13.793 -6.75686 -0.1 + vertex 14.3941 -6.51356 -0.2 + vertex 13.1837 -4.26011 -0.2 + vertex 13.793 -6.75686 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.8106 -4.44636 -0.1 - vertex 13.793 -6.75686 -0.1 - vertex 13.1837 -4.26011 -0.1 + vertex 12.8106 -4.44636 -0.2 + vertex 13.793 -6.75686 -0.2 + vertex 13.1837 -4.26011 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.793 -6.75686 -0.1 - vertex 12.8106 -4.44636 -0.1 - vertex 13.2041 -6.97145 -0.1 + vertex 13.793 -6.75686 -0.2 + vertex 12.8106 -4.44636 -0.2 + vertex 13.2041 -6.97145 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.4149 -4.5861 -0.1 - vertex 13.2041 -6.97145 -0.1 - vertex 12.8106 -4.44636 -0.1 + vertex 12.4149 -4.5861 -0.2 + vertex 13.2041 -6.97145 -0.2 + vertex 12.8106 -4.44636 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.2041 -6.97145 -0.1 - vertex 12.4149 -4.5861 -0.1 - vertex 12.6221 -7.15898 -0.1 + vertex 13.2041 -6.97145 -0.2 + vertex 12.4149 -4.5861 -0.2 + vertex 12.6221 -7.15898 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 12.006 -4.67391 -0.1 - vertex 12.6221 -7.15898 -0.1 - vertex 12.4149 -4.5861 -0.1 + vertex 12.006 -4.67391 -0.2 + vertex 12.6221 -7.15898 -0.2 + vertex 12.4149 -4.5861 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.6221 -7.15898 -0.1 - vertex 12.006 -4.67391 -0.1 - vertex 12.0414 -7.32107 -0.1 + vertex 12.6221 -7.15898 -0.2 + vertex 12.006 -4.67391 -0.2 + vertex 12.0414 -7.32107 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 11.5931 -4.70438 -0.1 - vertex 12.0414 -7.32107 -0.1 - vertex 12.006 -4.67391 -0.1 + vertex 11.5931 -4.70438 -0.2 + vertex 12.0414 -7.32107 -0.2 + vertex 12.006 -4.67391 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.5931 -4.70438 -0.1 - vertex 11.4568 -7.45935 -0.1 - vertex 12.0414 -7.32107 -0.1 + vertex 11.5931 -4.70438 -0.2 + vertex 11.4568 -7.45935 -0.2 + vertex 12.0414 -7.32107 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.26 -4.69402 -0.1 - vertex 11.4568 -7.45935 -0.1 - vertex 11.5931 -4.70438 -0.1 + vertex 11.26 -4.69402 -0.2 + vertex 11.4568 -7.45935 -0.2 + vertex 11.5931 -4.70438 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.9319 -4.66264 -0.1 - vertex 11.4568 -7.45935 -0.1 - vertex 11.26 -4.69402 -0.1 + vertex 10.9319 -4.66264 -0.2 + vertex 11.4568 -7.45935 -0.2 + vertex 11.26 -4.69402 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.9319 -4.66264 -0.1 - vertex 10.8627 -7.57545 -0.1 - vertex 11.4568 -7.45935 -0.1 + vertex 10.9319 -4.66264 -0.2 + vertex 10.8627 -7.57545 -0.2 + vertex 11.4568 -7.45935 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.608 -4.6098 -0.1 - vertex 10.8627 -7.57545 -0.1 - vertex 10.9319 -4.66264 -0.1 + vertex 10.608 -4.6098 -0.2 + vertex 10.8627 -7.57545 -0.2 + vertex 10.9319 -4.66264 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.2538 -7.67101 -0.1 - vertex 10.608 -4.6098 -0.1 - vertex 10.2875 -4.53506 -0.1 + vertex 10.2538 -7.67101 -0.2 + vertex 10.608 -4.6098 -0.2 + vertex 10.2875 -4.53506 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.608 -4.6098 -0.1 - vertex 10.2538 -7.67101 -0.1 - vertex 10.8627 -7.57545 -0.1 + vertex 10.608 -4.6098 -0.2 + vertex 10.2538 -7.67101 -0.2 + vertex 10.8627 -7.57545 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.62459 -7.74765 -0.1 - vertex 10.2875 -4.53506 -0.1 - vertex 9.96977 -4.43796 -0.1 + vertex 9.62459 -7.74765 -0.2 + vertex 10.2875 -4.53506 -0.2 + vertex 9.96977 -4.43796 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.809 -5.75259 -0.1 - vertex 9.96977 -4.43796 -0.1 - vertex 9.65389 -4.31807 -0.1 + vertex 7.809 -5.75259 -0.2 + vertex 9.96977 -4.43796 -0.2 + vertex 9.65389 -4.31807 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.2875 -4.53506 -0.1 - vertex 9.62459 -7.74765 -0.1 - vertex 10.2538 -7.67101 -0.1 + vertex 10.2875 -4.53506 -0.2 + vertex 9.62459 -7.74765 -0.2 + vertex 10.2538 -7.67101 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.809 -5.75259 -0.1 - vertex 9.65389 -4.31807 -0.1 - vertex 9.33912 -4.17495 -0.1 + vertex 7.809 -5.75259 -0.2 + vertex 9.65389 -4.31807 -0.2 + vertex 9.33912 -4.17495 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.809 -5.75259 -0.1 - vertex 9.33912 -4.17495 -0.1 - vertex 9.02468 -4.00814 -0.1 + vertex 7.809 -5.75259 -0.2 + vertex 9.33912 -4.17495 -0.2 + vertex 9.02468 -4.00814 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.96977 -4.43796 -0.1 - vertex 7.809 -5.75259 -0.1 - vertex 9.62459 -7.74765 -0.1 + vertex 9.96977 -4.43796 -0.2 + vertex 7.809 -5.75259 -0.2 + vertex 9.62459 -7.74765 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.809 -5.75259 -0.1 - vertex 9.02468 -4.00814 -0.1 - vertex 8.70978 -3.81721 -0.1 + vertex 7.809 -5.75259 -0.2 + vertex 9.02468 -4.00814 -0.2 + vertex 8.70978 -3.81721 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.04277 -4.97268 -0.1 - vertex 8.70978 -3.81721 -0.1 - vertex 8.39365 -3.60171 -0.1 + vertex 7.04277 -4.97268 -0.2 + vertex 8.70978 -3.81721 -0.2 + vertex 8.39365 -3.60171 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.04277 -4.97268 -0.1 - vertex 8.39365 -3.60171 -0.1 - vertex 8.0755 -3.36119 -0.1 + vertex 7.04277 -4.97268 -0.2 + vertex 8.39365 -3.60171 -0.2 + vertex 8.0755 -3.36119 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.62459 -7.74765 -0.1 - vertex 7.809 -5.75259 -0.1 - vertex 8.96966 -7.80701 -0.1 + vertex 9.62459 -7.74765 -0.2 + vertex 7.809 -5.75259 -0.2 + vertex 8.96966 -7.80701 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.809 -5.75259 -0.1 - vertex 7.56097 -7.88041 -0.1 - vertex 8.96966 -7.80701 -0.1 + vertex 7.809 -5.75259 -0.2 + vertex 7.56097 -7.88041 -0.2 + vertex 8.96966 -7.80701 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.2241 -5.88439 -0.1 - vertex 7.56097 -7.88041 -0.1 - vertex 7.809 -5.75259 -0.1 + vertex 7.2241 -5.88439 -0.2 + vertex 7.56097 -7.88041 -0.2 + vertex 7.809 -5.75259 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.87672 -5.95074 -0.1 - vertex 7.56097 -7.88041 -0.1 - vertex 7.2241 -5.88439 -0.1 + vertex 6.87672 -5.95074 -0.2 + vertex 7.56097 -7.88041 -0.2 + vertex 7.2241 -5.88439 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.53505 -5.98957 -0.1 - vertex 7.56097 -7.88041 -0.1 - vertex 6.87672 -5.95074 -0.1 + vertex 6.53505 -5.98957 -0.2 + vertex 7.56097 -7.88041 -0.2 + vertex 6.87672 -5.95074 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.04455 -7.91255 -0.1 - vertex 6.53505 -5.98957 -0.1 - vertex 6.18777 -5.99984 -0.1 + vertex 6.04455 -7.91255 -0.2 + vertex 6.53505 -5.98957 -0.2 + vertex 6.18777 -5.99984 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.53505 -5.98957 -0.1 - vertex 6.04455 -7.91255 -0.1 - vertex 7.56097 -7.88041 -0.1 + vertex 6.53505 -5.98957 -0.2 + vertex 6.04455 -7.91255 -0.2 + vertex 7.56097 -7.88041 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.82356 -5.98052 -0.1 - vertex 6.04455 -7.91255 -0.1 - vertex 6.18777 -5.99984 -0.1 + vertex 5.82356 -5.98052 -0.2 + vertex 6.04455 -7.91255 -0.2 + vertex 6.18777 -5.99984 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.82356 -5.98052 -0.1 - vertex 5.49083 -7.9071 -0.1 - vertex 6.04455 -7.91255 -0.1 + vertex 5.82356 -5.98052 -0.2 + vertex 5.49083 -7.9071 -0.2 + vertex 6.04455 -7.91255 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.4311 -5.93055 -0.1 - vertex 5.49083 -7.9071 -0.1 - vertex 5.82356 -5.98052 -0.1 + vertex 5.4311 -5.93055 -0.2 + vertex 5.49083 -7.9071 -0.2 + vertex 5.82356 -5.98052 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.4311 -5.93055 -0.1 - vertex 5.0434 -7.88498 -0.1 - vertex 5.49083 -7.9071 -0.1 + vertex 5.4311 -5.93055 -0.2 + vertex 5.0434 -7.88498 -0.2 + vertex 5.49083 -7.9071 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.99906 -5.84891 -0.1 - vertex 5.0434 -7.88498 -0.1 - vertex 5.4311 -5.93055 -0.1 + vertex 4.99906 -5.84891 -0.2 + vertex 5.0434 -7.88498 -0.2 + vertex 5.4311 -5.93055 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.99906 -5.84891 -0.1 - vertex 4.67971 -7.84446 -0.1 - vertex 5.0434 -7.88498 -0.1 + vertex 4.99906 -5.84891 -0.2 + vertex 4.67971 -7.84446 -0.2 + vertex 5.0434 -7.88498 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.11342 -7.70123 -0.1 - vertex 4.99906 -5.84891 -0.1 - vertex 4.51611 -5.73457 -0.1 + vertex 4.11342 -7.70123 -0.2 + vertex 4.99906 -5.84891 -0.2 + vertex 4.51611 -5.73457 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.99906 -5.84891 -0.1 - vertex 4.37723 -7.78379 -0.1 - vertex 4.67971 -7.84446 -0.1 + vertex 4.99906 -5.84891 -0.2 + vertex 4.37723 -7.78379 -0.2 + vertex 4.67971 -7.84446 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.99906 -5.84891 -0.1 - vertex 4.11342 -7.70123 -0.1 - vertex 4.37723 -7.78379 -0.1 + vertex 4.99906 -5.84891 -0.2 + vertex 4.11342 -7.70123 -0.2 + vertex 4.37723 -7.78379 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.40104 -7.34622 -0.1 - vertex 4.51611 -5.73457 -0.1 - vertex 3.97093 -5.58648 -0.1 + vertex 3.40104 -7.34622 -0.2 + vertex 4.51611 -5.73457 -0.2 + vertex 3.97093 -5.58648 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.51611 -5.73457 -0.1 - vertex 3.86574 -7.59505 -0.1 - vertex 4.11342 -7.70123 -0.1 + vertex 4.51611 -5.73457 -0.2 + vertex 3.86574 -7.59505 -0.2 + vertex 4.11342 -7.70123 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.51611 -5.73457 -0.1 - vertex 3.40104 -7.34622 -0.1 - vertex 3.86574 -7.59505 -0.1 + vertex 4.51611 -5.73457 -0.2 + vertex 3.40104 -7.34622 -0.2 + vertex 3.86574 -7.59505 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.71562 -6.94693 -0.1 - vertex 3.97093 -5.58648 -0.1 - vertex 3.25174 -5.37115 -0.1 + vertex 2.71562 -6.94693 -0.2 + vertex 3.97093 -5.58648 -0.2 + vertex 3.25174 -5.37115 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.97093 -5.58648 -0.1 - vertex 2.71562 -6.94693 -0.1 - vertex 3.40104 -7.34622 -0.1 + vertex 3.97093 -5.58648 -0.2 + vertex 2.71562 -6.94693 -0.2 + vertex 3.40104 -7.34622 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.534 -5.13555 -0.1 - vertex 2.71562 -6.94693 -0.1 - vertex 3.25174 -5.37115 -0.1 + vertex 2.534 -5.13555 -0.2 + vertex 2.71562 -6.94693 -0.2 + vertex 3.25174 -5.37115 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.05193 -5.91722 -0.1 - vertex 2.534 -5.13555 -0.1 - vertex 1.81816 -4.87986 -0.1 + vertex 1.05193 -5.91722 -0.2 + vertex 2.534 -5.13555 -0.2 + vertex 1.81816 -4.87986 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.05193 -5.91722 -0.1 - vertex 1.81816 -4.87986 -0.1 - vertex 1.10471 -4.60426 -0.1 + vertex 1.05193 -5.91722 -0.2 + vertex 1.81816 -4.87986 -0.2 + vertex 1.10471 -4.60426 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.534 -5.13555 -0.1 - vertex 1.05193 -5.91722 -0.1 - vertex 2.71562 -6.94693 -0.1 + vertex 2.534 -5.13555 -0.2 + vertex 1.05193 -5.91722 -0.2 + vertex 2.71562 -6.94693 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.394112 -4.30895 -0.1 - vertex 1.05193 -5.91722 -0.1 - vertex 1.10471 -4.60426 -0.1 + vertex 0.394112 -4.30895 -0.2 + vertex 1.05193 -5.91722 -0.2 + vertex 1.10471 -4.60426 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.694871 -4.82613 -0.1 - vertex 0.394112 -4.30895 -0.1 - vertex -0.313177 -3.99411 -0.1 + vertex -0.694871 -4.82613 -0.2 + vertex 0.394112 -4.30895 -0.2 + vertex -0.313177 -3.99411 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.394112 -4.30895 -0.1 - vertex -0.694871 -4.82613 -0.1 - vertex 1.05193 -5.91722 -0.1 + vertex 0.394112 -4.30895 -0.2 + vertex -0.694871 -4.82613 -0.2 + vertex 1.05193 -5.91722 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.01669 -3.65993 -0.1 - vertex -0.694871 -4.82613 -0.1 - vertex -0.313177 -3.99411 -0.1 + vertex -1.01669 -3.65993 -0.2 + vertex -0.694871 -4.82613 -0.2 + vertex -0.313177 -3.99411 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.47177 -3.7788 -0.1 - vertex -1.01669 -3.65993 -0.1 - vertex -1.71595 -3.30659 -0.1 + vertex -2.47177 -3.7788 -0.2 + vertex -1.01669 -3.65993 -0.2 + vertex -1.71595 -3.30659 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.47177 -3.7788 -0.1 - vertex -1.71595 -3.30659 -0.1 - vertex -2.32857 -3.00041 -0.1 + vertex -2.47177 -3.7788 -0.2 + vertex -1.71595 -3.30659 -0.2 + vertex -2.32857 -3.00041 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.01669 -3.65993 -0.1 - vertex -2.47177 -3.7788 -0.1 - vertex -0.694871 -4.82613 -0.1 + vertex -1.01669 -3.65993 -0.2 + vertex -2.47177 -3.7788 -0.2 + vertex -0.694871 -4.82613 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.32857 -3.00041 -0.1 - vertex -2.8551 -3.51984 -0.1 - vertex -2.47177 -3.7788 -0.1 + vertex -2.32857 -3.00041 -0.2 + vertex -2.8551 -3.51984 -0.2 + vertex -2.47177 -3.7788 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.87688 -2.74967 -0.1 - vertex -2.8551 -3.51984 -0.1 - vertex -2.32857 -3.00041 -0.1 + vertex -2.87688 -2.74967 -0.2 + vertex -2.8551 -3.51984 -0.2 + vertex -2.32857 -3.00041 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.87688 -2.74967 -0.1 - vertex -3.18232 -3.26618 -0.1 - vertex -2.8551 -3.51984 -0.1 + vertex -2.87688 -2.74967 -0.2 + vertex -3.18232 -3.26618 -0.2 + vertex -2.8551 -3.51984 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.44099 -3.03042 -0.1 - vertex -2.87688 -2.74967 -0.1 - vertex -3.301 -2.58026 -0.1 + vertex -3.44099 -3.03042 -0.2 + vertex -2.87688 -2.74967 -0.2 + vertex -3.301 -2.58026 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.87688 -2.74967 -0.1 - vertex -3.44099 -3.03042 -0.1 - vertex -3.18232 -3.26618 -0.1 + vertex -2.87688 -2.74967 -0.2 + vertex -3.44099 -3.03042 -0.2 + vertex -3.18232 -3.26618 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.61865 -2.82513 -0.1 - vertex -3.301 -2.58026 -0.1 - vertex -3.54104 -2.51804 -0.1 + vertex -3.61865 -2.82513 -0.2 + vertex -3.301 -2.58026 -0.2 + vertex -3.54104 -2.51804 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.301 -2.58026 -0.1 - vertex -3.61865 -2.82513 -0.1 - vertex -3.44099 -3.03042 -0.1 + vertex -3.301 -2.58026 -0.2 + vertex -3.61865 -2.82513 -0.2 + vertex -3.44099 -3.03042 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.70285 -2.66292 -0.1 - vertex -3.54104 -2.51804 -0.1 - vertex -3.62666 -2.52788 -0.1 + vertex -3.70285 -2.66292 -0.2 + vertex -3.54104 -2.51804 -0.2 + vertex -3.62666 -2.52788 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.70601 -2.60189 -0.1 - vertex -3.62666 -2.52788 -0.1 - vertex -3.68113 -2.55635 -0.1 + vertex -3.70601 -2.60189 -0.2 + vertex -3.62666 -2.52788 -0.2 + vertex -3.68113 -2.55635 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.54104 -2.51804 -0.1 - vertex -3.70285 -2.66292 -0.1 - vertex -3.61865 -2.82513 -0.1 + vertex -3.54104 -2.51804 -0.2 + vertex -3.70285 -2.66292 -0.2 + vertex -3.61865 -2.82513 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.62666 -2.52788 -0.1 - vertex -3.70601 -2.60189 -0.1 - vertex -3.70285 -2.66292 -0.1 + vertex -3.62666 -2.52788 -0.2 + vertex -3.70601 -2.60189 -0.2 + vertex -3.70285 -2.66292 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -20.5419 27.5737 -0.1 - vertex -21.2799 26.5937 -0.1 - vertex -21.2563 26.5576 -0.1 + vertex -20.5419 27.5737 -0.2 + vertex -21.2799 26.5937 -0.2 + vertex -21.2563 26.5576 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -20.7979 27.6578 -0.1 - vertex -21.3473 26.6332 -0.1 - vertex -21.2799 26.5937 -0.1 + vertex -20.7979 27.6578 -0.2 + vertex -21.3473 26.6332 -0.2 + vertex -21.2799 26.5937 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.5951 26.7172 -0.1 - vertex -21.1001 27.7294 -0.1 - vertex -21.4599 27.7917 -0.1 + vertex -21.5951 26.7172 -0.2 + vertex -21.1001 27.7294 -0.2 + vertex -21.4599 27.7917 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.1001 27.7294 -0.1 - vertex -21.5951 26.7172 -0.1 - vertex -21.3473 26.6332 -0.1 + vertex -21.1001 27.7294 -0.2 + vertex -21.5951 26.7172 -0.2 + vertex -21.3473 26.6332 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.4599 27.7917 -0.1 - vertex -21.9618 26.7994 -0.1 - vertex -21.5951 26.7172 -0.1 + vertex -21.4599 27.7917 -0.2 + vertex -21.9618 26.7994 -0.2 + vertex -21.5951 26.7172 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.3975 27.9007 -0.1 - vertex -21.9618 26.7994 -0.1 - vertex -21.4599 27.7917 -0.1 + vertex -22.3975 27.9007 -0.2 + vertex -21.9618 26.7994 -0.2 + vertex -21.4599 27.7917 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.3975 27.9007 -0.1 - vertex -22.4095 26.8695 -0.1 - vertex -21.9618 26.7994 -0.1 + vertex -22.3975 27.9007 -0.2 + vertex -22.4095 26.8695 -0.2 + vertex -21.9618 26.7994 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.3975 27.9007 -0.1 - vertex -22.8078 26.9423 -0.1 - vertex -22.4095 26.8695 -0.1 + vertex -22.3975 27.9007 -0.2 + vertex -22.8078 26.9423 -0.2 + vertex -22.4095 26.8695 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.1232 27.9594 -0.1 - vertex -22.8078 26.9423 -0.1 - vertex -22.3975 27.9007 -0.1 + vertex -23.1232 27.9594 -0.2 + vertex -22.8078 26.9423 -0.2 + vertex -22.3975 27.9007 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.1232 27.9594 -0.1 - vertex -23.1972 27.0531 -0.1 - vertex -22.8078 26.9423 -0.1 + vertex -23.1232 27.9594 -0.2 + vertex -23.1972 27.0531 -0.2 + vertex -22.8078 26.9423 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.1232 27.9594 -0.1 - vertex -23.56 27.1917 -0.1 - vertex -23.1972 27.0531 -0.1 + vertex -23.1232 27.9594 -0.2 + vertex -23.56 27.1917 -0.2 + vertex -23.1972 27.0531 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.7335 27.9892 -0.1 - vertex -23.56 27.1917 -0.1 - vertex -23.1232 27.9594 -0.1 + vertex -23.7335 27.9892 -0.2 + vertex -23.56 27.1917 -0.2 + vertex -23.1232 27.9594 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.7335 27.9892 -0.1 - vertex -23.8785 27.3484 -0.1 - vertex -23.56 27.1917 -0.1 + vertex -23.7335 27.9892 -0.2 + vertex -23.8785 27.3484 -0.2 + vertex -23.56 27.1917 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.7335 27.9892 -0.1 - vertex -24.1346 27.513 -0.1 - vertex -23.8785 27.3484 -0.1 + vertex -23.7335 27.9892 -0.2 + vertex -24.1346 27.513 -0.2 + vertex -23.8785 27.3484 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.1643 27.9885 -0.1 - vertex -24.1346 27.513 -0.1 - vertex -23.7335 27.9892 -0.1 + vertex -24.1643 27.9885 -0.2 + vertex -24.1346 27.513 -0.2 + vertex -23.7335 27.9892 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3632 27.7532 -0.1 - vertex -24.1643 27.9885 -0.1 - vertex -24.2923 27.9761 -0.1 + vertex -24.3632 27.7532 -0.2 + vertex -24.1643 27.9885 -0.2 + vertex -24.2923 27.9761 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.1643 27.9885 -0.1 - vertex -24.3107 27.6757 -0.1 - vertex -24.1346 27.513 -0.1 + vertex -24.1643 27.9885 -0.2 + vertex -24.3107 27.6757 -0.2 + vertex -24.1346 27.513 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3858 27.8943 -0.1 - vertex -24.2923 27.9761 -0.1 - vertex -24.3515 27.9554 -0.1 + vertex -24.3858 27.8943 -0.2 + vertex -24.2923 27.9761 -0.2 + vertex -24.3515 27.9554 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.1643 27.9885 -0.1 - vertex -24.3632 27.7532 -0.1 - vertex -24.3107 27.6757 -0.1 + vertex -24.1643 27.9885 -0.2 + vertex -24.3632 27.7532 -0.2 + vertex -24.3107 27.6757 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.2923 27.9761 -0.1 - vertex -24.3858 27.8943 -0.1 - vertex -24.3889 27.8265 -0.1 + vertex -24.2923 27.9761 -0.2 + vertex -24.3858 27.8943 -0.2 + vertex -24.3889 27.8265 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.2923 27.9761 -0.1 - vertex -24.3889 27.8265 -0.1 - vertex -24.3632 27.7532 -0.1 + vertex -24.2923 27.9761 -0.2 + vertex -24.3889 27.8265 -0.2 + vertex -24.3632 27.7532 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.89877 27.2865 -0.1 - vertex -10.5394 24.4322 -0.1 - vertex -10.5349 24.4109 -0.1 + vertex -7.89877 27.2865 -0.2 + vertex -10.5394 24.4322 -0.2 + vertex -10.5349 24.4109 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.2816 27.5955 -0.1 - vertex -10.6591 24.5009 -0.1 - vertex -10.5394 24.4322 -0.1 + vertex -10.2816 27.5955 -0.2 + vertex -10.6591 24.5009 -0.2 + vertex -10.5394 24.4322 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.2816 27.5955 -0.1 - vertex -10.9077 24.5958 -0.1 - vertex -10.6591 24.5009 -0.1 + vertex -10.2816 27.5955 -0.2 + vertex -10.9077 24.5958 -0.2 + vertex -10.6591 24.5009 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.2816 27.5955 -0.1 - vertex -11.2625 24.7069 -0.1 - vertex -10.9077 24.5958 -0.1 + vertex -10.2816 27.5955 -0.2 + vertex -11.2625 24.7069 -0.2 + vertex -10.9077 24.5958 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.5342 27.7352 -0.1 - vertex -11.2625 24.7069 -0.1 - vertex -10.2816 27.5955 -0.1 + vertex -11.5342 27.7352 -0.2 + vertex -11.2625 24.7069 -0.2 + vertex -10.2816 27.5955 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.5342 27.7352 -0.1 - vertex -11.7825 24.8213 -0.1 - vertex -11.2625 24.7069 -0.1 + vertex -11.5342 27.7352 -0.2 + vertex -11.7825 24.8213 -0.2 + vertex -11.2625 24.7069 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.5342 27.7352 -0.1 - vertex -12.4277 24.907 -0.1 - vertex -11.7825 24.8213 -0.1 + vertex -11.5342 27.7352 -0.2 + vertex -12.4277 24.907 -0.2 + vertex -11.7825 24.8213 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.6053 27.816 -0.1 - vertex -12.4277 24.907 -0.1 - vertex -11.5342 27.7352 -0.1 + vertex -12.6053 27.816 -0.2 + vertex -12.4277 24.907 -0.2 + vertex -11.5342 27.7352 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.6053 27.816 -0.1 - vertex -13.1566 24.9634 -0.1 - vertex -12.4277 24.907 -0.1 + vertex -12.6053 27.816 -0.2 + vertex -13.1566 24.9634 -0.2 + vertex -12.4277 24.907 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.5445 27.8374 -0.1 - vertex -13.1566 24.9634 -0.1 - vertex -12.6053 27.816 -0.1 + vertex -13.5445 27.8374 -0.2 + vertex -13.1566 24.9634 -0.2 + vertex -12.6053 27.816 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.5445 27.8374 -0.1 - vertex -13.9275 24.99 -0.1 - vertex -13.1566 24.9634 -0.1 + vertex -13.5445 27.8374 -0.2 + vertex -13.9275 24.99 -0.2 + vertex -13.1566 24.9634 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.4014 27.7989 -0.1 - vertex -13.9275 24.99 -0.1 - vertex -13.5445 27.8374 -0.1 + vertex -14.4014 27.7989 -0.2 + vertex -13.9275 24.99 -0.2 + vertex -13.5445 27.8374 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.4014 27.7989 -0.1 - vertex -14.6988 24.986 -0.1 - vertex -13.9275 24.99 -0.1 + vertex -14.4014 27.7989 -0.2 + vertex -14.6988 24.986 -0.2 + vertex -13.9275 24.99 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.2259 27.7001 -0.1 - vertex -14.6988 24.986 -0.1 - vertex -14.4014 27.7989 -0.1 + vertex -15.2259 27.7001 -0.2 + vertex -14.6988 24.986 -0.2 + vertex -14.4014 27.7989 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.2259 27.7001 -0.1 - vertex -15.4289 24.9511 -0.1 - vertex -14.6988 24.986 -0.1 + vertex -15.2259 27.7001 -0.2 + vertex -15.4289 24.9511 -0.2 + vertex -14.6988 24.986 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -16.0674 27.5405 -0.1 - vertex -15.4289 24.9511 -0.1 - vertex -15.2259 27.7001 -0.1 + vertex -16.0674 27.5405 -0.2 + vertex -15.4289 24.9511 -0.2 + vertex -15.2259 27.7001 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.0674 27.5405 -0.1 - vertex -16.0762 24.8844 -0.1 - vertex -15.4289 24.9511 -0.1 + vertex -16.0674 27.5405 -0.2 + vertex -16.0762 24.8844 -0.2 + vertex -15.4289 24.9511 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -16.9758 27.3196 -0.1 - vertex -16.0762 24.8844 -0.1 - vertex -16.0674 27.5405 -0.1 + vertex -16.9758 27.3196 -0.2 + vertex -16.0762 24.8844 -0.2 + vertex -16.0674 27.5405 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.0762 24.8844 -0.1 - vertex -16.9758 27.3196 -0.1 - vertex -16.599 24.7853 -0.1 + vertex -16.0762 24.8844 -0.2 + vertex -16.9758 27.3196 -0.2 + vertex -16.599 24.7853 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.9758 27.3196 -0.1 - vertex -17.1707 24.6702 -0.1 - vertex -16.599 24.7853 -0.1 + vertex -16.9758 27.3196 -0.2 + vertex -17.1707 24.6702 -0.2 + vertex -16.599 24.7853 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.9758 27.3196 -0.1 - vertex -18.0818 24.5233 -0.1 - vertex -17.1707 24.6702 -0.1 + vertex -16.9758 27.3196 -0.2 + vertex -18.0818 24.5233 -0.2 + vertex -17.1707 24.6702 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -19.3233 26.703 -0.1 - vertex -18.0818 24.5233 -0.1 - vertex -16.9758 27.3196 -0.1 + vertex -19.3233 26.703 -0.2 + vertex -18.0818 24.5233 -0.2 + vertex -16.9758 27.3196 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.0818 24.5233 -0.1 - vertex -19.3233 26.703 -0.1 - vertex -19.207 24.3637 -0.1 + vertex -18.0818 24.5233 -0.2 + vertex -19.3233 26.703 -0.2 + vertex -19.207 24.3637 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2669 26.4994 -0.1 - vertex -19.3233 26.703 -0.1 - vertex -19.9368 27.2141 -0.1 + vertex -21.2669 26.4994 -0.2 + vertex -19.3233 26.703 -0.2 + vertex -19.9368 27.2141 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2563 26.5576 -0.1 - vertex -19.9368 27.2141 -0.1 - vertex -20.1227 27.3549 -0.1 + vertex -21.2563 26.5576 -0.2 + vertex -19.9368 27.2141 -0.2 + vertex -20.1227 27.3549 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2563 26.5576 -0.1 - vertex -20.1227 27.3549 -0.1 - vertex -20.3206 27.4738 -0.1 + vertex -21.2563 26.5576 -0.2 + vertex -20.1227 27.3549 -0.2 + vertex -20.3206 27.4738 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2997 26.4466 -0.1 - vertex -19.3233 26.703 -0.1 - vertex -21.2669 26.4994 -0.1 + vertex -21.2997 26.4466 -0.2 + vertex -19.3233 26.703 -0.2 + vertex -21.2669 26.4994 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2563 26.5576 -0.1 - vertex -20.3206 27.4738 -0.1 - vertex -20.5419 27.5737 -0.1 + vertex -21.2563 26.5576 -0.2 + vertex -20.3206 27.4738 -0.2 + vertex -20.5419 27.5737 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.2799 26.5937 -0.1 - vertex -20.5419 27.5737 -0.1 - vertex -20.7979 27.6578 -0.1 + vertex -21.2799 26.5937 -0.2 + vertex -20.5419 27.5737 -0.2 + vertex -20.7979 27.6578 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.3473 26.6332 -0.1 - vertex -20.7979 27.6578 -0.1 - vertex -21.1001 27.7294 -0.1 + vertex -21.3473 26.6332 -0.2 + vertex -20.7979 27.6578 -0.2 + vertex -21.1001 27.7294 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.9368 27.2141 -0.1 - vertex -21.2563 26.5576 -0.1 - vertex -21.2669 26.4994 -0.1 + vertex -19.9368 27.2141 -0.2 + vertex -21.2563 26.5576 -0.2 + vertex -21.2669 26.4994 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.3233 26.703 -0.1 - vertex -20.4207 24.2101 -0.1 - vertex -19.207 24.3637 -0.1 + vertex -19.3233 26.703 -0.2 + vertex -20.4207 24.2101 -0.2 + vertex -19.207 24.3637 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.3233 26.703 -0.1 - vertex -21.2997 26.4466 -0.1 - vertex -20.4207 24.2101 -0.1 + vertex -19.3233 26.703 -0.2 + vertex -21.2997 26.4466 -0.2 + vertex -20.4207 24.2101 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.3558 26.3992 -0.1 - vertex -20.4207 24.2101 -0.1 - vertex -21.2997 26.4466 -0.1 + vertex -21.3558 26.3992 -0.2 + vertex -20.4207 24.2101 -0.2 + vertex -21.2997 26.4466 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.4368 26.3569 -0.1 - vertex -20.4207 24.2101 -0.1 - vertex -21.3558 26.3992 -0.1 + vertex -21.4368 26.3569 -0.2 + vertex -20.4207 24.2101 -0.2 + vertex -21.3558 26.3992 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.6785 26.2874 -0.1 - vertex -20.4207 24.2101 -0.1 - vertex -21.4368 26.3569 -0.1 + vertex -21.6785 26.2874 -0.2 + vertex -20.4207 24.2101 -0.2 + vertex -21.4368 26.3569 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -22.0356 26.2369 -0.1 - vertex -20.4207 24.2101 -0.1 - vertex -21.6785 26.2874 -0.1 + vertex -22.0356 26.2369 -0.2 + vertex -20.4207 24.2101 -0.2 + vertex -21.6785 26.2874 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.3692 23.8604 -0.1 - vertex -22.0356 26.2369 -0.1 - vertex -22.5186 26.2045 -0.1 + vertex -23.3692 23.8604 -0.2 + vertex -22.0356 26.2369 -0.2 + vertex -22.5186 26.2045 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.3692 23.8604 -0.1 - vertex -22.5186 26.2045 -0.1 - vertex -23.1385 26.1891 -0.1 + vertex -23.3692 23.8604 -0.2 + vertex -22.5186 26.2045 -0.2 + vertex -23.1385 26.1891 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.0356 26.2369 -0.1 - vertex -23.3692 23.8604 -0.1 - vertex -20.4207 24.2101 -0.1 + vertex -22.0356 26.2369 -0.2 + vertex -23.3692 23.8604 -0.2 + vertex -20.4207 24.2101 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.6523 24.0122 -0.1 - vertex -23.3692 23.8604 -0.1 - vertex -23.1385 26.1891 -0.1 + vertex -24.6523 24.0122 -0.2 + vertex -23.3692 23.8604 -0.2 + vertex -23.1385 26.1891 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.3692 23.8604 -0.1 - vertex -24.6523 24.0122 -0.1 - vertex -24.1455 19.0472 -0.1 + vertex -23.3692 23.8604 -0.2 + vertex -24.6523 24.0122 -0.2 + vertex -24.1455 19.0472 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.8316 26.205 -0.1 - vertex -24.6523 24.0122 -0.1 - vertex -23.1385 26.1891 -0.1 + vertex -24.8316 26.205 -0.2 + vertex -24.6523 24.0122 -0.2 + vertex -23.1385 26.1891 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.8316 26.205 -0.1 - vertex -26.0107 24.2804 -0.1 - vertex -24.6523 24.0122 -0.1 + vertex -24.8316 26.205 -0.2 + vertex -26.0107 24.2804 -0.2 + vertex -24.6523 24.0122 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.3751 26.2567 -0.1 - vertex -26.0107 24.2804 -0.1 - vertex -24.8316 26.205 -0.1 + vertex -26.3751 26.2567 -0.2 + vertex -26.0107 24.2804 -0.2 + vertex -24.8316 26.205 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.3751 26.2567 -0.1 - vertex -26.5818 24.4056 -0.1 - vertex -26.0107 24.2804 -0.1 + vertex -26.3751 26.2567 -0.2 + vertex -26.5818 24.4056 -0.2 + vertex -26.0107 24.2804 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.1227 24.5501 -0.1 - vertex -26.3751 26.2567 -0.1 - vertex -26.9353 26.3003 -0.1 + vertex -27.1227 24.5501 -0.2 + vertex -26.3751 26.2567 -0.2 + vertex -26.9353 26.3003 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.3751 26.2567 -0.1 - vertex -27.1227 24.5501 -0.1 - vertex -26.5818 24.4056 -0.1 + vertex -26.3751 26.2567 -0.2 + vertex -27.1227 24.5501 -0.2 + vertex -26.5818 24.4056 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.636 24.7152 -0.1 - vertex -26.9353 26.3003 -0.1 - vertex -27.4097 26.3653 -0.1 + vertex -27.636 24.7152 -0.2 + vertex -26.9353 26.3003 -0.2 + vertex -27.4097 26.3653 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.9353 26.3003 -0.1 - vertex -27.636 24.7152 -0.1 - vertex -27.1227 24.5501 -0.1 + vertex -26.9353 26.3003 -0.2 + vertex -27.636 24.7152 -0.2 + vertex -27.1227 24.5501 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.1248 24.9019 -0.1 - vertex -27.4097 26.3653 -0.1 - vertex -27.8395 26.4592 -0.1 + vertex -28.1248 24.9019 -0.2 + vertex -27.4097 26.3653 -0.2 + vertex -27.8395 26.4592 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.4097 26.3653 -0.1 - vertex -28.1248 24.9019 -0.1 - vertex -27.636 24.7152 -0.1 + vertex -27.4097 26.3653 -0.2 + vertex -28.1248 24.9019 -0.2 + vertex -27.636 24.7152 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.5919 25.1115 -0.1 - vertex -27.8395 26.4592 -0.1 - vertex -28.2663 26.5892 -0.1 + vertex -28.5919 25.1115 -0.2 + vertex -27.8395 26.4592 -0.2 + vertex -28.2663 26.5892 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.8395 26.4592 -0.1 - vertex -28.5919 25.1115 -0.1 - vertex -28.1248 24.9019 -0.1 + vertex -27.8395 26.4592 -0.2 + vertex -28.5919 25.1115 -0.2 + vertex -28.1248 24.9019 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.0402 25.3453 -0.1 - vertex -28.2663 26.5892 -0.1 - vertex -28.7314 26.7626 -0.1 + vertex -29.0402 25.3453 -0.2 + vertex -28.2663 26.5892 -0.2 + vertex -28.7314 26.7626 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.2663 26.5892 -0.1 - vertex -29.0402 25.3453 -0.1 - vertex -28.5919 25.1115 -0.1 + vertex -28.2663 26.5892 -0.2 + vertex -29.0402 25.3453 -0.2 + vertex -28.5919 25.1115 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.4725 25.6043 -0.1 - vertex -28.7314 26.7626 -0.1 - vertex -29.2762 26.9865 -0.1 + vertex -29.4725 25.6043 -0.2 + vertex -28.7314 26.7626 -0.2 + vertex -29.2762 26.9865 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.7314 26.7626 -0.1 - vertex -29.4725 25.6043 -0.1 - vertex -29.0402 25.3453 -0.1 + vertex -28.7314 26.7626 -0.2 + vertex -29.4725 25.6043 -0.2 + vertex -29.0402 25.3453 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.2762 26.9865 -0.1 - vertex -29.8918 25.8898 -0.1 - vertex -29.4725 25.6043 -0.1 + vertex -29.2762 26.9865 -0.2 + vertex -29.8918 25.8898 -0.2 + vertex -29.4725 25.6043 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.0875 27.3102 -0.1 - vertex -29.8918 25.8898 -0.1 - vertex -29.2762 26.9865 -0.1 + vertex -30.0875 27.3102 -0.2 + vertex -29.8918 25.8898 -0.2 + vertex -29.2762 26.9865 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.0875 27.3102 -0.1 - vertex -30.6514 26.471 -0.1 - vertex -29.8918 25.8898 -0.1 + vertex -30.0875 27.3102 -0.2 + vertex -30.6514 26.471 -0.2 + vertex -29.8918 25.8898 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.9143 26.7038 -0.1 - vertex -30.0875 27.3102 -0.1 - vertex -30.6543 27.4912 -0.1 + vertex -30.9143 26.7038 -0.2 + vertex -30.0875 27.3102 -0.2 + vertex -30.6543 27.4912 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.1043 26.9038 -0.1 - vertex -30.6543 27.4912 -0.1 - vertex -30.8579 27.5312 -0.1 + vertex -31.1043 26.9038 -0.2 + vertex -30.6543 27.4912 -0.2 + vertex -30.8579 27.5312 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.0875 27.3102 -0.1 - vertex -30.9143 26.7038 -0.1 - vertex -30.6514 26.471 -0.1 + vertex -30.0875 27.3102 -0.2 + vertex -30.9143 26.7038 -0.2 + vertex -30.6514 26.471 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.2248 27.0754 -0.1 - vertex -30.8579 27.5312 -0.1 - vertex -31.0145 27.539 -0.1 + vertex -31.2248 27.0754 -0.2 + vertex -30.8579 27.5312 -0.2 + vertex -31.0145 27.539 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.6543 27.4912 -0.1 - vertex -31.1043 26.9038 -0.1 - vertex -30.9143 26.7038 -0.1 + vertex -30.6543 27.4912 -0.2 + vertex -31.1043 26.9038 -0.2 + vertex -30.9143 26.7038 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.272 27.3506 -0.1 - vertex -31.0145 27.539 -0.1 - vertex -31.1289 27.5158 -0.1 + vertex -31.272 27.3506 -0.2 + vertex -31.0145 27.539 -0.2 + vertex -31.1289 27.5158 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.272 27.3506 -0.1 - vertex -31.1289 27.5158 -0.1 - vertex -31.2059 27.4629 -0.1 + vertex -31.272 27.3506 -0.2 + vertex -31.1289 27.5158 -0.2 + vertex -31.2059 27.4629 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.8579 27.5312 -0.1 - vertex -31.2248 27.0754 -0.1 - vertex -31.1043 26.9038 -0.1 + vertex -30.8579 27.5312 -0.2 + vertex -31.2248 27.0754 -0.2 + vertex -31.1043 26.9038 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.0145 27.539 -0.1 - vertex -31.272 27.3506 -0.1 - vertex -31.2795 27.2229 -0.1 + vertex -31.0145 27.539 -0.2 + vertex -31.272 27.3506 -0.2 + vertex -31.2795 27.2229 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.0145 27.539 -0.1 - vertex -31.2795 27.2229 -0.1 - vertex -31.2248 27.0754 -0.1 + vertex -31.0145 27.539 -0.2 + vertex -31.2795 27.2229 -0.2 + vertex -31.2248 27.0754 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.22936 5.32709 -0.1 - vertex 1.91748 12.4352 -0.1 - vertex 5.27855 5.76024 -0.1 + vertex 6.22936 5.32709 -0.2 + vertex 1.91748 12.4352 -0.2 + vertex 5.27855 5.76024 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.32553 28.4461 -0.1 - vertex 1.00441 27.6053 -0.1 - vertex 0.944126 27.2693 -0.1 + vertex 4.32553 28.4461 -0.2 + vertex 1.00441 27.6053 -0.2 + vertex 0.944126 27.2693 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.60924 32.0876 -0.1 - vertex 1.57871 31.8344 -0.1 - vertex 3.58282 31.3388 -0.1 + vertex 3.60924 32.0876 -0.2 + vertex 1.57871 31.8344 -0.2 + vertex 3.58282 31.3388 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.69711 27.8759 -0.1 - vertex 0.944126 27.2693 -0.1 - vertex 0.908598 27.1645 -0.1 + vertex 4.69711 27.8759 -0.2 + vertex 0.944126 27.2693 -0.2 + vertex 0.908598 27.1645 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.38662 31.173 -0.1 - vertex 3.58282 31.3388 -0.1 - vertex 1.57871 31.8344 -0.1 + vertex 1.38662 31.173 -0.2 + vertex 3.58282 31.3388 -0.2 + vertex 1.57871 31.8344 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 1.85843 12.7398 -0.1 - vertex 1.90284 12.6291 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 1.85843 12.7398 -0.2 + vertex 1.90284 12.6291 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.59957 30.3654 -0.1 - vertex 1.38662 31.173 -0.1 - vertex 1.24074 30.5277 -0.1 + vertex 3.59957 30.3654 -0.2 + vertex 1.38662 31.173 -0.2 + vertex 1.24074 30.5277 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.32553 28.4461 -0.1 - vertex 1.04514 28.0688 -0.1 - vertex 1.00441 27.6053 -0.1 + vertex 4.32553 28.4461 -0.2 + vertex 1.04514 28.0688 -0.2 + vertex 1.00441 27.6053 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.63162 30.0135 -0.1 - vertex 1.24074 30.5277 -0.1 - vertex 1.13903 29.8907 -0.1 + vertex 3.63162 30.0135 -0.2 + vertex 1.24074 30.5277 -0.2 + vertex 1.13903 29.8907 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.68937 29.7129 -0.1 - vertex 1.13903 29.8907 -0.1 - vertex 1.07949 29.2543 -0.1 + vertex 3.68937 29.7129 -0.2 + vertex 1.13903 29.8907 -0.2 + vertex 1.07949 29.2543 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.78021 29.4348 -0.1 - vertex 1.07949 29.2543 -0.1 - vertex 1.0601 28.6106 -0.1 + vertex 3.78021 29.4348 -0.2 + vertex 1.07949 29.2543 -0.2 + vertex 1.0601 28.6106 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.91157 29.1502 -0.1 - vertex 1.0601 28.6106 -0.1 - vertex 1.04514 28.0688 -0.1 + vertex 3.91157 29.1502 -0.2 + vertex 1.0601 28.6106 -0.2 + vertex 1.04514 28.0688 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.05276 27.3884 -0.1 - vertex 0.908598 27.1645 -0.1 - vertex 0.870515 27.1101 -0.1 + vertex 5.05276 27.3884 -0.2 + vertex 0.908598 27.1645 -0.2 + vertex 0.870515 27.1101 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 1.7147 12.9716 -0.1 - vertex 1.85843 12.7398 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 1.7147 12.9716 -0.2 + vertex 1.85843 12.7398 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.07308 26.3793 -0.1 - vertex 0.870515 27.1101 -0.1 - vertex 0.816408 27.0884 -0.1 + vertex 6.07308 26.3793 -0.2 + vertex 0.870515 27.1101 -0.2 + vertex 0.816408 27.0884 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 1.51175 13.1874 -0.1 - vertex 1.7147 12.9716 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 1.51175 13.1874 -0.2 + vertex 1.7147 12.9716 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 1.25015 13.3869 -0.1 - vertex 1.51175 13.1874 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 1.25015 13.3869 -0.2 + vertex 1.51175 13.1874 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 0.930489 13.5702 -0.1 - vertex 1.25015 13.3869 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 0.930489 13.5702 -0.2 + vertex 1.25015 13.3869 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.15267 19.0966 -0.1 - vertex 0.734953 27.0776 -0.1 - vertex 7.1242 19.0144 -0.1 + vertex 7.15267 19.0966 -0.2 + vertex 0.734953 27.0776 -0.2 + vertex 7.1242 19.0144 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.371032 14.021 -0.1 - vertex 7.1242 19.0144 -0.1 - vertex 0.734953 27.0776 -0.1 + vertex -0.371032 14.021 -0.2 + vertex 7.1242 19.0144 -0.2 + vertex 0.734953 27.0776 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 0.55335 13.737 -0.1 - vertex 0.930489 13.5702 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 0.55335 13.737 -0.2 + vertex 0.930489 13.5702 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.917111 14.138 -0.1 - vertex 0.734953 27.0776 -0.1 - vertex 0.505992 27.0868 -0.1 + vertex -0.917111 14.138 -0.2 + vertex 0.734953 27.0776 -0.2 + vertex 0.505992 27.0868 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.51834 14.2381 -0.1 - vertex 0.505992 27.0868 -0.1 - vertex 0.215611 27.1342 -0.1 + vertex -1.51834 14.2381 -0.2 + vertex 0.505992 27.0868 -0.2 + vertex 0.215611 27.1342 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex 0.119316 13.8873 -0.1 - vertex 0.55335 13.737 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex 0.119316 13.8873 -0.2 + vertex 0.55335 13.737 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.17413 14.3212 -0.1 - vertex 0.215611 27.1342 -0.1 - vertex -0.104203 27.2162 -0.1 + vertex -2.17413 14.3212 -0.2 + vertex 0.215611 27.1342 -0.2 + vertex -0.104203 27.2162 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.1242 19.0144 -0.1 - vertex -0.371032 14.021 -0.1 - vertex 0.119316 13.8873 -0.1 + vertex 7.1242 19.0144 -0.2 + vertex -0.371032 14.021 -0.2 + vertex 0.119316 13.8873 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.8839 14.3873 -0.1 - vertex -0.104203 27.2162 -0.1 - vertex -0.438314 27.347 -0.1 + vertex -2.8839 14.3873 -0.2 + vertex -0.104203 27.2162 -0.2 + vertex -0.438314 27.347 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.54439 27.3597 -0.1 - vertex -0.438314 27.347 -0.1 - vertex -0.7749 27.5359 -0.1 + vertex -6.54439 27.3597 -0.2 + vertex -0.438314 27.347 -0.2 + vertex -0.7749 27.5359 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.734953 27.0776 -0.1 - vertex -0.917111 14.138 -0.1 - vertex -0.371032 14.021 -0.1 + vertex 0.734953 27.0776 -0.2 + vertex -0.917111 14.138 -0.2 + vertex -0.371032 14.021 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.54439 27.3597 -0.1 - vertex -0.7749 27.5359 -0.1 - vertex -1.11256 27.7809 -0.1 + vertex -6.54439 27.3597 -0.2 + vertex -0.7749 27.5359 -0.2 + vertex -1.11256 27.7809 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.44763 27.4571 -0.1 - vertex -1.11256 27.7809 -0.1 - vertex -1.44988 28.0795 -0.1 + vertex -6.44763 27.4571 -0.2 + vertex -1.11256 27.7809 -0.2 + vertex -1.44988 28.0795 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.505992 27.0868 -0.1 - vertex -1.51834 14.2381 -0.1 - vertex -0.917111 14.138 -0.1 + vertex 0.505992 27.0868 -0.2 + vertex -1.51834 14.2381 -0.2 + vertex -0.917111 14.138 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.44763 27.4571 -0.1 - vertex -1.44988 28.0795 -0.1 - vertex -1.78547 28.4297 -0.1 + vertex -6.44763 27.4571 -0.2 + vertex -1.44988 28.0795 -0.2 + vertex -1.78547 28.4297 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.37156 27.6173 -0.1 - vertex -1.78547 28.4297 -0.1 - vertex -2.11792 28.8291 -0.1 + vertex -6.37156 27.6173 -0.2 + vertex -1.78547 28.4297 -0.2 + vertex -2.11792 28.8291 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.215611 27.1342 -0.1 - vertex -2.17413 14.3212 -0.1 - vertex -1.51834 14.2381 -0.1 + vertex 0.215611 27.1342 -0.2 + vertex -2.17413 14.3212 -0.2 + vertex -1.51834 14.2381 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.31368 27.8729 -0.1 - vertex -2.11792 28.8291 -0.1 - vertex -2.44583 29.2754 -0.1 + vertex -6.31368 27.8729 -0.2 + vertex -2.11792 28.8291 -0.2 + vertex -2.44583 29.2754 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.27149 28.2565 -0.1 - vertex -2.44583 29.2754 -0.1 - vertex -2.7678 29.7664 -0.1 + vertex -6.27149 28.2565 -0.2 + vertex -2.44583 29.2754 -0.2 + vertex -2.7678 29.7664 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.11256 27.7809 -0.1 - vertex -6.44763 27.4571 -0.1 - vertex -6.54439 27.3597 -0.1 + vertex -1.11256 27.7809 -0.2 + vertex -6.44763 27.4571 -0.2 + vertex -6.54439 27.3597 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.24249 28.8007 -0.1 - vertex -2.7678 29.7664 -0.1 - vertex -3.08241 30.2998 -0.1 + vertex -6.24249 28.8007 -0.2 + vertex -2.7678 29.7664 -0.2 + vertex -3.08241 30.2998 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.22417 29.538 -0.1 - vertex -3.08241 30.2998 -0.1 - vertex -3.38828 30.8734 -0.1 + vertex -6.22417 29.538 -0.2 + vertex -3.08241 30.2998 -0.2 + vertex -3.38828 30.8734 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.438314 27.347 -0.1 - vertex -6.54439 27.3597 -0.1 - vertex -3.64708 14.4362 -0.1 + vertex -0.438314 27.347 -0.2 + vertex -6.54439 27.3597 -0.2 + vertex -3.64708 14.4362 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.22417 29.538 -0.1 - vertex -3.38828 30.8734 -0.1 - vertex -3.68399 31.485 -0.1 + vertex -6.22417 29.538 -0.2 + vertex -3.38828 30.8734 -0.2 + vertex -3.68399 31.485 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.20957 31.7226 -0.1 - vertex -3.68399 31.485 -0.1 - vertex -3.96814 32.1322 -0.1 + vertex -6.20957 31.7226 -0.2 + vertex -3.68399 31.485 -0.2 + vertex -3.96814 32.1322 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.20957 31.7226 -0.1 - vertex -3.96814 32.1322 -0.1 - vertex -4.23933 32.8128 -0.1 + vertex -6.20957 31.7226 -0.2 + vertex -3.96814 32.1322 -0.2 + vertex -4.23933 32.8128 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.78547 28.4297 -0.1 - vertex -6.37156 27.6173 -0.1 - vertex -6.44763 27.4571 -0.1 + vertex -1.78547 28.4297 -0.2 + vertex -6.37156 27.6173 -0.2 + vertex -6.44763 27.4571 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.19415 33.3563 -0.1 - vertex -4.23933 32.8128 -0.1 - vertex -4.49616 33.5245 -0.1 + vertex -6.19415 33.3563 -0.2 + vertex -4.23933 32.8128 -0.2 + vertex -4.49616 33.5245 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.19415 33.3563 -0.1 - vertex -4.49616 33.5245 -0.1 - vertex -4.73722 34.2652 -0.1 + vertex -6.19415 33.3563 -0.2 + vertex -4.49616 33.5245 -0.2 + vertex -4.73722 34.2652 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.15766 34.7516 -0.1 - vertex -4.73722 34.2652 -0.1 - vertex -4.96111 35.0324 -0.1 + vertex -6.15766 34.7516 -0.2 + vertex -4.73722 34.2652 -0.2 + vertex -4.96111 35.0324 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.15766 34.7516 -0.1 - vertex -4.96111 35.0324 -0.1 - vertex -5.11886 35.5644 -0.1 + vertex -6.15766 34.7516 -0.2 + vertex -4.96111 35.0324 -0.2 + vertex -5.11886 35.5644 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.10555 35.7605 -0.1 - vertex -5.11886 35.5644 -0.1 - vertex -5.26884 35.9859 -0.1 + vertex -6.10555 35.7605 -0.2 + vertex -5.11886 35.5644 -0.2 + vertex -5.26884 35.9859 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.7678 29.7664 -0.1 - vertex -6.24249 28.8007 -0.1 - vertex -6.27149 28.2565 -0.1 + vertex -2.7678 29.7664 -0.2 + vertex -6.24249 28.8007 -0.2 + vertex -6.27149 28.2565 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.07534 36.0738 -0.1 - vertex -5.26884 35.9859 -0.1 - vertex -5.41174 36.2975 -0.1 + vertex -6.07534 36.0738 -0.2 + vertex -5.26884 35.9859 -0.2 + vertex -5.41174 36.2975 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -5.92579 36.4611 -0.1 - vertex -5.41174 36.2975 -0.1 - vertex -5.54821 36.5001 -0.1 + vertex -5.92579 36.4611 -0.2 + vertex -5.41174 36.2975 -0.2 + vertex -5.54821 36.5001 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -5.86569 36.5344 -0.1 - vertex -5.54821 36.5001 -0.1 - vertex -5.61425 36.5608 -0.1 + vertex -5.86569 36.5344 -0.2 + vertex -5.54821 36.5001 -0.2 + vertex -5.61425 36.5608 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -5.80457 36.5812 -0.1 - vertex -5.61425 36.5608 -0.1 - vertex -5.67893 36.5944 -0.1 + vertex -5.80457 36.5812 -0.2 + vertex -5.61425 36.5608 -0.2 + vertex -5.67893 36.5944 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.80457 36.5812 -0.1 - vertex -5.67893 36.5944 -0.1 - vertex -5.74234 36.6012 -0.1 + vertex -5.80457 36.5812 -0.2 + vertex -5.67893 36.5944 -0.2 + vertex -5.74234 36.6012 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.61425 36.5608 -0.1 - vertex -5.80457 36.5812 -0.1 - vertex -5.86569 36.5344 -0.1 + vertex -5.61425 36.5608 -0.2 + vertex -5.80457 36.5812 -0.2 + vertex -5.86569 36.5344 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.54821 36.5001 -0.1 - vertex -5.86569 36.5344 -0.1 - vertex -5.92579 36.4611 -0.1 + vertex -5.54821 36.5001 -0.2 + vertex -5.86569 36.5344 -0.2 + vertex -5.92579 36.4611 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.41174 36.2975 -0.1 - vertex -5.92579 36.4611 -0.1 - vertex -6.04327 36.2349 -0.1 + vertex -5.41174 36.2975 -0.2 + vertex -5.92579 36.4611 -0.2 + vertex -6.04327 36.2349 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.41174 36.2975 -0.1 - vertex -6.04327 36.2349 -0.1 - vertex -6.07534 36.0738 -0.1 + vertex -5.41174 36.2975 -0.2 + vertex -6.04327 36.2349 -0.2 + vertex -6.07534 36.0738 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.26884 35.9859 -0.1 - vertex -6.07534 36.0738 -0.1 - vertex -6.10555 35.7605 -0.1 + vertex -5.26884 35.9859 -0.2 + vertex -6.07534 36.0738 -0.2 + vertex -6.10555 35.7605 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.11886 35.5644 -0.1 - vertex -6.10555 35.7605 -0.1 - vertex -6.15766 34.7516 -0.1 + vertex -5.11886 35.5644 -0.2 + vertex -6.10555 35.7605 -0.2 + vertex -6.15766 34.7516 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.73722 34.2652 -0.1 - vertex -6.15766 34.7516 -0.1 - vertex -6.19415 33.3563 -0.1 + vertex -4.73722 34.2652 -0.2 + vertex -6.15766 34.7516 -0.2 + vertex -6.19415 33.3563 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.23933 32.8128 -0.1 - vertex -6.19415 33.3563 -0.1 - vertex -6.20957 31.7226 -0.1 + vertex -4.23933 32.8128 -0.2 + vertex -6.19415 33.3563 -0.2 + vertex -6.20957 31.7226 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.68399 31.485 -0.1 - vertex -6.20957 31.7226 -0.1 - vertex -6.22417 29.538 -0.1 + vertex -3.68399 31.485 -0.2 + vertex -6.20957 31.7226 -0.2 + vertex -6.22417 29.538 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.08241 30.2998 -0.1 - vertex -6.22417 29.538 -0.1 - vertex -6.24249 28.8007 -0.1 + vertex -3.08241 30.2998 -0.2 + vertex -6.22417 29.538 -0.2 + vertex -6.24249 28.8007 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.44583 29.2754 -0.1 - vertex -6.27149 28.2565 -0.1 - vertex -6.31368 27.8729 -0.1 + vertex -2.44583 29.2754 -0.2 + vertex -6.27149 28.2565 -0.2 + vertex -6.31368 27.8729 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.11792 28.8291 -0.1 - vertex -6.31368 27.8729 -0.1 - vertex -6.37156 27.6173 -0.1 + vertex -2.11792 28.8291 -0.2 + vertex -6.31368 27.8729 -0.2 + vertex -6.37156 27.6173 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.104203 27.2162 -0.1 - vertex -2.8839 14.3873 -0.1 - vertex -2.17413 14.3212 -0.1 + vertex -0.104203 27.2162 -0.2 + vertex -2.8839 14.3873 -0.2 + vertex -2.17413 14.3212 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.438314 27.347 -0.1 - vertex -3.64708 14.4362 -0.1 - vertex -2.8839 14.3873 -0.1 + vertex -0.438314 27.347 -0.2 + vertex -3.64708 14.4362 -0.2 + vertex -2.8839 14.3873 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.65192 27.3056 -0.1 - vertex -3.64708 14.4362 -0.1 - vertex -6.54439 27.3597 -0.1 + vertex -6.65192 27.3056 -0.2 + vertex -3.64708 14.4362 -0.2 + vertex -6.54439 27.3597 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.64708 14.4362 -0.1 - vertex -6.65192 27.3056 -0.1 - vertex -4.46307 14.4678 -0.1 + vertex -3.64708 14.4362 -0.2 + vertex -6.65192 27.3056 -0.2 + vertex -4.46307 14.4678 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -10.904 19.9248 -0.1 - vertex -4.46307 14.4678 -0.1 - vertex -6.65192 27.3056 -0.1 + vertex -10.904 19.9248 -0.2 + vertex -4.46307 14.4678 -0.2 + vertex -6.65192 27.3056 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.46307 14.4678 -0.1 - vertex -10.904 19.9248 -0.1 - vertex -5.33129 14.482 -0.1 + vertex -4.46307 14.4678 -0.2 + vertex -10.904 19.9248 -0.2 + vertex -5.33129 14.482 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.904 19.9248 -0.1 - vertex -6.65192 27.3056 -0.1 - vertex -6.80178 27.2682 -0.1 + vertex -10.904 19.9248 -0.2 + vertex -6.65192 27.3056 -0.2 + vertex -6.80178 27.2682 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5349 24.4109 -0.1 - vertex -6.80178 27.2682 -0.1 - vertex -6.99768 27.2475 -0.1 + vertex -10.5349 24.4109 -0.2 + vertex -6.80178 27.2682 -0.2 + vertex -6.99768 27.2475 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.33129 14.482 -0.1 - vertex -10.904 19.9248 -0.1 - vertex -6.25117 14.4787 -0.1 + vertex -5.33129 14.482 -0.2 + vertex -10.904 19.9248 -0.2 + vertex -6.25117 14.4787 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5349 24.4109 -0.1 - vertex -6.99768 27.2475 -0.1 - vertex -7.24334 27.2437 -0.1 + vertex -10.5349 24.4109 -0.2 + vertex -6.99768 27.2475 -0.2 + vertex -7.24334 27.2437 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5349 24.4109 -0.1 - vertex -7.24334 27.2437 -0.1 - vertex -7.89877 27.2865 -0.1 + vertex -10.5349 24.4109 -0.2 + vertex -7.24334 27.2437 -0.2 + vertex -7.89877 27.2865 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5394 24.4322 -0.1 - vertex -7.89877 27.2865 -0.1 - vertex -8.79778 27.3973 -0.1 + vertex -10.5394 24.4322 -0.2 + vertex -7.89877 27.2865 -0.2 + vertex -8.79778 27.3973 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.80178 27.2682 -0.1 - vertex -10.5349 24.4109 -0.1 - vertex -10.904 19.9248 -0.1 + vertex -6.80178 27.2682 -0.2 + vertex -10.5349 24.4109 -0.2 + vertex -10.904 19.9248 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.25117 14.4787 -0.1 - vertex -10.9261 19.832 -0.1 - vertex -7.22211 14.4578 -0.1 + vertex -6.25117 14.4787 -0.2 + vertex -10.9261 19.832 -0.2 + vertex -7.22211 14.4578 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5394 24.4322 -0.1 - vertex -8.79778 27.3973 -0.1 - vertex -10.2816 27.5955 -0.1 + vertex -10.5394 24.4322 -0.2 + vertex -8.79778 27.3973 -0.2 + vertex -10.2816 27.5955 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -10.9261 19.832 -0.1 - vertex -6.25117 14.4787 -0.1 - vertex -10.904 19.9248 -0.1 + vertex -10.9261 19.832 -0.2 + vertex -6.25117 14.4787 -0.2 + vertex -10.904 19.9248 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.0035 20.0644 -0.1 - vertex -10.5349 24.4109 -0.1 - vertex -10.5711 24.4 -0.1 + vertex -11.0035 20.0644 -0.2 + vertex -10.5349 24.4109 -0.2 + vertex -10.5711 24.4 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -10.9948 19.7221 -0.1 - vertex -7.22211 14.4578 -0.1 - vertex -10.9261 19.832 -0.1 + vertex -10.9948 19.7221 -0.2 + vertex -7.22211 14.4578 -0.2 + vertex -10.9261 19.832 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.22211 14.4578 -0.1 - vertex -10.9948 19.7221 -0.1 - vertex -9.25643 14.3812 -0.1 + vertex -7.22211 14.4578 -0.2 + vertex -10.9948 19.7221 -0.2 + vertex -9.25643 14.3812 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5349 24.4109 -0.1 - vertex -10.9294 20.0018 -0.1 - vertex -10.904 19.9248 -0.1 + vertex -10.5349 24.4109 -0.2 + vertex -10.9294 20.0018 -0.2 + vertex -10.904 19.9248 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5349 24.4109 -0.1 - vertex -11.0035 20.0644 -0.1 - vertex -10.9294 20.0018 -0.1 + vertex -10.5349 24.4109 -0.2 + vertex -11.0035 20.0644 -0.2 + vertex -10.9294 20.0018 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5711 24.4 -0.1 - vertex -11.1271 20.114 -0.1 - vertex -11.0035 20.0644 -0.1 + vertex -10.5711 24.4 -0.2 + vertex -11.1271 20.114 -0.2 + vertex -11.0035 20.0644 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5711 24.4 -0.1 - vertex -11.3013 20.1521 -0.1 - vertex -11.1271 20.114 -0.1 + vertex -10.5711 24.4 -0.2 + vertex -11.3013 20.1521 -0.2 + vertex -11.1271 20.114 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5711 24.4 -0.1 - vertex -11.5271 20.1801 -0.1 - vertex -11.3013 20.1521 -0.1 + vertex -10.5711 24.4 -0.2 + vertex -11.5271 20.1801 -0.2 + vertex -11.3013 20.1521 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.5711 24.4 -0.1 - vertex -12.1376 20.2112 -0.1 - vertex -11.5271 20.1801 -0.1 + vertex -10.5711 24.4 -0.2 + vertex -12.1376 20.2112 -0.2 + vertex -11.5271 20.1801 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.1612 23.8467 -0.1 - vertex -12.1376 20.2112 -0.1 - vertex -10.5711 24.4 -0.1 + vertex -14.1612 23.8467 -0.2 + vertex -12.1376 20.2112 -0.2 + vertex -10.5711 24.4 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.1376 20.2112 -0.1 - vertex -14.1612 23.8467 -0.1 - vertex -12.9665 20.2187 -0.1 + vertex -12.1376 20.2112 -0.2 + vertex -14.1612 23.8467 -0.2 + vertex -12.9665 20.2187 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.9665 20.2187 -0.1 - vertex -14.1612 23.8467 -0.1 - vertex -13.9037 20.2008 -0.1 + vertex -12.9665 20.2187 -0.2 + vertex -14.1612 23.8467 -0.2 + vertex -13.9037 20.2008 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.1612 23.8467 -0.1 - vertex -14.8461 20.153 -0.1 - vertex -13.9037 20.2008 -0.1 + vertex -14.1612 23.8467 -0.2 + vertex -14.8461 20.153 -0.2 + vertex -13.9037 20.2008 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.0412 23.3999 -0.1 - vertex -14.8461 20.153 -0.1 - vertex -14.1612 23.8467 -0.1 + vertex -17.0412 23.3999 -0.2 + vertex -14.8461 20.153 -0.2 + vertex -14.1612 23.8467 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.8461 20.153 -0.1 - vertex -17.0412 23.3999 -0.1 - vertex -15.684 20.0825 -0.1 + vertex -14.8461 20.153 -0.2 + vertex -17.0412 23.3999 -0.2 + vertex -15.684 20.0825 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.684 20.0825 -0.1 - vertex -17.0412 23.3999 -0.1 - vertex -16.3079 19.9967 -0.1 + vertex -15.684 20.0825 -0.2 + vertex -17.0412 23.3999 -0.2 + vertex -16.3079 19.9967 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.0412 23.3999 -0.1 - vertex -17.2235 19.8332 -0.1 - vertex -16.3079 19.9967 -0.1 + vertex -17.0412 23.3999 -0.2 + vertex -17.2235 19.8332 -0.2 + vertex -16.3079 19.9967 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -19.3158 23.0662 -0.1 - vertex -17.2235 19.8332 -0.1 - vertex -17.0412 23.3999 -0.1 + vertex -19.3158 23.0662 -0.2 + vertex -17.2235 19.8332 -0.2 + vertex -17.0412 23.3999 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.2235 19.8332 -0.1 - vertex -19.3158 23.0662 -0.1 - vertex -18.1791 19.6811 -0.1 + vertex -17.2235 19.8332 -0.2 + vertex -19.3158 23.0662 -0.2 + vertex -18.1791 19.6811 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.3158 23.0662 -0.1 - vertex -20.1671 19.4139 -0.1 - vertex -18.1791 19.6811 -0.1 + vertex -19.3158 23.0662 -0.2 + vertex -20.1671 19.4139 -0.2 + vertex -18.1791 19.6811 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -20.7318 22.8633 -0.1 - vertex -20.1671 19.4139 -0.1 - vertex -19.3158 23.0662 -0.1 + vertex -20.7318 22.8633 -0.2 + vertex -20.1671 19.4139 -0.2 + vertex -19.3158 23.0662 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.5474 22.7309 -0.1 - vertex -20.1671 19.4139 -0.1 - vertex -20.7318 22.8633 -0.1 + vertex -21.5474 22.7309 -0.2 + vertex -20.1671 19.4139 -0.2 + vertex -20.7318 22.8633 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.1849 19.2007 -0.1 - vertex -21.5474 22.7309 -0.1 - vertex -21.6404 22.7266 -0.1 + vertex -22.1849 19.2007 -0.2 + vertex -21.5474 22.7309 -0.2 + vertex -21.6404 22.7266 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.1849 19.2007 -0.1 - vertex -21.6404 22.7266 -0.1 - vertex -21.755 22.7463 -0.1 + vertex -22.1849 19.2007 -0.2 + vertex -21.6404 22.7266 -0.2 + vertex -21.755 22.7463 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.1849 19.2007 -0.1 - vertex -21.755 22.7463 -0.1 - vertex -22.0315 22.8497 -0.1 + vertex -22.1849 19.2007 -0.2 + vertex -21.755 22.7463 -0.2 + vertex -22.0315 22.8497 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.5474 22.7309 -0.1 - vertex -22.1849 19.2007 -0.1 - vertex -20.1671 19.4139 -0.1 + vertex -21.5474 22.7309 -0.2 + vertex -22.1849 19.2007 -0.2 + vertex -20.1671 19.4139 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.3422 23.0246 -0.1 - vertex -22.1849 19.2007 -0.1 - vertex -22.0315 22.8497 -0.1 + vertex -22.3422 23.0246 -0.2 + vertex -22.1849 19.2007 -0.2 + vertex -22.0315 22.8497 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.1455 19.0472 -0.1 - vertex -22.3422 23.0246 -0.1 - vertex -22.6524 23.2546 -0.1 + vertex -24.1455 19.0472 -0.2 + vertex -22.3422 23.0246 -0.2 + vertex -22.6524 23.2546 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.1455 19.0472 -0.1 - vertex -22.6524 23.2546 -0.1 - vertex -23.3692 23.8604 -0.1 + vertex -24.1455 19.0472 -0.2 + vertex -22.6524 23.2546 -0.2 + vertex -23.3692 23.8604 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.3422 23.0246 -0.1 - vertex -24.1455 19.0472 -0.1 - vertex -22.1849 19.2007 -0.1 + vertex -22.3422 23.0246 -0.2 + vertex -24.1455 19.0472 -0.2 + vertex -22.1849 19.2007 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.10332 38.557 -0.1 - vertex 5.26494 38.4452 -0.1 - vertex 5.23504 38.5484 -0.1 + vertex 5.10332 38.557 -0.2 + vertex 5.26494 38.4452 -0.2 + vertex 5.23504 38.5484 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.26494 38.4452 -0.1 - vertex 5.01738 38.4749 -0.1 - vertex 5.25596 38.2865 -0.1 + vertex 5.26494 38.4452 -0.2 + vertex 5.01738 38.4749 -0.2 + vertex 5.25596 38.2865 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.10332 38.557 -0.1 - vertex 5.23504 38.5484 -0.1 - vertex 5.20457 38.5758 -0.1 + vertex 5.10332 38.557 -0.2 + vertex 5.23504 38.5484 -0.2 + vertex 5.20457 38.5758 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.10332 38.557 -0.1 - vertex 5.20457 38.5758 -0.1 - vertex 5.16325 38.5852 -0.1 + vertex 5.10332 38.557 -0.2 + vertex 5.20457 38.5758 -0.2 + vertex 5.16325 38.5852 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.26494 38.4452 -0.1 - vertex 5.10332 38.557 -0.1 - vertex 5.01738 38.4749 -0.1 + vertex 5.26494 38.4452 -0.2 + vertex 5.10332 38.557 -0.2 + vertex 5.01738 38.4749 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.25596 38.2865 -0.1 - vertex 5.01738 38.4749 -0.1 - vertex 5.21112 38.083 -0.1 + vertex 5.25596 38.2865 -0.2 + vertex 5.01738 38.4749 -0.2 + vertex 5.21112 38.083 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.77727 38.1658 -0.1 - vertex 5.21112 38.083 -0.1 - vertex 5.01738 38.4749 -0.1 + vertex 4.77727 38.1658 -0.2 + vertex 5.21112 38.083 -0.2 + vertex 5.01738 38.4749 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.21112 38.083 -0.1 - vertex 4.77727 38.1658 -0.1 - vertex 5.13345 37.8458 -0.1 + vertex 5.21112 38.083 -0.2 + vertex 4.77727 38.1658 -0.2 + vertex 5.13345 37.8458 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.13345 37.8458 -0.1 - vertex 4.77727 38.1658 -0.1 - vertex 5.02596 37.5856 -0.1 + vertex 5.13345 37.8458 -0.2 + vertex 4.77727 38.1658 -0.2 + vertex 5.02596 37.5856 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.46246 37.6912 -0.1 - vertex 5.02596 37.5856 -0.1 - vertex 4.77727 38.1658 -0.1 + vertex 4.46246 37.6912 -0.2 + vertex 5.02596 37.5856 -0.2 + vertex 4.77727 38.1658 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.02596 37.5856 -0.1 - vertex 4.46246 37.6912 -0.1 - vertex 4.89167 37.3134 -0.1 + vertex 5.02596 37.5856 -0.2 + vertex 4.46246 37.6912 -0.2 + vertex 4.89167 37.3134 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.89167 37.3134 -0.1 - vertex 4.46246 37.6912 -0.1 - vertex 4.73361 37.0399 -0.1 + vertex 4.89167 37.3134 -0.2 + vertex 4.46246 37.6912 -0.2 + vertex 4.73361 37.0399 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.09252 37.0842 -0.1 - vertex 4.73361 37.0399 -0.1 - vertex 4.46246 37.6912 -0.1 + vertex 4.09252 37.0842 -0.2 + vertex 4.73361 37.0399 -0.2 + vertex 4.46246 37.6912 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.73361 37.0399 -0.1 - vertex 4.09252 37.0842 -0.1 - vertex 4.62814 36.8484 -0.1 + vertex 4.73361 37.0399 -0.2 + vertex 4.09252 37.0842 -0.2 + vertex 4.62814 36.8484 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.62814 36.8484 -0.1 - vertex 4.09252 37.0842 -0.1 - vertex 4.52293 36.6141 -0.1 + vertex 4.62814 36.8484 -0.2 + vertex 4.09252 37.0842 -0.2 + vertex 4.52293 36.6141 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.68699 36.3778 -0.1 - vertex 4.52293 36.6141 -0.1 - vertex 4.09252 37.0842 -0.1 + vertex 3.68699 36.3778 -0.2 + vertex 4.52293 36.6141 -0.2 + vertex 4.09252 37.0842 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.52293 36.6141 -0.1 - vertex 3.68699 36.3778 -0.1 - vertex 4.31688 36.0346 -0.1 + vertex 4.52293 36.6141 -0.2 + vertex 3.68699 36.3778 -0.2 + vertex 4.31688 36.0346 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.26543 35.6052 -0.1 - vertex 4.31688 36.0346 -0.1 - vertex 3.68699 36.3778 -0.1 + vertex 3.26543 35.6052 -0.2 + vertex 4.31688 36.0346 -0.2 + vertex 3.68699 36.3778 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.31688 36.0346 -0.1 - vertex 3.26543 35.6052 -0.1 - vertex 4.1227 35.3375 -0.1 + vertex 4.31688 36.0346 -0.2 + vertex 3.26543 35.6052 -0.2 + vertex 4.1227 35.3375 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.1227 35.3375 -0.1 - vertex 3.26543 35.6052 -0.1 - vertex 3.94762 34.5584 -0.1 + vertex 4.1227 35.3375 -0.2 + vertex 3.26543 35.6052 -0.2 + vertex 3.94762 34.5584 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 2.84738 34.7996 -0.1 - vertex 3.94762 34.5584 -0.1 - vertex 3.26543 35.6052 -0.1 + vertex 2.84738 34.7996 -0.2 + vertex 3.94762 34.5584 -0.2 + vertex 3.26543 35.6052 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.94762 34.5584 -0.1 - vertex 2.84738 34.7996 -0.1 - vertex 3.79886 33.7332 -0.1 + vertex 3.94762 34.5584 -0.2 + vertex 2.84738 34.7996 -0.2 + vertex 3.79886 33.7332 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 2.4524 33.9939 -0.1 - vertex 3.79886 33.7332 -0.1 - vertex 2.84738 34.7996 -0.1 + vertex 2.4524 33.9939 -0.2 + vertex 3.79886 33.7332 -0.2 + vertex 2.84738 34.7996 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.79886 33.7332 -0.1 - vertex 2.4524 33.9939 -0.1 - vertex 3.68366 32.8976 -0.1 + vertex 3.79886 33.7332 -0.2 + vertex 2.4524 33.9939 -0.2 + vertex 3.68366 32.8976 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 2.10958 33.2371 -0.1 - vertex 3.68366 32.8976 -0.1 - vertex 2.4524 33.9939 -0.1 + vertex 2.10958 33.2371 -0.2 + vertex 3.68366 32.8976 -0.2 + vertex 2.4524 33.9939 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.68366 32.8976 -0.1 - vertex 2.10958 33.2371 -0.1 - vertex 3.60924 32.0876 -0.1 + vertex 3.68366 32.8976 -0.2 + vertex 2.10958 33.2371 -0.2 + vertex 3.60924 32.0876 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.81903 32.5199 -0.1 - vertex 3.60924 32.0876 -0.1 - vertex 2.10958 33.2371 -0.1 + vertex 1.81903 32.5199 -0.2 + vertex 3.60924 32.0876 -0.2 + vertex 2.10958 33.2371 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.27855 5.76024 -0.1 - vertex 1.91748 12.4352 -0.1 - vertex 4.285 6.1855 -0.1 + vertex 5.27855 5.76024 -0.2 + vertex 1.91748 12.4352 -0.2 + vertex 4.285 6.1855 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.57871 31.8344 -0.1 - vertex 3.60924 32.0876 -0.1 - vertex 1.81903 32.5199 -0.1 + vertex 1.57871 31.8344 -0.2 + vertex 3.60924 32.0876 -0.2 + vertex 1.81903 32.5199 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.88346 12.344 -0.1 - vertex 4.285 6.1855 -0.1 - vertex 1.91748 12.4352 -0.1 + vertex 1.88346 12.344 -0.2 + vertex 4.285 6.1855 -0.2 + vertex 1.91748 12.4352 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.285 6.1855 -0.1 - vertex 1.88346 12.344 -0.1 - vertex 3.31149 6.57517 -0.1 + vertex 4.285 6.1855 -0.2 + vertex 1.88346 12.344 -0.2 + vertex 3.31149 6.57517 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.81906 12.2515 -0.1 - vertex 3.31149 6.57517 -0.1 - vertex 1.88346 12.344 -0.1 + vertex 1.81906 12.2515 -0.2 + vertex 3.31149 6.57517 -0.2 + vertex 1.88346 12.344 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.72214 12.1537 -0.1 - vertex 3.31149 6.57517 -0.1 - vertex 1.81906 12.2515 -0.1 + vertex 1.72214 12.1537 -0.2 + vertex 3.31149 6.57517 -0.2 + vertex 1.81906 12.2515 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.31149 6.57517 -0.1 - vertex 1.72214 12.1537 -0.1 - vertex 2.42084 6.9015 -0.1 + vertex 3.31149 6.57517 -0.2 + vertex 1.72214 12.1537 -0.2 + vertex 2.42084 6.9015 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 1.42228 11.926 -0.1 - vertex 2.42084 6.9015 -0.1 - vertex 1.72214 12.1537 -0.1 + vertex 1.42228 11.926 -0.2 + vertex 2.42084 6.9015 -0.2 + vertex 1.72214 12.1537 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.42084 6.9015 -0.1 - vertex 1.42228 11.926 -0.1 - vertex 1.67583 7.13679 -0.1 + vertex 2.42084 6.9015 -0.2 + vertex 1.42228 11.926 -0.2 + vertex 1.67583 7.13679 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.986004 11.656 -0.1 - vertex 1.67583 7.13679 -0.1 - vertex 1.42228 11.926 -0.1 + vertex 0.986004 11.656 -0.2 + vertex 1.67583 7.13679 -0.2 + vertex 1.42228 11.926 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.67583 7.13679 -0.1 - vertex 0.986004 11.656 -0.1 - vertex 1.30727 7.25861 -0.1 + vertex 1.67583 7.13679 -0.2 + vertex 0.986004 11.656 -0.2 + vertex 1.30727 7.25861 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.986004 11.656 -0.1 - vertex 0.855811 7.43981 -0.1 - vertex 1.30727 7.25861 -0.1 + vertex 0.986004 11.656 -0.2 + vertex 0.855811 7.43981 -0.2 + vertex 1.30727 7.25861 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.546849 11.4454 -0.1 - vertex 0.855811 7.43981 -0.1 - vertex 0.986004 11.656 -0.1 + vertex 0.546849 11.4454 -0.2 + vertex 0.855811 7.43981 -0.2 + vertex 0.986004 11.656 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.23691 7.94665 -0.1 - vertex 0.546849 11.4454 -0.1 - vertex 0.0942225 11.293 -0.1 + vertex -0.23691 7.94665 -0.2 + vertex 0.546849 11.4454 -0.2 + vertex 0.0942225 11.293 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.546849 11.4454 -0.1 - vertex -0.23691 7.94665 -0.1 - vertex 0.855811 7.43981 -0.1 + vertex 0.546849 11.4454 -0.2 + vertex -0.23691 7.94665 -0.2 + vertex 0.855811 7.43981 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -0.382462 11.1972 -0.1 - vertex -0.23691 7.94665 -0.1 - vertex 0.0942225 11.293 -0.1 + vertex -0.382462 11.1972 -0.2 + vertex -0.23691 7.94665 -0.2 + vertex 0.0942225 11.293 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.48458 8.58988 -0.1 - vertex -0.382462 11.1972 -0.1 - vertex -0.893798 11.1566 -0.1 + vertex -1.48458 8.58988 -0.2 + vertex -0.382462 11.1972 -0.2 + vertex -0.893798 11.1566 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.48458 8.58988 -0.1 - vertex -0.893798 11.1566 -0.1 - vertex -1.45038 11.1697 -0.1 + vertex -1.48458 8.58988 -0.2 + vertex -0.893798 11.1566 -0.2 + vertex -1.45038 11.1697 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.382462 11.1972 -0.1 - vertex -1.48458 8.58988 -0.1 - vertex -0.23691 7.94665 -0.1 + vertex -0.382462 11.1972 -0.2 + vertex -1.48458 8.58988 -0.2 + vertex -0.23691 7.94665 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.76946 9.30203 -0.1 - vertex -1.45038 11.1697 -0.1 - vertex -2.06279 11.235 -0.1 + vertex -2.76946 9.30203 -0.2 + vertex -1.45038 11.1697 -0.2 + vertex -2.06279 11.235 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.76946 9.30203 -0.1 - vertex -2.06279 11.235 -0.1 - vertex -2.74162 11.3511 -0.1 + vertex -2.76946 9.30203 -0.2 + vertex -2.06279 11.235 -0.2 + vertex -2.74162 11.3511 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.45038 11.1697 -0.1 - vertex -2.76946 9.30203 -0.1 - vertex -1.48458 8.58988 -0.1 + vertex -1.45038 11.1697 -0.2 + vertex -2.76946 9.30203 -0.2 + vertex -1.48458 8.58988 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.97378 10.0157 -0.1 - vertex -2.74162 11.3511 -0.1 - vertex -3.43924 11.4799 -0.1 + vertex -3.97378 10.0157 -0.2 + vertex -2.74162 11.3511 -0.2 + vertex -3.43924 11.4799 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -2.74162 11.3511 -0.1 - vertex -3.97378 10.0157 -0.1 - vertex -2.76946 9.30203 -0.1 + vertex -2.74162 11.3511 -0.2 + vertex -3.97378 10.0157 -0.2 + vertex -2.76946 9.30203 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.06319 11.5774 -0.1 - vertex -3.97378 10.0157 -0.1 - vertex -3.43924 11.4799 -0.1 + vertex -4.06319 11.5774 -0.2 + vertex -3.97378 10.0157 -0.2 + vertex -3.43924 11.4799 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.9798 10.6633 -0.1 - vertex -4.06319 11.5774 -0.1 - vertex -4.60751 11.6434 -0.1 + vertex -4.9798 10.6633 -0.2 + vertex -4.06319 11.5774 -0.2 + vertex -4.60751 11.6434 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -4.06319 11.5774 -0.1 - vertex -4.9798 10.6633 -0.1 - vertex -3.97378 10.0157 -0.1 + vertex -4.06319 11.5774 -0.2 + vertex -4.9798 10.6633 -0.2 + vertex -3.97378 10.0157 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.06624 11.6776 -0.1 - vertex -4.9798 10.6633 -0.1 - vertex -4.60751 11.6434 -0.1 + vertex -5.06624 11.6776 -0.2 + vertex -4.9798 10.6633 -0.2 + vertex -4.60751 11.6434 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.06624 11.6776 -0.1 - vertex -5.37165 10.9414 -0.1 - vertex -4.9798 10.6633 -0.1 + vertex -5.06624 11.6776 -0.2 + vertex -5.37165 10.9414 -0.2 + vertex -4.9798 10.6633 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.4334 11.6797 -0.1 - vertex -5.37165 10.9414 -0.1 - vertex -5.06624 11.6776 -0.1 + vertex -5.4334 11.6797 -0.2 + vertex -5.37165 10.9414 -0.2 + vertex -5.06624 11.6776 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.4334 11.6797 -0.1 - vertex -5.66976 11.1776 -0.1 - vertex -5.37165 10.9414 -0.1 + vertex -5.4334 11.6797 -0.2 + vertex -5.66976 11.1776 -0.2 + vertex -5.37165 10.9414 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -5.70304 11.6495 -0.1 - vertex -5.66976 11.1776 -0.1 - vertex -5.4334 11.6797 -0.1 + vertex -5.70304 11.6495 -0.2 + vertex -5.66976 11.1776 -0.2 + vertex -5.4334 11.6797 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.85942 11.3636 -0.1 - vertex -5.70304 11.6495 -0.1 - vertex -5.79943 11.6221 -0.1 + vertex -5.85942 11.3636 -0.2 + vertex -5.70304 11.6495 -0.2 + vertex -5.79943 11.6221 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.70304 11.6495 -0.1 - vertex -5.85942 11.3636 -0.1 - vertex -5.66976 11.1776 -0.1 + vertex -5.70304 11.6495 -0.2 + vertex -5.85942 11.3636 -0.2 + vertex -5.66976 11.1776 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -5.8692 11.5867 -0.1 - vertex -5.85942 11.3636 -0.1 - vertex -5.79943 11.6221 -0.1 + vertex -5.8692 11.5867 -0.2 + vertex -5.85942 11.3636 -0.2 + vertex -5.79943 11.6221 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.8692 11.5867 -0.1 - vertex -5.90899 11.4352 -0.1 - vertex -5.85942 11.3636 -0.1 + vertex -5.8692 11.5867 -0.2 + vertex -5.90899 11.4352 -0.2 + vertex -5.85942 11.3636 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -5.91161 11.5429 -0.1 - vertex -5.90899 11.4352 -0.1 - vertex -5.8692 11.5867 -0.1 + vertex -5.91161 11.5429 -0.2 + vertex -5.90899 11.4352 -0.2 + vertex -5.8692 11.5867 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.90899 11.4352 -0.1 - vertex -5.91161 11.5429 -0.1 - vertex -5.92592 11.491 -0.1 + vertex -5.90899 11.4352 -0.2 + vertex -5.91161 11.5429 -0.2 + vertex -5.92592 11.491 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.51759 -4.36865 -0.1 - vertex 8.0755 -3.36119 -0.1 - vertex 7.75455 -3.09522 -0.1 + vertex 6.51759 -4.36865 -0.2 + vertex 8.0755 -3.36119 -0.2 + vertex 7.75455 -3.09522 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.2523 -4.01644 -0.1 - vertex 7.75455 -3.09522 -0.1 - vertex 7.10115 -2.48513 -0.1 + vertex 6.2523 -4.01644 -0.2 + vertex 7.75455 -3.09522 -0.2 + vertex 7.10115 -2.48513 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.70978 -3.81721 -0.1 - vertex 7.04277 -4.97268 -0.1 - vertex 7.809 -5.75259 -0.1 + vertex 8.70978 -3.81721 -0.2 + vertex 7.04277 -4.97268 -0.2 + vertex 7.809 -5.75259 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.0755 -3.36119 -0.1 - vertex 6.78219 -4.68956 -0.1 - vertex 7.04277 -4.97268 -0.1 + vertex 8.0755 -3.36119 -0.2 + vertex 6.78219 -4.68956 -0.2 + vertex 7.04277 -4.97268 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.0755 -3.36119 -0.1 - vertex 6.51759 -4.36865 -0.1 - vertex 6.78219 -4.68956 -0.1 + vertex 8.0755 -3.36119 -0.2 + vertex 6.51759 -4.36865 -0.2 + vertex 6.78219 -4.68956 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.48552 -2.8367 -0.1 - vertex 7.10115 -2.48513 -0.1 - vertex 6.42718 -1.76788 -0.1 + vertex 5.48552 -2.8367 -0.2 + vertex 7.10115 -2.48513 -0.2 + vertex 6.42718 -1.76788 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.75455 -3.09522 -0.1 - vertex 6.2523 -4.01644 -0.1 - vertex 6.51759 -4.36865 -0.1 + vertex 7.75455 -3.09522 -0.2 + vertex 6.2523 -4.01644 -0.2 + vertex 6.51759 -4.36865 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.10115 -2.48513 -0.1 - vertex 5.98964 -3.63939 -0.1 - vertex 6.2523 -4.01644 -0.1 + vertex 7.10115 -2.48513 -0.2 + vertex 5.98964 -3.63939 -0.2 + vertex 6.2523 -4.01644 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.03179 -2.01239 -0.1 - vertex 6.42718 -1.76788 -0.1 - vertex 5.79491 -1.04264 -0.1 + vertex 5.03179 -2.01239 -0.2 + vertex 6.42718 -1.76788 -0.2 + vertex 5.79491 -1.04264 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.10115 -2.48513 -0.1 - vertex 5.48552 -2.8367 -0.1 - vertex 5.98964 -3.63939 -0.1 + vertex 7.10115 -2.48513 -0.2 + vertex 5.48552 -2.8367 -0.2 + vertex 5.98964 -3.63939 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.65505 -1.21825 -0.1 - vertex 5.79491 -1.04264 -0.1 - vertex 5.24358 -0.384283 -0.1 + vertex 4.65505 -1.21825 -0.2 + vertex 5.79491 -1.04264 -0.2 + vertex 5.24358 -0.384283 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.42718 -1.76788 -0.1 - vertex 5.03179 -2.01239 -0.1 - vertex 5.48552 -2.8367 -0.1 + vertex 6.42718 -1.76788 -0.2 + vertex 5.03179 -2.01239 -0.2 + vertex 5.48552 -2.8367 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.38188 -0.506111 -0.1 - vertex 5.24358 -0.384283 -0.1 - vertex 4.83246 0.134689 -0.1 + vertex 4.38188 -0.506111 -0.2 + vertex 5.24358 -0.384283 -0.2 + vertex 4.83246 0.134689 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.79491 -1.04264 -0.1 - vertex 4.65505 -1.21825 -0.1 - vertex 5.03179 -2.01239 -0.1 + vertex 5.79491 -1.04264 -0.2 + vertex 4.65505 -1.21825 -0.2 + vertex 5.03179 -2.01239 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.23886 0.0722368 -0.1 - vertex 4.83246 0.134689 -0.1 - vertex 4.62083 0.441773 -0.1 + vertex 4.23886 0.0722368 -0.2 + vertex 4.83246 0.134689 -0.2 + vertex 4.62083 0.441773 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.24358 -0.384283 -0.1 - vertex 4.50386 -0.848697 -0.1 - vertex 4.65505 -1.21825 -0.1 + vertex 5.24358 -0.384283 -0.2 + vertex 4.50386 -0.848697 -0.2 + vertex 4.65505 -1.21825 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.25257 0.464986 -0.1 - vertex 4.62083 0.441773 -0.1 - vertex 4.49221 0.674515 -0.1 + vertex 4.25257 0.464986 -0.2 + vertex 4.62083 0.441773 -0.2 + vertex 4.49221 0.674515 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.33872 0.684191 -0.1 - vertex 4.49221 0.674515 -0.1 - vertex 4.44662 0.733548 -0.1 + vertex 4.33872 0.684191 -0.2 + vertex 4.49221 0.674515 -0.2 + vertex 4.44662 0.733548 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.3737 0.738144 -0.1 - vertex 4.44662 0.733548 -0.1 - vertex 4.40839 0.754677 -0.1 + vertex 4.3737 0.738144 -0.2 + vertex 4.44662 0.733548 -0.2 + vertex 4.40839 0.754677 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.24358 -0.384283 -0.1 - vertex 4.38188 -0.506111 -0.1 - vertex 4.50386 -0.848697 -0.1 + vertex 5.24358 -0.384283 -0.2 + vertex 4.38188 -0.506111 -0.2 + vertex 4.50386 -0.848697 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.44662 0.733548 -0.1 - vertex 4.3737 0.738144 -0.1 - vertex 4.33872 0.684191 -0.1 + vertex 4.44662 0.733548 -0.2 + vertex 4.3737 0.738144 -0.2 + vertex 4.33872 0.684191 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.49221 0.674515 -0.1 - vertex 4.33872 0.684191 -0.1 - vertex 4.25257 0.464986 -0.1 + vertex 4.49221 0.674515 -0.2 + vertex 4.33872 0.684191 -0.2 + vertex 4.25257 0.464986 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.83246 0.134689 -0.1 - vertex 4.29244 -0.196974 -0.1 - vertex 4.38188 -0.506111 -0.1 + vertex 4.83246 0.134689 -0.2 + vertex 4.29244 -0.196974 -0.2 + vertex 4.38188 -0.506111 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.62083 0.441773 -0.1 - vertex 4.25257 0.464986 -0.1 - vertex 4.22446 0.295049 -0.1 + vertex 4.62083 0.441773 -0.2 + vertex 4.25257 0.464986 -0.2 + vertex 4.22446 0.295049 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.83246 0.134689 -0.1 - vertex 4.23886 0.0722368 -0.1 - vertex 4.29244 -0.196974 -0.1 + vertex 4.83246 0.134689 -0.2 + vertex 4.23886 0.0722368 -0.2 + vertex 4.29244 -0.196974 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.62083 0.441773 -0.1 - vertex 4.22446 0.295049 -0.1 - vertex 4.23886 0.0722368 -0.1 + vertex 4.62083 0.441773 -0.2 + vertex 4.22446 0.295049 -0.2 + vertex 4.23886 0.0722368 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.0092 9.15168 -0.1 - vertex 8.87708 15.8492 -0.1 - vertex 14.9543 8.95485 -0.1 + vertex 15.0092 9.15168 -0.2 + vertex 8.87708 15.8492 -0.2 + vertex 14.9543 8.95485 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.2183 5.95043 -0.1 - vertex 9.61741 3.25086 -0.1 - vertex 10.5842 2.40247 -0.1 + vertex 15.2183 5.95043 -0.2 + vertex 9.61741 3.25086 -0.2 + vertex 10.5842 2.40247 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.1095 6.5543 -0.1 - vertex 9.29624 3.50894 -0.1 - vertex 9.61741 3.25086 -0.1 + vertex 15.1095 6.5543 -0.2 + vertex 9.29624 3.50894 -0.2 + vertex 9.61741 3.25086 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 14.9543 8.95485 -0.1 - vertex 8.87708 15.8492 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 14.9543 8.95485 -0.2 + vertex 8.87708 15.8492 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.0249 7.13954 -0.1 - vertex 9.14614 3.60373 -0.1 - vertex 9.29624 3.50894 -0.1 + vertex 15.0249 7.13954 -0.2 + vertex 9.14614 3.60373 -0.2 + vertex 9.29624 3.50894 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.9668 7.69881 -0.1 - vertex 8.19732 4.25764 -0.1 - vertex 8.81858 3.79581 -0.1 + vertex 14.9668 7.69881 -0.2 + vertex 8.19732 4.25764 -0.2 + vertex 8.81858 3.79581 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.9543 8.95485 -0.1 - vertex 7.07462 4.9138 -0.1 - vertex 14.9262 8.72903 -0.1 + vertex 14.9543 8.95485 -0.2 + vertex 7.07462 4.9138 -0.2 + vertex 14.9262 8.72903 -0.2 endloop endfacet facet normal 0 -0 1 outer loop - vertex 7.75154 4.54807 -0.1 - vertex 14.9262 8.72903 -0.1 - vertex 7.07462 4.9138 -0.1 + vertex 7.75154 4.54807 -0.2 + vertex 14.9262 8.72903 -0.2 + vertex 7.07462 4.9138 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 8.87708 15.8492 -0.1 - vertex 8.83337 15.875 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 8.87708 15.8492 -0.2 + vertex 8.83337 15.875 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.14614 3.60373 -0.1 - vertex 8.81858 3.79581 -0.1 - vertex 9.03464 3.65533 -0.1 + vertex 9.14614 3.60373 -0.2 + vertex 8.81858 3.79581 -0.2 + vertex 9.03464 3.65533 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 8.83337 15.875 -0.1 - vertex 8.76553 15.9481 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 8.83337 15.875 -0.2 + vertex 8.76553 15.9481 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 8.76553 15.9481 -0.1 - vertex 8.57086 16.213 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 8.76553 15.9481 -0.2 + vertex 8.57086 16.213 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.9668 7.69881 -0.1 - vertex 8.81858 3.79581 -0.1 - vertex 9.14614 3.60373 -0.1 + vertex 14.9668 7.69881 -0.2 + vertex 8.81858 3.79581 -0.2 + vertex 9.14614 3.60373 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 8.57086 16.213 -0.1 - vertex 8.03973 17.0592 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 8.57086 16.213 -0.2 + vertex 8.03973 17.0592 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.9212 8.45633 -0.1 - vertex 8.00725 4.39171 -0.1 - vertex 8.19732 4.25764 -0.1 + vertex 14.9212 8.45633 -0.2 + vertex 8.00725 4.39171 -0.2 + vertex 8.19732 4.25764 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.9212 8.45633 -0.1 - vertex 7.75154 4.54807 -0.1 - vertex 8.00725 4.39171 -0.1 + vertex 14.9212 8.45633 -0.2 + vertex 7.75154 4.54807 -0.2 + vertex 8.00725 4.39171 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 8.03973 17.0592 -0.1 - vertex 7.49889 18.0241 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 8.03973 17.0592 -0.2 + vertex 7.49889 18.0241 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 7.49889 18.0241 -0.1 - vertex 7.29207 18.4374 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 7.49889 18.0241 -0.2 + vertex 7.29207 18.4374 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 7.29207 18.4374 -0.1 - vertex 7.16351 18.7442 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 7.29207 18.4374 -0.2 + vertex 7.16351 18.7442 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 7.16351 18.7442 -0.1 - vertex 7.1273 18.8927 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 7.16351 18.7442 -0.2 + vertex 7.1273 18.8927 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 14.9262 8.72903 -0.1 - vertex 7.75154 4.54807 -0.1 - vertex 14.9212 8.45633 -0.1 + vertex 14.9262 8.72903 -0.2 + vertex 7.75154 4.54807 -0.2 + vertex 14.9212 8.45633 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.07462 4.9138 -0.1 - vertex 7.1273 18.8927 -0.1 - vertex 7.1242 19.0144 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 7.1273 18.8927 -0.2 + vertex 7.1242 19.0144 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -11.1091 19.5935 -0.1 - vertex -9.25643 14.3812 -0.1 - vertex -10.9948 19.7221 -0.1 + vertex -11.1091 19.5935 -0.2 + vertex -9.25643 14.3812 -0.2 + vertex -10.9948 19.7221 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -11.4702 19.2748 -0.1 - vertex -9.25643 14.3812 -0.1 - vertex -11.1091 19.5935 -0.1 + vertex -11.4702 19.2748 -0.2 + vertex -9.25643 14.3812 -0.2 + vertex -11.1091 19.5935 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.25643 14.3812 -0.1 - vertex -11.4702 19.2748 -0.1 - vertex -9.98725 14.3241 -0.1 + vertex -9.25643 14.3812 -0.2 + vertex -11.4702 19.2748 -0.2 + vertex -9.98725 14.3241 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -12.0016 18.8648 -0.1 - vertex -9.98725 14.3241 -0.1 - vertex -11.4702 19.2748 -0.1 + vertex -12.0016 18.8648 -0.2 + vertex -9.98725 14.3241 -0.2 + vertex -11.4702 19.2748 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -9.98725 14.3241 -0.1 - vertex -12.0016 18.8648 -0.1 - vertex -10.6249 14.238 -0.1 + vertex -9.98725 14.3241 -0.2 + vertex -12.0016 18.8648 -0.2 + vertex -10.6249 14.238 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -10.6249 14.238 -0.1 - vertex -12.0016 18.8648 -0.1 - vertex -11.2428 14.1101 -0.1 + vertex -10.6249 14.238 -0.2 + vertex -12.0016 18.8648 -0.2 + vertex -11.2428 14.1101 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -13.8225 17.5152 -0.1 - vertex -11.2428 14.1101 -0.1 - vertex -12.0016 18.8648 -0.1 + vertex -13.8225 17.5152 -0.2 + vertex -11.2428 14.1101 -0.2 + vertex -12.0016 18.8648 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.2428 14.1101 -0.1 - vertex -13.8225 17.5152 -0.1 - vertex -11.9142 13.9281 -0.1 + vertex -11.2428 14.1101 -0.2 + vertex -13.8225 17.5152 -0.2 + vertex -11.9142 13.9281 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -11.9142 13.9281 -0.1 - vertex -13.8225 17.5152 -0.1 - vertex -12.7125 13.6795 -0.1 + vertex -11.9142 13.9281 -0.2 + vertex -13.8225 17.5152 -0.2 + vertex -12.7125 13.6795 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.4648 17.0612 -0.1 - vertex -12.7125 13.6795 -0.1 - vertex -13.8225 17.5152 -0.1 + vertex -14.4648 17.0612 -0.2 + vertex -12.7125 13.6795 -0.2 + vertex -13.8225 17.5152 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -14.9972 16.7116 -0.1 - vertex -12.7125 13.6795 -0.1 - vertex -14.4648 17.0612 -0.1 + vertex -14.9972 16.7116 -0.2 + vertex -12.7125 13.6795 -0.2 + vertex -14.4648 17.0612 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.7125 13.6795 -0.1 - vertex -14.9972 16.7116 -0.1 - vertex -13.7109 13.3517 -0.1 + vertex -12.7125 13.6795 -0.2 + vertex -14.9972 16.7116 -0.2 + vertex -13.7109 13.3517 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.4716 16.4339 -0.1 - vertex -13.7109 13.3517 -0.1 - vertex -14.9972 16.7116 -0.1 + vertex -15.4716 16.4339 -0.2 + vertex -13.7109 13.3517 -0.2 + vertex -14.9972 16.7116 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -13.7109 13.3517 -0.1 - vertex -15.4716 16.4339 -0.1 - vertex -14.949 12.9624 -0.1 + vertex -13.7109 13.3517 -0.2 + vertex -15.4716 16.4339 -0.2 + vertex -14.949 12.9624 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -15.9397 16.1961 -0.1 - vertex -14.949 12.9624 -0.1 - vertex -15.4716 16.4339 -0.1 + vertex -15.9397 16.1961 -0.2 + vertex -14.949 12.9624 -0.2 + vertex -15.4716 16.4339 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -16.4531 15.9659 -0.1 - vertex -14.949 12.9624 -0.1 - vertex -15.9397 16.1961 -0.1 + vertex -16.4531 15.9659 -0.2 + vertex -14.949 12.9624 -0.2 + vertex -15.9397 16.1961 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.949 12.9624 -0.1 - vertex -16.4531 15.9659 -0.1 - vertex -16.0795 12.6436 -0.1 + vertex -14.949 12.9624 -0.2 + vertex -16.4531 15.9659 -0.2 + vertex -16.0795 12.6436 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.0637 15.711 -0.1 - vertex -16.0795 12.6436 -0.1 - vertex -16.4531 15.9659 -0.1 + vertex -17.0637 15.711 -0.2 + vertex -16.0795 12.6436 -0.2 + vertex -16.4531 15.9659 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.0795 12.6436 -0.1 - vertex -17.0637 15.711 -0.1 - vertex -16.9775 12.4282 -0.1 + vertex -16.0795 12.6436 -0.2 + vertex -17.0637 15.711 -0.2 + vertex -16.9775 12.4282 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -18.4061 15.1884 -0.1 - vertex -16.9775 12.4282 -0.1 - vertex -17.0637 15.711 -0.1 + vertex -18.4061 15.1884 -0.2 + vertex -16.9775 12.4282 -0.2 + vertex -17.0637 15.711 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.9775 12.4282 -0.1 - vertex -18.4061 15.1884 -0.1 - vertex -17.3003 12.3696 -0.1 + vertex -16.9775 12.4282 -0.2 + vertex -18.4061 15.1884 -0.2 + vertex -17.3003 12.3696 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.3003 12.3696 -0.1 - vertex -18.4061 15.1884 -0.1 - vertex -17.5181 12.3491 -0.1 + vertex -17.3003 12.3696 -0.2 + vertex -18.4061 15.1884 -0.2 + vertex -17.5181 12.3491 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.5181 12.3491 -0.1 - vertex -18.4061 15.1884 -0.1 - vertex -17.9556 12.3221 -0.1 + vertex -17.5181 12.3491 -0.2 + vertex -18.4061 15.1884 -0.2 + vertex -17.9556 12.3221 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.4061 15.1884 -0.1 - vertex -18.5728 12.2484 -0.1 - vertex -17.9556 12.3221 -0.1 + vertex -18.4061 15.1884 -0.2 + vertex -18.5728 12.2484 -0.2 + vertex -17.9556 12.3221 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -19.7213 14.7364 -0.1 - vertex -18.5728 12.2484 -0.1 - vertex -18.4061 15.1884 -0.1 + vertex -19.7213 14.7364 -0.2 + vertex -18.5728 12.2484 -0.2 + vertex -18.4061 15.1884 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -18.5728 12.2484 -0.1 - vertex -19.7213 14.7364 -0.1 - vertex -19.2876 12.1394 -0.1 + vertex -18.5728 12.2484 -0.2 + vertex -19.7213 14.7364 -0.2 + vertex -19.2876 12.1394 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.7213 14.7364 -0.1 - vertex -20.0181 12.0063 -0.1 - vertex -19.2876 12.1394 -0.1 + vertex -19.7213 14.7364 -0.2 + vertex -20.0181 12.0063 -0.2 + vertex -19.2876 12.1394 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -21.0167 14.3533 -0.1 - vertex -20.0181 12.0063 -0.1 - vertex -19.7213 14.7364 -0.1 + vertex -21.0167 14.3533 -0.2 + vertex -20.0181 12.0063 -0.2 + vertex -19.7213 14.7364 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -20.0181 12.0063 -0.1 - vertex -21.0167 14.3533 -0.1 - vertex -20.4772 11.9313 -0.1 + vertex -20.0181 12.0063 -0.2 + vertex -21.0167 14.3533 -0.2 + vertex -20.4772 11.9313 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.0167 14.3533 -0.1 - vertex -21.0446 11.8651 -0.1 - vertex -20.4772 11.9313 -0.1 + vertex -21.0167 14.3533 -0.2 + vertex -21.0446 11.8651 -0.2 + vertex -20.4772 11.9313 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -22.3001 14.0374 -0.1 - vertex -21.0446 11.8651 -0.1 - vertex -21.0167 14.3533 -0.1 + vertex -22.3001 14.0374 -0.2 + vertex -21.0446 11.8651 -0.2 + vertex -21.0167 14.3533 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.3001 14.0374 -0.1 - vertex -22.4311 11.7593 -0.1 - vertex -21.0446 11.8651 -0.1 + vertex -22.3001 14.0374 -0.2 + vertex -22.4311 11.7593 -0.2 + vertex -21.0446 11.8651 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -23.579 13.787 -0.1 - vertex -22.4311 11.7593 -0.1 - vertex -22.3001 14.0374 -0.1 + vertex -23.579 13.787 -0.2 + vertex -22.4311 11.7593 -0.2 + vertex -22.3001 14.0374 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.579 13.787 -0.1 - vertex -24.031 11.6901 -0.1 - vertex -22.4311 11.7593 -0.1 + vertex -23.579 13.787 -0.2 + vertex -24.031 11.6901 -0.2 + vertex -22.4311 11.7593 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -24.8613 13.6003 -0.1 - vertex -24.031 11.6901 -0.1 - vertex -23.579 13.787 -0.1 + vertex -24.8613 13.6003 -0.2 + vertex -24.031 11.6901 -0.2 + vertex -23.579 13.787 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.8613 13.6003 -0.1 - vertex -25.698 11.6586 -0.1 - vertex -24.031 11.6901 -0.1 + vertex -24.8613 13.6003 -0.2 + vertex -25.698 11.6586 -0.2 + vertex -24.031 11.6901 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.1544 13.4758 -0.1 - vertex -25.698 11.6586 -0.1 - vertex -24.8613 13.6003 -0.1 + vertex -26.1544 13.4758 -0.2 + vertex -25.698 11.6586 -0.2 + vertex -24.8613 13.6003 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.1544 13.4758 -0.1 - vertex -27.2855 11.6658 -0.1 - vertex -25.698 11.6586 -0.1 + vertex -26.1544 13.4758 -0.2 + vertex -27.2855 11.6658 -0.2 + vertex -25.698 11.6586 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -27.4661 13.4117 -0.1 - vertex -27.2855 11.6658 -0.1 - vertex -26.1544 13.4758 -0.1 + vertex -27.4661 13.4117 -0.2 + vertex -27.2855 11.6658 -0.2 + vertex -26.1544 13.4758 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.4661 13.4117 -0.1 - vertex -28.647 11.7129 -0.1 - vertex -27.2855 11.6658 -0.1 + vertex -27.4661 13.4117 -0.2 + vertex -28.647 11.7129 -0.2 + vertex -27.2855 11.6658 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -29.0548 13.353 -0.1 - vertex -28.647 11.7129 -0.1 - vertex -27.4661 13.4117 -0.1 + vertex -29.0548 13.353 -0.2 + vertex -28.647 11.7129 -0.2 + vertex -27.4661 13.4117 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.0548 13.353 -0.1 - vertex -29.1973 11.7518 -0.1 - vertex -28.647 11.7129 -0.1 + vertex -29.0548 13.353 -0.2 + vertex -29.1973 11.7518 -0.2 + vertex -28.647 11.7129 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -29.5683 13.309 -0.1 - vertex -29.1973 11.7518 -0.1 - vertex -29.0548 13.353 -0.1 + vertex -29.5683 13.309 -0.2 + vertex -29.1973 11.7518 -0.2 + vertex -29.0548 13.353 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.5683 13.309 -0.1 - vertex -29.6362 11.801 -0.1 - vertex -29.1973 11.7518 -0.1 + vertex -29.5683 13.309 -0.2 + vertex -29.6362 11.801 -0.2 + vertex -29.1973 11.7518 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.3556 12.4664 -0.1 - vertex -29.5683 13.309 -0.1 - vertex -29.9294 13.2465 -0.1 + vertex -30.3556 12.4664 -0.2 + vertex -29.5683 13.309 -0.2 + vertex -29.9294 13.2465 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.5683 13.309 -0.1 - vertex -30.2975 12.2549 -0.1 - vertex -29.6362 11.801 -0.1 + vertex -29.5683 13.309 -0.2 + vertex -30.2975 12.2549 -0.2 + vertex -29.6362 11.801 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.6362 11.801 -0.1 - vertex -30.2975 12.2549 -0.1 - vertex -29.9453 11.8607 -0.1 + vertex -29.6362 11.801 -0.2 + vertex -30.2975 12.2549 -0.2 + vertex -29.9453 11.8607 -0.2 endloop endfacet facet normal -0 -0 1 outer loop - vertex -30.2115 12.0683 -0.1 - vertex -29.9453 11.8607 -0.1 - vertex -30.2975 12.2549 -0.1 + vertex -30.2115 12.0683 -0.2 + vertex -29.9453 11.8607 -0.2 + vertex -30.2975 12.2549 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.377 12.6783 -0.1 - vertex -29.9294 13.2465 -0.1 - vertex -30.1646 13.1588 -0.1 + vertex -30.377 12.6783 -0.2 + vertex -29.9294 13.2465 -0.2 + vertex -30.1646 13.1588 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.9453 11.8607 -0.1 - vertex -30.2115 12.0683 -0.1 - vertex -30.0456 11.8946 -0.1 + vertex -29.9453 11.8607 -0.2 + vertex -30.2115 12.0683 -0.2 + vertex -30.0456 11.8946 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.3621 12.8813 -0.1 - vertex -30.1646 13.1588 -0.1 - vertex -30.2432 13.1034 -0.1 + vertex -30.3621 12.8813 -0.2 + vertex -30.1646 13.1588 -0.2 + vertex -30.2432 13.1034 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.0456 11.8946 -0.1 - vertex -30.2115 12.0683 -0.1 - vertex -30.1065 11.9311 -0.1 + vertex -30.0456 11.8946 -0.2 + vertex -30.2115 12.0683 -0.2 + vertex -30.1065 11.9311 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.3387 12.9655 -0.1 - vertex -30.2432 13.1034 -0.1 - vertex -30.3001 13.0393 -0.1 + vertex -30.3387 12.9655 -0.2 + vertex -30.2432 13.1034 -0.2 + vertex -30.3001 13.0393 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.2432 13.1034 -0.1 - vertex -30.3387 12.9655 -0.1 - vertex -30.3621 12.8813 -0.1 + vertex -30.2432 13.1034 -0.2 + vertex -30.3387 12.9655 -0.2 + vertex -30.3621 12.8813 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.5683 13.309 -0.1 - vertex -30.3556 12.4664 -0.1 - vertex -30.2975 12.2549 -0.1 + vertex -29.5683 13.309 -0.2 + vertex -30.3556 12.4664 -0.2 + vertex -30.2975 12.2549 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.1646 13.1588 -0.1 - vertex -30.3621 12.8813 -0.1 - vertex -30.377 12.6783 -0.1 + vertex -30.1646 13.1588 -0.2 + vertex -30.3621 12.8813 -0.2 + vertex -30.377 12.6783 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.9294 13.2465 -0.1 - vertex -30.377 12.6783 -0.1 - vertex -30.3556 12.4664 -0.1 + vertex -29.9294 13.2465 -0.2 + vertex -30.377 12.6783 -0.2 + vertex -30.3556 12.4664 -0.2 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.053 23.8437 -0.1 - vertex -24.1455 19.0472 -0.1 - vertex -24.6523 24.0122 -0.1 + vertex -26.053 23.8437 -0.2 + vertex -24.1455 19.0472 -0.2 + vertex -24.6523 24.0122 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.1455 19.0472 -0.1 - vertex -26.053 23.8437 -0.1 - vertex -25.9619 18.9589 -0.1 + vertex -24.1455 19.0472 -0.2 + vertex -26.053 23.8437 -0.2 + vertex -25.9619 18.9589 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.3394 21.9725 -0.1 - vertex -26.053 23.8437 -0.1 - vertex -26.7338 23.7794 -0.1 + vertex -28.3394 21.9725 -0.2 + vertex -26.053 23.8437 -0.2 + vertex -26.7338 23.7794 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.053 23.8437 -0.1 - vertex -28.3394 21.9725 -0.1 - vertex -25.9619 18.9589 -0.1 + vertex -26.053 23.8437 -0.2 + vertex -28.3394 21.9725 -0.2 + vertex -25.9619 18.9589 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.3394 21.9725 -0.1 - vertex -26.7338 23.7794 -0.1 - vertex -27.3569 23.7586 -0.1 + vertex -28.3394 21.9725 -0.2 + vertex -26.7338 23.7794 -0.2 + vertex -27.3569 23.7586 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -25.9619 18.9589 -0.1 - vertex -28.3394 21.9725 -0.1 - vertex -26.7887 18.9409 -0.1 + vertex -25.9619 18.9589 -0.2 + vertex -28.3394 21.9725 -0.2 + vertex -26.7887 18.9409 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.3394 21.9725 -0.1 - vertex -27.3569 23.7586 -0.1 - vertex -27.9279 23.7822 -0.1 + vertex -28.3394 21.9725 -0.2 + vertex -27.3569 23.7586 -0.2 + vertex -27.9279 23.7822 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.7887 18.9409 -0.1 - vertex -28.3394 21.9725 -0.1 - vertex -27.5469 18.9414 -0.1 + vertex -26.7887 18.9409 -0.2 + vertex -28.3394 21.9725 -0.2 + vertex -27.5469 18.9414 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.5469 18.9414 -0.1 - vertex -28.3394 21.9725 -0.1 - vertex -28.2256 18.9609 -0.1 + vertex -27.5469 18.9414 -0.2 + vertex -28.3394 21.9725 -0.2 + vertex -28.2256 18.9609 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.0186 22.3563 -0.1 - vertex -27.9279 23.7822 -0.1 - vertex -28.4524 23.8513 -0.1 + vertex -29.0186 22.3563 -0.2 + vertex -27.9279 23.7822 -0.2 + vertex -28.4524 23.8513 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.4321 22.5993 -0.1 - vertex -28.4524 23.8513 -0.1 - vertex -28.9359 23.9669 -0.1 + vertex -29.4321 22.5993 -0.2 + vertex -28.4524 23.8513 -0.2 + vertex -28.9359 23.9669 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.9279 23.7822 -0.1 - vertex -29.0186 22.3563 -0.1 - vertex -28.3394 21.9725 -0.1 + vertex -27.9279 23.7822 -0.2 + vertex -29.0186 22.3563 -0.2 + vertex -28.3394 21.9725 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.7937 22.8325 -0.1 - vertex -28.9359 23.9669 -0.1 - vertex -29.384 24.13 -0.1 + vertex -29.7937 22.8325 -0.2 + vertex -28.9359 23.9669 -0.2 + vertex -29.384 24.13 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.4524 23.8513 -0.1 - vertex -29.4321 22.5993 -0.1 - vertex -29.0186 22.3563 -0.1 + vertex -28.4524 23.8513 -0.2 + vertex -29.4321 22.5993 -0.2 + vertex -29.0186 22.3563 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.9359 23.9669 -0.1 - vertex -29.7937 22.8325 -0.1 - vertex -29.4321 22.5993 -0.1 + vertex -28.9359 23.9669 -0.2 + vertex -29.7937 22.8325 -0.2 + vertex -29.4321 22.5993 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.3761 23.2826 -0.1 - vertex -29.384 24.13 -0.1 - vertex -29.8023 24.3416 -0.1 + vertex -30.3761 23.2826 -0.2 + vertex -29.384 24.13 -0.2 + vertex -29.8023 24.3416 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.384 24.13 -0.1 - vertex -30.1071 23.0591 -0.1 - vertex -29.7937 22.8325 -0.1 + vertex -29.384 24.13 -0.2 + vertex -30.1071 23.0591 -0.2 + vertex -29.7937 22.8325 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.7957 23.7338 -0.1 - vertex -29.8023 24.3416 -0.1 - vertex -30.1964 24.6027 -0.1 + vertex -30.7957 23.7338 -0.2 + vertex -29.8023 24.3416 -0.2 + vertex -30.1964 24.6027 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.384 24.13 -0.1 - vertex -30.3761 23.2826 -0.1 - vertex -30.1071 23.0591 -0.1 + vertex -29.384 24.13 -0.2 + vertex -30.3761 23.2826 -0.2 + vertex -30.1071 23.0591 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.0826 24.213 -0.1 - vertex -30.1964 24.6027 -0.1 - vertex -30.5308 24.8328 -0.1 + vertex -31.0826 24.213 -0.2 + vertex -30.1964 24.6027 -0.2 + vertex -30.5308 24.8328 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.8023 24.3416 -0.1 - vertex -30.6044 23.5064 -0.1 - vertex -30.3761 23.2826 -0.1 + vertex -29.8023 24.3416 -0.2 + vertex -30.6044 23.5064 -0.2 + vertex -30.3761 23.2826 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -29.8023 24.3416 -0.1 - vertex -30.7957 23.7338 -0.1 - vertex -30.6044 23.5064 -0.1 + vertex -29.8023 24.3416 -0.2 + vertex -30.7957 23.7338 -0.2 + vertex -30.6044 23.5064 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.2103 24.5339 -0.1 - vertex -30.5308 24.8328 -0.1 - vertex -30.8055 24.9813 -0.1 + vertex -31.2103 24.5339 -0.2 + vertex -30.5308 24.8328 -0.2 + vertex -30.8055 24.9813 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.1964 24.6027 -0.1 - vertex -30.9539 23.9682 -0.1 - vertex -30.7957 23.7338 -0.1 + vertex -30.1964 24.6027 -0.2 + vertex -30.9539 23.9682 -0.2 + vertex -30.7957 23.7338 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.2656 24.779 -0.1 - vertex -30.8055 24.9813 -0.1 - vertex -31.0185 25.0493 -0.1 + vertex -31.2656 24.779 -0.2 + vertex -30.8055 24.9813 -0.2 + vertex -31.0185 25.0493 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.1964 24.6027 -0.1 - vertex -31.0826 24.213 -0.1 - vertex -30.9539 23.9682 -0.1 + vertex -30.1964 24.6027 -0.2 + vertex -31.0826 24.213 -0.2 + vertex -30.9539 23.9682 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.2668 24.8727 -0.1 - vertex -31.0185 25.0493 -0.1 - vertex -31.1012 25.0533 -0.1 + vertex -31.2668 24.8727 -0.2 + vertex -31.0185 25.0493 -0.2 + vertex -31.1012 25.0533 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.2507 24.9472 -0.1 - vertex -31.1012 25.0533 -0.1 - vertex -31.1676 25.0376 -0.1 + vertex -31.2507 24.9472 -0.2 + vertex -31.1012 25.0533 -0.2 + vertex -31.1676 25.0376 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.5308 24.8328 -0.1 - vertex -31.2103 24.5339 -0.1 - vertex -31.0826 24.213 -0.1 + vertex -30.5308 24.8328 -0.2 + vertex -31.2103 24.5339 -0.2 + vertex -31.0826 24.213 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.2507 24.9472 -0.1 - vertex -31.1676 25.0376 -0.1 - vertex -31.2175 25.0021 -0.1 + vertex -31.2507 24.9472 -0.2 + vertex -31.1676 25.0376 -0.2 + vertex -31.2175 25.0021 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.1012 25.0533 -0.1 - vertex -31.2507 24.9472 -0.1 - vertex -31.2668 24.8727 -0.1 + vertex -31.1012 25.0533 -0.2 + vertex -31.2507 24.9472 -0.2 + vertex -31.2668 24.8727 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.8055 24.9813 -0.1 - vertex -31.2656 24.779 -0.1 - vertex -31.2103 24.5339 -0.1 + vertex -30.8055 24.9813 -0.2 + vertex -31.2656 24.779 -0.2 + vertex -31.2103 24.5339 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.0185 25.0493 -0.1 - vertex -31.2668 24.8727 -0.1 - vertex -31.2656 24.779 -0.1 + vertex -31.0185 25.0493 -0.2 + vertex -31.2668 24.8727 -0.2 + vertex -31.2656 24.779 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.3394 21.9725 -0.1 - vertex -28.8137 19.0002 -0.1 - vertex -28.2256 18.9609 -0.1 + vertex -28.3394 21.9725 -0.2 + vertex -28.8137 19.0002 -0.2 + vertex -28.2256 18.9609 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.3394 21.9725 -0.1 - vertex -29.3006 19.0599 -0.1 - vertex -28.8137 19.0002 -0.1 + vertex -28.3394 21.9725 -0.2 + vertex -29.3006 19.0599 -0.2 + vertex -28.8137 19.0002 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.3394 21.9725 -0.1 - vertex -29.6752 19.1409 -0.1 - vertex -29.3006 19.0599 -0.1 + vertex -28.3394 21.9725 -0.2 + vertex -29.6752 19.1409 -0.2 + vertex -29.3006 19.0599 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.0859 22.0525 -0.1 - vertex -29.6752 19.1409 -0.1 - vertex -28.3394 21.9725 -0.1 + vertex -30.0859 22.0525 -0.2 + vertex -29.6752 19.1409 -0.2 + vertex -28.3394 21.9725 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.5811 19.4165 -0.1 - vertex -30.0859 22.0525 -0.1 - vertex -30.5728 22.0884 -0.1 + vertex -30.5811 19.4165 -0.2 + vertex -30.0859 22.0525 -0.2 + vertex -30.5728 22.0884 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.0859 22.0525 -0.1 - vertex -30.5811 19.4165 -0.1 - vertex -29.6752 19.1409 -0.1 + vertex -30.0859 22.0525 -0.2 + vertex -30.5811 19.4165 -0.2 + vertex -29.6752 19.1409 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.4466 19.7034 -0.1 - vertex -30.5728 22.0884 -0.1 - vertex -31.074 22.1513 -0.1 + vertex -31.4466 19.7034 -0.2 + vertex -30.5728 22.0884 -0.2 + vertex -31.074 22.1513 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.5728 22.0884 -0.1 - vertex -31.4466 19.7034 -0.1 - vertex -30.5811 19.4165 -0.1 + vertex -30.5728 22.0884 -0.2 + vertex -31.4466 19.7034 -0.2 + vertex -30.5811 19.4165 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.271 20.0012 -0.1 - vertex -31.074 22.1513 -0.1 - vertex -31.5861 22.2399 -0.1 + vertex -32.271 20.0012 -0.2 + vertex -31.074 22.1513 -0.2 + vertex -31.5861 22.2399 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.271 20.0012 -0.1 - vertex -31.5861 22.2399 -0.1 - vertex -32.1061 22.3529 -0.1 + vertex -32.271 20.0012 -0.2 + vertex -31.5861 22.2399 -0.2 + vertex -32.1061 22.3529 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.074 22.1513 -0.1 - vertex -32.271 20.0012 -0.1 - vertex -31.4466 19.7034 -0.1 + vertex -31.074 22.1513 -0.2 + vertex -32.271 20.0012 -0.2 + vertex -31.4466 19.7034 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.0533 20.3093 -0.1 - vertex -32.1061 22.3529 -0.1 - vertex -32.6306 22.489 -0.1 + vertex -33.0533 20.3093 -0.2 + vertex -32.1061 22.3529 -0.2 + vertex -32.6306 22.489 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.1061 22.3529 -0.1 - vertex -33.0533 20.3093 -0.1 - vertex -32.271 20.0012 -0.1 + vertex -32.1061 22.3529 -0.2 + vertex -33.0533 20.3093 -0.2 + vertex -32.271 20.0012 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.7926 20.6272 -0.1 - vertex -32.6306 22.489 -0.1 - vertex -33.1564 22.6469 -0.1 + vertex -33.7926 20.6272 -0.2 + vertex -32.6306 22.489 -0.2 + vertex -33.1564 22.6469 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.4881 20.9542 -0.1 - vertex -33.1564 22.6469 -0.1 - vertex -33.6803 22.8253 -0.1 + vertex -34.4881 20.9542 -0.2 + vertex -33.1564 22.6469 -0.2 + vertex -33.6803 22.8253 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.6306 22.489 -0.1 - vertex -33.7926 20.6272 -0.1 - vertex -33.0533 20.3093 -0.1 + vertex -32.6306 22.489 -0.2 + vertex -33.7926 20.6272 -0.2 + vertex -33.0533 20.3093 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.4881 20.9542 -0.1 - vertex -33.6803 22.8253 -0.1 - vertex -34.199 23.023 -0.1 + vertex -34.4881 20.9542 -0.2 + vertex -33.6803 22.8253 -0.2 + vertex -34.199 23.023 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.1564 22.6469 -0.1 - vertex -34.4881 20.9542 -0.1 - vertex -33.7926 20.6272 -0.1 + vertex -33.1564 22.6469 -0.2 + vertex -34.4881 20.9542 -0.2 + vertex -33.7926 20.6272 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.1386 21.2899 -0.1 - vertex -34.199 23.023 -0.1 - vertex -34.7094 23.2385 -0.1 + vertex -35.1386 21.2899 -0.2 + vertex -34.199 23.023 -0.2 + vertex -34.7094 23.2385 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.199 23.023 -0.1 - vertex -35.1386 21.2899 -0.1 - vertex -34.4881 20.9542 -0.1 + vertex -34.199 23.023 -0.2 + vertex -35.1386 21.2899 -0.2 + vertex -34.4881 20.9542 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.7435 21.6336 -0.1 - vertex -34.7094 23.2385 -0.1 - vertex -35.2082 23.4707 -0.1 + vertex -35.7435 21.6336 -0.2 + vertex -34.7094 23.2385 -0.2 + vertex -35.2082 23.4707 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.3017 21.985 -0.1 - vertex -35.2082 23.4707 -0.1 - vertex -35.6921 23.7183 -0.1 + vertex -36.3017 21.985 -0.2 + vertex -35.2082 23.4707 -0.2 + vertex -35.6921 23.7183 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -34.7094 23.2385 -0.1 - vertex -35.7435 21.6336 -0.1 - vertex -35.1386 21.2899 -0.1 + vertex -34.7094 23.2385 -0.2 + vertex -35.7435 21.6336 -0.2 + vertex -35.1386 21.2899 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.8124 22.3433 -0.1 - vertex -35.6921 23.7183 -0.1 - vertex -36.1579 23.9798 -0.1 + vertex -36.8124 22.3433 -0.2 + vertex -35.6921 23.7183 -0.2 + vertex -36.1579 23.9798 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.2082 23.4707 -0.1 - vertex -36.3017 21.985 -0.1 - vertex -35.7435 21.6336 -0.1 + vertex -35.2082 23.4707 -0.2 + vertex -36.3017 21.985 -0.2 + vertex -35.7435 21.6336 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.2746 22.7082 -0.1 - vertex -36.1579 23.9798 -0.1 - vertex -36.6025 24.2541 -0.1 + vertex -37.2746 22.7082 -0.2 + vertex -36.1579 23.9798 -0.2 + vertex -36.6025 24.2541 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.6921 23.7183 -0.1 - vertex -36.8124 22.3433 -0.1 - vertex -36.3017 21.985 -0.1 + vertex -35.6921 23.7183 -0.2 + vertex -36.8124 22.3433 -0.2 + vertex -36.3017 21.985 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.6874 23.0789 -0.1 - vertex -36.6025 24.2541 -0.1 - vertex -37.0225 24.5398 -0.1 + vertex -37.6874 23.0789 -0.2 + vertex -36.6025 24.2541 -0.2 + vertex -37.0225 24.5398 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.1579 23.9798 -0.1 - vertex -37.2746 22.7082 -0.1 - vertex -36.8124 22.3433 -0.1 + vertex -36.1579 23.9798 -0.2 + vertex -37.2746 22.7082 -0.2 + vertex -36.8124 22.3433 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.3611 23.836 -0.1 - vertex -37.0225 24.5398 -0.1 - vertex -37.4147 24.8357 -0.1 + vertex -38.3611 23.836 -0.2 + vertex -37.0225 24.5398 -0.2 + vertex -37.4147 24.8357 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.6025 24.2541 -0.1 - vertex -37.6874 23.0789 -0.1 - vertex -37.2746 22.7082 -0.1 + vertex -36.6025 24.2541 -0.2 + vertex -37.6874 23.0789 -0.2 + vertex -37.2746 22.7082 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.6203 24.2212 -0.1 - vertex -37.4147 24.8357 -0.1 - vertex -37.776 25.1404 -0.1 + vertex -38.6203 24.2212 -0.2 + vertex -37.4147 24.8357 -0.2 + vertex -37.776 25.1404 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.0225 24.5398 -0.1 - vertex -38.0499 23.455 -0.1 - vertex -37.6874 23.0789 -0.1 + vertex -37.0225 24.5398 -0.2 + vertex -38.0499 23.455 -0.2 + vertex -37.6874 23.0789 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.8265 24.6102 -0.1 - vertex -37.776 25.1404 -0.1 - vertex -38.2113 25.5018 -0.1 + vertex -38.8265 24.6102 -0.2 + vertex -37.776 25.1404 -0.2 + vertex -38.2113 25.5018 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.0225 24.5398 -0.1 - vertex -38.3611 23.836 -0.1 - vertex -38.0499 23.455 -0.1 + vertex -37.0225 24.5398 -0.2 + vertex -38.3611 23.836 -0.2 + vertex -38.0499 23.455 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.0227 25.0923 -0.1 - vertex -38.2113 25.5018 -0.1 - vertex -38.5664 25.7376 -0.1 + vertex -39.0227 25.0923 -0.2 + vertex -38.2113 25.5018 -0.2 + vertex -38.5664 25.7376 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.4147 24.8357 -0.1 - vertex -38.6203 24.2212 -0.1 - vertex -38.3611 23.836 -0.1 + vertex -37.4147 24.8357 -0.2 + vertex -38.6203 24.2212 -0.2 + vertex -38.3611 23.836 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.1186 25.4589 -0.1 - vertex -38.5664 25.7376 -0.1 - vertex -38.7129 25.8089 -0.1 + vertex -39.1186 25.4589 -0.2 + vertex -38.5664 25.7376 -0.2 + vertex -38.7129 25.8089 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.776 25.1404 -0.1 - vertex -38.8265 24.6102 -0.1 - vertex -38.6203 24.2212 -0.1 + vertex -37.776 25.1404 -0.2 + vertex -38.8265 24.6102 -0.2 + vertex -38.6203 24.2212 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.13 25.5984 -0.1 - vertex -38.7129 25.8089 -0.1 - vertex -38.8381 25.8495 -0.1 + vertex -39.13 25.5984 -0.2 + vertex -38.7129 25.8089 -0.2 + vertex -38.8381 25.8495 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.1175 25.7085 -0.1 - vertex -38.8381 25.8495 -0.1 - vertex -38.9416 25.8595 -0.1 + vertex -39.1175 25.7085 -0.2 + vertex -38.8381 25.8495 -0.2 + vertex -38.9416 25.8595 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.2113 25.5018 -0.1 - vertex -39.0227 25.0923 -0.1 - vertex -38.8265 24.6102 -0.1 + vertex -38.2113 25.5018 -0.2 + vertex -39.0227 25.0923 -0.2 + vertex -38.8265 24.6102 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.0817 25.7888 -0.1 - vertex -38.9416 25.8595 -0.1 - vertex -39.0229 25.8392 -0.1 + vertex -39.0817 25.7888 -0.2 + vertex -38.9416 25.8595 -0.2 + vertex -39.0229 25.8392 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.9416 25.8595 -0.1 - vertex -39.0817 25.7888 -0.1 - vertex -39.1175 25.7085 -0.1 + vertex -38.9416 25.8595 -0.2 + vertex -39.0817 25.7888 -0.2 + vertex -39.1175 25.7085 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.8381 25.8495 -0.1 - vertex -39.1175 25.7085 -0.1 - vertex -39.13 25.5984 -0.1 + vertex -38.8381 25.8495 -0.2 + vertex -39.1175 25.7085 -0.2 + vertex -39.13 25.5984 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.5664 25.7376 -0.1 - vertex -39.1186 25.4589 -0.1 - vertex -39.0227 25.0923 -0.1 + vertex -38.5664 25.7376 -0.2 + vertex -39.1186 25.4589 -0.2 + vertex -39.0227 25.0923 -0.2 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.7129 25.8089 -0.1 - vertex -39.13 25.5984 -0.1 - vertex -39.1186 25.4589 -0.1 + vertex -38.7129 25.8089 -0.2 + vertex -39.13 25.5984 -0.2 + vertex -39.1186 25.4589 -0.2 endloop endfacet facet normal -0.668491 -0.74372 0 outer loop - vertex 5.20457 38.5758 -0.1 + vertex 5.20457 38.5758 -0.2 vertex 5.23504 38.5484 0 vertex 5.20457 38.5758 0 endloop @@ -29997,377 +29997,377 @@ solid OpenSCAD_Model facet normal -0.668491 -0.74372 -0 outer loop vertex 5.23504 38.5484 0 - vertex 5.20457 38.5758 -0.1 - vertex 5.23504 38.5484 -0.1 + vertex 5.20457 38.5758 -0.2 + vertex 5.23504 38.5484 -0.2 endloop endfacet facet normal -0.96052 -0.278211 0 outer loop - vertex 5.26494 38.4452 -0.1 + vertex 5.26494 38.4452 -0.2 vertex 5.23504 38.5484 0 - vertex 5.23504 38.5484 -0.1 + vertex 5.23504 38.5484 -0.2 endloop endfacet facet normal -0.96052 -0.278211 0 outer loop vertex 5.23504 38.5484 0 - vertex 5.26494 38.4452 -0.1 + vertex 5.26494 38.4452 -0.2 vertex 5.26494 38.4452 0 endloop endfacet facet normal -0.998404 0.0564745 0 outer loop - vertex 5.25596 38.2865 -0.1 + vertex 5.25596 38.2865 -0.2 vertex 5.26494 38.4452 0 - vertex 5.26494 38.4452 -0.1 + vertex 5.26494 38.4452 -0.2 endloop endfacet facet normal -0.998404 0.0564745 0 outer loop vertex 5.26494 38.4452 0 - vertex 5.25596 38.2865 -0.1 + vertex 5.25596 38.2865 -0.2 vertex 5.25596 38.2865 0 endloop endfacet facet normal -0.976561 0.215243 0 outer loop - vertex 5.21112 38.083 -0.1 + vertex 5.21112 38.083 -0.2 vertex 5.25596 38.2865 0 - vertex 5.25596 38.2865 -0.1 + vertex 5.25596 38.2865 -0.2 endloop endfacet facet normal -0.976561 0.215243 0 outer loop vertex 5.25596 38.2865 0 - vertex 5.21112 38.083 -0.1 + vertex 5.21112 38.083 -0.2 vertex 5.21112 38.083 0 endloop endfacet facet normal -0.950355 0.311168 0 outer loop - vertex 5.13345 37.8458 -0.1 + vertex 5.13345 37.8458 -0.2 vertex 5.21112 38.083 0 - vertex 5.21112 38.083 -0.1 + vertex 5.21112 38.083 -0.2 endloop endfacet facet normal -0.950355 0.311168 0 outer loop vertex 5.21112 38.083 0 - vertex 5.13345 37.8458 -0.1 + vertex 5.13345 37.8458 -0.2 vertex 5.13345 37.8458 0 endloop endfacet facet normal -0.924228 0.381841 0 outer loop - vertex 5.02596 37.5856 -0.1 + vertex 5.02596 37.5856 -0.2 vertex 5.13345 37.8458 0 - vertex 5.13345 37.8458 -0.1 + vertex 5.13345 37.8458 -0.2 endloop endfacet facet normal -0.924228 0.381841 0 outer loop vertex 5.13345 37.8458 0 - vertex 5.02596 37.5856 -0.1 + vertex 5.02596 37.5856 -0.2 vertex 5.02596 37.5856 0 endloop endfacet facet normal -0.896839 0.442358 0 outer loop - vertex 4.89167 37.3134 -0.1 + vertex 4.89167 37.3134 -0.2 vertex 5.02596 37.5856 0 - vertex 5.02596 37.5856 -0.1 + vertex 5.02596 37.5856 -0.2 endloop endfacet facet normal -0.896839 0.442358 0 outer loop vertex 5.02596 37.5856 0 - vertex 4.89167 37.3134 -0.1 + vertex 4.89167 37.3134 -0.2 vertex 4.89167 37.3134 0 endloop endfacet facet normal -0.865785 0.500416 0 outer loop - vertex 4.73361 37.0399 -0.1 + vertex 4.73361 37.0399 -0.2 vertex 4.89167 37.3134 0 - vertex 4.89167 37.3134 -0.1 + vertex 4.89167 37.3134 -0.2 endloop endfacet facet normal -0.865785 0.500416 0 outer loop vertex 4.89167 37.3134 0 - vertex 4.73361 37.0399 -0.1 + vertex 4.73361 37.0399 -0.2 vertex 4.73361 37.0399 0 endloop endfacet facet normal -0.875928 0.482442 0 outer loop - vertex 4.62814 36.8484 -0.1 + vertex 4.62814 36.8484 -0.2 vertex 4.73361 37.0399 0 - vertex 4.73361 37.0399 -0.1 + vertex 4.73361 37.0399 -0.2 endloop endfacet facet normal -0.875928 0.482442 0 outer loop vertex 4.73361 37.0399 0 - vertex 4.62814 36.8484 -0.1 + vertex 4.62814 36.8484 -0.2 vertex 4.62814 36.8484 0 endloop endfacet facet normal -0.912281 0.409566 0 outer loop - vertex 4.52293 36.6141 -0.1 + vertex 4.52293 36.6141 -0.2 vertex 4.62814 36.8484 0 - vertex 4.62814 36.8484 -0.1 + vertex 4.62814 36.8484 -0.2 endloop endfacet facet normal -0.912281 0.409566 0 outer loop vertex 4.62814 36.8484 0 - vertex 4.52293 36.6141 -0.1 + vertex 4.52293 36.6141 -0.2 vertex 4.52293 36.6141 0 endloop endfacet facet normal -0.942197 0.335061 0 outer loop - vertex 4.31688 36.0346 -0.1 + vertex 4.31688 36.0346 -0.2 vertex 4.52293 36.6141 0 - vertex 4.52293 36.6141 -0.1 + vertex 4.52293 36.6141 -0.2 endloop endfacet facet normal -0.942197 0.335061 0 outer loop vertex 4.52293 36.6141 0 - vertex 4.31688 36.0346 -0.1 + vertex 4.31688 36.0346 -0.2 vertex 4.31688 36.0346 0 endloop endfacet facet normal -0.963331 0.268317 0 outer loop - vertex 4.1227 35.3375 -0.1 + vertex 4.1227 35.3375 -0.2 vertex 4.31688 36.0346 0 - vertex 4.31688 36.0346 -0.1 + vertex 4.31688 36.0346 -0.2 endloop endfacet facet normal -0.963331 0.268317 0 outer loop vertex 4.31688 36.0346 0 - vertex 4.1227 35.3375 -0.1 + vertex 4.1227 35.3375 -0.2 vertex 4.1227 35.3375 0 endloop endfacet facet normal -0.975667 0.219257 0 outer loop - vertex 3.94762 34.5584 -0.1 + vertex 3.94762 34.5584 -0.2 vertex 4.1227 35.3375 0 - vertex 4.1227 35.3375 -0.1 + vertex 4.1227 35.3375 -0.2 endloop endfacet facet normal -0.975667 0.219257 0 outer loop vertex 4.1227 35.3375 0 - vertex 3.94762 34.5584 -0.1 + vertex 3.94762 34.5584 -0.2 vertex 3.94762 34.5584 0 endloop endfacet facet normal -0.984138 0.177404 0 outer loop - vertex 3.79886 33.7332 -0.1 + vertex 3.79886 33.7332 -0.2 vertex 3.94762 34.5584 0 - vertex 3.94762 34.5584 -0.1 + vertex 3.94762 34.5584 -0.2 endloop endfacet facet normal -0.984138 0.177404 0 outer loop vertex 3.94762 34.5584 0 - vertex 3.79886 33.7332 -0.1 + vertex 3.79886 33.7332 -0.2 vertex 3.79886 33.7332 0 endloop endfacet facet normal -0.990628 0.136587 0 outer loop - vertex 3.68366 32.8976 -0.1 + vertex 3.68366 32.8976 -0.2 vertex 3.79886 33.7332 0 - vertex 3.79886 33.7332 -0.1 + vertex 3.79886 33.7332 -0.2 endloop endfacet facet normal -0.990628 0.136587 0 outer loop vertex 3.79886 33.7332 0 - vertex 3.68366 32.8976 -0.1 + vertex 3.68366 32.8976 -0.2 vertex 3.68366 32.8976 0 endloop endfacet facet normal -0.995806 0.0914898 0 outer loop - vertex 3.60924 32.0876 -0.1 + vertex 3.60924 32.0876 -0.2 vertex 3.68366 32.8976 0 - vertex 3.68366 32.8976 -0.1 + vertex 3.68366 32.8976 -0.2 endloop endfacet facet normal -0.995806 0.0914898 0 outer loop vertex 3.68366 32.8976 0 - vertex 3.60924 32.0876 -0.1 + vertex 3.60924 32.0876 -0.2 vertex 3.60924 32.0876 0 endloop endfacet facet normal -0.999378 0.0352546 0 outer loop - vertex 3.58282 31.3388 -0.1 + vertex 3.58282 31.3388 -0.2 vertex 3.60924 32.0876 0 - vertex 3.60924 32.0876 -0.1 + vertex 3.60924 32.0876 -0.2 endloop endfacet facet normal -0.999378 0.0352546 0 outer loop vertex 3.60924 32.0876 0 - vertex 3.58282 31.3388 -0.1 + vertex 3.58282 31.3388 -0.2 vertex 3.58282 31.3388 0 endloop endfacet facet normal -0.999852 -0.0171991 0 outer loop - vertex 3.59957 30.3654 -0.1 + vertex 3.59957 30.3654 -0.2 vertex 3.58282 31.3388 0 - vertex 3.58282 31.3388 -0.1 + vertex 3.58282 31.3388 -0.2 endloop endfacet facet normal -0.999852 -0.0171991 0 outer loop vertex 3.58282 31.3388 0 - vertex 3.59957 30.3654 -0.1 + vertex 3.59957 30.3654 -0.2 vertex 3.59957 30.3654 0 endloop endfacet facet normal -0.995876 -0.0907198 0 outer loop - vertex 3.63162 30.0135 -0.1 + vertex 3.63162 30.0135 -0.2 vertex 3.59957 30.3654 0 - vertex 3.59957 30.3654 -0.1 + vertex 3.59957 30.3654 -0.2 endloop endfacet facet normal -0.995876 -0.0907198 0 outer loop vertex 3.59957 30.3654 0 - vertex 3.63162 30.0135 -0.1 + vertex 3.63162 30.0135 -0.2 vertex 3.63162 30.0135 0 endloop endfacet facet normal -0.982044 -0.188652 0 outer loop - vertex 3.68937 29.7129 -0.1 + vertex 3.68937 29.7129 -0.2 vertex 3.63162 30.0135 0 - vertex 3.63162 30.0135 -0.1 + vertex 3.63162 30.0135 -0.2 endloop endfacet facet normal -0.982044 -0.188652 0 outer loop vertex 3.63162 30.0135 0 - vertex 3.68937 29.7129 -0.1 + vertex 3.68937 29.7129 -0.2 vertex 3.68937 29.7129 0 endloop endfacet facet normal -0.950581 -0.310477 0 outer loop - vertex 3.78021 29.4348 -0.1 + vertex 3.78021 29.4348 -0.2 vertex 3.68937 29.7129 0 - vertex 3.68937 29.7129 -0.1 + vertex 3.68937 29.7129 -0.2 endloop endfacet facet normal -0.950581 -0.310477 0 outer loop vertex 3.68937 29.7129 0 - vertex 3.78021 29.4348 -0.1 + vertex 3.78021 29.4348 -0.2 vertex 3.78021 29.4348 0 endloop endfacet facet normal -0.907937 -0.419107 0 outer loop - vertex 3.91157 29.1502 -0.1 + vertex 3.91157 29.1502 -0.2 vertex 3.78021 29.4348 0 - vertex 3.78021 29.4348 -0.1 + vertex 3.78021 29.4348 -0.2 endloop endfacet facet normal -0.907937 -0.419107 0 outer loop vertex 3.78021 29.4348 0 - vertex 3.91157 29.1502 -0.1 + vertex 3.91157 29.1502 -0.2 vertex 3.91157 29.1502 0 endloop endfacet facet normal -0.872337 -0.488905 0 outer loop - vertex 4.09087 28.8303 -0.1 + vertex 4.09087 28.8303 -0.2 vertex 3.91157 29.1502 0 - vertex 3.91157 29.1502 -0.1 + vertex 3.91157 29.1502 -0.2 endloop endfacet facet normal -0.872337 -0.488905 0 outer loop vertex 3.91157 29.1502 0 - vertex 4.09087 28.8303 -0.1 + vertex 4.09087 28.8303 -0.2 vertex 4.09087 28.8303 0 endloop endfacet facet normal -0.853386 -0.52128 0 outer loop - vertex 4.32553 28.4461 -0.1 + vertex 4.32553 28.4461 -0.2 vertex 4.09087 28.8303 0 - vertex 4.09087 28.8303 -0.1 + vertex 4.09087 28.8303 -0.2 endloop endfacet facet normal -0.853386 -0.52128 0 outer loop vertex 4.09087 28.8303 0 - vertex 4.32553 28.4461 -0.1 + vertex 4.32553 28.4461 -0.2 vertex 4.32553 28.4461 0 endloop endfacet facet normal -0.837817 -0.545951 0 outer loop - vertex 4.69711 27.8759 -0.1 + vertex 4.69711 27.8759 -0.2 vertex 4.32553 28.4461 0 - vertex 4.32553 28.4461 -0.1 + vertex 4.32553 28.4461 -0.2 endloop endfacet facet normal -0.837817 -0.545951 0 outer loop vertex 4.32553 28.4461 0 - vertex 4.69711 27.8759 -0.1 + vertex 4.69711 27.8759 -0.2 vertex 4.69711 27.8759 0 endloop endfacet facet normal -0.807831 -0.589415 0 outer loop - vertex 5.05276 27.3884 -0.1 + vertex 5.05276 27.3884 -0.2 vertex 4.69711 27.8759 0 - vertex 4.69711 27.8759 -0.1 + vertex 4.69711 27.8759 -0.2 endloop endfacet facet normal -0.807831 -0.589415 0 outer loop vertex 4.69711 27.8759 0 - vertex 5.05276 27.3884 -0.1 + vertex 5.05276 27.3884 -0.2 vertex 5.05276 27.3884 0 endloop endfacet facet normal -0.764742 -0.644337 0 outer loop - vertex 5.39739 26.9794 -0.1 + vertex 5.39739 26.9794 -0.2 vertex 5.05276 27.3884 0 - vertex 5.05276 27.3884 -0.1 + vertex 5.05276 27.3884 -0.2 endloop endfacet facet normal -0.764742 -0.644337 0 outer loop vertex 5.05276 27.3884 0 - vertex 5.39739 26.9794 -0.1 + vertex 5.39739 26.9794 -0.2 vertex 5.39739 26.9794 0 endloop endfacet facet normal -0.703379 -0.710815 0 outer loop - vertex 5.39739 26.9794 -0.1 + vertex 5.39739 26.9794 -0.2 vertex 5.73586 26.6445 0 vertex 5.39739 26.9794 0 endloop @@ -30375,13 +30375,13 @@ solid OpenSCAD_Model facet normal -0.703379 -0.710815 -0 outer loop vertex 5.73586 26.6445 0 - vertex 5.39739 26.9794 -0.1 - vertex 5.73586 26.6445 -0.1 + vertex 5.39739 26.9794 -0.2 + vertex 5.73586 26.6445 -0.2 endloop endfacet facet normal -0.618154 -0.786057 0 outer loop - vertex 5.73586 26.6445 -0.1 + vertex 5.73586 26.6445 -0.2 vertex 6.07308 26.3793 0 vertex 5.73586 26.6445 0 endloop @@ -30389,13 +30389,13 @@ solid OpenSCAD_Model facet normal -0.618154 -0.786057 -0 outer loop vertex 6.07308 26.3793 0 - vertex 5.73586 26.6445 -0.1 - vertex 6.07308 26.3793 -0.1 + vertex 5.73586 26.6445 -0.2 + vertex 6.07308 26.3793 -0.2 endloop endfacet facet normal -0.505671 -0.862726 0 outer loop - vertex 6.07308 26.3793 -0.1 + vertex 6.07308 26.3793 -0.2 vertex 6.41393 26.1795 0 vertex 6.07308 26.3793 0 endloop @@ -30403,13 +30403,13 @@ solid OpenSCAD_Model facet normal -0.505671 -0.862726 -0 outer loop vertex 6.41393 26.1795 0 - vertex 6.07308 26.3793 -0.1 - vertex 6.41393 26.1795 -0.1 + vertex 6.07308 26.3793 -0.2 + vertex 6.41393 26.1795 -0.2 endloop endfacet facet normal -0.369033 -0.929416 0 outer loop - vertex 6.41393 26.1795 -0.1 + vertex 6.41393 26.1795 -0.2 vertex 6.76329 26.0408 0 vertex 6.41393 26.1795 0 endloop @@ -30417,13 +30417,13 @@ solid OpenSCAD_Model facet normal -0.369033 -0.929416 -0 outer loop vertex 6.76329 26.0408 0 - vertex 6.41393 26.1795 -0.1 - vertex 6.76329 26.0408 -0.1 + vertex 6.41393 26.1795 -0.2 + vertex 6.76329 26.0408 -0.2 endloop endfacet facet normal -0.220456 -0.975397 0 outer loop - vertex 6.76329 26.0408 -0.1 + vertex 6.76329 26.0408 -0.2 vertex 7.12606 25.9588 0 vertex 6.76329 26.0408 0 endloop @@ -30431,13 +30431,13 @@ solid OpenSCAD_Model facet normal -0.220456 -0.975397 -0 outer loop vertex 7.12606 25.9588 0 - vertex 6.76329 26.0408 -0.1 - vertex 7.12606 25.9588 -0.1 + vertex 6.76329 26.0408 -0.2 + vertex 7.12606 25.9588 -0.2 endloop endfacet facet normal -0.188841 -0.982008 0 outer loop - vertex 7.12606 25.9588 -0.1 + vertex 7.12606 25.9588 -0.2 vertex 7.55919 25.8755 0 vertex 7.12606 25.9588 0 endloop @@ -30445,13 +30445,13 @@ solid OpenSCAD_Model facet normal -0.188841 -0.982008 -0 outer loop vertex 7.55919 25.8755 0 - vertex 7.12606 25.9588 -0.1 - vertex 7.55919 25.8755 -0.1 + vertex 7.12606 25.9588 -0.2 + vertex 7.55919 25.8755 -0.2 endloop endfacet facet normal -0.317419 -0.948285 0 outer loop - vertex 7.55919 25.8755 -0.1 + vertex 7.55919 25.8755 -0.2 vertex 7.92584 25.7528 0 vertex 7.55919 25.8755 0 endloop @@ -30459,13 +30459,13 @@ solid OpenSCAD_Model facet normal -0.317419 -0.948285 -0 outer loop vertex 7.92584 25.7528 0 - vertex 7.55919 25.8755 -0.1 - vertex 7.92584 25.7528 -0.1 + vertex 7.55919 25.8755 -0.2 + vertex 7.92584 25.7528 -0.2 endloop endfacet facet normal -0.448547 -0.893759 0 outer loop - vertex 7.92584 25.7528 -0.1 + vertex 7.92584 25.7528 -0.2 vertex 8.08977 25.6705 0 vertex 7.92584 25.7528 0 endloop @@ -30473,13 +30473,13 @@ solid OpenSCAD_Model facet normal -0.448547 -0.893759 -0 outer loop vertex 8.08977 25.6705 0 - vertex 7.92584 25.7528 -0.1 - vertex 8.08977 25.6705 -0.1 + vertex 7.92584 25.7528 -0.2 + vertex 8.08977 25.6705 -0.2 endloop endfacet facet normal -0.542679 -0.83994 0 outer loop - vertex 8.08977 25.6705 -0.1 + vertex 8.08977 25.6705 -0.2 vertex 8.24373 25.571 0 vertex 8.08977 25.6705 0 endloop @@ -30487,13 +30487,13 @@ solid OpenSCAD_Model facet normal -0.542679 -0.83994 -0 outer loop vertex 8.24373 25.571 0 - vertex 8.08977 25.6705 -0.1 - vertex 8.24373 25.571 -0.1 + vertex 8.08977 25.6705 -0.2 + vertex 8.24373 25.571 -0.2 endloop endfacet facet normal -0.63165 -0.775254 0 outer loop - vertex 8.24373 25.571 -0.1 + vertex 8.24373 25.571 -0.2 vertex 8.38993 25.4519 0 vertex 8.24373 25.571 0 endloop @@ -30501,195 +30501,195 @@ solid OpenSCAD_Model facet normal -0.63165 -0.775254 -0 outer loop vertex 8.38993 25.4519 0 - vertex 8.24373 25.571 -0.1 - vertex 8.38993 25.4519 -0.1 + vertex 8.24373 25.571 -0.2 + vertex 8.38993 25.4519 -0.2 endloop endfacet facet normal -0.708493 -0.705718 0 outer loop - vertex 8.53058 25.3107 -0.1 + vertex 8.53058 25.3107 -0.2 vertex 8.38993 25.4519 0 - vertex 8.38993 25.4519 -0.1 + vertex 8.38993 25.4519 -0.2 endloop endfacet facet normal -0.708493 -0.705718 0 outer loop vertex 8.38993 25.4519 0 - vertex 8.53058 25.3107 -0.1 + vertex 8.53058 25.3107 -0.2 vertex 8.53058 25.3107 0 endloop endfacet facet normal -0.770043 -0.637991 0 outer loop - vertex 8.6679 25.145 -0.1 + vertex 8.6679 25.145 -0.2 vertex 8.53058 25.3107 0 - vertex 8.53058 25.3107 -0.1 + vertex 8.53058 25.3107 -0.2 endloop endfacet facet normal -0.770043 -0.637991 0 outer loop vertex 8.53058 25.3107 0 - vertex 8.6679 25.145 -0.1 + vertex 8.6679 25.145 -0.2 vertex 8.6679 25.145 0 endloop endfacet facet normal -0.816637 -0.577152 0 outer loop - vertex 8.80411 24.9522 -0.1 + vertex 8.80411 24.9522 -0.2 vertex 8.6679 25.145 0 - vertex 8.6679 25.145 -0.1 + vertex 8.6679 25.145 -0.2 endloop endfacet facet normal -0.816637 -0.577152 0 outer loop vertex 8.6679 25.145 0 - vertex 8.80411 24.9522 -0.1 + vertex 8.80411 24.9522 -0.2 vertex 8.80411 24.9522 0 endloop endfacet facet normal -0.863652 -0.504088 0 outer loop - vertex 9.08206 24.476 -0.1 + vertex 9.08206 24.476 -0.2 vertex 8.80411 24.9522 0 - vertex 8.80411 24.9522 -0.1 + vertex 8.80411 24.9522 -0.2 endloop endfacet facet normal -0.863652 -0.504088 0 outer loop vertex 8.80411 24.9522 0 - vertex 9.08206 24.476 -0.1 + vertex 9.08206 24.476 -0.2 vertex 9.08206 24.476 0 endloop endfacet facet normal -0.8983 -0.439382 0 outer loop - vertex 9.38213 23.8626 -0.1 + vertex 9.38213 23.8626 -0.2 vertex 9.08206 24.476 0 - vertex 9.08206 24.476 -0.1 + vertex 9.08206 24.476 -0.2 endloop endfacet facet normal -0.8983 -0.439382 0 outer loop vertex 9.08206 24.476 0 - vertex 9.38213 23.8626 -0.1 + vertex 9.38213 23.8626 -0.2 vertex 9.38213 23.8626 0 endloop endfacet facet normal -0.914889 -0.403706 0 outer loop - vertex 9.72206 23.0922 -0.1 + vertex 9.72206 23.0922 -0.2 vertex 9.38213 23.8626 0 - vertex 9.38213 23.8626 -0.1 + vertex 9.38213 23.8626 -0.2 endloop endfacet facet normal -0.914889 -0.403706 0 outer loop vertex 9.38213 23.8626 0 - vertex 9.72206 23.0922 -0.1 + vertex 9.72206 23.0922 -0.2 vertex 9.72206 23.0922 0 endloop endfacet facet normal -0.916786 -0.399379 0 outer loop - vertex 10.0801 22.2703 -0.1 + vertex 10.0801 22.2703 -0.2 vertex 9.72206 23.0922 0 - vertex 9.72206 23.0922 -0.1 + vertex 9.72206 23.0922 -0.2 endloop endfacet facet normal -0.916786 -0.399379 0 outer loop vertex 9.72206 23.0922 0 - vertex 10.0801 22.2703 -0.1 + vertex 10.0801 22.2703 -0.2 vertex 10.0801 22.2703 0 endloop endfacet facet normal -0.906506 -0.422192 0 outer loop - vertex 10.3935 21.5973 -0.1 + vertex 10.3935 21.5973 -0.2 vertex 10.0801 22.2703 0 - vertex 10.0801 22.2703 -0.1 + vertex 10.0801 22.2703 -0.2 endloop endfacet facet normal -0.906506 -0.422192 0 outer loop vertex 10.0801 22.2703 0 - vertex 10.3935 21.5973 -0.1 + vertex 10.3935 21.5973 -0.2 vertex 10.3935 21.5973 0 endloop endfacet facet normal -0.886025 -0.463638 0 outer loop - vertex 10.6869 21.0368 -0.1 + vertex 10.6869 21.0368 -0.2 vertex 10.3935 21.5973 0 - vertex 10.3935 21.5973 -0.1 + vertex 10.3935 21.5973 -0.2 endloop endfacet facet normal -0.886025 -0.463638 0 outer loop vertex 10.3935 21.5973 0 - vertex 10.6869 21.0368 -0.1 + vertex 10.6869 21.0368 -0.2 vertex 10.6869 21.0368 0 endloop endfacet facet normal -0.852053 -0.523456 0 outer loop - vertex 10.9846 20.5521 -0.1 + vertex 10.9846 20.5521 -0.2 vertex 10.6869 21.0368 0 - vertex 10.6869 21.0368 -0.1 + vertex 10.6869 21.0368 -0.2 endloop endfacet facet normal -0.852053 -0.523456 0 outer loop vertex 10.6869 21.0368 0 - vertex 10.9846 20.5521 -0.1 + vertex 10.9846 20.5521 -0.2 vertex 10.9846 20.5521 0 endloop endfacet facet normal -0.806267 -0.591552 0 outer loop - vertex 11.3113 20.1069 -0.1 + vertex 11.3113 20.1069 -0.2 vertex 10.9846 20.5521 0 - vertex 10.9846 20.5521 -0.1 + vertex 10.9846 20.5521 -0.2 endloop endfacet facet normal -0.806267 -0.591552 0 outer loop vertex 10.9846 20.5521 0 - vertex 11.3113 20.1069 -0.1 + vertex 11.3113 20.1069 -0.2 vertex 11.3113 20.1069 0 endloop endfacet facet normal -0.758443 -0.65174 0 outer loop - vertex 11.6914 19.6646 -0.1 + vertex 11.6914 19.6646 -0.2 vertex 11.3113 20.1069 0 - vertex 11.3113 20.1069 -0.1 + vertex 11.3113 20.1069 -0.2 endloop endfacet facet normal -0.758443 -0.65174 0 outer loop vertex 11.3113 20.1069 0 - vertex 11.6914 19.6646 -0.1 + vertex 11.6914 19.6646 -0.2 vertex 11.6914 19.6646 0 endloop endfacet facet normal -0.720518 -0.693437 0 outer loop - vertex 12.1494 19.1886 -0.1 + vertex 12.1494 19.1886 -0.2 vertex 11.6914 19.6646 0 - vertex 11.6914 19.6646 -0.1 + vertex 11.6914 19.6646 -0.2 endloop endfacet facet normal -0.720518 -0.693437 0 outer loop vertex 11.6914 19.6646 0 - vertex 12.1494 19.1886 -0.1 + vertex 12.1494 19.1886 -0.2 vertex 12.1494 19.1886 0 endloop endfacet facet normal -0.697808 -0.716285 0 outer loop - vertex 12.1494 19.1886 -0.1 + vertex 12.1494 19.1886 -0.2 vertex 12.71 18.6425 0 vertex 12.1494 19.1886 0 endloop @@ -30697,13 +30697,13 @@ solid OpenSCAD_Model facet normal -0.697808 -0.716285 -0 outer loop vertex 12.71 18.6425 0 - vertex 12.1494 19.1886 -0.1 - vertex 12.71 18.6425 -0.1 + vertex 12.1494 19.1886 -0.2 + vertex 12.71 18.6425 -0.2 endloop endfacet facet normal -0.680991 -0.732292 0 outer loop - vertex 12.71 18.6425 -0.1 + vertex 12.71 18.6425 -0.2 vertex 13.3813 18.0182 0 vertex 12.71 18.6425 0 endloop @@ -30711,13 +30711,13 @@ solid OpenSCAD_Model facet normal -0.680991 -0.732292 -0 outer loop vertex 13.3813 18.0182 0 - vertex 12.71 18.6425 -0.1 - vertex 13.3813 18.0182 -0.1 + vertex 12.71 18.6425 -0.2 + vertex 13.3813 18.0182 -0.2 endloop endfacet facet normal -0.650845 -0.759211 0 outer loop - vertex 13.3813 18.0182 -0.1 + vertex 13.3813 18.0182 -0.2 vertex 14.0017 17.4864 0 vertex 13.3813 18.0182 0 endloop @@ -30725,13 +30725,13 @@ solid OpenSCAD_Model facet normal -0.650845 -0.759211 -0 outer loop vertex 14.0017 17.4864 0 - vertex 13.3813 18.0182 -0.1 - vertex 14.0017 17.4864 -0.1 + vertex 13.3813 18.0182 -0.2 + vertex 14.0017 17.4864 -0.2 endloop endfacet facet normal -0.606609 -0.795001 0 outer loop - vertex 14.0017 17.4864 -0.1 + vertex 14.0017 17.4864 -0.2 vertex 14.6028 17.0277 0 vertex 14.0017 17.4864 0 endloop @@ -30739,13 +30739,13 @@ solid OpenSCAD_Model facet normal -0.606609 -0.795001 -0 outer loop vertex 14.6028 17.0277 0 - vertex 14.0017 17.4864 -0.1 - vertex 14.6028 17.0277 -0.1 + vertex 14.0017 17.4864 -0.2 + vertex 14.6028 17.0277 -0.2 endloop endfacet facet normal -0.550734 -0.834681 0 outer loop - vertex 14.6028 17.0277 -0.1 + vertex 14.6028 17.0277 -0.2 vertex 15.2162 16.623 0 vertex 14.6028 17.0277 0 endloop @@ -30753,13 +30753,13 @@ solid OpenSCAD_Model facet normal -0.550734 -0.834681 -0 outer loop vertex 15.2162 16.623 0 - vertex 14.6028 17.0277 -0.1 - vertex 15.2162 16.623 -0.1 + vertex 14.6028 17.0277 -0.2 + vertex 15.2162 16.623 -0.2 endloop endfacet facet normal -0.490625 -0.871371 0 outer loop - vertex 15.2162 16.623 -0.1 + vertex 15.2162 16.623 -0.2 vertex 15.8738 16.2527 0 vertex 15.2162 16.623 0 endloop @@ -30767,13 +30767,13 @@ solid OpenSCAD_Model facet normal -0.490625 -0.871371 -0 outer loop vertex 15.8738 16.2527 0 - vertex 15.2162 16.623 -0.1 - vertex 15.8738 16.2527 -0.1 + vertex 15.2162 16.623 -0.2 + vertex 15.8738 16.2527 -0.2 endloop endfacet facet normal -0.435747 -0.900069 0 outer loop - vertex 15.8738 16.2527 -0.1 + vertex 15.8738 16.2527 -0.2 vertex 16.6072 15.8977 0 vertex 15.8738 16.2527 0 endloop @@ -30781,13 +30781,13 @@ solid OpenSCAD_Model facet normal -0.435747 -0.900069 -0 outer loop vertex 16.6072 15.8977 0 - vertex 15.8738 16.2527 -0.1 - vertex 16.6072 15.8977 -0.1 + vertex 15.8738 16.2527 -0.2 + vertex 16.6072 15.8977 -0.2 endloop endfacet facet normal -0.392812 -0.919619 0 outer loop - vertex 16.6072 15.8977 -0.1 + vertex 16.6072 15.8977 -0.2 vertex 17.448 15.5385 0 vertex 16.6072 15.8977 0 endloop @@ -30795,13 +30795,13 @@ solid OpenSCAD_Model facet normal -0.392812 -0.919619 -0 outer loop vertex 17.448 15.5385 0 - vertex 16.6072 15.8977 -0.1 - vertex 17.448 15.5385 -0.1 + vertex 16.6072 15.8977 -0.2 + vertex 17.448 15.5385 -0.2 endloop endfacet facet normal -0.36368 -0.931524 0 outer loop - vertex 17.448 15.5385 -0.1 + vertex 17.448 15.5385 -0.2 vertex 18.4281 15.1559 0 vertex 17.448 15.5385 0 endloop @@ -30809,13 +30809,13 @@ solid OpenSCAD_Model facet normal -0.36368 -0.931524 -0 outer loop vertex 18.4281 15.1559 0 - vertex 17.448 15.5385 -0.1 - vertex 18.4281 15.1559 -0.1 + vertex 17.448 15.5385 -0.2 + vertex 18.4281 15.1559 -0.2 endloop endfacet facet normal -0.343445 -0.939173 0 outer loop - vertex 18.4281 15.1559 -0.1 + vertex 18.4281 15.1559 -0.2 vertex 19.4469 14.7833 0 vertex 18.4281 15.1559 0 endloop @@ -30823,13 +30823,13 @@ solid OpenSCAD_Model facet normal -0.343445 -0.939173 -0 outer loop vertex 19.4469 14.7833 0 - vertex 18.4281 15.1559 -0.1 - vertex 19.4469 14.7833 -0.1 + vertex 18.4281 15.1559 -0.2 + vertex 19.4469 14.7833 -0.2 endloop endfacet facet normal -0.28492 -0.958551 0 outer loop - vertex 19.4469 14.7833 -0.1 + vertex 19.4469 14.7833 -0.2 vertex 19.7955 14.6797 0 vertex 19.4469 14.7833 0 endloop @@ -30837,13 +30837,13 @@ solid OpenSCAD_Model facet normal -0.28492 -0.958551 -0 outer loop vertex 19.7955 14.6797 0 - vertex 19.4469 14.7833 -0.1 - vertex 19.7955 14.6797 -0.1 + vertex 19.4469 14.7833 -0.2 + vertex 19.7955 14.6797 -0.2 endloop endfacet facet normal -0.184649 -0.982804 0 outer loop - vertex 19.7955 14.6797 -0.1 + vertex 19.7955 14.6797 -0.2 vertex 20.0785 14.6265 0 vertex 19.7955 14.6797 0 endloop @@ -30851,13 +30851,13 @@ solid OpenSCAD_Model facet normal -0.184649 -0.982804 -0 outer loop vertex 20.0785 14.6265 0 - vertex 19.7955 14.6797 -0.1 - vertex 20.0785 14.6265 -0.1 + vertex 19.7955 14.6797 -0.2 + vertex 20.0785 14.6265 -0.2 endloop endfacet facet normal -0.024894 -0.99969 0 outer loop - vertex 20.0785 14.6265 -0.1 + vertex 20.0785 14.6265 -0.2 vertex 20.327 14.6203 0 vertex 20.0785 14.6265 0 endloop @@ -30865,13 +30865,13 @@ solid OpenSCAD_Model facet normal -0.024894 -0.99969 -0 outer loop vertex 20.327 14.6203 0 - vertex 20.0785 14.6265 -0.1 - vertex 20.327 14.6203 -0.1 + vertex 20.0785 14.6265 -0.2 + vertex 20.327 14.6203 -0.2 endloop endfacet facet normal 0.150471 -0.988614 0 outer loop - vertex 20.327 14.6203 -0.1 + vertex 20.327 14.6203 -0.2 vertex 20.5722 14.6577 0 vertex 20.327 14.6203 0 endloop @@ -30879,13 +30879,13 @@ solid OpenSCAD_Model facet normal 0.150471 -0.988614 0 outer loop vertex 20.5722 14.6577 0 - vertex 20.327 14.6203 -0.1 - vertex 20.5722 14.6577 -0.1 + vertex 20.327 14.6203 -0.2 + vertex 20.5722 14.6577 -0.2 endloop endfacet facet normal 0.272592 -0.96213 0 outer loop - vertex 20.5722 14.6577 -0.1 + vertex 20.5722 14.6577 -0.2 vertex 20.8452 14.735 0 vertex 20.5722 14.6577 0 endloop @@ -30893,13 +30893,13 @@ solid OpenSCAD_Model facet normal 0.272592 -0.96213 0 outer loop vertex 20.8452 14.735 0 - vertex 20.5722 14.6577 -0.1 - vertex 20.8452 14.735 -0.1 + vertex 20.5722 14.6577 -0.2 + vertex 20.8452 14.735 -0.2 endloop endfacet facet normal 0.32454 -0.945872 0 outer loop - vertex 20.8452 14.735 -0.1 + vertex 20.8452 14.735 -0.2 vertex 21.1771 14.8489 0 vertex 20.8452 14.735 0 endloop @@ -30907,13 +30907,13 @@ solid OpenSCAD_Model facet normal 0.32454 -0.945872 0 outer loop vertex 21.1771 14.8489 0 - vertex 20.8452 14.735 -0.1 - vertex 21.1771 14.8489 -0.1 + vertex 20.8452 14.735 -0.2 + vertex 21.1771 14.8489 -0.2 endloop endfacet facet normal 0.357547 -0.933895 0 outer loop - vertex 21.1771 14.8489 -0.1 + vertex 21.1771 14.8489 -0.2 vertex 21.6737 15.039 0 vertex 21.1771 14.8489 0 endloop @@ -30921,13 +30921,13 @@ solid OpenSCAD_Model facet normal 0.357547 -0.933895 0 outer loop vertex 21.6737 15.039 0 - vertex 21.1771 14.8489 -0.1 - vertex 21.6737 15.039 -0.1 + vertex 21.1771 14.8489 -0.2 + vertex 21.6737 15.039 -0.2 endloop endfacet facet normal 0.392507 -0.919749 0 outer loop - vertex 21.6737 15.039 -0.1 + vertex 21.6737 15.039 -0.2 vertex 22.2336 15.278 0 vertex 21.6737 15.039 0 endloop @@ -30935,13 +30935,13 @@ solid OpenSCAD_Model facet normal 0.392507 -0.919749 0 outer loop vertex 22.2336 15.278 0 - vertex 21.6737 15.039 -0.1 - vertex 22.2336 15.278 -0.1 + vertex 21.6737 15.039 -0.2 + vertex 22.2336 15.278 -0.2 endloop endfacet facet normal 0.427814 -0.903867 0 outer loop - vertex 22.2336 15.278 -0.1 + vertex 22.2336 15.278 -0.2 vertex 23.3919 15.8262 0 vertex 22.2336 15.278 0 endloop @@ -30949,13 +30949,13 @@ solid OpenSCAD_Model facet normal 0.427814 -0.903867 0 outer loop vertex 23.3919 15.8262 0 - vertex 22.2336 15.278 -0.1 - vertex 23.3919 15.8262 -0.1 + vertex 22.2336 15.278 -0.2 + vertex 23.3919 15.8262 -0.2 endloop endfacet facet normal 0.460603 -0.887606 0 outer loop - vertex 23.3919 15.8262 -0.1 + vertex 23.3919 15.8262 -0.2 vertex 23.9148 16.0975 0 vertex 23.3919 15.8262 0 endloop @@ -30963,13 +30963,13 @@ solid OpenSCAD_Model facet normal 0.460603 -0.887606 0 outer loop vertex 23.9148 16.0975 0 - vertex 23.3919 15.8262 -0.1 - vertex 23.9148 16.0975 -0.1 + vertex 23.3919 15.8262 -0.2 + vertex 23.9148 16.0975 -0.2 endloop endfacet facet normal 0.489467 -0.872022 0 outer loop - vertex 23.9148 16.0975 -0.1 + vertex 23.9148 16.0975 -0.2 vertex 24.3498 16.3417 0 vertex 23.9148 16.0975 0 endloop @@ -30977,13 +30977,13 @@ solid OpenSCAD_Model facet normal 0.489467 -0.872022 0 outer loop vertex 24.3498 16.3417 0 - vertex 23.9148 16.0975 -0.1 - vertex 24.3498 16.3417 -0.1 + vertex 23.9148 16.0975 -0.2 + vertex 24.3498 16.3417 -0.2 endloop endfacet facet normal 0.539107 -0.842237 0 outer loop - vertex 24.3498 16.3417 -0.1 + vertex 24.3498 16.3417 -0.2 vertex 24.659 16.5397 0 vertex 24.3498 16.3417 0 endloop @@ -30991,13 +30991,13 @@ solid OpenSCAD_Model facet normal 0.539107 -0.842237 0 outer loop vertex 24.659 16.5397 0 - vertex 24.3498 16.3417 -0.1 - vertex 24.659 16.5397 -0.1 + vertex 24.3498 16.3417 -0.2 + vertex 24.659 16.5397 -0.2 endloop endfacet facet normal 0.620549 -0.784168 0 outer loop - vertex 24.659 16.5397 -0.1 + vertex 24.659 16.5397 -0.2 vertex 24.7548 16.6154 0 vertex 24.659 16.5397 0 endloop @@ -31005,97 +31005,97 @@ solid OpenSCAD_Model facet normal 0.620549 -0.784168 0 outer loop vertex 24.7548 16.6154 0 - vertex 24.659 16.5397 -0.1 - vertex 24.7548 16.6154 -0.1 + vertex 24.659 16.5397 -0.2 + vertex 24.7548 16.6154 -0.2 endloop endfacet facet normal 0.751376 -0.659874 0 outer loop vertex 24.7548 16.6154 0 - vertex 24.8049 16.6725 -0.1 + vertex 24.8049 16.6725 -0.2 vertex 24.8049 16.6725 0 endloop endfacet facet normal 0.751376 -0.659874 0 outer loop - vertex 24.8049 16.6725 -0.1 + vertex 24.8049 16.6725 -0.2 vertex 24.7548 16.6154 0 - vertex 24.7548 16.6154 -0.1 + vertex 24.7548 16.6154 -0.2 endloop endfacet facet normal 0.968195 -0.250195 0 outer loop vertex 24.8049 16.6725 0 - vertex 24.8294 16.7672 -0.1 + vertex 24.8294 16.7672 -0.2 vertex 24.8294 16.7672 0 endloop endfacet facet normal 0.968195 -0.250195 0 outer loop - vertex 24.8294 16.7672 -0.1 + vertex 24.8294 16.7672 -0.2 vertex 24.8049 16.6725 0 - vertex 24.8049 16.6725 -0.1 + vertex 24.8049 16.6725 -0.2 endloop endfacet facet normal 0.998807 0.0488365 0 outer loop vertex 24.8294 16.7672 0 - vertex 24.8232 16.8925 -0.1 + vertex 24.8232 16.8925 -0.2 vertex 24.8232 16.8925 0 endloop endfacet facet normal 0.998807 0.0488365 0 outer loop - vertex 24.8232 16.8925 -0.1 + vertex 24.8232 16.8925 -0.2 vertex 24.8294 16.7672 0 - vertex 24.8294 16.7672 -0.1 + vertex 24.8294 16.7672 -0.2 endloop endfacet facet normal 0.971162 0.23842 0 outer loop vertex 24.8232 16.8925 0 - vertex 24.789 17.0321 -0.1 + vertex 24.789 17.0321 -0.2 vertex 24.789 17.0321 0 endloop endfacet facet normal 0.971162 0.23842 0 outer loop - vertex 24.789 17.0321 -0.1 + vertex 24.789 17.0321 -0.2 vertex 24.8232 16.8925 0 - vertex 24.8232 16.8925 -0.1 + vertex 24.8232 16.8925 -0.2 endloop endfacet facet normal 0.916748 0.399467 0 outer loop vertex 24.789 17.0321 0 - vertex 24.7291 17.1695 -0.1 + vertex 24.7291 17.1695 -0.2 vertex 24.7291 17.1695 0 endloop endfacet facet normal 0.916748 0.399467 0 outer loop - vertex 24.7291 17.1695 -0.1 + vertex 24.7291 17.1695 -0.2 vertex 24.789 17.0321 0 - vertex 24.789 17.0321 -0.1 + vertex 24.789 17.0321 -0.2 endloop endfacet facet normal 0.771083 0.636734 0 outer loop vertex 24.7291 17.1695 0 - vertex 24.6602 17.253 -0.1 + vertex 24.6602 17.253 -0.2 vertex 24.6602 17.253 0 endloop endfacet facet normal 0.771083 0.636734 0 outer loop - vertex 24.6602 17.253 -0.1 + vertex 24.6602 17.253 -0.2 vertex 24.7291 17.1695 0 - vertex 24.7291 17.1695 -0.1 + vertex 24.7291 17.1695 -0.2 endloop endfacet facet normal 0.526106 0.850419 -0 outer loop - vertex 24.6602 17.253 -0.1 + vertex 24.6602 17.253 -0.2 vertex 24.5483 17.3222 0 vertex 24.6602 17.253 0 endloop @@ -31103,13 +31103,13 @@ solid OpenSCAD_Model facet normal 0.526106 0.850419 0 outer loop vertex 24.5483 17.3222 0 - vertex 24.6602 17.253 -0.1 - vertex 24.5483 17.3222 -0.1 + vertex 24.6602 17.253 -0.2 + vertex 24.5483 17.3222 -0.2 endloop endfacet facet normal 0.326655 0.945144 -0 outer loop - vertex 24.5483 17.3222 -0.1 + vertex 24.5483 17.3222 -0.2 vertex 24.386 17.3783 0 vertex 24.5483 17.3222 0 endloop @@ -31117,13 +31117,13 @@ solid OpenSCAD_Model facet normal 0.326655 0.945144 0 outer loop vertex 24.386 17.3783 0 - vertex 24.5483 17.3222 -0.1 - vertex 24.386 17.3783 -0.1 + vertex 24.5483 17.3222 -0.2 + vertex 24.386 17.3783 -0.2 endloop endfacet facet normal 0.19643 0.980518 -0 outer loop - vertex 24.386 17.3783 -0.1 + vertex 24.386 17.3783 -0.2 vertex 24.166 17.4223 0 vertex 24.386 17.3783 0 endloop @@ -31131,13 +31131,13 @@ solid OpenSCAD_Model facet normal 0.19643 0.980518 0 outer loop vertex 24.166 17.4223 0 - vertex 24.386 17.3783 -0.1 - vertex 24.166 17.4223 -0.1 + vertex 24.386 17.3783 -0.2 + vertex 24.166 17.4223 -0.2 endloop endfacet facet normal 0.0878721 0.996132 -0 outer loop - vertex 24.166 17.4223 -0.1 + vertex 24.166 17.4223 -0.2 vertex 23.5226 17.4791 0 vertex 24.166 17.4223 0 endloop @@ -31145,13 +31145,13 @@ solid OpenSCAD_Model facet normal 0.0878721 0.996132 0 outer loop vertex 23.5226 17.4791 0 - vertex 24.166 17.4223 -0.1 - vertex 23.5226 17.4791 -0.1 + vertex 24.166 17.4223 -0.2 + vertex 23.5226 17.4791 -0.2 endloop endfacet facet normal 0.0232768 0.999729 -0 outer loop - vertex 23.5226 17.4791 -0.1 + vertex 23.5226 17.4791 -0.2 vertex 22.5588 17.5015 0 vertex 23.5226 17.4791 0 endloop @@ -31159,13 +31159,13 @@ solid OpenSCAD_Model facet normal 0.0232768 0.999729 0 outer loop vertex 22.5588 17.5015 0 - vertex 23.5226 17.4791 -0.1 - vertex 22.5588 17.5015 -0.1 + vertex 23.5226 17.4791 -0.2 + vertex 22.5588 17.5015 -0.2 endloop endfacet facet normal 0.0146144 0.999893 -0 outer loop - vertex 22.5588 17.5015 -0.1 + vertex 22.5588 17.5015 -0.2 vertex 21.0506 17.5236 0 vertex 22.5588 17.5015 0 endloop @@ -31173,13 +31173,13 @@ solid OpenSCAD_Model facet normal 0.0146144 0.999893 0 outer loop vertex 21.0506 17.5236 0 - vertex 22.5588 17.5015 -0.1 - vertex 21.0506 17.5236 -0.1 + vertex 22.5588 17.5015 -0.2 + vertex 21.0506 17.5236 -0.2 endloop endfacet facet normal 0.0395978 0.999216 -0 outer loop - vertex 21.0506 17.5236 -0.1 + vertex 21.0506 17.5236 -0.2 vertex 20.2276 17.5562 0 vertex 21.0506 17.5236 0 endloop @@ -31187,13 +31187,13 @@ solid OpenSCAD_Model facet normal 0.0395978 0.999216 0 outer loop vertex 20.2276 17.5562 0 - vertex 21.0506 17.5236 -0.1 - vertex 20.2276 17.5562 -0.1 + vertex 21.0506 17.5236 -0.2 + vertex 20.2276 17.5562 -0.2 endloop endfacet facet normal 0.211618 0.977352 -0 outer loop - vertex 20.2276 17.5562 -0.1 + vertex 20.2276 17.5562 -0.2 vertex 20.1284 17.5777 0 vertex 20.2276 17.5562 0 endloop @@ -31201,13 +31201,13 @@ solid OpenSCAD_Model facet normal 0.211618 0.977352 0 outer loop vertex 20.1284 17.5777 0 - vertex 20.2276 17.5562 -0.1 - vertex 20.1284 17.5777 -0.1 + vertex 20.2276 17.5562 -0.2 + vertex 20.1284 17.5777 -0.2 endloop endfacet facet normal 0.390006 0.920812 -0 outer loop - vertex 20.1284 17.5777 -0.1 + vertex 20.1284 17.5777 -0.2 vertex 20.0333 17.6179 0 vertex 20.1284 17.5777 0 endloop @@ -31215,13 +31215,13 @@ solid OpenSCAD_Model facet normal 0.390006 0.920812 0 outer loop vertex 20.0333 17.6179 0 - vertex 20.1284 17.5777 -0.1 - vertex 20.0333 17.6179 -0.1 + vertex 20.1284 17.5777 -0.2 + vertex 20.0333 17.6179 -0.2 endloop endfacet facet normal 0.545234 0.838284 -0 outer loop - vertex 20.0333 17.6179 -0.1 + vertex 20.0333 17.6179 -0.2 vertex 19.9424 17.6771 0 vertex 20.0333 17.6179 0 endloop @@ -31229,13 +31229,13 @@ solid OpenSCAD_Model facet normal 0.545234 0.838284 0 outer loop vertex 19.9424 17.6771 0 - vertex 20.0333 17.6179 -0.1 - vertex 19.9424 17.6771 -0.1 + vertex 20.0333 17.6179 -0.2 + vertex 19.9424 17.6771 -0.2 endloop endfacet facet normal 0.668778 0.743462 -0 outer loop - vertex 19.9424 17.6771 -0.1 + vertex 19.9424 17.6771 -0.2 vertex 19.8554 17.7553 0 vertex 19.9424 17.6771 0 endloop @@ -31243,167 +31243,167 @@ solid OpenSCAD_Model facet normal 0.668778 0.743462 0 outer loop vertex 19.8554 17.7553 0 - vertex 19.9424 17.6771 -0.1 - vertex 19.8554 17.7553 -0.1 + vertex 19.9424 17.6771 -0.2 + vertex 19.8554 17.7553 -0.2 endloop endfacet facet normal 0.797362 0.603501 0 outer loop vertex 19.8554 17.7553 0 - vertex 19.6934 17.9694 -0.1 + vertex 19.6934 17.9694 -0.2 vertex 19.6934 17.9694 0 endloop endfacet facet normal 0.797362 0.603501 0 outer loop - vertex 19.6934 17.9694 -0.1 + vertex 19.6934 17.9694 -0.2 vertex 19.8554 17.7553 0 - vertex 19.8554 17.7553 -0.1 + vertex 19.8554 17.7553 -0.2 endloop endfacet facet normal 0.893603 0.448858 0 outer loop vertex 19.6934 17.9694 0 - vertex 19.5469 18.2611 -0.1 + vertex 19.5469 18.2611 -0.2 vertex 19.5469 18.2611 0 endloop endfacet facet normal 0.893603 0.448858 0 outer loop - vertex 19.5469 18.2611 -0.1 + vertex 19.5469 18.2611 -0.2 vertex 19.6934 17.9694 0 - vertex 19.6934 17.9694 -0.1 + vertex 19.6934 17.9694 -0.2 endloop endfacet facet normal 0.942385 0.33453 0 outer loop vertex 19.5469 18.2611 0 - vertex 19.4153 18.6317 -0.1 + vertex 19.4153 18.6317 -0.2 vertex 19.4153 18.6317 0 endloop endfacet facet normal 0.942385 0.33453 0 outer loop - vertex 19.4153 18.6317 -0.1 + vertex 19.4153 18.6317 -0.2 vertex 19.5469 18.2611 0 - vertex 19.5469 18.2611 -0.1 + vertex 19.5469 18.2611 -0.2 endloop endfacet facet normal 0.967894 0.251357 0 outer loop vertex 19.4153 18.6317 0 - vertex 19.2984 19.082 -0.1 + vertex 19.2984 19.082 -0.2 vertex 19.2984 19.082 0 endloop endfacet facet normal 0.967894 0.251357 0 outer loop - vertex 19.2984 19.082 -0.1 + vertex 19.2984 19.082 -0.2 vertex 19.4153 18.6317 0 - vertex 19.4153 18.6317 -0.1 + vertex 19.4153 18.6317 -0.2 endloop endfacet facet normal 0.981784 0.190002 0 outer loop vertex 19.2984 19.082 0 - vertex 19.1956 19.6132 -0.1 + vertex 19.1956 19.6132 -0.2 vertex 19.1956 19.6132 0 endloop endfacet facet normal 0.981784 0.190002 0 outer loop - vertex 19.1956 19.6132 -0.1 + vertex 19.1956 19.6132 -0.2 vertex 19.2984 19.082 0 - vertex 19.2984 19.082 -0.1 + vertex 19.2984 19.082 -0.2 endloop endfacet facet normal 0.989607 0.143797 0 outer loop vertex 19.1956 19.6132 0 - vertex 19.1065 20.2262 -0.1 + vertex 19.1065 20.2262 -0.2 vertex 19.1065 20.2262 0 endloop endfacet facet normal 0.989607 0.143797 0 outer loop - vertex 19.1065 20.2262 -0.1 + vertex 19.1065 20.2262 -0.2 vertex 19.1956 19.6132 0 - vertex 19.1956 19.6132 -0.1 + vertex 19.1956 19.6132 -0.2 endloop endfacet facet normal 0.988819 0.149121 0 outer loop vertex 19.1065 20.2262 0 - vertex 19.0081 20.8787 -0.1 + vertex 19.0081 20.8787 -0.2 vertex 19.0081 20.8787 0 endloop endfacet facet normal 0.988819 0.149121 0 outer loop - vertex 19.0081 20.8787 -0.1 + vertex 19.0081 20.8787 -0.2 vertex 19.1065 20.2262 0 - vertex 19.1065 20.2262 -0.1 + vertex 19.1065 20.2262 -0.2 endloop endfacet facet normal 0.979919 0.199398 0 outer loop vertex 19.0081 20.8787 0 - vertex 18.892 21.4494 -0.1 + vertex 18.892 21.4494 -0.2 vertex 18.892 21.4494 0 endloop endfacet facet normal 0.979919 0.199398 0 outer loop - vertex 18.892 21.4494 -0.1 + vertex 18.892 21.4494 -0.2 vertex 19.0081 20.8787 0 - vertex 19.0081 20.8787 -0.1 + vertex 19.0081 20.8787 -0.2 endloop endfacet facet normal 0.963148 0.268972 0 outer loop vertex 18.892 21.4494 0 - vertex 18.7726 21.8767 -0.1 + vertex 18.7726 21.8767 -0.2 vertex 18.7726 21.8767 0 endloop endfacet facet normal 0.963148 0.268972 0 outer loop - vertex 18.7726 21.8767 -0.1 + vertex 18.7726 21.8767 -0.2 vertex 18.892 21.4494 0 - vertex 18.892 21.4494 -0.1 + vertex 18.892 21.4494 -0.2 endloop endfacet facet normal 0.928333 0.371749 0 outer loop vertex 18.7726 21.8767 0 - vertex 18.7163 22.0174 -0.1 + vertex 18.7163 22.0174 -0.2 vertex 18.7163 22.0174 0 endloop endfacet facet normal 0.928333 0.371749 0 outer loop - vertex 18.7163 22.0174 -0.1 + vertex 18.7163 22.0174 -0.2 vertex 18.7726 21.8767 0 - vertex 18.7726 21.8767 -0.1 + vertex 18.7726 21.8767 -0.2 endloop endfacet facet normal 0.845312 0.534273 0 outer loop vertex 18.7163 22.0174 0 - vertex 18.6646 22.0992 -0.1 + vertex 18.6646 22.0992 -0.2 vertex 18.6646 22.0992 0 endloop endfacet facet normal 0.845312 0.534273 0 outer loop - vertex 18.6646 22.0992 -0.1 + vertex 18.6646 22.0992 -0.2 vertex 18.7163 22.0174 0 - vertex 18.7163 22.0174 -0.1 + vertex 18.7163 22.0174 -0.2 endloop endfacet facet normal 0.569342 0.822101 -0 outer loop - vertex 18.6646 22.0992 -0.1 + vertex 18.6646 22.0992 -0.2 vertex 18.4732 22.2317 0 vertex 18.6646 22.0992 0 endloop @@ -31411,13 +31411,13 @@ solid OpenSCAD_Model facet normal 0.569342 0.822101 0 outer loop vertex 18.4732 22.2317 0 - vertex 18.6646 22.0992 -0.1 - vertex 18.4732 22.2317 -0.1 + vertex 18.6646 22.0992 -0.2 + vertex 18.4732 22.2317 -0.2 endloop endfacet facet normal 0.466042 0.884763 -0 outer loop - vertex 18.4732 22.2317 -0.1 + vertex 18.4732 22.2317 -0.2 vertex 18.127 22.4141 0 vertex 18.4732 22.2317 0 endloop @@ -31425,13 +31425,13 @@ solid OpenSCAD_Model facet normal 0.466042 0.884763 0 outer loop vertex 18.127 22.4141 0 - vertex 18.4732 22.2317 -0.1 - vertex 18.127 22.4141 -0.1 + vertex 18.4732 22.2317 -0.2 + vertex 18.127 22.4141 -0.2 endloop endfacet facet normal 0.418359 0.908282 -0 outer loop - vertex 18.127 22.4141 -0.1 + vertex 18.127 22.4141 -0.2 vertex 17.6752 22.6222 0 vertex 18.127 22.4141 0 endloop @@ -31439,13 +31439,13 @@ solid OpenSCAD_Model facet normal 0.418359 0.908282 0 outer loop vertex 17.6752 22.6222 0 - vertex 18.127 22.4141 -0.1 - vertex 17.6752 22.6222 -0.1 + vertex 18.127 22.4141 -0.2 + vertex 17.6752 22.6222 -0.2 endloop endfacet facet normal 0.381566 0.924342 -0 outer loop - vertex 17.6752 22.6222 -0.1 + vertex 17.6752 22.6222 -0.2 vertex 17.1667 22.8321 0 vertex 17.6752 22.6222 0 endloop @@ -31453,13 +31453,13 @@ solid OpenSCAD_Model facet normal 0.381566 0.924342 0 outer loop vertex 17.1667 22.8321 0 - vertex 17.6752 22.6222 -0.1 - vertex 17.1667 22.8321 -0.1 + vertex 17.6752 22.6222 -0.2 + vertex 17.1667 22.8321 -0.2 endloop endfacet facet normal 0.375086 0.92699 -0 outer loop - vertex 17.1667 22.8321 -0.1 + vertex 17.1667 22.8321 -0.2 vertex 15.5173 23.4995 0 vertex 17.1667 22.8321 0 endloop @@ -31467,13 +31467,13 @@ solid OpenSCAD_Model facet normal 0.375086 0.92699 0 outer loop vertex 15.5173 23.4995 0 - vertex 17.1667 22.8321 -0.1 - vertex 15.5173 23.4995 -0.1 + vertex 17.1667 22.8321 -0.2 + vertex 15.5173 23.4995 -0.2 endloop endfacet facet normal 0.401684 0.915778 -0 outer loop - vertex 15.5173 23.4995 -0.1 + vertex 15.5173 23.4995 -0.2 vertex 14.0281 24.1527 0 vertex 15.5173 23.4995 0 endloop @@ -31481,13 +31481,13 @@ solid OpenSCAD_Model facet normal 0.401684 0.915778 0 outer loop vertex 14.0281 24.1527 0 - vertex 15.5173 23.4995 -0.1 - vertex 14.0281 24.1527 -0.1 + vertex 15.5173 23.4995 -0.2 + vertex 14.0281 24.1527 -0.2 endloop endfacet facet normal 0.431504 0.902111 -0 outer loop - vertex 14.0281 24.1527 -0.1 + vertex 14.0281 24.1527 -0.2 vertex 13.7923 24.2655 0 vertex 14.0281 24.1527 0 endloop @@ -31495,13 +31495,13 @@ solid OpenSCAD_Model facet normal 0.431504 0.902111 0 outer loop vertex 13.7923 24.2655 0 - vertex 14.0281 24.1527 -0.1 - vertex 13.7923 24.2655 -0.1 + vertex 14.0281 24.1527 -0.2 + vertex 13.7923 24.2655 -0.2 endloop endfacet facet normal 0.491302 0.870989 -0 outer loop - vertex 13.7923 24.2655 -0.1 + vertex 13.7923 24.2655 -0.2 vertex 13.5553 24.3991 0 vertex 13.7923 24.2655 0 endloop @@ -31509,13 +31509,13 @@ solid OpenSCAD_Model facet normal 0.491302 0.870989 0 outer loop vertex 13.5553 24.3991 0 - vertex 13.7923 24.2655 -0.1 - vertex 13.5553 24.3991 -0.1 + vertex 13.7923 24.2655 -0.2 + vertex 13.5553 24.3991 -0.2 endloop endfacet facet normal 0.565064 0.825047 -0 outer loop - vertex 13.5553 24.3991 -0.1 + vertex 13.5553 24.3991 -0.2 vertex 13.085 24.7212 0 vertex 13.5553 24.3991 0 endloop @@ -31523,13 +31523,13 @@ solid OpenSCAD_Model facet normal 0.565064 0.825047 0 outer loop vertex 13.085 24.7212 0 - vertex 13.5553 24.3991 -0.1 - vertex 13.085 24.7212 -0.1 + vertex 13.5553 24.3991 -0.2 + vertex 13.085 24.7212 -0.2 endloop endfacet facet normal 0.644201 0.764857 -0 outer loop - vertex 13.085 24.7212 -0.1 + vertex 13.085 24.7212 -0.2 vertex 12.6316 25.1032 0 vertex 13.085 24.7212 0 endloop @@ -31537,251 +31537,251 @@ solid OpenSCAD_Model facet normal 0.644201 0.764857 0 outer loop vertex 12.6316 25.1032 0 - vertex 13.085 24.7212 -0.1 - vertex 12.6316 25.1032 -0.1 + vertex 13.085 24.7212 -0.2 + vertex 12.6316 25.1032 -0.2 endloop endfacet facet normal 0.710157 0.704043 0 outer loop vertex 12.6316 25.1032 0 - vertex 12.2092 25.5292 -0.1 + vertex 12.2092 25.5292 -0.2 vertex 12.2092 25.5292 0 endloop endfacet facet normal 0.710157 0.704043 0 outer loop - vertex 12.2092 25.5292 -0.1 + vertex 12.2092 25.5292 -0.2 vertex 12.6316 25.1032 0 - vertex 12.6316 25.1032 -0.1 + vertex 12.6316 25.1032 -0.2 endloop endfacet facet normal 0.769647 0.63847 0 outer loop vertex 12.2092 25.5292 0 - vertex 11.8324 25.9834 -0.1 + vertex 11.8324 25.9834 -0.2 vertex 11.8324 25.9834 0 endloop endfacet facet normal 0.769647 0.63847 0 outer loop - vertex 11.8324 25.9834 -0.1 + vertex 11.8324 25.9834 -0.2 vertex 12.2092 25.5292 0 - vertex 12.2092 25.5292 -0.1 + vertex 12.2092 25.5292 -0.2 endloop endfacet facet normal 0.827234 0.561857 0 outer loop vertex 11.8324 25.9834 0 - vertex 11.5154 26.4501 -0.1 + vertex 11.5154 26.4501 -0.2 vertex 11.5154 26.4501 0 endloop endfacet facet normal 0.827234 0.561857 0 outer loop - vertex 11.5154 26.4501 -0.1 + vertex 11.5154 26.4501 -0.2 vertex 11.8324 25.9834 0 - vertex 11.8324 25.9834 -0.1 + vertex 11.8324 25.9834 -0.2 endloop endfacet facet normal 0.870844 0.491559 0 outer loop vertex 11.5154 26.4501 0 - vertex 11.3839 26.6832 -0.1 + vertex 11.3839 26.6832 -0.2 vertex 11.3839 26.6832 0 endloop endfacet facet normal 0.870844 0.491559 0 outer loop - vertex 11.3839 26.6832 -0.1 + vertex 11.3839 26.6832 -0.2 vertex 11.5154 26.4501 0 - vertex 11.5154 26.4501 -0.1 + vertex 11.5154 26.4501 -0.2 endloop endfacet facet normal 0.900452 0.434955 0 outer loop vertex 11.3839 26.6832 0 - vertex 11.2726 26.9135 -0.1 + vertex 11.2726 26.9135 -0.2 vertex 11.2726 26.9135 0 endloop endfacet facet normal 0.900452 0.434955 0 outer loop - vertex 11.2726 26.9135 -0.1 + vertex 11.2726 26.9135 -0.2 vertex 11.3839 26.6832 0 - vertex 11.3839 26.6832 -0.1 + vertex 11.3839 26.6832 -0.2 endloop endfacet facet normal 0.930028 0.367488 0 outer loop vertex 11.2726 26.9135 0 - vertex 11.1835 27.139 -0.1 + vertex 11.1835 27.139 -0.2 vertex 11.1835 27.139 0 endloop endfacet facet normal 0.930028 0.367488 0 outer loop - vertex 11.1835 27.139 -0.1 + vertex 11.1835 27.139 -0.2 vertex 11.2726 26.9135 0 - vertex 11.2726 26.9135 -0.1 + vertex 11.2726 26.9135 -0.2 endloop endfacet facet normal 0.958361 0.28556 0 outer loop vertex 11.1835 27.139 0 - vertex 11.1184 27.3577 -0.1 + vertex 11.1184 27.3577 -0.2 vertex 11.1184 27.3577 0 endloop endfacet facet normal 0.958361 0.28556 0 outer loop - vertex 11.1184 27.3577 -0.1 + vertex 11.1184 27.3577 -0.2 vertex 11.1835 27.139 0 - vertex 11.1835 27.139 -0.1 + vertex 11.1835 27.139 -0.2 endloop endfacet facet normal 0.982358 0.187011 0 outer loop vertex 11.1184 27.3577 0 - vertex 11.0734 27.5937 -0.1 + vertex 11.0734 27.5937 -0.2 vertex 11.0734 27.5937 0 endloop endfacet facet normal 0.982358 0.187011 0 outer loop - vertex 11.0734 27.5937 -0.1 + vertex 11.0734 27.5937 -0.2 vertex 11.1184 27.3577 0 - vertex 11.1184 27.3577 -0.1 + vertex 11.1184 27.3577 -0.2 endloop endfacet facet normal 0.995162 0.0982451 0 outer loop vertex 11.0734 27.5937 0 - vertex 11.0484 27.8474 -0.1 + vertex 11.0484 27.8474 -0.2 vertex 11.0484 27.8474 0 endloop endfacet facet normal 0.995162 0.0982451 0 outer loop - vertex 11.0484 27.8474 -0.1 + vertex 11.0484 27.8474 -0.2 vertex 11.0734 27.5937 0 - vertex 11.0734 27.5937 -0.1 + vertex 11.0734 27.5937 -0.2 endloop endfacet facet normal 0.999708 0.0241697 0 outer loop vertex 11.0484 27.8474 0 - vertex 11.0419 28.1143 -0.1 + vertex 11.0419 28.1143 -0.2 vertex 11.0419 28.1143 0 endloop endfacet facet normal 0.999708 0.0241697 0 outer loop - vertex 11.0419 28.1143 -0.1 + vertex 11.0419 28.1143 -0.2 vertex 11.0484 27.8474 0 - vertex 11.0484 27.8474 -0.1 + vertex 11.0484 27.8474 -0.2 endloop endfacet facet normal 0.999225 -0.0393733 0 outer loop vertex 11.0419 28.1143 0 - vertex 11.0528 28.3898 -0.1 + vertex 11.0528 28.3898 -0.2 vertex 11.0528 28.3898 0 endloop endfacet facet normal 0.999225 -0.0393733 0 outer loop - vertex 11.0528 28.3898 -0.1 + vertex 11.0528 28.3898 -0.2 vertex 11.0419 28.1143 0 - vertex 11.0419 28.1143 -0.1 + vertex 11.0419 28.1143 -0.2 endloop endfacet facet normal 0.992566 -0.121707 0 outer loop vertex 11.0528 28.3898 0 - vertex 11.1213 28.9486 -0.1 + vertex 11.1213 28.9486 -0.2 vertex 11.1213 28.9486 0 endloop endfacet facet normal 0.992566 -0.121707 0 outer loop - vertex 11.1213 28.9486 -0.1 + vertex 11.1213 28.9486 -0.2 vertex 11.0528 28.3898 0 - vertex 11.0528 28.3898 -0.1 + vertex 11.0528 28.3898 -0.2 endloop endfacet facet normal 0.975165 -0.221479 0 outer loop vertex 11.1213 28.9486 0 - vertex 11.2437 29.4873 -0.1 + vertex 11.2437 29.4873 -0.2 vertex 11.2437 29.4873 0 endloop endfacet facet normal 0.975165 -0.221479 0 outer loop - vertex 11.2437 29.4873 -0.1 + vertex 11.2437 29.4873 -0.2 vertex 11.1213 28.9486 0 - vertex 11.1213 28.9486 -0.1 + vertex 11.1213 28.9486 -0.2 endloop endfacet facet normal 0.94561 -0.325304 0 outer loop vertex 11.2437 29.4873 0 - vertex 11.4096 29.9696 -0.1 + vertex 11.4096 29.9696 -0.2 vertex 11.4096 29.9696 0 endloop endfacet facet normal 0.94561 -0.325304 0 outer loop - vertex 11.4096 29.9696 -0.1 + vertex 11.4096 29.9696 -0.2 vertex 11.2437 29.4873 0 - vertex 11.2437 29.4873 -0.1 + vertex 11.2437 29.4873 -0.2 endloop endfacet facet normal 0.908293 -0.418334 0 outer loop vertex 11.4096 29.9696 0 - vertex 11.5057 30.1782 -0.1 + vertex 11.5057 30.1782 -0.2 vertex 11.5057 30.1782 0 endloop endfacet facet normal 0.908293 -0.418334 0 outer loop - vertex 11.5057 30.1782 -0.1 + vertex 11.5057 30.1782 -0.2 vertex 11.4096 29.9696 0 - vertex 11.4096 29.9696 -0.1 + vertex 11.4096 29.9696 -0.2 endloop endfacet facet normal 0.868734 -0.495279 0 outer loop vertex 11.5057 30.1782 0 - vertex 11.6088 30.3591 -0.1 + vertex 11.6088 30.3591 -0.2 vertex 11.6088 30.3591 0 endloop endfacet facet normal 0.868734 -0.495279 0 outer loop - vertex 11.6088 30.3591 -0.1 + vertex 11.6088 30.3591 -0.2 vertex 11.5057 30.1782 0 - vertex 11.5057 30.1782 -0.1 + vertex 11.5057 30.1782 -0.2 endloop endfacet facet normal 0.806643 -0.59104 0 outer loop vertex 11.6088 30.3591 0 - vertex 11.7177 30.5077 -0.1 + vertex 11.7177 30.5077 -0.2 vertex 11.7177 30.5077 0 endloop endfacet facet normal 0.806643 -0.59104 0 outer loop - vertex 11.7177 30.5077 -0.1 + vertex 11.7177 30.5077 -0.2 vertex 11.6088 30.3591 0 - vertex 11.6088 30.3591 -0.1 + vertex 11.6088 30.3591 -0.2 endloop endfacet facet normal 0.702105 -0.712073 0 outer loop - vertex 11.7177 30.5077 -0.1 + vertex 11.7177 30.5077 -0.2 vertex 11.8311 30.6195 0 vertex 11.7177 30.5077 0 endloop @@ -31789,13 +31789,13 @@ solid OpenSCAD_Model facet normal 0.702105 -0.712073 0 outer loop vertex 11.8311 30.6195 0 - vertex 11.7177 30.5077 -0.1 - vertex 11.8311 30.6195 -0.1 + vertex 11.7177 30.5077 -0.2 + vertex 11.8311 30.6195 -0.2 endloop endfacet facet normal 0.51702 -0.855973 0 outer loop - vertex 11.8311 30.6195 -0.1 + vertex 11.8311 30.6195 -0.2 vertex 11.9476 30.6899 0 vertex 11.8311 30.6195 0 endloop @@ -31803,13 +31803,13 @@ solid OpenSCAD_Model facet normal 0.51702 -0.855973 0 outer loop vertex 11.9476 30.6899 0 - vertex 11.8311 30.6195 -0.1 - vertex 11.9476 30.6899 -0.1 + vertex 11.8311 30.6195 -0.2 + vertex 11.9476 30.6899 -0.2 endloop endfacet facet normal 0.202357 -0.979312 0 outer loop - vertex 11.9476 30.6899 -0.1 + vertex 11.9476 30.6899 -0.2 vertex 12.0661 30.7144 0 vertex 11.9476 30.6899 0 endloop @@ -31817,13 +31817,13 @@ solid OpenSCAD_Model facet normal 0.202357 -0.979312 0 outer loop vertex 12.0661 30.7144 0 - vertex 11.9476 30.6899 -0.1 - vertex 12.0661 30.7144 -0.1 + vertex 11.9476 30.6899 -0.2 + vertex 12.0661 30.7144 -0.2 endloop endfacet facet normal -0.111663 -0.993746 0 outer loop - vertex 12.0661 30.7144 -0.1 + vertex 12.0661 30.7144 -0.2 vertex 12.1728 30.7024 0 vertex 12.0661 30.7144 0 endloop @@ -31831,13 +31831,13 @@ solid OpenSCAD_Model facet normal -0.111663 -0.993746 -0 outer loop vertex 12.1728 30.7024 0 - vertex 12.0661 30.7144 -0.1 - vertex 12.1728 30.7024 -0.1 + vertex 12.0661 30.7144 -0.2 + vertex 12.1728 30.7024 -0.2 endloop endfacet facet normal -0.43355 -0.90113 0 outer loop - vertex 12.1728 30.7024 -0.1 + vertex 12.1728 30.7024 -0.2 vertex 12.2478 30.6663 0 vertex 12.1728 30.7024 0 endloop @@ -31845,265 +31845,265 @@ solid OpenSCAD_Model facet normal -0.43355 -0.90113 -0 outer loop vertex 12.2478 30.6663 0 - vertex 12.1728 30.7024 -0.1 - vertex 12.2478 30.6663 -0.1 + vertex 12.1728 30.7024 -0.2 + vertex 12.2478 30.6663 -0.2 endloop endfacet facet normal -0.812799 -0.582545 0 outer loop - vertex 12.291 30.606 -0.1 + vertex 12.291 30.606 -0.2 vertex 12.2478 30.6663 0 - vertex 12.2478 30.6663 -0.1 + vertex 12.2478 30.6663 -0.2 endloop endfacet facet normal -0.812799 -0.582545 0 outer loop vertex 12.2478 30.6663 0 - vertex 12.291 30.606 -0.1 + vertex 12.291 30.606 -0.2 vertex 12.291 30.606 0 endloop endfacet facet normal -0.990983 -0.133984 0 outer loop - vertex 12.3025 30.5214 -0.1 + vertex 12.3025 30.5214 -0.2 vertex 12.291 30.606 0 - vertex 12.291 30.606 -0.1 + vertex 12.291 30.606 -0.2 endloop endfacet facet normal -0.990983 -0.133984 0 outer loop vertex 12.291 30.606 0 - vertex 12.3025 30.5214 -0.1 + vertex 12.3025 30.5214 -0.2 vertex 12.3025 30.5214 0 endloop endfacet facet normal -0.983093 0.183105 0 outer loop - vertex 12.2821 30.4122 -0.1 + vertex 12.2821 30.4122 -0.2 vertex 12.3025 30.5214 0 - vertex 12.3025 30.5214 -0.1 + vertex 12.3025 30.5214 -0.2 endloop endfacet facet normal -0.983093 0.183105 0 outer loop vertex 12.3025 30.5214 0 - vertex 12.2821 30.4122 -0.1 + vertex 12.2821 30.4122 -0.2 vertex 12.2821 30.4122 0 endloop endfacet facet normal -0.931822 0.362917 0 outer loop - vertex 12.23 30.2784 -0.1 + vertex 12.23 30.2784 -0.2 vertex 12.2821 30.4122 0 - vertex 12.2821 30.4122 -0.1 + vertex 12.2821 30.4122 -0.2 endloop endfacet facet normal -0.931822 0.362917 0 outer loop vertex 12.2821 30.4122 0 - vertex 12.23 30.2784 -0.1 + vertex 12.23 30.2784 -0.2 vertex 12.23 30.2784 0 endloop endfacet facet normal -0.863735 0.503946 0 outer loop - vertex 12.0304 29.9363 -0.1 + vertex 12.0304 29.9363 -0.2 vertex 12.23 30.2784 0 - vertex 12.23 30.2784 -0.1 + vertex 12.23 30.2784 -0.2 endloop endfacet facet normal -0.863735 0.503946 0 outer loop vertex 12.23 30.2784 0 - vertex 12.0304 29.9363 -0.1 + vertex 12.0304 29.9363 -0.2 vertex 12.0304 29.9363 0 endloop endfacet facet normal -0.874405 0.485196 0 outer loop - vertex 11.965 29.8184 -0.1 + vertex 11.965 29.8184 -0.2 vertex 12.0304 29.9363 0 - vertex 12.0304 29.9363 -0.1 + vertex 12.0304 29.9363 -0.2 endloop endfacet facet normal -0.874405 0.485196 0 outer loop vertex 12.0304 29.9363 0 - vertex 11.965 29.8184 -0.1 + vertex 11.965 29.8184 -0.2 vertex 11.965 29.8184 0 endloop endfacet facet normal -0.930071 0.367381 0 outer loop - vertex 11.9082 29.6745 -0.1 + vertex 11.9082 29.6745 -0.2 vertex 11.965 29.8184 0 - vertex 11.965 29.8184 -0.1 + vertex 11.965 29.8184 -0.2 endloop endfacet facet normal -0.930071 0.367381 0 outer loop vertex 11.965 29.8184 0 - vertex 11.9082 29.6745 -0.1 + vertex 11.9082 29.6745 -0.2 vertex 11.9082 29.6745 0 endloop endfacet facet normal -0.970384 0.241567 0 outer loop - vertex 11.8205 29.3224 -0.1 + vertex 11.8205 29.3224 -0.2 vertex 11.9082 29.6745 0 - vertex 11.9082 29.6745 -0.1 + vertex 11.9082 29.6745 -0.2 endloop endfacet facet normal -0.970384 0.241567 0 outer loop vertex 11.9082 29.6745 0 - vertex 11.8205 29.3224 -0.1 + vertex 11.8205 29.3224 -0.2 vertex 11.8205 29.3224 0 endloop endfacet facet normal -0.99199 0.126319 0 outer loop - vertex 11.7675 28.9061 -0.1 + vertex 11.7675 28.9061 -0.2 vertex 11.8205 29.3224 0 - vertex 11.8205 29.3224 -0.1 + vertex 11.8205 29.3224 -0.2 endloop endfacet facet normal -0.99199 0.126319 0 outer loop vertex 11.8205 29.3224 0 - vertex 11.7675 28.9061 -0.1 + vertex 11.7675 28.9061 -0.2 vertex 11.7675 28.9061 0 endloop endfacet facet normal -0.999189 0.0402694 0 outer loop - vertex 11.7492 28.4518 -0.1 + vertex 11.7492 28.4518 -0.2 vertex 11.7675 28.9061 0 - vertex 11.7675 28.9061 -0.1 + vertex 11.7675 28.9061 -0.2 endloop endfacet facet normal -0.999189 0.0402694 0 outer loop vertex 11.7675 28.9061 0 - vertex 11.7492 28.4518 -0.1 + vertex 11.7492 28.4518 -0.2 vertex 11.7492 28.4518 0 endloop endfacet facet normal -0.999377 -0.0352801 0 outer loop - vertex 11.7656 27.9858 -0.1 + vertex 11.7656 27.9858 -0.2 vertex 11.7492 28.4518 0 - vertex 11.7492 28.4518 -0.1 + vertex 11.7492 28.4518 -0.2 endloop endfacet facet normal -0.999377 -0.0352801 0 outer loop vertex 11.7492 28.4518 0 - vertex 11.7656 27.9858 -0.1 + vertex 11.7656 27.9858 -0.2 vertex 11.7656 27.9858 0 endloop endfacet facet normal -0.993617 -0.112806 0 outer loop - vertex 11.8169 27.5343 -0.1 + vertex 11.8169 27.5343 -0.2 vertex 11.7656 27.9858 0 - vertex 11.7656 27.9858 -0.1 + vertex 11.7656 27.9858 -0.2 endloop endfacet facet normal -0.993617 -0.112806 0 outer loop vertex 11.7656 27.9858 0 - vertex 11.8169 27.5343 -0.1 + vertex 11.8169 27.5343 -0.2 vertex 11.8169 27.5343 0 endloop endfacet facet normal -0.978727 -0.205168 0 outer loop - vertex 11.903 27.1234 -0.1 + vertex 11.903 27.1234 -0.2 vertex 11.8169 27.5343 0 - vertex 11.8169 27.5343 -0.1 + vertex 11.8169 27.5343 -0.2 endloop endfacet facet normal -0.978727 -0.205168 0 outer loop vertex 11.8169 27.5343 0 - vertex 11.903 27.1234 -0.1 + vertex 11.903 27.1234 -0.2 vertex 11.903 27.1234 0 endloop endfacet facet normal -0.943297 -0.331951 0 outer loop - vertex 12.0241 26.7794 -0.1 + vertex 12.0241 26.7794 -0.2 vertex 11.903 27.1234 0 - vertex 11.903 27.1234 -0.1 + vertex 11.903 27.1234 -0.2 endloop endfacet facet normal -0.943297 -0.331951 0 outer loop vertex 11.903 27.1234 0 - vertex 12.0241 26.7794 -0.1 + vertex 12.0241 26.7794 -0.2 vertex 12.0241 26.7794 0 endloop endfacet facet normal -0.895057 -0.445953 0 outer loop - vertex 12.1339 26.5589 -0.1 + vertex 12.1339 26.5589 -0.2 vertex 12.0241 26.7794 0 - vertex 12.0241 26.7794 -0.1 + vertex 12.0241 26.7794 -0.2 endloop endfacet facet normal -0.895057 -0.445953 0 outer loop vertex 12.0241 26.7794 0 - vertex 12.1339 26.5589 -0.1 + vertex 12.1339 26.5589 -0.2 vertex 12.1339 26.5589 0 endloop endfacet facet normal -0.859859 -0.510531 0 outer loop - vertex 12.2572 26.3514 -0.1 + vertex 12.2572 26.3514 -0.2 vertex 12.1339 26.5589 0 - vertex 12.1339 26.5589 -0.1 + vertex 12.1339 26.5589 -0.2 endloop endfacet facet normal -0.859859 -0.510531 0 outer loop vertex 12.1339 26.5589 0 - vertex 12.2572 26.3514 -0.1 + vertex 12.2572 26.3514 -0.2 vertex 12.2572 26.3514 0 endloop endfacet facet normal -0.813765 -0.581194 0 outer loop - vertex 12.3979 26.1543 -0.1 + vertex 12.3979 26.1543 -0.2 vertex 12.2572 26.3514 0 - vertex 12.2572 26.3514 -0.1 + vertex 12.2572 26.3514 -0.2 endloop endfacet facet normal -0.813765 -0.581194 0 outer loop vertex 12.2572 26.3514 0 - vertex 12.3979 26.1543 -0.1 + vertex 12.3979 26.1543 -0.2 vertex 12.3979 26.1543 0 endloop endfacet facet normal -0.758497 -0.651676 0 outer loop - vertex 12.5603 25.9653 -0.1 + vertex 12.5603 25.9653 -0.2 vertex 12.3979 26.1543 0 - vertex 12.3979 26.1543 -0.1 + vertex 12.3979 26.1543 -0.2 endloop endfacet facet normal -0.758497 -0.651676 0 outer loop vertex 12.3979 26.1543 0 - vertex 12.5603 25.9653 -0.1 + vertex 12.5603 25.9653 -0.2 vertex 12.5603 25.9653 0 endloop endfacet facet normal -0.697934 -0.716162 0 outer loop - vertex 12.5603 25.9653 -0.1 + vertex 12.5603 25.9653 -0.2 vertex 12.7484 25.782 0 vertex 12.5603 25.9653 0 endloop @@ -32111,13 +32111,13 @@ solid OpenSCAD_Model facet normal -0.697934 -0.716162 -0 outer loop vertex 12.7484 25.782 0 - vertex 12.5603 25.9653 -0.1 - vertex 12.7484 25.782 -0.1 + vertex 12.5603 25.9653 -0.2 + vertex 12.7484 25.782 -0.2 endloop endfacet facet normal -0.636928 -0.770923 0 outer loop - vertex 12.7484 25.782 -0.1 + vertex 12.7484 25.782 -0.2 vertex 12.9664 25.6018 0 vertex 12.7484 25.782 0 endloop @@ -32125,13 +32125,13 @@ solid OpenSCAD_Model facet normal -0.636928 -0.770923 -0 outer loop vertex 12.9664 25.6018 0 - vertex 12.7484 25.782 -0.1 - vertex 12.9664 25.6018 -0.1 + vertex 12.7484 25.782 -0.2 + vertex 12.9664 25.6018 -0.2 endloop endfacet facet normal -0.579754 -0.814791 0 outer loop - vertex 12.9664 25.6018 -0.1 + vertex 12.9664 25.6018 -0.2 vertex 13.2184 25.4225 0 vertex 12.9664 25.6018 0 endloop @@ -32139,13 +32139,13 @@ solid OpenSCAD_Model facet normal -0.579754 -0.814791 -0 outer loop vertex 13.2184 25.4225 0 - vertex 12.9664 25.6018 -0.1 - vertex 13.2184 25.4225 -0.1 + vertex 12.9664 25.6018 -0.2 + vertex 13.2184 25.4225 -0.2 endloop endfacet facet normal -0.529164 -0.84852 0 outer loop - vertex 13.2184 25.4225 -0.1 + vertex 13.2184 25.4225 -0.2 vertex 13.5086 25.2416 0 vertex 13.2184 25.4225 0 endloop @@ -32153,13 +32153,13 @@ solid OpenSCAD_Model facet normal -0.529164 -0.84852 -0 outer loop vertex 13.5086 25.2416 0 - vertex 13.2184 25.4225 -0.1 - vertex 13.5086 25.2416 -0.1 + vertex 13.2184 25.4225 -0.2 + vertex 13.5086 25.2416 -0.2 endloop endfacet facet normal -0.467835 -0.883816 0 outer loop - vertex 13.5086 25.2416 -0.1 + vertex 13.5086 25.2416 -0.2 vertex 14.2197 24.8651 0 vertex 13.5086 25.2416 0 endloop @@ -32167,13 +32167,13 @@ solid OpenSCAD_Model facet normal -0.467835 -0.883816 -0 outer loop vertex 14.2197 24.8651 0 - vertex 13.5086 25.2416 -0.1 - vertex 14.2197 24.8651 -0.1 + vertex 13.5086 25.2416 -0.2 + vertex 14.2197 24.8651 -0.2 endloop endfacet facet normal -0.411276 -0.911511 0 outer loop - vertex 14.2197 24.8651 -0.1 + vertex 14.2197 24.8651 -0.2 vertex 15.1328 24.4531 0 vertex 14.2197 24.8651 0 endloop @@ -32181,13 +32181,13 @@ solid OpenSCAD_Model facet normal -0.411276 -0.911511 -0 outer loop vertex 15.1328 24.4531 0 - vertex 14.2197 24.8651 -0.1 - vertex 15.1328 24.4531 -0.1 + vertex 14.2197 24.8651 -0.2 + vertex 15.1328 24.4531 -0.2 endloop endfacet facet normal -0.376758 -0.926312 0 outer loop - vertex 15.1328 24.4531 -0.1 + vertex 15.1328 24.4531 -0.2 vertex 16.2809 23.9862 0 vertex 15.1328 24.4531 0 endloop @@ -32195,13 +32195,13 @@ solid OpenSCAD_Model facet normal -0.376758 -0.926312 -0 outer loop vertex 16.2809 23.9862 0 - vertex 15.1328 24.4531 -0.1 - vertex 16.2809 23.9862 -0.1 + vertex 15.1328 24.4531 -0.2 + vertex 16.2809 23.9862 -0.2 endloop endfacet facet normal -0.357069 -0.934078 0 outer loop - vertex 16.2809 23.9862 -0.1 + vertex 16.2809 23.9862 -0.2 vertex 17.6969 23.4449 0 vertex 16.2809 23.9862 0 endloop @@ -32209,13 +32209,13 @@ solid OpenSCAD_Model facet normal -0.357069 -0.934078 -0 outer loop vertex 17.6969 23.4449 0 - vertex 16.2809 23.9862 -0.1 - vertex 17.6969 23.4449 -0.1 + vertex 16.2809 23.9862 -0.2 + vertex 17.6969 23.4449 -0.2 endloop endfacet facet normal -0.423576 -0.90586 0 outer loop - vertex 17.6969 23.4449 -0.1 + vertex 17.6969 23.4449 -0.2 vertex 17.9883 23.3086 0 vertex 17.6969 23.4449 0 endloop @@ -32223,13 +32223,13 @@ solid OpenSCAD_Model facet normal -0.423576 -0.90586 -0 outer loop vertex 17.9883 23.3086 0 - vertex 17.6969 23.4449 -0.1 - vertex 17.9883 23.3086 -0.1 + vertex 17.6969 23.4449 -0.2 + vertex 17.9883 23.3086 -0.2 endloop endfacet facet normal -0.513377 -0.858163 0 outer loop - vertex 17.9883 23.3086 -0.1 + vertex 17.9883 23.3086 -0.2 vertex 18.318 23.1114 0 vertex 17.9883 23.3086 0 endloop @@ -32237,13 +32237,13 @@ solid OpenSCAD_Model facet normal -0.513377 -0.858163 -0 outer loop vertex 18.318 23.1114 0 - vertex 17.9883 23.3086 -0.1 - vertex 18.318 23.1114 -0.1 + vertex 17.9883 23.3086 -0.2 + vertex 18.318 23.1114 -0.2 endloop endfacet facet normal -0.57768 -0.816263 0 outer loop - vertex 18.318 23.1114 -0.1 + vertex 18.318 23.1114 -0.2 vertex 18.6454 22.8797 0 vertex 18.318 23.1114 0 endloop @@ -32251,13 +32251,13 @@ solid OpenSCAD_Model facet normal -0.57768 -0.816263 -0 outer loop vertex 18.6454 22.8797 0 - vertex 18.318 23.1114 -0.1 - vertex 18.6454 22.8797 -0.1 + vertex 18.318 23.1114 -0.2 + vertex 18.6454 22.8797 -0.2 endloop endfacet facet normal -0.644197 -0.76486 0 outer loop - vertex 18.6454 22.8797 -0.1 + vertex 18.6454 22.8797 -0.2 vertex 18.9302 22.6398 0 vertex 18.6454 22.8797 0 endloop @@ -32265,13 +32265,13 @@ solid OpenSCAD_Model facet normal -0.644197 -0.76486 -0 outer loop vertex 18.9302 22.6398 0 - vertex 18.6454 22.8797 -0.1 - vertex 18.9302 22.6398 -0.1 + vertex 18.6454 22.8797 -0.2 + vertex 18.9302 22.6398 -0.2 endloop endfacet facet normal -0.705164 -0.709044 0 outer loop - vertex 18.9302 22.6398 -0.1 + vertex 18.9302 22.6398 -0.2 vertex 19.108 22.463 0 vertex 18.9302 22.6398 0 endloop @@ -32279,181 +32279,181 @@ solid OpenSCAD_Model facet normal -0.705164 -0.709044 -0 outer loop vertex 19.108 22.463 0 - vertex 18.9302 22.6398 -0.1 - vertex 19.108 22.463 -0.1 + vertex 18.9302 22.6398 -0.2 + vertex 19.108 22.463 -0.2 endloop endfacet facet normal -0.763943 -0.645283 0 outer loop - vertex 19.2511 22.2936 -0.1 + vertex 19.2511 22.2936 -0.2 vertex 19.108 22.463 0 - vertex 19.108 22.463 -0.1 + vertex 19.108 22.463 -0.2 endloop endfacet facet normal -0.763943 -0.645283 0 outer loop vertex 19.108 22.463 0 - vertex 19.2511 22.2936 -0.1 + vertex 19.2511 22.2936 -0.2 vertex 19.2511 22.2936 0 endloop endfacet facet normal -0.840155 -0.542346 0 outer loop - vertex 19.3646 22.1178 -0.1 + vertex 19.3646 22.1178 -0.2 vertex 19.2511 22.2936 0 - vertex 19.2511 22.2936 -0.1 + vertex 19.2511 22.2936 -0.2 endloop endfacet facet normal -0.840155 -0.542346 0 outer loop vertex 19.2511 22.2936 0 - vertex 19.3646 22.1178 -0.1 + vertex 19.3646 22.1178 -0.2 vertex 19.3646 22.1178 0 endloop endfacet facet normal -0.910423 -0.413678 0 outer loop - vertex 19.4538 21.9215 -0.1 + vertex 19.4538 21.9215 -0.2 vertex 19.3646 22.1178 0 - vertex 19.3646 22.1178 -0.1 + vertex 19.3646 22.1178 -0.2 endloop endfacet facet normal -0.910423 -0.413678 0 outer loop vertex 19.3646 22.1178 0 - vertex 19.4538 21.9215 -0.1 + vertex 19.4538 21.9215 -0.2 vertex 19.4538 21.9215 0 endloop endfacet facet normal -0.956843 -0.290607 0 outer loop - vertex 19.5238 21.6908 -0.1 + vertex 19.5238 21.6908 -0.2 vertex 19.4538 21.9215 0 - vertex 19.4538 21.9215 -0.1 + vertex 19.4538 21.9215 -0.2 endloop endfacet facet normal -0.956843 -0.290607 0 outer loop vertex 19.4538 21.9215 0 - vertex 19.5238 21.6908 -0.1 + vertex 19.5238 21.6908 -0.2 vertex 19.5238 21.6908 0 endloop endfacet facet normal -0.980355 -0.19724 0 outer loop - vertex 19.58 21.4118 -0.1 + vertex 19.58 21.4118 -0.2 vertex 19.5238 21.6908 0 - vertex 19.5238 21.6908 -0.1 + vertex 19.5238 21.6908 -0.2 endloop endfacet facet normal -0.980355 -0.19724 0 outer loop vertex 19.5238 21.6908 0 - vertex 19.58 21.4118 -0.1 + vertex 19.58 21.4118 -0.2 vertex 19.58 21.4118 0 endloop endfacet facet normal -0.992839 -0.119457 0 outer loop - vertex 19.6713 20.6529 -0.1 + vertex 19.6713 20.6529 -0.2 vertex 19.58 21.4118 0 - vertex 19.58 21.4118 -0.1 + vertex 19.58 21.4118 -0.2 endloop endfacet facet normal -0.992839 -0.119457 0 outer loop vertex 19.58 21.4118 0 - vertex 19.6713 20.6529 -0.1 + vertex 19.6713 20.6529 -0.2 vertex 19.6713 20.6529 0 endloop endfacet facet normal -0.994314 -0.106485 0 outer loop - vertex 19.753 19.8896 -0.1 + vertex 19.753 19.8896 -0.2 vertex 19.6713 20.6529 0 - vertex 19.6713 20.6529 -0.1 + vertex 19.6713 20.6529 -0.2 endloop endfacet facet normal -0.994314 -0.106485 0 outer loop vertex 19.6713 20.6529 0 - vertex 19.753 19.8896 -0.1 + vertex 19.753 19.8896 -0.2 vertex 19.753 19.8896 0 endloop endfacet facet normal -0.985782 -0.168027 0 outer loop - vertex 19.8522 19.3078 -0.1 + vertex 19.8522 19.3078 -0.2 vertex 19.753 19.8896 0 - vertex 19.753 19.8896 -0.1 + vertex 19.753 19.8896 -0.2 endloop endfacet facet normal -0.985782 -0.168027 0 outer loop vertex 19.753 19.8896 0 - vertex 19.8522 19.3078 -0.1 + vertex 19.8522 19.3078 -0.2 vertex 19.8522 19.3078 0 endloop endfacet facet normal -0.962825 -0.270127 0 outer loop - vertex 19.9169 19.0772 -0.1 + vertex 19.9169 19.0772 -0.2 vertex 19.8522 19.3078 0 - vertex 19.8522 19.3078 -0.1 + vertex 19.8522 19.3078 -0.2 endloop endfacet facet normal -0.962825 -0.270127 0 outer loop vertex 19.8522 19.3078 0 - vertex 19.9169 19.0772 -0.1 + vertex 19.9169 19.0772 -0.2 vertex 19.9169 19.0772 0 endloop endfacet facet normal -0.925898 -0.377775 0 outer loop - vertex 19.9962 18.8829 -0.1 + vertex 19.9962 18.8829 -0.2 vertex 19.9169 19.0772 0 - vertex 19.9169 19.0772 -0.1 + vertex 19.9169 19.0772 -0.2 endloop endfacet facet normal -0.925898 -0.377775 0 outer loop vertex 19.9169 19.0772 0 - vertex 19.9962 18.8829 -0.1 + vertex 19.9962 18.8829 -0.2 vertex 19.9962 18.8829 0 endloop endfacet facet normal -0.85612 -0.516776 0 outer loop - vertex 20.0935 18.7216 -0.1 + vertex 20.0935 18.7216 -0.2 vertex 19.9962 18.8829 0 - vertex 19.9962 18.8829 -0.1 + vertex 19.9962 18.8829 -0.2 endloop endfacet facet normal -0.85612 -0.516776 0 outer loop vertex 19.9962 18.8829 0 - vertex 20.0935 18.7216 -0.1 + vertex 20.0935 18.7216 -0.2 vertex 20.0935 18.7216 0 endloop endfacet facet normal -0.741357 -0.67111 0 outer loop - vertex 20.2124 18.5903 -0.1 + vertex 20.2124 18.5903 -0.2 vertex 20.0935 18.7216 0 - vertex 20.0935 18.7216 -0.1 + vertex 20.0935 18.7216 -0.2 endloop endfacet facet normal -0.741357 -0.67111 0 outer loop vertex 20.0935 18.7216 0 - vertex 20.2124 18.5903 -0.1 + vertex 20.2124 18.5903 -0.2 vertex 20.2124 18.5903 0 endloop endfacet facet normal -0.587422 -0.809281 0 outer loop - vertex 20.2124 18.5903 -0.1 + vertex 20.2124 18.5903 -0.2 vertex 20.3561 18.486 0 vertex 20.2124 18.5903 0 endloop @@ -32461,13 +32461,13 @@ solid OpenSCAD_Model facet normal -0.587422 -0.809281 -0 outer loop vertex 20.3561 18.486 0 - vertex 20.2124 18.5903 -0.1 - vertex 20.3561 18.486 -0.1 + vertex 20.2124 18.5903 -0.2 + vertex 20.3561 18.486 -0.2 endloop endfacet facet normal -0.423563 -0.905867 0 outer loop - vertex 20.3561 18.486 -0.1 + vertex 20.3561 18.486 -0.2 vertex 20.5281 18.4055 0 vertex 20.3561 18.486 0 endloop @@ -32475,13 +32475,13 @@ solid OpenSCAD_Model facet normal -0.423563 -0.905867 -0 outer loop vertex 20.5281 18.4055 0 - vertex 20.3561 18.486 -0.1 - vertex 20.5281 18.4055 -0.1 + vertex 20.3561 18.486 -0.2 + vertex 20.5281 18.4055 -0.2 endloop endfacet facet normal -0.280888 -0.95974 0 outer loop - vertex 20.5281 18.4055 -0.1 + vertex 20.5281 18.4055 -0.2 vertex 20.7319 18.3459 0 vertex 20.5281 18.4055 0 endloop @@ -32489,13 +32489,13 @@ solid OpenSCAD_Model facet normal -0.280888 -0.95974 -0 outer loop vertex 20.7319 18.3459 0 - vertex 20.5281 18.4055 -0.1 - vertex 20.7319 18.3459 -0.1 + vertex 20.5281 18.4055 -0.2 + vertex 20.7319 18.3459 -0.2 endloop endfacet facet normal -0.172751 -0.984966 0 outer loop - vertex 20.7319 18.3459 -0.1 + vertex 20.7319 18.3459 -0.2 vertex 20.9709 18.304 0 vertex 20.7319 18.3459 0 endloop @@ -32503,13 +32503,13 @@ solid OpenSCAD_Model facet normal -0.172751 -0.984966 -0 outer loop vertex 20.9709 18.304 0 - vertex 20.7319 18.3459 -0.1 - vertex 20.9709 18.304 -0.1 + vertex 20.7319 18.3459 -0.2 + vertex 20.9709 18.304 -0.2 endloop endfacet facet normal -0.0716809 -0.997428 0 outer loop - vertex 20.9709 18.304 -0.1 + vertex 20.9709 18.304 -0.2 vertex 21.5679 18.2611 0 vertex 20.9709 18.304 0 endloop @@ -32517,13 +32517,13 @@ solid OpenSCAD_Model facet normal -0.0716809 -0.997428 -0 outer loop vertex 21.5679 18.2611 0 - vertex 20.9709 18.304 -0.1 - vertex 21.5679 18.2611 -0.1 + vertex 20.9709 18.304 -0.2 + vertex 21.5679 18.2611 -0.2 endloop endfacet facet normal -0.0113554 -0.999936 0 outer loop - vertex 21.5679 18.2611 -0.1 + vertex 21.5679 18.2611 -0.2 vertex 22.3468 18.2522 0 vertex 21.5679 18.2611 0 endloop @@ -32531,13 +32531,13 @@ solid OpenSCAD_Model facet normal -0.0113554 -0.999936 -0 outer loop vertex 22.3468 18.2522 0 - vertex 21.5679 18.2611 -0.1 - vertex 22.3468 18.2522 -0.1 + vertex 21.5679 18.2611 -0.2 + vertex 22.3468 18.2522 -0.2 endloop endfacet facet normal -0.0142554 -0.999898 0 outer loop - vertex 22.3468 18.2522 -0.1 + vertex 22.3468 18.2522 -0.2 vertex 23.0891 18.2417 0 vertex 22.3468 18.2522 0 endloop @@ -32545,13 +32545,13 @@ solid OpenSCAD_Model facet normal -0.0142554 -0.999898 -0 outer loop vertex 23.0891 18.2417 0 - vertex 22.3468 18.2522 -0.1 - vertex 23.0891 18.2417 -0.1 + vertex 22.3468 18.2522 -0.2 + vertex 23.0891 18.2417 -0.2 endloop endfacet facet normal -0.0563557 -0.998411 0 outer loop - vertex 23.0891 18.2417 -0.1 + vertex 23.0891 18.2417 -0.2 vertex 23.7039 18.207 0 vertex 23.0891 18.2417 0 endloop @@ -32559,13 +32559,13 @@ solid OpenSCAD_Model facet normal -0.0563557 -0.998411 -0 outer loop vertex 23.7039 18.207 0 - vertex 23.0891 18.2417 -0.1 - vertex 23.7039 18.207 -0.1 + vertex 23.0891 18.2417 -0.2 + vertex 23.7039 18.207 -0.2 endloop endfacet facet normal -0.125256 -0.992124 0 outer loop - vertex 23.7039 18.207 -0.1 + vertex 23.7039 18.207 -0.2 vertex 24.2049 18.1437 0 vertex 23.7039 18.207 0 endloop @@ -32573,13 +32573,13 @@ solid OpenSCAD_Model facet normal -0.125256 -0.992124 -0 outer loop vertex 24.2049 18.1437 0 - vertex 23.7039 18.207 -0.1 - vertex 24.2049 18.1437 -0.1 + vertex 23.7039 18.207 -0.2 + vertex 24.2049 18.1437 -0.2 endloop endfacet facet normal -0.233347 -0.972393 0 outer loop - vertex 24.2049 18.1437 -0.1 + vertex 24.2049 18.1437 -0.2 vertex 24.6059 18.0475 0 vertex 24.2049 18.1437 0 endloop @@ -32587,13 +32587,13 @@ solid OpenSCAD_Model facet normal -0.233347 -0.972393 -0 outer loop vertex 24.6059 18.0475 0 - vertex 24.2049 18.1437 -0.1 - vertex 24.6059 18.0475 -0.1 + vertex 24.2049 18.1437 -0.2 + vertex 24.6059 18.0475 -0.2 endloop endfacet facet normal -0.390765 -0.920491 0 outer loop - vertex 24.6059 18.0475 -0.1 + vertex 24.6059 18.0475 -0.2 vertex 24.9207 17.9138 0 vertex 24.6059 18.0475 0 endloop @@ -32601,13 +32601,13 @@ solid OpenSCAD_Model facet normal -0.390765 -0.920491 -0 outer loop vertex 24.9207 17.9138 0 - vertex 24.6059 18.0475 -0.1 - vertex 24.9207 17.9138 -0.1 + vertex 24.6059 18.0475 -0.2 + vertex 24.9207 17.9138 -0.2 endloop endfacet facet normal -0.536417 -0.843953 0 outer loop - vertex 24.9207 17.9138 -0.1 + vertex 24.9207 17.9138 -0.2 vertex 25.0501 17.8316 0 vertex 24.9207 17.9138 0 endloop @@ -32615,13 +32615,13 @@ solid OpenSCAD_Model facet normal -0.536417 -0.843953 -0 outer loop vertex 25.0501 17.8316 0 - vertex 24.9207 17.9138 -0.1 - vertex 25.0501 17.8316 -0.1 + vertex 24.9207 17.9138 -0.2 + vertex 25.0501 17.8316 -0.2 endloop endfacet facet normal -0.636483 -0.77129 0 outer loop - vertex 25.0501 17.8316 -0.1 + vertex 25.0501 17.8316 -0.2 vertex 25.163 17.7384 0 vertex 25.0501 17.8316 0 endloop @@ -32629,83 +32629,83 @@ solid OpenSCAD_Model facet normal -0.636483 -0.77129 -0 outer loop vertex 25.163 17.7384 0 - vertex 25.0501 17.8316 -0.1 - vertex 25.163 17.7384 -0.1 + vertex 25.0501 17.8316 -0.2 + vertex 25.163 17.7384 -0.2 endloop endfacet facet normal -0.729305 -0.684189 0 outer loop - vertex 25.2614 17.6336 -0.1 + vertex 25.2614 17.6336 -0.2 vertex 25.163 17.7384 0 - vertex 25.163 17.7384 -0.1 + vertex 25.163 17.7384 -0.2 endloop endfacet facet normal -0.729305 -0.684189 0 outer loop vertex 25.163 17.7384 0 - vertex 25.2614 17.6336 -0.1 + vertex 25.2614 17.6336 -0.2 vertex 25.2614 17.6336 0 endloop endfacet facet normal -0.807579 -0.589759 0 outer loop - vertex 25.3467 17.5167 -0.1 + vertex 25.3467 17.5167 -0.2 vertex 25.2614 17.6336 0 - vertex 25.2614 17.6336 -0.1 + vertex 25.2614 17.6336 -0.2 endloop endfacet facet normal -0.807579 -0.589759 0 outer loop vertex 25.2614 17.6336 0 - vertex 25.3467 17.5167 -0.1 + vertex 25.3467 17.5167 -0.2 vertex 25.3467 17.5167 0 endloop endfacet facet normal -0.890947 -0.454107 0 outer loop - vertex 25.4856 17.2443 -0.1 + vertex 25.4856 17.2443 -0.2 vertex 25.3467 17.5167 0 - vertex 25.3467 17.5167 -0.1 + vertex 25.3467 17.5167 -0.2 endloop endfacet facet normal -0.890947 -0.454107 0 outer loop vertex 25.3467 17.5167 0 - vertex 25.4856 17.2443 -0.1 + vertex 25.4856 17.2443 -0.2 vertex 25.4856 17.2443 0 endloop endfacet facet normal -0.905796 -0.423714 0 outer loop - vertex 25.6037 16.9917 -0.1 + vertex 25.6037 16.9917 -0.2 vertex 25.4856 17.2443 0 - vertex 25.4856 17.2443 -0.1 + vertex 25.4856 17.2443 -0.2 endloop endfacet facet normal -0.905796 -0.423714 0 outer loop vertex 25.4856 17.2443 0 - vertex 25.6037 16.9917 -0.1 + vertex 25.6037 16.9917 -0.2 vertex 25.6037 16.9917 0 endloop endfacet facet normal -0.826293 -0.563241 0 outer loop - vertex 25.7157 16.8274 -0.1 + vertex 25.7157 16.8274 -0.2 vertex 25.6037 16.9917 0 - vertex 25.6037 16.9917 -0.1 + vertex 25.6037 16.9917 -0.2 endloop endfacet facet normal -0.826293 -0.563241 0 outer loop vertex 25.6037 16.9917 0 - vertex 25.7157 16.8274 -0.1 + vertex 25.7157 16.8274 -0.2 vertex 25.7157 16.8274 0 endloop endfacet facet normal -0.603414 -0.797428 0 outer loop - vertex 25.7157 16.8274 -0.1 + vertex 25.7157 16.8274 -0.2 vertex 25.8187 16.7495 0 vertex 25.7157 16.8274 0 endloop @@ -32713,13 +32713,13 @@ solid OpenSCAD_Model facet normal -0.603414 -0.797428 -0 outer loop vertex 25.8187 16.7495 0 - vertex 25.7157 16.8274 -0.1 - vertex 25.8187 16.7495 -0.1 + vertex 25.7157 16.8274 -0.2 + vertex 25.8187 16.7495 -0.2 endloop endfacet facet normal -0.148413 -0.988925 0 outer loop - vertex 25.8187 16.7495 -0.1 + vertex 25.8187 16.7495 -0.2 vertex 25.8659 16.7424 0 vertex 25.8187 16.7495 0 endloop @@ -32727,13 +32727,13 @@ solid OpenSCAD_Model facet normal -0.148413 -0.988925 -0 outer loop vertex 25.8659 16.7424 0 - vertex 25.8187 16.7495 -0.1 - vertex 25.8659 16.7424 -0.1 + vertex 25.8187 16.7495 -0.2 + vertex 25.8659 16.7424 -0.2 endloop endfacet facet normal 0.302537 -0.953138 0 outer loop - vertex 25.8659 16.7424 -0.1 + vertex 25.8659 16.7424 -0.2 vertex 25.9096 16.7563 0 vertex 25.8659 16.7424 0 endloop @@ -32741,139 +32741,139 @@ solid OpenSCAD_Model facet normal 0.302537 -0.953138 0 outer loop vertex 25.9096 16.7563 0 - vertex 25.8659 16.7424 -0.1 - vertex 25.9096 16.7563 -0.1 + vertex 25.8659 16.7424 -0.2 + vertex 25.9096 16.7563 -0.2 endloop endfacet facet normal 0.763836 -0.645411 0 outer loop vertex 25.9096 16.7563 0 - vertex 25.9855 16.8461 -0.1 + vertex 25.9855 16.8461 -0.2 vertex 25.9855 16.8461 0 endloop endfacet facet normal 0.763836 -0.645411 0 outer loop - vertex 25.9855 16.8461 -0.1 + vertex 25.9855 16.8461 -0.2 vertex 25.9096 16.7563 0 - vertex 25.9096 16.7563 -0.1 + vertex 25.9096 16.7563 -0.2 endloop endfacet facet normal 0.947245 -0.320511 0 outer loop vertex 25.9855 16.8461 0 - vertex 26.0434 17.0172 -0.1 + vertex 26.0434 17.0172 -0.2 vertex 26.0434 17.0172 0 endloop endfacet facet normal 0.947245 -0.320511 0 outer loop - vertex 26.0434 17.0172 -0.1 + vertex 26.0434 17.0172 -0.2 vertex 25.9855 16.8461 0 - vertex 25.9855 16.8461 -0.1 + vertex 25.9855 16.8461 -0.2 endloop endfacet facet normal 0.989326 -0.145716 0 outer loop vertex 26.0434 17.0172 0 - vertex 26.0803 17.2678 -0.1 + vertex 26.0803 17.2678 -0.2 vertex 26.0803 17.2678 0 endloop endfacet facet normal 0.989326 -0.145716 0 outer loop - vertex 26.0803 17.2678 -0.1 + vertex 26.0803 17.2678 -0.2 vertex 26.0434 17.0172 0 - vertex 26.0434 17.0172 -0.1 + vertex 26.0434 17.0172 -0.2 endloop endfacet facet normal 0.999222 -0.0394472 0 outer loop vertex 26.0803 17.2678 0 - vertex 26.0933 17.5963 -0.1 + vertex 26.0933 17.5963 -0.2 vertex 26.0933 17.5963 0 endloop endfacet facet normal 0.999222 -0.0394472 0 outer loop - vertex 26.0933 17.5963 -0.1 + vertex 26.0933 17.5963 -0.2 vertex 26.0803 17.2678 0 - vertex 26.0803 17.2678 -0.1 + vertex 26.0803 17.2678 -0.2 endloop endfacet facet normal 0.99788 0.0650754 0 outer loop vertex 26.0933 17.5963 0 - vertex 26.0696 17.9605 -0.1 + vertex 26.0696 17.9605 -0.2 vertex 26.0696 17.9605 0 endloop endfacet facet normal 0.99788 0.0650754 0 outer loop - vertex 26.0696 17.9605 -0.1 + vertex 26.0696 17.9605 -0.2 vertex 26.0933 17.5963 0 - vertex 26.0933 17.5963 -0.1 + vertex 26.0933 17.5963 -0.2 endloop endfacet facet normal 0.979516 0.201364 0 outer loop vertex 26.0696 17.9605 0 - vertex 26.0009 18.2942 -0.1 + vertex 26.0009 18.2942 -0.2 vertex 26.0009 18.2942 0 endloop endfacet facet normal 0.979516 0.201364 0 outer loop - vertex 26.0009 18.2942 -0.1 + vertex 26.0009 18.2942 -0.2 vertex 26.0696 17.9605 0 - vertex 26.0696 17.9605 -0.1 + vertex 26.0696 17.9605 -0.2 endloop endfacet facet normal 0.938515 0.345238 0 outer loop vertex 26.0009 18.2942 0 - vertex 25.8914 18.5921 -0.1 + vertex 25.8914 18.5921 -0.2 vertex 25.8914 18.5921 0 endloop endfacet facet normal 0.938515 0.345238 0 outer loop - vertex 25.8914 18.5921 -0.1 + vertex 25.8914 18.5921 -0.2 vertex 26.0009 18.2942 0 - vertex 26.0009 18.2942 -0.1 + vertex 26.0009 18.2942 -0.2 endloop endfacet facet normal 0.86805 0.496476 0 outer loop vertex 25.8914 18.5921 0 - vertex 25.7448 18.8483 -0.1 + vertex 25.7448 18.8483 -0.2 vertex 25.7448 18.8483 0 endloop endfacet facet normal 0.86805 0.496476 0 outer loop - vertex 25.7448 18.8483 -0.1 + vertex 25.7448 18.8483 -0.2 vertex 25.8914 18.5921 0 - vertex 25.8914 18.5921 -0.1 + vertex 25.8914 18.5921 -0.2 endloop endfacet facet normal 0.758477 0.651699 0 outer loop vertex 25.7448 18.8483 0 - vertex 25.5652 19.0574 -0.1 + vertex 25.5652 19.0574 -0.2 vertex 25.5652 19.0574 0 endloop endfacet facet normal 0.758477 0.651699 0 outer loop - vertex 25.5652 19.0574 -0.1 + vertex 25.5652 19.0574 -0.2 vertex 25.7448 18.8483 0 - vertex 25.7448 18.8483 -0.1 + vertex 25.7448 18.8483 -0.2 endloop endfacet facet normal 0.599251 0.800561 -0 outer loop - vertex 25.5652 19.0574 -0.1 + vertex 25.5652 19.0574 -0.2 vertex 25.3564 19.2137 0 vertex 25.5652 19.0574 0 endloop @@ -32881,13 +32881,13 @@ solid OpenSCAD_Model facet normal 0.599251 0.800561 0 outer loop vertex 25.3564 19.2137 0 - vertex 25.5652 19.0574 -0.1 - vertex 25.3564 19.2137 -0.1 + vertex 25.5652 19.0574 -0.2 + vertex 25.3564 19.2137 -0.2 endloop endfacet facet normal 0.385907 0.922538 -0 outer loop - vertex 25.3564 19.2137 -0.1 + vertex 25.3564 19.2137 -0.2 vertex 25.1224 19.3115 0 vertex 25.3564 19.2137 0 endloop @@ -32895,13 +32895,13 @@ solid OpenSCAD_Model facet normal 0.385907 0.922538 0 outer loop vertex 25.1224 19.3115 0 - vertex 25.3564 19.2137 -0.1 - vertex 25.1224 19.3115 -0.1 + vertex 25.3564 19.2137 -0.2 + vertex 25.1224 19.3115 -0.2 endloop endfacet facet normal 0.197951 0.980212 -0 outer loop - vertex 25.1224 19.3115 -0.1 + vertex 25.1224 19.3115 -0.2 vertex 24.9972 19.3368 0 vertex 25.1224 19.3115 0 endloop @@ -32909,13 +32909,13 @@ solid OpenSCAD_Model facet normal 0.197951 0.980212 0 outer loop vertex 24.9972 19.3368 0 - vertex 25.1224 19.3115 -0.1 - vertex 24.9972 19.3368 -0.1 + vertex 25.1224 19.3115 -0.2 + vertex 24.9972 19.3368 -0.2 endloop endfacet facet normal 0.0658711 0.997828 -0 outer loop - vertex 24.9972 19.3368 -0.1 + vertex 24.9972 19.3368 -0.2 vertex 24.8672 19.3454 0 vertex 24.9972 19.3368 0 endloop @@ -32923,13 +32923,13 @@ solid OpenSCAD_Model facet normal 0.0658711 0.997828 0 outer loop vertex 24.8672 19.3454 0 - vertex 24.9972 19.3368 -0.1 - vertex 24.8672 19.3454 -0.1 + vertex 24.9972 19.3368 -0.2 + vertex 24.8672 19.3454 -0.2 endloop endfacet facet normal 0.104566 0.994518 -0 outer loop - vertex 24.8672 19.3454 -0.1 + vertex 24.8672 19.3454 -0.2 vertex 24.6124 19.3722 0 vertex 24.8672 19.3454 0 endloop @@ -32937,13 +32937,13 @@ solid OpenSCAD_Model facet normal 0.104566 0.994518 0 outer loop vertex 24.6124 19.3722 0 - vertex 24.8672 19.3454 -0.1 - vertex 24.6124 19.3722 -0.1 + vertex 24.8672 19.3454 -0.2 + vertex 24.6124 19.3722 -0.2 endloop endfacet facet normal 0.198003 0.980201 -0 outer loop - vertex 24.6124 19.3722 -0.1 + vertex 24.6124 19.3722 -0.2 vertex 24.2514 19.4451 0 vertex 24.6124 19.3722 0 endloop @@ -32951,13 +32951,13 @@ solid OpenSCAD_Model facet normal 0.198003 0.980201 0 outer loop vertex 24.2514 19.4451 0 - vertex 24.6124 19.3722 -0.1 - vertex 24.2514 19.4451 -0.1 + vertex 24.6124 19.3722 -0.2 + vertex 24.2514 19.4451 -0.2 endloop endfacet facet normal 0.249312 0.968423 -0 outer loop - vertex 24.2514 19.4451 -0.1 + vertex 24.2514 19.4451 -0.2 vertex 23.8321 19.5531 0 vertex 24.2514 19.4451 0 endloop @@ -32965,13 +32965,13 @@ solid OpenSCAD_Model facet normal 0.249312 0.968423 0 outer loop vertex 23.8321 19.5531 0 - vertex 24.2514 19.4451 -0.1 - vertex 23.8321 19.5531 -0.1 + vertex 24.2514 19.4451 -0.2 + vertex 23.8321 19.5531 -0.2 endloop endfacet facet normal 0.293412 0.955986 -0 outer loop - vertex 23.8321 19.5531 -0.1 + vertex 23.8321 19.5531 -0.2 vertex 23.4027 19.6849 0 vertex 23.8321 19.5531 0 endloop @@ -32979,13 +32979,13 @@ solid OpenSCAD_Model facet normal 0.293412 0.955986 0 outer loop vertex 23.4027 19.6849 0 - vertex 23.8321 19.5531 -0.1 - vertex 23.4027 19.6849 -0.1 + vertex 23.8321 19.5531 -0.2 + vertex 23.4027 19.6849 -0.2 endloop endfacet facet normal 0.372015 0.928227 -0 outer loop - vertex 23.4027 19.6849 -0.1 + vertex 23.4027 19.6849 -0.2 vertex 22.9977 19.8472 0 vertex 23.4027 19.6849 0 endloop @@ -32993,13 +32993,13 @@ solid OpenSCAD_Model facet normal 0.372015 0.928227 0 outer loop vertex 22.9977 19.8472 0 - vertex 23.4027 19.6849 -0.1 - vertex 22.9977 19.8472 -0.1 + vertex 23.4027 19.6849 -0.2 + vertex 22.9977 19.8472 -0.2 endloop endfacet facet normal 0.496703 0.86792 -0 outer loop - vertex 22.9977 19.8472 -0.1 + vertex 22.9977 19.8472 -0.2 vertex 22.6486 20.047 0 vertex 22.9977 19.8472 0 endloop @@ -33007,13 +33007,13 @@ solid OpenSCAD_Model facet normal 0.496703 0.86792 0 outer loop vertex 22.6486 20.047 0 - vertex 22.9977 19.8472 -0.1 - vertex 22.6486 20.047 -0.1 + vertex 22.9977 19.8472 -0.2 + vertex 22.6486 20.047 -0.2 endloop endfacet facet normal 0.63232 0.774707 -0 outer loop - vertex 22.6486 20.047 -0.1 + vertex 22.6486 20.047 -0.2 vertex 22.3515 20.2895 0 vertex 22.6486 20.047 0 endloop @@ -33021,209 +33021,209 @@ solid OpenSCAD_Model facet normal 0.63232 0.774707 0 outer loop vertex 22.3515 20.2895 0 - vertex 22.6486 20.047 -0.1 - vertex 22.3515 20.2895 -0.1 + vertex 22.6486 20.047 -0.2 + vertex 22.3515 20.2895 -0.2 endloop endfacet facet normal 0.72955 0.683927 0 outer loop vertex 22.3515 20.2895 0 - vertex 22.2213 20.4283 -0.1 + vertex 22.2213 20.4283 -0.2 vertex 22.2213 20.4283 0 endloop endfacet facet normal 0.72955 0.683927 0 outer loop - vertex 22.2213 20.4283 -0.1 + vertex 22.2213 20.4283 -0.2 vertex 22.3515 20.2895 0 - vertex 22.3515 20.2895 -0.1 + vertex 22.3515 20.2895 -0.2 endloop endfacet facet normal 0.787511 0.616301 0 outer loop vertex 22.2213 20.4283 0 - vertex 22.1028 20.5797 -0.1 + vertex 22.1028 20.5797 -0.2 vertex 22.1028 20.5797 0 endloop endfacet facet normal 0.787511 0.616301 0 outer loop - vertex 22.1028 20.5797 -0.1 + vertex 22.1028 20.5797 -0.2 vertex 22.2213 20.4283 0 - vertex 22.2213 20.4283 -0.1 + vertex 22.2213 20.4283 -0.2 endloop endfacet facet normal 0.859714 0.510776 0 outer loop vertex 22.1028 20.5797 0 - vertex 21.8989 20.9229 -0.1 + vertex 21.8989 20.9229 -0.2 vertex 21.8989 20.9229 0 endloop endfacet facet normal 0.859714 0.510776 0 outer loop - vertex 21.8989 20.9229 -0.1 + vertex 21.8989 20.9229 -0.2 vertex 22.1028 20.5797 0 - vertex 22.1028 20.5797 -0.1 + vertex 22.1028 20.5797 -0.2 endloop endfacet facet normal 0.926661 0.375897 0 outer loop vertex 21.8989 20.9229 0 - vertex 21.7362 21.3239 -0.1 + vertex 21.7362 21.3239 -0.2 vertex 21.7362 21.3239 0 endloop endfacet facet normal 0.926661 0.375897 0 outer loop - vertex 21.7362 21.3239 -0.1 + vertex 21.7362 21.3239 -0.2 vertex 21.8989 20.9229 0 - vertex 21.8989 20.9229 -0.1 + vertex 21.8989 20.9229 -0.2 endloop endfacet facet normal 0.965497 0.260414 0 outer loop vertex 21.7362 21.3239 0 - vertex 21.6111 21.7881 -0.1 + vertex 21.6111 21.7881 -0.2 vertex 21.6111 21.7881 0 endloop endfacet facet normal 0.965497 0.260414 0 outer loop - vertex 21.6111 21.7881 -0.1 + vertex 21.6111 21.7881 -0.2 vertex 21.7362 21.3239 0 - vertex 21.7362 21.3239 -0.1 + vertex 21.7362 21.3239 -0.2 endloop endfacet facet normal 0.985599 0.169101 0 outer loop vertex 21.6111 21.7881 0 - vertex 21.5197 22.3204 -0.1 + vertex 21.5197 22.3204 -0.2 vertex 21.5197 22.3204 0 endloop endfacet facet normal 0.985599 0.169101 0 outer loop - vertex 21.5197 22.3204 -0.1 + vertex 21.5197 22.3204 -0.2 vertex 21.6111 21.7881 0 - vertex 21.6111 21.7881 -0.1 + vertex 21.6111 21.7881 -0.2 endloop endfacet facet normal 0.981389 0.192031 0 outer loop vertex 21.5197 22.3204 0 - vertex 21.4205 22.8275 -0.1 + vertex 21.4205 22.8275 -0.2 vertex 21.4205 22.8275 0 endloop endfacet facet normal 0.981389 0.192031 0 outer loop - vertex 21.4205 22.8275 -0.1 + vertex 21.4205 22.8275 -0.2 vertex 21.5197 22.3204 0 - vertex 21.5197 22.3204 -0.1 + vertex 21.5197 22.3204 -0.2 endloop endfacet facet normal 0.957484 0.288485 0 outer loop vertex 21.4205 22.8275 0 - vertex 21.3493 23.064 -0.1 + vertex 21.3493 23.064 -0.2 vertex 21.3493 23.064 0 endloop endfacet facet normal 0.957484 0.288485 0 outer loop - vertex 21.3493 23.064 -0.1 + vertex 21.3493 23.064 -0.2 vertex 21.4205 22.8275 0 - vertex 21.4205 22.8275 -0.1 + vertex 21.4205 22.8275 -0.2 endloop endfacet facet normal 0.934507 0.355946 0 outer loop vertex 21.3493 23.064 0 - vertex 21.2635 23.2891 -0.1 + vertex 21.2635 23.2891 -0.2 vertex 21.2635 23.2891 0 endloop endfacet facet normal 0.934507 0.355946 0 outer loop - vertex 21.2635 23.2891 -0.1 + vertex 21.2635 23.2891 -0.2 vertex 21.3493 23.064 0 - vertex 21.3493 23.064 -0.1 + vertex 21.3493 23.064 -0.2 endloop endfacet facet normal 0.905346 0.424674 0 outer loop vertex 21.2635 23.2891 0 - vertex 21.1632 23.503 -0.1 + vertex 21.1632 23.503 -0.2 vertex 21.1632 23.503 0 endloop endfacet facet normal 0.905346 0.424674 0 outer loop - vertex 21.1632 23.503 -0.1 + vertex 21.1632 23.503 -0.2 vertex 21.2635 23.2891 0 - vertex 21.2635 23.2891 -0.1 + vertex 21.2635 23.2891 -0.2 endloop endfacet facet normal 0.869841 0.493332 0 outer loop vertex 21.1632 23.503 0 - vertex 21.0482 23.7058 -0.1 + vertex 21.0482 23.7058 -0.2 vertex 21.0482 23.7058 0 endloop endfacet facet normal 0.869841 0.493332 0 outer loop - vertex 21.0482 23.7058 -0.1 + vertex 21.0482 23.7058 -0.2 vertex 21.1632 23.503 0 - vertex 21.1632 23.503 -0.1 + vertex 21.1632 23.503 -0.2 endloop endfacet facet normal 0.828197 0.560437 0 outer loop vertex 21.0482 23.7058 0 - vertex 20.9184 23.8976 -0.1 + vertex 20.9184 23.8976 -0.2 vertex 20.9184 23.8976 0 endloop endfacet facet normal 0.828197 0.560437 0 outer loop - vertex 20.9184 23.8976 -0.1 + vertex 20.9184 23.8976 -0.2 vertex 21.0482 23.7058 0 - vertex 21.0482 23.7058 -0.1 + vertex 21.0482 23.7058 -0.2 endloop endfacet facet normal 0.781014 0.624513 0 outer loop vertex 20.9184 23.8976 0 - vertex 20.7738 24.0784 -0.1 + vertex 20.7738 24.0784 -0.2 vertex 20.7738 24.0784 0 endloop endfacet facet normal 0.781014 0.624513 0 outer loop - vertex 20.7738 24.0784 -0.1 + vertex 20.7738 24.0784 -0.2 vertex 20.9184 23.8976 0 - vertex 20.9184 23.8976 -0.1 + vertex 20.9184 23.8976 -0.2 endloop endfacet facet normal 0.729218 0.684281 0 outer loop vertex 20.7738 24.0784 0 - vertex 20.6143 24.2484 -0.1 + vertex 20.6143 24.2484 -0.2 vertex 20.6143 24.2484 0 endloop endfacet facet normal 0.729218 0.684281 0 outer loop - vertex 20.6143 24.2484 -0.1 + vertex 20.6143 24.2484 -0.2 vertex 20.7738 24.0784 0 - vertex 20.7738 24.0784 -0.1 + vertex 20.7738 24.0784 -0.2 endloop endfacet facet normal 0.674059 0.738677 -0 outer loop - vertex 20.6143 24.2484 -0.1 + vertex 20.6143 24.2484 -0.2 vertex 20.4398 24.4076 0 vertex 20.6143 24.2484 0 endloop @@ -33231,13 +33231,13 @@ solid OpenSCAD_Model facet normal 0.674059 0.738677 0 outer loop vertex 20.4398 24.4076 0 - vertex 20.6143 24.2484 -0.1 - vertex 20.4398 24.4076 -0.1 + vertex 20.6143 24.2484 -0.2 + vertex 20.4398 24.4076 -0.2 endloop endfacet facet normal 0.616853 0.787078 -0 outer loop - vertex 20.4398 24.4076 -0.1 + vertex 20.4398 24.4076 -0.2 vertex 20.2502 24.5562 0 vertex 20.4398 24.4076 0 endloop @@ -33245,13 +33245,13 @@ solid OpenSCAD_Model facet normal 0.616853 0.787078 0 outer loop vertex 20.2502 24.5562 0 - vertex 20.4398 24.4076 -0.1 - vertex 20.2502 24.5562 -0.1 + vertex 20.4398 24.4076 -0.2 + vertex 20.2502 24.5562 -0.2 endloop endfacet facet normal 0.558944 0.829206 -0 outer loop - vertex 20.2502 24.5562 -0.1 + vertex 20.2502 24.5562 -0.2 vertex 20.0455 24.6942 0 vertex 20.2502 24.5562 0 endloop @@ -33259,13 +33259,13 @@ solid OpenSCAD_Model facet normal 0.558944 0.829206 0 outer loop vertex 20.0455 24.6942 0 - vertex 20.2502 24.5562 -0.1 - vertex 20.0455 24.6942 -0.1 + vertex 20.2502 24.5562 -0.2 + vertex 20.0455 24.6942 -0.2 endloop endfacet facet normal 0.473385 0.880855 -0 outer loop - vertex 20.0455 24.6942 -0.1 + vertex 20.0455 24.6942 -0.2 vertex 19.5904 24.9388 0 vertex 20.0455 24.6942 0 endloop @@ -33273,13 +33273,13 @@ solid OpenSCAD_Model facet normal 0.473385 0.880855 0 outer loop vertex 19.5904 24.9388 0 - vertex 20.0455 24.6942 -0.1 - vertex 19.5904 24.9388 -0.1 + vertex 20.0455 24.6942 -0.2 + vertex 19.5904 24.9388 -0.2 endloop endfacet facet normal 0.366293 0.930499 -0 outer loop - vertex 19.5904 24.9388 -0.1 + vertex 19.5904 24.9388 -0.2 vertex 19.0737 25.1422 0 vertex 19.5904 24.9388 0 endloop @@ -33287,13 +33287,13 @@ solid OpenSCAD_Model facet normal 0.366293 0.930499 0 outer loop vertex 19.0737 25.1422 0 - vertex 19.5904 24.9388 -0.1 - vertex 19.0737 25.1422 -0.1 + vertex 19.5904 24.9388 -0.2 + vertex 19.0737 25.1422 -0.2 endloop endfacet facet normal 0.339314 0.940673 -0 outer loop - vertex 19.0737 25.1422 -0.1 + vertex 19.0737 25.1422 -0.2 vertex 18.5685 25.3244 0 vertex 19.0737 25.1422 0 endloop @@ -33301,13 +33301,13 @@ solid OpenSCAD_Model facet normal 0.339314 0.940673 0 outer loop vertex 18.5685 25.3244 0 - vertex 19.0737 25.1422 -0.1 - vertex 18.5685 25.3244 -0.1 + vertex 19.0737 25.1422 -0.2 + vertex 18.5685 25.3244 -0.2 endloop endfacet facet normal 0.390266 0.920702 -0 outer loop - vertex 18.5685 25.3244 -0.1 + vertex 18.5685 25.3244 -0.2 vertex 18.1033 25.5216 0 vertex 18.5685 25.3244 0 endloop @@ -33315,13 +33315,13 @@ solid OpenSCAD_Model facet normal 0.390266 0.920702 0 outer loop vertex 18.1033 25.5216 0 - vertex 18.5685 25.3244 -0.1 - vertex 18.1033 25.5216 -0.1 + vertex 18.5685 25.3244 -0.2 + vertex 18.1033 25.5216 -0.2 endloop endfacet facet normal 0.448214 0.893926 -0 outer loop - vertex 18.1033 25.5216 -0.1 + vertex 18.1033 25.5216 -0.2 vertex 17.6707 25.7385 0 vertex 18.1033 25.5216 0 endloop @@ -33329,13 +33329,13 @@ solid OpenSCAD_Model facet normal 0.448214 0.893926 0 outer loop vertex 17.6707 25.7385 0 - vertex 18.1033 25.5216 -0.1 - vertex 17.6707 25.7385 -0.1 + vertex 18.1033 25.5216 -0.2 + vertex 17.6707 25.7385 -0.2 endloop endfacet facet normal 0.509711 0.860346 -0 outer loop - vertex 17.6707 25.7385 -0.1 + vertex 17.6707 25.7385 -0.2 vertex 17.2631 25.98 0 vertex 17.6707 25.7385 0 endloop @@ -33343,13 +33343,13 @@ solid OpenSCAD_Model facet normal 0.509711 0.860346 0 outer loop vertex 17.2631 25.98 0 - vertex 17.6707 25.7385 -0.1 - vertex 17.2631 25.98 -0.1 + vertex 17.6707 25.7385 -0.2 + vertex 17.2631 25.98 -0.2 endloop endfacet facet normal 0.570375 0.821384 -0 outer loop - vertex 17.2631 25.98 -0.1 + vertex 17.2631 25.98 -0.2 vertex 16.873 26.2508 0 vertex 17.2631 25.98 0 endloop @@ -33357,13 +33357,13 @@ solid OpenSCAD_Model facet normal 0.570375 0.821384 0 outer loop vertex 16.873 26.2508 0 - vertex 17.2631 25.98 -0.1 - vertex 16.873 26.2508 -0.1 + vertex 17.2631 25.98 -0.2 + vertex 16.873 26.2508 -0.2 endloop endfacet facet normal 0.626027 0.779801 -0 outer loop - vertex 16.873 26.2508 -0.1 + vertex 16.873 26.2508 -0.2 vertex 16.4932 26.5558 0 vertex 16.873 26.2508 0 endloop @@ -33371,13 +33371,13 @@ solid OpenSCAD_Model facet normal 0.626027 0.779801 0 outer loop vertex 16.4932 26.5558 0 - vertex 16.873 26.2508 -0.1 - vertex 16.4932 26.5558 -0.1 + vertex 16.873 26.2508 -0.2 + vertex 16.4932 26.5558 -0.2 endloop endfacet facet normal 0.673725 0.738983 -0 outer loop - vertex 16.4932 26.5558 -0.1 + vertex 16.4932 26.5558 -0.2 vertex 16.116 26.8997 0 vertex 16.4932 26.5558 0 endloop @@ -33385,181 +33385,181 @@ solid OpenSCAD_Model facet normal 0.673725 0.738983 0 outer loop vertex 16.116 26.8997 0 - vertex 16.4932 26.5558 -0.1 - vertex 16.116 26.8997 -0.1 + vertex 16.4932 26.5558 -0.2 + vertex 16.116 26.8997 -0.2 endloop endfacet facet normal 0.71226 0.701916 0 outer loop vertex 16.116 26.8997 0 - vertex 15.734 27.2872 -0.1 + vertex 15.734 27.2872 -0.2 vertex 15.734 27.2872 0 endloop endfacet facet normal 0.71226 0.701916 0 outer loop - vertex 15.734 27.2872 -0.1 + vertex 15.734 27.2872 -0.2 vertex 16.116 26.8997 0 - vertex 16.116 26.8997 -0.1 + vertex 16.116 26.8997 -0.2 endloop endfacet facet normal 0.751608 0.65961 0 outer loop vertex 15.734 27.2872 0 - vertex 15.344 27.7317 -0.1 + vertex 15.344 27.7317 -0.2 vertex 15.344 27.7317 0 endloop endfacet facet normal 0.751608 0.65961 0 outer loop - vertex 15.344 27.7317 -0.1 + vertex 15.344 27.7317 -0.2 vertex 15.734 27.2872 0 - vertex 15.734 27.2872 -0.1 + vertex 15.734 27.2872 -0.2 endloop endfacet facet normal 0.827441 0.561552 0 outer loop vertex 15.344 27.7317 0 - vertex 15.2193 27.9155 -0.1 + vertex 15.2193 27.9155 -0.2 vertex 15.2193 27.9155 0 endloop endfacet facet normal 0.827441 0.561552 0 outer loop - vertex 15.2193 27.9155 -0.1 + vertex 15.2193 27.9155 -0.2 vertex 15.344 27.7317 0 - vertex 15.344 27.7317 -0.1 + vertex 15.344 27.7317 -0.2 endloop endfacet facet normal 0.901872 0.432003 0 outer loop vertex 15.2193 27.9155 0 - vertex 15.1337 28.0941 -0.1 + vertex 15.1337 28.0941 -0.2 vertex 15.1337 28.0941 0 endloop endfacet facet normal 0.901872 0.432003 0 outer loop - vertex 15.1337 28.0941 -0.1 + vertex 15.1337 28.0941 -0.2 vertex 15.2193 27.9155 0 - vertex 15.2193 27.9155 -0.1 + vertex 15.2193 27.9155 -0.2 endloop endfacet facet normal 0.963972 0.266005 0 outer loop vertex 15.1337 28.0941 0 - vertex 15.0817 28.2827 -0.1 + vertex 15.0817 28.2827 -0.2 vertex 15.0817 28.2827 0 endloop endfacet facet normal 0.963972 0.266005 0 outer loop - vertex 15.0817 28.2827 -0.1 + vertex 15.0817 28.2827 -0.2 vertex 15.1337 28.0941 0 - vertex 15.1337 28.0941 -0.1 + vertex 15.1337 28.0941 -0.2 endloop endfacet facet normal 0.993628 0.112714 0 outer loop vertex 15.0817 28.2827 0 - vertex 15.0574 28.4965 -0.1 + vertex 15.0574 28.4965 -0.2 vertex 15.0574 28.4965 0 endloop endfacet facet normal 0.993628 0.112714 0 outer loop - vertex 15.0574 28.4965 -0.1 + vertex 15.0574 28.4965 -0.2 vertex 15.0817 28.2827 0 - vertex 15.0817 28.2827 -0.1 + vertex 15.0817 28.2827 -0.2 endloop endfacet facet normal 0.999963 0.00862244 0 outer loop vertex 15.0574 28.4965 0 - vertex 15.0552 28.7509 -0.1 + vertex 15.0552 28.7509 -0.2 vertex 15.0552 28.7509 0 endloop endfacet facet normal 0.999963 0.00862244 0 outer loop - vertex 15.0552 28.7509 -0.1 + vertex 15.0552 28.7509 -0.2 vertex 15.0574 28.4965 0 - vertex 15.0574 28.4965 -0.1 + vertex 15.0574 28.4965 -0.2 endloop endfacet facet normal 0.99896 -0.0455854 0 outer loop vertex 15.0552 28.7509 0 - vertex 15.0694 29.0611 -0.1 + vertex 15.0694 29.0611 -0.2 vertex 15.0694 29.0611 0 endloop endfacet facet normal 0.99896 -0.0455854 0 outer loop - vertex 15.0694 29.0611 -0.1 + vertex 15.0694 29.0611 -0.2 vertex 15.0552 28.7509 0 - vertex 15.0552 28.7509 -0.1 + vertex 15.0552 28.7509 -0.2 endloop endfacet facet normal 0.995626 -0.0934289 0 outer loop vertex 15.0694 29.0611 0 - vertex 15.1102 29.496 -0.1 + vertex 15.1102 29.496 -0.2 vertex 15.1102 29.496 0 endloop endfacet facet normal 0.995626 -0.0934289 0 outer loop - vertex 15.1102 29.496 -0.1 + vertex 15.1102 29.496 -0.2 vertex 15.0694 29.0611 0 - vertex 15.0694 29.0611 -0.1 + vertex 15.0694 29.0611 -0.2 endloop endfacet facet normal 0.982507 -0.186226 0 outer loop vertex 15.1102 29.496 0 - vertex 15.1701 29.8123 -0.1 + vertex 15.1701 29.8123 -0.2 vertex 15.1701 29.8123 0 endloop endfacet facet normal 0.982507 -0.186226 0 outer loop - vertex 15.1701 29.8123 -0.1 + vertex 15.1701 29.8123 -0.2 vertex 15.1102 29.496 0 - vertex 15.1102 29.496 -0.1 + vertex 15.1102 29.496 -0.2 endloop endfacet facet normal 0.936612 -0.350368 0 outer loop vertex 15.1701 29.8123 0 - vertex 15.2437 30.0088 -0.1 + vertex 15.2437 30.0088 -0.2 vertex 15.2437 30.0088 0 endloop endfacet facet normal 0.936612 -0.350368 0 outer loop - vertex 15.2437 30.0088 -0.1 + vertex 15.2437 30.0088 -0.2 vertex 15.1701 29.8123 0 - vertex 15.1701 29.8123 -0.1 + vertex 15.1701 29.8123 -0.2 endloop endfacet facet normal 0.797615 -0.603167 0 outer loop vertex 15.2437 30.0088 0 - vertex 15.2838 30.0618 -0.1 + vertex 15.2838 30.0618 -0.2 vertex 15.2838 30.0618 0 endloop endfacet facet normal 0.797615 -0.603167 0 outer loop - vertex 15.2838 30.0618 -0.1 + vertex 15.2838 30.0618 -0.2 vertex 15.2437 30.0088 0 - vertex 15.2437 30.0088 -0.1 + vertex 15.2437 30.0088 -0.2 endloop endfacet facet normal 0.48104 -0.876698 0 outer loop - vertex 15.2838 30.0618 -0.1 + vertex 15.2838 30.0618 -0.2 vertex 15.3252 30.0845 0 vertex 15.2838 30.0618 0 endloop @@ -33567,13 +33567,13 @@ solid OpenSCAD_Model facet normal 0.48104 -0.876698 0 outer loop vertex 15.3252 30.0845 0 - vertex 15.2838 30.0618 -0.1 - vertex 15.3252 30.0845 -0.1 + vertex 15.2838 30.0618 -0.2 + vertex 15.3252 30.0845 -0.2 endloop endfacet facet normal -0.180566 -0.983563 0 outer loop - vertex 15.3252 30.0845 -0.1 + vertex 15.3252 30.0845 -0.2 vertex 15.3672 30.0768 0 vertex 15.3252 30.0845 0 endloop @@ -33581,13 +33581,13 @@ solid OpenSCAD_Model facet normal -0.180566 -0.983563 -0 outer loop vertex 15.3672 30.0768 0 - vertex 15.3252 30.0845 -0.1 - vertex 15.3672 30.0768 -0.1 + vertex 15.3252 30.0845 -0.2 + vertex 15.3672 30.0768 -0.2 endloop endfacet facet normal -0.674079 -0.738659 0 outer loop - vertex 15.3672 30.0768 -0.1 + vertex 15.3672 30.0768 -0.2 vertex 15.4091 30.0386 0 vertex 15.3672 30.0768 0 endloop @@ -33595,153 +33595,153 @@ solid OpenSCAD_Model facet normal -0.674079 -0.738659 -0 outer loop vertex 15.4091 30.0386 0 - vertex 15.3672 30.0768 -0.1 - vertex 15.4091 30.0386 -0.1 + vertex 15.3672 30.0768 -0.2 + vertex 15.4091 30.0386 -0.2 endloop endfacet facet normal -0.901794 -0.432166 0 outer loop - vertex 15.49 29.8698 -0.1 + vertex 15.49 29.8698 -0.2 vertex 15.4091 30.0386 0 - vertex 15.4091 30.0386 -0.1 + vertex 15.4091 30.0386 -0.2 endloop endfacet facet normal -0.901794 -0.432166 0 outer loop vertex 15.4091 30.0386 0 - vertex 15.49 29.8698 -0.1 + vertex 15.49 29.8698 -0.2 vertex 15.49 29.8698 0 endloop endfacet facet normal -0.970859 -0.239653 0 outer loop - vertex 15.5622 29.5773 -0.1 + vertex 15.5622 29.5773 -0.2 vertex 15.49 29.8698 0 - vertex 15.49 29.8698 -0.1 + vertex 15.49 29.8698 -0.2 endloop endfacet facet normal -0.970859 -0.239653 0 outer loop vertex 15.49 29.8698 0 - vertex 15.5622 29.5773 -0.1 + vertex 15.5622 29.5773 -0.2 vertex 15.5622 29.5773 0 endloop endfacet facet normal -0.990483 -0.137635 0 outer loop - vertex 15.6202 29.1601 -0.1 + vertex 15.6202 29.1601 -0.2 vertex 15.5622 29.5773 0 - vertex 15.5622 29.5773 -0.1 + vertex 15.5622 29.5773 -0.2 endloop endfacet facet normal -0.990483 -0.137635 0 outer loop vertex 15.5622 29.5773 0 - vertex 15.6202 29.1601 -0.1 + vertex 15.6202 29.1601 -0.2 vertex 15.6202 29.1601 0 endloop endfacet facet normal -0.987242 -0.159229 0 outer loop - vertex 15.6927 28.7106 -0.1 + vertex 15.6927 28.7106 -0.2 vertex 15.6202 29.1601 0 - vertex 15.6202 29.1601 -0.1 + vertex 15.6202 29.1601 -0.2 endloop endfacet facet normal -0.987242 -0.159229 0 outer loop vertex 15.6202 29.1601 0 - vertex 15.6927 28.7106 -0.1 + vertex 15.6927 28.7106 -0.2 vertex 15.6927 28.7106 0 endloop endfacet facet normal -0.964764 -0.263116 0 outer loop - vertex 15.7487 28.5051 -0.1 + vertex 15.7487 28.5051 -0.2 vertex 15.6927 28.7106 0 - vertex 15.6927 28.7106 -0.1 + vertex 15.6927 28.7106 -0.2 endloop endfacet facet normal -0.964764 -0.263116 0 outer loop vertex 15.6927 28.7106 0 - vertex 15.7487 28.5051 -0.1 + vertex 15.7487 28.5051 -0.2 vertex 15.7487 28.5051 0 endloop endfacet facet normal -0.93932 -0.343042 0 outer loop - vertex 15.8197 28.3106 -0.1 + vertex 15.8197 28.3106 -0.2 vertex 15.7487 28.5051 0 - vertex 15.7487 28.5051 -0.1 + vertex 15.7487 28.5051 -0.2 endloop endfacet facet normal -0.93932 -0.343042 0 outer loop vertex 15.7487 28.5051 0 - vertex 15.8197 28.3106 -0.1 + vertex 15.8197 28.3106 -0.2 vertex 15.8197 28.3106 0 endloop endfacet facet normal -0.904159 -0.427196 0 outer loop - vertex 15.9071 28.1258 -0.1 + vertex 15.9071 28.1258 -0.2 vertex 15.8197 28.3106 0 - vertex 15.8197 28.3106 -0.1 + vertex 15.8197 28.3106 -0.2 endloop endfacet facet normal -0.904159 -0.427196 0 outer loop vertex 15.8197 28.3106 0 - vertex 15.9071 28.1258 -0.1 + vertex 15.9071 28.1258 -0.2 vertex 15.9071 28.1258 0 endloop endfacet facet normal -0.859613 -0.510945 0 outer loop - vertex 16.0121 27.9491 -0.1 + vertex 16.0121 27.9491 -0.2 vertex 15.9071 28.1258 0 - vertex 15.9071 28.1258 -0.1 + vertex 15.9071 28.1258 -0.2 endloop endfacet facet normal -0.859613 -0.510945 0 outer loop vertex 15.9071 28.1258 0 - vertex 16.0121 27.9491 -0.1 + vertex 16.0121 27.9491 -0.2 vertex 16.0121 27.9491 0 endloop endfacet facet normal -0.807674 -0.589629 0 outer loop - vertex 16.1362 27.7792 -0.1 + vertex 16.1362 27.7792 -0.2 vertex 16.0121 27.9491 0 - vertex 16.0121 27.9491 -0.1 + vertex 16.0121 27.9491 -0.2 endloop endfacet facet normal -0.807674 -0.589629 0 outer loop vertex 16.0121 27.9491 0 - vertex 16.1362 27.7792 -0.1 + vertex 16.1362 27.7792 -0.2 vertex 16.1362 27.7792 0 endloop endfacet facet normal -0.751613 -0.659605 0 outer loop - vertex 16.2806 27.6146 -0.1 + vertex 16.2806 27.6146 -0.2 vertex 16.1362 27.7792 0 - vertex 16.1362 27.7792 -0.1 + vertex 16.1362 27.7792 -0.2 endloop endfacet facet normal -0.751613 -0.659605 0 outer loop vertex 16.1362 27.7792 0 - vertex 16.2806 27.6146 -0.1 + vertex 16.2806 27.6146 -0.2 vertex 16.2806 27.6146 0 endloop endfacet facet normal -0.695067 -0.718945 0 outer loop - vertex 16.2806 27.6146 -0.1 + vertex 16.2806 27.6146 -0.2 vertex 16.4467 27.454 0 vertex 16.2806 27.6146 0 endloop @@ -33749,13 +33749,13 @@ solid OpenSCAD_Model facet normal -0.695067 -0.718945 -0 outer loop vertex 16.4467 27.454 0 - vertex 16.2806 27.6146 -0.1 - vertex 16.4467 27.454 -0.1 + vertex 16.2806 27.6146 -0.2 + vertex 16.4467 27.454 -0.2 endloop endfacet facet normal -0.641168 -0.767401 0 outer loop - vertex 16.4467 27.454 -0.1 + vertex 16.4467 27.454 -0.2 vertex 16.6359 27.2959 0 vertex 16.4467 27.454 0 endloop @@ -33763,13 +33763,13 @@ solid OpenSCAD_Model facet normal -0.641168 -0.767401 -0 outer loop vertex 16.6359 27.2959 0 - vertex 16.4467 27.454 -0.1 - vertex 16.6359 27.2959 -0.1 + vertex 16.4467 27.454 -0.2 + vertex 16.6359 27.2959 -0.2 endloop endfacet facet normal -0.569935 -0.82169 0 outer loop - vertex 16.6359 27.2959 -0.1 + vertex 16.6359 27.2959 -0.2 vertex 17.0889 26.9817 0 vertex 16.6359 27.2959 0 endloop @@ -33777,13 +33777,13 @@ solid OpenSCAD_Model facet normal -0.569935 -0.82169 -0 outer loop vertex 17.0889 26.9817 0 - vertex 16.6359 27.2959 -0.1 - vertex 17.0889 26.9817 -0.1 + vertex 16.6359 27.2959 -0.2 + vertex 17.0889 26.9817 -0.2 endloop endfacet facet normal -0.496343 -0.868126 0 outer loop - vertex 17.0889 26.9817 -0.1 + vertex 17.0889 26.9817 -0.2 vertex 17.6504 26.6607 0 vertex 17.0889 26.9817 0 endloop @@ -33791,13 +33791,13 @@ solid OpenSCAD_Model facet normal -0.496343 -0.868126 -0 outer loop vertex 17.6504 26.6607 0 - vertex 17.0889 26.9817 -0.1 - vertex 17.6504 26.6607 -0.1 + vertex 17.0889 26.9817 -0.2 + vertex 17.6504 26.6607 -0.2 endloop endfacet facet normal -0.4459 -0.895083 0 outer loop - vertex 17.6504 26.6607 -0.1 + vertex 17.6504 26.6607 -0.2 vertex 18.3311 26.3216 0 vertex 17.6504 26.6607 0 endloop @@ -33805,13 +33805,13 @@ solid OpenSCAD_Model facet normal -0.4459 -0.895083 -0 outer loop vertex 18.3311 26.3216 0 - vertex 17.6504 26.6607 -0.1 - vertex 18.3311 26.3216 -0.1 + vertex 17.6504 26.6607 -0.2 + vertex 18.3311 26.3216 -0.2 endloop endfacet facet normal -0.437511 -0.899213 0 outer loop - vertex 18.3311 26.3216 -0.1 + vertex 18.3311 26.3216 -0.2 vertex 19.3729 25.8147 0 vertex 18.3311 26.3216 0 endloop @@ -33819,13 +33819,13 @@ solid OpenSCAD_Model facet normal -0.437511 -0.899213 -0 outer loop vertex 19.3729 25.8147 0 - vertex 18.3311 26.3216 -0.1 - vertex 19.3729 25.8147 -0.1 + vertex 18.3311 26.3216 -0.2 + vertex 19.3729 25.8147 -0.2 endloop endfacet facet normal -0.473558 -0.880763 0 outer loop - vertex 19.3729 25.8147 -0.1 + vertex 19.3729 25.8147 -0.2 vertex 20.1936 25.3734 0 vertex 19.3729 25.8147 0 endloop @@ -33833,13 +33833,13 @@ solid OpenSCAD_Model facet normal -0.473558 -0.880763 -0 outer loop vertex 20.1936 25.3734 0 - vertex 19.3729 25.8147 -0.1 - vertex 20.1936 25.3734 -0.1 + vertex 19.3729 25.8147 -0.2 + vertex 20.1936 25.3734 -0.2 endloop endfacet facet normal -0.521003 -0.853555 0 outer loop - vertex 20.1936 25.3734 -0.1 + vertex 20.1936 25.3734 -0.2 vertex 20.53 25.168 0 vertex 20.1936 25.3734 0 endloop @@ -33847,13 +33847,13 @@ solid OpenSCAD_Model facet normal -0.521003 -0.853555 -0 outer loop vertex 20.53 25.168 0 - vertex 20.1936 25.3734 -0.1 - vertex 20.53 25.168 -0.1 + vertex 20.1936 25.3734 -0.2 + vertex 20.53 25.168 -0.2 endloop endfacet facet normal -0.565431 -0.824796 0 outer loop - vertex 20.53 25.168 -0.1 + vertex 20.53 25.168 -0.2 vertex 20.8221 24.9679 0 vertex 20.53 25.168 0 endloop @@ -33861,13 +33861,13 @@ solid OpenSCAD_Model facet normal -0.565431 -0.824796 -0 outer loop vertex 20.8221 24.9679 0 - vertex 20.53 25.168 -0.1 - vertex 20.8221 24.9679 -0.1 + vertex 20.53 25.168 -0.2 + vertex 20.8221 24.9679 -0.2 endloop endfacet facet normal -0.620484 -0.784219 0 outer loop - vertex 20.8221 24.9679 -0.1 + vertex 20.8221 24.9679 -0.2 vertex 21.0733 24.7691 0 vertex 20.8221 24.9679 0 endloop @@ -33875,13 +33875,13 @@ solid OpenSCAD_Model facet normal -0.620484 -0.784219 -0 outer loop vertex 21.0733 24.7691 0 - vertex 20.8221 24.9679 -0.1 - vertex 21.0733 24.7691 -0.1 + vertex 20.8221 24.9679 -0.2 + vertex 21.0733 24.7691 -0.2 endloop endfacet facet normal -0.684731 -0.728796 0 outer loop - vertex 21.0733 24.7691 -0.1 + vertex 21.0733 24.7691 -0.2 vertex 21.2873 24.568 0 vertex 21.0733 24.7691 0 endloop @@ -33889,181 +33889,181 @@ solid OpenSCAD_Model facet normal -0.684731 -0.728796 -0 outer loop vertex 21.2873 24.568 0 - vertex 21.0733 24.7691 -0.1 - vertex 21.2873 24.568 -0.1 + vertex 21.0733 24.7691 -0.2 + vertex 21.2873 24.568 -0.2 endloop endfacet facet normal -0.754027 -0.656843 0 outer loop - vertex 21.4677 24.3609 -0.1 + vertex 21.4677 24.3609 -0.2 vertex 21.2873 24.568 0 - vertex 21.2873 24.568 -0.1 + vertex 21.2873 24.568 -0.2 endloop endfacet facet normal -0.754027 -0.656843 0 outer loop vertex 21.2873 24.568 0 - vertex 21.4677 24.3609 -0.1 + vertex 21.4677 24.3609 -0.2 vertex 21.4677 24.3609 0 endloop endfacet facet normal -0.821674 -0.569958 0 outer loop - vertex 21.6182 24.144 -0.1 + vertex 21.6182 24.144 -0.2 vertex 21.4677 24.3609 0 - vertex 21.4677 24.3609 -0.1 + vertex 21.4677 24.3609 -0.2 endloop endfacet facet normal -0.821674 -0.569958 0 outer loop vertex 21.4677 24.3609 0 - vertex 21.6182 24.144 -0.1 + vertex 21.6182 24.144 -0.2 vertex 21.6182 24.144 0 endloop endfacet facet normal -0.880428 -0.47418 0 outer loop - vertex 21.7423 23.9135 -0.1 + vertex 21.7423 23.9135 -0.2 vertex 21.6182 24.144 0 - vertex 21.6182 24.144 -0.1 + vertex 21.6182 24.144 -0.2 endloop endfacet facet normal -0.880428 -0.47418 0 outer loop vertex 21.6182 24.144 0 - vertex 21.7423 23.9135 -0.1 + vertex 21.7423 23.9135 -0.2 vertex 21.7423 23.9135 0 endloop endfacet facet normal -0.925485 -0.378785 0 outer loop - vertex 21.8437 23.6658 -0.1 + vertex 21.8437 23.6658 -0.2 vertex 21.7423 23.9135 0 - vertex 21.7423 23.9135 -0.1 + vertex 21.7423 23.9135 -0.2 endloop endfacet facet normal -0.925485 -0.378785 0 outer loop vertex 21.7423 23.9135 0 - vertex 21.8437 23.6658 -0.1 + vertex 21.8437 23.6658 -0.2 vertex 21.8437 23.6658 0 endloop endfacet facet normal -0.956187 -0.292757 0 outer loop - vertex 21.926 23.397 -0.1 + vertex 21.926 23.397 -0.2 vertex 21.8437 23.6658 0 - vertex 21.8437 23.6658 -0.1 + vertex 21.8437 23.6658 -0.2 endloop endfacet facet normal -0.956187 -0.292757 0 outer loop vertex 21.8437 23.6658 0 - vertex 21.926 23.397 -0.1 + vertex 21.926 23.397 -0.2 vertex 21.926 23.397 0 endloop endfacet facet normal -0.975069 -0.221901 0 outer loop - vertex 21.9928 23.1034 -0.1 + vertex 21.9928 23.1034 -0.2 vertex 21.926 23.397 0 - vertex 21.926 23.397 -0.1 + vertex 21.926 23.397 -0.2 endloop endfacet facet normal -0.975069 -0.221901 0 outer loop vertex 21.926 23.397 0 - vertex 21.9928 23.1034 -0.1 + vertex 21.9928 23.1034 -0.2 vertex 21.9928 23.1034 0 endloop endfacet facet normal -0.988902 -0.14857 0 outer loop - vertex 22.0944 22.427 -0.1 + vertex 22.0944 22.427 -0.2 vertex 21.9928 23.1034 0 - vertex 21.9928 23.1034 -0.1 + vertex 21.9928 23.1034 -0.2 endloop endfacet facet normal -0.988902 -0.14857 0 outer loop vertex 21.9928 23.1034 0 - vertex 22.0944 22.427 -0.1 + vertex 22.0944 22.427 -0.2 vertex 22.0944 22.427 0 endloop endfacet facet normal -0.986323 -0.164825 0 outer loop - vertex 22.1689 21.9813 -0.1 + vertex 22.1689 21.9813 -0.2 vertex 22.0944 22.427 0 - vertex 22.0944 22.427 -0.1 + vertex 22.0944 22.427 -0.2 endloop endfacet facet normal -0.986323 -0.164825 0 outer loop vertex 22.0944 22.427 0 - vertex 22.1689 21.9813 -0.1 + vertex 22.1689 21.9813 -0.2 vertex 22.1689 21.9813 0 endloop endfacet facet normal -0.960165 -0.279433 0 outer loop - vertex 22.2815 21.5943 -0.1 + vertex 22.2815 21.5943 -0.2 vertex 22.1689 21.9813 0 - vertex 22.1689 21.9813 -0.1 + vertex 22.1689 21.9813 -0.2 endloop endfacet facet normal -0.960165 -0.279433 0 outer loop vertex 22.1689 21.9813 0 - vertex 22.2815 21.5943 -0.1 + vertex 22.2815 21.5943 -0.2 vertex 22.2815 21.5943 0 endloop endfacet facet normal -0.907871 -0.41925 0 outer loop - vertex 22.4341 21.2638 -0.1 + vertex 22.4341 21.2638 -0.2 vertex 22.2815 21.5943 0 - vertex 22.2815 21.5943 -0.1 + vertex 22.2815 21.5943 -0.2 endloop endfacet facet normal -0.907871 -0.41925 0 outer loop vertex 22.2815 21.5943 0 - vertex 22.4341 21.2638 -0.1 + vertex 22.4341 21.2638 -0.2 vertex 22.4341 21.2638 0 endloop endfacet facet normal -0.817597 -0.575791 0 outer loop - vertex 22.6286 20.9877 -0.1 + vertex 22.6286 20.9877 -0.2 vertex 22.4341 21.2638 0 - vertex 22.4341 21.2638 -0.1 + vertex 22.4341 21.2638 -0.2 endloop endfacet facet normal -0.817597 -0.575791 0 outer loop vertex 22.4341 21.2638 0 - vertex 22.6286 20.9877 -0.1 + vertex 22.6286 20.9877 -0.2 vertex 22.6286 20.9877 0 endloop endfacet facet normal -0.721714 -0.692192 0 outer loop - vertex 22.7421 20.8693 -0.1 + vertex 22.7421 20.8693 -0.2 vertex 22.6286 20.9877 0 - vertex 22.6286 20.9877 -0.1 + vertex 22.6286 20.9877 -0.2 endloop endfacet facet normal -0.721714 -0.692192 0 outer loop vertex 22.6286 20.9877 0 - vertex 22.7421 20.8693 -0.1 + vertex 22.7421 20.8693 -0.2 vertex 22.7421 20.8693 0 endloop endfacet facet normal -0.646202 -0.763167 0 outer loop - vertex 22.7421 20.8693 -0.1 + vertex 22.7421 20.8693 -0.2 vertex 22.8668 20.7638 0 vertex 22.7421 20.8693 0 endloop @@ -34071,13 +34071,13 @@ solid OpenSCAD_Model facet normal -0.646202 -0.763167 -0 outer loop vertex 22.8668 20.7638 0 - vertex 22.7421 20.8693 -0.1 - vertex 22.8668 20.7638 -0.1 + vertex 22.7421 20.8693 -0.2 + vertex 22.8668 20.7638 -0.2 endloop endfacet facet normal -0.522339 -0.852738 0 outer loop - vertex 22.8668 20.7638 -0.1 + vertex 22.8668 20.7638 -0.2 vertex 23.1504 20.59 0 vertex 22.8668 20.7638 0 endloop @@ -34085,13 +34085,13 @@ solid OpenSCAD_Model facet normal -0.522339 -0.852738 -0 outer loop vertex 23.1504 20.59 0 - vertex 22.8668 20.7638 -0.1 - vertex 23.1504 20.59 -0.1 + vertex 22.8668 20.7638 -0.2 + vertex 23.1504 20.59 -0.2 endloop endfacet facet normal -0.355133 -0.934816 0 outer loop - vertex 23.1504 20.59 -0.1 + vertex 23.1504 20.59 -0.2 vertex 23.4814 20.4643 0 vertex 23.1504 20.59 0 endloop @@ -34099,13 +34099,13 @@ solid OpenSCAD_Model facet normal -0.355133 -0.934816 -0 outer loop vertex 23.4814 20.4643 0 - vertex 23.1504 20.59 -0.1 - vertex 23.4814 20.4643 -0.1 + vertex 23.1504 20.59 -0.2 + vertex 23.4814 20.4643 -0.2 endloop endfacet facet normal -0.205594 -0.978637 0 outer loop - vertex 23.4814 20.4643 -0.1 + vertex 23.4814 20.4643 -0.2 vertex 23.8617 20.3844 0 vertex 23.4814 20.4643 0 endloop @@ -34113,13 +34113,13 @@ solid OpenSCAD_Model facet normal -0.205594 -0.978637 -0 outer loop vertex 23.8617 20.3844 0 - vertex 23.4814 20.4643 -0.1 - vertex 23.8617 20.3844 -0.1 + vertex 23.4814 20.4643 -0.2 + vertex 23.8617 20.3844 -0.2 endloop endfacet facet normal -0.166383 -0.986061 0 outer loop - vertex 23.8617 20.3844 -0.1 + vertex 23.8617 20.3844 -0.2 vertex 24.2028 20.3268 0 vertex 23.8617 20.3844 0 endloop @@ -34127,13 +34127,13 @@ solid OpenSCAD_Model facet normal -0.166383 -0.986061 -0 outer loop vertex 24.2028 20.3268 0 - vertex 23.8617 20.3844 -0.1 - vertex 24.2028 20.3268 -0.1 + vertex 23.8617 20.3844 -0.2 + vertex 24.2028 20.3268 -0.2 endloop endfacet facet normal -0.222634 -0.974902 0 outer loop - vertex 24.2028 20.3268 -0.1 + vertex 24.2028 20.3268 -0.2 vertex 24.5205 20.2543 0 vertex 24.2028 20.3268 0 endloop @@ -34141,13 +34141,13 @@ solid OpenSCAD_Model facet normal -0.222634 -0.974902 -0 outer loop vertex 24.5205 20.2543 0 - vertex 24.2028 20.3268 -0.1 - vertex 24.5205 20.2543 -0.1 + vertex 24.2028 20.3268 -0.2 + vertex 24.5205 20.2543 -0.2 endloop endfacet facet normal -0.285939 -0.958248 0 outer loop - vertex 24.5205 20.2543 -0.1 + vertex 24.5205 20.2543 -0.2 vertex 24.8151 20.1664 0 vertex 24.5205 20.2543 0 endloop @@ -34155,13 +34155,13 @@ solid OpenSCAD_Model facet normal -0.285939 -0.958248 -0 outer loop vertex 24.8151 20.1664 0 - vertex 24.5205 20.2543 -0.1 - vertex 24.8151 20.1664 -0.1 + vertex 24.5205 20.2543 -0.2 + vertex 24.8151 20.1664 -0.2 endloop endfacet facet normal -0.356177 -0.934419 0 outer loop - vertex 24.8151 20.1664 -0.1 + vertex 24.8151 20.1664 -0.2 vertex 25.087 20.0627 0 vertex 24.8151 20.1664 0 endloop @@ -34169,13 +34169,13 @@ solid OpenSCAD_Model facet normal -0.356177 -0.934419 -0 outer loop vertex 25.087 20.0627 0 - vertex 24.8151 20.1664 -0.1 - vertex 25.087 20.0627 -0.1 + vertex 24.8151 20.1664 -0.2 + vertex 25.087 20.0627 -0.2 endloop endfacet facet normal -0.432613 -0.90158 0 outer loop - vertex 25.087 20.0627 -0.1 + vertex 25.087 20.0627 -0.2 vertex 25.3364 19.943 0 vertex 25.087 20.0627 0 endloop @@ -34183,13 +34183,13 @@ solid OpenSCAD_Model facet normal -0.432613 -0.90158 -0 outer loop vertex 25.3364 19.943 0 - vertex 25.087 20.0627 -0.1 - vertex 25.3364 19.943 -0.1 + vertex 25.087 20.0627 -0.2 + vertex 25.3364 19.943 -0.2 endloop endfacet facet normal -0.513641 -0.858005 0 outer loop - vertex 25.3364 19.943 -0.1 + vertex 25.3364 19.943 -0.2 vertex 25.5639 19.8069 0 vertex 25.3364 19.943 0 endloop @@ -34197,13 +34197,13 @@ solid OpenSCAD_Model facet normal -0.513641 -0.858005 -0 outer loop vertex 25.5639 19.8069 0 - vertex 25.3364 19.943 -0.1 - vertex 25.5639 19.8069 -0.1 + vertex 25.3364 19.943 -0.2 + vertex 25.5639 19.8069 -0.2 endloop endfacet facet normal -0.59661 -0.802531 0 outer loop - vertex 25.5639 19.8069 -0.1 + vertex 25.5639 19.8069 -0.2 vertex 25.7697 19.6539 0 vertex 25.5639 19.8069 0 endloop @@ -34211,13 +34211,13 @@ solid OpenSCAD_Model facet normal -0.59661 -0.802531 -0 outer loop vertex 25.7697 19.6539 0 - vertex 25.5639 19.8069 -0.1 - vertex 25.7697 19.6539 -0.1 + vertex 25.5639 19.8069 -0.2 + vertex 25.7697 19.6539 -0.2 endloop endfacet facet normal -0.678036 -0.735029 0 outer loop - vertex 25.7697 19.6539 -0.1 + vertex 25.7697 19.6539 -0.2 vertex 25.9541 19.4837 0 vertex 25.7697 19.6539 0 endloop @@ -34225,559 +34225,559 @@ solid OpenSCAD_Model facet normal -0.678036 -0.735029 -0 outer loop vertex 25.9541 19.4837 0 - vertex 25.7697 19.6539 -0.1 - vertex 25.9541 19.4837 -0.1 + vertex 25.7697 19.6539 -0.2 + vertex 25.9541 19.4837 -0.2 endloop endfacet facet normal -0.75405 -0.656818 0 outer loop - vertex 26.1176 19.296 -0.1 + vertex 26.1176 19.296 -0.2 vertex 25.9541 19.4837 0 - vertex 25.9541 19.4837 -0.1 + vertex 25.9541 19.4837 -0.2 endloop endfacet facet normal -0.75405 -0.656818 0 outer loop vertex 25.9541 19.4837 0 - vertex 26.1176 19.296 -0.1 + vertex 26.1176 19.296 -0.2 vertex 26.1176 19.296 0 endloop endfacet facet normal -0.821173 -0.570679 0 outer loop - vertex 26.2605 19.0904 -0.1 + vertex 26.2605 19.0904 -0.2 vertex 26.1176 19.296 0 - vertex 26.1176 19.296 -0.1 + vertex 26.1176 19.296 -0.2 endloop endfacet facet normal -0.821173 -0.570679 0 outer loop vertex 26.1176 19.296 0 - vertex 26.2605 19.0904 -0.1 + vertex 26.2605 19.0904 -0.2 vertex 26.2605 19.0904 0 endloop endfacet facet normal -0.877038 -0.480422 0 outer loop - vertex 26.3832 18.8665 -0.1 + vertex 26.3832 18.8665 -0.2 vertex 26.2605 19.0904 0 - vertex 26.2605 19.0904 -0.1 + vertex 26.2605 19.0904 -0.2 endloop endfacet facet normal -0.877038 -0.480422 0 outer loop vertex 26.2605 19.0904 0 - vertex 26.3832 18.8665 -0.1 + vertex 26.3832 18.8665 -0.2 vertex 26.3832 18.8665 0 endloop endfacet facet normal -0.920777 -0.390089 0 outer loop - vertex 26.4859 18.624 -0.1 + vertex 26.4859 18.624 -0.2 vertex 26.3832 18.8665 0 - vertex 26.3832 18.8665 -0.1 + vertex 26.3832 18.8665 -0.2 endloop endfacet facet normal -0.920777 -0.390089 0 outer loop vertex 26.3832 18.8665 0 - vertex 26.4859 18.624 -0.1 + vertex 26.4859 18.624 -0.2 vertex 26.4859 18.624 0 endloop endfacet facet normal -0.952936 -0.30317 0 outer loop - vertex 26.5691 18.3624 -0.1 + vertex 26.5691 18.3624 -0.2 vertex 26.4859 18.624 0 - vertex 26.4859 18.624 -0.1 + vertex 26.4859 18.624 -0.2 endloop endfacet facet normal -0.952936 -0.30317 0 outer loop vertex 26.4859 18.624 0 - vertex 26.5691 18.3624 -0.1 + vertex 26.5691 18.3624 -0.2 vertex 26.5691 18.3624 0 endloop endfacet facet normal -0.974998 -0.222215 0 outer loop - vertex 26.6332 18.0815 -0.1 + vertex 26.6332 18.0815 -0.2 vertex 26.5691 18.3624 0 - vertex 26.5691 18.3624 -0.1 + vertex 26.5691 18.3624 -0.2 endloop endfacet facet normal -0.974998 -0.222215 0 outer loop vertex 26.5691 18.3624 0 - vertex 26.6332 18.0815 -0.1 + vertex 26.6332 18.0815 -0.2 vertex 26.6332 18.0815 0 endloop endfacet facet normal -0.98889 -0.148648 0 outer loop - vertex 26.6784 17.7808 -0.1 + vertex 26.6784 17.7808 -0.2 vertex 26.6332 18.0815 0 - vertex 26.6332 18.0815 -0.1 + vertex 26.6332 18.0815 -0.2 endloop endfacet facet normal -0.98889 -0.148648 0 outer loop vertex 26.6332 18.0815 0 - vertex 26.6784 17.7808 -0.1 + vertex 26.6784 17.7808 -0.2 vertex 26.6784 17.7808 0 endloop endfacet facet normal -0.996548 -0.083019 0 outer loop - vertex 26.7051 17.4601 -0.1 + vertex 26.7051 17.4601 -0.2 vertex 26.6784 17.7808 0 - vertex 26.6784 17.7808 -0.1 + vertex 26.6784 17.7808 -0.2 endloop endfacet facet normal -0.996548 -0.083019 0 outer loop vertex 26.6784 17.7808 0 - vertex 26.7051 17.4601 -0.1 + vertex 26.7051 17.4601 -0.2 vertex 26.7051 17.4601 0 endloop endfacet facet normal -0.991209 -0.132303 0 outer loop - vertex 26.7571 17.0706 -0.1 + vertex 26.7571 17.0706 -0.2 vertex 26.7051 17.4601 0 - vertex 26.7051 17.4601 -0.1 + vertex 26.7051 17.4601 -0.2 endloop endfacet facet normal -0.991209 -0.132303 0 outer loop vertex 26.7051 17.4601 0 - vertex 26.7571 17.0706 -0.1 + vertex 26.7571 17.0706 -0.2 vertex 26.7571 17.0706 0 endloop endfacet facet normal -0.970274 -0.242008 0 outer loop - vertex 26.8653 16.6367 -0.1 + vertex 26.8653 16.6367 -0.2 vertex 26.7571 17.0706 0 - vertex 26.7571 17.0706 -0.1 + vertex 26.7571 17.0706 -0.2 endloop endfacet facet normal -0.970274 -0.242008 0 outer loop vertex 26.7571 17.0706 0 - vertex 26.8653 16.6367 -0.1 + vertex 26.8653 16.6367 -0.2 vertex 26.8653 16.6367 0 endloop endfacet facet normal -0.944031 -0.329856 0 outer loop - vertex 27.0139 16.2113 -0.1 + vertex 27.0139 16.2113 -0.2 vertex 26.8653 16.6367 0 - vertex 26.8653 16.6367 -0.1 + vertex 26.8653 16.6367 -0.2 endloop endfacet facet normal -0.944031 -0.329856 0 outer loop vertex 26.8653 16.6367 0 - vertex 27.0139 16.2113 -0.1 + vertex 27.0139 16.2113 -0.2 vertex 27.0139 16.2113 0 endloop endfacet facet normal -0.902944 -0.429757 0 outer loop - vertex 27.1872 15.8473 -0.1 + vertex 27.1872 15.8473 -0.2 vertex 27.0139 16.2113 0 - vertex 27.0139 16.2113 -0.1 + vertex 27.0139 16.2113 -0.2 endloop endfacet facet normal -0.902944 -0.429757 0 outer loop vertex 27.0139 16.2113 0 - vertex 27.1872 15.8473 -0.1 + vertex 27.1872 15.8473 -0.2 vertex 27.1872 15.8473 0 endloop endfacet facet normal -0.882286 -0.470713 0 outer loop - vertex 27.3198 15.5987 -0.1 + vertex 27.3198 15.5987 -0.2 vertex 27.1872 15.8473 0 - vertex 27.1872 15.8473 -0.1 + vertex 27.1872 15.8473 -0.2 endloop endfacet facet normal -0.882286 -0.470713 0 outer loop vertex 27.1872 15.8473 0 - vertex 27.3198 15.5987 -0.1 + vertex 27.3198 15.5987 -0.2 vertex 27.3198 15.5987 0 endloop endfacet facet normal -0.922173 -0.386777 0 outer loop - vertex 27.4227 15.3534 -0.1 + vertex 27.4227 15.3534 -0.2 vertex 27.3198 15.5987 0 - vertex 27.3198 15.5987 -0.1 + vertex 27.3198 15.5987 -0.2 endloop endfacet facet normal -0.922173 -0.386777 0 outer loop vertex 27.3198 15.5987 0 - vertex 27.4227 15.3534 -0.1 + vertex 27.4227 15.3534 -0.2 vertex 27.4227 15.3534 0 endloop endfacet facet normal -0.962502 -0.271275 0 outer loop - vertex 27.4995 15.0808 -0.1 + vertex 27.4995 15.0808 -0.2 vertex 27.4227 15.3534 0 - vertex 27.4227 15.3534 -0.1 + vertex 27.4227 15.3534 -0.2 endloop endfacet facet normal -0.962502 -0.271275 0 outer loop vertex 27.4227 15.3534 0 - vertex 27.4995 15.0808 -0.1 + vertex 27.4995 15.0808 -0.2 vertex 27.4995 15.0808 0 endloop endfacet facet normal -0.986697 -0.162567 0 outer loop - vertex 27.5539 14.7505 -0.1 + vertex 27.5539 14.7505 -0.2 vertex 27.4995 15.0808 0 - vertex 27.4995 15.0808 -0.1 + vertex 27.4995 15.0808 -0.2 endloop endfacet facet normal -0.986697 -0.162567 0 outer loop vertex 27.4995 15.0808 0 - vertex 27.5539 14.7505 -0.1 + vertex 27.5539 14.7505 -0.2 vertex 27.5539 14.7505 0 endloop endfacet facet normal -0.996383 -0.0849723 0 outer loop - vertex 27.5896 14.3319 -0.1 + vertex 27.5896 14.3319 -0.2 vertex 27.5539 14.7505 0 - vertex 27.5539 14.7505 -0.1 + vertex 27.5539 14.7505 -0.2 endloop endfacet facet normal -0.996383 -0.0849723 0 outer loop vertex 27.5539 14.7505 0 - vertex 27.5896 14.3319 -0.1 + vertex 27.5896 14.3319 -0.2 vertex 27.5896 14.3319 0 endloop endfacet facet normal -0.999262 -0.0383987 0 outer loop - vertex 27.6103 13.7945 -0.1 + vertex 27.6103 13.7945 -0.2 vertex 27.5896 14.3319 0 - vertex 27.5896 14.3319 -0.1 + vertex 27.5896 14.3319 -0.2 endloop endfacet facet normal -0.999262 -0.0383987 0 outer loop vertex 27.5896 14.3319 0 - vertex 27.6103 13.7945 -0.1 + vertex 27.6103 13.7945 -0.2 vertex 27.6103 13.7945 0 endloop endfacet facet normal -0.999976 -0.0069841 0 outer loop - vertex 27.6211 12.2412 -0.1 + vertex 27.6211 12.2412 -0.2 vertex 27.6103 13.7945 0 - vertex 27.6103 13.7945 -0.1 + vertex 27.6103 13.7945 -0.2 endloop endfacet facet normal -0.999976 -0.0069841 0 outer loop vertex 27.6103 13.7945 0 - vertex 27.6211 12.2412 -0.1 + vertex 27.6211 12.2412 -0.2 vertex 27.6211 12.2412 0 endloop endfacet facet normal -0.999918 0.0127851 0 outer loop - vertex 27.6024 10.7775 -0.1 + vertex 27.6024 10.7775 -0.2 vertex 27.6211 12.2412 0 - vertex 27.6211 12.2412 -0.1 + vertex 27.6211 12.2412 -0.2 endloop endfacet facet normal -0.999918 0.0127851 0 outer loop vertex 27.6211 12.2412 0 - vertex 27.6024 10.7775 -0.1 + vertex 27.6024 10.7775 -0.2 vertex 27.6024 10.7775 0 endloop endfacet facet normal -0.999067 0.0431942 0 outer loop - vertex 27.5775 10.2019 -0.1 + vertex 27.5775 10.2019 -0.2 vertex 27.6024 10.7775 0 - vertex 27.6024 10.7775 -0.1 + vertex 27.6024 10.7775 -0.2 endloop endfacet facet normal -0.999067 0.0431942 0 outer loop vertex 27.6024 10.7775 0 - vertex 27.5775 10.2019 -0.1 + vertex 27.5775 10.2019 -0.2 vertex 27.5775 10.2019 0 endloop endfacet facet normal -0.997132 0.0756876 0 outer loop - vertex 27.5397 9.70386 -0.1 + vertex 27.5397 9.70386 -0.2 vertex 27.5775 10.2019 0 - vertex 27.5775 10.2019 -0.1 + vertex 27.5775 10.2019 -0.2 endloop endfacet facet normal -0.997132 0.0756876 0 outer loop vertex 27.5775 10.2019 0 - vertex 27.5397 9.70386 -0.1 + vertex 27.5397 9.70386 -0.2 vertex 27.5397 9.70386 0 endloop endfacet facet normal -0.992933 0.118678 0 outer loop - vertex 27.4871 9.26334 -0.1 + vertex 27.4871 9.26334 -0.2 vertex 27.5397 9.70386 0 - vertex 27.5397 9.70386 -0.1 + vertex 27.5397 9.70386 -0.2 endloop endfacet facet normal -0.992933 0.118678 0 outer loop vertex 27.5397 9.70386 0 - vertex 27.4871 9.26334 -0.1 + vertex 27.4871 9.26334 -0.2 vertex 27.4871 9.26334 0 endloop endfacet facet normal -0.985483 0.169774 0 outer loop - vertex 27.4176 8.86037 -0.1 + vertex 27.4176 8.86037 -0.2 vertex 27.4871 9.26334 0 - vertex 27.4871 9.26334 -0.1 + vertex 27.4871 9.26334 -0.2 endloop endfacet facet normal -0.985483 0.169774 0 outer loop vertex 27.4871 9.26334 0 - vertex 27.4176 8.86037 -0.1 + vertex 27.4176 8.86037 -0.2 vertex 27.4176 8.86037 0 endloop endfacet facet normal -0.974842 0.222899 0 outer loop - vertex 27.3295 8.47496 -0.1 + vertex 27.3295 8.47496 -0.2 vertex 27.4176 8.86037 0 - vertex 27.4176 8.86037 -0.1 + vertex 27.4176 8.86037 -0.2 endloop endfacet facet normal -0.974842 0.222899 0 outer loop vertex 27.4176 8.86037 0 - vertex 27.3295 8.47496 -0.1 + vertex 27.3295 8.47496 -0.2 vertex 27.3295 8.47496 0 endloop endfacet facet normal -0.962864 0.269986 0 outer loop - vertex 27.2208 8.08714 -0.1 + vertex 27.2208 8.08714 -0.2 vertex 27.3295 8.47496 0 - vertex 27.3295 8.47496 -0.1 + vertex 27.3295 8.47496 -0.2 endloop endfacet facet normal -0.962864 0.269986 0 outer loop vertex 27.3295 8.47496 0 - vertex 27.2208 8.08714 -0.1 + vertex 27.2208 8.08714 -0.2 vertex 27.2208 8.08714 0 endloop endfacet facet normal -0.961499 0.274809 0 outer loop - vertex 27.1048 7.68143 -0.1 + vertex 27.1048 7.68143 -0.2 vertex 27.2208 8.08714 0 - vertex 27.2208 8.08714 -0.1 + vertex 27.2208 8.08714 -0.2 endloop endfacet facet normal -0.961499 0.274809 0 outer loop vertex 27.2208 8.08714 0 - vertex 27.1048 7.68143 -0.1 + vertex 27.1048 7.68143 -0.2 vertex 27.1048 7.68143 0 endloop endfacet facet normal -0.973193 0.229988 0 outer loop - vertex 27.0158 7.30485 -0.1 + vertex 27.0158 7.30485 -0.2 vertex 27.1048 7.68143 0 - vertex 27.1048 7.68143 -0.1 + vertex 27.1048 7.68143 -0.2 endloop endfacet facet normal -0.973193 0.229988 0 outer loop vertex 27.1048 7.68143 0 - vertex 27.0158 7.30485 -0.1 + vertex 27.0158 7.30485 -0.2 vertex 27.0158 7.30485 0 endloop endfacet facet normal -0.985852 0.167619 0 outer loop - vertex 26.9517 6.92758 -0.1 + vertex 26.9517 6.92758 -0.2 vertex 27.0158 7.30485 0 - vertex 27.0158 7.30485 -0.1 + vertex 27.0158 7.30485 -0.2 endloop endfacet facet normal -0.985852 0.167619 0 outer loop vertex 27.0158 7.30485 0 - vertex 26.9517 6.92758 -0.1 + vertex 26.9517 6.92758 -0.2 vertex 26.9517 6.92758 0 endloop endfacet facet normal -0.994881 0.101051 0 outer loop - vertex 26.9103 6.51977 -0.1 + vertex 26.9103 6.51977 -0.2 vertex 26.9517 6.92758 0 - vertex 26.9517 6.92758 -0.1 + vertex 26.9517 6.92758 -0.2 endloop endfacet facet normal -0.994881 0.101051 0 outer loop vertex 26.9517 6.92758 0 - vertex 26.9103 6.51977 -0.1 + vertex 26.9103 6.51977 -0.2 vertex 26.9103 6.51977 0 endloop endfacet facet normal -0.999013 0.0444183 0 outer loop - vertex 26.8894 6.05157 -0.1 + vertex 26.8894 6.05157 -0.2 vertex 26.9103 6.51977 0 - vertex 26.9103 6.51977 -0.1 + vertex 26.9103 6.51977 -0.2 endloop endfacet facet normal -0.999013 0.0444183 0 outer loop vertex 26.9103 6.51977 0 - vertex 26.8894 6.05157 -0.1 + vertex 26.8894 6.05157 -0.2 vertex 26.8894 6.05157 0 endloop endfacet facet normal -0.999991 0.00417733 0 outer loop - vertex 26.8871 5.49316 -0.1 + vertex 26.8871 5.49316 -0.2 vertex 26.8894 6.05157 0 - vertex 26.8894 6.05157 -0.1 + vertex 26.8894 6.05157 -0.2 endloop endfacet facet normal -0.999991 0.00417733 0 outer loop vertex 26.8894 6.05157 0 - vertex 26.8871 5.49316 -0.1 + vertex 26.8871 5.49316 -0.2 vertex 26.8871 5.49316 0 endloop endfacet facet normal -0.999606 -0.0280683 0 outer loop - vertex 26.9294 3.98634 -0.1 + vertex 26.9294 3.98634 -0.2 vertex 26.8871 5.49316 0 - vertex 26.8871 5.49316 -0.1 + vertex 26.8871 5.49316 -0.2 endloop endfacet facet normal -0.999606 -0.0280683 0 outer loop vertex 26.8871 5.49316 0 - vertex 26.9294 3.98634 -0.1 + vertex 26.9294 3.98634 -0.2 vertex 26.9294 3.98634 0 endloop endfacet facet normal -0.999521 -0.0309525 0 outer loop - vertex 26.9615 2.94949 -0.1 + vertex 26.9615 2.94949 -0.2 vertex 26.9294 3.98634 0 - vertex 26.9294 3.98634 -0.1 + vertex 26.9294 3.98634 -0.2 endloop endfacet facet normal -0.999521 -0.0309525 0 outer loop vertex 26.9294 3.98634 0 - vertex 26.9615 2.94949 -0.1 + vertex 26.9615 2.94949 -0.2 vertex 26.9615 2.94949 0 endloop endfacet facet normal -0.999992 -0.00407505 0 outer loop - vertex 26.9647 2.16551 -0.1 + vertex 26.9647 2.16551 -0.2 vertex 26.9615 2.94949 0 - vertex 26.9615 2.94949 -0.1 + vertex 26.9615 2.94949 -0.2 endloop endfacet facet normal -0.999992 -0.00407505 0 outer loop vertex 26.9615 2.94949 0 - vertex 26.9647 2.16551 -0.1 + vertex 26.9647 2.16551 -0.2 vertex 26.9647 2.16551 0 endloop endfacet facet normal -0.998255 0.0590558 0 outer loop - vertex 26.9324 1.61996 -0.1 + vertex 26.9324 1.61996 -0.2 vertex 26.9647 2.16551 0 - vertex 26.9647 2.16551 -0.1 + vertex 26.9647 2.16551 -0.2 endloop endfacet facet normal -0.998255 0.0590558 0 outer loop vertex 26.9647 2.16551 0 - vertex 26.9324 1.61996 -0.1 + vertex 26.9324 1.61996 -0.2 vertex 26.9324 1.61996 0 endloop endfacet facet normal -0.986243 0.165303 0 outer loop - vertex 26.901 1.43209 -0.1 + vertex 26.901 1.43209 -0.2 vertex 26.9324 1.61996 0 - vertex 26.9324 1.61996 -0.1 + vertex 26.9324 1.61996 -0.2 endloop endfacet facet normal -0.986243 0.165303 0 outer loop vertex 26.9324 1.61996 0 - vertex 26.901 1.43209 -0.1 + vertex 26.901 1.43209 -0.2 vertex 26.901 1.43209 0 endloop endfacet facet normal -0.952336 0.30505 0 outer loop - vertex 26.8581 1.29842 -0.1 + vertex 26.8581 1.29842 -0.2 vertex 26.901 1.43209 0 - vertex 26.901 1.43209 -0.1 + vertex 26.901 1.43209 -0.2 endloop endfacet facet normal -0.952336 0.30505 0 outer loop vertex 26.901 1.43209 0 - vertex 26.8581 1.29842 -0.1 + vertex 26.8581 1.29842 -0.2 vertex 26.8581 1.29842 0 endloop endfacet facet normal -0.828352 0.560208 0 outer loop - vertex 26.8032 1.21715 -0.1 + vertex 26.8032 1.21715 -0.2 vertex 26.8581 1.29842 0 - vertex 26.8581 1.29842 -0.1 + vertex 26.8581 1.29842 -0.2 endloop endfacet facet normal -0.828352 0.560208 0 outer loop vertex 26.8581 1.29842 0 - vertex 26.8032 1.21715 -0.1 + vertex 26.8032 1.21715 -0.2 vertex 26.8032 1.21715 0 endloop endfacet facet normal -0.411544 0.91139 0 outer loop - vertex 26.8032 1.21715 -0.1 + vertex 26.8032 1.21715 -0.2 vertex 26.7352 1.18648 0 vertex 26.8032 1.21715 0 endloop @@ -34785,13 +34785,13 @@ solid OpenSCAD_Model facet normal -0.411544 0.91139 0 outer loop vertex 26.7352 1.18648 0 - vertex 26.8032 1.21715 -0.1 - vertex 26.7352 1.18648 -0.1 + vertex 26.8032 1.21715 -0.2 + vertex 26.7352 1.18648 -0.2 endloop endfacet facet normal 0.216454 0.976293 -0 outer loop - vertex 26.7352 1.18648 -0.1 + vertex 26.7352 1.18648 -0.2 vertex 26.6535 1.20459 0 vertex 26.7352 1.18648 0 endloop @@ -34799,13 +34799,13 @@ solid OpenSCAD_Model facet normal 0.216454 0.976293 0 outer loop vertex 26.6535 1.20459 0 - vertex 26.7352 1.18648 -0.1 - vertex 26.6535 1.20459 -0.1 + vertex 26.7352 1.18648 -0.2 + vertex 26.6535 1.20459 -0.2 endloop endfacet facet normal 0.559991 0.828498 -0 outer loop - vertex 26.6535 1.20459 -0.1 + vertex 26.6535 1.20459 -0.2 vertex 26.5572 1.2697 0 vertex 26.6535 1.20459 0 endloop @@ -34813,13 +34813,13 @@ solid OpenSCAD_Model facet normal 0.559991 0.828498 0 outer loop vertex 26.5572 1.2697 0 - vertex 26.6535 1.20459 -0.1 - vertex 26.5572 1.2697 -0.1 + vertex 26.6535 1.20459 -0.2 + vertex 26.5572 1.2697 -0.2 endloop endfacet facet normal 0.702452 0.711731 -0 outer loop - vertex 26.5572 1.2697 -0.1 + vertex 26.5572 1.2697 -0.2 vertex 26.4455 1.37999 0 vertex 26.5572 1.2697 0 endloop @@ -34827,69 +34827,69 @@ solid OpenSCAD_Model facet normal 0.702452 0.711731 0 outer loop vertex 26.4455 1.37999 0 - vertex 26.5572 1.2697 -0.1 - vertex 26.4455 1.37999 -0.1 + vertex 26.5572 1.2697 -0.2 + vertex 26.4455 1.37999 -0.2 endloop endfacet facet normal 0.76838 0.639993 0 outer loop vertex 26.4455 1.37999 0 - vertex 26.3175 1.53367 -0.1 + vertex 26.3175 1.53367 -0.2 vertex 26.3175 1.53367 0 endloop endfacet facet normal 0.76838 0.639993 0 outer loop - vertex 26.3175 1.53367 -0.1 + vertex 26.3175 1.53367 -0.2 vertex 26.4455 1.37999 0 - vertex 26.4455 1.37999 -0.1 + vertex 26.4455 1.37999 -0.2 endloop endfacet facet normal 0.813139 0.58207 0 outer loop vertex 26.3175 1.53367 0 - vertex 26.0094 1.96397 -0.1 + vertex 26.0094 1.96397 -0.2 vertex 26.0094 1.96397 0 endloop endfacet facet normal 0.813139 0.58207 0 outer loop - vertex 26.0094 1.96397 -0.1 + vertex 26.0094 1.96397 -0.2 vertex 26.3175 1.53367 0 - vertex 26.3175 1.53367 -0.1 + vertex 26.3175 1.53367 -0.2 endloop endfacet facet normal 0.812733 0.582636 0 outer loop vertex 26.0094 1.96397 0 - vertex 25.8138 2.23679 -0.1 + vertex 25.8138 2.23679 -0.2 vertex 25.8138 2.23679 0 endloop endfacet facet normal 0.812733 0.582636 0 outer loop - vertex 25.8138 2.23679 -0.1 + vertex 25.8138 2.23679 -0.2 vertex 26.0094 1.96397 0 - vertex 26.0094 1.96397 -0.1 + vertex 26.0094 1.96397 -0.2 endloop endfacet facet normal 0.76488 0.644173 0 outer loop vertex 25.8138 2.23679 0 - vertex 25.6376 2.44612 -0.1 + vertex 25.6376 2.44612 -0.2 vertex 25.6376 2.44612 0 endloop endfacet facet normal 0.76488 0.644173 0 outer loop - vertex 25.6376 2.44612 -0.1 + vertex 25.6376 2.44612 -0.2 vertex 25.8138 2.23679 0 - vertex 25.8138 2.23679 -0.1 + vertex 25.8138 2.23679 -0.2 endloop endfacet facet normal 0.675362 0.737487 -0 outer loop - vertex 25.6376 2.44612 -0.1 + vertex 25.6376 2.44612 -0.2 vertex 25.4766 2.59351 0 vertex 25.6376 2.44612 0 endloop @@ -34897,13 +34897,13 @@ solid OpenSCAD_Model facet normal 0.675362 0.737487 0 outer loop vertex 25.4766 2.59351 0 - vertex 25.6376 2.44612 -0.1 - vertex 25.4766 2.59351 -0.1 + vertex 25.6376 2.44612 -0.2 + vertex 25.4766 2.59351 -0.2 endloop endfacet facet normal 0.502892 0.86435 -0 outer loop - vertex 25.4766 2.59351 -0.1 + vertex 25.4766 2.59351 -0.2 vertex 25.3271 2.68052 0 vertex 25.4766 2.59351 0 endloop @@ -34911,13 +34911,13 @@ solid OpenSCAD_Model facet normal 0.502892 0.86435 0 outer loop vertex 25.3271 2.68052 0 - vertex 25.4766 2.59351 -0.1 - vertex 25.3271 2.68052 -0.1 + vertex 25.4766 2.59351 -0.2 + vertex 25.3271 2.68052 -0.2 endloop endfacet facet normal 0.194571 0.980889 -0 outer loop - vertex 25.3271 2.68052 -0.1 + vertex 25.3271 2.68052 -0.2 vertex 25.185 2.7087 0 vertex 25.3271 2.68052 0 endloop @@ -34925,13 +34925,13 @@ solid OpenSCAD_Model facet normal 0.194571 0.980889 0 outer loop vertex 25.185 2.7087 0 - vertex 25.3271 2.68052 -0.1 - vertex 25.185 2.7087 -0.1 + vertex 25.3271 2.68052 -0.2 + vertex 25.185 2.7087 -0.2 endloop endfacet facet normal -0.205381 0.978682 0 outer loop - vertex 25.185 2.7087 -0.1 + vertex 25.185 2.7087 -0.2 vertex 25.0464 2.67962 0 vertex 25.185 2.7087 0 endloop @@ -34939,13 +34939,13 @@ solid OpenSCAD_Model facet normal -0.205381 0.978682 0 outer loop vertex 25.0464 2.67962 0 - vertex 25.185 2.7087 -0.1 - vertex 25.0464 2.67962 -0.1 + vertex 25.185 2.7087 -0.2 + vertex 25.0464 2.67962 -0.2 endloop endfacet facet normal -0.520731 0.853721 0 outer loop - vertex 25.0464 2.67962 -0.1 + vertex 25.0464 2.67962 -0.2 vertex 24.9074 2.59483 0 vertex 25.0464 2.67962 0 endloop @@ -34953,13 +34953,13 @@ solid OpenSCAD_Model facet normal -0.520731 0.853721 0 outer loop vertex 24.9074 2.59483 0 - vertex 25.0464 2.67962 -0.1 - vertex 24.9074 2.59483 -0.1 + vertex 25.0464 2.67962 -0.2 + vertex 24.9074 2.59483 -0.2 endloop endfacet facet normal -0.695882 0.718157 0 outer loop - vertex 24.9074 2.59483 -0.1 + vertex 24.9074 2.59483 -0.2 vertex 24.764 2.4559 0 vertex 24.9074 2.59483 0 endloop @@ -34967,13 +34967,13 @@ solid OpenSCAD_Model facet normal -0.695882 0.718157 0 outer loop vertex 24.764 2.4559 0 - vertex 24.9074 2.59483 -0.1 - vertex 24.764 2.4559 -0.1 + vertex 24.9074 2.59483 -0.2 + vertex 24.764 2.4559 -0.2 endloop endfacet facet normal -0.621809 0.783169 0 outer loop - vertex 24.764 2.4559 -0.1 + vertex 24.764 2.4559 -0.2 vertex 24.6285 2.34829 0 vertex 24.764 2.4559 0 endloop @@ -34981,13 +34981,13 @@ solid OpenSCAD_Model facet normal -0.621809 0.783169 0 outer loop vertex 24.6285 2.34829 0 - vertex 24.764 2.4559 -0.1 - vertex 24.6285 2.34829 -0.1 + vertex 24.764 2.4559 -0.2 + vertex 24.6285 2.34829 -0.2 endloop endfacet facet normal -0.432349 0.901706 0 outer loop - vertex 24.6285 2.34829 -0.1 + vertex 24.6285 2.34829 -0.2 vertex 24.4388 2.25734 0 vertex 24.6285 2.34829 0 endloop @@ -34995,13 +34995,13 @@ solid OpenSCAD_Model facet normal -0.432349 0.901706 0 outer loop vertex 24.4388 2.25734 0 - vertex 24.6285 2.34829 -0.1 - vertex 24.4388 2.25734 -0.1 + vertex 24.6285 2.34829 -0.2 + vertex 24.4388 2.25734 -0.2 endloop endfacet facet normal -0.283745 0.9589 0 outer loop - vertex 24.4388 2.25734 -0.1 + vertex 24.4388 2.25734 -0.2 vertex 24.2201 2.19262 0 vertex 24.4388 2.25734 0 endloop @@ -35009,13 +35009,13 @@ solid OpenSCAD_Model facet normal -0.283745 0.9589 0 outer loop vertex 24.2201 2.19262 0 - vertex 24.4388 2.25734 -0.1 - vertex 24.2201 2.19262 -0.1 + vertex 24.4388 2.25734 -0.2 + vertex 24.2201 2.19262 -0.2 endloop endfacet facet normal -0.128745 0.991678 0 outer loop - vertex 24.2201 2.19262 -0.1 + vertex 24.2201 2.19262 -0.2 vertex 23.9975 2.16372 0 vertex 24.2201 2.19262 0 endloop @@ -35023,13 +35023,13 @@ solid OpenSCAD_Model facet normal -0.128745 0.991678 0 outer loop vertex 23.9975 2.16372 0 - vertex 24.2201 2.19262 -0.1 - vertex 23.9975 2.16372 -0.1 + vertex 24.2201 2.19262 -0.2 + vertex 23.9975 2.16372 -0.2 endloop endfacet facet normal -0.0892316 0.996011 0 outer loop - vertex 23.9975 2.16372 -0.1 + vertex 23.9975 2.16372 -0.2 vertex 23.7673 2.14309 0 vertex 23.9975 2.16372 0 endloop @@ -35037,13 +35037,13 @@ solid OpenSCAD_Model facet normal -0.0892316 0.996011 0 outer loop vertex 23.7673 2.14309 0 - vertex 23.9975 2.16372 -0.1 - vertex 23.7673 2.14309 -0.1 + vertex 23.9975 2.16372 -0.2 + vertex 23.7673 2.14309 -0.2 endloop endfacet facet normal -0.173492 0.984835 0 outer loop - vertex 23.7673 2.14309 -0.1 + vertex 23.7673 2.14309 -0.2 vertex 23.5277 2.10089 0 vertex 23.7673 2.14309 0 endloop @@ -35051,13 +35051,13 @@ solid OpenSCAD_Model facet normal -0.173492 0.984835 0 outer loop vertex 23.5277 2.10089 0 - vertex 23.7673 2.14309 -0.1 - vertex 23.5277 2.10089 -0.1 + vertex 23.7673 2.14309 -0.2 + vertex 23.5277 2.10089 -0.2 endloop endfacet facet normal -0.252811 0.967516 0 outer loop - vertex 23.5277 2.10089 -0.1 + vertex 23.5277 2.10089 -0.2 vertex 23.3072 2.04326 0 vertex 23.5277 2.10089 0 endloop @@ -35065,13 +35065,13 @@ solid OpenSCAD_Model facet normal -0.252811 0.967516 0 outer loop vertex 23.3072 2.04326 0 - vertex 23.5277 2.10089 -0.1 - vertex 23.3072 2.04326 -0.1 + vertex 23.5277 2.10089 -0.2 + vertex 23.3072 2.04326 -0.2 endloop endfacet facet normal -0.360079 0.932922 0 outer loop - vertex 23.3072 2.04326 -0.1 + vertex 23.3072 2.04326 -0.2 vertex 23.0469 1.94283 0 vertex 23.3072 2.04326 0 endloop @@ -35079,13 +35079,13 @@ solid OpenSCAD_Model facet normal -0.360079 0.932922 0 outer loop vertex 23.0469 1.94283 0 - vertex 23.3072 2.04326 -0.1 - vertex 23.0469 1.94283 -0.1 + vertex 23.3072 2.04326 -0.2 + vertex 23.0469 1.94283 -0.2 endloop endfacet facet normal -0.120091 0.992763 0 outer loop - vertex 23.0469 1.94283 -0.1 + vertex 23.0469 1.94283 -0.2 vertex 22.9727 1.93385 0 vertex 23.0469 1.94283 0 endloop @@ -35093,13 +35093,13 @@ solid OpenSCAD_Model facet normal -0.120091 0.992763 0 outer loop vertex 22.9727 1.93385 0 - vertex 23.0469 1.94283 -0.1 - vertex 22.9727 1.93385 -0.1 + vertex 23.0469 1.94283 -0.2 + vertex 22.9727 1.93385 -0.2 endloop endfacet facet normal 0.220007 0.975498 -0 outer loop - vertex 22.9727 1.93385 -0.1 + vertex 22.9727 1.93385 -0.2 vertex 22.9112 1.94773 0 vertex 22.9727 1.93385 0 endloop @@ -35107,13 +35107,13 @@ solid OpenSCAD_Model facet normal 0.220007 0.975498 0 outer loop vertex 22.9112 1.94773 0 - vertex 22.9727 1.93385 -0.1 - vertex 22.9112 1.94773 -0.1 + vertex 22.9727 1.93385 -0.2 + vertex 22.9112 1.94773 -0.2 endloop endfacet facet normal 0.582178 0.813061 -0 outer loop - vertex 22.9112 1.94773 -0.1 + vertex 22.9112 1.94773 -0.2 vertex 22.8622 1.9828 0 vertex 22.9112 1.94773 0 endloop @@ -35121,293 +35121,293 @@ solid OpenSCAD_Model facet normal 0.582178 0.813061 0 outer loop vertex 22.8622 1.9828 0 - vertex 22.9112 1.94773 -0.1 - vertex 22.8622 1.9828 -0.1 + vertex 22.9112 1.94773 -0.2 + vertex 22.8622 1.9828 -0.2 endloop endfacet facet normal 0.831256 0.55589 0 outer loop vertex 22.8622 1.9828 0 - vertex 22.8257 2.03737 -0.1 + vertex 22.8257 2.03737 -0.2 vertex 22.8257 2.03737 0 endloop endfacet facet normal 0.831256 0.55589 0 outer loop - vertex 22.8257 2.03737 -0.1 + vertex 22.8257 2.03737 -0.2 vertex 22.8622 1.9828 0 - vertex 22.8622 1.9828 -0.1 + vertex 22.8622 1.9828 -0.2 endloop endfacet facet normal 0.948775 0.315953 0 outer loop vertex 22.8257 2.03737 0 - vertex 22.8016 2.10976 -0.1 + vertex 22.8016 2.10976 -0.2 vertex 22.8016 2.10976 0 endloop endfacet facet normal 0.948775 0.315953 0 outer loop - vertex 22.8016 2.10976 -0.1 + vertex 22.8016 2.10976 -0.2 vertex 22.8257 2.03737 0 - vertex 22.8257 2.03737 -0.1 + vertex 22.8257 2.03737 -0.2 endloop endfacet facet normal 0.998216 0.059713 0 outer loop vertex 22.8016 2.10976 0 - vertex 22.7901 2.30129 -0.1 + vertex 22.7901 2.30129 -0.2 vertex 22.7901 2.30129 0 endloop endfacet facet normal 0.998216 0.059713 0 outer loop - vertex 22.7901 2.30129 -0.1 + vertex 22.7901 2.30129 -0.2 vertex 22.8016 2.10976 0 - vertex 22.8016 2.10976 -0.1 + vertex 22.8016 2.10976 -0.2 endloop endfacet facet normal 0.988638 -0.150314 0 outer loop vertex 22.7901 2.30129 0 - vertex 22.827 2.54396 -0.1 + vertex 22.827 2.54396 -0.2 vertex 22.827 2.54396 0 endloop endfacet facet normal 0.988638 -0.150314 0 outer loop - vertex 22.827 2.54396 -0.1 + vertex 22.827 2.54396 -0.2 vertex 22.7901 2.30129 0 - vertex 22.7901 2.30129 -0.1 + vertex 22.7901 2.30129 -0.2 endloop endfacet facet normal 0.957496 -0.288446 0 outer loop vertex 22.827 2.54396 0 - vertex 22.9115 2.82433 -0.1 + vertex 22.9115 2.82433 -0.2 vertex 22.9115 2.82433 0 endloop endfacet facet normal 0.957496 -0.288446 0 outer loop - vertex 22.9115 2.82433 -0.1 + vertex 22.9115 2.82433 -0.2 vertex 22.827 2.54396 0 - vertex 22.827 2.54396 -0.1 + vertex 22.827 2.54396 -0.2 endloop endfacet facet normal 0.918399 -0.395656 0 outer loop vertex 22.9115 2.82433 0 - vertex 23.0427 3.12896 -0.1 + vertex 23.0427 3.12896 -0.2 vertex 23.0427 3.12896 0 endloop endfacet facet normal 0.918399 -0.395656 0 outer loop - vertex 23.0427 3.12896 -0.1 + vertex 23.0427 3.12896 -0.2 vertex 22.9115 2.82433 0 - vertex 22.9115 2.82433 -0.1 + vertex 22.9115 2.82433 -0.2 endloop endfacet facet normal 0.87183 -0.489809 0 outer loop vertex 23.0427 3.12896 0 - vertex 23.22 3.44442 -0.1 + vertex 23.22 3.44442 -0.2 vertex 23.22 3.44442 0 endloop endfacet facet normal 0.87183 -0.489809 0 outer loop - vertex 23.22 3.44442 -0.1 + vertex 23.22 3.44442 -0.2 vertex 23.0427 3.12896 0 - vertex 23.0427 3.12896 -0.1 + vertex 23.0427 3.12896 -0.2 endloop endfacet facet normal 0.879841 -0.475268 0 outer loop vertex 23.22 3.44442 0 - vertex 23.4183 3.81156 -0.1 + vertex 23.4183 3.81156 -0.2 vertex 23.4183 3.81156 0 endloop endfacet facet normal 0.879841 -0.475268 0 outer loop - vertex 23.4183 3.81156 -0.1 + vertex 23.4183 3.81156 -0.2 vertex 23.22 3.44442 0 - vertex 23.22 3.44442 -0.1 + vertex 23.22 3.44442 -0.2 endloop endfacet facet normal 0.942923 -0.33301 0 outer loop vertex 23.4183 3.81156 0 - vertex 23.5494 4.18291 -0.1 + vertex 23.5494 4.18291 -0.2 vertex 23.5494 4.18291 0 endloop endfacet facet normal 0.942923 -0.33301 0 outer loop - vertex 23.5494 4.18291 -0.1 + vertex 23.5494 4.18291 -0.2 vertex 23.4183 3.81156 0 - vertex 23.4183 3.81156 -0.1 + vertex 23.4183 3.81156 -0.2 endloop endfacet facet normal 0.978031 -0.208457 0 outer loop vertex 23.5494 4.18291 0 - vertex 23.5897 4.3717 -0.1 + vertex 23.5897 4.3717 -0.2 vertex 23.5897 4.3717 0 endloop endfacet facet normal 0.978031 -0.208457 0 outer loop - vertex 23.5897 4.3717 -0.1 + vertex 23.5897 4.3717 -0.2 vertex 23.5494 4.18291 0 - vertex 23.5494 4.18291 -0.1 + vertex 23.5494 4.18291 -0.2 endloop endfacet facet normal 0.992713 -0.120506 0 outer loop vertex 23.5897 4.3717 0 - vertex 23.6129 4.5634 -0.1 + vertex 23.6129 4.5634 -0.2 vertex 23.6129 4.5634 0 endloop endfacet facet normal 0.992713 -0.120506 0 outer loop - vertex 23.6129 4.5634 -0.1 + vertex 23.6129 4.5634 -0.2 vertex 23.5897 4.3717 0 - vertex 23.5897 4.3717 -0.1 + vertex 23.5897 4.3717 -0.2 endloop endfacet facet normal 0.99949 -0.0319444 0 outer loop vertex 23.6129 4.5634 0 - vertex 23.6192 4.7586 -0.1 + vertex 23.6192 4.7586 -0.2 vertex 23.6192 4.7586 0 endloop endfacet facet normal 0.99949 -0.0319444 0 outer loop - vertex 23.6192 4.7586 -0.1 + vertex 23.6192 4.7586 -0.2 vertex 23.6129 4.5634 0 - vertex 23.6129 4.5634 -0.1 + vertex 23.6129 4.5634 -0.2 endloop endfacet facet normal 0.998522 0.054345 0 outer loop vertex 23.6192 4.7586 0 - vertex 23.6083 4.95794 -0.1 + vertex 23.6083 4.95794 -0.2 vertex 23.6083 4.95794 0 endloop endfacet facet normal 0.998522 0.054345 0 outer loop - vertex 23.6083 4.95794 -0.1 + vertex 23.6083 4.95794 -0.2 vertex 23.6192 4.7586 0 - vertex 23.6192 4.7586 -0.1 + vertex 23.6192 4.7586 -0.2 endloop endfacet facet normal 0.984692 0.174301 0 outer loop vertex 23.6083 4.95794 0 - vertex 23.5351 5.37146 -0.1 + vertex 23.5351 5.37146 -0.2 vertex 23.5351 5.37146 0 endloop endfacet facet normal 0.984692 0.174301 0 outer loop - vertex 23.5351 5.37146 -0.1 + vertex 23.5351 5.37146 -0.2 vertex 23.6083 4.95794 0 - vertex 23.6083 4.95794 -0.1 + vertex 23.6083 4.95794 -0.2 endloop endfacet facet normal 0.95097 0.309282 0 outer loop vertex 23.5351 5.37146 0 - vertex 23.3929 5.8089 -0.1 + vertex 23.3929 5.8089 -0.2 vertex 23.3929 5.8089 0 endloop endfacet facet normal 0.95097 0.309282 0 outer loop - vertex 23.3929 5.8089 -0.1 + vertex 23.3929 5.8089 -0.2 vertex 23.5351 5.37146 0 - vertex 23.5351 5.37146 -0.1 + vertex 23.5351 5.37146 -0.2 endloop endfacet facet normal 0.910464 0.413588 0 outer loop vertex 23.3929 5.8089 0 - vertex 23.1811 6.27516 -0.1 + vertex 23.1811 6.27516 -0.2 vertex 23.1811 6.27516 0 endloop endfacet facet normal 0.910464 0.413588 0 outer loop - vertex 23.1811 6.27516 -0.1 + vertex 23.1811 6.27516 -0.2 vertex 23.3929 5.8089 0 - vertex 23.3929 5.8089 -0.1 + vertex 23.3929 5.8089 -0.2 endloop endfacet facet normal 0.871161 0.490997 0 outer loop vertex 23.1811 6.27516 0 - vertex 22.8992 6.77518 -0.1 + vertex 22.8992 6.77518 -0.2 vertex 22.8992 6.77518 0 endloop endfacet facet normal 0.871161 0.490997 0 outer loop - vertex 22.8992 6.77518 -0.1 + vertex 22.8992 6.77518 -0.2 vertex 23.1811 6.27516 0 - vertex 23.1811 6.27516 -0.1 + vertex 23.1811 6.27516 -0.2 endloop endfacet facet normal 0.839072 0.54402 0 outer loop vertex 22.8992 6.77518 0 - vertex 22.6364 7.18064 -0.1 + vertex 22.6364 7.18064 -0.2 vertex 22.6364 7.18064 0 endloop endfacet facet normal 0.839072 0.54402 0 outer loop - vertex 22.6364 7.18064 -0.1 + vertex 22.6364 7.18064 -0.2 vertex 22.8992 6.77518 0 - vertex 22.8992 6.77518 -0.1 + vertex 22.8992 6.77518 -0.2 endloop endfacet facet normal 0.802153 0.597118 0 outer loop vertex 22.6364 7.18064 0 - vertex 22.3621 7.54907 -0.1 + vertex 22.3621 7.54907 -0.2 vertex 22.3621 7.54907 0 endloop endfacet facet normal 0.802153 0.597118 0 outer loop - vertex 22.3621 7.54907 -0.1 + vertex 22.3621 7.54907 -0.2 vertex 22.6364 7.18064 0 - vertex 22.6364 7.18064 -0.1 + vertex 22.6364 7.18064 -0.2 endloop endfacet facet normal 0.754344 0.65648 0 outer loop vertex 22.3621 7.54907 0 - vertex 22.0631 7.89267 -0.1 + vertex 22.0631 7.89267 -0.2 vertex 22.0631 7.89267 0 endloop endfacet facet normal 0.754344 0.65648 0 outer loop - vertex 22.0631 7.89267 -0.1 + vertex 22.0631 7.89267 -0.2 vertex 22.3621 7.54907 0 - vertex 22.3621 7.54907 -0.1 + vertex 22.3621 7.54907 -0.2 endloop endfacet facet normal 0.700509 0.713644 -0 outer loop - vertex 22.0631 7.89267 -0.1 + vertex 22.0631 7.89267 -0.2 vertex 21.7259 8.22365 0 vertex 22.0631 7.89267 0 endloop @@ -35415,13 +35415,13 @@ solid OpenSCAD_Model facet normal 0.700509 0.713644 0 outer loop vertex 21.7259 8.22365 0 - vertex 22.0631 7.89267 -0.1 - vertex 21.7259 8.22365 -0.1 + vertex 22.0631 7.89267 -0.2 + vertex 21.7259 8.22365 -0.2 endloop endfacet facet normal 0.647802 0.761808 -0 outer loop - vertex 21.7259 8.22365 -0.1 + vertex 21.7259 8.22365 -0.2 vertex 21.3371 8.55423 0 vertex 21.7259 8.22365 0 endloop @@ -35429,13 +35429,13 @@ solid OpenSCAD_Model facet normal 0.647802 0.761808 0 outer loop vertex 21.3371 8.55423 0 - vertex 21.7259 8.22365 -0.1 - vertex 21.3371 8.55423 -0.1 + vertex 21.7259 8.22365 -0.2 + vertex 21.3371 8.55423 -0.2 endloop endfacet facet normal 0.602358 0.798226 -0 outer loop - vertex 21.3371 8.55423 -0.1 + vertex 21.3371 8.55423 -0.2 vertex 20.8834 8.89663 0 vertex 21.3371 8.55423 0 endloop @@ -35443,13 +35443,13 @@ solid OpenSCAD_Model facet normal 0.602358 0.798226 0 outer loop vertex 20.8834 8.89663 0 - vertex 21.3371 8.55423 -0.1 - vertex 20.8834 8.89663 -0.1 + vertex 21.3371 8.55423 -0.2 + vertex 20.8834 8.89663 -0.2 endloop endfacet facet normal 0.567155 0.823611 -0 outer loop - vertex 20.8834 8.89663 -0.1 + vertex 20.8834 8.89663 -0.2 vertex 20.3513 9.26304 0 vertex 20.8834 8.89663 0 endloop @@ -35457,13 +35457,13 @@ solid OpenSCAD_Model facet normal 0.567155 0.823611 0 outer loop vertex 20.3513 9.26304 0 - vertex 20.8834 8.89663 -0.1 - vertex 20.3513 9.26304 -0.1 + vertex 20.8834 8.89663 -0.2 + vertex 20.3513 9.26304 -0.2 endloop endfacet facet normal 0.542271 0.840203 -0 outer loop - vertex 20.3513 9.26304 -0.1 + vertex 20.3513 9.26304 -0.2 vertex 19.7274 9.66569 0 vertex 20.3513 9.26304 0 endloop @@ -35471,13 +35471,13 @@ solid OpenSCAD_Model facet normal 0.542271 0.840203 0 outer loop vertex 19.7274 9.66569 0 - vertex 20.3513 9.26304 -0.1 - vertex 19.7274 9.66569 -0.1 + vertex 20.3513 9.26304 -0.2 + vertex 19.7274 9.66569 -0.2 endloop endfacet facet normal 0.509213 0.86064 -0 outer loop - vertex 19.7274 9.66569 -0.1 + vertex 19.7274 9.66569 -0.2 vertex 19.4723 9.81661 0 vertex 19.7274 9.66569 0 endloop @@ -35485,13 +35485,13 @@ solid OpenSCAD_Model facet normal 0.509213 0.86064 0 outer loop vertex 19.4723 9.81661 0 - vertex 19.7274 9.66569 -0.1 - vertex 19.4723 9.81661 -0.1 + vertex 19.7274 9.66569 -0.2 + vertex 19.4723 9.81661 -0.2 endloop endfacet facet normal 0.451586 0.892227 -0 outer loop - vertex 19.4723 9.81661 -0.1 + vertex 19.4723 9.81661 -0.2 vertex 19.2206 9.94402 0 vertex 19.4723 9.81661 0 endloop @@ -35499,13 +35499,13 @@ solid OpenSCAD_Model facet normal 0.451586 0.892227 0 outer loop vertex 19.2206 9.94402 0 - vertex 19.4723 9.81661 -0.1 - vertex 19.2206 9.94402 -0.1 + vertex 19.4723 9.81661 -0.2 + vertex 19.2206 9.94402 -0.2 endloop endfacet facet normal 0.382649 0.923894 -0 outer loop - vertex 19.2206 9.94402 -0.1 + vertex 19.2206 9.94402 -0.2 vertex 18.9645 10.0501 0 vertex 19.2206 9.94402 0 endloop @@ -35513,13 +35513,13 @@ solid OpenSCAD_Model facet normal 0.382649 0.923894 0 outer loop vertex 18.9645 10.0501 0 - vertex 19.2206 9.94402 -0.1 - vertex 18.9645 10.0501 -0.1 + vertex 19.2206 9.94402 -0.2 + vertex 18.9645 10.0501 -0.2 endloop endfacet facet normal 0.308251 0.951305 -0 outer loop - vertex 18.9645 10.0501 -0.1 + vertex 18.9645 10.0501 -0.2 vertex 18.6964 10.137 0 vertex 18.9645 10.0501 0 endloop @@ -35527,13 +35527,13 @@ solid OpenSCAD_Model facet normal 0.308251 0.951305 0 outer loop vertex 18.6964 10.137 0 - vertex 18.9645 10.0501 -0.1 - vertex 18.6964 10.137 -0.1 + vertex 18.9645 10.0501 -0.2 + vertex 18.6964 10.137 -0.2 endloop endfacet facet normal 0.235891 0.971779 -0 outer loop - vertex 18.6964 10.137 -0.1 + vertex 18.6964 10.137 -0.2 vertex 18.4085 10.2069 0 vertex 18.6964 10.137 0 endloop @@ -35541,13 +35541,13 @@ solid OpenSCAD_Model facet normal 0.235891 0.971779 0 outer loop vertex 18.4085 10.2069 0 - vertex 18.6964 10.137 -0.1 - vertex 18.4085 10.2069 -0.1 + vertex 18.6964 10.137 -0.2 + vertex 18.4085 10.2069 -0.2 endloop endfacet facet normal 0.172 0.985097 -0 outer loop - vertex 18.4085 10.2069 -0.1 + vertex 18.4085 10.2069 -0.2 vertex 18.093 10.2619 0 vertex 18.4085 10.2069 0 endloop @@ -35555,13 +35555,13 @@ solid OpenSCAD_Model facet normal 0.172 0.985097 0 outer loop vertex 18.093 10.2619 0 - vertex 18.4085 10.2069 -0.1 - vertex 18.093 10.2619 -0.1 + vertex 18.4085 10.2069 -0.2 + vertex 18.093 10.2619 -0.2 endloop endfacet facet normal 0.0994696 0.995041 -0 outer loop - vertex 18.093 10.2619 -0.1 + vertex 18.093 10.2619 -0.2 vertex 17.3487 10.3363 0 vertex 18.093 10.2619 0 endloop @@ -35569,13 +35569,13 @@ solid OpenSCAD_Model facet normal 0.0994696 0.995041 0 outer loop vertex 17.3487 10.3363 0 - vertex 18.093 10.2619 -0.1 - vertex 17.3487 10.3363 -0.1 + vertex 18.093 10.2619 -0.2 + vertex 17.3487 10.3363 -0.2 endloop endfacet facet normal 0.0510048 0.998698 -0 outer loop - vertex 17.3487 10.3363 -0.1 + vertex 17.3487 10.3363 -0.2 vertex 16.499 10.3797 0 vertex 17.3487 10.3363 0 endloop @@ -35583,13 +35583,13 @@ solid OpenSCAD_Model facet normal 0.0510048 0.998698 0 outer loop vertex 16.499 10.3797 0 - vertex 17.3487 10.3363 -0.1 - vertex 16.499 10.3797 -0.1 + vertex 17.3487 10.3363 -0.2 + vertex 16.499 10.3797 -0.2 endloop endfacet facet normal -0.0333465 0.999444 0 outer loop - vertex 16.499 10.3797 -0.1 + vertex 16.499 10.3797 -0.2 vertex 16.2187 10.3704 0 vertex 16.499 10.3797 0 endloop @@ -35597,13 +35597,13 @@ solid OpenSCAD_Model facet normal -0.0333465 0.999444 0 outer loop vertex 16.2187 10.3704 0 - vertex 16.499 10.3797 -0.1 - vertex 16.2187 10.3704 -0.1 + vertex 16.499 10.3797 -0.2 + vertex 16.2187 10.3704 -0.2 endloop endfacet facet normal -0.179208 0.983811 0 outer loop - vertex 16.2187 10.3704 -0.1 + vertex 16.2187 10.3704 -0.2 vertex 16.005 10.3315 0 vertex 16.2187 10.3704 0 endloop @@ -35611,13 +35611,13 @@ solid OpenSCAD_Model facet normal -0.179208 0.983811 0 outer loop vertex 16.005 10.3315 0 - vertex 16.2187 10.3704 -0.1 - vertex 16.005 10.3315 -0.1 + vertex 16.2187 10.3704 -0.2 + vertex 16.005 10.3315 -0.2 endloop endfacet facet normal -0.405411 0.914135 0 outer loop - vertex 16.005 10.3315 -0.1 + vertex 16.005 10.3315 -0.2 vertex 15.8355 10.2563 0 vertex 16.005 10.3315 0 endloop @@ -35625,13 +35625,13 @@ solid OpenSCAD_Model facet normal -0.405411 0.914135 0 outer loop vertex 15.8355 10.2563 0 - vertex 16.005 10.3315 -0.1 - vertex 15.8355 10.2563 -0.1 + vertex 16.005 10.3315 -0.2 + vertex 15.8355 10.2563 -0.2 endloop endfacet facet normal -0.624597 0.780947 0 outer loop - vertex 15.8355 10.2563 -0.1 + vertex 15.8355 10.2563 -0.2 vertex 15.6879 10.1383 0 vertex 15.8355 10.2563 0 endloop @@ -35639,335 +35639,335 @@ solid OpenSCAD_Model facet normal -0.624597 0.780947 0 outer loop vertex 15.6879 10.1383 0 - vertex 15.8355 10.2563 -0.1 - vertex 15.6879 10.1383 -0.1 + vertex 15.8355 10.2563 -0.2 + vertex 15.6879 10.1383 -0.2 endloop endfacet facet normal -0.749396 0.662122 0 outer loop - vertex 15.5399 9.97068 -0.1 + vertex 15.5399 9.97068 -0.2 vertex 15.6879 10.1383 0 - vertex 15.6879 10.1383 -0.1 + vertex 15.6879 10.1383 -0.2 endloop endfacet facet normal -0.749396 0.662122 0 outer loop vertex 15.6879 10.1383 0 - vertex 15.5399 9.97068 -0.1 + vertex 15.5399 9.97068 -0.2 vertex 15.5399 9.97068 0 endloop endfacet facet normal -0.794739 0.606951 0 outer loop - vertex 15.369 9.74689 -0.1 + vertex 15.369 9.74689 -0.2 vertex 15.5399 9.97068 0 - vertex 15.5399 9.97068 -0.1 + vertex 15.5399 9.97068 -0.2 endloop endfacet facet normal -0.794739 0.606951 0 outer loop vertex 15.5399 9.97068 0 - vertex 15.369 9.74689 -0.1 + vertex 15.369 9.74689 -0.2 vertex 15.369 9.74689 0 endloop endfacet facet normal -0.812079 0.583548 0 outer loop - vertex 15.213 9.52982 -0.1 + vertex 15.213 9.52982 -0.2 vertex 15.369 9.74689 0 - vertex 15.369 9.74689 -0.1 + vertex 15.369 9.74689 -0.2 endloop endfacet facet normal -0.812079 0.583548 0 outer loop vertex 15.369 9.74689 0 - vertex 15.213 9.52982 -0.1 + vertex 15.213 9.52982 -0.2 vertex 15.213 9.52982 0 endloop endfacet facet normal -0.851006 0.525156 0 outer loop - vertex 15.0942 9.33737 -0.1 + vertex 15.0942 9.33737 -0.2 vertex 15.213 9.52982 0 - vertex 15.213 9.52982 -0.1 + vertex 15.213 9.52982 -0.2 endloop endfacet facet normal -0.851006 0.525156 0 outer loop vertex 15.213 9.52982 0 - vertex 15.0942 9.33737 -0.1 + vertex 15.0942 9.33737 -0.2 vertex 15.0942 9.33737 0 endloop endfacet facet normal -0.909184 0.416395 0 outer loop - vertex 15.0092 9.15168 -0.1 + vertex 15.0092 9.15168 -0.2 vertex 15.0942 9.33737 0 - vertex 15.0942 9.33737 -0.1 + vertex 15.0942 9.33737 -0.2 endloop endfacet facet normal -0.909184 0.416395 0 outer loop vertex 15.0942 9.33737 0 - vertex 15.0092 9.15168 -0.1 + vertex 15.0092 9.15168 -0.2 vertex 15.0092 9.15168 0 endloop endfacet facet normal -0.963304 0.268412 0 outer loop - vertex 14.9543 8.95485 -0.1 + vertex 14.9543 8.95485 -0.2 vertex 15.0092 9.15168 0 - vertex 15.0092 9.15168 -0.1 + vertex 15.0092 9.15168 -0.2 endloop endfacet facet normal -0.963304 0.268412 0 outer loop vertex 15.0092 9.15168 0 - vertex 14.9543 8.95485 -0.1 + vertex 14.9543 8.95485 -0.2 vertex 14.9543 8.95485 0 endloop endfacet facet normal -0.99232 0.1237 0 outer loop - vertex 14.9262 8.72903 -0.1 + vertex 14.9262 8.72903 -0.2 vertex 14.9543 8.95485 0 - vertex 14.9543 8.95485 -0.1 + vertex 14.9543 8.95485 -0.2 endloop endfacet facet normal -0.99232 0.1237 0 outer loop vertex 14.9543 8.95485 0 - vertex 14.9262 8.72903 -0.1 + vertex 14.9262 8.72903 -0.2 vertex 14.9262 8.72903 0 endloop endfacet facet normal -0.999834 0.0182102 0 outer loop - vertex 14.9212 8.45633 -0.1 + vertex 14.9212 8.45633 -0.2 vertex 14.9262 8.72903 0 - vertex 14.9262 8.72903 -0.1 + vertex 14.9262 8.72903 -0.2 endloop endfacet facet normal -0.999834 0.0182102 0 outer loop vertex 14.9262 8.72903 0 - vertex 14.9212 8.45633 -0.1 + vertex 14.9212 8.45633 -0.2 vertex 14.9212 8.45633 0 endloop endfacet facet normal -0.998195 -0.0600559 0 outer loop - vertex 14.9668 7.69881 -0.1 + vertex 14.9668 7.69881 -0.2 vertex 14.9212 8.45633 0 - vertex 14.9212 8.45633 -0.1 + vertex 14.9212 8.45633 -0.2 endloop endfacet facet normal -0.998195 -0.0600559 0 outer loop vertex 14.9212 8.45633 0 - vertex 14.9668 7.69881 -0.1 + vertex 14.9668 7.69881 -0.2 vertex 14.9668 7.69881 0 endloop endfacet facet normal -0.99465 -0.103302 0 outer loop - vertex 15.0249 7.13954 -0.1 + vertex 15.0249 7.13954 -0.2 vertex 14.9668 7.69881 0 - vertex 14.9668 7.69881 -0.1 + vertex 14.9668 7.69881 -0.2 endloop endfacet facet normal -0.99465 -0.103302 0 outer loop vertex 14.9668 7.69881 0 - vertex 15.0249 7.13954 -0.1 + vertex 15.0249 7.13954 -0.2 vertex 15.0249 7.13954 0 endloop endfacet facet normal -0.989699 -0.143163 0 outer loop - vertex 15.1095 6.5543 -0.1 + vertex 15.1095 6.5543 -0.2 vertex 15.0249 7.13954 0 - vertex 15.0249 7.13954 -0.1 + vertex 15.0249 7.13954 -0.2 endloop endfacet facet normal -0.989699 -0.143163 0 outer loop vertex 15.0249 7.13954 0 - vertex 15.1095 6.5543 -0.1 + vertex 15.1095 6.5543 -0.2 vertex 15.1095 6.5543 0 endloop endfacet facet normal -0.984174 -0.177204 0 outer loop - vertex 15.2183 5.95043 -0.1 + vertex 15.2183 5.95043 -0.2 vertex 15.1095 6.5543 0 - vertex 15.1095 6.5543 -0.1 + vertex 15.1095 6.5543 -0.2 endloop endfacet facet normal -0.984174 -0.177204 0 outer loop vertex 15.1095 6.5543 0 - vertex 15.2183 5.95043 -0.1 + vertex 15.2183 5.95043 -0.2 vertex 15.2183 5.95043 0 endloop endfacet facet normal -0.978296 -0.207212 0 outer loop - vertex 15.3486 5.33522 -0.1 + vertex 15.3486 5.33522 -0.2 vertex 15.2183 5.95043 0 - vertex 15.2183 5.95043 -0.1 + vertex 15.2183 5.95043 -0.2 endloop endfacet facet normal -0.978296 -0.207212 0 outer loop vertex 15.2183 5.95043 0 - vertex 15.3486 5.33522 -0.1 + vertex 15.3486 5.33522 -0.2 vertex 15.3486 5.33522 0 endloop endfacet facet normal -0.972111 -0.23452 0 outer loop - vertex 15.498 4.716 -0.1 + vertex 15.498 4.716 -0.2 vertex 15.3486 5.33522 0 - vertex 15.3486 5.33522 -0.1 + vertex 15.3486 5.33522 -0.2 endloop endfacet facet normal -0.972111 -0.23452 0 outer loop vertex 15.3486 5.33522 0 - vertex 15.498 4.716 -0.1 + vertex 15.498 4.716 -0.2 vertex 15.498 4.716 0 endloop endfacet facet normal -0.965559 -0.260185 0 outer loop - vertex 15.6639 4.10009 -0.1 + vertex 15.6639 4.10009 -0.2 vertex 15.498 4.716 0 - vertex 15.498 4.716 -0.1 + vertex 15.498 4.716 -0.2 endloop endfacet facet normal -0.965559 -0.260185 0 outer loop vertex 15.498 4.716 0 - vertex 15.6639 4.10009 -0.1 + vertex 15.6639 4.10009 -0.2 vertex 15.6639 4.10009 0 endloop endfacet facet normal -0.95471 -0.297537 0 outer loop - vertex 16.0356 2.90743 -0.1 + vertex 16.0356 2.90743 -0.2 vertex 15.6639 4.10009 0 - vertex 15.6639 4.10009 -0.1 + vertex 15.6639 4.10009 -0.2 endloop endfacet facet normal -0.95471 -0.297537 0 outer loop vertex 15.6639 4.10009 0 - vertex 16.0356 2.90743 -0.1 + vertex 16.0356 2.90743 -0.2 vertex 16.0356 2.90743 0 endloop endfacet facet normal -0.941754 -0.336302 0 outer loop - vertex 16.2363 2.34533 -0.1 + vertex 16.2363 2.34533 -0.2 vertex 16.0356 2.90743 0 - vertex 16.0356 2.90743 -0.1 + vertex 16.0356 2.90743 -0.2 endloop endfacet facet normal -0.941754 -0.336302 0 outer loop vertex 16.0356 2.90743 0 - vertex 16.2363 2.34533 -0.1 + vertex 16.2363 2.34533 -0.2 vertex 16.2363 2.34533 0 endloop endfacet facet normal -0.931176 -0.364571 0 outer loop - vertex 16.4437 1.81579 -0.1 + vertex 16.4437 1.81579 -0.2 vertex 16.2363 2.34533 0 - vertex 16.2363 2.34533 -0.1 + vertex 16.2363 2.34533 -0.2 endloop endfacet facet normal -0.931176 -0.364571 0 outer loop vertex 16.2363 2.34533 0 - vertex 16.4437 1.81579 -0.1 + vertex 16.4437 1.81579 -0.2 vertex 16.4437 1.81579 0 endloop endfacet facet normal -0.91808 -0.396396 0 outer loop - vertex 16.6551 1.32614 -0.1 + vertex 16.6551 1.32614 -0.2 vertex 16.4437 1.81579 0 - vertex 16.4437 1.81579 -0.1 + vertex 16.4437 1.81579 -0.2 endloop endfacet facet normal -0.91808 -0.396396 0 outer loop vertex 16.4437 1.81579 0 - vertex 16.6551 1.32614 -0.1 + vertex 16.6551 1.32614 -0.2 vertex 16.6551 1.32614 0 endloop endfacet facet normal -0.901015 -0.433787 0 outer loop - vertex 16.8681 0.883681 -0.1 + vertex 16.8681 0.883681 -0.2 vertex 16.6551 1.32614 0 - vertex 16.6551 1.32614 -0.1 + vertex 16.6551 1.32614 -0.2 endloop endfacet facet normal -0.901015 -0.433787 0 outer loop vertex 16.6551 1.32614 0 - vertex 16.8681 0.883681 -0.1 + vertex 16.8681 0.883681 -0.2 vertex 16.8681 0.883681 0 endloop endfacet facet normal -0.877409 -0.479744 0 outer loop - vertex 17.0802 0.495742 -0.1 + vertex 17.0802 0.495742 -0.2 vertex 16.8681 0.883681 0 - vertex 16.8681 0.883681 -0.1 + vertex 16.8681 0.883681 -0.2 endloop endfacet facet normal -0.877409 -0.479744 0 outer loop vertex 16.8681 0.883681 0 - vertex 17.0802 0.495742 -0.1 + vertex 17.0802 0.495742 -0.2 vertex 17.0802 0.495742 0 endloop endfacet facet normal -0.842258 -0.539075 0 outer loop - vertex 17.2889 0.169637 -0.1 + vertex 17.2889 0.169637 -0.2 vertex 17.0802 0.495742 0 - vertex 17.0802 0.495742 -0.1 + vertex 17.0802 0.495742 -0.2 endloop endfacet facet normal -0.842258 -0.539075 0 outer loop vertex 17.0802 0.495742 0 - vertex 17.2889 0.169637 -0.1 + vertex 17.2889 0.169637 -0.2 vertex 17.2889 0.169637 0 endloop endfacet facet normal -0.784932 -0.619582 0 outer loop - vertex 17.4918 -0.0873203 -0.1 + vertex 17.4918 -0.0873203 -0.2 vertex 17.2889 0.169637 0 - vertex 17.2889 0.169637 -0.1 + vertex 17.2889 0.169637 -0.2 endloop endfacet facet normal -0.784932 -0.619582 0 outer loop vertex 17.2889 0.169637 0 - vertex 17.4918 -0.0873203 -0.1 + vertex 17.4918 -0.0873203 -0.2 vertex 17.4918 -0.0873203 0 endloop endfacet facet normal -0.680344 -0.732893 0 outer loop - vertex 17.4918 -0.0873203 -0.1 + vertex 17.4918 -0.0873203 -0.2 vertex 17.6862 -0.267812 0 vertex 17.4918 -0.0873203 0 endloop @@ -35975,13 +35975,13 @@ solid OpenSCAD_Model facet normal -0.680344 -0.732893 -0 outer loop vertex 17.6862 -0.267812 0 - vertex 17.4918 -0.0873203 -0.1 - vertex 17.6862 -0.267812 -0.1 + vertex 17.4918 -0.0873203 -0.2 + vertex 17.6862 -0.267812 -0.2 endloop endfacet facet normal -0.560342 -0.828261 0 outer loop - vertex 17.6862 -0.267812 -0.1 + vertex 17.6862 -0.267812 -0.2 vertex 17.8284 -0.36402 0 vertex 17.6862 -0.267812 0 endloop @@ -35989,13 +35989,13 @@ solid OpenSCAD_Model facet normal -0.560342 -0.828261 -0 outer loop vertex 17.8284 -0.36402 0 - vertex 17.6862 -0.267812 -0.1 - vertex 17.8284 -0.36402 -0.1 + vertex 17.6862 -0.267812 -0.2 + vertex 17.8284 -0.36402 -0.2 endloop endfacet facet normal -0.436276 -0.899813 0 outer loop - vertex 17.8284 -0.36402 -0.1 + vertex 17.8284 -0.36402 -0.2 vertex 17.9646 -0.430052 0 vertex 17.8284 -0.36402 0 endloop @@ -36003,13 +36003,13 @@ solid OpenSCAD_Model facet normal -0.436276 -0.899813 -0 outer loop vertex 17.9646 -0.430052 0 - vertex 17.8284 -0.36402 -0.1 - vertex 17.9646 -0.430052 -0.1 + vertex 17.8284 -0.36402 -0.2 + vertex 17.9646 -0.430052 -0.2 endloop endfacet facet normal -0.23232 -0.972639 0 outer loop - vertex 17.9646 -0.430052 -0.1 + vertex 17.9646 -0.430052 -0.2 vertex 18.1098 -0.464739 0 vertex 17.9646 -0.430052 0 endloop @@ -36017,13 +36017,13 @@ solid OpenSCAD_Model facet normal -0.23232 -0.972639 -0 outer loop vertex 18.1098 -0.464739 0 - vertex 17.9646 -0.430052 -0.1 - vertex 18.1098 -0.464739 -0.1 + vertex 17.9646 -0.430052 -0.2 + vertex 18.1098 -0.464739 -0.2 endloop endfacet facet normal -0.0128436 -0.999918 0 outer loop - vertex 18.1098 -0.464739 -0.1 + vertex 18.1098 -0.464739 -0.2 vertex 18.2791 -0.466914 0 vertex 18.1098 -0.464739 0 endloop @@ -36031,13 +36031,13 @@ solid OpenSCAD_Model facet normal -0.0128436 -0.999918 -0 outer loop vertex 18.2791 -0.466914 0 - vertex 18.1098 -0.464739 -0.1 - vertex 18.2791 -0.466914 -0.1 + vertex 18.1098 -0.464739 -0.2 + vertex 18.2791 -0.466914 -0.2 endloop endfacet facet normal 0.149466 -0.988767 0 outer loop - vertex 18.2791 -0.466914 -0.1 + vertex 18.2791 -0.466914 -0.2 vertex 18.4876 -0.435405 0 vertex 18.2791 -0.466914 0 endloop @@ -36045,13 +36045,13 @@ solid OpenSCAD_Model facet normal 0.149466 -0.988767 0 outer loop vertex 18.4876 -0.435405 0 - vertex 18.2791 -0.466914 -0.1 - vertex 18.4876 -0.435405 -0.1 + vertex 18.2791 -0.466914 -0.2 + vertex 18.4876 -0.435405 -0.2 endloop endfacet facet normal 0.244974 -0.96953 0 outer loop - vertex 18.4876 -0.435405 -0.1 + vertex 18.4876 -0.435405 -0.2 vertex 18.7502 -0.369046 0 vertex 18.4876 -0.435405 0 endloop @@ -36059,13 +36059,13 @@ solid OpenSCAD_Model facet normal 0.244974 -0.96953 0 outer loop vertex 18.7502 -0.369046 0 - vertex 18.4876 -0.435405 -0.1 - vertex 18.7502 -0.369046 -0.1 + vertex 18.4876 -0.435405 -0.2 + vertex 18.7502 -0.369046 -0.2 endloop endfacet facet normal 0.307753 -0.951466 0 outer loop - vertex 18.7502 -0.369046 -0.1 + vertex 18.7502 -0.369046 -0.2 vertex 19.4982 -0.127099 0 vertex 18.7502 -0.369046 0 endloop @@ -36073,13 +36073,13 @@ solid OpenSCAD_Model facet normal 0.307753 -0.951466 0 outer loop vertex 19.4982 -0.127099 0 - vertex 18.7502 -0.369046 -0.1 - vertex 19.4982 -0.127099 -0.1 + vertex 18.7502 -0.369046 -0.2 + vertex 19.4982 -0.127099 -0.2 endloop endfacet facet normal 0.301432 -0.953488 0 outer loop - vertex 19.4982 -0.127099 -0.1 + vertex 19.4982 -0.127099 -0.2 vertex 20.0432 0.0451876 0 vertex 19.4982 -0.127099 0 endloop @@ -36087,13 +36087,13 @@ solid OpenSCAD_Model facet normal 0.301432 -0.953488 0 outer loop vertex 20.0432 0.0451876 0 - vertex 19.4982 -0.127099 -0.1 - vertex 20.0432 0.0451876 -0.1 + vertex 19.4982 -0.127099 -0.2 + vertex 20.0432 0.0451876 -0.2 endloop endfacet facet normal 0.251907 -0.967752 0 outer loop - vertex 20.0432 0.0451876 -0.1 + vertex 20.0432 0.0451876 -0.2 vertex 20.5155 0.168137 0 vertex 20.0432 0.0451876 0 endloop @@ -36101,13 +36101,13 @@ solid OpenSCAD_Model facet normal 0.251907 -0.967752 0 outer loop vertex 20.5155 0.168137 0 - vertex 20.0432 0.0451876 -0.1 - vertex 20.5155 0.168137 -0.1 + vertex 20.0432 0.0451876 -0.2 + vertex 20.5155 0.168137 -0.2 endloop endfacet facet normal 0.175432 -0.984492 0 outer loop - vertex 20.5155 0.168137 -0.1 + vertex 20.5155 0.168137 -0.2 vertex 20.8646 0.230347 0 vertex 20.5155 0.168137 0 endloop @@ -36115,13 +36115,13 @@ solid OpenSCAD_Model facet normal 0.175432 -0.984492 0 outer loop vertex 20.8646 0.230347 0 - vertex 20.5155 0.168137 -0.1 - vertex 20.8646 0.230347 -0.1 + vertex 20.5155 0.168137 -0.2 + vertex 20.8646 0.230347 -0.2 endloop endfacet facet normal 0.0422921 -0.999105 0 outer loop - vertex 20.8646 0.230347 -0.1 + vertex 20.8646 0.230347 -0.2 vertex 20.9772 0.235111 0 vertex 20.8646 0.230347 0 endloop @@ -36129,13 +36129,13 @@ solid OpenSCAD_Model facet normal 0.0422921 -0.999105 0 outer loop vertex 20.9772 0.235111 0 - vertex 20.8646 0.230347 -0.1 - vertex 20.9772 0.235111 -0.1 + vertex 20.8646 0.230347 -0.2 + vertex 20.9772 0.235111 -0.2 endloop endfacet facet normal -0.228021 -0.973656 0 outer loop - vertex 20.9772 0.235111 -0.1 + vertex 20.9772 0.235111 -0.2 vertex 21.0399 0.220413 0 vertex 20.9772 0.235111 0 endloop @@ -36143,195 +36143,195 @@ solid OpenSCAD_Model facet normal -0.228021 -0.973656 -0 outer loop vertex 21.0399 0.220413 0 - vertex 20.9772 0.235111 -0.1 - vertex 21.0399 0.220413 -0.1 + vertex 20.9772 0.235111 -0.2 + vertex 21.0399 0.220413 -0.2 endloop endfacet facet normal -0.836215 -0.548402 0 outer loop - vertex 21.0726 0.170561 -0.1 + vertex 21.0726 0.170561 -0.2 vertex 21.0399 0.220413 0 - vertex 21.0399 0.220413 -0.1 + vertex 21.0399 0.220413 -0.2 endloop endfacet facet normal -0.836215 -0.548402 0 outer loop vertex 21.0399 0.220413 0 - vertex 21.0726 0.170561 -0.1 + vertex 21.0726 0.170561 -0.2 vertex 21.0726 0.170561 0 endloop endfacet facet normal -0.964289 -0.264852 0 outer loop - vertex 21.099 0.0745682 -0.1 + vertex 21.099 0.0745682 -0.2 vertex 21.0726 0.170561 0 - vertex 21.0726 0.170561 -0.1 + vertex 21.0726 0.170561 -0.2 endloop endfacet facet normal -0.964289 -0.264852 0 outer loop vertex 21.0726 0.170561 0 - vertex 21.099 0.0745682 -0.1 + vertex 21.099 0.0745682 -0.2 vertex 21.099 0.0745682 0 endloop endfacet facet normal -0.994432 -0.105376 0 outer loop - vertex 21.1316 -0.233279 -0.1 + vertex 21.1316 -0.233279 -0.2 vertex 21.099 0.0745682 0 - vertex 21.099 0.0745682 -0.1 + vertex 21.099 0.0745682 -0.2 endloop endfacet facet normal -0.994432 -0.105376 0 outer loop vertex 21.099 0.0745682 0 - vertex 21.1316 -0.233279 -0.1 + vertex 21.1316 -0.233279 -0.2 vertex 21.1316 -0.233279 0 endloop endfacet facet normal -0.999957 -0.00925488 0 outer loop - vertex 21.1355 -0.658014 -0.1 + vertex 21.1355 -0.658014 -0.2 vertex 21.1316 -0.233279 0 - vertex 21.1316 -0.233279 -0.1 + vertex 21.1316 -0.233279 -0.2 endloop endfacet facet normal -0.999957 -0.00925488 0 outer loop vertex 21.1316 -0.233279 0 - vertex 21.1355 -0.658014 -0.1 + vertex 21.1355 -0.658014 -0.2 vertex 21.1355 -0.658014 0 endloop endfacet facet normal -0.998524 0.0543158 0 outer loop - vertex 21.1085 -1.15452 -0.1 + vertex 21.1085 -1.15452 -0.2 vertex 21.1355 -0.658014 0 - vertex 21.1355 -0.658014 -0.1 + vertex 21.1355 -0.658014 -0.2 endloop endfacet facet normal -0.998524 0.0543158 0 outer loop vertex 21.1355 -0.658014 0 - vertex 21.1085 -1.15452 -0.1 + vertex 21.1085 -1.15452 -0.2 vertex 21.1085 -1.15452 0 endloop endfacet facet normal -0.992587 0.121535 0 outer loop - vertex 21.0399 -1.71534 -0.1 + vertex 21.0399 -1.71534 -0.2 vertex 21.1085 -1.15452 0 - vertex 21.1085 -1.15452 -0.1 + vertex 21.1085 -1.15452 -0.2 endloop endfacet facet normal -0.992587 0.121535 0 outer loop vertex 21.1085 -1.15452 0 - vertex 21.0399 -1.71534 -0.1 + vertex 21.0399 -1.71534 -0.2 vertex 21.0399 -1.71534 0 endloop endfacet facet normal -0.978633 0.205615 0 outer loop - vertex 20.9878 -1.96317 -0.1 + vertex 20.9878 -1.96317 -0.2 vertex 21.0399 -1.71534 0 - vertex 21.0399 -1.71534 -0.1 + vertex 21.0399 -1.71534 -0.2 endloop endfacet facet normal -0.978633 0.205615 0 outer loop vertex 21.0399 -1.71534 0 - vertex 20.9878 -1.96317 -0.1 + vertex 20.9878 -1.96317 -0.2 vertex 20.9878 -1.96317 0 endloop endfacet facet normal -0.959237 0.282603 0 outer loop - vertex 20.9199 -2.19366 -0.1 + vertex 20.9199 -2.19366 -0.2 vertex 20.9878 -1.96317 0 - vertex 20.9878 -1.96317 -0.1 + vertex 20.9878 -1.96317 -0.2 endloop endfacet facet normal -0.959237 0.282603 0 outer loop vertex 20.9878 -1.96317 0 - vertex 20.9199 -2.19366 -0.1 + vertex 20.9199 -2.19366 -0.2 vertex 20.9199 -2.19366 0 endloop endfacet facet normal -0.92823 0.372008 0 outer loop - vertex 20.8331 -2.41014 -0.1 + vertex 20.8331 -2.41014 -0.2 vertex 20.9199 -2.19366 0 - vertex 20.9199 -2.19366 -0.1 + vertex 20.9199 -2.19366 -0.2 endloop endfacet facet normal -0.92823 0.372008 0 outer loop vertex 20.9199 -2.19366 0 - vertex 20.8331 -2.41014 -0.1 + vertex 20.8331 -2.41014 -0.2 vertex 20.8331 -2.41014 0 endloop endfacet facet normal -0.884337 0.46685 0 outer loop - vertex 20.7245 -2.61588 -0.1 + vertex 20.7245 -2.61588 -0.2 vertex 20.8331 -2.41014 0 - vertex 20.8331 -2.41014 -0.1 + vertex 20.8331 -2.41014 -0.2 endloop endfacet facet normal -0.884337 0.46685 0 outer loop vertex 20.8331 -2.41014 0 - vertex 20.7245 -2.61588 -0.1 + vertex 20.7245 -2.61588 -0.2 vertex 20.7245 -2.61588 0 endloop endfacet facet normal -0.829583 0.558383 0 outer loop - vertex 20.591 -2.8142 -0.1 + vertex 20.591 -2.8142 -0.2 vertex 20.7245 -2.61588 0 - vertex 20.7245 -2.61588 -0.1 + vertex 20.7245 -2.61588 -0.2 endloop endfacet facet normal -0.829583 0.558383 0 outer loop vertex 20.7245 -2.61588 0 - vertex 20.591 -2.8142 -0.1 + vertex 20.591 -2.8142 -0.2 vertex 20.591 -2.8142 0 endloop endfacet facet normal -0.769117 0.639107 0 outer loop - vertex 20.4297 -3.0084 -0.1 + vertex 20.4297 -3.0084 -0.2 vertex 20.591 -2.8142 0 - vertex 20.591 -2.8142 -0.1 + vertex 20.591 -2.8142 -0.2 endloop endfacet facet normal -0.769117 0.639107 0 outer loop vertex 20.591 -2.8142 0 - vertex 20.4297 -3.0084 -0.1 + vertex 20.4297 -3.0084 -0.2 vertex 20.4297 -3.0084 0 endloop endfacet facet normal -0.709135 0.705072 0 outer loop - vertex 20.2374 -3.20177 -0.1 + vertex 20.2374 -3.20177 -0.2 vertex 20.4297 -3.0084 0 - vertex 20.4297 -3.0084 -0.1 + vertex 20.4297 -3.0084 -0.2 endloop endfacet facet normal -0.709135 0.705072 0 outer loop vertex 20.4297 -3.0084 0 - vertex 20.2374 -3.20177 -0.1 + vertex 20.2374 -3.20177 -0.2 vertex 20.2374 -3.20177 0 endloop endfacet facet normal -0.654612 0.755965 0 outer loop - vertex 20.2374 -3.20177 -0.1 + vertex 20.2374 -3.20177 -0.2 vertex 20.0112 -3.39762 0 vertex 20.2374 -3.20177 0 endloop @@ -36339,13 +36339,13 @@ solid OpenSCAD_Model facet normal -0.654612 0.755965 0 outer loop vertex 20.0112 -3.39762 0 - vertex 20.2374 -3.20177 -0.1 - vertex 20.0112 -3.39762 -0.1 + vertex 20.2374 -3.20177 -0.2 + vertex 20.0112 -3.39762 -0.2 endloop endfacet facet normal -0.588742 0.808321 0 outer loop - vertex 20.0112 -3.39762 -0.1 + vertex 20.0112 -3.39762 -0.2 vertex 19.4451 -3.80993 0 vertex 20.0112 -3.39762 0 endloop @@ -36353,13 +36353,13 @@ solid OpenSCAD_Model facet normal -0.588742 0.808321 0 outer loop vertex 19.4451 -3.80993 0 - vertex 20.0112 -3.39762 -0.1 - vertex 19.4451 -3.80993 -0.1 + vertex 20.0112 -3.39762 -0.2 + vertex 19.4451 -3.80993 -0.2 endloop endfacet facet normal -0.530543 0.847658 0 outer loop - vertex 19.4451 -3.80993 -0.1 + vertex 19.4451 -3.80993 -0.2 vertex 18.7073 -4.27174 0 vertex 19.4451 -3.80993 0 endloop @@ -36367,13 +36367,13 @@ solid OpenSCAD_Model facet normal -0.530543 0.847658 0 outer loop vertex 18.7073 -4.27174 0 - vertex 19.4451 -3.80993 -0.1 - vertex 18.7073 -4.27174 -0.1 + vertex 19.4451 -3.80993 -0.2 + vertex 18.7073 -4.27174 -0.2 endloop endfacet facet normal -0.499058 0.866569 0 outer loop - vertex 18.7073 -4.27174 -0.1 + vertex 18.7073 -4.27174 -0.2 vertex 17.7736 -4.80944 0 vertex 18.7073 -4.27174 0 endloop @@ -36381,13 +36381,13 @@ solid OpenSCAD_Model facet normal -0.499058 0.866569 0 outer loop vertex 17.7736 -4.80944 0 - vertex 18.7073 -4.27174 -0.1 - vertex 17.7736 -4.80944 -0.1 + vertex 18.7073 -4.27174 -0.2 + vertex 17.7736 -4.80944 -0.2 endloop endfacet facet normal -0.476856 0.878981 0 outer loop - vertex 17.7736 -4.80944 -0.1 + vertex 17.7736 -4.80944 -0.2 vertex 16.3254 -5.59514 0 vertex 17.7736 -4.80944 0 endloop @@ -36395,13 +36395,13 @@ solid OpenSCAD_Model facet normal -0.476856 0.878981 0 outer loop vertex 16.3254 -5.59514 0 - vertex 17.7736 -4.80944 -0.1 - vertex 16.3254 -5.59514 -0.1 + vertex 17.7736 -4.80944 -0.2 + vertex 16.3254 -5.59514 -0.2 endloop endfacet facet normal -0.451418 0.892312 0 outer loop - vertex 16.3254 -5.59514 -0.1 + vertex 16.3254 -5.59514 -0.2 vertex 15.6549 -5.93433 0 vertex 16.3254 -5.59514 0 endloop @@ -36409,13 +36409,13 @@ solid OpenSCAD_Model facet normal -0.451418 0.892312 0 outer loop vertex 15.6549 -5.93433 0 - vertex 16.3254 -5.59514 -0.1 - vertex 15.6549 -5.93433 -0.1 + vertex 16.3254 -5.59514 -0.2 + vertex 15.6549 -5.93433 -0.2 endloop endfacet facet normal -0.429833 0.902908 0 outer loop - vertex 15.6549 -5.93433 -0.1 + vertex 15.6549 -5.93433 -0.2 vertex 15.0129 -6.23993 0 vertex 15.6549 -5.93433 0 endloop @@ -36423,13 +36423,13 @@ solid OpenSCAD_Model facet normal -0.429833 0.902908 0 outer loop vertex 15.0129 -6.23993 0 - vertex 15.6549 -5.93433 -0.1 - vertex 15.0129 -6.23993 -0.1 + vertex 15.6549 -5.93433 -0.2 + vertex 15.0129 -6.23993 -0.2 endloop endfacet facet normal -0.404408 0.914579 0 outer loop - vertex 15.0129 -6.23993 -0.1 + vertex 15.0129 -6.23993 -0.2 vertex 14.3941 -6.51356 0 vertex 15.0129 -6.23993 0 endloop @@ -36437,13 +36437,13 @@ solid OpenSCAD_Model facet normal -0.404408 0.914579 0 outer loop vertex 14.3941 -6.51356 0 - vertex 15.0129 -6.23993 -0.1 - vertex 14.3941 -6.51356 -0.1 + vertex 15.0129 -6.23993 -0.2 + vertex 14.3941 -6.51356 -0.2 endloop endfacet facet normal -0.375168 0.926957 0 outer loop - vertex 14.3941 -6.51356 -0.1 + vertex 14.3941 -6.51356 -0.2 vertex 13.793 -6.75686 0 vertex 14.3941 -6.51356 0 endloop @@ -36451,13 +36451,13 @@ solid OpenSCAD_Model facet normal -0.375168 0.926957 0 outer loop vertex 13.793 -6.75686 0 - vertex 14.3941 -6.51356 -0.1 - vertex 13.793 -6.75686 -0.1 + vertex 14.3941 -6.51356 -0.2 + vertex 13.793 -6.75686 -0.2 endloop endfacet facet normal -0.342394 0.939557 0 outer loop - vertex 13.793 -6.75686 -0.1 + vertex 13.793 -6.75686 -0.2 vertex 13.2041 -6.97145 0 vertex 13.793 -6.75686 0 endloop @@ -36465,13 +36465,13 @@ solid OpenSCAD_Model facet normal -0.342394 0.939557 0 outer loop vertex 13.2041 -6.97145 0 - vertex 13.793 -6.75686 -0.1 - vertex 13.2041 -6.97145 -0.1 + vertex 13.793 -6.75686 -0.2 + vertex 13.2041 -6.97145 -0.2 endloop endfacet facet normal -0.306665 0.951818 0 outer loop - vertex 13.2041 -6.97145 -0.1 + vertex 13.2041 -6.97145 -0.2 vertex 12.6221 -7.15898 0 vertex 13.2041 -6.97145 0 endloop @@ -36479,13 +36479,13 @@ solid OpenSCAD_Model facet normal -0.306665 0.951818 0 outer loop vertex 12.6221 -7.15898 0 - vertex 13.2041 -6.97145 -0.1 - vertex 12.6221 -7.15898 -0.1 + vertex 13.2041 -6.97145 -0.2 + vertex 12.6221 -7.15898 -0.2 endloop endfacet facet normal -0.268881 0.963173 0 outer loop - vertex 12.6221 -7.15898 -0.1 + vertex 12.6221 -7.15898 -0.2 vertex 12.0414 -7.32107 0 vertex 12.6221 -7.15898 0 endloop @@ -36493,13 +36493,13 @@ solid OpenSCAD_Model facet normal -0.268881 0.963173 0 outer loop vertex 12.0414 -7.32107 0 - vertex 12.6221 -7.15898 -0.1 - vertex 12.0414 -7.32107 -0.1 + vertex 12.6221 -7.15898 -0.2 + vertex 12.0414 -7.32107 -0.2 endloop endfacet facet normal -0.230173 0.97315 0 outer loop - vertex 12.0414 -7.32107 -0.1 + vertex 12.0414 -7.32107 -0.2 vertex 11.4568 -7.45935 0 vertex 12.0414 -7.32107 0 endloop @@ -36507,13 +36507,13 @@ solid OpenSCAD_Model facet normal -0.230173 0.97315 0 outer loop vertex 11.4568 -7.45935 0 - vertex 12.0414 -7.32107 -0.1 - vertex 11.4568 -7.45935 -0.1 + vertex 12.0414 -7.32107 -0.2 + vertex 11.4568 -7.45935 -0.2 endloop endfacet facet normal -0.191808 0.981433 0 outer loop - vertex 11.4568 -7.45935 -0.1 + vertex 11.4568 -7.45935 -0.2 vertex 10.8627 -7.57545 0 vertex 11.4568 -7.45935 0 endloop @@ -36521,13 +36521,13 @@ solid OpenSCAD_Model facet normal -0.191808 0.981433 0 outer loop vertex 10.8627 -7.57545 0 - vertex 11.4568 -7.45935 -0.1 - vertex 10.8627 -7.57545 -0.1 + vertex 11.4568 -7.45935 -0.2 + vertex 10.8627 -7.57545 -0.2 endloop endfacet facet normal -0.155029 0.98791 0 outer loop - vertex 10.8627 -7.57545 -0.1 + vertex 10.8627 -7.57545 -0.2 vertex 10.2538 -7.67101 0 vertex 10.8627 -7.57545 0 endloop @@ -36535,13 +36535,13 @@ solid OpenSCAD_Model facet normal -0.155029 0.98791 0 outer loop vertex 10.2538 -7.67101 0 - vertex 10.8627 -7.57545 -0.1 - vertex 10.2538 -7.67101 -0.1 + vertex 10.8627 -7.57545 -0.2 + vertex 10.2538 -7.67101 -0.2 endloop endfacet facet normal -0.120913 0.992663 0 outer loop - vertex 10.2538 -7.67101 -0.1 + vertex 10.2538 -7.67101 -0.2 vertex 9.62459 -7.74765 0 vertex 10.2538 -7.67101 0 endloop @@ -36549,13 +36549,13 @@ solid OpenSCAD_Model facet normal -0.120913 0.992663 0 outer loop vertex 9.62459 -7.74765 0 - vertex 10.2538 -7.67101 -0.1 - vertex 9.62459 -7.74765 -0.1 + vertex 10.2538 -7.67101 -0.2 + vertex 9.62459 -7.74765 -0.2 endloop endfacet facet normal -0.0902671 0.995918 0 outer loop - vertex 9.62459 -7.74765 -0.1 + vertex 9.62459 -7.74765 -0.2 vertex 8.96966 -7.80701 0 vertex 9.62459 -7.74765 0 endloop @@ -36563,13 +36563,13 @@ solid OpenSCAD_Model facet normal -0.0902671 0.995918 0 outer loop vertex 8.96966 -7.80701 0 - vertex 9.62459 -7.74765 -0.1 - vertex 8.96966 -7.80701 -0.1 + vertex 9.62459 -7.74765 -0.2 + vertex 8.96966 -7.80701 -0.2 endloop endfacet facet normal -0.0520328 0.998645 0 outer loop - vertex 8.96966 -7.80701 -0.1 + vertex 8.96966 -7.80701 -0.2 vertex 7.56097 -7.88041 0 vertex 8.96966 -7.80701 0 endloop @@ -36577,13 +36577,13 @@ solid OpenSCAD_Model facet normal -0.0520328 0.998645 0 outer loop vertex 7.56097 -7.88041 0 - vertex 8.96966 -7.80701 -0.1 - vertex 7.56097 -7.88041 -0.1 + vertex 8.96966 -7.80701 -0.2 + vertex 7.56097 -7.88041 -0.2 endloop endfacet facet normal -0.0211888 0.999775 0 outer loop - vertex 7.56097 -7.88041 -0.1 + vertex 7.56097 -7.88041 -0.2 vertex 6.04455 -7.91255 0 vertex 7.56097 -7.88041 0 endloop @@ -36591,13 +36591,13 @@ solid OpenSCAD_Model facet normal -0.0211888 0.999775 0 outer loop vertex 6.04455 -7.91255 0 - vertex 7.56097 -7.88041 -0.1 - vertex 6.04455 -7.91255 -0.1 + vertex 7.56097 -7.88041 -0.2 + vertex 6.04455 -7.91255 -0.2 endloop endfacet facet normal 0.00984088 0.999952 -0 outer loop - vertex 6.04455 -7.91255 -0.1 + vertex 6.04455 -7.91255 -0.2 vertex 5.49083 -7.9071 0 vertex 6.04455 -7.91255 0 endloop @@ -36605,13 +36605,13 @@ solid OpenSCAD_Model facet normal 0.00984088 0.999952 0 outer loop vertex 5.49083 -7.9071 0 - vertex 6.04455 -7.91255 -0.1 - vertex 5.49083 -7.9071 -0.1 + vertex 6.04455 -7.91255 -0.2 + vertex 5.49083 -7.9071 -0.2 endloop endfacet facet normal 0.0493656 0.998781 -0 outer loop - vertex 5.49083 -7.9071 -0.1 + vertex 5.49083 -7.9071 -0.2 vertex 5.0434 -7.88498 0 vertex 5.49083 -7.9071 0 endloop @@ -36619,13 +36619,13 @@ solid OpenSCAD_Model facet normal 0.0493656 0.998781 0 outer loop vertex 5.0434 -7.88498 0 - vertex 5.49083 -7.9071 -0.1 - vertex 5.0434 -7.88498 -0.1 + vertex 5.49083 -7.9071 -0.2 + vertex 5.0434 -7.88498 -0.2 endloop endfacet facet normal 0.110735 0.99385 -0 outer loop - vertex 5.0434 -7.88498 -0.1 + vertex 5.0434 -7.88498 -0.2 vertex 4.67971 -7.84446 0 vertex 5.0434 -7.88498 0 endloop @@ -36633,13 +36633,13 @@ solid OpenSCAD_Model facet normal 0.110735 0.99385 0 outer loop vertex 4.67971 -7.84446 0 - vertex 5.0434 -7.88498 -0.1 - vertex 4.67971 -7.84446 -0.1 + vertex 5.0434 -7.88498 -0.2 + vertex 4.67971 -7.84446 -0.2 endloop endfacet facet normal 0.196653 0.980473 -0 outer loop - vertex 4.67971 -7.84446 -0.1 + vertex 4.67971 -7.84446 -0.2 vertex 4.37723 -7.78379 0 vertex 4.67971 -7.84446 0 endloop @@ -36647,13 +36647,13 @@ solid OpenSCAD_Model facet normal 0.196653 0.980473 0 outer loop vertex 4.37723 -7.78379 0 - vertex 4.67971 -7.84446 -0.1 - vertex 4.37723 -7.78379 -0.1 + vertex 4.67971 -7.84446 -0.2 + vertex 4.37723 -7.78379 -0.2 endloop endfacet facet normal 0.298658 0.95436 -0 outer loop - vertex 4.37723 -7.78379 -0.1 + vertex 4.37723 -7.78379 -0.2 vertex 4.11342 -7.70123 0 vertex 4.37723 -7.78379 0 endloop @@ -36661,13 +36661,13 @@ solid OpenSCAD_Model facet normal 0.298658 0.95436 0 outer loop vertex 4.11342 -7.70123 0 - vertex 4.37723 -7.78379 -0.1 - vertex 4.11342 -7.70123 -0.1 + vertex 4.37723 -7.78379 -0.2 + vertex 4.11342 -7.70123 -0.2 endloop endfacet facet normal 0.39403 0.919098 -0 outer loop - vertex 4.11342 -7.70123 -0.1 + vertex 4.11342 -7.70123 -0.2 vertex 3.86574 -7.59505 0 vertex 4.11342 -7.70123 0 endloop @@ -36675,13 +36675,13 @@ solid OpenSCAD_Model facet normal 0.39403 0.919098 0 outer loop vertex 3.86574 -7.59505 0 - vertex 4.11342 -7.70123 -0.1 - vertex 3.86574 -7.59505 -0.1 + vertex 4.11342 -7.70123 -0.2 + vertex 3.86574 -7.59505 -0.2 endloop endfacet facet normal 0.472054 0.88157 -0 outer loop - vertex 3.86574 -7.59505 -0.1 + vertex 3.86574 -7.59505 -0.2 vertex 3.40104 -7.34622 0 vertex 3.86574 -7.59505 0 endloop @@ -36689,13 +36689,13 @@ solid OpenSCAD_Model facet normal 0.472054 0.88157 0 outer loop vertex 3.40104 -7.34622 0 - vertex 3.86574 -7.59505 -0.1 - vertex 3.40104 -7.34622 -0.1 + vertex 3.86574 -7.59505 -0.2 + vertex 3.40104 -7.34622 -0.2 endloop endfacet facet normal 0.50336 0.864077 -0 outer loop - vertex 3.40104 -7.34622 -0.1 + vertex 3.40104 -7.34622 -0.2 vertex 2.71562 -6.94693 0 vertex 3.40104 -7.34622 0 endloop @@ -36703,13 +36703,13 @@ solid OpenSCAD_Model facet normal 0.50336 0.864077 0 outer loop vertex 2.71562 -6.94693 0 - vertex 3.40104 -7.34622 -0.1 - vertex 2.71562 -6.94693 -0.1 + vertex 3.40104 -7.34622 -0.2 + vertex 2.71562 -6.94693 -0.2 endloop endfacet facet normal 0.526285 0.850308 -0 outer loop - vertex 2.71562 -6.94693 -0.1 + vertex 2.71562 -6.94693 -0.2 vertex 1.05193 -5.91722 0 vertex 2.71562 -6.94693 0 endloop @@ -36717,13 +36717,13 @@ solid OpenSCAD_Model facet normal 0.526285 0.850308 0 outer loop vertex 1.05193 -5.91722 0 - vertex 2.71562 -6.94693 -0.1 - vertex 1.05193 -5.91722 -0.1 + vertex 2.71562 -6.94693 -0.2 + vertex 1.05193 -5.91722 -0.2 endloop endfacet facet normal 0.529768 0.848143 -0 outer loop - vertex 1.05193 -5.91722 -0.1 + vertex 1.05193 -5.91722 -0.2 vertex -0.694871 -4.82613 0 vertex 1.05193 -5.91722 0 endloop @@ -36731,13 +36731,13 @@ solid OpenSCAD_Model facet normal 0.529768 0.848143 0 outer loop vertex -0.694871 -4.82613 0 - vertex 1.05193 -5.91722 -0.1 - vertex -0.694871 -4.82613 -0.1 + vertex 1.05193 -5.91722 -0.2 + vertex -0.694871 -4.82613 -0.2 endloop endfacet facet normal 0.507777 0.861489 -0 outer loop - vertex -0.694871 -4.82613 -0.1 + vertex -0.694871 -4.82613 -0.2 vertex -2.47177 -3.7788 0 vertex -0.694871 -4.82613 0 endloop @@ -36745,13 +36745,13 @@ solid OpenSCAD_Model facet normal 0.507777 0.861489 0 outer loop vertex -2.47177 -3.7788 0 - vertex -0.694871 -4.82613 -0.1 - vertex -2.47177 -3.7788 -0.1 + vertex -0.694871 -4.82613 -0.2 + vertex -2.47177 -3.7788 -0.2 endloop endfacet facet normal 0.55979 0.828634 -0 outer loop - vertex -2.47177 -3.7788 -0.1 + vertex -2.47177 -3.7788 -0.2 vertex -2.8551 -3.51984 0 vertex -2.47177 -3.7788 0 endloop @@ -36759,13 +36759,13 @@ solid OpenSCAD_Model facet normal 0.55979 0.828634 0 outer loop vertex -2.8551 -3.51984 0 - vertex -2.47177 -3.7788 -0.1 - vertex -2.8551 -3.51984 -0.1 + vertex -2.47177 -3.7788 -0.2 + vertex -2.8551 -3.51984 -0.2 endloop endfacet facet normal 0.612658 0.790348 -0 outer loop - vertex -2.8551 -3.51984 -0.1 + vertex -2.8551 -3.51984 -0.2 vertex -3.18232 -3.26618 0 vertex -2.8551 -3.51984 0 endloop @@ -36773,13 +36773,13 @@ solid OpenSCAD_Model facet normal 0.612658 0.790348 0 outer loop vertex -3.18232 -3.26618 0 - vertex -2.8551 -3.51984 -0.1 - vertex -3.18232 -3.26618 -0.1 + vertex -2.8551 -3.51984 -0.2 + vertex -3.18232 -3.26618 -0.2 endloop endfacet facet normal 0.673628 0.73907 -0 outer loop - vertex -3.18232 -3.26618 -0.1 + vertex -3.18232 -3.26618 -0.2 vertex -3.44099 -3.03042 0 vertex -3.18232 -3.26618 0 endloop @@ -36787,69 +36787,69 @@ solid OpenSCAD_Model facet normal 0.673628 0.73907 0 outer loop vertex -3.44099 -3.03042 0 - vertex -3.18232 -3.26618 -0.1 - vertex -3.44099 -3.03042 -0.1 + vertex -3.18232 -3.26618 -0.2 + vertex -3.44099 -3.03042 -0.2 endloop endfacet facet normal 0.756151 0.654397 0 outer loop vertex -3.44099 -3.03042 0 - vertex -3.61865 -2.82513 -0.1 + vertex -3.61865 -2.82513 -0.2 vertex -3.61865 -2.82513 0 endloop endfacet facet normal 0.756151 0.654397 0 outer loop - vertex -3.61865 -2.82513 -0.1 + vertex -3.61865 -2.82513 -0.2 vertex -3.44099 -3.03042 0 - vertex -3.44099 -3.03042 -0.1 + vertex -3.44099 -3.03042 -0.2 endloop endfacet facet normal 0.887562 0.460688 0 outer loop vertex -3.61865 -2.82513 0 - vertex -3.70285 -2.66292 -0.1 + vertex -3.70285 -2.66292 -0.2 vertex -3.70285 -2.66292 0 endloop endfacet facet normal 0.887562 0.460688 0 outer loop - vertex -3.70285 -2.66292 -0.1 + vertex -3.70285 -2.66292 -0.2 vertex -3.61865 -2.82513 0 - vertex -3.61865 -2.82513 -0.1 + vertex -3.61865 -2.82513 -0.2 endloop endfacet facet normal 0.998663 0.0516973 0 outer loop vertex -3.70285 -2.66292 0 - vertex -3.70601 -2.60189 -0.1 + vertex -3.70601 -2.60189 -0.2 vertex -3.70601 -2.60189 0 endloop endfacet facet normal 0.998663 0.0516973 0 outer loop - vertex -3.70601 -2.60189 -0.1 + vertex -3.70601 -2.60189 -0.2 vertex -3.70285 -2.66292 0 - vertex -3.70285 -2.66292 -0.1 + vertex -3.70285 -2.66292 -0.2 endloop endfacet facet normal 0.877591 -0.479411 0 outer loop vertex -3.70601 -2.60189 0 - vertex -3.68113 -2.55635 -0.1 + vertex -3.68113 -2.55635 -0.2 vertex -3.68113 -2.55635 0 endloop endfacet facet normal 0.877591 -0.479411 0 outer loop - vertex -3.68113 -2.55635 -0.1 + vertex -3.68113 -2.55635 -0.2 vertex -3.70601 -2.60189 0 - vertex -3.70601 -2.60189 -0.1 + vertex -3.70601 -2.60189 -0.2 endloop endfacet facet normal 0.463305 -0.886199 0 outer loop - vertex -3.68113 -2.55635 -0.1 + vertex -3.68113 -2.55635 -0.2 vertex -3.62666 -2.52788 0 vertex -3.68113 -2.55635 0 endloop @@ -36857,13 +36857,13 @@ solid OpenSCAD_Model facet normal 0.463305 -0.886199 0 outer loop vertex -3.62666 -2.52788 0 - vertex -3.68113 -2.55635 -0.1 - vertex -3.62666 -2.52788 -0.1 + vertex -3.68113 -2.55635 -0.2 + vertex -3.62666 -2.52788 -0.2 endloop endfacet facet normal 0.114199 -0.993458 0 outer loop - vertex -3.62666 -2.52788 -0.1 + vertex -3.62666 -2.52788 -0.2 vertex -3.54104 -2.51804 0 vertex -3.62666 -2.52788 0 endloop @@ -36871,13 +36871,13 @@ solid OpenSCAD_Model facet normal 0.114199 -0.993458 0 outer loop vertex -3.54104 -2.51804 0 - vertex -3.62666 -2.52788 -0.1 - vertex -3.54104 -2.51804 -0.1 + vertex -3.62666 -2.52788 -0.2 + vertex -3.54104 -2.51804 -0.2 endloop endfacet facet normal -0.250917 -0.968009 0 outer loop - vertex -3.54104 -2.51804 -0.1 + vertex -3.54104 -2.51804 -0.2 vertex -3.301 -2.58026 0 vertex -3.54104 -2.51804 0 endloop @@ -36885,13 +36885,13 @@ solid OpenSCAD_Model facet normal -0.250917 -0.968009 -0 outer loop vertex -3.301 -2.58026 0 - vertex -3.54104 -2.51804 -0.1 - vertex -3.301 -2.58026 -0.1 + vertex -3.54104 -2.51804 -0.2 + vertex -3.301 -2.58026 -0.2 endloop endfacet facet normal -0.37095 -0.928653 0 outer loop - vertex -3.301 -2.58026 -0.1 + vertex -3.301 -2.58026 -0.2 vertex -2.87688 -2.74967 0 vertex -3.301 -2.58026 0 endloop @@ -36899,13 +36899,13 @@ solid OpenSCAD_Model facet normal -0.37095 -0.928653 -0 outer loop vertex -2.87688 -2.74967 0 - vertex -3.301 -2.58026 -0.1 - vertex -2.87688 -2.74967 -0.1 + vertex -3.301 -2.58026 -0.2 + vertex -2.87688 -2.74967 -0.2 endloop endfacet facet normal -0.415868 -0.909425 0 outer loop - vertex -2.87688 -2.74967 -0.1 + vertex -2.87688 -2.74967 -0.2 vertex -2.32857 -3.00041 0 vertex -2.87688 -2.74967 0 endloop @@ -36913,13 +36913,13 @@ solid OpenSCAD_Model facet normal -0.415868 -0.909425 -0 outer loop vertex -2.32857 -3.00041 0 - vertex -2.87688 -2.74967 -0.1 - vertex -2.32857 -3.00041 -0.1 + vertex -2.87688 -2.74967 -0.2 + vertex -2.32857 -3.00041 -0.2 endloop endfacet facet normal -0.447064 -0.894502 0 outer loop - vertex -2.32857 -3.00041 -0.1 + vertex -2.32857 -3.00041 -0.2 vertex -1.71595 -3.30659 0 vertex -2.32857 -3.00041 0 endloop @@ -36927,13 +36927,13 @@ solid OpenSCAD_Model facet normal -0.447064 -0.894502 -0 outer loop vertex -1.71595 -3.30659 0 - vertex -2.32857 -3.00041 -0.1 - vertex -1.71595 -3.30659 -0.1 + vertex -2.32857 -3.00041 -0.2 + vertex -1.71595 -3.30659 -0.2 endloop endfacet facet normal -0.450995 -0.892526 0 outer loop - vertex -1.71595 -3.30659 -0.1 + vertex -1.71595 -3.30659 -0.2 vertex -1.01669 -3.65993 0 vertex -1.71595 -3.30659 0 endloop @@ -36941,13 +36941,13 @@ solid OpenSCAD_Model facet normal -0.450995 -0.892526 -0 outer loop vertex -1.01669 -3.65993 0 - vertex -1.71595 -3.30659 -0.1 - vertex -1.01669 -3.65993 -0.1 + vertex -1.71595 -3.30659 -0.2 + vertex -1.01669 -3.65993 -0.2 endloop endfacet facet normal -0.429074 -0.903269 0 outer loop - vertex -1.01669 -3.65993 -0.1 + vertex -1.01669 -3.65993 -0.2 vertex -0.313177 -3.99411 0 vertex -1.01669 -3.65993 0 endloop @@ -36955,13 +36955,13 @@ solid OpenSCAD_Model facet normal -0.429074 -0.903269 -0 outer loop vertex -0.313177 -3.99411 0 - vertex -1.01669 -3.65993 -0.1 - vertex -0.313177 -3.99411 -0.1 + vertex -1.01669 -3.65993 -0.2 + vertex -0.313177 -3.99411 -0.2 endloop endfacet facet normal -0.406667 -0.913576 0 outer loop - vertex -0.313177 -3.99411 -0.1 + vertex -0.313177 -3.99411 -0.2 vertex 0.394112 -4.30895 0 vertex -0.313177 -3.99411 0 endloop @@ -36969,13 +36969,13 @@ solid OpenSCAD_Model facet normal -0.406667 -0.913576 -0 outer loop vertex 0.394112 -4.30895 0 - vertex -0.313177 -3.99411 -0.1 - vertex 0.394112 -4.30895 -0.1 + vertex -0.313177 -3.99411 -0.2 + vertex 0.394112 -4.30895 -0.2 endloop endfacet facet normal -0.383759 -0.923433 0 outer loop - vertex 0.394112 -4.30895 -0.1 + vertex 0.394112 -4.30895 -0.2 vertex 1.10471 -4.60426 0 vertex 0.394112 -4.30895 0 endloop @@ -36983,13 +36983,13 @@ solid OpenSCAD_Model facet normal -0.383759 -0.923433 -0 outer loop vertex 1.10471 -4.60426 0 - vertex 0.394112 -4.30895 -0.1 - vertex 1.10471 -4.60426 -0.1 + vertex 0.394112 -4.30895 -0.2 + vertex 1.10471 -4.60426 -0.2 endloop endfacet facet normal -0.360336 -0.932823 0 outer loop - vertex 1.10471 -4.60426 -0.1 + vertex 1.10471 -4.60426 -0.2 vertex 1.81816 -4.87986 0 vertex 1.10471 -4.60426 0 endloop @@ -36997,13 +36997,13 @@ solid OpenSCAD_Model facet normal -0.360336 -0.932823 -0 outer loop vertex 1.81816 -4.87986 0 - vertex 1.10471 -4.60426 -0.1 - vertex 1.81816 -4.87986 -0.1 + vertex 1.10471 -4.60426 -0.2 + vertex 1.81816 -4.87986 -0.2 endloop endfacet facet normal -0.33638 -0.941726 0 outer loop - vertex 1.81816 -4.87986 -0.1 + vertex 1.81816 -4.87986 -0.2 vertex 2.534 -5.13555 0 vertex 1.81816 -4.87986 0 endloop @@ -37011,13 +37011,13 @@ solid OpenSCAD_Model facet normal -0.33638 -0.941726 -0 outer loop vertex 2.534 -5.13555 0 - vertex 1.81816 -4.87986 -0.1 - vertex 2.534 -5.13555 -0.1 + vertex 1.81816 -4.87986 -0.2 + vertex 2.534 -5.13555 -0.2 endloop endfacet facet normal -0.311879 -0.950122 0 outer loop - vertex 2.534 -5.13555 -0.1 + vertex 2.534 -5.13555 -0.2 vertex 3.25174 -5.37115 0 vertex 2.534 -5.13555 0 endloop @@ -37025,13 +37025,13 @@ solid OpenSCAD_Model facet normal -0.311879 -0.950122 -0 outer loop vertex 3.25174 -5.37115 0 - vertex 2.534 -5.13555 -0.1 - vertex 3.25174 -5.37115 -0.1 + vertex 2.534 -5.13555 -0.2 + vertex 3.25174 -5.37115 -0.2 endloop endfacet facet normal -0.286817 -0.957985 0 outer loop - vertex 3.25174 -5.37115 -0.1 + vertex 3.25174 -5.37115 -0.2 vertex 3.97093 -5.58648 0 vertex 3.25174 -5.37115 0 endloop @@ -37039,13 +37039,13 @@ solid OpenSCAD_Model facet normal -0.286817 -0.957985 -0 outer loop vertex 3.97093 -5.58648 0 - vertex 3.25174 -5.37115 -0.1 - vertex 3.97093 -5.58648 -0.1 + vertex 3.25174 -5.37115 -0.2 + vertex 3.97093 -5.58648 -0.2 endloop endfacet facet normal -0.262141 -0.965029 0 outer loop - vertex 3.97093 -5.58648 -0.1 + vertex 3.97093 -5.58648 -0.2 vertex 4.51611 -5.73457 0 vertex 3.97093 -5.58648 0 endloop @@ -37053,13 +37053,13 @@ solid OpenSCAD_Model facet normal -0.262141 -0.965029 -0 outer loop vertex 4.51611 -5.73457 0 - vertex 3.97093 -5.58648 -0.1 - vertex 4.51611 -5.73457 -0.1 + vertex 3.97093 -5.58648 -0.2 + vertex 4.51611 -5.73457 -0.2 endloop endfacet facet normal -0.230397 -0.973097 0 outer loop - vertex 4.51611 -5.73457 -0.1 + vertex 4.51611 -5.73457 -0.2 vertex 4.99906 -5.84891 0 vertex 4.51611 -5.73457 0 endloop @@ -37067,13 +37067,13 @@ solid OpenSCAD_Model facet normal -0.230397 -0.973097 -0 outer loop vertex 4.99906 -5.84891 0 - vertex 4.51611 -5.73457 -0.1 - vertex 4.99906 -5.84891 -0.1 + vertex 4.51611 -5.73457 -0.2 + vertex 4.99906 -5.84891 -0.2 endloop endfacet facet normal -0.18567 -0.982612 0 outer loop - vertex 4.99906 -5.84891 -0.1 + vertex 4.99906 -5.84891 -0.2 vertex 5.4311 -5.93055 0 vertex 4.99906 -5.84891 0 endloop @@ -37081,13 +37081,13 @@ solid OpenSCAD_Model facet normal -0.18567 -0.982612 -0 outer loop vertex 5.4311 -5.93055 0 - vertex 4.99906 -5.84891 -0.1 - vertex 5.4311 -5.93055 -0.1 + vertex 4.99906 -5.84891 -0.2 + vertex 5.4311 -5.93055 -0.2 endloop endfacet facet normal -0.126289 -0.991994 0 outer loop - vertex 5.4311 -5.93055 -0.1 + vertex 5.4311 -5.93055 -0.2 vertex 5.82356 -5.98052 0 vertex 5.4311 -5.93055 0 endloop @@ -37095,13 +37095,13 @@ solid OpenSCAD_Model facet normal -0.126289 -0.991994 -0 outer loop vertex 5.82356 -5.98052 0 - vertex 5.4311 -5.93055 -0.1 - vertex 5.82356 -5.98052 -0.1 + vertex 5.4311 -5.93055 -0.2 + vertex 5.82356 -5.98052 -0.2 endloop endfacet facet normal -0.0529968 -0.998595 0 outer loop - vertex 5.82356 -5.98052 -0.1 + vertex 5.82356 -5.98052 -0.2 vertex 6.18777 -5.99984 0 vertex 5.82356 -5.98052 0 endloop @@ -37109,13 +37109,13 @@ solid OpenSCAD_Model facet normal -0.0529968 -0.998595 -0 outer loop vertex 6.18777 -5.99984 0 - vertex 5.82356 -5.98052 -0.1 - vertex 6.18777 -5.99984 -0.1 + vertex 5.82356 -5.98052 -0.2 + vertex 6.18777 -5.99984 -0.2 endloop endfacet facet normal 0.0295577 -0.999563 0 outer loop - vertex 6.18777 -5.99984 -0.1 + vertex 6.18777 -5.99984 -0.2 vertex 6.53505 -5.98957 0 vertex 6.18777 -5.99984 0 endloop @@ -37123,13 +37123,13 @@ solid OpenSCAD_Model facet normal 0.0295577 -0.999563 0 outer loop vertex 6.53505 -5.98957 0 - vertex 6.18777 -5.99984 -0.1 - vertex 6.53505 -5.98957 -0.1 + vertex 6.18777 -5.99984 -0.2 + vertex 6.53505 -5.98957 -0.2 endloop endfacet facet normal 0.112922 -0.993604 0 outer loop - vertex 6.53505 -5.98957 -0.1 + vertex 6.53505 -5.98957 -0.2 vertex 6.87672 -5.95074 0 vertex 6.53505 -5.98957 0 endloop @@ -37137,13 +37137,13 @@ solid OpenSCAD_Model facet normal 0.112922 -0.993604 0 outer loop vertex 6.87672 -5.95074 0 - vertex 6.53505 -5.98957 -0.1 - vertex 6.87672 -5.95074 -0.1 + vertex 6.53505 -5.98957 -0.2 + vertex 6.87672 -5.95074 -0.2 endloop endfacet facet normal 0.18762 -0.982242 0 outer loop - vertex 6.87672 -5.95074 -0.1 + vertex 6.87672 -5.95074 -0.2 vertex 7.2241 -5.88439 0 vertex 6.87672 -5.95074 0 endloop @@ -37151,13 +37151,13 @@ solid OpenSCAD_Model facet normal 0.18762 -0.982242 0 outer loop vertex 7.2241 -5.88439 0 - vertex 6.87672 -5.95074 -0.1 - vertex 7.2241 -5.88439 -0.1 + vertex 6.87672 -5.95074 -0.2 + vertex 7.2241 -5.88439 -0.2 endloop endfacet facet normal 0.21982 -0.975541 0 outer loop - vertex 7.2241 -5.88439 -0.1 + vertex 7.2241 -5.88439 -0.2 vertex 7.809 -5.75259 0 vertex 7.2241 -5.88439 0 endloop @@ -37165,237 +37165,237 @@ solid OpenSCAD_Model facet normal 0.21982 -0.975541 0 outer loop vertex 7.809 -5.75259 0 - vertex 7.2241 -5.88439 -0.1 - vertex 7.809 -5.75259 -0.1 + vertex 7.2241 -5.88439 -0.2 + vertex 7.809 -5.75259 -0.2 endloop endfacet facet normal 0.71334 0.700818 0 outer loop vertex 7.809 -5.75259 0 - vertex 7.04277 -4.97268 -0.1 + vertex 7.04277 -4.97268 -0.2 vertex 7.04277 -4.97268 0 endloop endfacet facet normal 0.71334 0.700818 0 outer loop - vertex 7.04277 -4.97268 -0.1 + vertex 7.04277 -4.97268 -0.2 vertex 7.809 -5.75259 0 - vertex 7.809 -5.75259 -0.1 + vertex 7.809 -5.75259 -0.2 endloop endfacet facet normal 0.735784 0.677216 0 outer loop vertex 7.04277 -4.97268 0 - vertex 6.78219 -4.68956 -0.1 + vertex 6.78219 -4.68956 -0.2 vertex 6.78219 -4.68956 0 endloop endfacet facet normal 0.735784 0.677216 0 outer loop - vertex 6.78219 -4.68956 -0.1 + vertex 6.78219 -4.68956 -0.2 vertex 7.04277 -4.97268 0 - vertex 7.04277 -4.97268 -0.1 + vertex 7.04277 -4.97268 -0.2 endloop endfacet facet normal 0.771549 0.636169 0 outer loop vertex 6.78219 -4.68956 0 - vertex 6.51759 -4.36865 -0.1 + vertex 6.51759 -4.36865 -0.2 vertex 6.51759 -4.36865 0 endloop endfacet facet normal 0.771549 0.636169 0 outer loop - vertex 6.51759 -4.36865 -0.1 + vertex 6.51759 -4.36865 -0.2 vertex 6.78219 -4.68956 0 - vertex 6.78219 -4.68956 -0.1 + vertex 6.78219 -4.68956 -0.2 endloop endfacet facet normal 0.79877 0.601637 0 outer loop vertex 6.51759 -4.36865 0 - vertex 6.2523 -4.01644 -0.1 + vertex 6.2523 -4.01644 -0.2 vertex 6.2523 -4.01644 0 endloop endfacet facet normal 0.79877 0.601637 0 outer loop - vertex 6.2523 -4.01644 -0.1 + vertex 6.2523 -4.01644 -0.2 vertex 6.51759 -4.36865 0 - vertex 6.51759 -4.36865 -0.1 + vertex 6.51759 -4.36865 -0.2 endloop endfacet facet normal 0.820534 0.571597 0 outer loop vertex 6.2523 -4.01644 0 - vertex 5.98964 -3.63939 -0.1 + vertex 5.98964 -3.63939 -0.2 vertex 5.98964 -3.63939 0 endloop endfacet facet normal 0.820534 0.571597 0 outer loop - vertex 5.98964 -3.63939 -0.1 + vertex 5.98964 -3.63939 -0.2 vertex 6.2523 -4.01644 0 - vertex 6.2523 -4.01644 -0.1 + vertex 6.2523 -4.01644 -0.2 endloop endfacet facet normal 0.846837 0.531853 0 outer loop vertex 5.98964 -3.63939 0 - vertex 5.48552 -2.8367 -0.1 + vertex 5.48552 -2.8367 -0.2 vertex 5.48552 -2.8367 0 endloop endfacet facet normal 0.846837 0.531853 0 outer loop - vertex 5.48552 -2.8367 -0.1 + vertex 5.48552 -2.8367 -0.2 vertex 5.98964 -3.63939 0 - vertex 5.98964 -3.63939 -0.1 + vertex 5.98964 -3.63939 -0.2 endloop endfacet facet normal 0.876057 0.482207 0 outer loop vertex 5.48552 -2.8367 0 - vertex 5.03179 -2.01239 -0.1 + vertex 5.03179 -2.01239 -0.2 vertex 5.03179 -2.01239 0 endloop endfacet facet normal 0.876057 0.482207 0 outer loop - vertex 5.03179 -2.01239 -0.1 + vertex 5.03179 -2.01239 -0.2 vertex 5.48552 -2.8367 0 - vertex 5.48552 -2.8367 -0.1 + vertex 5.48552 -2.8367 -0.2 endloop endfacet facet normal 0.903486 0.428618 0 outer loop vertex 5.03179 -2.01239 0 - vertex 4.65505 -1.21825 -0.1 + vertex 4.65505 -1.21825 -0.2 vertex 4.65505 -1.21825 0 endloop endfacet facet normal 0.903486 0.428618 0 outer loop - vertex 4.65505 -1.21825 -0.1 + vertex 4.65505 -1.21825 -0.2 vertex 5.03179 -2.01239 0 - vertex 5.03179 -2.01239 -0.1 + vertex 5.03179 -2.01239 -0.2 endloop endfacet facet normal 0.925537 0.378657 0 outer loop vertex 4.65505 -1.21825 0 - vertex 4.50386 -0.848697 -0.1 + vertex 4.50386 -0.848697 -0.2 vertex 4.50386 -0.848697 0 endloop endfacet facet normal 0.925537 0.378657 0 outer loop - vertex 4.50386 -0.848697 -0.1 + vertex 4.50386 -0.848697 -0.2 vertex 4.65505 -1.21825 0 - vertex 4.65505 -1.21825 -0.1 + vertex 4.65505 -1.21825 -0.2 endloop endfacet facet normal 0.942067 0.335426 0 outer loop vertex 4.50386 -0.848697 0 - vertex 4.38188 -0.506111 -0.1 + vertex 4.38188 -0.506111 -0.2 vertex 4.38188 -0.506111 0 endloop endfacet facet normal 0.942067 0.335426 0 outer loop - vertex 4.38188 -0.506111 -0.1 + vertex 4.38188 -0.506111 -0.2 vertex 4.50386 -0.848697 0 - vertex 4.50386 -0.848697 -0.1 + vertex 4.50386 -0.848697 -0.2 endloop endfacet facet normal 0.960602 0.277927 0 outer loop vertex 4.38188 -0.506111 0 - vertex 4.29244 -0.196974 -0.1 + vertex 4.29244 -0.196974 -0.2 vertex 4.29244 -0.196974 0 endloop endfacet facet normal 0.960602 0.277927 0 outer loop - vertex 4.29244 -0.196974 -0.1 + vertex 4.29244 -0.196974 -0.2 vertex 4.38188 -0.506111 0 - vertex 4.38188 -0.506111 -0.1 + vertex 4.38188 -0.506111 -0.2 endloop endfacet facet normal 0.980763 0.1952 0 outer loop vertex 4.29244 -0.196974 0 - vertex 4.23886 0.0722368 -0.1 + vertex 4.23886 0.0722368 -0.2 vertex 4.23886 0.0722368 0 endloop endfacet facet normal 0.980763 0.1952 0 outer loop - vertex 4.23886 0.0722368 -0.1 + vertex 4.23886 0.0722368 -0.2 vertex 4.29244 -0.196974 0 - vertex 4.29244 -0.196974 -0.1 + vertex 4.29244 -0.196974 -0.2 endloop endfacet facet normal 0.997919 0.0644811 0 outer loop vertex 4.23886 0.0722368 0 - vertex 4.22446 0.295049 -0.1 + vertex 4.22446 0.295049 -0.2 vertex 4.22446 0.295049 0 endloop endfacet facet normal 0.997919 0.0644811 0 outer loop - vertex 4.22446 0.295049 -0.1 + vertex 4.22446 0.295049 -0.2 vertex 4.23886 0.0722368 0 - vertex 4.23886 0.0722368 -0.1 + vertex 4.23886 0.0722368 -0.2 endloop endfacet facet normal 0.986595 -0.163189 0 outer loop vertex 4.22446 0.295049 0 - vertex 4.25257 0.464986 -0.1 + vertex 4.25257 0.464986 -0.2 vertex 4.25257 0.464986 0 endloop endfacet facet normal 0.986595 -0.163189 0 outer loop - vertex 4.25257 0.464986 -0.1 + vertex 4.25257 0.464986 -0.2 vertex 4.22446 0.295049 0 - vertex 4.22446 0.295049 -0.1 + vertex 4.22446 0.295049 -0.2 endloop endfacet facet normal 0.930706 -0.365767 0 outer loop vertex 4.25257 0.464986 0 - vertex 4.33872 0.684191 -0.1 + vertex 4.33872 0.684191 -0.2 vertex 4.33872 0.684191 0 endloop endfacet facet normal 0.930706 -0.365767 0 outer loop - vertex 4.33872 0.684191 -0.1 + vertex 4.33872 0.684191 -0.2 vertex 4.25257 0.464986 0 - vertex 4.25257 0.464986 -0.1 + vertex 4.25257 0.464986 -0.2 endloop endfacet facet normal 0.83908 -0.544009 0 outer loop vertex 4.33872 0.684191 0 - vertex 4.3737 0.738144 -0.1 + vertex 4.3737 0.738144 -0.2 vertex 4.3737 0.738144 0 endloop endfacet facet normal 0.83908 -0.544009 0 outer loop - vertex 4.3737 0.738144 -0.1 + vertex 4.3737 0.738144 -0.2 vertex 4.33872 0.684191 0 - vertex 4.33872 0.684191 -0.1 + vertex 4.33872 0.684191 -0.2 endloop endfacet facet normal 0.430226 -0.902721 0 outer loop - vertex 4.3737 0.738144 -0.1 + vertex 4.3737 0.738144 -0.2 vertex 4.40839 0.754677 0 vertex 4.3737 0.738144 0 endloop @@ -37403,13 +37403,13 @@ solid OpenSCAD_Model facet normal 0.430226 -0.902721 0 outer loop vertex 4.40839 0.754677 0 - vertex 4.3737 0.738144 -0.1 - vertex 4.40839 0.754677 -0.1 + vertex 4.3737 0.738144 -0.2 + vertex 4.40839 0.754677 -0.2 endloop endfacet facet normal -0.483736 -0.875214 0 outer loop - vertex 4.40839 0.754677 -0.1 + vertex 4.40839 0.754677 -0.2 vertex 4.44662 0.733548 0 vertex 4.40839 0.754677 0 endloop @@ -37417,111 +37417,111 @@ solid OpenSCAD_Model facet normal -0.483736 -0.875214 -0 outer loop vertex 4.44662 0.733548 0 - vertex 4.40839 0.754677 -0.1 - vertex 4.44662 0.733548 -0.1 + vertex 4.40839 0.754677 -0.2 + vertex 4.44662 0.733548 -0.2 endloop endfacet facet normal -0.791399 -0.6113 0 outer loop - vertex 4.49221 0.674515 -0.1 + vertex 4.49221 0.674515 -0.2 vertex 4.44662 0.733548 0 - vertex 4.44662 0.733548 -0.1 + vertex 4.44662 0.733548 -0.2 endloop endfacet facet normal -0.791399 -0.6113 0 outer loop vertex 4.44662 0.733548 0 - vertex 4.49221 0.674515 -0.1 + vertex 4.49221 0.674515 -0.2 vertex 4.49221 0.674515 0 endloop endfacet facet normal -0.875249 -0.483672 0 outer loop - vertex 4.62083 0.441773 -0.1 + vertex 4.62083 0.441773 -0.2 vertex 4.49221 0.674515 0 - vertex 4.49221 0.674515 -0.1 + vertex 4.49221 0.674515 -0.2 endloop endfacet facet normal -0.875249 -0.483672 0 outer loop vertex 4.49221 0.674515 0 - vertex 4.62083 0.441773 -0.1 + vertex 4.62083 0.441773 -0.2 vertex 4.62083 0.441773 0 endloop endfacet facet normal -0.8234 -0.567461 0 outer loop - vertex 4.83246 0.134689 -0.1 + vertex 4.83246 0.134689 -0.2 vertex 4.62083 0.441773 0 - vertex 4.62083 0.441773 -0.1 + vertex 4.62083 0.441773 -0.2 endloop endfacet facet normal -0.8234 -0.567461 0 outer loop vertex 4.62083 0.441773 0 - vertex 4.83246 0.134689 -0.1 + vertex 4.83246 0.134689 -0.2 vertex 4.83246 0.134689 0 endloop endfacet facet normal -0.783851 -0.620949 0 outer loop - vertex 5.24358 -0.384283 -0.1 + vertex 5.24358 -0.384283 -0.2 vertex 4.83246 0.134689 0 - vertex 4.83246 0.134689 -0.1 + vertex 4.83246 0.134689 -0.2 endloop endfacet facet normal -0.783851 -0.620949 0 outer loop vertex 4.83246 0.134689 0 - vertex 5.24358 -0.384283 -0.1 + vertex 5.24358 -0.384283 -0.2 vertex 5.24358 -0.384283 0 endloop endfacet facet normal -0.766673 -0.642037 0 outer loop - vertex 5.79491 -1.04264 -0.1 + vertex 5.79491 -1.04264 -0.2 vertex 5.24358 -0.384283 0 - vertex 5.24358 -0.384283 -0.1 + vertex 5.24358 -0.384283 -0.2 endloop endfacet facet normal -0.766673 -0.642037 0 outer loop vertex 5.24358 -0.384283 0 - vertex 5.79491 -1.04264 -0.1 + vertex 5.79491 -1.04264 -0.2 vertex 5.79491 -1.04264 0 endloop endfacet facet normal -0.753766 -0.657143 0 outer loop - vertex 6.42718 -1.76788 -0.1 + vertex 6.42718 -1.76788 -0.2 vertex 5.79491 -1.04264 0 - vertex 5.79491 -1.04264 -0.1 + vertex 5.79491 -1.04264 -0.2 endloop endfacet facet normal -0.753766 -0.657143 0 outer loop vertex 5.79491 -1.04264 0 - vertex 6.42718 -1.76788 -0.1 + vertex 6.42718 -1.76788 -0.2 vertex 6.42718 -1.76788 0 endloop endfacet facet normal -0.728754 -0.684775 0 outer loop - vertex 7.10115 -2.48513 -0.1 + vertex 7.10115 -2.48513 -0.2 vertex 6.42718 -1.76788 0 - vertex 6.42718 -1.76788 -0.1 + vertex 6.42718 -1.76788 -0.2 endloop endfacet facet normal -0.728754 -0.684775 0 outer loop vertex 6.42718 -1.76788 0 - vertex 7.10115 -2.48513 -0.1 + vertex 7.10115 -2.48513 -0.2 vertex 7.10115 -2.48513 0 endloop endfacet facet normal -0.682466 -0.730918 0 outer loop - vertex 7.10115 -2.48513 -0.1 + vertex 7.10115 -2.48513 -0.2 vertex 7.75455 -3.09522 0 vertex 7.10115 -2.48513 0 endloop @@ -37529,13 +37529,13 @@ solid OpenSCAD_Model facet normal -0.682466 -0.730918 -0 outer loop vertex 7.75455 -3.09522 0 - vertex 7.10115 -2.48513 -0.1 - vertex 7.75455 -3.09522 -0.1 + vertex 7.10115 -2.48513 -0.2 + vertex 7.75455 -3.09522 -0.2 endloop endfacet facet normal -0.638085 -0.769966 0 outer loop - vertex 7.75455 -3.09522 -0.1 + vertex 7.75455 -3.09522 -0.2 vertex 8.0755 -3.36119 0 vertex 7.75455 -3.09522 0 endloop @@ -37543,13 +37543,13 @@ solid OpenSCAD_Model facet normal -0.638085 -0.769966 -0 outer loop vertex 8.0755 -3.36119 0 - vertex 7.75455 -3.09522 -0.1 - vertex 8.0755 -3.36119 -0.1 + vertex 7.75455 -3.09522 -0.2 + vertex 8.0755 -3.36119 -0.2 endloop endfacet facet normal -0.60305 -0.797703 0 outer loop - vertex 8.0755 -3.36119 -0.1 + vertex 8.0755 -3.36119 -0.2 vertex 8.39365 -3.60171 0 vertex 8.0755 -3.36119 0 endloop @@ -37557,13 +37557,13 @@ solid OpenSCAD_Model facet normal -0.60305 -0.797703 -0 outer loop vertex 8.39365 -3.60171 0 - vertex 8.0755 -3.36119 -0.1 - vertex 8.39365 -3.60171 -0.1 + vertex 8.0755 -3.36119 -0.2 + vertex 8.39365 -3.60171 -0.2 endloop endfacet facet normal -0.563259 -0.826281 0 outer loop - vertex 8.39365 -3.60171 -0.1 + vertex 8.39365 -3.60171 -0.2 vertex 8.70978 -3.81721 0 vertex 8.39365 -3.60171 0 endloop @@ -37571,13 +37571,13 @@ solid OpenSCAD_Model facet normal -0.563259 -0.826281 -0 outer loop vertex 8.70978 -3.81721 0 - vertex 8.39365 -3.60171 -0.1 - vertex 8.70978 -3.81721 -0.1 + vertex 8.39365 -3.60171 -0.2 + vertex 8.70978 -3.81721 -0.2 endloop endfacet facet normal -0.518472 -0.855094 0 outer loop - vertex 8.70978 -3.81721 -0.1 + vertex 8.70978 -3.81721 -0.2 vertex 9.02468 -4.00814 0 vertex 8.70978 -3.81721 0 endloop @@ -37585,13 +37585,13 @@ solid OpenSCAD_Model facet normal -0.518472 -0.855094 -0 outer loop vertex 9.02468 -4.00814 0 - vertex 8.70978 -3.81721 -0.1 - vertex 9.02468 -4.00814 -0.1 + vertex 8.70978 -3.81721 -0.2 + vertex 9.02468 -4.00814 -0.2 endloop endfacet facet normal -0.468624 -0.883398 0 outer loop - vertex 9.02468 -4.00814 -0.1 + vertex 9.02468 -4.00814 -0.2 vertex 9.33912 -4.17495 0 vertex 9.02468 -4.00814 0 endloop @@ -37599,13 +37599,13 @@ solid OpenSCAD_Model facet normal -0.468624 -0.883398 -0 outer loop vertex 9.33912 -4.17495 0 - vertex 9.02468 -4.00814 -0.1 - vertex 9.33912 -4.17495 -0.1 + vertex 9.02468 -4.00814 -0.2 + vertex 9.33912 -4.17495 -0.2 endloop endfacet facet normal -0.413918 -0.910314 0 outer loop - vertex 9.33912 -4.17495 -0.1 + vertex 9.33912 -4.17495 -0.2 vertex 9.65389 -4.31807 0 vertex 9.33912 -4.17495 0 endloop @@ -37613,13 +37613,13 @@ solid OpenSCAD_Model facet normal -0.413918 -0.910314 -0 outer loop vertex 9.65389 -4.31807 0 - vertex 9.33912 -4.17495 -0.1 - vertex 9.65389 -4.31807 -0.1 + vertex 9.33912 -4.17495 -0.2 + vertex 9.65389 -4.31807 -0.2 endloop endfacet facet normal -0.354841 -0.934927 0 outer loop - vertex 9.65389 -4.31807 -0.1 + vertex 9.65389 -4.31807 -0.2 vertex 9.96977 -4.43796 0 vertex 9.65389 -4.31807 0 endloop @@ -37627,13 +37627,13 @@ solid OpenSCAD_Model facet normal -0.354841 -0.934927 -0 outer loop vertex 9.96977 -4.43796 0 - vertex 9.65389 -4.31807 -0.1 - vertex 9.96977 -4.43796 -0.1 + vertex 9.65389 -4.31807 -0.2 + vertex 9.96977 -4.43796 -0.2 endloop endfacet facet normal -0.292213 -0.956353 0 outer loop - vertex 9.96977 -4.43796 -0.1 + vertex 9.96977 -4.43796 -0.2 vertex 10.2875 -4.53506 0 vertex 9.96977 -4.43796 0 endloop @@ -37641,13 +37641,13 @@ solid OpenSCAD_Model facet normal -0.292213 -0.956353 -0 outer loop vertex 10.2875 -4.53506 0 - vertex 9.96977 -4.43796 -0.1 - vertex 10.2875 -4.53506 -0.1 + vertex 9.96977 -4.43796 -0.2 + vertex 10.2875 -4.53506 -0.2 endloop endfacet facet normal -0.227161 -0.973857 0 outer loop - vertex 10.2875 -4.53506 -0.1 + vertex 10.2875 -4.53506 -0.2 vertex 10.608 -4.6098 0 vertex 10.2875 -4.53506 0 endloop @@ -37655,13 +37655,13 @@ solid OpenSCAD_Model facet normal -0.227161 -0.973857 -0 outer loop vertex 10.608 -4.6098 0 - vertex 10.2875 -4.53506 -0.1 - vertex 10.608 -4.6098 -0.1 + vertex 10.2875 -4.53506 -0.2 + vertex 10.608 -4.6098 -0.2 endloop endfacet facet normal -0.161011 -0.986953 0 outer loop - vertex 10.608 -4.6098 -0.1 + vertex 10.608 -4.6098 -0.2 vertex 10.9319 -4.66264 0 vertex 10.608 -4.6098 0 endloop @@ -37669,13 +37669,13 @@ solid OpenSCAD_Model facet normal -0.161011 -0.986953 -0 outer loop vertex 10.9319 -4.66264 0 - vertex 10.608 -4.6098 -0.1 - vertex 10.9319 -4.66264 -0.1 + vertex 10.608 -4.6098 -0.2 + vertex 10.9319 -4.66264 -0.2 endloop endfacet facet normal -0.0951962 -0.995459 0 outer loop - vertex 10.9319 -4.66264 -0.1 + vertex 10.9319 -4.66264 -0.2 vertex 11.26 -4.69402 0 vertex 10.9319 -4.66264 0 endloop @@ -37683,13 +37683,13 @@ solid OpenSCAD_Model facet normal -0.0951962 -0.995459 -0 outer loop vertex 11.26 -4.69402 0 - vertex 10.9319 -4.66264 -0.1 - vertex 11.26 -4.69402 -0.1 + vertex 10.9319 -4.66264 -0.2 + vertex 11.26 -4.69402 -0.2 endloop endfacet facet normal -0.0310839 -0.999517 0 outer loop - vertex 11.26 -4.69402 -0.1 + vertex 11.26 -4.69402 -0.2 vertex 11.5931 -4.70438 0 vertex 11.26 -4.69402 0 endloop @@ -37697,13 +37697,13 @@ solid OpenSCAD_Model facet normal -0.0310839 -0.999517 -0 outer loop vertex 11.5931 -4.70438 0 - vertex 11.26 -4.69402 -0.1 - vertex 11.5931 -4.70438 -0.1 + vertex 11.26 -4.69402 -0.2 + vertex 11.5931 -4.70438 -0.2 endloop endfacet facet normal 0.0736121 -0.997287 0 outer loop - vertex 11.5931 -4.70438 -0.1 + vertex 11.5931 -4.70438 -0.2 vertex 12.006 -4.67391 0 vertex 11.5931 -4.70438 0 endloop @@ -37711,13 +37711,13 @@ solid OpenSCAD_Model facet normal 0.0736121 -0.997287 0 outer loop vertex 12.006 -4.67391 0 - vertex 11.5931 -4.70438 -0.1 - vertex 12.006 -4.67391 -0.1 + vertex 11.5931 -4.70438 -0.2 + vertex 12.006 -4.67391 -0.2 endloop endfacet facet normal 0.209942 -0.977714 0 outer loop - vertex 12.006 -4.67391 -0.1 + vertex 12.006 -4.67391 -0.2 vertex 12.4149 -4.5861 0 vertex 12.006 -4.67391 0 endloop @@ -37725,13 +37725,13 @@ solid OpenSCAD_Model facet normal 0.209942 -0.977714 0 outer loop vertex 12.4149 -4.5861 0 - vertex 12.006 -4.67391 -0.1 - vertex 12.4149 -4.5861 -0.1 + vertex 12.006 -4.67391 -0.2 + vertex 12.4149 -4.5861 -0.2 endloop endfacet facet normal 0.332988 -0.942931 0 outer loop - vertex 12.4149 -4.5861 -0.1 + vertex 12.4149 -4.5861 -0.2 vertex 12.8106 -4.44636 0 vertex 12.4149 -4.5861 0 endloop @@ -37739,13 +37739,13 @@ solid OpenSCAD_Model facet normal 0.332988 -0.942931 0 outer loop vertex 12.8106 -4.44636 0 - vertex 12.4149 -4.5861 -0.1 - vertex 12.8106 -4.44636 -0.1 + vertex 12.4149 -4.5861 -0.2 + vertex 12.8106 -4.44636 -0.2 endloop endfacet facet normal 0.44663 -0.894719 0 outer loop - vertex 12.8106 -4.44636 -0.1 + vertex 12.8106 -4.44636 -0.2 vertex 13.1837 -4.26011 0 vertex 12.8106 -4.44636 0 endloop @@ -37753,13 +37753,13 @@ solid OpenSCAD_Model facet normal 0.44663 -0.894719 0 outer loop vertex 13.1837 -4.26011 0 - vertex 12.8106 -4.44636 -0.1 - vertex 13.1837 -4.26011 -0.1 + vertex 12.8106 -4.44636 -0.2 + vertex 13.1837 -4.26011 -0.2 endloop endfacet facet normal 0.554537 -0.832159 0 outer loop - vertex 13.1837 -4.26011 -0.1 + vertex 13.1837 -4.26011 -0.2 vertex 13.5249 -4.03275 0 vertex 13.1837 -4.26011 0 endloop @@ -37767,13 +37767,13 @@ solid OpenSCAD_Model facet normal 0.554537 -0.832159 0 outer loop vertex 13.5249 -4.03275 0 - vertex 13.1837 -4.26011 -0.1 - vertex 13.5249 -4.03275 -0.1 + vertex 13.1837 -4.26011 -0.2 + vertex 13.5249 -4.03275 -0.2 endloop endfacet facet normal 0.65941 -0.751784 0 outer loop - vertex 13.5249 -4.03275 -0.1 + vertex 13.5249 -4.03275 -0.2 vertex 13.8248 -3.7697 0 vertex 13.5249 -4.03275 0 endloop @@ -37781,237 +37781,237 @@ solid OpenSCAD_Model facet normal 0.65941 -0.751784 0 outer loop vertex 13.8248 -3.7697 0 - vertex 13.5249 -4.03275 -0.1 - vertex 13.8248 -3.7697 -0.1 + vertex 13.5249 -4.03275 -0.2 + vertex 13.8248 -3.7697 -0.2 endloop endfacet facet normal 0.762012 -0.647563 0 outer loop vertex 13.8248 -3.7697 0 - vertex 14.0741 -3.47638 -0.1 + vertex 14.0741 -3.47638 -0.2 vertex 14.0741 -3.47638 0 endloop endfacet facet normal 0.762012 -0.647563 0 outer loop - vertex 14.0741 -3.47638 -0.1 + vertex 14.0741 -3.47638 -0.2 vertex 13.8248 -3.7697 0 - vertex 13.8248 -3.7697 -0.1 + vertex 13.8248 -3.7697 -0.2 endloop endfacet facet normal 0.835702 -0.549183 0 outer loop vertex 14.0741 -3.47638 0 - vertex 14.1768 -3.32005 -0.1 + vertex 14.1768 -3.32005 -0.2 vertex 14.1768 -3.32005 0 endloop endfacet facet normal 0.835702 -0.549183 0 outer loop - vertex 14.1768 -3.32005 -0.1 + vertex 14.1768 -3.32005 -0.2 vertex 14.0741 -3.47638 0 - vertex 14.0741 -3.47638 -0.1 + vertex 14.0741 -3.47638 -0.2 endloop endfacet facet normal 0.88181 -0.471605 0 outer loop vertex 14.1768 -3.32005 0 - vertex 14.2634 -3.15818 -0.1 + vertex 14.2634 -3.15818 -0.2 vertex 14.2634 -3.15818 0 endloop endfacet facet normal 0.88181 -0.471605 0 outer loop - vertex 14.2634 -3.15818 -0.1 + vertex 14.2634 -3.15818 -0.2 vertex 14.1768 -3.32005 0 - vertex 14.1768 -3.32005 -0.1 + vertex 14.1768 -3.32005 -0.2 endloop endfacet facet normal 0.950814 -0.309764 0 outer loop vertex 14.2634 -3.15818 0 - vertex 14.3256 -2.96711 -0.1 + vertex 14.3256 -2.96711 -0.2 vertex 14.3256 -2.96711 0 endloop endfacet facet normal 0.950814 -0.309764 0 outer loop - vertex 14.3256 -2.96711 -0.1 + vertex 14.3256 -2.96711 -0.2 vertex 14.2634 -3.15818 0 - vertex 14.2634 -3.15818 -0.1 + vertex 14.2634 -3.15818 -0.2 endloop endfacet facet normal 0.996178 -0.0873495 0 outer loop vertex 14.3256 -2.96711 0 - vertex 14.3448 -2.7489 -0.1 + vertex 14.3448 -2.7489 -0.2 vertex 14.3448 -2.7489 0 endloop endfacet facet normal 0.996178 -0.0873495 0 outer loop - vertex 14.3448 -2.7489 -0.1 + vertex 14.3448 -2.7489 -0.2 vertex 14.3256 -2.96711 0 - vertex 14.3256 -2.96711 -0.1 + vertex 14.3256 -2.96711 -0.2 endloop endfacet facet normal 0.995552 0.0942095 0 outer loop vertex 14.3448 -2.7489 0 - vertex 14.3217 -2.5049 -0.1 + vertex 14.3217 -2.5049 -0.2 vertex 14.3217 -2.5049 0 endloop endfacet facet normal 0.995552 0.0942095 0 outer loop - vertex 14.3217 -2.5049 -0.1 + vertex 14.3217 -2.5049 -0.2 vertex 14.3448 -2.7489 0 - vertex 14.3448 -2.7489 -0.1 + vertex 14.3448 -2.7489 -0.2 endloop endfacet facet normal 0.972391 0.233358 0 outer loop vertex 14.3217 -2.5049 0 - vertex 14.2572 -2.23644 -0.1 + vertex 14.2572 -2.23644 -0.2 vertex 14.2572 -2.23644 0 endloop endfacet facet normal 0.972391 0.233358 0 outer loop - vertex 14.2572 -2.23644 -0.1 + vertex 14.2572 -2.23644 -0.2 vertex 14.3217 -2.5049 0 - vertex 14.3217 -2.5049 -0.1 + vertex 14.3217 -2.5049 -0.2 endloop endfacet facet normal 0.940985 0.338449 0 outer loop vertex 14.2572 -2.23644 0 - vertex 14.1524 -1.94488 -0.1 + vertex 14.1524 -1.94488 -0.2 vertex 14.1524 -1.94488 0 endloop endfacet facet normal 0.940985 0.338449 0 outer loop - vertex 14.1524 -1.94488 -0.1 + vertex 14.1524 -1.94488 -0.2 vertex 14.2572 -2.23644 0 - vertex 14.2572 -2.23644 -0.1 + vertex 14.2572 -2.23644 -0.2 endloop endfacet facet normal 0.908169 0.418604 0 outer loop vertex 14.1524 -1.94488 0 - vertex 14.008 -1.63155 -0.1 + vertex 14.008 -1.63155 -0.2 vertex 14.008 -1.63155 0 endloop endfacet facet normal 0.908169 0.418604 0 outer loop - vertex 14.008 -1.63155 -0.1 + vertex 14.008 -1.63155 -0.2 vertex 14.1524 -1.94488 0 - vertex 14.1524 -1.94488 -0.1 + vertex 14.1524 -1.94488 -0.2 endloop endfacet facet normal 0.876739 0.480967 0 outer loop vertex 14.008 -1.63155 0 - vertex 13.8249 -1.29782 -0.1 + vertex 13.8249 -1.29782 -0.2 vertex 13.8249 -1.29782 0 endloop endfacet facet normal 0.876739 0.480967 0 outer loop - vertex 13.8249 -1.29782 -0.1 + vertex 13.8249 -1.29782 -0.2 vertex 14.008 -1.63155 0 - vertex 14.008 -1.63155 -0.1 + vertex 14.008 -1.63155 -0.2 endloop endfacet facet normal 0.847618 0.530607 0 outer loop vertex 13.8249 -1.29782 0 - vertex 13.604 -0.945011 -0.1 + vertex 13.604 -0.945011 -0.2 vertex 13.604 -0.945011 0 endloop endfacet facet normal 0.847618 0.530607 0 outer loop - vertex 13.604 -0.945011 -0.1 + vertex 13.604 -0.945011 -0.2 vertex 13.8249 -1.29782 0 - vertex 13.8249 -1.29782 -0.1 + vertex 13.8249 -1.29782 -0.2 endloop endfacet facet normal 0.820927 0.571033 0 outer loop vertex 13.604 -0.945011 0 - vertex 13.3463 -0.574481 -0.1 + vertex 13.3463 -0.574481 -0.2 vertex 13.3463 -0.574481 0 endloop endfacet facet normal 0.820927 0.571033 0 outer loop - vertex 13.3463 -0.574481 -0.1 + vertex 13.3463 -0.574481 -0.2 vertex 13.604 -0.945011 0 - vertex 13.604 -0.945011 -0.1 + vertex 13.604 -0.945011 -0.2 endloop endfacet facet normal 0.796478 0.604667 0 outer loop vertex 13.3463 -0.574481 0 - vertex 13.0525 -0.187573 -0.1 + vertex 13.0525 -0.187573 -0.2 vertex 13.0525 -0.187573 0 endloop endfacet facet normal 0.796478 0.604667 0 outer loop - vertex 13.0525 -0.187573 -0.1 + vertex 13.0525 -0.187573 -0.2 vertex 13.3463 -0.574481 0 - vertex 13.3463 -0.574481 -0.1 + vertex 13.3463 -0.574481 -0.2 endloop endfacet facet normal 0.773983 0.633206 0 outer loop vertex 13.0525 -0.187573 0 - vertex 12.7237 0.214368 -0.1 + vertex 12.7237 0.214368 -0.2 vertex 12.7237 0.214368 0 endloop endfacet facet normal 0.773983 0.633206 0 outer loop - vertex 12.7237 0.214368 -0.1 + vertex 12.7237 0.214368 -0.2 vertex 13.0525 -0.187573 0 - vertex 13.0525 -0.187573 -0.1 + vertex 13.0525 -0.187573 -0.2 endloop endfacet facet normal 0.753142 0.657858 0 outer loop vertex 12.7237 0.214368 0 - vertex 12.3607 0.629996 -0.1 + vertex 12.3607 0.629996 -0.2 vertex 12.3607 0.629996 0 endloop endfacet facet normal 0.753142 0.657858 0 outer loop - vertex 12.3607 0.629996 -0.1 + vertex 12.3607 0.629996 -0.2 vertex 12.7237 0.214368 0 - vertex 12.7237 0.214368 -0.1 + vertex 12.7237 0.214368 -0.2 endloop endfacet facet normal 0.724343 0.68944 0 outer loop vertex 12.3607 0.629996 0 - vertex 11.5355 1.49693 -0.1 + vertex 11.5355 1.49693 -0.2 vertex 11.5355 1.49693 0 endloop endfacet facet normal 0.724343 0.68944 0 outer loop - vertex 11.5355 1.49693 -0.1 + vertex 11.5355 1.49693 -0.2 vertex 12.3607 0.629996 0 - vertex 12.3607 0.629996 -0.1 + vertex 12.3607 0.629996 -0.2 endloop endfacet facet normal 0.689461 0.724323 -0 outer loop - vertex 11.5355 1.49693 -0.1 + vertex 11.5355 1.49693 -0.2 vertex 10.5842 2.40247 0 vertex 11.5355 1.49693 0 endloop @@ -38019,13 +38019,13 @@ solid OpenSCAD_Model facet normal 0.689461 0.724323 0 outer loop vertex 10.5842 2.40247 0 - vertex 11.5355 1.49693 -0.1 - vertex 10.5842 2.40247 -0.1 + vertex 11.5355 1.49693 -0.2 + vertex 10.5842 2.40247 -0.2 endloop endfacet facet normal 0.659589 0.751627 -0 outer loop - vertex 10.5842 2.40247 -0.1 + vertex 10.5842 2.40247 -0.2 vertex 9.61741 3.25086 0 vertex 10.5842 2.40247 0 endloop @@ -38033,13 +38033,13 @@ solid OpenSCAD_Model facet normal 0.659589 0.751627 0 outer loop vertex 9.61741 3.25086 0 - vertex 10.5842 2.40247 -0.1 - vertex 9.61741 3.25086 -0.1 + vertex 10.5842 2.40247 -0.2 + vertex 9.61741 3.25086 -0.2 endloop endfacet facet normal 0.626395 0.779506 -0 outer loop - vertex 9.61741 3.25086 -0.1 + vertex 9.61741 3.25086 -0.2 vertex 9.29624 3.50894 0 vertex 9.61741 3.25086 0 endloop @@ -38047,13 +38047,13 @@ solid OpenSCAD_Model facet normal 0.626395 0.779506 0 outer loop vertex 9.29624 3.50894 0 - vertex 9.61741 3.25086 -0.1 - vertex 9.29624 3.50894 -0.1 + vertex 9.61741 3.25086 -0.2 + vertex 9.29624 3.50894 -0.2 endloop endfacet facet normal 0.533935 0.845526 -0 outer loop - vertex 9.29624 3.50894 -0.1 + vertex 9.29624 3.50894 -0.2 vertex 9.14614 3.60373 0 vertex 9.29624 3.50894 0 endloop @@ -38061,13 +38061,13 @@ solid OpenSCAD_Model facet normal 0.533935 0.845526 0 outer loop vertex 9.14614 3.60373 0 - vertex 9.29624 3.50894 -0.1 - vertex 9.14614 3.60373 -0.1 + vertex 9.29624 3.50894 -0.2 + vertex 9.14614 3.60373 -0.2 endloop endfacet facet normal 0.419972 0.907537 -0 outer loop - vertex 9.14614 3.60373 -0.1 + vertex 9.14614 3.60373 -0.2 vertex 9.03464 3.65533 0 vertex 9.14614 3.60373 0 endloop @@ -38075,13 +38075,13 @@ solid OpenSCAD_Model facet normal 0.419972 0.907537 0 outer loop vertex 9.03464 3.65533 0 - vertex 9.14614 3.60373 -0.1 - vertex 9.03464 3.65533 -0.1 + vertex 9.14614 3.60373 -0.2 + vertex 9.03464 3.65533 -0.2 endloop endfacet facet normal 0.545127 0.838353 -0 outer loop - vertex 9.03464 3.65533 -0.1 + vertex 9.03464 3.65533 -0.2 vertex 8.81858 3.79581 0 vertex 9.03464 3.65533 0 endloop @@ -38089,13 +38089,13 @@ solid OpenSCAD_Model facet normal 0.545127 0.838353 0 outer loop vertex 8.81858 3.79581 0 - vertex 9.03464 3.65533 -0.1 - vertex 8.81858 3.79581 -0.1 + vertex 9.03464 3.65533 -0.2 + vertex 8.81858 3.79581 -0.2 endloop endfacet facet normal 0.596587 0.802549 -0 outer loop - vertex 8.81858 3.79581 -0.1 + vertex 8.81858 3.79581 -0.2 vertex 8.19732 4.25764 0 vertex 8.81858 3.79581 0 endloop @@ -38103,13 +38103,13 @@ solid OpenSCAD_Model facet normal 0.596587 0.802549 0 outer loop vertex 8.19732 4.25764 0 - vertex 8.81858 3.79581 -0.1 - vertex 8.19732 4.25764 -0.1 + vertex 8.81858 3.79581 -0.2 + vertex 8.19732 4.25764 -0.2 endloop endfacet facet normal 0.576403 0.817166 -0 outer loop - vertex 8.19732 4.25764 -0.1 + vertex 8.19732 4.25764 -0.2 vertex 8.00725 4.39171 0 vertex 8.19732 4.25764 0 endloop @@ -38117,13 +38117,13 @@ solid OpenSCAD_Model facet normal 0.576403 0.817166 0 outer loop vertex 8.00725 4.39171 0 - vertex 8.19732 4.25764 -0.1 - vertex 8.00725 4.39171 -0.1 + vertex 8.19732 4.25764 -0.2 + vertex 8.00725 4.39171 -0.2 endloop endfacet facet normal 0.52168 0.853141 -0 outer loop - vertex 8.00725 4.39171 -0.1 + vertex 8.00725 4.39171 -0.2 vertex 7.75154 4.54807 0 vertex 8.00725 4.39171 0 endloop @@ -38131,13 +38131,13 @@ solid OpenSCAD_Model facet normal 0.52168 0.853141 0 outer loop vertex 7.75154 4.54807 0 - vertex 8.00725 4.39171 -0.1 - vertex 7.75154 4.54807 -0.1 + vertex 8.00725 4.39171 -0.2 + vertex 7.75154 4.54807 -0.2 endloop endfacet facet normal 0.475339 0.879803 -0 outer loop - vertex 7.75154 4.54807 -0.1 + vertex 7.75154 4.54807 -0.2 vertex 7.07462 4.9138 0 vertex 7.75154 4.54807 0 endloop @@ -38145,13 +38145,13 @@ solid OpenSCAD_Model facet normal 0.475339 0.879803 0 outer loop vertex 7.07462 4.9138 0 - vertex 7.75154 4.54807 -0.1 - vertex 7.07462 4.9138 -0.1 + vertex 7.75154 4.54807 -0.2 + vertex 7.07462 4.9138 -0.2 endloop endfacet facet normal 0.439259 0.89836 -0 outer loop - vertex 7.07462 4.9138 -0.1 + vertex 7.07462 4.9138 -0.2 vertex 6.22936 5.32709 0 vertex 7.07462 4.9138 0 endloop @@ -38159,13 +38159,13 @@ solid OpenSCAD_Model facet normal 0.439259 0.89836 0 outer loop vertex 6.22936 5.32709 0 - vertex 7.07462 4.9138 -0.1 - vertex 6.22936 5.32709 -0.1 + vertex 7.07462 4.9138 -0.2 + vertex 6.22936 5.32709 -0.2 endloop endfacet facet normal 0.414563 0.910021 -0 outer loop - vertex 6.22936 5.32709 -0.1 + vertex 6.22936 5.32709 -0.2 vertex 5.27855 5.76024 0 vertex 6.22936 5.32709 0 endloop @@ -38173,13 +38173,13 @@ solid OpenSCAD_Model facet normal 0.414563 0.910021 0 outer loop vertex 5.27855 5.76024 0 - vertex 6.22936 5.32709 -0.1 - vertex 5.27855 5.76024 -0.1 + vertex 6.22936 5.32709 -0.2 + vertex 5.27855 5.76024 -0.2 endloop endfacet facet normal 0.393495 0.919327 -0 outer loop - vertex 5.27855 5.76024 -0.1 + vertex 5.27855 5.76024 -0.2 vertex 4.285 6.1855 0 vertex 5.27855 5.76024 0 endloop @@ -38187,13 +38187,13 @@ solid OpenSCAD_Model facet normal 0.393495 0.919327 0 outer loop vertex 4.285 6.1855 0 - vertex 5.27855 5.76024 -0.1 - vertex 4.285 6.1855 -0.1 + vertex 5.27855 5.76024 -0.2 + vertex 4.285 6.1855 -0.2 endloop endfacet facet normal 0.371607 0.92839 -0 outer loop - vertex 4.285 6.1855 -0.1 + vertex 4.285 6.1855 -0.2 vertex 3.31149 6.57517 0 vertex 4.285 6.1855 0 endloop @@ -38201,13 +38201,13 @@ solid OpenSCAD_Model facet normal 0.371607 0.92839 0 outer loop vertex 3.31149 6.57517 0 - vertex 4.285 6.1855 -0.1 - vertex 3.31149 6.57517 -0.1 + vertex 4.285 6.1855 -0.2 + vertex 3.31149 6.57517 -0.2 endloop endfacet facet normal 0.344035 0.938957 -0 outer loop - vertex 3.31149 6.57517 -0.1 + vertex 3.31149 6.57517 -0.2 vertex 2.42084 6.9015 0 vertex 3.31149 6.57517 0 endloop @@ -38215,13 +38215,13 @@ solid OpenSCAD_Model facet normal 0.344035 0.938957 0 outer loop vertex 2.42084 6.9015 0 - vertex 3.31149 6.57517 -0.1 - vertex 2.42084 6.9015 -0.1 + vertex 3.31149 6.57517 -0.2 + vertex 2.42084 6.9015 -0.2 endloop endfacet facet normal 0.301156 0.953575 -0 outer loop - vertex 2.42084 6.9015 -0.1 + vertex 2.42084 6.9015 -0.2 vertex 1.67583 7.13679 0 vertex 2.42084 6.9015 0 endloop @@ -38229,13 +38229,13 @@ solid OpenSCAD_Model facet normal 0.301156 0.953575 0 outer loop vertex 1.67583 7.13679 0 - vertex 2.42084 6.9015 -0.1 - vertex 1.67583 7.13679 -0.1 + vertex 2.42084 6.9015 -0.2 + vertex 1.67583 7.13679 -0.2 endloop endfacet facet normal 0.313822 0.949482 -0 outer loop - vertex 1.67583 7.13679 -0.1 + vertex 1.67583 7.13679 -0.2 vertex 1.30727 7.25861 0 vertex 1.67583 7.13679 0 endloop @@ -38243,13 +38243,13 @@ solid OpenSCAD_Model facet normal 0.313822 0.949482 0 outer loop vertex 1.30727 7.25861 0 - vertex 1.67583 7.13679 -0.1 - vertex 1.30727 7.25861 -0.1 + vertex 1.67583 7.13679 -0.2 + vertex 1.30727 7.25861 -0.2 endloop endfacet facet normal 0.372489 0.928036 -0 outer loop - vertex 1.30727 7.25861 -0.1 + vertex 1.30727 7.25861 -0.2 vertex 0.855811 7.43981 0 vertex 1.30727 7.25861 0 endloop @@ -38257,13 +38257,13 @@ solid OpenSCAD_Model facet normal 0.372489 0.928036 0 outer loop vertex 0.855811 7.43981 0 - vertex 1.30727 7.25861 -0.1 - vertex 0.855811 7.43981 -0.1 + vertex 1.30727 7.25861 -0.2 + vertex 0.855811 7.43981 -0.2 endloop endfacet facet normal 0.420776 0.907164 -0 outer loop - vertex 0.855811 7.43981 -0.1 + vertex 0.855811 7.43981 -0.2 vertex -0.23691 7.94665 0 vertex 0.855811 7.43981 0 endloop @@ -38271,13 +38271,13 @@ solid OpenSCAD_Model facet normal 0.420776 0.907164 0 outer loop vertex -0.23691 7.94665 0 - vertex 0.855811 7.43981 -0.1 - vertex -0.23691 7.94665 -0.1 + vertex 0.855811 7.43981 -0.2 + vertex -0.23691 7.94665 -0.2 endloop endfacet facet normal 0.458228 0.888835 -0 outer loop - vertex -0.23691 7.94665 -0.1 + vertex -0.23691 7.94665 -0.2 vertex -1.48458 8.58988 0 vertex -0.23691 7.94665 0 endloop @@ -38285,13 +38285,13 @@ solid OpenSCAD_Model facet normal 0.458228 0.888835 0 outer loop vertex -1.48458 8.58988 0 - vertex -0.23691 7.94665 -0.1 - vertex -1.48458 8.58988 -0.1 + vertex -0.23691 7.94665 -0.2 + vertex -1.48458 8.58988 -0.2 endloop endfacet facet normal 0.484776 0.874638 -0 outer loop - vertex -1.48458 8.58988 -0.1 + vertex -1.48458 8.58988 -0.2 vertex -2.76946 9.30203 0 vertex -1.48458 8.58988 0 endloop @@ -38299,13 +38299,13 @@ solid OpenSCAD_Model facet normal 0.484776 0.874638 0 outer loop vertex -2.76946 9.30203 0 - vertex -1.48458 8.58988 -0.1 - vertex -2.76946 9.30203 -0.1 + vertex -1.48458 8.58988 -0.2 + vertex -2.76946 9.30203 -0.2 endloop endfacet facet normal 0.509783 0.860303 -0 outer loop - vertex -2.76946 9.30203 -0.1 + vertex -2.76946 9.30203 -0.2 vertex -3.97378 10.0157 0 vertex -2.76946 9.30203 0 endloop @@ -38313,13 +38313,13 @@ solid OpenSCAD_Model facet normal 0.509783 0.860303 0 outer loop vertex -3.97378 10.0157 0 - vertex -2.76946 9.30203 -0.1 - vertex -3.97378 10.0157 -0.1 + vertex -2.76946 9.30203 -0.2 + vertex -3.97378 10.0157 -0.2 endloop endfacet facet normal 0.541316 0.840819 -0 outer loop - vertex -3.97378 10.0157 -0.1 + vertex -3.97378 10.0157 -0.2 vertex -4.9798 10.6633 0 vertex -3.97378 10.0157 0 endloop @@ -38327,13 +38327,13 @@ solid OpenSCAD_Model facet normal 0.541316 0.840819 0 outer loop vertex -4.9798 10.6633 0 - vertex -3.97378 10.0157 -0.1 - vertex -4.9798 10.6633 -0.1 + vertex -3.97378 10.0157 -0.2 + vertex -4.9798 10.6633 -0.2 endloop endfacet facet normal 0.578658 0.81557 -0 outer loop - vertex -4.9798 10.6633 -0.1 + vertex -4.9798 10.6633 -0.2 vertex -5.37165 10.9414 0 vertex -4.9798 10.6633 0 endloop @@ -38341,13 +38341,13 @@ solid OpenSCAD_Model facet normal 0.578658 0.81557 0 outer loop vertex -5.37165 10.9414 0 - vertex -4.9798 10.6633 -0.1 - vertex -5.37165 10.9414 -0.1 + vertex -4.9798 10.6633 -0.2 + vertex -5.37165 10.9414 -0.2 endloop endfacet facet normal 0.621078 0.783749 -0 outer loop - vertex -5.37165 10.9414 -0.1 + vertex -5.37165 10.9414 -0.2 vertex -5.66976 11.1776 0 vertex -5.37165 10.9414 0 endloop @@ -38355,13 +38355,13 @@ solid OpenSCAD_Model facet normal 0.621078 0.783749 0 outer loop vertex -5.66976 11.1776 0 - vertex -5.37165 10.9414 -0.1 - vertex -5.66976 11.1776 -0.1 + vertex -5.37165 10.9414 -0.2 + vertex -5.66976 11.1776 -0.2 endloop endfacet facet normal 0.700224 0.713923 -0 outer loop - vertex -5.66976 11.1776 -0.1 + vertex -5.66976 11.1776 -0.2 vertex -5.85942 11.3636 0 vertex -5.66976 11.1776 0 endloop @@ -38369,69 +38369,69 @@ solid OpenSCAD_Model facet normal 0.700224 0.713923 0 outer loop vertex -5.85942 11.3636 0 - vertex -5.66976 11.1776 -0.1 - vertex -5.85942 11.3636 -0.1 + vertex -5.66976 11.1776 -0.2 + vertex -5.85942 11.3636 -0.2 endloop endfacet facet normal 0.822029 0.569446 0 outer loop vertex -5.85942 11.3636 0 - vertex -5.90899 11.4352 -0.1 + vertex -5.90899 11.4352 -0.2 vertex -5.90899 11.4352 0 endloop endfacet facet normal 0.822029 0.569446 0 outer loop - vertex -5.90899 11.4352 -0.1 + vertex -5.90899 11.4352 -0.2 vertex -5.85942 11.3636 0 - vertex -5.85942 11.3636 -0.1 + vertex -5.85942 11.3636 -0.2 endloop endfacet facet normal 0.95697 0.290185 0 outer loop vertex -5.90899 11.4352 0 - vertex -5.92592 11.491 -0.1 + vertex -5.92592 11.491 -0.2 vertex -5.92592 11.491 0 endloop endfacet facet normal 0.95697 0.290185 0 outer loop - vertex -5.92592 11.491 -0.1 + vertex -5.92592 11.491 -0.2 vertex -5.90899 11.4352 0 - vertex -5.90899 11.4352 -0.1 + vertex -5.90899 11.4352 -0.2 endloop endfacet facet normal 0.964129 -0.265435 0 outer loop vertex -5.92592 11.491 0 - vertex -5.91161 11.5429 -0.1 + vertex -5.91161 11.5429 -0.2 vertex -5.91161 11.5429 0 endloop endfacet facet normal 0.964129 -0.265435 0 outer loop - vertex -5.91161 11.5429 -0.1 + vertex -5.91161 11.5429 -0.2 vertex -5.92592 11.491 0 - vertex -5.92592 11.491 -0.1 + vertex -5.92592 11.491 -0.2 endloop endfacet facet normal 0.717664 -0.69639 0 outer loop vertex -5.91161 11.5429 0 - vertex -5.8692 11.5867 -0.1 + vertex -5.8692 11.5867 -0.2 vertex -5.8692 11.5867 0 endloop endfacet facet normal 0.717664 -0.69639 0 outer loop - vertex -5.8692 11.5867 -0.1 + vertex -5.8692 11.5867 -0.2 vertex -5.91161 11.5429 0 - vertex -5.91161 11.5429 -0.1 + vertex -5.91161 11.5429 -0.2 endloop endfacet facet normal 0.453397 -0.891309 0 outer loop - vertex -5.8692 11.5867 -0.1 + vertex -5.8692 11.5867 -0.2 vertex -5.79943 11.6221 0 vertex -5.8692 11.5867 0 endloop @@ -38439,13 +38439,13 @@ solid OpenSCAD_Model facet normal 0.453397 -0.891309 0 outer loop vertex -5.79943 11.6221 0 - vertex -5.8692 11.5867 -0.1 - vertex -5.79943 11.6221 -0.1 + vertex -5.8692 11.5867 -0.2 + vertex -5.79943 11.6221 -0.2 endloop endfacet facet normal 0.272626 -0.96212 0 outer loop - vertex -5.79943 11.6221 -0.1 + vertex -5.79943 11.6221 -0.2 vertex -5.70304 11.6495 0 vertex -5.79943 11.6221 0 endloop @@ -38453,13 +38453,13 @@ solid OpenSCAD_Model facet normal 0.272626 -0.96212 0 outer loop vertex -5.70304 11.6495 0 - vertex -5.79943 11.6221 -0.1 - vertex -5.70304 11.6495 -0.1 + vertex -5.79943 11.6221 -0.2 + vertex -5.70304 11.6495 -0.2 endloop endfacet facet normal 0.111359 -0.99378 0 outer loop - vertex -5.70304 11.6495 -0.1 + vertex -5.70304 11.6495 -0.2 vertex -5.4334 11.6797 0 vertex -5.70304 11.6495 0 endloop @@ -38467,13 +38467,13 @@ solid OpenSCAD_Model facet normal 0.111359 -0.99378 0 outer loop vertex -5.4334 11.6797 0 - vertex -5.70304 11.6495 -0.1 - vertex -5.4334 11.6797 -0.1 + vertex -5.70304 11.6495 -0.2 + vertex -5.4334 11.6797 -0.2 endloop endfacet facet normal -0.00575054 -0.999983 0 outer loop - vertex -5.4334 11.6797 -0.1 + vertex -5.4334 11.6797 -0.2 vertex -5.06624 11.6776 0 vertex -5.4334 11.6797 0 endloop @@ -38481,13 +38481,13 @@ solid OpenSCAD_Model facet normal -0.00575054 -0.999983 -0 outer loop vertex -5.06624 11.6776 0 - vertex -5.4334 11.6797 -0.1 - vertex -5.06624 11.6776 -0.1 + vertex -5.4334 11.6797 -0.2 + vertex -5.06624 11.6776 -0.2 endloop endfacet facet normal -0.0742941 -0.997236 0 outer loop - vertex -5.06624 11.6776 -0.1 + vertex -5.06624 11.6776 -0.2 vertex -4.60751 11.6434 0 vertex -5.06624 11.6776 0 endloop @@ -38495,13 +38495,13 @@ solid OpenSCAD_Model facet normal -0.0742941 -0.997236 -0 outer loop vertex -4.60751 11.6434 0 - vertex -5.06624 11.6776 -0.1 - vertex -4.60751 11.6434 -0.1 + vertex -5.06624 11.6776 -0.2 + vertex -4.60751 11.6434 -0.2 endloop endfacet facet normal -0.120331 -0.992734 0 outer loop - vertex -4.60751 11.6434 -0.1 + vertex -4.60751 11.6434 -0.2 vertex -4.06319 11.5774 0 vertex -4.60751 11.6434 0 endloop @@ -38509,13 +38509,13 @@ solid OpenSCAD_Model facet normal -0.120331 -0.992734 -0 outer loop vertex -4.06319 11.5774 0 - vertex -4.60751 11.6434 -0.1 - vertex -4.06319 11.5774 -0.1 + vertex -4.60751 11.6434 -0.2 + vertex -4.06319 11.5774 -0.2 endloop endfacet facet normal -0.154416 -0.988006 0 outer loop - vertex -4.06319 11.5774 -0.1 + vertex -4.06319 11.5774 -0.2 vertex -3.43924 11.4799 0 vertex -4.06319 11.5774 0 endloop @@ -38523,13 +38523,13 @@ solid OpenSCAD_Model facet normal -0.154416 -0.988006 -0 outer loop vertex -3.43924 11.4799 0 - vertex -4.06319 11.5774 -0.1 - vertex -3.43924 11.4799 -0.1 + vertex -4.06319 11.5774 -0.2 + vertex -3.43924 11.4799 -0.2 endloop endfacet facet normal -0.181553 -0.983381 0 outer loop - vertex -3.43924 11.4799 -0.1 + vertex -3.43924 11.4799 -0.2 vertex -2.74162 11.3511 0 vertex -3.43924 11.4799 0 endloop @@ -38537,13 +38537,13 @@ solid OpenSCAD_Model facet normal -0.181553 -0.983381 -0 outer loop vertex -2.74162 11.3511 0 - vertex -3.43924 11.4799 -0.1 - vertex -2.74162 11.3511 -0.1 + vertex -3.43924 11.4799 -0.2 + vertex -2.74162 11.3511 -0.2 endloop endfacet facet normal -0.168602 -0.985684 0 outer loop - vertex -2.74162 11.3511 -0.1 + vertex -2.74162 11.3511 -0.2 vertex -2.06279 11.235 0 vertex -2.74162 11.3511 0 endloop @@ -38551,13 +38551,13 @@ solid OpenSCAD_Model facet normal -0.168602 -0.985684 -0 outer loop vertex -2.06279 11.235 0 - vertex -2.74162 11.3511 -0.1 - vertex -2.06279 11.235 -0.1 + vertex -2.74162 11.3511 -0.2 + vertex -2.06279 11.235 -0.2 endloop endfacet facet normal -0.106074 -0.994358 0 outer loop - vertex -2.06279 11.235 -0.1 + vertex -2.06279 11.235 -0.2 vertex -1.45038 11.1697 0 vertex -2.06279 11.235 0 endloop @@ -38565,13 +38565,13 @@ solid OpenSCAD_Model facet normal -0.106074 -0.994358 -0 outer loop vertex -1.45038 11.1697 0 - vertex -2.06279 11.235 -0.1 - vertex -1.45038 11.1697 -0.1 + vertex -2.06279 11.235 -0.2 + vertex -1.45038 11.1697 -0.2 endloop endfacet facet normal -0.0235022 -0.999724 0 outer loop - vertex -1.45038 11.1697 -0.1 + vertex -1.45038 11.1697 -0.2 vertex -0.893798 11.1566 0 vertex -1.45038 11.1697 0 endloop @@ -38579,13 +38579,13 @@ solid OpenSCAD_Model facet normal -0.0235022 -0.999724 -0 outer loop vertex -0.893798 11.1566 0 - vertex -1.45038 11.1697 -0.1 - vertex -0.893798 11.1566 -0.1 + vertex -1.45038 11.1697 -0.2 + vertex -0.893798 11.1566 -0.2 endloop endfacet facet normal 0.0792039 -0.996858 0 outer loop - vertex -0.893798 11.1566 -0.1 + vertex -0.893798 11.1566 -0.2 vertex -0.382462 11.1972 0 vertex -0.893798 11.1566 0 endloop @@ -38593,13 +38593,13 @@ solid OpenSCAD_Model facet normal 0.0792039 -0.996858 0 outer loop vertex -0.382462 11.1972 0 - vertex -0.893798 11.1566 -0.1 - vertex -0.382462 11.1972 -0.1 + vertex -0.893798 11.1566 -0.2 + vertex -0.382462 11.1972 -0.2 endloop endfacet facet normal 0.197027 -0.980398 0 outer loop - vertex -0.382462 11.1972 -0.1 + vertex -0.382462 11.1972 -0.2 vertex 0.0942225 11.293 0 vertex -0.382462 11.1972 0 endloop @@ -38607,13 +38607,13 @@ solid OpenSCAD_Model facet normal 0.197027 -0.980398 0 outer loop vertex 0.0942225 11.293 0 - vertex -0.382462 11.1972 -0.1 - vertex 0.0942225 11.293 -0.1 + vertex -0.382462 11.1972 -0.2 + vertex 0.0942225 11.293 -0.2 endloop endfacet facet normal 0.319159 -0.947701 0 outer loop - vertex 0.0942225 11.293 -0.1 + vertex 0.0942225 11.293 -0.2 vertex 0.546849 11.4454 0 vertex 0.0942225 11.293 0 endloop @@ -38621,13 +38621,13 @@ solid OpenSCAD_Model facet normal 0.319159 -0.947701 0 outer loop vertex 0.546849 11.4454 0 - vertex 0.0942225 11.293 -0.1 - vertex 0.546849 11.4454 -0.1 + vertex 0.0942225 11.293 -0.2 + vertex 0.546849 11.4454 -0.2 endloop endfacet facet normal 0.432288 -0.901736 0 outer loop - vertex 0.546849 11.4454 -0.1 + vertex 0.546849 11.4454 -0.2 vertex 0.986004 11.656 0 vertex 0.546849 11.4454 0 endloop @@ -38635,13 +38635,13 @@ solid OpenSCAD_Model facet normal 0.432288 -0.901736 0 outer loop vertex 0.986004 11.656 0 - vertex 0.546849 11.4454 -0.1 - vertex 0.986004 11.656 -0.1 + vertex 0.546849 11.4454 -0.2 + vertex 0.986004 11.656 -0.2 endloop endfacet facet normal 0.52637 -0.850255 0 outer loop - vertex 0.986004 11.656 -0.1 + vertex 0.986004 11.656 -0.2 vertex 1.42228 11.926 0 vertex 0.986004 11.656 0 endloop @@ -38649,13 +38649,13 @@ solid OpenSCAD_Model facet normal 0.52637 -0.850255 0 outer loop vertex 1.42228 11.926 0 - vertex 0.986004 11.656 -0.1 - vertex 1.42228 11.926 -0.1 + vertex 0.986004 11.656 -0.2 + vertex 1.42228 11.926 -0.2 endloop endfacet facet normal 0.604613 -0.796519 0 outer loop - vertex 1.42228 11.926 -0.1 + vertex 1.42228 11.926 -0.2 vertex 1.72214 12.1537 0 vertex 1.42228 11.926 0 endloop @@ -38663,125 +38663,125 @@ solid OpenSCAD_Model facet normal 0.604613 -0.796519 0 outer loop vertex 1.72214 12.1537 0 - vertex 1.42228 11.926 -0.1 - vertex 1.72214 12.1537 -0.1 + vertex 1.42228 11.926 -0.2 + vertex 1.72214 12.1537 -0.2 endloop endfacet facet normal 0.710535 -0.703661 0 outer loop vertex 1.72214 12.1537 0 - vertex 1.81906 12.2515 -0.1 + vertex 1.81906 12.2515 -0.2 vertex 1.81906 12.2515 0 endloop endfacet facet normal 0.710535 -0.703661 0 outer loop - vertex 1.81906 12.2515 -0.1 + vertex 1.81906 12.2515 -0.2 vertex 1.72214 12.1537 0 - vertex 1.72214 12.1537 -0.1 + vertex 1.72214 12.1537 -0.2 endloop endfacet facet normal 0.820717 -0.571334 0 outer loop vertex 1.81906 12.2515 0 - vertex 1.88346 12.344 -0.1 + vertex 1.88346 12.344 -0.2 vertex 1.88346 12.344 0 endloop endfacet facet normal 0.820717 -0.571334 0 outer loop - vertex 1.88346 12.344 -0.1 + vertex 1.88346 12.344 -0.2 vertex 1.81906 12.2515 0 - vertex 1.81906 12.2515 -0.1 + vertex 1.81906 12.2515 -0.2 endloop endfacet facet normal 0.936854 -0.349721 0 outer loop vertex 1.88346 12.344 0 - vertex 1.91748 12.4352 -0.1 + vertex 1.91748 12.4352 -0.2 vertex 1.91748 12.4352 0 endloop endfacet facet normal 0.936854 -0.349721 0 outer loop - vertex 1.91748 12.4352 -0.1 + vertex 1.91748 12.4352 -0.2 vertex 1.88346 12.344 0 - vertex 1.88346 12.344 -0.1 + vertex 1.88346 12.344 -0.2 endloop endfacet facet normal 0.998121 -0.0612747 0 outer loop vertex 1.91748 12.4352 0 - vertex 1.92323 12.5289 -0.1 + vertex 1.92323 12.5289 -0.2 vertex 1.92323 12.5289 0 endloop endfacet facet normal 0.998121 -0.0612747 0 outer loop - vertex 1.92323 12.5289 -0.1 + vertex 1.92323 12.5289 -0.2 vertex 1.91748 12.4352 0 - vertex 1.91748 12.4352 -0.1 + vertex 1.91748 12.4352 -0.2 endloop endfacet facet normal 0.979928 0.199352 0 outer loop vertex 1.92323 12.5289 0 - vertex 1.90284 12.6291 -0.1 + vertex 1.90284 12.6291 -0.2 vertex 1.90284 12.6291 0 endloop endfacet facet normal 0.979928 0.199352 0 outer loop - vertex 1.90284 12.6291 -0.1 + vertex 1.90284 12.6291 -0.2 vertex 1.92323 12.5289 0 - vertex 1.92323 12.5289 -0.1 + vertex 1.92323 12.5289 -0.2 endloop endfacet facet normal 0.928124 0.372271 0 outer loop vertex 1.90284 12.6291 0 - vertex 1.85843 12.7398 -0.1 + vertex 1.85843 12.7398 -0.2 vertex 1.85843 12.7398 0 endloop endfacet facet normal 0.928124 0.372271 0 outer loop - vertex 1.85843 12.7398 -0.1 + vertex 1.85843 12.7398 -0.2 vertex 1.90284 12.6291 0 - vertex 1.90284 12.6291 -0.1 + vertex 1.90284 12.6291 -0.2 endloop endfacet facet normal 0.849902 0.526941 0 outer loop vertex 1.85843 12.7398 0 - vertex 1.7147 12.9716 -0.1 + vertex 1.7147 12.9716 -0.2 vertex 1.7147 12.9716 0 endloop endfacet facet normal 0.849902 0.526941 0 outer loop - vertex 1.7147 12.9716 -0.1 + vertex 1.7147 12.9716 -0.2 vertex 1.85843 12.7398 0 - vertex 1.85843 12.7398 -0.1 + vertex 1.85843 12.7398 -0.2 endloop endfacet facet normal 0.728356 0.685198 0 outer loop vertex 1.7147 12.9716 0 - vertex 1.51175 13.1874 -0.1 + vertex 1.51175 13.1874 -0.2 vertex 1.51175 13.1874 0 endloop endfacet facet normal 0.728356 0.685198 0 outer loop - vertex 1.51175 13.1874 -0.1 + vertex 1.51175 13.1874 -0.2 vertex 1.7147 12.9716 0 - vertex 1.7147 12.9716 -0.1 + vertex 1.7147 12.9716 -0.2 endloop endfacet facet normal 0.606497 0.795086 -0 outer loop - vertex 1.51175 13.1874 -0.1 + vertex 1.51175 13.1874 -0.2 vertex 1.25015 13.3869 0 vertex 1.51175 13.1874 0 endloop @@ -38789,13 +38789,13 @@ solid OpenSCAD_Model facet normal 0.606497 0.795086 0 outer loop vertex 1.25015 13.3869 0 - vertex 1.51175 13.1874 -0.1 - vertex 1.25015 13.3869 -0.1 + vertex 1.51175 13.1874 -0.2 + vertex 1.25015 13.3869 -0.2 endloop endfacet facet normal 0.497341 0.867555 -0 outer loop - vertex 1.25015 13.3869 -0.1 + vertex 1.25015 13.3869 -0.2 vertex 0.930489 13.5702 0 vertex 1.25015 13.3869 0 endloop @@ -38803,13 +38803,13 @@ solid OpenSCAD_Model facet normal 0.497341 0.867555 0 outer loop vertex 0.930489 13.5702 0 - vertex 1.25015 13.3869 -0.1 - vertex 0.930489 13.5702 -0.1 + vertex 1.25015 13.3869 -0.2 + vertex 0.930489 13.5702 -0.2 endloop endfacet facet normal 0.404567 0.914508 -0 outer loop - vertex 0.930489 13.5702 -0.1 + vertex 0.930489 13.5702 -0.2 vertex 0.55335 13.737 0 vertex 0.930489 13.5702 0 endloop @@ -38817,13 +38817,13 @@ solid OpenSCAD_Model facet normal 0.404567 0.914508 0 outer loop vertex 0.55335 13.737 0 - vertex 0.930489 13.5702 -0.1 - vertex 0.55335 13.737 -0.1 + vertex 0.930489 13.5702 -0.2 + vertex 0.55335 13.737 -0.2 endloop endfacet facet normal 0.327265 0.944933 -0 outer loop - vertex 0.55335 13.737 -0.1 + vertex 0.55335 13.737 -0.2 vertex 0.119316 13.8873 0 vertex 0.55335 13.737 0 endloop @@ -38831,13 +38831,13 @@ solid OpenSCAD_Model facet normal 0.327265 0.944933 0 outer loop vertex 0.119316 13.8873 0 - vertex 0.55335 13.737 -0.1 - vertex 0.119316 13.8873 -0.1 + vertex 0.55335 13.737 -0.2 + vertex 0.119316 13.8873 -0.2 endloop endfacet facet normal 0.263047 0.964783 -0 outer loop - vertex 0.119316 13.8873 -0.1 + vertex 0.119316 13.8873 -0.2 vertex -0.371032 14.021 0 vertex 0.119316 13.8873 0 endloop @@ -38845,13 +38845,13 @@ solid OpenSCAD_Model facet normal 0.263047 0.964783 0 outer loop vertex -0.371032 14.021 0 - vertex 0.119316 13.8873 -0.1 - vertex -0.371032 14.021 -0.1 + vertex 0.119316 13.8873 -0.2 + vertex -0.371032 14.021 -0.2 endloop endfacet facet normal 0.209418 0.977826 -0 outer loop - vertex -0.371032 14.021 -0.1 + vertex -0.371032 14.021 -0.2 vertex -0.917111 14.138 0 vertex -0.371032 14.021 0 endloop @@ -38859,13 +38859,13 @@ solid OpenSCAD_Model facet normal 0.209418 0.977826 0 outer loop vertex -0.917111 14.138 0 - vertex -0.371032 14.021 -0.1 - vertex -0.917111 14.138 -0.1 + vertex -0.371032 14.021 -0.2 + vertex -0.917111 14.138 -0.2 endloop endfacet facet normal 0.164236 0.986421 -0 outer loop - vertex -0.917111 14.138 -0.1 + vertex -0.917111 14.138 -0.2 vertex -1.51834 14.2381 0 vertex -0.917111 14.138 0 endloop @@ -38873,13 +38873,13 @@ solid OpenSCAD_Model facet normal 0.164236 0.986421 0 outer loop vertex -1.51834 14.2381 0 - vertex -0.917111 14.138 -0.1 - vertex -1.51834 14.2381 -0.1 + vertex -0.917111 14.138 -0.2 + vertex -1.51834 14.2381 -0.2 endloop endfacet facet normal 0.125776 0.992059 -0 outer loop - vertex -1.51834 14.2381 -0.1 + vertex -1.51834 14.2381 -0.2 vertex -2.17413 14.3212 0 vertex -1.51834 14.2381 0 endloop @@ -38887,13 +38887,13 @@ solid OpenSCAD_Model facet normal 0.125776 0.992059 0 outer loop vertex -2.17413 14.3212 0 - vertex -1.51834 14.2381 -0.1 - vertex -2.17413 14.3212 -0.1 + vertex -1.51834 14.2381 -0.2 + vertex -2.17413 14.3212 -0.2 endloop endfacet facet normal 0.0926874 0.995695 -0 outer loop - vertex -2.17413 14.3212 -0.1 + vertex -2.17413 14.3212 -0.2 vertex -2.8839 14.3873 0 vertex -2.17413 14.3212 0 endloop @@ -38901,13 +38901,13 @@ solid OpenSCAD_Model facet normal 0.0926874 0.995695 0 outer loop vertex -2.8839 14.3873 0 - vertex -2.17413 14.3212 -0.1 - vertex -2.8839 14.3873 -0.1 + vertex -2.17413 14.3212 -0.2 + vertex -2.8839 14.3873 -0.2 endloop endfacet facet normal 0.0639318 0.997954 -0 outer loop - vertex -2.8839 14.3873 -0.1 + vertex -2.8839 14.3873 -0.2 vertex -3.64708 14.4362 0 vertex -2.8839 14.3873 0 endloop @@ -38915,13 +38915,13 @@ solid OpenSCAD_Model facet normal 0.0639318 0.997954 0 outer loop vertex -3.64708 14.4362 0 - vertex -2.8839 14.3873 -0.1 - vertex -3.64708 14.4362 -0.1 + vertex -2.8839 14.3873 -0.2 + vertex -3.64708 14.4362 -0.2 endloop endfacet facet normal 0.0386969 0.999251 -0 outer loop - vertex -3.64708 14.4362 -0.1 + vertex -3.64708 14.4362 -0.2 vertex -4.46307 14.4678 0 vertex -3.64708 14.4362 0 endloop @@ -38929,13 +38929,13 @@ solid OpenSCAD_Model facet normal 0.0386969 0.999251 0 outer loop vertex -4.46307 14.4678 0 - vertex -3.64708 14.4362 -0.1 - vertex -4.46307 14.4678 -0.1 + vertex -3.64708 14.4362 -0.2 + vertex -4.46307 14.4678 -0.2 endloop endfacet facet normal 0.0163522 0.999866 -0 outer loop - vertex -4.46307 14.4678 -0.1 + vertex -4.46307 14.4678 -0.2 vertex -5.33129 14.482 0 vertex -4.46307 14.4678 0 endloop @@ -38943,13 +38943,13 @@ solid OpenSCAD_Model facet normal 0.0163522 0.999866 0 outer loop vertex -5.33129 14.482 0 - vertex -4.46307 14.4678 -0.1 - vertex -5.33129 14.482 -0.1 + vertex -4.46307 14.4678 -0.2 + vertex -5.33129 14.482 -0.2 endloop endfacet facet normal -0.00360162 0.999994 0 outer loop - vertex -5.33129 14.482 -0.1 + vertex -5.33129 14.482 -0.2 vertex -6.25117 14.4787 0 vertex -5.33129 14.482 0 endloop @@ -38957,13 +38957,13 @@ solid OpenSCAD_Model facet normal -0.00360162 0.999994 0 outer loop vertex -6.25117 14.4787 0 - vertex -5.33129 14.482 -0.1 - vertex -6.25117 14.4787 -0.1 + vertex -5.33129 14.482 -0.2 + vertex -6.25117 14.4787 -0.2 endloop endfacet facet normal -0.0215556 0.999768 0 outer loop - vertex -6.25117 14.4787 -0.1 + vertex -6.25117 14.4787 -0.2 vertex -7.22211 14.4578 0 vertex -6.25117 14.4787 0 endloop @@ -38971,13 +38971,13 @@ solid OpenSCAD_Model facet normal -0.0215556 0.999768 0 outer loop vertex -7.22211 14.4578 0 - vertex -6.25117 14.4787 -0.1 - vertex -7.22211 14.4578 -0.1 + vertex -6.25117 14.4787 -0.2 + vertex -7.22211 14.4578 -0.2 endloop endfacet facet normal -0.0376222 0.999292 0 outer loop - vertex -7.22211 14.4578 -0.1 + vertex -7.22211 14.4578 -0.2 vertex -9.25643 14.3812 0 vertex -7.22211 14.4578 0 endloop @@ -38985,13 +38985,13 @@ solid OpenSCAD_Model facet normal -0.0376222 0.999292 0 outer loop vertex -9.25643 14.3812 0 - vertex -7.22211 14.4578 -0.1 - vertex -9.25643 14.3812 -0.1 + vertex -7.22211 14.4578 -0.2 + vertex -9.25643 14.3812 -0.2 endloop endfacet facet normal -0.0777977 0.996969 0 outer loop - vertex -9.25643 14.3812 -0.1 + vertex -9.25643 14.3812 -0.2 vertex -9.98725 14.3241 0 vertex -9.25643 14.3812 0 endloop @@ -38999,13 +38999,13 @@ solid OpenSCAD_Model facet normal -0.0777977 0.996969 0 outer loop vertex -9.98725 14.3241 0 - vertex -9.25643 14.3812 -0.1 - vertex -9.98725 14.3241 -0.1 + vertex -9.25643 14.3812 -0.2 + vertex -9.98725 14.3241 -0.2 endloop endfacet facet normal -0.133926 0.990991 0 outer loop - vertex -9.98725 14.3241 -0.1 + vertex -9.98725 14.3241 -0.2 vertex -10.6249 14.238 0 vertex -9.98725 14.3241 0 endloop @@ -39013,13 +39013,13 @@ solid OpenSCAD_Model facet normal -0.133926 0.990991 0 outer loop vertex -10.6249 14.238 0 - vertex -9.98725 14.3241 -0.1 - vertex -10.6249 14.238 -0.1 + vertex -9.98725 14.3241 -0.2 + vertex -10.6249 14.238 -0.2 endloop endfacet facet normal -0.202593 0.979263 0 outer loop - vertex -10.6249 14.238 -0.1 + vertex -10.6249 14.238 -0.2 vertex -11.2428 14.1101 0 vertex -10.6249 14.238 0 endloop @@ -39027,13 +39027,13 @@ solid OpenSCAD_Model facet normal -0.202593 0.979263 0 outer loop vertex -11.2428 14.1101 0 - vertex -10.6249 14.238 -0.1 - vertex -11.2428 14.1101 -0.1 + vertex -10.6249 14.238 -0.2 + vertex -11.2428 14.1101 -0.2 endloop endfacet facet normal -0.261603 0.965176 0 outer loop - vertex -11.2428 14.1101 -0.1 + vertex -11.2428 14.1101 -0.2 vertex -11.9142 13.9281 0 vertex -11.2428 14.1101 0 endloop @@ -39041,13 +39041,13 @@ solid OpenSCAD_Model facet normal -0.261603 0.965176 0 outer loop vertex -11.9142 13.9281 0 - vertex -11.2428 14.1101 -0.1 - vertex -11.9142 13.9281 -0.1 + vertex -11.2428 14.1101 -0.2 + vertex -11.9142 13.9281 -0.2 endloop endfacet facet normal -0.297369 0.954762 0 outer loop - vertex -11.9142 13.9281 -0.1 + vertex -11.9142 13.9281 -0.2 vertex -12.7125 13.6795 0 vertex -11.9142 13.9281 0 endloop @@ -39055,13 +39055,13 @@ solid OpenSCAD_Model facet normal -0.297369 0.954762 0 outer loop vertex -12.7125 13.6795 0 - vertex -11.9142 13.9281 -0.1 - vertex -12.7125 13.6795 -0.1 + vertex -11.9142 13.9281 -0.2 + vertex -12.7125 13.6795 -0.2 endloop endfacet facet normal -0.311908 0.950112 0 outer loop - vertex -12.7125 13.6795 -0.1 + vertex -12.7125 13.6795 -0.2 vertex -13.7109 13.3517 0 vertex -12.7125 13.6795 0 endloop @@ -39069,13 +39069,13 @@ solid OpenSCAD_Model facet normal -0.311908 0.950112 0 outer loop vertex -13.7109 13.3517 0 - vertex -12.7125 13.6795 -0.1 - vertex -13.7109 13.3517 -0.1 + vertex -12.7125 13.6795 -0.2 + vertex -13.7109 13.3517 -0.2 endloop endfacet facet normal -0.299976 0.953947 0 outer loop - vertex -13.7109 13.3517 -0.1 + vertex -13.7109 13.3517 -0.2 vertex -14.949 12.9624 0 vertex -13.7109 13.3517 0 endloop @@ -39083,13 +39083,13 @@ solid OpenSCAD_Model facet normal -0.299976 0.953947 0 outer loop vertex -14.949 12.9624 0 - vertex -13.7109 13.3517 -0.1 - vertex -14.949 12.9624 -0.1 + vertex -13.7109 13.3517 -0.2 + vertex -14.949 12.9624 -0.2 endloop endfacet facet normal -0.271422 0.96246 0 outer loop - vertex -14.949 12.9624 -0.1 + vertex -14.949 12.9624 -0.2 vertex -16.0795 12.6436 0 vertex -14.949 12.9624 0 endloop @@ -39097,13 +39097,13 @@ solid OpenSCAD_Model facet normal -0.271422 0.96246 0 outer loop vertex -16.0795 12.6436 0 - vertex -14.949 12.9624 -0.1 - vertex -16.0795 12.6436 -0.1 + vertex -14.949 12.9624 -0.2 + vertex -16.0795 12.6436 -0.2 endloop endfacet facet normal -0.233252 0.972416 0 outer loop - vertex -16.0795 12.6436 -0.1 + vertex -16.0795 12.6436 -0.2 vertex -16.9775 12.4282 0 vertex -16.0795 12.6436 0 endloop @@ -39111,13 +39111,13 @@ solid OpenSCAD_Model facet normal -0.233252 0.972416 0 outer loop vertex -16.9775 12.4282 0 - vertex -16.0795 12.6436 -0.1 - vertex -16.9775 12.4282 -0.1 + vertex -16.0795 12.6436 -0.2 + vertex -16.9775 12.4282 -0.2 endloop endfacet facet normal -0.178763 0.983892 0 outer loop - vertex -16.9775 12.4282 -0.1 + vertex -16.9775 12.4282 -0.2 vertex -17.3003 12.3696 0 vertex -16.9775 12.4282 0 endloop @@ -39125,13 +39125,13 @@ solid OpenSCAD_Model facet normal -0.178763 0.983892 0 outer loop vertex -17.3003 12.3696 0 - vertex -16.9775 12.4282 -0.1 - vertex -17.3003 12.3696 -0.1 + vertex -16.9775 12.4282 -0.2 + vertex -17.3003 12.3696 -0.2 endloop endfacet facet normal -0.0935268 0.995617 0 outer loop - vertex -17.3003 12.3696 -0.1 + vertex -17.3003 12.3696 -0.2 vertex -17.5181 12.3491 0 vertex -17.3003 12.3696 0 endloop @@ -39139,13 +39139,13 @@ solid OpenSCAD_Model facet normal -0.0935268 0.995617 0 outer loop vertex -17.5181 12.3491 0 - vertex -17.3003 12.3696 -0.1 - vertex -17.5181 12.3491 -0.1 + vertex -17.3003 12.3696 -0.2 + vertex -17.5181 12.3491 -0.2 endloop endfacet facet normal -0.0617051 0.998094 0 outer loop - vertex -17.5181 12.3491 -0.1 + vertex -17.5181 12.3491 -0.2 vertex -17.9556 12.3221 0 vertex -17.5181 12.3491 0 endloop @@ -39153,13 +39153,13 @@ solid OpenSCAD_Model facet normal -0.0617051 0.998094 0 outer loop vertex -17.9556 12.3221 0 - vertex -17.5181 12.3491 -0.1 - vertex -17.9556 12.3221 -0.1 + vertex -17.5181 12.3491 -0.2 + vertex -17.9556 12.3221 -0.2 endloop endfacet facet normal -0.11848 0.992956 0 outer loop - vertex -17.9556 12.3221 -0.1 + vertex -17.9556 12.3221 -0.2 vertex -18.5728 12.2484 0 vertex -17.9556 12.3221 0 endloop @@ -39167,13 +39167,13 @@ solid OpenSCAD_Model facet normal -0.11848 0.992956 0 outer loop vertex -18.5728 12.2484 0 - vertex -17.9556 12.3221 -0.1 - vertex -18.5728 12.2484 -0.1 + vertex -17.9556 12.3221 -0.2 + vertex -18.5728 12.2484 -0.2 endloop endfacet facet normal -0.150729 0.988575 0 outer loop - vertex -18.5728 12.2484 -0.1 + vertex -18.5728 12.2484 -0.2 vertex -19.2876 12.1394 0 vertex -18.5728 12.2484 0 endloop @@ -39181,13 +39181,13 @@ solid OpenSCAD_Model facet normal -0.150729 0.988575 0 outer loop vertex -19.2876 12.1394 0 - vertex -18.5728 12.2484 -0.1 - vertex -19.2876 12.1394 -0.1 + vertex -18.5728 12.2484 -0.2 + vertex -19.2876 12.1394 -0.2 endloop endfacet facet normal -0.179254 0.983803 0 outer loop - vertex -19.2876 12.1394 -0.1 + vertex -19.2876 12.1394 -0.2 vertex -20.0181 12.0063 0 vertex -19.2876 12.1394 0 endloop @@ -39195,13 +39195,13 @@ solid OpenSCAD_Model facet normal -0.179254 0.983803 0 outer loop vertex -20.0181 12.0063 0 - vertex -19.2876 12.1394 -0.1 - vertex -20.0181 12.0063 -0.1 + vertex -19.2876 12.1394 -0.2 + vertex -20.0181 12.0063 -0.2 endloop endfacet facet normal -0.161235 0.986916 0 outer loop - vertex -20.0181 12.0063 -0.1 + vertex -20.0181 12.0063 -0.2 vertex -20.4772 11.9313 0 vertex -20.0181 12.0063 0 endloop @@ -39209,13 +39209,13 @@ solid OpenSCAD_Model facet normal -0.161235 0.986916 0 outer loop vertex -20.4772 11.9313 0 - vertex -20.0181 12.0063 -0.1 - vertex -20.4772 11.9313 -0.1 + vertex -20.0181 12.0063 -0.2 + vertex -20.4772 11.9313 -0.2 endloop endfacet facet normal -0.116007 0.993248 0 outer loop - vertex -20.4772 11.9313 -0.1 + vertex -20.4772 11.9313 -0.2 vertex -21.0446 11.8651 0 vertex -20.4772 11.9313 0 endloop @@ -39223,13 +39223,13 @@ solid OpenSCAD_Model facet normal -0.116007 0.993248 0 outer loop vertex -21.0446 11.8651 0 - vertex -20.4772 11.9313 -0.1 - vertex -21.0446 11.8651 -0.1 + vertex -20.4772 11.9313 -0.2 + vertex -21.0446 11.8651 -0.2 endloop endfacet facet normal -0.076075 0.997102 0 outer loop - vertex -21.0446 11.8651 -0.1 + vertex -21.0446 11.8651 -0.2 vertex -22.4311 11.7593 0 vertex -21.0446 11.8651 0 endloop @@ -39237,13 +39237,13 @@ solid OpenSCAD_Model facet normal -0.076075 0.997102 0 outer loop vertex -22.4311 11.7593 0 - vertex -21.0446 11.8651 -0.1 - vertex -22.4311 11.7593 -0.1 + vertex -21.0446 11.8651 -0.2 + vertex -22.4311 11.7593 -0.2 endloop endfacet facet normal -0.0432101 0.999066 0 outer loop - vertex -22.4311 11.7593 -0.1 + vertex -22.4311 11.7593 -0.2 vertex -24.031 11.6901 0 vertex -22.4311 11.7593 0 endloop @@ -39251,13 +39251,13 @@ solid OpenSCAD_Model facet normal -0.0432101 0.999066 0 outer loop vertex -24.031 11.6901 0 - vertex -22.4311 11.7593 -0.1 - vertex -24.031 11.6901 -0.1 + vertex -22.4311 11.7593 -0.2 + vertex -24.031 11.6901 -0.2 endloop endfacet facet normal -0.0189053 0.999821 0 outer loop - vertex -24.031 11.6901 -0.1 + vertex -24.031 11.6901 -0.2 vertex -25.698 11.6586 0 vertex -24.031 11.6901 0 endloop @@ -39265,13 +39265,13 @@ solid OpenSCAD_Model facet normal -0.0189053 0.999821 0 outer loop vertex -25.698 11.6586 0 - vertex -24.031 11.6901 -0.1 - vertex -25.698 11.6586 -0.1 + vertex -24.031 11.6901 -0.2 + vertex -25.698 11.6586 -0.2 endloop endfacet facet normal 0.00456618 0.99999 -0 outer loop - vertex -25.698 11.6586 -0.1 + vertex -25.698 11.6586 -0.2 vertex -27.2855 11.6658 0 vertex -25.698 11.6586 0 endloop @@ -39279,13 +39279,13 @@ solid OpenSCAD_Model facet normal 0.00456618 0.99999 0 outer loop vertex -27.2855 11.6658 0 - vertex -25.698 11.6586 -0.1 - vertex -27.2855 11.6658 -0.1 + vertex -25.698 11.6586 -0.2 + vertex -27.2855 11.6658 -0.2 endloop endfacet facet normal 0.034581 0.999402 -0 outer loop - vertex -27.2855 11.6658 -0.1 + vertex -27.2855 11.6658 -0.2 vertex -28.647 11.7129 0 vertex -27.2855 11.6658 0 endloop @@ -39293,13 +39293,13 @@ solid OpenSCAD_Model facet normal 0.034581 0.999402 0 outer loop vertex -28.647 11.7129 0 - vertex -27.2855 11.6658 -0.1 - vertex -28.647 11.7129 -0.1 + vertex -27.2855 11.6658 -0.2 + vertex -28.647 11.7129 -0.2 endloop endfacet facet normal 0.0704155 0.997518 -0 outer loop - vertex -28.647 11.7129 -0.1 + vertex -28.647 11.7129 -0.2 vertex -29.1973 11.7518 0 vertex -28.647 11.7129 0 endloop @@ -39307,13 +39307,13 @@ solid OpenSCAD_Model facet normal 0.0704155 0.997518 0 outer loop vertex -29.1973 11.7518 0 - vertex -28.647 11.7129 -0.1 - vertex -29.1973 11.7518 -0.1 + vertex -28.647 11.7129 -0.2 + vertex -29.1973 11.7518 -0.2 endloop endfacet facet normal 0.111453 0.99377 -0 outer loop - vertex -29.1973 11.7518 -0.1 + vertex -29.1973 11.7518 -0.2 vertex -29.6362 11.801 0 vertex -29.1973 11.7518 0 endloop @@ -39321,13 +39321,13 @@ solid OpenSCAD_Model facet normal 0.111453 0.99377 0 outer loop vertex -29.6362 11.801 0 - vertex -29.1973 11.7518 -0.1 - vertex -29.6362 11.801 -0.1 + vertex -29.1973 11.7518 -0.2 + vertex -29.6362 11.801 -0.2 endloop endfacet facet normal 0.189706 0.981841 -0 outer loop - vertex -29.6362 11.801 -0.1 + vertex -29.6362 11.801 -0.2 vertex -29.9453 11.8607 0 vertex -29.6362 11.801 0 endloop @@ -39335,13 +39335,13 @@ solid OpenSCAD_Model facet normal 0.189706 0.981841 0 outer loop vertex -29.9453 11.8607 0 - vertex -29.6362 11.801 -0.1 - vertex -29.9453 11.8607 -0.1 + vertex -29.6362 11.801 -0.2 + vertex -29.9453 11.8607 -0.2 endloop endfacet facet normal 0.320034 0.947406 -0 outer loop - vertex -29.9453 11.8607 -0.1 + vertex -29.9453 11.8607 -0.2 vertex -30.0456 11.8946 0 vertex -29.9453 11.8607 0 endloop @@ -39349,13 +39349,13 @@ solid OpenSCAD_Model facet normal 0.320034 0.947406 0 outer loop vertex -30.0456 11.8946 0 - vertex -29.9453 11.8607 -0.1 - vertex -30.0456 11.8946 -0.1 + vertex -29.9453 11.8607 -0.2 + vertex -30.0456 11.8946 -0.2 endloop endfacet facet normal 0.514271 0.857628 -0 outer loop - vertex -30.0456 11.8946 -0.1 + vertex -30.0456 11.8946 -0.2 vertex -30.1065 11.9311 0 vertex -30.0456 11.8946 0 endloop @@ -39363,125 +39363,125 @@ solid OpenSCAD_Model facet normal 0.514271 0.857628 0 outer loop vertex -30.1065 11.9311 0 - vertex -30.0456 11.8946 -0.1 - vertex -30.1065 11.9311 -0.1 + vertex -30.0456 11.8946 -0.2 + vertex -30.1065 11.9311 -0.2 endloop endfacet facet normal 0.794078 0.607816 0 outer loop vertex -30.1065 11.9311 0 - vertex -30.2115 12.0683 -0.1 + vertex -30.2115 12.0683 -0.2 vertex -30.2115 12.0683 0 endloop endfacet facet normal 0.794078 0.607816 0 outer loop - vertex -30.2115 12.0683 -0.1 + vertex -30.2115 12.0683 -0.2 vertex -30.1065 11.9311 0 - vertex -30.1065 11.9311 -0.1 + vertex -30.1065 11.9311 -0.2 endloop endfacet facet normal 0.908198 0.418541 0 outer loop vertex -30.2115 12.0683 0 - vertex -30.2975 12.2549 -0.1 + vertex -30.2975 12.2549 -0.2 vertex -30.2975 12.2549 0 endloop endfacet facet normal 0.908198 0.418541 0 outer loop - vertex -30.2975 12.2549 -0.1 + vertex -30.2975 12.2549 -0.2 vertex -30.2115 12.0683 0 - vertex -30.2115 12.0683 -0.1 + vertex -30.2115 12.0683 -0.2 endloop endfacet facet normal 0.964271 0.264918 0 outer loop vertex -30.2975 12.2549 0 - vertex -30.3556 12.4664 -0.1 + vertex -30.3556 12.4664 -0.2 vertex -30.3556 12.4664 0 endloop endfacet facet normal 0.964271 0.264918 0 outer loop - vertex -30.3556 12.4664 -0.1 + vertex -30.3556 12.4664 -0.2 vertex -30.2975 12.2549 0 - vertex -30.2975 12.2549 -0.1 + vertex -30.2975 12.2549 -0.2 endloop endfacet facet normal 0.994966 0.10021 0 outer loop vertex -30.3556 12.4664 0 - vertex -30.377 12.6783 -0.1 + vertex -30.377 12.6783 -0.2 vertex -30.377 12.6783 0 endloop endfacet facet normal 0.994966 0.10021 0 outer loop - vertex -30.377 12.6783 -0.1 + vertex -30.377 12.6783 -0.2 vertex -30.3556 12.4664 0 - vertex -30.3556 12.4664 -0.1 + vertex -30.3556 12.4664 -0.2 endloop endfacet facet normal 0.99734 -0.0728833 0 outer loop vertex -30.377 12.6783 0 - vertex -30.3621 12.8813 -0.1 + vertex -30.3621 12.8813 -0.2 vertex -30.3621 12.8813 0 endloop endfacet facet normal 0.99734 -0.0728833 0 outer loop - vertex -30.3621 12.8813 -0.1 + vertex -30.3621 12.8813 -0.2 vertex -30.377 12.6783 0 - vertex -30.377 12.6783 -0.1 + vertex -30.377 12.6783 -0.2 endloop endfacet facet normal 0.963268 -0.268541 0 outer loop vertex -30.3621 12.8813 0 - vertex -30.3387 12.9655 -0.1 + vertex -30.3387 12.9655 -0.2 vertex -30.3387 12.9655 0 endloop endfacet facet normal 0.963268 -0.268541 0 outer loop - vertex -30.3387 12.9655 -0.1 + vertex -30.3387 12.9655 -0.2 vertex -30.3621 12.8813 0 - vertex -30.3621 12.8813 -0.1 + vertex -30.3621 12.8813 -0.2 endloop endfacet facet normal 0.886257 -0.463194 0 outer loop vertex -30.3387 12.9655 0 - vertex -30.3001 13.0393 -0.1 + vertex -30.3001 13.0393 -0.2 vertex -30.3001 13.0393 0 endloop endfacet facet normal 0.886257 -0.463194 0 outer loop - vertex -30.3001 13.0393 -0.1 + vertex -30.3001 13.0393 -0.2 vertex -30.3387 12.9655 0 - vertex -30.3387 12.9655 -0.1 + vertex -30.3387 12.9655 -0.2 endloop endfacet facet normal 0.748065 -0.663625 0 outer loop vertex -30.3001 13.0393 0 - vertex -30.2432 13.1034 -0.1 + vertex -30.2432 13.1034 -0.2 vertex -30.2432 13.1034 0 endloop endfacet facet normal 0.748065 -0.663625 0 outer loop - vertex -30.2432 13.1034 -0.1 + vertex -30.2432 13.1034 -0.2 vertex -30.3001 13.0393 0 - vertex -30.3001 13.0393 -0.1 + vertex -30.3001 13.0393 -0.2 endloop endfacet facet normal 0.576127 -0.81736 0 outer loop - vertex -30.2432 13.1034 -0.1 + vertex -30.2432 13.1034 -0.2 vertex -30.1646 13.1588 0 vertex -30.2432 13.1034 0 endloop @@ -39489,13 +39489,13 @@ solid OpenSCAD_Model facet normal 0.576127 -0.81736 0 outer loop vertex -30.1646 13.1588 0 - vertex -30.2432 13.1034 -0.1 - vertex -30.1646 13.1588 -0.1 + vertex -30.2432 13.1034 -0.2 + vertex -30.1646 13.1588 -0.2 endloop endfacet facet normal 0.349457 -0.936953 0 outer loop - vertex -30.1646 13.1588 -0.1 + vertex -30.1646 13.1588 -0.2 vertex -29.9294 13.2465 0 vertex -30.1646 13.1588 0 endloop @@ -39503,13 +39503,13 @@ solid OpenSCAD_Model facet normal 0.349457 -0.936953 0 outer loop vertex -29.9294 13.2465 0 - vertex -30.1646 13.1588 -0.1 - vertex -29.9294 13.2465 -0.1 + vertex -30.1646 13.1588 -0.2 + vertex -29.9294 13.2465 -0.2 endloop endfacet facet normal 0.170605 -0.985339 0 outer loop - vertex -29.9294 13.2465 -0.1 + vertex -29.9294 13.2465 -0.2 vertex -29.5683 13.309 0 vertex -29.9294 13.2465 0 endloop @@ -39517,13 +39517,13 @@ solid OpenSCAD_Model facet normal 0.170605 -0.985339 0 outer loop vertex -29.5683 13.309 0 - vertex -29.9294 13.2465 -0.1 - vertex -29.5683 13.309 -0.1 + vertex -29.9294 13.2465 -0.2 + vertex -29.5683 13.309 -0.2 endloop endfacet facet normal 0.0853267 -0.996353 0 outer loop - vertex -29.5683 13.309 -0.1 + vertex -29.5683 13.309 -0.2 vertex -29.0548 13.353 0 vertex -29.5683 13.309 0 endloop @@ -39531,13 +39531,13 @@ solid OpenSCAD_Model facet normal 0.0853267 -0.996353 0 outer loop vertex -29.0548 13.353 0 - vertex -29.5683 13.309 -0.1 - vertex -29.0548 13.353 -0.1 + vertex -29.5683 13.309 -0.2 + vertex -29.0548 13.353 -0.2 endloop endfacet facet normal 0.0369327 -0.999318 0 outer loop - vertex -29.0548 13.353 -0.1 + vertex -29.0548 13.353 -0.2 vertex -27.4661 13.4117 0 vertex -29.0548 13.353 0 endloop @@ -39545,13 +39545,13 @@ solid OpenSCAD_Model facet normal 0.0369327 -0.999318 0 outer loop vertex -27.4661 13.4117 0 - vertex -29.0548 13.353 -0.1 - vertex -27.4661 13.4117 -0.1 + vertex -29.0548 13.353 -0.2 + vertex -27.4661 13.4117 -0.2 endloop endfacet facet normal 0.0488074 -0.998808 0 outer loop - vertex -27.4661 13.4117 -0.1 + vertex -27.4661 13.4117 -0.2 vertex -26.1544 13.4758 0 vertex -27.4661 13.4117 0 endloop @@ -39559,13 +39559,13 @@ solid OpenSCAD_Model facet normal 0.0488074 -0.998808 0 outer loop vertex -26.1544 13.4758 0 - vertex -27.4661 13.4117 -0.1 - vertex -26.1544 13.4758 -0.1 + vertex -27.4661 13.4117 -0.2 + vertex -26.1544 13.4758 -0.2 endloop endfacet facet normal 0.0958463 -0.995396 0 outer loop - vertex -26.1544 13.4758 -0.1 + vertex -26.1544 13.4758 -0.2 vertex -24.8613 13.6003 0 vertex -26.1544 13.4758 0 endloop @@ -39573,13 +39573,13 @@ solid OpenSCAD_Model facet normal 0.0958463 -0.995396 0 outer loop vertex -24.8613 13.6003 0 - vertex -26.1544 13.4758 -0.1 - vertex -24.8613 13.6003 -0.1 + vertex -26.1544 13.4758 -0.2 + vertex -24.8613 13.6003 -0.2 endloop endfacet facet normal 0.144031 -0.989573 0 outer loop - vertex -24.8613 13.6003 -0.1 + vertex -24.8613 13.6003 -0.2 vertex -23.579 13.787 0 vertex -24.8613 13.6003 0 endloop @@ -39587,13 +39587,13 @@ solid OpenSCAD_Model facet normal 0.144031 -0.989573 0 outer loop vertex -23.579 13.787 0 - vertex -24.8613 13.6003 -0.1 - vertex -23.579 13.787 -0.1 + vertex -24.8613 13.6003 -0.2 + vertex -23.579 13.787 -0.2 endloop endfacet facet normal 0.192155 -0.981365 0 outer loop - vertex -23.579 13.787 -0.1 + vertex -23.579 13.787 -0.2 vertex -22.3001 14.0374 0 vertex -23.579 13.787 0 endloop @@ -39601,13 +39601,13 @@ solid OpenSCAD_Model facet normal 0.192155 -0.981365 0 outer loop vertex -22.3001 14.0374 0 - vertex -23.579 13.787 -0.1 - vertex -22.3001 14.0374 -0.1 + vertex -23.579 13.787 -0.2 + vertex -22.3001 14.0374 -0.2 endloop endfacet facet normal 0.239032 -0.971012 0 outer loop - vertex -22.3001 14.0374 -0.1 + vertex -22.3001 14.0374 -0.2 vertex -21.0167 14.3533 0 vertex -22.3001 14.0374 0 endloop @@ -39615,13 +39615,13 @@ solid OpenSCAD_Model facet normal 0.239032 -0.971012 0 outer loop vertex -21.0167 14.3533 0 - vertex -22.3001 14.0374 -0.1 - vertex -21.0167 14.3533 -0.1 + vertex -22.3001 14.0374 -0.2 + vertex -21.0167 14.3533 -0.2 endloop endfacet facet normal 0.283599 -0.958943 0 outer loop - vertex -21.0167 14.3533 -0.1 + vertex -21.0167 14.3533 -0.2 vertex -19.7213 14.7364 0 vertex -21.0167 14.3533 0 endloop @@ -39629,13 +39629,13 @@ solid OpenSCAD_Model facet normal 0.283599 -0.958943 0 outer loop vertex -19.7213 14.7364 0 - vertex -21.0167 14.3533 -0.1 - vertex -19.7213 14.7364 -0.1 + vertex -21.0167 14.3533 -0.2 + vertex -19.7213 14.7364 -0.2 endloop endfacet facet normal 0.325025 -0.945706 0 outer loop - vertex -19.7213 14.7364 -0.1 + vertex -19.7213 14.7364 -0.2 vertex -18.4061 15.1884 0 vertex -19.7213 14.7364 0 endloop @@ -39643,13 +39643,13 @@ solid OpenSCAD_Model facet normal 0.325025 -0.945706 0 outer loop vertex -18.4061 15.1884 0 - vertex -19.7213 14.7364 -0.1 - vertex -18.4061 15.1884 -0.1 + vertex -19.7213 14.7364 -0.2 + vertex -18.4061 15.1884 -0.2 endloop endfacet facet normal 0.362736 -0.931892 0 outer loop - vertex -18.4061 15.1884 -0.1 + vertex -18.4061 15.1884 -0.2 vertex -17.0637 15.711 0 vertex -18.4061 15.1884 0 endloop @@ -39657,13 +39657,13 @@ solid OpenSCAD_Model facet normal 0.362736 -0.931892 0 outer loop vertex -17.0637 15.711 0 - vertex -18.4061 15.1884 -0.1 - vertex -17.0637 15.711 -0.1 + vertex -18.4061 15.1884 -0.2 + vertex -17.0637 15.711 -0.2 endloop endfacet facet normal 0.385262 -0.922807 0 outer loop - vertex -17.0637 15.711 -0.1 + vertex -17.0637 15.711 -0.2 vertex -16.4531 15.9659 0 vertex -17.0637 15.711 0 endloop @@ -39671,13 +39671,13 @@ solid OpenSCAD_Model facet normal 0.385262 -0.922807 0 outer loop vertex -16.4531 15.9659 0 - vertex -17.0637 15.711 -0.1 - vertex -16.4531 15.9659 -0.1 + vertex -17.0637 15.711 -0.2 + vertex -16.4531 15.9659 -0.2 endloop endfacet facet normal 0.409178 -0.912454 0 outer loop - vertex -16.4531 15.9659 -0.1 + vertex -16.4531 15.9659 -0.2 vertex -15.9397 16.1961 0 vertex -16.4531 15.9659 0 endloop @@ -39685,13 +39685,13 @@ solid OpenSCAD_Model facet normal 0.409178 -0.912454 0 outer loop vertex -15.9397 16.1961 0 - vertex -16.4531 15.9659 -0.1 - vertex -15.9397 16.1961 -0.1 + vertex -16.4531 15.9659 -0.2 + vertex -15.9397 16.1961 -0.2 endloop endfacet facet normal 0.452989 -0.891516 0 outer loop - vertex -15.9397 16.1961 -0.1 + vertex -15.9397 16.1961 -0.2 vertex -15.4716 16.4339 0 vertex -15.9397 16.1961 0 endloop @@ -39699,13 +39699,13 @@ solid OpenSCAD_Model facet normal 0.452989 -0.891516 0 outer loop vertex -15.4716 16.4339 0 - vertex -15.9397 16.1961 -0.1 - vertex -15.4716 16.4339 -0.1 + vertex -15.9397 16.1961 -0.2 + vertex -15.4716 16.4339 -0.2 endloop endfacet facet normal 0.505092 -0.863065 0 outer loop - vertex -15.4716 16.4339 -0.1 + vertex -15.4716 16.4339 -0.2 vertex -14.9972 16.7116 0 vertex -15.4716 16.4339 0 endloop @@ -39713,13 +39713,13 @@ solid OpenSCAD_Model facet normal 0.505092 -0.863065 0 outer loop vertex -14.9972 16.7116 0 - vertex -15.4716 16.4339 -0.1 - vertex -14.9972 16.7116 -0.1 + vertex -15.4716 16.4339 -0.2 + vertex -14.9972 16.7116 -0.2 endloop endfacet facet normal 0.548914 -0.835879 0 outer loop - vertex -14.9972 16.7116 -0.1 + vertex -14.9972 16.7116 -0.2 vertex -14.4648 17.0612 0 vertex -14.9972 16.7116 0 endloop @@ -39727,13 +39727,13 @@ solid OpenSCAD_Model facet normal 0.548914 -0.835879 0 outer loop vertex -14.4648 17.0612 0 - vertex -14.9972 16.7116 -0.1 - vertex -14.4648 17.0612 -0.1 + vertex -14.9972 16.7116 -0.2 + vertex -14.4648 17.0612 -0.2 endloop endfacet facet normal 0.577162 -0.81663 0 outer loop - vertex -14.4648 17.0612 -0.1 + vertex -14.4648 17.0612 -0.2 vertex -13.8225 17.5152 0 vertex -14.4648 17.0612 0 endloop @@ -39741,13 +39741,13 @@ solid OpenSCAD_Model facet normal 0.577162 -0.81663 0 outer loop vertex -13.8225 17.5152 0 - vertex -14.4648 17.0612 -0.1 - vertex -13.8225 17.5152 -0.1 + vertex -14.4648 17.0612 -0.2 + vertex -13.8225 17.5152 -0.2 endloop endfacet facet normal 0.595448 -0.803394 0 outer loop - vertex -13.8225 17.5152 -0.1 + vertex -13.8225 17.5152 -0.2 vertex -12.0016 18.8648 0 vertex -13.8225 17.5152 0 endloop @@ -39755,13 +39755,13 @@ solid OpenSCAD_Model facet normal 0.595448 -0.803394 0 outer loop vertex -12.0016 18.8648 0 - vertex -13.8225 17.5152 -0.1 - vertex -12.0016 18.8648 -0.1 + vertex -13.8225 17.5152 -0.2 + vertex -12.0016 18.8648 -0.2 endloop endfacet facet normal 0.610957 -0.791663 0 outer loop - vertex -12.0016 18.8648 -0.1 + vertex -12.0016 18.8648 -0.2 vertex -11.4702 19.2748 0 vertex -12.0016 18.8648 0 endloop @@ -39769,13 +39769,13 @@ solid OpenSCAD_Model facet normal 0.610957 -0.791663 0 outer loop vertex -11.4702 19.2748 0 - vertex -12.0016 18.8648 -0.1 - vertex -11.4702 19.2748 -0.1 + vertex -12.0016 18.8648 -0.2 + vertex -11.4702 19.2748 -0.2 endloop endfacet facet normal 0.661597 -0.749859 0 outer loop - vertex -11.4702 19.2748 -0.1 + vertex -11.4702 19.2748 -0.2 vertex -11.1091 19.5935 0 vertex -11.4702 19.2748 0 endloop @@ -39783,69 +39783,69 @@ solid OpenSCAD_Model facet normal 0.661597 -0.749859 0 outer loop vertex -11.1091 19.5935 0 - vertex -11.4702 19.2748 -0.1 - vertex -11.1091 19.5935 -0.1 + vertex -11.4702 19.2748 -0.2 + vertex -11.1091 19.5935 -0.2 endloop endfacet facet normal 0.747538 -0.664219 0 outer loop vertex -11.1091 19.5935 0 - vertex -10.9948 19.7221 -0.1 + vertex -10.9948 19.7221 -0.2 vertex -10.9948 19.7221 0 endloop endfacet facet normal 0.747538 -0.664219 0 outer loop - vertex -10.9948 19.7221 -0.1 + vertex -10.9948 19.7221 -0.2 vertex -11.1091 19.5935 0 - vertex -11.1091 19.5935 -0.1 + vertex -11.1091 19.5935 -0.2 endloop endfacet facet normal 0.848145 -0.529765 0 outer loop vertex -10.9948 19.7221 0 - vertex -10.9261 19.832 -0.1 + vertex -10.9261 19.832 -0.2 vertex -10.9261 19.832 0 endloop endfacet facet normal 0.848145 -0.529765 0 outer loop - vertex -10.9261 19.832 -0.1 + vertex -10.9261 19.832 -0.2 vertex -10.9948 19.7221 0 - vertex -10.9948 19.7221 -0.1 + vertex -10.9948 19.7221 -0.2 endloop endfacet facet normal 0.972725 -0.231962 0 outer loop vertex -10.9261 19.832 0 - vertex -10.904 19.9248 -0.1 + vertex -10.904 19.9248 -0.2 vertex -10.904 19.9248 0 endloop endfacet facet normal 0.972725 -0.231962 0 outer loop - vertex -10.904 19.9248 -0.1 + vertex -10.904 19.9248 -0.2 vertex -10.9261 19.832 0 - vertex -10.9261 19.832 -0.1 + vertex -10.9261 19.832 -0.2 endloop endfacet facet normal 0.949443 0.31394 0 outer loop vertex -10.904 19.9248 0 - vertex -10.9294 20.0018 -0.1 + vertex -10.9294 20.0018 -0.2 vertex -10.9294 20.0018 0 endloop endfacet facet normal 0.949443 0.31394 0 outer loop - vertex -10.9294 20.0018 -0.1 + vertex -10.9294 20.0018 -0.2 vertex -10.904 19.9248 0 - vertex -10.904 19.9248 -0.1 + vertex -10.904 19.9248 -0.2 endloop endfacet facet normal 0.645708 0.763585 -0 outer loop - vertex -10.9294 20.0018 -0.1 + vertex -10.9294 20.0018 -0.2 vertex -11.0035 20.0644 0 vertex -10.9294 20.0018 0 endloop @@ -39853,13 +39853,13 @@ solid OpenSCAD_Model facet normal 0.645708 0.763585 0 outer loop vertex -11.0035 20.0644 0 - vertex -10.9294 20.0018 -0.1 - vertex -11.0035 20.0644 -0.1 + vertex -10.9294 20.0018 -0.2 + vertex -11.0035 20.0644 -0.2 endloop endfacet facet normal 0.372622 0.927983 -0 outer loop - vertex -11.0035 20.0644 -0.1 + vertex -11.0035 20.0644 -0.2 vertex -11.1271 20.114 0 vertex -11.0035 20.0644 0 endloop @@ -39867,13 +39867,13 @@ solid OpenSCAD_Model facet normal 0.372622 0.927983 0 outer loop vertex -11.1271 20.114 0 - vertex -11.0035 20.0644 -0.1 - vertex -11.1271 20.114 -0.1 + vertex -11.0035 20.0644 -0.2 + vertex -11.1271 20.114 -0.2 endloop endfacet facet normal 0.213569 0.976928 -0 outer loop - vertex -11.1271 20.114 -0.1 + vertex -11.1271 20.114 -0.2 vertex -11.3013 20.1521 0 vertex -11.1271 20.114 0 endloop @@ -39881,13 +39881,13 @@ solid OpenSCAD_Model facet normal 0.213569 0.976928 0 outer loop vertex -11.3013 20.1521 0 - vertex -11.1271 20.114 -0.1 - vertex -11.3013 20.1521 -0.1 + vertex -11.1271 20.114 -0.2 + vertex -11.3013 20.1521 -0.2 endloop endfacet facet normal 0.122812 0.99243 -0 outer loop - vertex -11.3013 20.1521 -0.1 + vertex -11.3013 20.1521 -0.2 vertex -11.5271 20.1801 0 vertex -11.3013 20.1521 0 endloop @@ -39895,13 +39895,13 @@ solid OpenSCAD_Model facet normal 0.122812 0.99243 0 outer loop vertex -11.5271 20.1801 0 - vertex -11.3013 20.1521 -0.1 - vertex -11.5271 20.1801 -0.1 + vertex -11.3013 20.1521 -0.2 + vertex -11.5271 20.1801 -0.2 endloop endfacet facet normal 0.050903 0.998704 -0 outer loop - vertex -11.5271 20.1801 -0.1 + vertex -11.5271 20.1801 -0.2 vertex -12.1376 20.2112 0 vertex -11.5271 20.1801 0 endloop @@ -39909,13 +39909,13 @@ solid OpenSCAD_Model facet normal 0.050903 0.998704 0 outer loop vertex -12.1376 20.2112 0 - vertex -11.5271 20.1801 -0.1 - vertex -12.1376 20.2112 -0.1 + vertex -11.5271 20.1801 -0.2 + vertex -12.1376 20.2112 -0.2 endloop endfacet facet normal 0.00904467 0.999959 -0 outer loop - vertex -12.1376 20.2112 -0.1 + vertex -12.1376 20.2112 -0.2 vertex -12.9665 20.2187 0 vertex -12.1376 20.2112 0 endloop @@ -39923,13 +39923,13 @@ solid OpenSCAD_Model facet normal 0.00904467 0.999959 0 outer loop vertex -12.9665 20.2187 0 - vertex -12.1376 20.2112 -0.1 - vertex -12.9665 20.2187 -0.1 + vertex -12.1376 20.2112 -0.2 + vertex -12.9665 20.2187 -0.2 endloop endfacet facet normal -0.0191031 0.999818 0 outer loop - vertex -12.9665 20.2187 -0.1 + vertex -12.9665 20.2187 -0.2 vertex -13.9037 20.2008 0 vertex -12.9665 20.2187 0 endloop @@ -39937,13 +39937,13 @@ solid OpenSCAD_Model facet normal -0.0191031 0.999818 0 outer loop vertex -13.9037 20.2008 0 - vertex -12.9665 20.2187 -0.1 - vertex -13.9037 20.2008 -0.1 + vertex -12.9665 20.2187 -0.2 + vertex -13.9037 20.2008 -0.2 endloop endfacet facet normal -0.0506696 0.998715 0 outer loop - vertex -13.9037 20.2008 -0.1 + vertex -13.9037 20.2008 -0.2 vertex -14.8461 20.153 0 vertex -13.9037 20.2008 0 endloop @@ -39951,13 +39951,13 @@ solid OpenSCAD_Model facet normal -0.0506696 0.998715 0 outer loop vertex -14.8461 20.153 0 - vertex -13.9037 20.2008 -0.1 - vertex -14.8461 20.153 -0.1 + vertex -13.9037 20.2008 -0.2 + vertex -14.8461 20.153 -0.2 endloop endfacet facet normal -0.0837631 0.996486 0 outer loop - vertex -14.8461 20.153 -0.1 + vertex -14.8461 20.153 -0.2 vertex -15.684 20.0825 0 vertex -14.8461 20.153 0 endloop @@ -39965,13 +39965,13 @@ solid OpenSCAD_Model facet normal -0.0837631 0.996486 0 outer loop vertex -15.684 20.0825 0 - vertex -14.8461 20.153 -0.1 - vertex -15.684 20.0825 -0.1 + vertex -14.8461 20.153 -0.2 + vertex -15.684 20.0825 -0.2 endloop endfacet facet normal -0.136213 0.99068 0 outer loop - vertex -15.684 20.0825 -0.1 + vertex -15.684 20.0825 -0.2 vertex -16.3079 19.9967 0 vertex -15.684 20.0825 0 endloop @@ -39979,13 +39979,13 @@ solid OpenSCAD_Model facet normal -0.136213 0.99068 0 outer loop vertex -16.3079 19.9967 0 - vertex -15.684 20.0825 -0.1 - vertex -16.3079 19.9967 -0.1 + vertex -15.684 20.0825 -0.2 + vertex -16.3079 19.9967 -0.2 endloop endfacet facet normal -0.175854 0.984416 0 outer loop - vertex -16.3079 19.9967 -0.1 + vertex -16.3079 19.9967 -0.2 vertex -17.2235 19.8332 0 vertex -16.3079 19.9967 0 endloop @@ -39993,13 +39993,13 @@ solid OpenSCAD_Model facet normal -0.175854 0.984416 0 outer loop vertex -17.2235 19.8332 0 - vertex -16.3079 19.9967 -0.1 - vertex -17.2235 19.8332 -0.1 + vertex -16.3079 19.9967 -0.2 + vertex -17.2235 19.8332 -0.2 endloop endfacet facet normal -0.15721 0.987565 0 outer loop - vertex -17.2235 19.8332 -0.1 + vertex -17.2235 19.8332 -0.2 vertex -18.1791 19.6811 0 vertex -17.2235 19.8332 0 endloop @@ -40007,13 +40007,13 @@ solid OpenSCAD_Model facet normal -0.15721 0.987565 0 outer loop vertex -18.1791 19.6811 0 - vertex -17.2235 19.8332 -0.1 - vertex -18.1791 19.6811 -0.1 + vertex -17.2235 19.8332 -0.2 + vertex -18.1791 19.6811 -0.2 endloop endfacet facet normal -0.133206 0.991088 0 outer loop - vertex -18.1791 19.6811 -0.1 + vertex -18.1791 19.6811 -0.2 vertex -20.1671 19.4139 0 vertex -18.1791 19.6811 0 endloop @@ -40021,13 +40021,13 @@ solid OpenSCAD_Model facet normal -0.133206 0.991088 0 outer loop vertex -20.1671 19.4139 0 - vertex -18.1791 19.6811 -0.1 - vertex -20.1671 19.4139 -0.1 + vertex -18.1791 19.6811 -0.2 + vertex -20.1671 19.4139 -0.2 endloop endfacet facet normal -0.105044 0.994468 0 outer loop - vertex -20.1671 19.4139 -0.1 + vertex -20.1671 19.4139 -0.2 vertex -22.1849 19.2007 0 vertex -20.1671 19.4139 0 endloop @@ -40035,13 +40035,13 @@ solid OpenSCAD_Model facet normal -0.105044 0.994468 0 outer loop vertex -22.1849 19.2007 0 - vertex -20.1671 19.4139 -0.1 - vertex -22.1849 19.2007 -0.1 + vertex -20.1671 19.4139 -0.2 + vertex -22.1849 19.2007 -0.2 endloop endfacet facet normal -0.0780607 0.996949 0 outer loop - vertex -22.1849 19.2007 -0.1 + vertex -22.1849 19.2007 -0.2 vertex -24.1455 19.0472 0 vertex -22.1849 19.2007 0 endloop @@ -40049,13 +40049,13 @@ solid OpenSCAD_Model facet normal -0.0780607 0.996949 0 outer loop vertex -24.1455 19.0472 0 - vertex -22.1849 19.2007 -0.1 - vertex -24.1455 19.0472 -0.1 + vertex -22.1849 19.2007 -0.2 + vertex -24.1455 19.0472 -0.2 endloop endfacet facet normal -0.0485635 0.99882 0 outer loop - vertex -24.1455 19.0472 -0.1 + vertex -24.1455 19.0472 -0.2 vertex -25.9619 18.9589 0 vertex -24.1455 19.0472 0 endloop @@ -40063,13 +40063,13 @@ solid OpenSCAD_Model facet normal -0.0485635 0.99882 0 outer loop vertex -25.9619 18.9589 0 - vertex -24.1455 19.0472 -0.1 - vertex -25.9619 18.9589 -0.1 + vertex -24.1455 19.0472 -0.2 + vertex -25.9619 18.9589 -0.2 endloop endfacet facet normal -0.0217214 0.999764 0 outer loop - vertex -25.9619 18.9589 -0.1 + vertex -25.9619 18.9589 -0.2 vertex -26.7887 18.9409 0 vertex -25.9619 18.9589 0 endloop @@ -40077,13 +40077,13 @@ solid OpenSCAD_Model facet normal -0.0217214 0.999764 0 outer loop vertex -26.7887 18.9409 0 - vertex -25.9619 18.9589 -0.1 - vertex -26.7887 18.9409 -0.1 + vertex -25.9619 18.9589 -0.2 + vertex -26.7887 18.9409 -0.2 endloop endfacet facet normal 0.000558472 1 -0 outer loop - vertex -26.7887 18.9409 -0.1 + vertex -26.7887 18.9409 -0.2 vertex -27.5469 18.9414 0 vertex -26.7887 18.9409 0 endloop @@ -40091,13 +40091,13 @@ solid OpenSCAD_Model facet normal 0.000558472 1 0 outer loop vertex -27.5469 18.9414 0 - vertex -26.7887 18.9409 -0.1 - vertex -27.5469 18.9414 -0.1 + vertex -26.7887 18.9409 -0.2 + vertex -27.5469 18.9414 -0.2 endloop endfacet facet normal 0.0287379 0.999587 -0 outer loop - vertex -27.5469 18.9414 -0.1 + vertex -27.5469 18.9414 -0.2 vertex -28.2256 18.9609 0 vertex -27.5469 18.9414 0 endloop @@ -40105,13 +40105,13 @@ solid OpenSCAD_Model facet normal 0.0287379 0.999587 0 outer loop vertex -28.2256 18.9609 0 - vertex -27.5469 18.9414 -0.1 - vertex -28.2256 18.9609 -0.1 + vertex -27.5469 18.9414 -0.2 + vertex -28.2256 18.9609 -0.2 endloop endfacet facet normal 0.0666534 0.997776 -0 outer loop - vertex -28.2256 18.9609 -0.1 + vertex -28.2256 18.9609 -0.2 vertex -28.8137 19.0002 0 vertex -28.2256 18.9609 0 endloop @@ -40119,13 +40119,13 @@ solid OpenSCAD_Model facet normal 0.0666534 0.997776 0 outer loop vertex -28.8137 19.0002 0 - vertex -28.2256 18.9609 -0.1 - vertex -28.8137 19.0002 -0.1 + vertex -28.2256 18.9609 -0.2 + vertex -28.8137 19.0002 -0.2 endloop endfacet facet normal 0.121854 0.992548 -0 outer loop - vertex -28.8137 19.0002 -0.1 + vertex -28.8137 19.0002 -0.2 vertex -29.3006 19.0599 0 vertex -28.8137 19.0002 0 endloop @@ -40133,13 +40133,13 @@ solid OpenSCAD_Model facet normal 0.121854 0.992548 0 outer loop vertex -29.3006 19.0599 0 - vertex -28.8137 19.0002 -0.1 - vertex -29.3006 19.0599 -0.1 + vertex -28.8137 19.0002 -0.2 + vertex -29.3006 19.0599 -0.2 endloop endfacet facet normal 0.211179 0.977447 -0 outer loop - vertex -29.3006 19.0599 -0.1 + vertex -29.3006 19.0599 -0.2 vertex -29.6752 19.1409 0 vertex -29.3006 19.0599 0 endloop @@ -40147,13 +40147,13 @@ solid OpenSCAD_Model facet normal 0.211179 0.977447 0 outer loop vertex -29.6752 19.1409 0 - vertex -29.3006 19.0599 -0.1 - vertex -29.6752 19.1409 -0.1 + vertex -29.3006 19.0599 -0.2 + vertex -29.6752 19.1409 -0.2 endloop endfacet facet normal 0.291073 0.956701 -0 outer loop - vertex -29.6752 19.1409 -0.1 + vertex -29.6752 19.1409 -0.2 vertex -30.5811 19.4165 0 vertex -29.6752 19.1409 0 endloop @@ -40161,13 +40161,13 @@ solid OpenSCAD_Model facet normal 0.291073 0.956701 0 outer loop vertex -30.5811 19.4165 0 - vertex -29.6752 19.1409 -0.1 - vertex -30.5811 19.4165 -0.1 + vertex -29.6752 19.1409 -0.2 + vertex -30.5811 19.4165 -0.2 endloop endfacet facet normal 0.314696 0.949192 -0 outer loop - vertex -30.5811 19.4165 -0.1 + vertex -30.5811 19.4165 -0.2 vertex -31.4466 19.7034 0 vertex -30.5811 19.4165 0 endloop @@ -40175,13 +40175,13 @@ solid OpenSCAD_Model facet normal 0.314696 0.949192 0 outer loop vertex -31.4466 19.7034 0 - vertex -30.5811 19.4165 -0.1 - vertex -31.4466 19.7034 -0.1 + vertex -30.5811 19.4165 -0.2 + vertex -31.4466 19.7034 -0.2 endloop endfacet facet normal 0.339748 0.940516 -0 outer loop - vertex -31.4466 19.7034 -0.1 + vertex -31.4466 19.7034 -0.2 vertex -32.271 20.0012 0 vertex -31.4466 19.7034 0 endloop @@ -40189,13 +40189,13 @@ solid OpenSCAD_Model facet normal 0.339748 0.940516 0 outer loop vertex -32.271 20.0012 0 - vertex -31.4466 19.7034 -0.1 - vertex -32.271 20.0012 -0.1 + vertex -31.4466 19.7034 -0.2 + vertex -32.271 20.0012 -0.2 endloop endfacet facet normal 0.366429 0.930446 -0 outer loop - vertex -32.271 20.0012 -0.1 + vertex -32.271 20.0012 -0.2 vertex -33.0533 20.3093 0 vertex -32.271 20.0012 0 endloop @@ -40203,13 +40203,13 @@ solid OpenSCAD_Model facet normal 0.366429 0.930446 0 outer loop vertex -33.0533 20.3093 0 - vertex -32.271 20.0012 -0.1 - vertex -33.0533 20.3093 -0.1 + vertex -32.271 20.0012 -0.2 + vertex -33.0533 20.3093 -0.2 endloop endfacet facet normal 0.394948 0.918703 -0 outer loop - vertex -33.0533 20.3093 -0.1 + vertex -33.0533 20.3093 -0.2 vertex -33.7926 20.6272 0 vertex -33.0533 20.3093 0 endloop @@ -40217,13 +40217,13 @@ solid OpenSCAD_Model facet normal 0.394948 0.918703 0 outer loop vertex -33.7926 20.6272 0 - vertex -33.0533 20.3093 -0.1 - vertex -33.7926 20.6272 -0.1 + vertex -33.0533 20.3093 -0.2 + vertex -33.7926 20.6272 -0.2 endloop endfacet facet normal 0.425556 0.904932 -0 outer loop - vertex -33.7926 20.6272 -0.1 + vertex -33.7926 20.6272 -0.2 vertex -34.4881 20.9542 0 vertex -33.7926 20.6272 0 endloop @@ -40231,13 +40231,13 @@ solid OpenSCAD_Model facet normal 0.425556 0.904932 0 outer loop vertex -34.4881 20.9542 0 - vertex -33.7926 20.6272 -0.1 - vertex -34.4881 20.9542 -0.1 + vertex -33.7926 20.6272 -0.2 + vertex -34.4881 20.9542 -0.2 endloop endfacet facet normal 0.458522 0.888683 -0 outer loop - vertex -34.4881 20.9542 -0.1 + vertex -34.4881 20.9542 -0.2 vertex -35.1386 21.2899 0 vertex -34.4881 20.9542 0 endloop @@ -40245,13 +40245,13 @@ solid OpenSCAD_Model facet normal 0.458522 0.888683 0 outer loop vertex -35.1386 21.2899 0 - vertex -34.4881 20.9542 -0.1 - vertex -35.1386 21.2899 -0.1 + vertex -34.4881 20.9542 -0.2 + vertex -35.1386 21.2899 -0.2 endloop endfacet facet normal 0.494132 0.869387 -0 outer loop - vertex -35.1386 21.2899 -0.1 + vertex -35.1386 21.2899 -0.2 vertex -35.7435 21.6336 0 vertex -35.1386 21.2899 0 endloop @@ -40259,13 +40259,13 @@ solid OpenSCAD_Model facet normal 0.494132 0.869387 0 outer loop vertex -35.7435 21.6336 0 - vertex -35.1386 21.2899 -0.1 - vertex -35.7435 21.6336 -0.1 + vertex -35.1386 21.2899 -0.2 + vertex -35.7435 21.6336 -0.2 endloop endfacet facet normal 0.532679 0.846317 -0 outer loop - vertex -35.7435 21.6336 -0.1 + vertex -35.7435 21.6336 -0.2 vertex -36.3017 21.985 0 vertex -35.7435 21.6336 0 endloop @@ -40273,13 +40273,13 @@ solid OpenSCAD_Model facet normal 0.532679 0.846317 0 outer loop vertex -36.3017 21.985 0 - vertex -35.7435 21.6336 -0.1 - vertex -36.3017 21.985 -0.1 + vertex -35.7435 21.6336 -0.2 + vertex -36.3017 21.985 -0.2 endloop endfacet facet normal 0.574426 0.818556 -0 outer loop - vertex -36.3017 21.985 -0.1 + vertex -36.3017 21.985 -0.2 vertex -36.8124 22.3433 0 vertex -36.3017 21.985 0 endloop @@ -40287,13 +40287,13 @@ solid OpenSCAD_Model facet normal 0.574426 0.818556 0 outer loop vertex -36.8124 22.3433 0 - vertex -36.3017 21.985 -0.1 - vertex -36.8124 22.3433 -0.1 + vertex -36.3017 21.985 -0.2 + vertex -36.8124 22.3433 -0.2 endloop endfacet facet normal 0.619583 0.784931 -0 outer loop - vertex -36.8124 22.3433 -0.1 + vertex -36.8124 22.3433 -0.2 vertex -37.2746 22.7082 0 vertex -36.8124 22.3433 0 endloop @@ -40301,13 +40301,13 @@ solid OpenSCAD_Model facet normal 0.619583 0.784931 0 outer loop vertex -37.2746 22.7082 0 - vertex -36.8124 22.3433 -0.1 - vertex -37.2746 22.7082 -0.1 + vertex -36.8124 22.3433 -0.2 + vertex -37.2746 22.7082 -0.2 endloop endfacet facet normal 0.668193 0.743988 -0 outer loop - vertex -37.2746 22.7082 -0.1 + vertex -37.2746 22.7082 -0.2 vertex -37.6874 23.0789 0 vertex -37.2746 22.7082 0 endloop @@ -40315,139 +40315,139 @@ solid OpenSCAD_Model facet normal 0.668193 0.743988 0 outer loop vertex -37.6874 23.0789 0 - vertex -37.2746 22.7082 -0.1 - vertex -37.6874 23.0789 -0.1 + vertex -37.2746 22.7082 -0.2 + vertex -37.6874 23.0789 -0.2 endloop endfacet facet normal 0.720024 0.69395 0 outer loop vertex -37.6874 23.0789 0 - vertex -38.0499 23.455 -0.1 + vertex -38.0499 23.455 -0.2 vertex -38.0499 23.455 0 endloop endfacet facet normal 0.720024 0.69395 0 outer loop - vertex -38.0499 23.455 -0.1 + vertex -38.0499 23.455 -0.2 vertex -37.6874 23.0789 0 - vertex -37.6874 23.0789 -0.1 + vertex -37.6874 23.0789 -0.2 endloop endfacet facet normal 0.774355 0.632751 0 outer loop vertex -38.0499 23.455 0 - vertex -38.3611 23.836 -0.1 + vertex -38.3611 23.836 -0.2 vertex -38.3611 23.836 0 endloop endfacet facet normal 0.774355 0.632751 0 outer loop - vertex -38.3611 23.836 -0.1 + vertex -38.3611 23.836 -0.2 vertex -38.0499 23.455 0 - vertex -38.0499 23.455 -0.1 + vertex -38.0499 23.455 -0.2 endloop endfacet facet normal 0.829712 0.558192 0 outer loop vertex -38.3611 23.836 0 - vertex -38.6203 24.2212 -0.1 + vertex -38.6203 24.2212 -0.2 vertex -38.6203 24.2212 0 endloop endfacet facet normal 0.829712 0.558192 0 outer loop - vertex -38.6203 24.2212 -0.1 + vertex -38.6203 24.2212 -0.2 vertex -38.3611 23.836 0 - vertex -38.3611 23.836 -0.1 + vertex -38.3611 23.836 -0.2 endloop endfacet facet normal 0.883596 0.468251 0 outer loop vertex -38.6203 24.2212 0 - vertex -38.8265 24.6102 -0.1 + vertex -38.8265 24.6102 -0.2 vertex -38.8265 24.6102 0 endloop endfacet facet normal 0.883596 0.468251 0 outer loop - vertex -38.8265 24.6102 -0.1 + vertex -38.8265 24.6102 -0.2 vertex -38.6203 24.2212 0 - vertex -38.6203 24.2212 -0.1 + vertex -38.6203 24.2212 -0.2 endloop endfacet facet normal 0.926216 0.376994 0 outer loop vertex -38.8265 24.6102 0 - vertex -39.0227 25.0923 -0.1 + vertex -39.0227 25.0923 -0.2 vertex -39.0227 25.0923 0 endloop endfacet facet normal 0.926216 0.376994 0 outer loop - vertex -39.0227 25.0923 -0.1 + vertex -39.0227 25.0923 -0.2 vertex -38.8265 24.6102 0 - vertex -38.8265 24.6102 -0.1 + vertex -38.8265 24.6102 -0.2 endloop endfacet facet normal 0.967451 0.253059 0 outer loop vertex -39.0227 25.0923 0 - vertex -39.1186 25.4589 -0.1 + vertex -39.1186 25.4589 -0.2 vertex -39.1186 25.4589 0 endloop endfacet facet normal 0.967451 0.253059 0 outer loop - vertex -39.1186 25.4589 -0.1 + vertex -39.1186 25.4589 -0.2 vertex -39.0227 25.0923 0 - vertex -39.0227 25.0923 -0.1 + vertex -39.0227 25.0923 -0.2 endloop endfacet facet normal 0.996684 0.0813708 0 outer loop vertex -39.1186 25.4589 0 - vertex -39.13 25.5984 -0.1 + vertex -39.13 25.5984 -0.2 vertex -39.13 25.5984 0 endloop endfacet facet normal 0.996684 0.0813708 0 outer loop - vertex -39.13 25.5984 -0.1 + vertex -39.13 25.5984 -0.2 vertex -39.1186 25.4589 0 - vertex -39.1186 25.4589 -0.1 + vertex -39.1186 25.4589 -0.2 endloop endfacet facet normal 0.993685 -0.112203 0 outer loop vertex -39.13 25.5984 0 - vertex -39.1175 25.7085 -0.1 + vertex -39.1175 25.7085 -0.2 vertex -39.1175 25.7085 0 endloop endfacet facet normal 0.993685 -0.112203 0 outer loop - vertex -39.1175 25.7085 -0.1 + vertex -39.1175 25.7085 -0.2 vertex -39.13 25.5984 0 - vertex -39.13 25.5984 -0.1 + vertex -39.13 25.5984 -0.2 endloop endfacet facet normal 0.913337 -0.407205 0 outer loop vertex -39.1175 25.7085 0 - vertex -39.0817 25.7888 -0.1 + vertex -39.0817 25.7888 -0.2 vertex -39.0817 25.7888 0 endloop endfacet facet normal 0.913337 -0.407205 0 outer loop - vertex -39.0817 25.7888 -0.1 + vertex -39.0817 25.7888 -0.2 vertex -39.1175 25.7085 0 - vertex -39.1175 25.7085 -0.1 + vertex -39.1175 25.7085 -0.2 endloop endfacet facet normal 0.651025 -0.759057 0 outer loop - vertex -39.0817 25.7888 -0.1 + vertex -39.0817 25.7888 -0.2 vertex -39.0229 25.8392 0 vertex -39.0817 25.7888 0 endloop @@ -40455,13 +40455,13 @@ solid OpenSCAD_Model facet normal 0.651025 -0.759057 0 outer loop vertex -39.0229 25.8392 0 - vertex -39.0817 25.7888 -0.1 - vertex -39.0229 25.8392 -0.1 + vertex -39.0817 25.7888 -0.2 + vertex -39.0229 25.8392 -0.2 endloop endfacet facet normal 0.24215 -0.970239 0 outer loop - vertex -39.0229 25.8392 -0.1 + vertex -39.0229 25.8392 -0.2 vertex -38.9416 25.8595 0 vertex -39.0229 25.8392 0 endloop @@ -40469,13 +40469,13 @@ solid OpenSCAD_Model facet normal 0.24215 -0.970239 0 outer loop vertex -38.9416 25.8595 0 - vertex -39.0229 25.8392 -0.1 - vertex -38.9416 25.8595 -0.1 + vertex -39.0229 25.8392 -0.2 + vertex -38.9416 25.8595 -0.2 endloop endfacet facet normal -0.0965024 -0.995333 0 outer loop - vertex -38.9416 25.8595 -0.1 + vertex -38.9416 25.8595 -0.2 vertex -38.8381 25.8495 0 vertex -38.9416 25.8595 0 endloop @@ -40483,13 +40483,13 @@ solid OpenSCAD_Model facet normal -0.0965024 -0.995333 -0 outer loop vertex -38.8381 25.8495 0 - vertex -38.9416 25.8595 -0.1 - vertex -38.8381 25.8495 -0.1 + vertex -38.9416 25.8595 -0.2 + vertex -38.8381 25.8495 -0.2 endloop endfacet facet normal -0.308343 -0.951275 0 outer loop - vertex -38.8381 25.8495 -0.1 + vertex -38.8381 25.8495 -0.2 vertex -38.7129 25.8089 0 vertex -38.8381 25.8495 0 endloop @@ -40497,13 +40497,13 @@ solid OpenSCAD_Model facet normal -0.308343 -0.951275 -0 outer loop vertex -38.7129 25.8089 0 - vertex -38.8381 25.8495 -0.1 - vertex -38.7129 25.8089 -0.1 + vertex -38.8381 25.8495 -0.2 + vertex -38.7129 25.8089 -0.2 endloop endfacet facet normal -0.437843 -0.899052 0 outer loop - vertex -38.7129 25.8089 -0.1 + vertex -38.7129 25.8089 -0.2 vertex -38.5664 25.7376 0 vertex -38.7129 25.8089 0 endloop @@ -40511,13 +40511,13 @@ solid OpenSCAD_Model facet normal -0.437843 -0.899052 -0 outer loop vertex -38.5664 25.7376 0 - vertex -38.7129 25.8089 -0.1 - vertex -38.5664 25.7376 -0.1 + vertex -38.7129 25.8089 -0.2 + vertex -38.5664 25.7376 -0.2 endloop endfacet facet normal -0.553117 -0.833103 0 outer loop - vertex -38.5664 25.7376 -0.1 + vertex -38.5664 25.7376 -0.2 vertex -38.2113 25.5018 0 vertex -38.5664 25.7376 0 endloop @@ -40525,13 +40525,13 @@ solid OpenSCAD_Model facet normal -0.553117 -0.833103 -0 outer loop vertex -38.2113 25.5018 0 - vertex -38.5664 25.7376 -0.1 - vertex -38.2113 25.5018 -0.1 + vertex -38.5664 25.7376 -0.2 + vertex -38.2113 25.5018 -0.2 endloop endfacet facet normal -0.638761 -0.769405 0 outer loop - vertex -38.2113 25.5018 -0.1 + vertex -38.2113 25.5018 -0.2 vertex -37.776 25.1404 0 vertex -38.2113 25.5018 0 endloop @@ -40539,13 +40539,13 @@ solid OpenSCAD_Model facet normal -0.638761 -0.769405 -0 outer loop vertex -37.776 25.1404 0 - vertex -38.2113 25.5018 -0.1 - vertex -37.776 25.1404 -0.1 + vertex -38.2113 25.5018 -0.2 + vertex -37.776 25.1404 -0.2 endloop endfacet facet normal -0.64475 -0.764393 0 outer loop - vertex -37.776 25.1404 -0.1 + vertex -37.776 25.1404 -0.2 vertex -37.4147 24.8357 0 vertex -37.776 25.1404 0 endloop @@ -40553,13 +40553,13 @@ solid OpenSCAD_Model facet normal -0.64475 -0.764393 -0 outer loop vertex -37.4147 24.8357 0 - vertex -37.776 25.1404 -0.1 - vertex -37.4147 24.8357 -0.1 + vertex -37.776 25.1404 -0.2 + vertex -37.4147 24.8357 -0.2 endloop endfacet facet normal -0.602189 -0.798353 0 outer loop - vertex -37.4147 24.8357 -0.1 + vertex -37.4147 24.8357 -0.2 vertex -37.0225 24.5398 0 vertex -37.4147 24.8357 0 endloop @@ -40567,13 +40567,13 @@ solid OpenSCAD_Model facet normal -0.602189 -0.798353 -0 outer loop vertex -37.0225 24.5398 0 - vertex -37.4147 24.8357 -0.1 - vertex -37.0225 24.5398 -0.1 + vertex -37.4147 24.8357 -0.2 + vertex -37.0225 24.5398 -0.2 endloop endfacet facet normal -0.562472 -0.826816 0 outer loop - vertex -37.0225 24.5398 -0.1 + vertex -37.0225 24.5398 -0.2 vertex -36.6025 24.2541 0 vertex -37.0225 24.5398 0 endloop @@ -40581,13 +40581,13 @@ solid OpenSCAD_Model facet normal -0.562472 -0.826816 -0 outer loop vertex -36.6025 24.2541 0 - vertex -37.0225 24.5398 -0.1 - vertex -36.6025 24.2541 -0.1 + vertex -37.0225 24.5398 -0.2 + vertex -36.6025 24.2541 -0.2 endloop endfacet facet normal -0.525102 -0.851039 0 outer loop - vertex -36.6025 24.2541 -0.1 + vertex -36.6025 24.2541 -0.2 vertex -36.1579 23.9798 0 vertex -36.6025 24.2541 0 endloop @@ -40595,13 +40595,13 @@ solid OpenSCAD_Model facet normal -0.525102 -0.851039 -0 outer loop vertex -36.1579 23.9798 0 - vertex -36.6025 24.2541 -0.1 - vertex -36.1579 23.9798 -0.1 + vertex -36.6025 24.2541 -0.2 + vertex -36.1579 23.9798 -0.2 endloop endfacet facet normal -0.489575 -0.871961 0 outer loop - vertex -36.1579 23.9798 -0.1 + vertex -36.1579 23.9798 -0.2 vertex -35.6921 23.7183 0 vertex -36.1579 23.9798 0 endloop @@ -40609,13 +40609,13 @@ solid OpenSCAD_Model facet normal -0.489575 -0.871961 -0 outer loop vertex -35.6921 23.7183 0 - vertex -36.1579 23.9798 -0.1 - vertex -35.6921 23.7183 -0.1 + vertex -36.1579 23.9798 -0.2 + vertex -35.6921 23.7183 -0.2 endloop endfacet facet normal -0.455389 -0.890292 0 outer loop - vertex -35.6921 23.7183 -0.1 + vertex -35.6921 23.7183 -0.2 vertex -35.2082 23.4707 0 vertex -35.6921 23.7183 0 endloop @@ -40623,13 +40623,13 @@ solid OpenSCAD_Model facet normal -0.455389 -0.890292 -0 outer loop vertex -35.2082 23.4707 0 - vertex -35.6921 23.7183 -0.1 - vertex -35.2082 23.4707 -0.1 + vertex -35.6921 23.7183 -0.2 + vertex -35.2082 23.4707 -0.2 endloop endfacet facet normal -0.422055 -0.90657 0 outer loop - vertex -35.2082 23.4707 -0.1 + vertex -35.2082 23.4707 -0.2 vertex -34.7094 23.2385 0 vertex -35.2082 23.4707 0 endloop @@ -40637,13 +40637,13 @@ solid OpenSCAD_Model facet normal -0.422055 -0.90657 -0 outer loop vertex -34.7094 23.2385 0 - vertex -35.2082 23.4707 -0.1 - vertex -34.7094 23.2385 -0.1 + vertex -35.2082 23.4707 -0.2 + vertex -34.7094 23.2385 -0.2 endloop endfacet facet normal -0.389101 -0.921195 0 outer loop - vertex -34.7094 23.2385 -0.1 + vertex -34.7094 23.2385 -0.2 vertex -34.199 23.023 0 vertex -34.7094 23.2385 0 endloop @@ -40651,13 +40651,13 @@ solid OpenSCAD_Model facet normal -0.389101 -0.921195 -0 outer loop vertex -34.199 23.023 0 - vertex -34.7094 23.2385 -0.1 - vertex -34.199 23.023 -0.1 + vertex -34.7094 23.2385 -0.2 + vertex -34.199 23.023 -0.2 endloop endfacet facet normal -0.356052 -0.934466 0 outer loop - vertex -34.199 23.023 -0.1 + vertex -34.199 23.023 -0.2 vertex -33.6803 22.8253 0 vertex -34.199 23.023 0 endloop @@ -40665,13 +40665,13 @@ solid OpenSCAD_Model facet normal -0.356052 -0.934466 -0 outer loop vertex -33.6803 22.8253 0 - vertex -34.199 23.023 -0.1 - vertex -33.6803 22.8253 -0.1 + vertex -34.199 23.023 -0.2 + vertex -33.6803 22.8253 -0.2 endloop endfacet facet normal -0.3224 -0.946604 0 outer loop - vertex -33.6803 22.8253 -0.1 + vertex -33.6803 22.8253 -0.2 vertex -33.1564 22.6469 0 vertex -33.6803 22.8253 0 endloop @@ -40679,13 +40679,13 @@ solid OpenSCAD_Model facet normal -0.3224 -0.946604 -0 outer loop vertex -33.1564 22.6469 0 - vertex -33.6803 22.8253 -0.1 - vertex -33.1564 22.6469 -0.1 + vertex -33.6803 22.8253 -0.2 + vertex -33.1564 22.6469 -0.2 endloop endfacet facet normal -0.287637 -0.95774 0 outer loop - vertex -33.1564 22.6469 -0.1 + vertex -33.1564 22.6469 -0.2 vertex -32.6306 22.489 0 vertex -33.1564 22.6469 0 endloop @@ -40693,13 +40693,13 @@ solid OpenSCAD_Model facet normal -0.287637 -0.95774 -0 outer loop vertex -32.6306 22.489 0 - vertex -33.1564 22.6469 -0.1 - vertex -32.6306 22.489 -0.1 + vertex -33.1564 22.6469 -0.2 + vertex -32.6306 22.489 -0.2 endloop endfacet facet normal -0.251171 -0.967943 0 outer loop - vertex -32.6306 22.489 -0.1 + vertex -32.6306 22.489 -0.2 vertex -32.1061 22.3529 0 vertex -32.6306 22.489 0 endloop @@ -40707,13 +40707,13 @@ solid OpenSCAD_Model facet normal -0.251171 -0.967943 -0 outer loop vertex -32.1061 22.3529 0 - vertex -32.6306 22.489 -0.1 - vertex -32.1061 22.3529 -0.1 + vertex -32.6306 22.489 -0.2 + vertex -32.1061 22.3529 -0.2 endloop endfacet facet normal -0.212348 -0.977194 0 outer loop - vertex -32.1061 22.3529 -0.1 + vertex -32.1061 22.3529 -0.2 vertex -31.5861 22.2399 0 vertex -32.1061 22.3529 0 endloop @@ -40721,13 +40721,13 @@ solid OpenSCAD_Model facet normal -0.212348 -0.977194 -0 outer loop vertex -31.5861 22.2399 0 - vertex -32.1061 22.3529 -0.1 - vertex -31.5861 22.2399 -0.1 + vertex -32.1061 22.3529 -0.2 + vertex -31.5861 22.2399 -0.2 endloop endfacet facet normal -0.170418 -0.985372 0 outer loop - vertex -31.5861 22.2399 -0.1 + vertex -31.5861 22.2399 -0.2 vertex -31.074 22.1513 0 vertex -31.5861 22.2399 0 endloop @@ -40735,13 +40735,13 @@ solid OpenSCAD_Model facet normal -0.170418 -0.985372 -0 outer loop vertex -31.074 22.1513 0 - vertex -31.5861 22.2399 -0.1 - vertex -31.074 22.1513 -0.1 + vertex -31.5861 22.2399 -0.2 + vertex -31.074 22.1513 -0.2 endloop endfacet facet normal -0.124476 -0.992223 0 outer loop - vertex -31.074 22.1513 -0.1 + vertex -31.074 22.1513 -0.2 vertex -30.5728 22.0884 0 vertex -31.074 22.1513 0 endloop @@ -40749,13 +40749,13 @@ solid OpenSCAD_Model facet normal -0.124476 -0.992223 -0 outer loop vertex -30.5728 22.0884 0 - vertex -31.074 22.1513 -0.1 - vertex -30.5728 22.0884 -0.1 + vertex -31.074 22.1513 -0.2 + vertex -30.5728 22.0884 -0.2 endloop endfacet facet normal -0.0734593 -0.997298 0 outer loop - vertex -30.5728 22.0884 -0.1 + vertex -30.5728 22.0884 -0.2 vertex -30.0859 22.0525 0 vertex -30.5728 22.0884 0 endloop @@ -40763,13 +40763,13 @@ solid OpenSCAD_Model facet normal -0.0734593 -0.997298 -0 outer loop vertex -30.0859 22.0525 0 - vertex -30.5728 22.0884 -0.1 - vertex -30.0859 22.0525 -0.1 + vertex -30.5728 22.0884 -0.2 + vertex -30.0859 22.0525 -0.2 endloop endfacet facet normal -0.0457633 -0.998952 0 outer loop - vertex -30.0859 22.0525 -0.1 + vertex -30.0859 22.0525 -0.2 vertex -28.3394 21.9725 0 vertex -30.0859 22.0525 0 endloop @@ -40777,13 +40777,13 @@ solid OpenSCAD_Model facet normal -0.0457633 -0.998952 -0 outer loop vertex -28.3394 21.9725 0 - vertex -30.0859 22.0525 -0.1 - vertex -28.3394 21.9725 -0.1 + vertex -30.0859 22.0525 -0.2 + vertex -28.3394 21.9725 -0.2 endloop endfacet facet normal 0.491953 0.870622 -0 outer loop - vertex -28.3394 21.9725 -0.1 + vertex -28.3394 21.9725 -0.2 vertex -29.0186 22.3563 0 vertex -28.3394 21.9725 0 endloop @@ -40791,13 +40791,13 @@ solid OpenSCAD_Model facet normal 0.491953 0.870622 0 outer loop vertex -29.0186 22.3563 0 - vertex -28.3394 21.9725 -0.1 - vertex -29.0186 22.3563 -0.1 + vertex -28.3394 21.9725 -0.2 + vertex -29.0186 22.3563 -0.2 endloop endfacet facet normal 0.506614 0.862173 -0 outer loop - vertex -29.0186 22.3563 -0.1 + vertex -29.0186 22.3563 -0.2 vertex -29.4321 22.5993 0 vertex -29.0186 22.3563 0 endloop @@ -40805,13 +40805,13 @@ solid OpenSCAD_Model facet normal 0.506614 0.862173 0 outer loop vertex -29.4321 22.5993 0 - vertex -29.0186 22.3563 -0.1 - vertex -29.4321 22.5993 -0.1 + vertex -29.0186 22.3563 -0.2 + vertex -29.4321 22.5993 -0.2 endloop endfacet facet normal 0.54186 0.840469 -0 outer loop - vertex -29.4321 22.5993 -0.1 + vertex -29.4321 22.5993 -0.2 vertex -29.7937 22.8325 0 vertex -29.4321 22.5993 0 endloop @@ -40819,13 +40819,13 @@ solid OpenSCAD_Model facet normal 0.54186 0.840469 0 outer loop vertex -29.7937 22.8325 0 - vertex -29.4321 22.5993 -0.1 - vertex -29.7937 22.8325 -0.1 + vertex -29.4321 22.5993 -0.2 + vertex -29.7937 22.8325 -0.2 endloop endfacet facet normal 0.585975 0.810329 -0 outer loop - vertex -29.7937 22.8325 -0.1 + vertex -29.7937 22.8325 -0.2 vertex -30.1071 23.0591 0 vertex -29.7937 22.8325 0 endloop @@ -40833,13 +40833,13 @@ solid OpenSCAD_Model facet normal 0.585975 0.810329 0 outer loop vertex -30.1071 23.0591 0 - vertex -29.7937 22.8325 -0.1 - vertex -30.1071 23.0591 -0.1 + vertex -29.7937 22.8325 -0.2 + vertex -30.1071 23.0591 -0.2 endloop endfacet facet normal 0.639127 0.769101 -0 outer loop - vertex -30.1071 23.0591 -0.1 + vertex -30.1071 23.0591 -0.2 vertex -30.3761 23.2826 0 vertex -30.1071 23.0591 0 endloop @@ -40847,13 +40847,13 @@ solid OpenSCAD_Model facet normal 0.639127 0.769101 0 outer loop vertex -30.3761 23.2826 0 - vertex -30.1071 23.0591 -0.1 - vertex -30.3761 23.2826 -0.1 + vertex -30.1071 23.0591 -0.2 + vertex -30.3761 23.2826 -0.2 endloop endfacet facet normal 0.700019 0.714124 -0 outer loop - vertex -30.3761 23.2826 -0.1 + vertex -30.3761 23.2826 -0.2 vertex -30.6044 23.5064 0 vertex -30.3761 23.2826 0 endloop @@ -40861,125 +40861,125 @@ solid OpenSCAD_Model facet normal 0.700019 0.714124 0 outer loop vertex -30.6044 23.5064 0 - vertex -30.3761 23.2826 -0.1 - vertex -30.6044 23.5064 -0.1 + vertex -30.3761 23.2826 -0.2 + vertex -30.6044 23.5064 -0.2 endloop endfacet facet normal 0.765169 0.643829 0 outer loop vertex -30.6044 23.5064 0 - vertex -30.7957 23.7338 -0.1 + vertex -30.7957 23.7338 -0.2 vertex -30.7957 23.7338 0 endloop endfacet facet normal 0.765169 0.643829 0 outer loop - vertex -30.7957 23.7338 -0.1 + vertex -30.7957 23.7338 -0.2 vertex -30.6044 23.5064 0 - vertex -30.6044 23.5064 -0.1 + vertex -30.6044 23.5064 -0.2 endloop endfacet facet normal 0.828969 0.559295 0 outer loop vertex -30.7957 23.7338 0 - vertex -30.9539 23.9682 -0.1 + vertex -30.9539 23.9682 -0.2 vertex -30.9539 23.9682 0 endloop endfacet facet normal 0.828969 0.559295 0 outer loop - vertex -30.9539 23.9682 -0.1 + vertex -30.9539 23.9682 -0.2 vertex -30.7957 23.7338 0 - vertex -30.7957 23.7338 -0.1 + vertex -30.7957 23.7338 -0.2 endloop endfacet facet normal 0.885091 0.465418 0 outer loop vertex -30.9539 23.9682 0 - vertex -31.0826 24.213 -0.1 + vertex -31.0826 24.213 -0.2 vertex -31.0826 24.213 0 endloop endfacet facet normal 0.885091 0.465418 0 outer loop - vertex -31.0826 24.213 -0.1 + vertex -31.0826 24.213 -0.2 vertex -30.9539 23.9682 0 - vertex -30.9539 23.9682 -0.1 + vertex -30.9539 23.9682 -0.2 endloop endfacet facet normal 0.929158 0.369682 0 outer loop vertex -31.0826 24.213 0 - vertex -31.2103 24.5339 -0.1 + vertex -31.2103 24.5339 -0.2 vertex -31.2103 24.5339 0 endloop endfacet facet normal 0.929158 0.369682 0 outer loop - vertex -31.2103 24.5339 -0.1 + vertex -31.2103 24.5339 -0.2 vertex -31.0826 24.213 0 - vertex -31.0826 24.213 -0.1 + vertex -31.0826 24.213 -0.2 endloop endfacet facet normal 0.975453 0.220208 0 outer loop vertex -31.2103 24.5339 0 - vertex -31.2656 24.779 -0.1 + vertex -31.2656 24.779 -0.2 vertex -31.2656 24.779 0 endloop endfacet facet normal 0.975453 0.220208 0 outer loop - vertex -31.2656 24.779 -0.1 + vertex -31.2656 24.779 -0.2 vertex -31.2103 24.5339 0 - vertex -31.2103 24.5339 -0.1 + vertex -31.2103 24.5339 -0.2 endloop endfacet facet normal 0.99992 0.0126114 0 outer loop vertex -31.2656 24.779 0 - vertex -31.2668 24.8727 -0.1 + vertex -31.2668 24.8727 -0.2 vertex -31.2668 24.8727 0 endloop endfacet facet normal 0.99992 0.0126114 0 outer loop - vertex -31.2668 24.8727 -0.1 + vertex -31.2668 24.8727 -0.2 vertex -31.2656 24.779 0 - vertex -31.2656 24.779 -0.1 + vertex -31.2656 24.779 -0.2 endloop endfacet facet normal 0.977346 -0.211648 0 outer loop vertex -31.2668 24.8727 0 - vertex -31.2507 24.9472 -0.1 + vertex -31.2507 24.9472 -0.2 vertex -31.2507 24.9472 0 endloop endfacet facet normal 0.977346 -0.211648 0 outer loop - vertex -31.2507 24.9472 -0.1 + vertex -31.2507 24.9472 -0.2 vertex -31.2668 24.8727 0 - vertex -31.2668 24.8727 -0.1 + vertex -31.2668 24.8727 -0.2 endloop endfacet facet normal 0.856395 -0.516321 0 outer loop vertex -31.2507 24.9472 0 - vertex -31.2175 25.0021 -0.1 + vertex -31.2175 25.0021 -0.2 vertex -31.2175 25.0021 0 endloop endfacet facet normal 0.856395 -0.516321 0 outer loop - vertex -31.2175 25.0021 -0.1 + vertex -31.2175 25.0021 -0.2 vertex -31.2507 24.9472 0 - vertex -31.2507 24.9472 -0.1 + vertex -31.2507 24.9472 -0.2 endloop endfacet facet normal 0.578733 -0.815517 0 outer loop - vertex -31.2175 25.0021 -0.1 + vertex -31.2175 25.0021 -0.2 vertex -31.1676 25.0376 0 vertex -31.2175 25.0021 0 endloop @@ -40987,13 +40987,13 @@ solid OpenSCAD_Model facet normal 0.578733 -0.815517 0 outer loop vertex -31.1676 25.0376 0 - vertex -31.2175 25.0021 -0.1 - vertex -31.1676 25.0376 -0.1 + vertex -31.2175 25.0021 -0.2 + vertex -31.1676 25.0376 -0.2 endloop endfacet facet normal 0.230651 -0.973037 0 outer loop - vertex -31.1676 25.0376 -0.1 + vertex -31.1676 25.0376 -0.2 vertex -31.1012 25.0533 0 vertex -31.1676 25.0376 0 endloop @@ -41001,13 +41001,13 @@ solid OpenSCAD_Model facet normal 0.230651 -0.973037 0 outer loop vertex -31.1012 25.0533 0 - vertex -31.1676 25.0376 -0.1 - vertex -31.1012 25.0533 -0.1 + vertex -31.1676 25.0376 -0.2 + vertex -31.1012 25.0533 -0.2 endloop endfacet facet normal -0.0489514 -0.998801 0 outer loop - vertex -31.1012 25.0533 -0.1 + vertex -31.1012 25.0533 -0.2 vertex -31.0185 25.0493 0 vertex -31.1012 25.0533 0 endloop @@ -41015,13 +41015,13 @@ solid OpenSCAD_Model facet normal -0.0489514 -0.998801 -0 outer loop vertex -31.0185 25.0493 0 - vertex -31.1012 25.0533 -0.1 - vertex -31.0185 25.0493 -0.1 + vertex -31.1012 25.0533 -0.2 + vertex -31.0185 25.0493 -0.2 endloop endfacet facet normal -0.303972 -0.952681 0 outer loop - vertex -31.0185 25.0493 -0.1 + vertex -31.0185 25.0493 -0.2 vertex -30.8055 24.9813 0 vertex -31.0185 25.0493 0 endloop @@ -41029,13 +41029,13 @@ solid OpenSCAD_Model facet normal -0.303972 -0.952681 -0 outer loop vertex -30.8055 24.9813 0 - vertex -31.0185 25.0493 -0.1 - vertex -30.8055 24.9813 -0.1 + vertex -31.0185 25.0493 -0.2 + vertex -30.8055 24.9813 -0.2 endloop endfacet facet normal -0.475595 -0.879664 0 outer loop - vertex -30.8055 24.9813 -0.1 + vertex -30.8055 24.9813 -0.2 vertex -30.5308 24.8328 0 vertex -30.8055 24.9813 0 endloop @@ -41043,13 +41043,13 @@ solid OpenSCAD_Model facet normal -0.475595 -0.879664 -0 outer loop vertex -30.5308 24.8328 0 - vertex -30.8055 24.9813 -0.1 - vertex -30.5308 24.8328 -0.1 + vertex -30.8055 24.9813 -0.2 + vertex -30.5308 24.8328 -0.2 endloop endfacet facet normal -0.566807 -0.82385 0 outer loop - vertex -30.5308 24.8328 -0.1 + vertex -30.5308 24.8328 -0.2 vertex -30.1964 24.6027 0 vertex -30.5308 24.8328 0 endloop @@ -41057,13 +41057,13 @@ solid OpenSCAD_Model facet normal -0.566807 -0.82385 -0 outer loop vertex -30.1964 24.6027 0 - vertex -30.5308 24.8328 -0.1 - vertex -30.1964 24.6027 -0.1 + vertex -30.5308 24.8328 -0.2 + vertex -30.1964 24.6027 -0.2 endloop endfacet facet normal -0.552424 -0.833564 0 outer loop - vertex -30.1964 24.6027 -0.1 + vertex -30.1964 24.6027 -0.2 vertex -29.8023 24.3416 0 vertex -30.1964 24.6027 0 endloop @@ -41071,13 +41071,13 @@ solid OpenSCAD_Model facet normal -0.552424 -0.833564 -0 outer loop vertex -29.8023 24.3416 0 - vertex -30.1964 24.6027 -0.1 - vertex -29.8023 24.3416 -0.1 + vertex -30.1964 24.6027 -0.2 + vertex -29.8023 24.3416 -0.2 endloop endfacet facet normal -0.451398 -0.892323 0 outer loop - vertex -29.8023 24.3416 -0.1 + vertex -29.8023 24.3416 -0.2 vertex -29.384 24.13 0 vertex -29.8023 24.3416 0 endloop @@ -41085,13 +41085,13 @@ solid OpenSCAD_Model facet normal -0.451398 -0.892323 -0 outer loop vertex -29.384 24.13 0 - vertex -29.8023 24.3416 -0.1 - vertex -29.384 24.13 -0.1 + vertex -29.8023 24.3416 -0.2 + vertex -29.384 24.13 -0.2 endloop endfacet facet normal -0.34198 -0.939707 0 outer loop - vertex -29.384 24.13 -0.1 + vertex -29.384 24.13 -0.2 vertex -28.9359 23.9669 0 vertex -29.384 24.13 0 endloop @@ -41099,13 +41099,13 @@ solid OpenSCAD_Model facet normal -0.34198 -0.939707 -0 outer loop vertex -28.9359 23.9669 0 - vertex -29.384 24.13 -0.1 - vertex -28.9359 23.9669 -0.1 + vertex -29.384 24.13 -0.2 + vertex -28.9359 23.9669 -0.2 endloop endfacet facet normal -0.232476 -0.972602 0 outer loop - vertex -28.9359 23.9669 -0.1 + vertex -28.9359 23.9669 -0.2 vertex -28.4524 23.8513 0 vertex -28.9359 23.9669 0 endloop @@ -41113,13 +41113,13 @@ solid OpenSCAD_Model facet normal -0.232476 -0.972602 -0 outer loop vertex -28.4524 23.8513 0 - vertex -28.9359 23.9669 -0.1 - vertex -28.4524 23.8513 -0.1 + vertex -28.9359 23.9669 -0.2 + vertex -28.4524 23.8513 -0.2 endloop endfacet facet normal -0.130593 -0.991436 0 outer loop - vertex -28.4524 23.8513 -0.1 + vertex -28.4524 23.8513 -0.2 vertex -27.9279 23.7822 0 vertex -28.4524 23.8513 0 endloop @@ -41127,13 +41127,13 @@ solid OpenSCAD_Model facet normal -0.130593 -0.991436 -0 outer loop vertex -27.9279 23.7822 0 - vertex -28.4524 23.8513 -0.1 - vertex -27.9279 23.7822 -0.1 + vertex -28.4524 23.8513 -0.2 + vertex -27.9279 23.7822 -0.2 endloop endfacet facet normal -0.0413274 -0.999146 0 outer loop - vertex -27.9279 23.7822 -0.1 + vertex -27.9279 23.7822 -0.2 vertex -27.3569 23.7586 0 vertex -27.9279 23.7822 0 endloop @@ -41141,13 +41141,13 @@ solid OpenSCAD_Model facet normal -0.0413274 -0.999146 -0 outer loop vertex -27.3569 23.7586 0 - vertex -27.9279 23.7822 -0.1 - vertex -27.3569 23.7586 -0.1 + vertex -27.9279 23.7822 -0.2 + vertex -27.3569 23.7586 -0.2 endloop endfacet facet normal 0.0333972 -0.999442 0 outer loop - vertex -27.3569 23.7586 -0.1 + vertex -27.3569 23.7586 -0.2 vertex -26.7338 23.7794 0 vertex -27.3569 23.7586 0 endloop @@ -41155,13 +41155,13 @@ solid OpenSCAD_Model facet normal 0.0333972 -0.999442 0 outer loop vertex -26.7338 23.7794 0 - vertex -27.3569 23.7586 -0.1 - vertex -26.7338 23.7794 -0.1 + vertex -27.3569 23.7586 -0.2 + vertex -26.7338 23.7794 -0.2 endloop endfacet facet normal 0.0939488 -0.995577 0 outer loop - vertex -26.7338 23.7794 -0.1 + vertex -26.7338 23.7794 -0.2 vertex -26.053 23.8437 0 vertex -26.7338 23.7794 0 endloop @@ -41169,13 +41169,13 @@ solid OpenSCAD_Model facet normal 0.0939488 -0.995577 0 outer loop vertex -26.053 23.8437 0 - vertex -26.7338 23.7794 -0.1 - vertex -26.053 23.8437 -0.1 + vertex -26.7338 23.7794 -0.2 + vertex -26.053 23.8437 -0.2 endloop endfacet facet normal 0.119464 -0.992839 0 outer loop - vertex -26.053 23.8437 -0.1 + vertex -26.053 23.8437 -0.2 vertex -24.6523 24.0122 0 vertex -26.053 23.8437 0 endloop @@ -41183,13 +41183,13 @@ solid OpenSCAD_Model facet normal 0.119464 -0.992839 0 outer loop vertex -24.6523 24.0122 0 - vertex -26.053 23.8437 -0.1 - vertex -24.6523 24.0122 -0.1 + vertex -26.053 23.8437 -0.2 + vertex -24.6523 24.0122 -0.2 endloop endfacet facet normal 0.193693 0.981062 -0 outer loop - vertex -24.6523 24.0122 -0.1 + vertex -24.6523 24.0122 -0.2 vertex -26.0107 24.2804 0 vertex -24.6523 24.0122 0 endloop @@ -41197,13 +41197,13 @@ solid OpenSCAD_Model facet normal 0.193693 0.981062 0 outer loop vertex -26.0107 24.2804 0 - vertex -24.6523 24.0122 -0.1 - vertex -26.0107 24.2804 -0.1 + vertex -24.6523 24.0122 -0.2 + vertex -26.0107 24.2804 -0.2 endloop endfacet facet normal 0.214134 0.976804 -0 outer loop - vertex -26.0107 24.2804 -0.1 + vertex -26.0107 24.2804 -0.2 vertex -26.5818 24.4056 0 vertex -26.0107 24.2804 0 endloop @@ -41211,13 +41211,13 @@ solid OpenSCAD_Model facet normal 0.214134 0.976804 0 outer loop vertex -26.5818 24.4056 0 - vertex -26.0107 24.2804 -0.1 - vertex -26.5818 24.4056 -0.1 + vertex -26.0107 24.2804 -0.2 + vertex -26.5818 24.4056 -0.2 endloop endfacet facet normal 0.258173 0.966099 -0 outer loop - vertex -26.5818 24.4056 -0.1 + vertex -26.5818 24.4056 -0.2 vertex -27.1227 24.5501 0 vertex -26.5818 24.4056 0 endloop @@ -41225,13 +41225,13 @@ solid OpenSCAD_Model facet normal 0.258173 0.966099 0 outer loop vertex -27.1227 24.5501 0 - vertex -26.5818 24.4056 -0.1 - vertex -27.1227 24.5501 -0.1 + vertex -26.5818 24.4056 -0.2 + vertex -27.1227 24.5501 -0.2 endloop endfacet facet normal 0.306051 0.952015 -0 outer loop - vertex -27.1227 24.5501 -0.1 + vertex -27.1227 24.5501 -0.2 vertex -27.636 24.7152 0 vertex -27.1227 24.5501 0 endloop @@ -41239,13 +41239,13 @@ solid OpenSCAD_Model facet normal 0.306051 0.952015 0 outer loop vertex -27.636 24.7152 0 - vertex -27.1227 24.5501 -0.1 - vertex -27.636 24.7152 -0.1 + vertex -27.1227 24.5501 -0.2 + vertex -27.636 24.7152 -0.2 endloop endfacet facet normal 0.356888 0.934147 -0 outer loop - vertex -27.636 24.7152 -0.1 + vertex -27.636 24.7152 -0.2 vertex -28.1248 24.9019 0 vertex -27.636 24.7152 0 endloop @@ -41253,13 +41253,13 @@ solid OpenSCAD_Model facet normal 0.356888 0.934147 0 outer loop vertex -28.1248 24.9019 0 - vertex -27.636 24.7152 -0.1 - vertex -28.1248 24.9019 -0.1 + vertex -27.636 24.7152 -0.2 + vertex -28.1248 24.9019 -0.2 endloop endfacet facet normal 0.409468 0.912325 -0 outer loop - vertex -28.1248 24.9019 -0.1 + vertex -28.1248 24.9019 -0.2 vertex -28.5919 25.1115 0 vertex -28.1248 24.9019 0 endloop @@ -41267,13 +41267,13 @@ solid OpenSCAD_Model facet normal 0.409468 0.912325 0 outer loop vertex -28.5919 25.1115 0 - vertex -28.1248 24.9019 -0.1 - vertex -28.5919 25.1115 -0.1 + vertex -28.1248 24.9019 -0.2 + vertex -28.5919 25.1115 -0.2 endloop endfacet facet normal 0.462329 0.886708 -0 outer loop - vertex -28.5919 25.1115 -0.1 + vertex -28.5919 25.1115 -0.2 vertex -29.0402 25.3453 0 vertex -28.5919 25.1115 0 endloop @@ -41281,13 +41281,13 @@ solid OpenSCAD_Model facet normal 0.462329 0.886708 0 outer loop vertex -29.0402 25.3453 0 - vertex -28.5919 25.1115 -0.1 - vertex -29.0402 25.3453 -0.1 + vertex -28.5919 25.1115 -0.2 + vertex -29.0402 25.3453 -0.2 endloop endfacet facet normal 0.51393 0.857832 -0 outer loop - vertex -29.0402 25.3453 -0.1 + vertex -29.0402 25.3453 -0.2 vertex -29.4725 25.6043 0 vertex -29.0402 25.3453 0 endloop @@ -41295,13 +41295,13 @@ solid OpenSCAD_Model facet normal 0.51393 0.857832 0 outer loop vertex -29.4725 25.6043 0 - vertex -29.0402 25.3453 -0.1 - vertex -29.4725 25.6043 -0.1 + vertex -29.0402 25.3453 -0.2 + vertex -29.4725 25.6043 -0.2 endloop endfacet facet normal 0.562822 0.826578 -0 outer loop - vertex -29.4725 25.6043 -0.1 + vertex -29.4725 25.6043 -0.2 vertex -29.8918 25.8898 0 vertex -29.4725 25.6043 0 endloop @@ -41309,13 +41309,13 @@ solid OpenSCAD_Model facet normal 0.562822 0.826578 0 outer loop vertex -29.8918 25.8898 0 - vertex -29.4725 25.6043 -0.1 - vertex -29.8918 25.8898 -0.1 + vertex -29.4725 25.6043 -0.2 + vertex -29.8918 25.8898 -0.2 endloop endfacet facet normal 0.607723 0.794149 -0 outer loop - vertex -29.8918 25.8898 -0.1 + vertex -29.8918 25.8898 -0.2 vertex -30.6514 26.471 0 vertex -29.8918 25.8898 0 endloop @@ -41323,13 +41323,13 @@ solid OpenSCAD_Model facet normal 0.607723 0.794149 0 outer loop vertex -30.6514 26.471 0 - vertex -29.8918 25.8898 -0.1 - vertex -30.6514 26.471 -0.1 + vertex -29.8918 25.8898 -0.2 + vertex -30.6514 26.471 -0.2 endloop endfacet facet normal 0.662833 0.748767 -0 outer loop - vertex -30.6514 26.471 -0.1 + vertex -30.6514 26.471 -0.2 vertex -30.9143 26.7038 0 vertex -30.6514 26.471 0 endloop @@ -41337,83 +41337,83 @@ solid OpenSCAD_Model facet normal 0.662833 0.748767 0 outer loop vertex -30.9143 26.7038 0 - vertex -30.6514 26.471 -0.1 - vertex -30.9143 26.7038 -0.1 + vertex -30.6514 26.471 -0.2 + vertex -30.9143 26.7038 -0.2 endloop endfacet facet normal 0.725171 0.688569 0 outer loop vertex -30.9143 26.7038 0 - vertex -31.1043 26.9038 -0.1 + vertex -31.1043 26.9038 -0.2 vertex -31.1043 26.9038 0 endloop endfacet facet normal 0.725171 0.688569 0 outer loop - vertex -31.1043 26.9038 -0.1 + vertex -31.1043 26.9038 -0.2 vertex -30.9143 26.7038 0 - vertex -30.9143 26.7038 -0.1 + vertex -30.9143 26.7038 -0.2 endloop endfacet facet normal 0.818345 0.574727 0 outer loop vertex -31.1043 26.9038 0 - vertex -31.2248 27.0754 -0.1 + vertex -31.2248 27.0754 -0.2 vertex -31.2248 27.0754 0 endloop endfacet facet normal 0.818345 0.574727 0 outer loop - vertex -31.2248 27.0754 -0.1 + vertex -31.2248 27.0754 -0.2 vertex -31.1043 26.9038 0 - vertex -31.1043 26.9038 -0.1 + vertex -31.1043 26.9038 -0.2 endloop endfacet facet normal 0.937593 0.347734 0 outer loop vertex -31.2248 27.0754 0 - vertex -31.2795 27.2229 -0.1 + vertex -31.2795 27.2229 -0.2 vertex -31.2795 27.2229 0 endloop endfacet facet normal 0.937593 0.347734 0 outer loop - vertex -31.2795 27.2229 -0.1 + vertex -31.2795 27.2229 -0.2 vertex -31.2248 27.0754 0 - vertex -31.2248 27.0754 -0.1 + vertex -31.2248 27.0754 -0.2 endloop endfacet facet normal 0.99829 -0.0584589 0 outer loop vertex -31.2795 27.2229 0 - vertex -31.272 27.3506 -0.1 + vertex -31.272 27.3506 -0.2 vertex -31.272 27.3506 0 endloop endfacet facet normal 0.99829 -0.0584589 0 outer loop - vertex -31.272 27.3506 -0.1 + vertex -31.272 27.3506 -0.2 vertex -31.2795 27.2229 0 - vertex -31.2795 27.2229 -0.1 + vertex -31.2795 27.2229 -0.2 endloop endfacet facet normal 0.861994 -0.506918 0 outer loop vertex -31.272 27.3506 0 - vertex -31.2059 27.4629 -0.1 + vertex -31.2059 27.4629 -0.2 vertex -31.2059 27.4629 0 endloop endfacet facet normal 0.861994 -0.506918 0 outer loop - vertex -31.2059 27.4629 -0.1 + vertex -31.2059 27.4629 -0.2 vertex -31.272 27.3506 0 - vertex -31.272 27.3506 -0.1 + vertex -31.272 27.3506 -0.2 endloop endfacet facet normal 0.566536 -0.824037 0 outer loop - vertex -31.2059 27.4629 -0.1 + vertex -31.2059 27.4629 -0.2 vertex -31.1289 27.5158 0 vertex -31.2059 27.4629 0 endloop @@ -41421,13 +41421,13 @@ solid OpenSCAD_Model facet normal 0.566536 -0.824037 0 outer loop vertex -31.1289 27.5158 0 - vertex -31.2059 27.4629 -0.1 - vertex -31.1289 27.5158 -0.1 + vertex -31.2059 27.4629 -0.2 + vertex -31.1289 27.5158 -0.2 endloop endfacet facet normal 0.198224 -0.980157 0 outer loop - vertex -31.1289 27.5158 -0.1 + vertex -31.1289 27.5158 -0.2 vertex -31.0145 27.539 0 vertex -31.1289 27.5158 0 endloop @@ -41435,13 +41435,13 @@ solid OpenSCAD_Model facet normal 0.198224 -0.980157 0 outer loop vertex -31.0145 27.539 0 - vertex -31.1289 27.5158 -0.1 - vertex -31.0145 27.539 -0.1 + vertex -31.1289 27.5158 -0.2 + vertex -31.0145 27.539 -0.2 endloop endfacet facet normal -0.0498903 -0.998755 0 outer loop - vertex -31.0145 27.539 -0.1 + vertex -31.0145 27.539 -0.2 vertex -30.8579 27.5312 0 vertex -31.0145 27.539 0 endloop @@ -41449,13 +41449,13 @@ solid OpenSCAD_Model facet normal -0.0498903 -0.998755 -0 outer loop vertex -30.8579 27.5312 0 - vertex -31.0145 27.539 -0.1 - vertex -30.8579 27.5312 -0.1 + vertex -31.0145 27.539 -0.2 + vertex -30.8579 27.5312 -0.2 endloop endfacet facet normal -0.192665 -0.981265 0 outer loop - vertex -30.8579 27.5312 -0.1 + vertex -30.8579 27.5312 -0.2 vertex -30.6543 27.4912 0 vertex -30.8579 27.5312 0 endloop @@ -41463,13 +41463,13 @@ solid OpenSCAD_Model facet normal -0.192665 -0.981265 -0 outer loop vertex -30.6543 27.4912 0 - vertex -30.8579 27.5312 -0.1 - vertex -30.6543 27.4912 -0.1 + vertex -30.8579 27.5312 -0.2 + vertex -30.6543 27.4912 -0.2 endloop endfacet facet normal -0.304248 -0.952593 0 outer loop - vertex -30.6543 27.4912 -0.1 + vertex -30.6543 27.4912 -0.2 vertex -30.0875 27.3102 0 vertex -30.6543 27.4912 0 endloop @@ -41477,13 +41477,13 @@ solid OpenSCAD_Model facet normal -0.304248 -0.952593 -0 outer loop vertex -30.0875 27.3102 0 - vertex -30.6543 27.4912 -0.1 - vertex -30.0875 27.3102 -0.1 + vertex -30.6543 27.4912 -0.2 + vertex -30.0875 27.3102 -0.2 endloop endfacet facet normal -0.370492 -0.928836 0 outer loop - vertex -30.0875 27.3102 -0.1 + vertex -30.0875 27.3102 -0.2 vertex -29.2762 26.9865 0 vertex -30.0875 27.3102 0 endloop @@ -41491,13 +41491,13 @@ solid OpenSCAD_Model facet normal -0.370492 -0.928836 -0 outer loop vertex -29.2762 26.9865 0 - vertex -30.0875 27.3102 -0.1 - vertex -29.2762 26.9865 -0.1 + vertex -30.0875 27.3102 -0.2 + vertex -29.2762 26.9865 -0.2 endloop endfacet facet normal -0.380261 -0.924879 0 outer loop - vertex -29.2762 26.9865 -0.1 + vertex -29.2762 26.9865 -0.2 vertex -28.7314 26.7626 0 vertex -29.2762 26.9865 0 endloop @@ -41505,13 +41505,13 @@ solid OpenSCAD_Model facet normal -0.380261 -0.924879 -0 outer loop vertex -28.7314 26.7626 0 - vertex -29.2762 26.9865 -0.1 - vertex -28.7314 26.7626 -0.1 + vertex -29.2762 26.9865 -0.2 + vertex -28.7314 26.7626 -0.2 endloop endfacet facet normal -0.349246 -0.937031 0 outer loop - vertex -28.7314 26.7626 -0.1 + vertex -28.7314 26.7626 -0.2 vertex -28.2663 26.5892 0 vertex -28.7314 26.7626 0 endloop @@ -41519,13 +41519,13 @@ solid OpenSCAD_Model facet normal -0.349246 -0.937031 -0 outer loop vertex -28.2663 26.5892 0 - vertex -28.7314 26.7626 -0.1 - vertex -28.2663 26.5892 -0.1 + vertex -28.7314 26.7626 -0.2 + vertex -28.2663 26.5892 -0.2 endloop endfacet facet normal -0.29135 -0.956616 0 outer loop - vertex -28.2663 26.5892 -0.1 + vertex -28.2663 26.5892 -0.2 vertex -27.8395 26.4592 0 vertex -28.2663 26.5892 0 endloop @@ -41533,13 +41533,13 @@ solid OpenSCAD_Model facet normal -0.29135 -0.956616 -0 outer loop vertex -27.8395 26.4592 0 - vertex -28.2663 26.5892 -0.1 - vertex -27.8395 26.4592 -0.1 + vertex -28.2663 26.5892 -0.2 + vertex -27.8395 26.4592 -0.2 endloop endfacet facet normal -0.213404 -0.976964 0 outer loop - vertex -27.8395 26.4592 -0.1 + vertex -27.8395 26.4592 -0.2 vertex -27.4097 26.3653 0 vertex -27.8395 26.4592 0 endloop @@ -41547,13 +41547,13 @@ solid OpenSCAD_Model facet normal -0.213404 -0.976964 -0 outer loop vertex -27.4097 26.3653 0 - vertex -27.8395 26.4592 -0.1 - vertex -27.4097 26.3653 -0.1 + vertex -27.8395 26.4592 -0.2 + vertex -27.4097 26.3653 -0.2 endloop endfacet facet normal -0.13595 -0.990716 0 outer loop - vertex -27.4097 26.3653 -0.1 + vertex -27.4097 26.3653 -0.2 vertex -26.9353 26.3003 0 vertex -27.4097 26.3653 0 endloop @@ -41561,13 +41561,13 @@ solid OpenSCAD_Model facet normal -0.13595 -0.990716 -0 outer loop vertex -26.9353 26.3003 0 - vertex -27.4097 26.3653 -0.1 - vertex -26.9353 26.3003 -0.1 + vertex -27.4097 26.3653 -0.2 + vertex -26.9353 26.3003 -0.2 endloop endfacet facet normal -0.077531 -0.99699 0 outer loop - vertex -26.9353 26.3003 -0.1 + vertex -26.9353 26.3003 -0.2 vertex -26.3751 26.2567 0 vertex -26.9353 26.3003 0 endloop @@ -41575,13 +41575,13 @@ solid OpenSCAD_Model facet normal -0.077531 -0.99699 -0 outer loop vertex -26.3751 26.2567 0 - vertex -26.9353 26.3003 -0.1 - vertex -26.3751 26.2567 -0.1 + vertex -26.9353 26.3003 -0.2 + vertex -26.3751 26.2567 -0.2 endloop endfacet facet normal -0.0334453 -0.999441 0 outer loop - vertex -26.3751 26.2567 -0.1 + vertex -26.3751 26.2567 -0.2 vertex -24.8316 26.205 0 vertex -26.3751 26.2567 0 endloop @@ -41589,13 +41589,13 @@ solid OpenSCAD_Model facet normal -0.0334453 -0.999441 -0 outer loop vertex -24.8316 26.205 0 - vertex -26.3751 26.2567 -0.1 - vertex -24.8316 26.205 -0.1 + vertex -26.3751 26.2567 -0.2 + vertex -24.8316 26.205 -0.2 endloop endfacet facet normal -0.00940958 -0.999956 0 outer loop - vertex -24.8316 26.205 -0.1 + vertex -24.8316 26.205 -0.2 vertex -23.1385 26.1891 0 vertex -24.8316 26.205 0 endloop @@ -41603,13 +41603,13 @@ solid OpenSCAD_Model facet normal -0.00940958 -0.999956 -0 outer loop vertex -23.1385 26.1891 0 - vertex -24.8316 26.205 -0.1 - vertex -23.1385 26.1891 -0.1 + vertex -24.8316 26.205 -0.2 + vertex -23.1385 26.1891 -0.2 endloop endfacet facet normal 0.0248422 -0.999691 0 outer loop - vertex -23.1385 26.1891 -0.1 + vertex -23.1385 26.1891 -0.2 vertex -22.5186 26.2045 0 vertex -23.1385 26.1891 0 endloop @@ -41617,13 +41617,13 @@ solid OpenSCAD_Model facet normal 0.0248422 -0.999691 0 outer loop vertex -22.5186 26.2045 0 - vertex -23.1385 26.1891 -0.1 - vertex -22.5186 26.2045 -0.1 + vertex -23.1385 26.1891 -0.2 + vertex -22.5186 26.2045 -0.2 endloop endfacet facet normal 0.066912 -0.997759 0 outer loop - vertex -22.5186 26.2045 -0.1 + vertex -22.5186 26.2045 -0.2 vertex -22.0356 26.2369 0 vertex -22.5186 26.2045 0 endloop @@ -41631,13 +41631,13 @@ solid OpenSCAD_Model facet normal 0.066912 -0.997759 0 outer loop vertex -22.0356 26.2369 0 - vertex -22.5186 26.2045 -0.1 - vertex -22.0356 26.2369 -0.1 + vertex -22.5186 26.2045 -0.2 + vertex -22.0356 26.2369 -0.2 endloop endfacet facet normal 0.139914 -0.990164 0 outer loop - vertex -22.0356 26.2369 -0.1 + vertex -22.0356 26.2369 -0.2 vertex -21.6785 26.2874 0 vertex -22.0356 26.2369 0 endloop @@ -41645,13 +41645,13 @@ solid OpenSCAD_Model facet normal 0.139914 -0.990164 0 outer loop vertex -21.6785 26.2874 0 - vertex -22.0356 26.2369 -0.1 - vertex -21.6785 26.2874 -0.1 + vertex -22.0356 26.2369 -0.2 + vertex -21.6785 26.2874 -0.2 endloop endfacet facet normal 0.276553 -0.960999 0 outer loop - vertex -21.6785 26.2874 -0.1 + vertex -21.6785 26.2874 -0.2 vertex -21.4368 26.3569 0 vertex -21.6785 26.2874 0 endloop @@ -41659,13 +41659,13 @@ solid OpenSCAD_Model facet normal 0.276553 -0.960999 0 outer loop vertex -21.4368 26.3569 0 - vertex -21.6785 26.2874 -0.1 - vertex -21.4368 26.3569 -0.1 + vertex -21.6785 26.2874 -0.2 + vertex -21.4368 26.3569 -0.2 endloop endfacet facet normal 0.462821 -0.886452 0 outer loop - vertex -21.4368 26.3569 -0.1 + vertex -21.4368 26.3569 -0.2 vertex -21.3558 26.3992 0 vertex -21.4368 26.3569 0 endloop @@ -41673,13 +41673,13 @@ solid OpenSCAD_Model facet normal 0.462821 -0.886452 0 outer loop vertex -21.3558 26.3992 0 - vertex -21.4368 26.3569 -0.1 - vertex -21.3558 26.3992 -0.1 + vertex -21.4368 26.3569 -0.2 + vertex -21.3558 26.3992 -0.2 endloop endfacet facet normal 0.645311 -0.76392 0 outer loop - vertex -21.3558 26.3992 -0.1 + vertex -21.3558 26.3992 -0.2 vertex -21.2997 26.4466 0 vertex -21.3558 26.3992 0 endloop @@ -41687,55 +41687,55 @@ solid OpenSCAD_Model facet normal 0.645311 -0.76392 0 outer loop vertex -21.2997 26.4466 0 - vertex -21.3558 26.3992 -0.1 - vertex -21.2997 26.4466 -0.1 + vertex -21.3558 26.3992 -0.2 + vertex -21.2997 26.4466 -0.2 endloop endfacet facet normal 0.84984 -0.527041 0 outer loop vertex -21.2997 26.4466 0 - vertex -21.2669 26.4994 -0.1 + vertex -21.2669 26.4994 -0.2 vertex -21.2669 26.4994 0 endloop endfacet facet normal 0.84984 -0.527041 0 outer loop - vertex -21.2669 26.4994 -0.1 + vertex -21.2669 26.4994 -0.2 vertex -21.2997 26.4466 0 - vertex -21.2997 26.4466 -0.1 + vertex -21.2997 26.4466 -0.2 endloop endfacet facet normal 0.98379 -0.179322 0 outer loop vertex -21.2669 26.4994 0 - vertex -21.2563 26.5576 -0.1 + vertex -21.2563 26.5576 -0.2 vertex -21.2563 26.5576 0 endloop endfacet facet normal 0.98379 -0.179322 0 outer loop - vertex -21.2563 26.5576 -0.1 + vertex -21.2563 26.5576 -0.2 vertex -21.2669 26.4994 0 - vertex -21.2669 26.4994 -0.1 + vertex -21.2669 26.4994 -0.2 endloop endfacet facet normal 0.837844 0.54591 0 outer loop vertex -21.2563 26.5576 0 - vertex -21.2799 26.5937 -0.1 + vertex -21.2799 26.5937 -0.2 vertex -21.2799 26.5937 0 endloop endfacet facet normal 0.837844 0.54591 0 outer loop - vertex -21.2799 26.5937 -0.1 + vertex -21.2799 26.5937 -0.2 vertex -21.2563 26.5576 0 - vertex -21.2563 26.5576 -0.1 + vertex -21.2563 26.5576 -0.2 endloop endfacet facet normal 0.505324 0.86293 -0 outer loop - vertex -21.2799 26.5937 -0.1 + vertex -21.2799 26.5937 -0.2 vertex -21.3473 26.6332 0 vertex -21.2799 26.5937 0 endloop @@ -41743,13 +41743,13 @@ solid OpenSCAD_Model facet normal 0.505324 0.86293 0 outer loop vertex -21.3473 26.6332 0 - vertex -21.2799 26.5937 -0.1 - vertex -21.3473 26.6332 -0.1 + vertex -21.2799 26.5937 -0.2 + vertex -21.3473 26.6332 -0.2 endloop endfacet facet normal 0.321132 0.947035 -0 outer loop - vertex -21.3473 26.6332 -0.1 + vertex -21.3473 26.6332 -0.2 vertex -21.5951 26.7172 0 vertex -21.3473 26.6332 0 endloop @@ -41757,13 +41757,13 @@ solid OpenSCAD_Model facet normal 0.321132 0.947035 0 outer loop vertex -21.5951 26.7172 0 - vertex -21.3473 26.6332 -0.1 - vertex -21.5951 26.7172 -0.1 + vertex -21.3473 26.6332 -0.2 + vertex -21.5951 26.7172 -0.2 endloop endfacet facet normal 0.218663 0.9758 -0 outer loop - vertex -21.5951 26.7172 -0.1 + vertex -21.5951 26.7172 -0.2 vertex -21.9618 26.7994 0 vertex -21.5951 26.7172 0 endloop @@ -41771,13 +41771,13 @@ solid OpenSCAD_Model facet normal 0.218663 0.9758 0 outer loop vertex -21.9618 26.7994 0 - vertex -21.5951 26.7172 -0.1 - vertex -21.9618 26.7994 -0.1 + vertex -21.5951 26.7172 -0.2 + vertex -21.9618 26.7994 -0.2 endloop endfacet facet normal 0.154639 0.987971 -0 outer loop - vertex -21.9618 26.7994 -0.1 + vertex -21.9618 26.7994 -0.2 vertex -22.4095 26.8695 0 vertex -21.9618 26.7994 0 endloop @@ -41785,13 +41785,13 @@ solid OpenSCAD_Model facet normal 0.154639 0.987971 0 outer loop vertex -22.4095 26.8695 0 - vertex -21.9618 26.7994 -0.1 - vertex -22.4095 26.8695 -0.1 + vertex -21.9618 26.7994 -0.2 + vertex -22.4095 26.8695 -0.2 endloop endfacet facet normal 0.17991 0.983683 -0 outer loop - vertex -22.4095 26.8695 -0.1 + vertex -22.4095 26.8695 -0.2 vertex -22.8078 26.9423 0 vertex -22.4095 26.8695 0 endloop @@ -41799,13 +41799,13 @@ solid OpenSCAD_Model facet normal 0.17991 0.983683 0 outer loop vertex -22.8078 26.9423 0 - vertex -22.4095 26.8695 -0.1 - vertex -22.8078 26.9423 -0.1 + vertex -22.4095 26.8695 -0.2 + vertex -22.8078 26.9423 -0.2 endloop endfacet facet normal 0.273496 0.961873 -0 outer loop - vertex -22.8078 26.9423 -0.1 + vertex -22.8078 26.9423 -0.2 vertex -23.1972 27.0531 0 vertex -22.8078 26.9423 0 endloop @@ -41813,13 +41813,13 @@ solid OpenSCAD_Model facet normal 0.273496 0.961873 0 outer loop vertex -23.1972 27.0531 0 - vertex -22.8078 26.9423 -0.1 - vertex -23.1972 27.0531 -0.1 + vertex -22.8078 26.9423 -0.2 + vertex -23.1972 27.0531 -0.2 endloop endfacet facet normal 0.356994 0.934107 -0 outer loop - vertex -23.1972 27.0531 -0.1 + vertex -23.1972 27.0531 -0.2 vertex -23.56 27.1917 0 vertex -23.1972 27.0531 0 endloop @@ -41827,13 +41827,13 @@ solid OpenSCAD_Model facet normal 0.356994 0.934107 0 outer loop vertex -23.56 27.1917 0 - vertex -23.1972 27.0531 -0.1 - vertex -23.56 27.1917 -0.1 + vertex -23.1972 27.0531 -0.2 + vertex -23.56 27.1917 -0.2 endloop endfacet facet normal 0.441429 0.897296 -0 outer loop - vertex -23.56 27.1917 -0.1 + vertex -23.56 27.1917 -0.2 vertex -23.8785 27.3484 0 vertex -23.56 27.1917 0 endloop @@ -41841,13 +41841,13 @@ solid OpenSCAD_Model facet normal 0.441429 0.897296 0 outer loop vertex -23.8785 27.3484 0 - vertex -23.56 27.1917 -0.1 - vertex -23.8785 27.3484 -0.1 + vertex -23.56 27.1917 -0.2 + vertex -23.8785 27.3484 -0.2 endloop endfacet facet normal 0.540697 0.841217 -0 outer loop - vertex -23.8785 27.3484 -0.1 + vertex -23.8785 27.3484 -0.2 vertex -24.1346 27.513 0 vertex -23.8785 27.3484 0 endloop @@ -41855,13 +41855,13 @@ solid OpenSCAD_Model facet normal 0.540697 0.841217 0 outer loop vertex -24.1346 27.513 0 - vertex -23.8785 27.3484 -0.1 - vertex -24.1346 27.513 -0.1 + vertex -23.8785 27.3484 -0.2 + vertex -24.1346 27.513 -0.2 endloop endfacet facet normal 0.678607 0.734501 -0 outer loop - vertex -24.1346 27.513 -0.1 + vertex -24.1346 27.513 -0.2 vertex -24.3107 27.6757 0 vertex -24.1346 27.513 0 endloop @@ -41869,69 +41869,69 @@ solid OpenSCAD_Model facet normal 0.678607 0.734501 0 outer loop vertex -24.3107 27.6757 0 - vertex -24.1346 27.513 -0.1 - vertex -24.3107 27.6757 -0.1 + vertex -24.1346 27.513 -0.2 + vertex -24.3107 27.6757 -0.2 endloop endfacet facet normal 0.828129 0.560537 0 outer loop vertex -24.3107 27.6757 0 - vertex -24.3632 27.7532 -0.1 + vertex -24.3632 27.7532 -0.2 vertex -24.3632 27.7532 0 endloop endfacet facet normal 0.828129 0.560537 0 outer loop - vertex -24.3632 27.7532 -0.1 + vertex -24.3632 27.7532 -0.2 vertex -24.3107 27.6757 0 - vertex -24.3107 27.6757 -0.1 + vertex -24.3107 27.6757 -0.2 endloop endfacet facet normal 0.943401 0.331655 0 outer loop vertex -24.3632 27.7532 0 - vertex -24.3889 27.8265 -0.1 + vertex -24.3889 27.8265 -0.2 vertex -24.3889 27.8265 0 endloop endfacet facet normal 0.943401 0.331655 0 outer loop - vertex -24.3889 27.8265 -0.1 + vertex -24.3889 27.8265 -0.2 vertex -24.3632 27.7532 0 - vertex -24.3632 27.7532 -0.1 + vertex -24.3632 27.7532 -0.2 endloop endfacet facet normal 0.998917 -0.0465292 0 outer loop vertex -24.3889 27.8265 0 - vertex -24.3858 27.8943 -0.1 + vertex -24.3858 27.8943 -0.2 vertex -24.3858 27.8943 0 endloop endfacet facet normal 0.998917 -0.0465292 0 outer loop - vertex -24.3858 27.8943 -0.1 + vertex -24.3858 27.8943 -0.2 vertex -24.3889 27.8265 0 - vertex -24.3889 27.8265 -0.1 + vertex -24.3889 27.8265 -0.2 endloop endfacet facet normal 0.871924 -0.489641 0 outer loop vertex -24.3858 27.8943 0 - vertex -24.3515 27.9554 -0.1 + vertex -24.3515 27.9554 -0.2 vertex -24.3515 27.9554 0 endloop endfacet facet normal 0.871924 -0.489641 0 outer loop - vertex -24.3515 27.9554 -0.1 + vertex -24.3515 27.9554 -0.2 vertex -24.3858 27.8943 0 - vertex -24.3858 27.8943 -0.1 + vertex -24.3858 27.8943 -0.2 endloop endfacet facet normal 0.330372 -0.943851 0 outer loop - vertex -24.3515 27.9554 -0.1 + vertex -24.3515 27.9554 -0.2 vertex -24.2923 27.9761 0 vertex -24.3515 27.9554 0 endloop @@ -41939,13 +41939,13 @@ solid OpenSCAD_Model facet normal 0.330372 -0.943851 0 outer loop vertex -24.2923 27.9761 0 - vertex -24.3515 27.9554 -0.1 - vertex -24.2923 27.9761 -0.1 + vertex -24.3515 27.9554 -0.2 + vertex -24.2923 27.9761 -0.2 endloop endfacet facet normal 0.0962711 -0.995355 0 outer loop - vertex -24.2923 27.9761 -0.1 + vertex -24.2923 27.9761 -0.2 vertex -24.1643 27.9885 0 vertex -24.2923 27.9761 0 endloop @@ -41953,13 +41953,13 @@ solid OpenSCAD_Model facet normal 0.0962711 -0.995355 0 outer loop vertex -24.1643 27.9885 0 - vertex -24.2923 27.9761 -0.1 - vertex -24.1643 27.9885 -0.1 + vertex -24.2923 27.9761 -0.2 + vertex -24.1643 27.9885 -0.2 endloop endfacet facet normal 0.00166914 -0.999999 0 outer loop - vertex -24.1643 27.9885 -0.1 + vertex -24.1643 27.9885 -0.2 vertex -23.7335 27.9892 0 vertex -24.1643 27.9885 0 endloop @@ -41967,13 +41967,13 @@ solid OpenSCAD_Model facet normal 0.00166914 -0.999999 0 outer loop vertex -23.7335 27.9892 0 - vertex -24.1643 27.9885 -0.1 - vertex -23.7335 27.9892 -0.1 + vertex -24.1643 27.9885 -0.2 + vertex -23.7335 27.9892 -0.2 endloop endfacet facet normal -0.048866 -0.998805 0 outer loop - vertex -23.7335 27.9892 -0.1 + vertex -23.7335 27.9892 -0.2 vertex -23.1232 27.9594 0 vertex -23.7335 27.9892 0 endloop @@ -41981,13 +41981,13 @@ solid OpenSCAD_Model facet normal -0.048866 -0.998805 -0 outer loop vertex -23.1232 27.9594 0 - vertex -23.7335 27.9892 -0.1 - vertex -23.1232 27.9594 -0.1 + vertex -23.7335 27.9892 -0.2 + vertex -23.1232 27.9594 -0.2 endloop endfacet facet normal -0.0805478 -0.996751 0 outer loop - vertex -23.1232 27.9594 -0.1 + vertex -23.1232 27.9594 -0.2 vertex -22.3975 27.9007 0 vertex -23.1232 27.9594 0 endloop @@ -41995,13 +41995,13 @@ solid OpenSCAD_Model facet normal -0.0805478 -0.996751 -0 outer loop vertex -22.3975 27.9007 0 - vertex -23.1232 27.9594 -0.1 - vertex -22.3975 27.9007 -0.1 + vertex -23.1232 27.9594 -0.2 + vertex -22.3975 27.9007 -0.2 endloop endfacet facet normal -0.115526 -0.993304 0 outer loop - vertex -22.3975 27.9007 -0.1 + vertex -22.3975 27.9007 -0.2 vertex -21.4599 27.7917 0 vertex -22.3975 27.9007 0 endloop @@ -42009,13 +42009,13 @@ solid OpenSCAD_Model facet normal -0.115526 -0.993304 -0 outer loop vertex -21.4599 27.7917 0 - vertex -22.3975 27.9007 -0.1 - vertex -21.4599 27.7917 -0.1 + vertex -22.3975 27.9007 -0.2 + vertex -21.4599 27.7917 -0.2 endloop endfacet facet normal -0.170472 -0.985363 0 outer loop - vertex -21.4599 27.7917 -0.1 + vertex -21.4599 27.7917 -0.2 vertex -21.1001 27.7294 0 vertex -21.4599 27.7917 0 endloop @@ -42023,13 +42023,13 @@ solid OpenSCAD_Model facet normal -0.170472 -0.985363 -0 outer loop vertex -21.1001 27.7294 0 - vertex -21.4599 27.7917 -0.1 - vertex -21.1001 27.7294 -0.1 + vertex -21.4599 27.7917 -0.2 + vertex -21.1001 27.7294 -0.2 endloop endfacet facet normal -0.23059 -0.973051 0 outer loop - vertex -21.1001 27.7294 -0.1 + vertex -21.1001 27.7294 -0.2 vertex -20.7979 27.6578 0 vertex -21.1001 27.7294 0 endloop @@ -42037,13 +42037,13 @@ solid OpenSCAD_Model facet normal -0.23059 -0.973051 -0 outer loop vertex -20.7979 27.6578 0 - vertex -21.1001 27.7294 -0.1 - vertex -20.7979 27.6578 -0.1 + vertex -21.1001 27.7294 -0.2 + vertex -20.7979 27.6578 -0.2 endloop endfacet facet normal -0.312278 -0.949991 0 outer loop - vertex -20.7979 27.6578 -0.1 + vertex -20.7979 27.6578 -0.2 vertex -20.5419 27.5737 0 vertex -20.7979 27.6578 0 endloop @@ -42051,13 +42051,13 @@ solid OpenSCAD_Model facet normal -0.312278 -0.949991 -0 outer loop vertex -20.5419 27.5737 0 - vertex -20.7979 27.6578 -0.1 - vertex -20.5419 27.5737 -0.1 + vertex -20.7979 27.6578 -0.2 + vertex -20.5419 27.5737 -0.2 endloop endfacet facet normal -0.411473 -0.911422 0 outer loop - vertex -20.5419 27.5737 -0.1 + vertex -20.5419 27.5737 -0.2 vertex -20.3206 27.4738 0 vertex -20.5419 27.5737 0 endloop @@ -42065,13 +42065,13 @@ solid OpenSCAD_Model facet normal -0.411473 -0.911422 -0 outer loop vertex -20.3206 27.4738 0 - vertex -20.5419 27.5737 -0.1 - vertex -20.3206 27.4738 -0.1 + vertex -20.5419 27.5737 -0.2 + vertex -20.3206 27.4738 -0.2 endloop endfacet facet normal -0.51473 -0.857352 0 outer loop - vertex -20.3206 27.4738 -0.1 + vertex -20.3206 27.4738 -0.2 vertex -20.1227 27.3549 0 vertex -20.3206 27.4738 0 endloop @@ -42079,13 +42079,13 @@ solid OpenSCAD_Model facet normal -0.51473 -0.857352 -0 outer loop vertex -20.1227 27.3549 0 - vertex -20.3206 27.4738 -0.1 - vertex -20.1227 27.3549 -0.1 + vertex -20.3206 27.4738 -0.2 + vertex -20.1227 27.3549 -0.2 endloop endfacet facet normal -0.604059 -0.79694 0 outer loop - vertex -20.1227 27.3549 -0.1 + vertex -20.1227 27.3549 -0.2 vertex -19.9368 27.2141 0 vertex -20.1227 27.3549 0 endloop @@ -42093,13 +42093,13 @@ solid OpenSCAD_Model facet normal -0.604059 -0.79694 -0 outer loop vertex -19.9368 27.2141 0 - vertex -20.1227 27.3549 -0.1 - vertex -19.9368 27.2141 -0.1 + vertex -20.1227 27.3549 -0.2 + vertex -19.9368 27.2141 -0.2 endloop endfacet facet normal -0.64002 -0.768358 0 outer loop - vertex -19.9368 27.2141 -0.1 + vertex -19.9368 27.2141 -0.2 vertex -19.3233 26.703 0 vertex -19.9368 27.2141 0 endloop @@ -42107,13 +42107,13 @@ solid OpenSCAD_Model facet normal -0.64002 -0.768358 -0 outer loop vertex -19.3233 26.703 0 - vertex -19.9368 27.2141 -0.1 - vertex -19.3233 26.703 -0.1 + vertex -19.9368 27.2141 -0.2 + vertex -19.3233 26.703 -0.2 endloop endfacet facet normal 0.254038 -0.967194 0 outer loop - vertex -19.3233 26.703 -0.1 + vertex -19.3233 26.703 -0.2 vertex -16.9758 27.3196 0 vertex -19.3233 26.703 0 endloop @@ -42121,13 +42121,13 @@ solid OpenSCAD_Model facet normal 0.254038 -0.967194 0 outer loop vertex -16.9758 27.3196 0 - vertex -19.3233 26.703 -0.1 - vertex -16.9758 27.3196 -0.1 + vertex -19.3233 26.703 -0.2 + vertex -16.9758 27.3196 -0.2 endloop endfacet facet normal 0.236306 -0.971679 0 outer loop - vertex -16.9758 27.3196 -0.1 + vertex -16.9758 27.3196 -0.2 vertex -16.0674 27.5405 0 vertex -16.9758 27.3196 0 endloop @@ -42135,13 +42135,13 @@ solid OpenSCAD_Model facet normal 0.236306 -0.971679 0 outer loop vertex -16.0674 27.5405 0 - vertex -16.9758 27.3196 -0.1 - vertex -16.0674 27.5405 -0.1 + vertex -16.9758 27.3196 -0.2 + vertex -16.0674 27.5405 -0.2 endloop endfacet facet normal 0.186349 -0.982484 0 outer loop - vertex -16.0674 27.5405 -0.1 + vertex -16.0674 27.5405 -0.2 vertex -15.2259 27.7001 0 vertex -16.0674 27.5405 0 endloop @@ -42149,13 +42149,13 @@ solid OpenSCAD_Model facet normal 0.186349 -0.982484 0 outer loop vertex -15.2259 27.7001 0 - vertex -16.0674 27.5405 -0.1 - vertex -15.2259 27.7001 -0.1 + vertex -16.0674 27.5405 -0.2 + vertex -15.2259 27.7001 -0.2 endloop endfacet facet normal 0.119004 -0.992894 0 outer loop - vertex -15.2259 27.7001 -0.1 + vertex -15.2259 27.7001 -0.2 vertex -14.4014 27.7989 0 vertex -15.2259 27.7001 0 endloop @@ -42163,13 +42163,13 @@ solid OpenSCAD_Model facet normal 0.119004 -0.992894 0 outer loop vertex -14.4014 27.7989 0 - vertex -15.2259 27.7001 -0.1 - vertex -14.4014 27.7989 -0.1 + vertex -15.2259 27.7001 -0.2 + vertex -14.4014 27.7989 -0.2 endloop endfacet facet normal 0.0448493 -0.998994 0 outer loop - vertex -14.4014 27.7989 -0.1 + vertex -14.4014 27.7989 -0.2 vertex -13.5445 27.8374 0 vertex -14.4014 27.7989 0 endloop @@ -42177,13 +42177,13 @@ solid OpenSCAD_Model facet normal 0.0448493 -0.998994 0 outer loop vertex -13.5445 27.8374 0 - vertex -14.4014 27.7989 -0.1 - vertex -13.5445 27.8374 -0.1 + vertex -14.4014 27.7989 -0.2 + vertex -13.5445 27.8374 -0.2 endloop endfacet facet normal -0.0227723 -0.999741 0 outer loop - vertex -13.5445 27.8374 -0.1 + vertex -13.5445 27.8374 -0.2 vertex -12.6053 27.816 0 vertex -13.5445 27.8374 0 endloop @@ -42191,13 +42191,13 @@ solid OpenSCAD_Model facet normal -0.0227723 -0.999741 -0 outer loop vertex -12.6053 27.816 0 - vertex -13.5445 27.8374 -0.1 - vertex -12.6053 27.816 -0.1 + vertex -13.5445 27.8374 -0.2 + vertex -12.6053 27.816 -0.2 endloop endfacet facet normal -0.0752121 -0.997168 0 outer loop - vertex -12.6053 27.816 -0.1 + vertex -12.6053 27.816 -0.2 vertex -11.5342 27.7352 0 vertex -12.6053 27.816 0 endloop @@ -42205,13 +42205,13 @@ solid OpenSCAD_Model facet normal -0.0752121 -0.997168 -0 outer loop vertex -11.5342 27.7352 0 - vertex -12.6053 27.816 -0.1 - vertex -11.5342 27.7352 -0.1 + vertex -12.6053 27.816 -0.2 + vertex -11.5342 27.7352 -0.2 endloop endfacet facet normal -0.110844 -0.993838 0 outer loop - vertex -11.5342 27.7352 -0.1 + vertex -11.5342 27.7352 -0.2 vertex -10.2816 27.5955 0 vertex -11.5342 27.7352 0 endloop @@ -42219,13 +42219,13 @@ solid OpenSCAD_Model facet normal -0.110844 -0.993838 -0 outer loop vertex -10.2816 27.5955 0 - vertex -11.5342 27.7352 -0.1 - vertex -10.2816 27.5955 -0.1 + vertex -11.5342 27.7352 -0.2 + vertex -10.2816 27.5955 -0.2 endloop endfacet facet normal -0.132367 -0.991201 0 outer loop - vertex -10.2816 27.5955 -0.1 + vertex -10.2816 27.5955 -0.2 vertex -8.79778 27.3973 0 vertex -10.2816 27.5955 0 endloop @@ -42233,13 +42233,13 @@ solid OpenSCAD_Model facet normal -0.132367 -0.991201 -0 outer loop vertex -8.79778 27.3973 0 - vertex -10.2816 27.5955 -0.1 - vertex -8.79778 27.3973 -0.1 + vertex -10.2816 27.5955 -0.2 + vertex -8.79778 27.3973 -0.2 endloop endfacet facet normal -0.122316 -0.992491 0 outer loop - vertex -8.79778 27.3973 -0.1 + vertex -8.79778 27.3973 -0.2 vertex -7.89877 27.2865 0 vertex -8.79778 27.3973 0 endloop @@ -42247,13 +42247,13 @@ solid OpenSCAD_Model facet normal -0.122316 -0.992491 -0 outer loop vertex -7.89877 27.2865 0 - vertex -8.79778 27.3973 -0.1 - vertex -7.89877 27.2865 -0.1 + vertex -8.79778 27.3973 -0.2 + vertex -7.89877 27.2865 -0.2 endloop endfacet facet normal -0.0652699 -0.997868 0 outer loop - vertex -7.89877 27.2865 -0.1 + vertex -7.89877 27.2865 -0.2 vertex -7.24334 27.2437 0 vertex -7.89877 27.2865 0 endloop @@ -42261,13 +42261,13 @@ solid OpenSCAD_Model facet normal -0.0652699 -0.997868 -0 outer loop vertex -7.24334 27.2437 0 - vertex -7.89877 27.2865 -0.1 - vertex -7.24334 27.2437 -0.1 + vertex -7.89877 27.2865 -0.2 + vertex -7.24334 27.2437 -0.2 endloop endfacet facet normal 0.0157984 -0.999875 0 outer loop - vertex -7.24334 27.2437 -0.1 + vertex -7.24334 27.2437 -0.2 vertex -6.99768 27.2475 0 vertex -7.24334 27.2437 0 endloop @@ -42275,13 +42275,13 @@ solid OpenSCAD_Model facet normal 0.0157984 -0.999875 0 outer loop vertex -6.99768 27.2475 0 - vertex -7.24334 27.2437 -0.1 - vertex -6.99768 27.2475 -0.1 + vertex -7.24334 27.2437 -0.2 + vertex -6.99768 27.2475 -0.2 endloop endfacet facet normal 0.104958 -0.994477 0 outer loop - vertex -6.99768 27.2475 -0.1 + vertex -6.99768 27.2475 -0.2 vertex -6.80178 27.2682 0 vertex -6.99768 27.2475 0 endloop @@ -42289,13 +42289,13 @@ solid OpenSCAD_Model facet normal 0.104958 -0.994477 0 outer loop vertex -6.80178 27.2682 0 - vertex -6.99768 27.2475 -0.1 - vertex -6.80178 27.2682 -0.1 + vertex -6.99768 27.2475 -0.2 + vertex -6.80178 27.2682 -0.2 endloop endfacet facet normal 0.242196 -0.970227 0 outer loop - vertex -6.80178 27.2682 -0.1 + vertex -6.80178 27.2682 -0.2 vertex -6.65192 27.3056 0 vertex -6.80178 27.2682 0 endloop @@ -42303,13 +42303,13 @@ solid OpenSCAD_Model facet normal 0.242196 -0.970227 0 outer loop vertex -6.65192 27.3056 0 - vertex -6.80178 27.2682 -0.1 - vertex -6.65192 27.3056 -0.1 + vertex -6.80178 27.2682 -0.2 + vertex -6.65192 27.3056 -0.2 endloop endfacet facet normal 0.449315 -0.893373 0 outer loop - vertex -6.65192 27.3056 -0.1 + vertex -6.65192 27.3056 -0.2 vertex -6.54439 27.3597 0 vertex -6.65192 27.3056 0 endloop @@ -42317,209 +42317,209 @@ solid OpenSCAD_Model facet normal 0.449315 -0.893373 0 outer loop vertex -6.54439 27.3597 0 - vertex -6.65192 27.3056 -0.1 - vertex -6.54439 27.3597 -0.1 + vertex -6.65192 27.3056 -0.2 + vertex -6.54439 27.3597 -0.2 endloop endfacet facet normal 0.709468 -0.704738 0 outer loop vertex -6.54439 27.3597 0 - vertex -6.44763 27.4571 -0.1 + vertex -6.44763 27.4571 -0.2 vertex -6.44763 27.4571 0 endloop endfacet facet normal 0.709468 -0.704738 0 outer loop - vertex -6.44763 27.4571 -0.1 + vertex -6.44763 27.4571 -0.2 vertex -6.54439 27.3597 0 - vertex -6.54439 27.3597 -0.1 + vertex -6.54439 27.3597 -0.2 endloop endfacet facet normal 0.90334 -0.428926 0 outer loop vertex -6.44763 27.4571 0 - vertex -6.37156 27.6173 -0.1 + vertex -6.37156 27.6173 -0.2 vertex -6.37156 27.6173 0 endloop endfacet facet normal 0.90334 -0.428926 0 outer loop - vertex -6.37156 27.6173 -0.1 + vertex -6.37156 27.6173 -0.2 vertex -6.44763 27.4571 0 - vertex -6.44763 27.4571 -0.1 + vertex -6.44763 27.4571 -0.2 endloop endfacet facet normal 0.975305 -0.220862 0 outer loop vertex -6.37156 27.6173 0 - vertex -6.31368 27.8729 -0.1 + vertex -6.31368 27.8729 -0.2 vertex -6.31368 27.8729 0 endloop endfacet facet normal 0.975305 -0.220862 0 outer loop - vertex -6.31368 27.8729 -0.1 + vertex -6.31368 27.8729 -0.2 vertex -6.37156 27.6173 0 - vertex -6.37156 27.6173 -0.1 + vertex -6.37156 27.6173 -0.2 endloop endfacet facet normal 0.994005 -0.109334 0 outer loop vertex -6.31368 27.8729 0 - vertex -6.27149 28.2565 -0.1 + vertex -6.27149 28.2565 -0.2 vertex -6.27149 28.2565 0 endloop endfacet facet normal 0.994005 -0.109334 0 outer loop - vertex -6.27149 28.2565 -0.1 + vertex -6.27149 28.2565 -0.2 vertex -6.31368 27.8729 0 - vertex -6.31368 27.8729 -0.1 + vertex -6.31368 27.8729 -0.2 endloop endfacet facet normal 0.998582 -0.0532268 0 outer loop vertex -6.27149 28.2565 0 - vertex -6.24249 28.8007 -0.1 + vertex -6.24249 28.8007 -0.2 vertex -6.24249 28.8007 0 endloop endfacet facet normal 0.998582 -0.0532268 0 outer loop - vertex -6.24249 28.8007 -0.1 + vertex -6.24249 28.8007 -0.2 vertex -6.27149 28.2565 0 - vertex -6.27149 28.2565 -0.1 + vertex -6.27149 28.2565 -0.2 endloop endfacet facet normal 0.999691 -0.0248385 0 outer loop vertex -6.24249 28.8007 0 - vertex -6.22417 29.538 -0.1 + vertex -6.22417 29.538 -0.2 vertex -6.22417 29.538 0 endloop endfacet facet normal 0.999691 -0.0248385 0 outer loop - vertex -6.22417 29.538 -0.1 + vertex -6.22417 29.538 -0.2 vertex -6.24249 28.8007 0 - vertex -6.24249 28.8007 -0.1 + vertex -6.24249 28.8007 -0.2 endloop endfacet facet normal 0.999978 -0.00667916 0 outer loop vertex -6.22417 29.538 0 - vertex -6.20957 31.7226 -0.1 + vertex -6.20957 31.7226 -0.2 vertex -6.20957 31.7226 0 endloop endfacet facet normal 0.999978 -0.00667916 0 outer loop - vertex -6.20957 31.7226 -0.1 + vertex -6.20957 31.7226 -0.2 vertex -6.22417 29.538 0 - vertex -6.22417 29.538 -0.1 + vertex -6.22417 29.538 -0.2 endloop endfacet facet normal 0.999955 -0.00944041 0 outer loop vertex -6.20957 31.7226 0 - vertex -6.19415 33.3563 -0.1 + vertex -6.19415 33.3563 -0.2 vertex -6.19415 33.3563 0 endloop endfacet facet normal 0.999955 -0.00944041 0 outer loop - vertex -6.19415 33.3563 -0.1 + vertex -6.19415 33.3563 -0.2 vertex -6.20957 31.7226 0 - vertex -6.20957 31.7226 -0.1 + vertex -6.20957 31.7226 -0.2 endloop endfacet facet normal 0.999658 -0.0261462 0 outer loop vertex -6.19415 33.3563 0 - vertex -6.15766 34.7516 -0.1 + vertex -6.15766 34.7516 -0.2 vertex -6.15766 34.7516 0 endloop endfacet facet normal 0.999658 -0.0261462 0 outer loop - vertex -6.15766 34.7516 -0.1 + vertex -6.15766 34.7516 -0.2 vertex -6.19415 33.3563 0 - vertex -6.19415 33.3563 -0.1 + vertex -6.19415 33.3563 -0.2 endloop endfacet facet normal 0.998669 -0.0515827 0 outer loop vertex -6.15766 34.7516 0 - vertex -6.10555 35.7605 -0.1 + vertex -6.10555 35.7605 -0.2 vertex -6.10555 35.7605 0 endloop endfacet facet normal 0.998669 -0.0515827 0 outer loop - vertex -6.10555 35.7605 -0.1 + vertex -6.10555 35.7605 -0.2 vertex -6.15766 34.7516 0 - vertex -6.15766 34.7516 -0.1 + vertex -6.15766 34.7516 -0.2 endloop endfacet facet normal 0.995383 -0.0959818 0 outer loop vertex -6.10555 35.7605 0 - vertex -6.07534 36.0738 -0.1 + vertex -6.07534 36.0738 -0.2 vertex -6.07534 36.0738 0 endloop endfacet facet normal 0.995383 -0.0959818 0 outer loop - vertex -6.07534 36.0738 -0.1 + vertex -6.07534 36.0738 -0.2 vertex -6.10555 35.7605 0 - vertex -6.10555 35.7605 -0.1 + vertex -6.10555 35.7605 -0.2 endloop endfacet facet normal 0.980771 -0.195161 0 outer loop vertex -6.07534 36.0738 0 - vertex -6.04327 36.2349 -0.1 + vertex -6.04327 36.2349 -0.2 vertex -6.04327 36.2349 0 endloop endfacet facet normal 0.980771 -0.195161 0 outer loop - vertex -6.04327 36.2349 -0.1 + vertex -6.04327 36.2349 -0.2 vertex -6.07534 36.0738 0 - vertex -6.07534 36.0738 -0.1 + vertex -6.07534 36.0738 -0.2 endloop endfacet facet normal 0.887411 -0.460979 0 outer loop vertex -6.04327 36.2349 0 - vertex -5.92579 36.4611 -0.1 + vertex -5.92579 36.4611 -0.2 vertex -5.92579 36.4611 0 endloop endfacet facet normal 0.887411 -0.460979 0 outer loop - vertex -5.92579 36.4611 -0.1 + vertex -5.92579 36.4611 -0.2 vertex -6.04327 36.2349 0 - vertex -6.04327 36.2349 -0.1 + vertex -6.04327 36.2349 -0.2 endloop endfacet facet normal 0.77348 -0.633821 0 outer loop vertex -5.92579 36.4611 0 - vertex -5.86569 36.5344 -0.1 + vertex -5.86569 36.5344 -0.2 vertex -5.86569 36.5344 0 endloop endfacet facet normal 0.77348 -0.633821 0 outer loop - vertex -5.86569 36.5344 -0.1 + vertex -5.86569 36.5344 -0.2 vertex -5.92579 36.4611 0 - vertex -5.92579 36.4611 -0.1 + vertex -5.92579 36.4611 -0.2 endloop endfacet facet normal 0.607425 -0.794377 0 outer loop - vertex -5.86569 36.5344 -0.1 + vertex -5.86569 36.5344 -0.2 vertex -5.80457 36.5812 0 vertex -5.86569 36.5344 0 endloop @@ -42527,13 +42527,13 @@ solid OpenSCAD_Model facet normal 0.607425 -0.794377 0 outer loop vertex -5.80457 36.5812 0 - vertex -5.86569 36.5344 -0.1 - vertex -5.80457 36.5812 -0.1 + vertex -5.86569 36.5344 -0.2 + vertex -5.80457 36.5812 -0.2 endloop endfacet facet normal 0.306429 -0.951894 0 outer loop - vertex -5.80457 36.5812 -0.1 + vertex -5.80457 36.5812 -0.2 vertex -5.74234 36.6012 0 vertex -5.80457 36.5812 0 endloop @@ -42541,13 +42541,13 @@ solid OpenSCAD_Model facet normal 0.306429 -0.951894 0 outer loop vertex -5.74234 36.6012 0 - vertex -5.80457 36.5812 -0.1 - vertex -5.74234 36.6012 -0.1 + vertex -5.80457 36.5812 -0.2 + vertex -5.74234 36.6012 -0.2 endloop endfacet facet normal -0.106116 -0.994354 0 outer loop - vertex -5.74234 36.6012 -0.1 + vertex -5.74234 36.6012 -0.2 vertex -5.67893 36.5944 0 vertex -5.74234 36.6012 0 endloop @@ -42555,13 +42555,13 @@ solid OpenSCAD_Model facet normal -0.106116 -0.994354 -0 outer loop vertex -5.67893 36.5944 0 - vertex -5.74234 36.6012 -0.1 - vertex -5.67893 36.5944 -0.1 + vertex -5.74234 36.6012 -0.2 + vertex -5.67893 36.5944 -0.2 endloop endfacet facet normal -0.461592 -0.887092 0 outer loop - vertex -5.67893 36.5944 -0.1 + vertex -5.67893 36.5944 -0.2 vertex -5.61425 36.5608 0 vertex -5.67893 36.5944 0 endloop @@ -42569,13 +42569,13 @@ solid OpenSCAD_Model facet normal -0.461592 -0.887092 -0 outer loop vertex -5.61425 36.5608 0 - vertex -5.67893 36.5944 -0.1 - vertex -5.61425 36.5608 -0.1 + vertex -5.67893 36.5944 -0.2 + vertex -5.61425 36.5608 -0.2 endloop endfacet facet normal -0.67638 -0.736553 0 outer loop - vertex -5.61425 36.5608 -0.1 + vertex -5.61425 36.5608 -0.2 vertex -5.54821 36.5001 0 vertex -5.61425 36.5608 0 endloop @@ -42583,237 +42583,237 @@ solid OpenSCAD_Model facet normal -0.67638 -0.736553 -0 outer loop vertex -5.54821 36.5001 0 - vertex -5.61425 36.5608 -0.1 - vertex -5.54821 36.5001 -0.1 + vertex -5.61425 36.5608 -0.2 + vertex -5.54821 36.5001 -0.2 endloop endfacet facet normal -0.829388 -0.558673 0 outer loop - vertex -5.41174 36.2975 -0.1 + vertex -5.41174 36.2975 -0.2 vertex -5.54821 36.5001 0 - vertex -5.54821 36.5001 -0.1 + vertex -5.54821 36.5001 -0.2 endloop endfacet facet normal -0.829388 -0.558673 0 outer loop vertex -5.54821 36.5001 0 - vertex -5.41174 36.2975 -0.1 + vertex -5.41174 36.2975 -0.2 vertex -5.41174 36.2975 0 endloop endfacet facet normal -0.909006 -0.416783 0 outer loop - vertex -5.26884 35.9859 -0.1 + vertex -5.26884 35.9859 -0.2 vertex -5.41174 36.2975 0 - vertex -5.41174 36.2975 -0.1 + vertex -5.41174 36.2975 -0.2 endloop endfacet facet normal -0.909006 -0.416783 0 outer loop vertex -5.41174 36.2975 0 - vertex -5.26884 35.9859 -0.1 + vertex -5.26884 35.9859 -0.2 vertex -5.26884 35.9859 0 endloop endfacet facet normal -0.942118 -0.335281 0 outer loop - vertex -5.11886 35.5644 -0.1 + vertex -5.11886 35.5644 -0.2 vertex -5.26884 35.9859 0 - vertex -5.26884 35.9859 -0.1 + vertex -5.26884 35.9859 -0.2 endloop endfacet facet normal -0.942118 -0.335281 0 outer loop vertex -5.26884 35.9859 0 - vertex -5.11886 35.5644 -0.1 + vertex -5.11886 35.5644 -0.2 vertex -5.11886 35.5644 0 endloop endfacet facet normal -0.958738 -0.28429 0 outer loop - vertex -4.96111 35.0324 -0.1 + vertex -4.96111 35.0324 -0.2 vertex -5.11886 35.5644 0 - vertex -5.11886 35.5644 -0.1 + vertex -5.11886 35.5644 -0.2 endloop endfacet facet normal -0.958738 -0.28429 0 outer loop vertex -5.11886 35.5644 0 - vertex -4.96111 35.0324 -0.1 + vertex -4.96111 35.0324 -0.2 vertex -4.96111 35.0324 0 endloop endfacet facet normal -0.959965 -0.280118 0 outer loop - vertex -4.73722 34.2652 -0.1 + vertex -4.73722 34.2652 -0.2 vertex -4.96111 35.0324 0 - vertex -4.96111 35.0324 -0.1 + vertex -4.96111 35.0324 -0.2 endloop endfacet facet normal -0.959965 -0.280118 0 outer loop vertex -4.96111 35.0324 0 - vertex -4.73722 34.2652 -0.1 + vertex -4.73722 34.2652 -0.2 vertex -4.73722 34.2652 0 endloop endfacet facet normal -0.950901 -0.309494 0 outer loop - vertex -4.49616 33.5245 -0.1 + vertex -4.49616 33.5245 -0.2 vertex -4.73722 34.2652 0 - vertex -4.73722 34.2652 -0.1 + vertex -4.73722 34.2652 -0.2 endloop endfacet facet normal -0.950901 -0.309494 0 outer loop vertex -4.73722 34.2652 0 - vertex -4.49616 33.5245 -0.1 + vertex -4.49616 33.5245 -0.2 vertex -4.49616 33.5245 0 endloop endfacet facet normal -0.940636 -0.339418 0 outer loop - vertex -4.23933 32.8128 -0.1 + vertex -4.23933 32.8128 -0.2 vertex -4.49616 33.5245 0 - vertex -4.49616 33.5245 -0.1 + vertex -4.49616 33.5245 -0.2 endloop endfacet facet normal -0.940636 -0.339418 0 outer loop vertex -4.49616 33.5245 0 - vertex -4.23933 32.8128 -0.1 + vertex -4.23933 32.8128 -0.2 vertex -4.23933 32.8128 0 endloop endfacet facet normal -0.928971 -0.370153 0 outer loop - vertex -3.96814 32.1322 -0.1 + vertex -3.96814 32.1322 -0.2 vertex -4.23933 32.8128 0 - vertex -4.23933 32.8128 -0.1 + vertex -4.23933 32.8128 -0.2 endloop endfacet facet normal -0.928971 -0.370153 0 outer loop vertex -4.23933 32.8128 0 - vertex -3.96814 32.1322 -0.1 + vertex -3.96814 32.1322 -0.2 vertex -3.96814 32.1322 0 endloop endfacet facet normal -0.915636 -0.402008 0 outer loop - vertex -3.68399 31.485 -0.1 + vertex -3.68399 31.485 -0.2 vertex -3.96814 32.1322 0 - vertex -3.96814 32.1322 -0.1 + vertex -3.96814 32.1322 -0.2 endloop endfacet facet normal -0.915636 -0.402008 0 outer loop vertex -3.96814 32.1322 0 - vertex -3.68399 31.485 -0.1 + vertex -3.68399 31.485 -0.2 vertex -3.68399 31.485 0 endloop endfacet facet normal -0.900273 -0.435326 0 outer loop - vertex -3.38828 30.8734 -0.1 + vertex -3.38828 30.8734 -0.2 vertex -3.68399 31.485 0 - vertex -3.68399 31.485 -0.1 + vertex -3.68399 31.485 -0.2 endloop endfacet facet normal -0.900273 -0.435326 0 outer loop vertex -3.68399 31.485 0 - vertex -3.38828 30.8734 -0.1 + vertex -3.38828 30.8734 -0.2 vertex -3.38828 30.8734 0 endloop endfacet facet normal -0.882395 -0.47051 0 outer loop - vertex -3.08241 30.2998 -0.1 + vertex -3.08241 30.2998 -0.2 vertex -3.38828 30.8734 0 - vertex -3.38828 30.8734 -0.1 + vertex -3.38828 30.8734 -0.2 endloop endfacet facet normal -0.882395 -0.47051 0 outer loop vertex -3.38828 30.8734 0 - vertex -3.08241 30.2998 -0.1 + vertex -3.08241 30.2998 -0.2 vertex -3.08241 30.2998 0 endloop endfacet facet normal -0.861349 -0.508014 0 outer loop - vertex -2.7678 29.7664 -0.1 + vertex -2.7678 29.7664 -0.2 vertex -3.08241 30.2998 0 - vertex -3.08241 30.2998 -0.1 + vertex -3.08241 30.2998 -0.2 endloop endfacet facet normal -0.861349 -0.508014 0 outer loop vertex -3.08241 30.2998 0 - vertex -2.7678 29.7664 -0.1 + vertex -2.7678 29.7664 -0.2 vertex -2.7678 29.7664 0 endloop endfacet facet normal -0.83625 -0.548349 0 outer loop - vertex -2.44583 29.2754 -0.1 + vertex -2.44583 29.2754 -0.2 vertex -2.7678 29.7664 0 - vertex -2.7678 29.7664 -0.1 + vertex -2.7678 29.7664 -0.2 endloop endfacet facet normal -0.83625 -0.548349 0 outer loop vertex -2.7678 29.7664 0 - vertex -2.44583 29.2754 -0.1 + vertex -2.44583 29.2754 -0.2 vertex -2.44583 29.2754 0 endloop endfacet facet normal -0.805875 -0.592086 0 outer loop - vertex -2.11792 28.8291 -0.1 + vertex -2.11792 28.8291 -0.2 vertex -2.44583 29.2754 0 - vertex -2.44583 29.2754 -0.1 + vertex -2.44583 29.2754 -0.2 endloop endfacet facet normal -0.805875 -0.592086 0 outer loop vertex -2.44583 29.2754 0 - vertex -2.11792 28.8291 -0.1 + vertex -2.11792 28.8291 -0.2 vertex -2.11792 28.8291 0 endloop endfacet facet normal -0.768548 -0.639792 0 outer loop - vertex -1.78547 28.4297 -0.1 + vertex -1.78547 28.4297 -0.2 vertex -2.11792 28.8291 0 - vertex -2.11792 28.8291 -0.1 + vertex -2.11792 28.8291 -0.2 endloop endfacet facet normal -0.768548 -0.639792 0 outer loop vertex -2.11792 28.8291 0 - vertex -1.78547 28.4297 -0.1 + vertex -1.78547 28.4297 -0.2 vertex -1.78547 28.4297 0 endloop endfacet facet normal -0.721954 -0.691941 0 outer loop - vertex -1.44988 28.0795 -0.1 + vertex -1.44988 28.0795 -0.2 vertex -1.78547 28.4297 0 - vertex -1.78547 28.4297 -0.1 + vertex -1.78547 28.4297 -0.2 endloop endfacet facet normal -0.721954 -0.691941 0 outer loop vertex -1.78547 28.4297 0 - vertex -1.44988 28.0795 -0.1 + vertex -1.44988 28.0795 -0.2 vertex -1.44988 28.0795 0 endloop endfacet facet normal -0.662916 -0.748694 0 outer loop - vertex -1.44988 28.0795 -0.1 + vertex -1.44988 28.0795 -0.2 vertex -1.11256 27.7809 0 vertex -1.44988 28.0795 0 endloop @@ -42821,13 +42821,13 @@ solid OpenSCAD_Model facet normal -0.662916 -0.748694 -0 outer loop vertex -1.11256 27.7809 0 - vertex -1.44988 28.0795 -0.1 - vertex -1.11256 27.7809 -0.1 + vertex -1.44988 28.0795 -0.2 + vertex -1.11256 27.7809 -0.2 endloop endfacet facet normal -0.5872 -0.809442 0 outer loop - vertex -1.11256 27.7809 -0.1 + vertex -1.11256 27.7809 -0.2 vertex -0.7749 27.5359 0 vertex -1.11256 27.7809 0 endloop @@ -42835,13 +42835,13 @@ solid OpenSCAD_Model facet normal -0.5872 -0.809442 -0 outer loop vertex -0.7749 27.5359 0 - vertex -1.11256 27.7809 -0.1 - vertex -0.7749 27.5359 -0.1 + vertex -1.11256 27.7809 -0.2 + vertex -0.7749 27.5359 -0.2 endloop endfacet facet normal -0.48954 -0.871981 0 outer loop - vertex -0.7749 27.5359 -0.1 + vertex -0.7749 27.5359 -0.2 vertex -0.438314 27.347 0 vertex -0.7749 27.5359 0 endloop @@ -42849,13 +42849,13 @@ solid OpenSCAD_Model facet normal -0.48954 -0.871981 -0 outer loop vertex -0.438314 27.347 0 - vertex -0.7749 27.5359 -0.1 - vertex -0.438314 27.347 -0.1 + vertex -0.7749 27.5359 -0.2 + vertex -0.438314 27.347 -0.2 endloop endfacet facet normal -0.364353 -0.931261 0 outer loop - vertex -0.438314 27.347 -0.1 + vertex -0.438314 27.347 -0.2 vertex -0.104203 27.2162 0 vertex -0.438314 27.347 0 endloop @@ -42863,13 +42863,13 @@ solid OpenSCAD_Model facet normal -0.364353 -0.931261 -0 outer loop vertex -0.104203 27.2162 0 - vertex -0.438314 27.347 -0.1 - vertex -0.104203 27.2162 -0.1 + vertex -0.438314 27.347 -0.2 + vertex -0.104203 27.2162 -0.2 endloop endfacet facet normal -0.248562 -0.968616 0 outer loop - vertex -0.104203 27.2162 -0.1 + vertex -0.104203 27.2162 -0.2 vertex 0.215611 27.1342 0 vertex -0.104203 27.2162 0 endloop @@ -42877,13 +42877,13 @@ solid OpenSCAD_Model facet normal -0.248562 -0.968616 -0 outer loop vertex 0.215611 27.1342 0 - vertex -0.104203 27.2162 -0.1 - vertex 0.215611 27.1342 -0.1 + vertex -0.104203 27.2162 -0.2 + vertex 0.215611 27.1342 -0.2 endloop endfacet facet normal -0.161031 -0.986949 0 outer loop - vertex 0.215611 27.1342 -0.1 + vertex 0.215611 27.1342 -0.2 vertex 0.505992 27.0868 0 vertex 0.215611 27.1342 0 endloop @@ -42891,13 +42891,13 @@ solid OpenSCAD_Model facet normal -0.161031 -0.986949 -0 outer loop vertex 0.505992 27.0868 0 - vertex 0.215611 27.1342 -0.1 - vertex 0.505992 27.0868 -0.1 + vertex 0.215611 27.1342 -0.2 + vertex 0.505992 27.0868 -0.2 endloop endfacet facet normal -0.0401535 -0.999194 0 outer loop - vertex 0.505992 27.0868 -0.1 + vertex 0.505992 27.0868 -0.2 vertex 0.734953 27.0776 0 vertex 0.505992 27.0868 0 endloop @@ -42905,13 +42905,13 @@ solid OpenSCAD_Model facet normal -0.0401535 -0.999194 -0 outer loop vertex 0.734953 27.0776 0 - vertex 0.505992 27.0868 -0.1 - vertex 0.734953 27.0776 -0.1 + vertex 0.505992 27.0868 -0.2 + vertex 0.734953 27.0776 -0.2 endloop endfacet facet normal 0.1315 -0.991316 0 outer loop - vertex 0.734953 27.0776 -0.1 + vertex 0.734953 27.0776 -0.2 vertex 0.816408 27.0884 0 vertex 0.734953 27.0776 0 endloop @@ -42919,13 +42919,13 @@ solid OpenSCAD_Model facet normal 0.1315 -0.991316 0 outer loop vertex 0.816408 27.0884 0 - vertex 0.734953 27.0776 -0.1 - vertex 0.816408 27.0884 -0.1 + vertex 0.734953 27.0776 -0.2 + vertex 0.816408 27.0884 -0.2 endloop endfacet facet normal 0.371587 -0.928398 0 outer loop - vertex 0.816408 27.0884 -0.1 + vertex 0.816408 27.0884 -0.2 vertex 0.870515 27.1101 0 vertex 0.816408 27.0884 0 endloop @@ -42933,293 +42933,293 @@ solid OpenSCAD_Model facet normal 0.371587 -0.928398 0 outer loop vertex 0.870515 27.1101 0 - vertex 0.816408 27.0884 -0.1 - vertex 0.870515 27.1101 -0.1 + vertex 0.816408 27.0884 -0.2 + vertex 0.870515 27.1101 -0.2 endloop endfacet facet normal 0.819454 -0.573145 0 outer loop vertex 0.870515 27.1101 0 - vertex 0.908598 27.1645 -0.1 + vertex 0.908598 27.1645 -0.2 vertex 0.908598 27.1645 0 endloop endfacet facet normal 0.819454 -0.573145 0 outer loop - vertex 0.908598 27.1645 -0.1 + vertex 0.908598 27.1645 -0.2 vertex 0.870515 27.1101 0 - vertex 0.870515 27.1101 -0.1 + vertex 0.870515 27.1101 -0.2 endloop endfacet facet normal 0.947054 -0.321074 0 outer loop vertex 0.908598 27.1645 0 - vertex 0.944126 27.2693 -0.1 + vertex 0.944126 27.2693 -0.2 vertex 0.944126 27.2693 0 endloop endfacet facet normal 0.947054 -0.321074 0 outer loop - vertex 0.944126 27.2693 -0.1 + vertex 0.944126 27.2693 -0.2 vertex 0.908598 27.1645 0 - vertex 0.908598 27.1645 -0.1 + vertex 0.908598 27.1645 -0.2 endloop endfacet facet normal 0.984285 -0.17659 0 outer loop vertex 0.944126 27.2693 0 - vertex 1.00441 27.6053 -0.1 + vertex 1.00441 27.6053 -0.2 vertex 1.00441 27.6053 0 endloop endfacet facet normal 0.984285 -0.17659 0 outer loop - vertex 1.00441 27.6053 -0.1 + vertex 1.00441 27.6053 -0.2 vertex 0.944126 27.2693 0 - vertex 0.944126 27.2693 -0.1 + vertex 0.944126 27.2693 -0.2 endloop endfacet facet normal 0.996161 -0.0875344 0 outer loop vertex 1.00441 27.6053 0 - vertex 1.04514 28.0688 -0.1 + vertex 1.04514 28.0688 -0.2 vertex 1.04514 28.0688 0 endloop endfacet facet normal 0.996161 -0.0875344 0 outer loop - vertex 1.04514 28.0688 -0.1 + vertex 1.04514 28.0688 -0.2 vertex 1.00441 27.6053 0 - vertex 1.00441 27.6053 -0.1 + vertex 1.00441 27.6053 -0.2 endloop endfacet facet normal 0.999619 -0.0276007 0 outer loop vertex 1.04514 28.0688 0 - vertex 1.0601 28.6106 -0.1 + vertex 1.0601 28.6106 -0.2 vertex 1.0601 28.6106 0 endloop endfacet facet normal 0.999619 -0.0276007 0 outer loop - vertex 1.0601 28.6106 -0.1 + vertex 1.0601 28.6106 -0.2 vertex 1.04514 28.0688 0 - vertex 1.04514 28.0688 -0.1 + vertex 1.04514 28.0688 -0.2 endloop endfacet facet normal 0.999546 -0.0301211 0 outer loop vertex 1.0601 28.6106 0 - vertex 1.07949 29.2543 -0.1 + vertex 1.07949 29.2543 -0.2 vertex 1.07949 29.2543 0 endloop endfacet facet normal 0.999546 -0.0301211 0 outer loop - vertex 1.07949 29.2543 -0.1 + vertex 1.07949 29.2543 -0.2 vertex 1.0601 28.6106 0 - vertex 1.0601 28.6106 -0.1 + vertex 1.0601 28.6106 -0.2 endloop endfacet facet normal 0.995652 -0.0931476 0 outer loop vertex 1.07949 29.2543 0 - vertex 1.13903 29.8907 -0.1 + vertex 1.13903 29.8907 -0.2 vertex 1.13903 29.8907 0 endloop endfacet facet normal 0.995652 -0.0931476 0 outer loop - vertex 1.13903 29.8907 -0.1 + vertex 1.13903 29.8907 -0.2 vertex 1.07949 29.2543 0 - vertex 1.07949 29.2543 -0.1 + vertex 1.07949 29.2543 -0.2 endloop endfacet facet normal 0.987491 -0.157674 0 outer loop vertex 1.13903 29.8907 0 - vertex 1.24074 30.5277 -0.1 + vertex 1.24074 30.5277 -0.2 vertex 1.24074 30.5277 0 endloop endfacet facet normal 0.987491 -0.157674 0 outer loop - vertex 1.24074 30.5277 -0.1 + vertex 1.24074 30.5277 -0.2 vertex 1.13903 29.8907 0 - vertex 1.13903 29.8907 -0.1 + vertex 1.13903 29.8907 -0.2 endloop endfacet facet normal 0.975385 -0.220507 0 outer loop vertex 1.24074 30.5277 0 - vertex 1.38662 31.173 -0.1 + vertex 1.38662 31.173 -0.2 vertex 1.38662 31.173 0 endloop endfacet facet normal 0.975385 -0.220507 0 outer loop - vertex 1.38662 31.173 -0.1 + vertex 1.38662 31.173 -0.2 vertex 1.24074 30.5277 0 - vertex 1.24074 30.5277 -0.1 + vertex 1.24074 30.5277 -0.2 endloop endfacet facet normal 0.960327 -0.278878 0 outer loop vertex 1.38662 31.173 0 - vertex 1.57871 31.8344 -0.1 + vertex 1.57871 31.8344 -0.2 vertex 1.57871 31.8344 0 endloop endfacet facet normal 0.960327 -0.278878 0 outer loop - vertex 1.57871 31.8344 -0.1 + vertex 1.57871 31.8344 -0.2 vertex 1.38662 31.173 0 - vertex 1.38662 31.173 -0.1 + vertex 1.38662 31.173 -0.2 endloop endfacet facet normal 0.943682 -0.330853 0 outer loop vertex 1.57871 31.8344 0 - vertex 1.81903 32.5199 -0.1 + vertex 1.81903 32.5199 -0.2 vertex 1.81903 32.5199 0 endloop endfacet facet normal 0.943682 -0.330853 0 outer loop - vertex 1.81903 32.5199 -0.1 + vertex 1.81903 32.5199 -0.2 vertex 1.57871 31.8344 0 - vertex 1.57871 31.8344 -0.1 + vertex 1.57871 31.8344 -0.2 endloop endfacet facet normal 0.926833 -0.375474 0 outer loop vertex 1.81903 32.5199 0 - vertex 2.10958 33.2371 -0.1 + vertex 2.10958 33.2371 -0.2 vertex 2.10958 33.2371 0 endloop endfacet facet normal 0.926833 -0.375474 0 outer loop - vertex 2.10958 33.2371 -0.1 + vertex 2.10958 33.2371 -0.2 vertex 1.81903 32.5199 0 - vertex 1.81903 32.5199 -0.1 + vertex 1.81903 32.5199 -0.2 endloop endfacet facet normal 0.910903 -0.412619 0 outer loop vertex 2.10958 33.2371 0 - vertex 2.4524 33.9939 -0.1 + vertex 2.4524 33.9939 -0.2 vertex 2.4524 33.9939 0 endloop endfacet facet normal 0.910903 -0.412619 0 outer loop - vertex 2.4524 33.9939 -0.1 + vertex 2.4524 33.9939 -0.2 vertex 2.10958 33.2371 0 - vertex 2.10958 33.2371 -0.1 + vertex 2.10958 33.2371 -0.2 endloop endfacet facet normal 0.897899 -0.440202 0 outer loop vertex 2.4524 33.9939 0 - vertex 2.84738 34.7996 -0.1 + vertex 2.84738 34.7996 -0.2 vertex 2.84738 34.7996 0 endloop endfacet facet normal 0.897899 -0.440202 0 outer loop - vertex 2.84738 34.7996 -0.1 + vertex 2.84738 34.7996 -0.2 vertex 2.4524 33.9939 0 - vertex 2.4524 33.9939 -0.1 + vertex 2.4524 33.9939 -0.2 endloop endfacet facet normal 0.887623 -0.460571 0 outer loop vertex 2.84738 34.7996 0 - vertex 3.26543 35.6052 -0.1 + vertex 3.26543 35.6052 -0.2 vertex 3.26543 35.6052 0 endloop endfacet facet normal 0.887623 -0.460571 0 outer loop - vertex 3.26543 35.6052 -0.1 + vertex 3.26543 35.6052 -0.2 vertex 2.84738 34.7996 0 - vertex 2.84738 34.7996 -0.1 + vertex 2.84738 34.7996 -0.2 endloop endfacet facet normal 0.877821 -0.478989 0 outer loop vertex 3.26543 35.6052 0 - vertex 3.68699 36.3778 -0.1 + vertex 3.68699 36.3778 -0.2 vertex 3.68699 36.3778 0 endloop endfacet facet normal 0.877821 -0.478989 0 outer loop - vertex 3.68699 36.3778 -0.1 + vertex 3.68699 36.3778 -0.2 vertex 3.26543 35.6052 0 - vertex 3.26543 35.6052 -0.1 + vertex 3.26543 35.6052 -0.2 endloop endfacet facet normal 0.867241 -0.497888 0 outer loop vertex 3.68699 36.3778 0 - vertex 4.09252 37.0842 -0.1 + vertex 4.09252 37.0842 -0.2 vertex 4.09252 37.0842 0 endloop endfacet facet normal 0.867241 -0.497888 0 outer loop - vertex 4.09252 37.0842 -0.1 + vertex 4.09252 37.0842 -0.2 vertex 3.68699 36.3778 0 - vertex 3.68699 36.3778 -0.1 + vertex 3.68699 36.3778 -0.2 endloop endfacet facet normal 0.853923 -0.520399 0 outer loop vertex 4.09252 37.0842 0 - vertex 4.46246 37.6912 -0.1 + vertex 4.46246 37.6912 -0.2 vertex 4.46246 37.6912 0 endloop endfacet facet normal 0.853923 -0.520399 0 outer loop - vertex 4.46246 37.6912 -0.1 + vertex 4.46246 37.6912 -0.2 vertex 4.09252 37.0842 0 - vertex 4.09252 37.0842 -0.1 + vertex 4.09252 37.0842 -0.2 endloop endfacet facet normal 0.833342 -0.552757 0 outer loop vertex 4.46246 37.6912 0 - vertex 4.77727 38.1658 -0.1 + vertex 4.77727 38.1658 -0.2 vertex 4.77727 38.1658 0 endloop endfacet facet normal 0.833342 -0.552757 0 outer loop - vertex 4.77727 38.1658 -0.1 + vertex 4.77727 38.1658 -0.2 vertex 4.46246 37.6912 0 - vertex 4.46246 37.6912 -0.1 + vertex 4.46246 37.6912 -0.2 endloop endfacet facet normal 0.789667 -0.613535 0 outer loop vertex 4.77727 38.1658 0 - vertex 5.01738 38.4749 -0.1 + vertex 5.01738 38.4749 -0.2 vertex 5.01738 38.4749 0 endloop endfacet facet normal 0.789667 -0.613535 0 outer loop - vertex 5.01738 38.4749 -0.1 + vertex 5.01738 38.4749 -0.2 vertex 4.77727 38.1658 0 - vertex 4.77727 38.1658 -0.1 + vertex 4.77727 38.1658 -0.2 endloop endfacet facet normal 0.690746 -0.723097 0 outer loop - vertex 5.01738 38.4749 -0.1 + vertex 5.01738 38.4749 -0.2 vertex 5.10332 38.557 0 vertex 5.01738 38.4749 0 endloop @@ -43227,13 +43227,13 @@ solid OpenSCAD_Model facet normal 0.690746 -0.723097 0 outer loop vertex 5.10332 38.557 0 - vertex 5.01738 38.4749 -0.1 - vertex 5.10332 38.557 -0.1 + vertex 5.01738 38.4749 -0.2 + vertex 5.10332 38.557 -0.2 endloop endfacet facet normal 0.426773 -0.904359 0 outer loop - vertex 5.10332 38.557 -0.1 + vertex 5.10332 38.557 -0.2 vertex 5.16325 38.5852 0 vertex 5.10332 38.557 0 endloop @@ -43241,13 +43241,13 @@ solid OpenSCAD_Model facet normal 0.426773 -0.904359 0 outer loop vertex 5.16325 38.5852 0 - vertex 5.10332 38.557 -0.1 - vertex 5.16325 38.5852 -0.1 + vertex 5.10332 38.557 -0.2 + vertex 5.16325 38.5852 -0.2 endloop endfacet facet normal -0.22248 -0.974937 0 outer loop - vertex 5.16325 38.5852 -0.1 + vertex 5.16325 38.5852 -0.2 vertex 5.20457 38.5758 0 vertex 5.16325 38.5852 0 endloop @@ -43255,139 +43255,139 @@ solid OpenSCAD_Model facet normal -0.22248 -0.974937 -0 outer loop vertex 5.20457 38.5758 0 - vertex 5.16325 38.5852 -0.1 - vertex 5.20457 38.5758 -0.1 + vertex 5.16325 38.5852 -0.2 + vertex 5.20457 38.5758 -0.2 endloop endfacet facet normal -0.944948 0.327219 0 outer loop - vertex 7.1242 19.0144 -0.1 + vertex 7.1242 19.0144 -0.2 vertex 7.15267 19.0966 0 - vertex 7.15267 19.0966 -0.1 + vertex 7.15267 19.0966 -0.2 endloop endfacet facet normal -0.944948 0.327219 0 outer loop vertex 7.15267 19.0966 0 - vertex 7.1242 19.0144 -0.1 + vertex 7.1242 19.0144 -0.2 vertex 7.1242 19.0144 0 endloop endfacet facet normal -0.999677 -0.0254292 0 outer loop - vertex 7.1273 18.8927 -0.1 + vertex 7.1273 18.8927 -0.2 vertex 7.1242 19.0144 0 - vertex 7.1242 19.0144 -0.1 + vertex 7.1242 19.0144 -0.2 endloop endfacet facet normal -0.999677 -0.0254292 0 outer loop vertex 7.1242 19.0144 0 - vertex 7.1273 18.8927 -0.1 + vertex 7.1273 18.8927 -0.2 vertex 7.1273 18.8927 0 endloop endfacet facet normal -0.971548 -0.236844 0 outer loop - vertex 7.16351 18.7442 -0.1 + vertex 7.16351 18.7442 -0.2 vertex 7.1273 18.8927 0 - vertex 7.1273 18.8927 -0.1 + vertex 7.1273 18.8927 -0.2 endloop endfacet facet normal -0.971548 -0.236844 0 outer loop vertex 7.1273 18.8927 0 - vertex 7.16351 18.7442 -0.1 + vertex 7.16351 18.7442 -0.2 vertex 7.16351 18.7442 0 endloop endfacet facet normal -0.922269 -0.38655 0 outer loop - vertex 7.29207 18.4374 -0.1 + vertex 7.29207 18.4374 -0.2 vertex 7.16351 18.7442 0 - vertex 7.16351 18.7442 -0.1 + vertex 7.16351 18.7442 -0.2 endloop endfacet facet normal -0.922269 -0.38655 0 outer loop vertex 7.16351 18.7442 0 - vertex 7.29207 18.4374 -0.1 + vertex 7.29207 18.4374 -0.2 vertex 7.29207 18.4374 0 endloop endfacet facet normal -0.894309 -0.44745 0 outer loop - vertex 7.49889 18.0241 -0.1 + vertex 7.49889 18.0241 -0.2 vertex 7.29207 18.4374 0 - vertex 7.29207 18.4374 -0.1 + vertex 7.29207 18.4374 -0.2 endloop endfacet facet normal -0.894309 -0.44745 0 outer loop vertex 7.29207 18.4374 0 - vertex 7.49889 18.0241 -0.1 + vertex 7.49889 18.0241 -0.2 vertex 7.49889 18.0241 0 endloop endfacet facet normal -0.872312 -0.488949 0 outer loop - vertex 8.03973 17.0592 -0.1 + vertex 8.03973 17.0592 -0.2 vertex 7.49889 18.0241 0 - vertex 7.49889 18.0241 -0.1 + vertex 7.49889 18.0241 -0.2 endloop endfacet facet normal -0.872312 -0.488949 0 outer loop vertex 7.49889 18.0241 0 - vertex 8.03973 17.0592 -0.1 + vertex 8.03973 17.0592 -0.2 vertex 8.03973 17.0592 0 endloop endfacet facet normal -0.84697 -0.53164 0 outer loop - vertex 8.57086 16.213 -0.1 + vertex 8.57086 16.213 -0.2 vertex 8.03973 17.0592 0 - vertex 8.03973 17.0592 -0.1 + vertex 8.03973 17.0592 -0.2 endloop endfacet facet normal -0.84697 -0.53164 0 outer loop vertex 8.03973 17.0592 0 - vertex 8.57086 16.213 -0.1 + vertex 8.57086 16.213 -0.2 vertex 8.57086 16.213 0 endloop endfacet facet normal -0.805848 -0.592122 0 outer loop - vertex 8.76553 15.9481 -0.1 + vertex 8.76553 15.9481 -0.2 vertex 8.57086 16.213 0 - vertex 8.57086 16.213 -0.1 + vertex 8.57086 16.213 -0.2 endloop endfacet facet normal -0.805848 -0.592122 0 outer loop vertex 8.57086 16.213 0 - vertex 8.76553 15.9481 -0.1 + vertex 8.76553 15.9481 -0.2 vertex 8.76553 15.9481 0 endloop endfacet facet normal -0.732738 -0.680511 0 outer loop - vertex 8.83337 15.875 -0.1 + vertex 8.83337 15.875 -0.2 vertex 8.76553 15.9481 0 - vertex 8.76553 15.9481 -0.1 + vertex 8.76553 15.9481 -0.2 endloop endfacet facet normal -0.732738 -0.680511 0 outer loop vertex 8.76553 15.9481 0 - vertex 8.83337 15.875 -0.1 + vertex 8.83337 15.875 -0.2 vertex 8.83337 15.875 0 endloop endfacet facet normal -0.509392 -0.860535 0 outer loop - vertex 8.83337 15.875 -0.1 + vertex 8.83337 15.875 -0.2 vertex 8.87708 15.8492 0 vertex 8.83337 15.875 0 endloop @@ -43395,13 +43395,13 @@ solid OpenSCAD_Model facet normal -0.509392 -0.860535 -0 outer loop vertex 8.87708 15.8492 0 - vertex 8.83337 15.875 -0.1 - vertex 8.87708 15.8492 -0.1 + vertex 8.83337 15.875 -0.2 + vertex 8.87708 15.8492 -0.2 endloop endfacet facet normal 0.216566 -0.976268 0 outer loop - vertex 8.87708 15.8492 -0.1 + vertex 8.87708 15.8492 -0.2 vertex 8.99158 15.8746 0 vertex 8.87708 15.8492 0 endloop @@ -43409,13 +43409,13 @@ solid OpenSCAD_Model facet normal 0.216566 -0.976268 0 outer loop vertex 8.99158 15.8746 0 - vertex 8.87708 15.8492 -0.1 - vertex 8.99158 15.8746 -0.1 + vertex 8.87708 15.8492 -0.2 + vertex 8.99158 15.8746 -0.2 endloop endfacet facet normal 0.333607 -0.942712 0 outer loop - vertex 8.99158 15.8746 -0.1 + vertex 8.99158 15.8746 -0.2 vertex 9.19116 15.9452 0 vertex 8.99158 15.8746 0 endloop @@ -43423,13 +43423,13 @@ solid OpenSCAD_Model facet normal 0.333607 -0.942712 0 outer loop vertex 9.19116 15.9452 0 - vertex 8.99158 15.8746 -0.1 - vertex 9.19116 15.9452 -0.1 + vertex 8.99158 15.8746 -0.2 + vertex 9.19116 15.9452 -0.2 endloop endfacet facet normal 0.395815 -0.91833 0 outer loop - vertex 9.19116 15.9452 -0.1 + vertex 9.19116 15.9452 -0.2 vertex 9.73318 16.1788 0 vertex 9.19116 15.9452 0 endloop @@ -43437,13 +43437,13 @@ solid OpenSCAD_Model facet normal 0.395815 -0.91833 0 outer loop vertex 9.73318 16.1788 0 - vertex 9.19116 15.9452 -0.1 - vertex 9.73318 16.1788 -0.1 + vertex 9.19116 15.9452 -0.2 + vertex 9.73318 16.1788 -0.2 endloop endfacet facet normal 0.425917 -0.904762 0 outer loop - vertex 9.73318 16.1788 -0.1 + vertex 9.73318 16.1788 -0.2 vertex 10.4375 16.5104 0 vertex 9.73318 16.1788 0 endloop @@ -43451,27 +43451,27 @@ solid OpenSCAD_Model facet normal 0.425917 -0.904762 0 outer loop vertex 10.4375 16.5104 0 - vertex 9.73318 16.1788 -0.1 - vertex 10.4375 16.5104 -0.1 + vertex 9.73318 16.1788 -0.2 + vertex 10.4375 16.5104 -0.2 endloop endfacet facet normal 0.716732 0.697349 0 outer loop vertex 10.4375 16.5104 0 - vertex 9.77546 17.1908 -0.1 + vertex 9.77546 17.1908 -0.2 vertex 9.77546 17.1908 0 endloop endfacet facet normal 0.716732 0.697349 0 outer loop - vertex 9.77546 17.1908 -0.1 + vertex 9.77546 17.1908 -0.2 vertex 10.4375 16.5104 0 - vertex 10.4375 16.5104 -0.1 + vertex 10.4375 16.5104 -0.2 endloop endfacet facet normal 0.695522 0.718505 -0 outer loop - vertex 9.77546 17.1908 -0.1 + vertex 9.77546 17.1908 -0.2 vertex 9.46246 17.4938 0 vertex 9.77546 17.1908 0 endloop @@ -43479,13 +43479,13 @@ solid OpenSCAD_Model facet normal 0.695522 0.718505 0 outer loop vertex 9.46246 17.4938 0 - vertex 9.77546 17.1908 -0.1 - vertex 9.46246 17.4938 -0.1 + vertex 9.77546 17.1908 -0.2 + vertex 9.46246 17.4938 -0.2 endloop endfacet facet normal 0.663067 0.74856 -0 outer loop - vertex 9.46246 17.4938 -0.1 + vertex 9.46246 17.4938 -0.2 vertex 9.09841 17.8163 0 vertex 9.46246 17.4938 0 endloop @@ -43493,13 +43493,13 @@ solid OpenSCAD_Model facet normal 0.663067 0.74856 0 outer loop vertex 9.09841 17.8163 0 - vertex 9.46246 17.4938 -0.1 - vertex 9.09841 17.8163 -0.1 + vertex 9.46246 17.4938 -0.2 + vertex 9.09841 17.8163 -0.2 endloop endfacet facet normal 0.6264 0.779502 -0 outer loop - vertex 9.09841 17.8163 -0.1 + vertex 9.09841 17.8163 -0.2 vertex 8.31493 18.4459 0 vertex 9.09841 17.8163 0 endloop @@ -43507,13 +43507,13 @@ solid OpenSCAD_Model facet normal 0.6264 0.779502 0 outer loop vertex 8.31493 18.4459 0 - vertex 9.09841 17.8163 -0.1 - vertex 8.31493 18.4459 -0.1 + vertex 9.09841 17.8163 -0.2 + vertex 8.31493 18.4459 -0.2 endloop endfacet facet normal 0.58921 0.80798 -0 outer loop - vertex 8.31493 18.4459 -0.1 + vertex 8.31493 18.4459 -0.2 vertex 7.9444 18.7161 0 vertex 8.31493 18.4459 0 endloop @@ -43521,13 +43521,13 @@ solid OpenSCAD_Model facet normal 0.58921 0.80798 0 outer loop vertex 7.9444 18.7161 0 - vertex 8.31493 18.4459 -0.1 - vertex 7.9444 18.7161 -0.1 + vertex 8.31493 18.4459 -0.2 + vertex 7.9444 18.7161 -0.2 endloop endfacet facet normal 0.554709 0.832044 -0 outer loop - vertex 7.9444 18.7161 -0.1 + vertex 7.9444 18.7161 -0.2 vertex 7.62063 18.9319 0 vertex 7.9444 18.7161 0 endloop @@ -43535,13 +43535,13 @@ solid OpenSCAD_Model facet normal 0.554709 0.832044 0 outer loop vertex 7.62063 18.9319 0 - vertex 7.9444 18.7161 -0.1 - vertex 7.62063 18.9319 -0.1 + vertex 7.9444 18.7161 -0.2 + vertex 7.62063 18.9319 -0.2 endloop endfacet facet normal 0.492817 0.870133 -0 outer loop - vertex 7.62063 18.9319 -0.1 + vertex 7.62063 18.9319 -0.2 vertex 7.36805 19.075 0 vertex 7.62063 18.9319 0 endloop @@ -43549,13 +43549,13 @@ solid OpenSCAD_Model facet normal 0.492817 0.870133 0 outer loop vertex 7.36805 19.075 0 - vertex 7.62063 18.9319 -0.1 - vertex 7.36805 19.075 -0.1 + vertex 7.62063 18.9319 -0.2 + vertex 7.36805 19.075 -0.2 endloop endfacet facet normal 0.313373 0.94963 -0 outer loop - vertex 7.36805 19.075 -0.1 + vertex 7.36805 19.075 -0.2 vertex 7.21113 19.1268 0 vertex 7.36805 19.075 0 endloop @@ -43563,13 +43563,13 @@ solid OpenSCAD_Model facet normal 0.313373 0.94963 0 outer loop vertex 7.21113 19.1268 0 - vertex 7.36805 19.075 -0.1 - vertex 7.21113 19.1268 -0.1 + vertex 7.36805 19.075 -0.2 + vertex 7.21113 19.1268 -0.2 endloop endfacet facet normal -0.458832 0.888523 0 outer loop - vertex 7.21113 19.1268 -0.1 + vertex 7.21113 19.1268 -0.2 vertex 7.15267 19.0966 0 vertex 7.21113 19.1268 0 endloop @@ -43577,13 +43577,13 @@ solid OpenSCAD_Model facet normal -0.458832 0.888523 0 outer loop vertex 7.15267 19.0966 0 - vertex 7.21113 19.1268 -0.1 - vertex 7.15267 19.0966 -0.1 + vertex 7.21113 19.1268 -0.2 + vertex 7.15267 19.0966 -0.2 endloop endfacet facet normal -0.0478819 0.998853 0 outer loop - vertex -14.6988 24.986 -0.1 + vertex -14.6988 24.986 -0.2 vertex -15.4289 24.9511 0 vertex -14.6988 24.986 0 endloop @@ -43591,13 +43591,13 @@ solid OpenSCAD_Model facet normal -0.0478819 0.998853 0 outer loop vertex -15.4289 24.9511 0 - vertex -14.6988 24.986 -0.1 - vertex -15.4289 24.9511 -0.1 + vertex -14.6988 24.986 -0.2 + vertex -15.4289 24.9511 -0.2 endloop endfacet facet normal -0.102501 0.994733 0 outer loop - vertex -15.4289 24.9511 -0.1 + vertex -15.4289 24.9511 -0.2 vertex -16.0762 24.8844 0 vertex -15.4289 24.9511 0 endloop @@ -43605,13 +43605,13 @@ solid OpenSCAD_Model facet normal -0.102501 0.994733 0 outer loop vertex -16.0762 24.8844 0 - vertex -15.4289 24.9511 -0.1 - vertex -16.0762 24.8844 -0.1 + vertex -15.4289 24.9511 -0.2 + vertex -16.0762 24.8844 -0.2 endloop endfacet facet normal -0.186067 0.982537 0 outer loop - vertex -16.0762 24.8844 -0.1 + vertex -16.0762 24.8844 -0.2 vertex -16.599 24.7853 0 vertex -16.0762 24.8844 0 endloop @@ -43619,13 +43619,13 @@ solid OpenSCAD_Model facet normal -0.186067 0.982537 0 outer loop vertex -16.599 24.7853 0 - vertex -16.0762 24.8844 -0.1 - vertex -16.599 24.7853 -0.1 + vertex -16.0762 24.8844 -0.2 + vertex -16.599 24.7853 -0.2 endloop endfacet facet normal -0.197458 0.980311 0 outer loop - vertex -16.599 24.7853 -0.1 + vertex -16.599 24.7853 -0.2 vertex -17.1707 24.6702 0 vertex -16.599 24.7853 0 endloop @@ -43633,13 +43633,13 @@ solid OpenSCAD_Model facet normal -0.197458 0.980311 0 outer loop vertex -17.1707 24.6702 0 - vertex -16.599 24.7853 -0.1 - vertex -17.1707 24.6702 -0.1 + vertex -16.599 24.7853 -0.2 + vertex -17.1707 24.6702 -0.2 endloop endfacet facet normal -0.159115 0.98726 0 outer loop - vertex -17.1707 24.6702 -0.1 + vertex -17.1707 24.6702 -0.2 vertex -18.0818 24.5233 0 vertex -17.1707 24.6702 0 endloop @@ -43647,13 +43647,13 @@ solid OpenSCAD_Model facet normal -0.159115 0.98726 0 outer loop vertex -18.0818 24.5233 0 - vertex -17.1707 24.6702 -0.1 - vertex -18.0818 24.5233 -0.1 + vertex -17.1707 24.6702 -0.2 + vertex -18.0818 24.5233 -0.2 endloop endfacet facet normal -0.140489 0.990082 0 outer loop - vertex -18.0818 24.5233 -0.1 + vertex -18.0818 24.5233 -0.2 vertex -19.207 24.3637 0 vertex -18.0818 24.5233 0 endloop @@ -43661,13 +43661,13 @@ solid OpenSCAD_Model facet normal -0.140489 0.990082 0 outer loop vertex -19.207 24.3637 0 - vertex -18.0818 24.5233 -0.1 - vertex -19.207 24.3637 -0.1 + vertex -18.0818 24.5233 -0.2 + vertex -19.207 24.3637 -0.2 endloop endfacet facet normal -0.125539 0.992089 0 outer loop - vertex -19.207 24.3637 -0.1 + vertex -19.207 24.3637 -0.2 vertex -20.4207 24.2101 0 vertex -19.207 24.3637 0 endloop @@ -43675,13 +43675,13 @@ solid OpenSCAD_Model facet normal -0.125539 0.992089 0 outer loop vertex -20.4207 24.2101 0 - vertex -19.207 24.3637 -0.1 - vertex -20.4207 24.2101 -0.1 + vertex -19.207 24.3637 -0.2 + vertex -20.4207 24.2101 -0.2 endloop endfacet facet normal -0.117788 0.993039 0 outer loop - vertex -20.4207 24.2101 -0.1 + vertex -20.4207 24.2101 -0.2 vertex -23.3692 23.8604 0 vertex -20.4207 24.2101 0 endloop @@ -43689,13 +43689,13 @@ solid OpenSCAD_Model facet normal -0.117788 0.993039 0 outer loop vertex -23.3692 23.8604 0 - vertex -20.4207 24.2101 -0.1 - vertex -23.3692 23.8604 -0.1 + vertex -20.4207 24.2101 -0.2 + vertex -23.3692 23.8604 -0.2 endloop endfacet facet normal -0.645441 -0.76381 0 outer loop - vertex -23.3692 23.8604 -0.1 + vertex -23.3692 23.8604 -0.2 vertex -22.6524 23.2546 0 vertex -23.3692 23.8604 0 endloop @@ -43703,13 +43703,13 @@ solid OpenSCAD_Model facet normal -0.645441 -0.76381 -0 outer loop vertex -22.6524 23.2546 0 - vertex -23.3692 23.8604 -0.1 - vertex -22.6524 23.2546 -0.1 + vertex -23.3692 23.8604 -0.2 + vertex -22.6524 23.2546 -0.2 endloop endfacet facet normal -0.595678 -0.803224 0 outer loop - vertex -22.6524 23.2546 -0.1 + vertex -22.6524 23.2546 -0.2 vertex -22.3422 23.0246 0 vertex -22.6524 23.2546 0 endloop @@ -43717,13 +43717,13 @@ solid OpenSCAD_Model facet normal -0.595678 -0.803224 -0 outer loop vertex -22.3422 23.0246 0 - vertex -22.6524 23.2546 -0.1 - vertex -22.3422 23.0246 -0.1 + vertex -22.6524 23.2546 -0.2 + vertex -22.3422 23.0246 -0.2 endloop endfacet facet normal -0.490603 -0.871383 0 outer loop - vertex -22.3422 23.0246 -0.1 + vertex -22.3422 23.0246 -0.2 vertex -22.0315 22.8497 0 vertex -22.3422 23.0246 0 endloop @@ -43731,13 +43731,13 @@ solid OpenSCAD_Model facet normal -0.490603 -0.871383 -0 outer loop vertex -22.0315 22.8497 0 - vertex -22.3422 23.0246 -0.1 - vertex -22.0315 22.8497 -0.1 + vertex -22.3422 23.0246 -0.2 + vertex -22.0315 22.8497 -0.2 endloop endfacet facet normal -0.350196 -0.936677 0 outer loop - vertex -22.0315 22.8497 -0.1 + vertex -22.0315 22.8497 -0.2 vertex -21.755 22.7463 0 vertex -22.0315 22.8497 0 endloop @@ -43745,13 +43745,13 @@ solid OpenSCAD_Model facet normal -0.350196 -0.936677 -0 outer loop vertex -21.755 22.7463 0 - vertex -22.0315 22.8497 -0.1 - vertex -21.755 22.7463 -0.1 + vertex -22.0315 22.8497 -0.2 + vertex -21.755 22.7463 -0.2 endloop endfacet facet normal -0.169545 -0.985522 0 outer loop - vertex -21.755 22.7463 -0.1 + vertex -21.755 22.7463 -0.2 vertex -21.6404 22.7266 0 vertex -21.755 22.7463 0 endloop @@ -43759,13 +43759,13 @@ solid OpenSCAD_Model facet normal -0.169545 -0.985522 -0 outer loop vertex -21.6404 22.7266 0 - vertex -21.755 22.7463 -0.1 - vertex -21.6404 22.7266 -0.1 + vertex -21.755 22.7463 -0.2 + vertex -21.6404 22.7266 -0.2 endloop endfacet facet normal 0.0467747 -0.998905 0 outer loop - vertex -21.6404 22.7266 -0.1 + vertex -21.6404 22.7266 -0.2 vertex -21.5474 22.7309 0 vertex -21.6404 22.7266 0 endloop @@ -43773,13 +43773,13 @@ solid OpenSCAD_Model facet normal 0.0467747 -0.998905 0 outer loop vertex -21.5474 22.7309 0 - vertex -21.6404 22.7266 -0.1 - vertex -21.5474 22.7309 -0.1 + vertex -21.6404 22.7266 -0.2 + vertex -21.5474 22.7309 -0.2 endloop endfacet facet normal 0.160131 -0.987096 0 outer loop - vertex -21.5474 22.7309 -0.1 + vertex -21.5474 22.7309 -0.2 vertex -20.7318 22.8633 0 vertex -21.5474 22.7309 0 endloop @@ -43787,13 +43787,13 @@ solid OpenSCAD_Model facet normal 0.160131 -0.987096 0 outer loop vertex -20.7318 22.8633 0 - vertex -21.5474 22.7309 -0.1 - vertex -20.7318 22.8633 -0.1 + vertex -21.5474 22.7309 -0.2 + vertex -20.7318 22.8633 -0.2 endloop endfacet facet normal 0.141843 -0.989889 0 outer loop - vertex -20.7318 22.8633 -0.1 + vertex -20.7318 22.8633 -0.2 vertex -19.3158 23.0662 0 vertex -20.7318 22.8633 0 endloop @@ -43801,13 +43801,13 @@ solid OpenSCAD_Model facet normal 0.141843 -0.989889 0 outer loop vertex -19.3158 23.0662 0 - vertex -20.7318 22.8633 -0.1 - vertex -19.3158 23.0662 -0.1 + vertex -20.7318 22.8633 -0.2 + vertex -19.3158 23.0662 -0.2 endloop endfacet facet normal 0.145154 -0.989409 0 outer loop - vertex -19.3158 23.0662 -0.1 + vertex -19.3158 23.0662 -0.2 vertex -17.0412 23.3999 0 vertex -19.3158 23.0662 0 endloop @@ -43815,13 +43815,13 @@ solid OpenSCAD_Model facet normal 0.145154 -0.989409 0 outer loop vertex -17.0412 23.3999 0 - vertex -19.3158 23.0662 -0.1 - vertex -17.0412 23.3999 -0.1 + vertex -19.3158 23.0662 -0.2 + vertex -17.0412 23.3999 -0.2 endloop endfacet facet normal 0.153306 -0.988179 0 outer loop - vertex -17.0412 23.3999 -0.1 + vertex -17.0412 23.3999 -0.2 vertex -14.1612 23.8467 0 vertex -17.0412 23.3999 0 endloop @@ -43829,13 +43829,13 @@ solid OpenSCAD_Model facet normal 0.153306 -0.988179 0 outer loop vertex -14.1612 23.8467 0 - vertex -17.0412 23.3999 -0.1 - vertex -14.1612 23.8467 -0.1 + vertex -17.0412 23.3999 -0.2 + vertex -14.1612 23.8467 -0.2 endloop endfacet facet normal 0.152324 -0.988331 0 outer loop - vertex -14.1612 23.8467 -0.1 + vertex -14.1612 23.8467 -0.2 vertex -10.5711 24.4 0 vertex -14.1612 23.8467 0 endloop @@ -43843,13 +43843,13 @@ solid OpenSCAD_Model facet normal 0.152324 -0.988331 0 outer loop vertex -10.5711 24.4 0 - vertex -14.1612 23.8467 -0.1 - vertex -10.5711 24.4 -0.1 + vertex -14.1612 23.8467 -0.2 + vertex -10.5711 24.4 -0.2 endloop endfacet facet normal 0.28937 -0.957217 0 outer loop - vertex -10.5711 24.4 -0.1 + vertex -10.5711 24.4 -0.2 vertex -10.5349 24.4109 0 vertex -10.5711 24.4 0 endloop @@ -43857,27 +43857,27 @@ solid OpenSCAD_Model facet normal 0.28937 -0.957217 0 outer loop vertex -10.5349 24.4109 0 - vertex -10.5711 24.4 -0.1 - vertex -10.5349 24.4109 -0.1 + vertex -10.5711 24.4 -0.2 + vertex -10.5349 24.4109 -0.2 endloop endfacet facet normal 0.978613 0.20571 0 outer loop vertex -10.5349 24.4109 0 - vertex -10.5394 24.4322 -0.1 + vertex -10.5394 24.4322 -0.2 vertex -10.5394 24.4322 0 endloop endfacet facet normal 0.978613 0.20571 0 outer loop - vertex -10.5394 24.4322 -0.1 + vertex -10.5394 24.4322 -0.2 vertex -10.5349 24.4109 0 - vertex -10.5349 24.4109 -0.1 + vertex -10.5349 24.4109 -0.2 endloop endfacet facet normal 0.497201 0.867635 -0 outer loop - vertex -10.5394 24.4322 -0.1 + vertex -10.5394 24.4322 -0.2 vertex -10.6591 24.5009 0 vertex -10.5394 24.4322 0 endloop @@ -43885,13 +43885,13 @@ solid OpenSCAD_Model facet normal 0.497201 0.867635 0 outer loop vertex -10.6591 24.5009 0 - vertex -10.5394 24.4322 -0.1 - vertex -10.6591 24.5009 -0.1 + vertex -10.5394 24.4322 -0.2 + vertex -10.6591 24.5009 -0.2 endloop endfacet facet normal 0.356744 0.934202 -0 outer loop - vertex -10.6591 24.5009 -0.1 + vertex -10.6591 24.5009 -0.2 vertex -10.9077 24.5958 0 vertex -10.6591 24.5009 0 endloop @@ -43899,13 +43899,13 @@ solid OpenSCAD_Model facet normal 0.356744 0.934202 0 outer loop vertex -10.9077 24.5958 0 - vertex -10.6591 24.5009 -0.1 - vertex -10.9077 24.5958 -0.1 + vertex -10.6591 24.5009 -0.2 + vertex -10.9077 24.5958 -0.2 endloop endfacet facet normal 0.299009 0.95425 -0 outer loop - vertex -10.9077 24.5958 -0.1 + vertex -10.9077 24.5958 -0.2 vertex -11.2625 24.7069 0 vertex -10.9077 24.5958 0 endloop @@ -43913,13 +43913,13 @@ solid OpenSCAD_Model facet normal 0.299009 0.95425 0 outer loop vertex -11.2625 24.7069 0 - vertex -10.9077 24.5958 -0.1 - vertex -11.2625 24.7069 -0.1 + vertex -10.9077 24.5958 -0.2 + vertex -11.2625 24.7069 -0.2 endloop endfacet facet normal 0.214726 0.976674 -0 outer loop - vertex -11.2625 24.7069 -0.1 + vertex -11.2625 24.7069 -0.2 vertex -11.7825 24.8213 0 vertex -11.2625 24.7069 0 endloop @@ -43927,13 +43927,13 @@ solid OpenSCAD_Model facet normal 0.214726 0.976674 0 outer loop vertex -11.7825 24.8213 0 - vertex -11.2625 24.7069 -0.1 - vertex -11.7825 24.8213 -0.1 + vertex -11.2625 24.7069 -0.2 + vertex -11.7825 24.8213 -0.2 endloop endfacet facet normal 0.131639 0.991298 -0 outer loop - vertex -11.7825 24.8213 -0.1 + vertex -11.7825 24.8213 -0.2 vertex -12.4277 24.907 0 vertex -11.7825 24.8213 0 endloop @@ -43941,13 +43941,13 @@ solid OpenSCAD_Model facet normal 0.131639 0.991298 0 outer loop vertex -12.4277 24.907 0 - vertex -11.7825 24.8213 -0.1 - vertex -12.4277 24.907 -0.1 + vertex -11.7825 24.8213 -0.2 + vertex -12.4277 24.907 -0.2 endloop endfacet facet normal 0.0771921 0.997016 -0 outer loop - vertex -12.4277 24.907 -0.1 + vertex -12.4277 24.907 -0.2 vertex -13.1566 24.9634 0 vertex -12.4277 24.907 0 endloop @@ -43955,13 +43955,13 @@ solid OpenSCAD_Model facet normal 0.0771921 0.997016 0 outer loop vertex -13.1566 24.9634 0 - vertex -12.4277 24.907 -0.1 - vertex -13.1566 24.9634 -0.1 + vertex -12.4277 24.907 -0.2 + vertex -13.1566 24.9634 -0.2 endloop endfacet facet normal 0.0344425 0.999407 -0 outer loop - vertex -13.1566 24.9634 -0.1 + vertex -13.1566 24.9634 -0.2 vertex -13.9275 24.99 0 vertex -13.1566 24.9634 0 endloop @@ -43969,13 +43969,13 @@ solid OpenSCAD_Model facet normal 0.0344425 0.999407 0 outer loop vertex -13.9275 24.99 0 - vertex -13.1566 24.9634 -0.1 - vertex -13.9275 24.99 -0.1 + vertex -13.1566 24.9634 -0.2 + vertex -13.9275 24.99 -0.2 endloop endfacet facet normal -0.00506693 0.999987 0 outer loop - vertex -13.9275 24.99 -0.1 + vertex -13.9275 24.99 -0.2 vertex -14.6988 24.986 0 vertex -13.9275 24.99 0 endloop @@ -43983,8 +43983,8 @@ solid OpenSCAD_Model facet normal -0.00506693 0.999987 0 outer loop vertex -14.6988 24.986 0 - vertex -13.9275 24.99 -0.1 - vertex -14.6988 24.986 -0.1 + vertex -13.9275 24.99 -0.2 + vertex -14.6988 24.986 -0.2 endloop endfacet facet normal -1 0 0 @@ -58729,6 +58729,20 @@ solid OpenSCAD_Model vertex 110 -110 -3 endloop endfacet + facet normal 0 1 -0 + outer loop + vertex 110 110 -3 + vertex -110 110 0 + vertex 110 110 0 + endloop + endfacet + facet normal 0 1 0 + outer loop + vertex -110 110 0 + vertex 110 110 -3 + vertex -110 110 -3 + endloop + endfacet facet normal 0 0 -1 outer loop vertex -110 -110 -3 @@ -58757,18 +58771,4 @@ solid OpenSCAD_Model vertex 110 -110 -3 endloop endfacet - facet normal 0 1 -0 - outer loop - vertex 110 110 -3 - vertex -110 110 0 - vertex 110 110 0 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex -110 110 0 - vertex 110 110 -3 - vertex -110 110 -3 - endloop - endfacet endsolid OpenSCAD_Model From cb24d58ab8a023785038fcd8ebf3e0d275b9d01c Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 5 Oct 2018 12:56:40 +0200 Subject: [PATCH 196/423] Don't flood the printer with temperature requests while says it is busy Fixes #3994 --- plugins/USBPrinting/USBPrinterOutputDevice.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 36c5321180..fca0654d30 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -74,6 +74,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._accepts_commands = True self._paused = False + self._printer_busy = False # when printer is preheating and waiting (M190/M109), or when waiting for action on the printer self._firmware_view = None self._firmware_location = None @@ -320,8 +321,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): # Timeout, or no request has been sent at all. self._command_received.set() # We haven't really received the ok, but we need to send a new command - self.sendCommand("M105") - self._last_temperature_request = time() + if not self._printer_busy: # don't flood the printer with temperature requests while it is busy + self.sendCommand("M105") + self._last_temperature_request = time() if self._firmware_name is None: self.sendCommand("M115") @@ -360,7 +362,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if b"FIRMWARE_NAME:" in line: self._setFirmwareName(line) - if b"ok" in line: + if line.startswith(b"ok "): + self._printer_busy = False + self._command_received.set() if not self._command_queue.empty(): self._sendCommand(self._command_queue.get()) @@ -370,16 +374,19 @@ class USBPrinterOutputDevice(PrinterOutputDevice): else: self._sendNextGcodeLine() + if line.startswith(b"echo:busy: "): + self._printer_busy = True + if self._is_printing: if line.startswith(b'!!'): Logger.log('e', "Printer signals fatal error. Cancelling print. {}".format(line)) self.cancelPrint() - elif b"resend" in line.lower() or b"rs" in line: + elif line.lower().startswith(b"resend") or line.startswith(b"rs"): # A resend can be requested either by Resend, resend or rs. try: self._gcode_position = int(line.replace(b"N:", b" ").replace(b"N", b" ").replace(b":", b" ").split()[-1]) except: - if b"rs" in line: + if line.startswith(b"rs"): # In some cases of the RS command it needs to be handled differently. self._gcode_position = int(line.split()[1]) From 94164c58654bf121db9fd8212b70771827293632 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 5 Oct 2018 15:29:52 +0200 Subject: [PATCH 197/423] Add Charon, Shapely, Trimesh and NetworkX to credits --- resources/qml/AboutDialog.qml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/resources/qml/AboutDialog.qml b/resources/qml/AboutDialog.qml index 5d3b1d1544..9a7e53260b 100644 --- a/resources/qml/AboutDialog.qml +++ b/resources/qml/AboutDialog.qml @@ -19,6 +19,18 @@ UM.Dialog width: minimumWidth height: minimumHeight + Rectangle + { + width: parent.width + 2 * margin // margin from Dialog.qml + height: version.y + version.height + margin + + anchors.top: parent.top + anchors.topMargin: - margin + anchors.horizontalCenter: parent.horizontalCenter + + color: UM.Theme.getColor("viewport_background") + } + Image { id: logo @@ -42,6 +54,7 @@ UM.Dialog text: catalog.i18nc("@label","version: %1").arg(UM.Application.version) font: UM.Theme.getFont("large") + color: UM.Theme.getColor("text") anchors.right : logo.right anchors.top: logo.bottom anchors.topMargin: (UM.Theme.getSize("default_margin").height / 2) | 0 @@ -75,6 +88,7 @@ UM.Dialog ScrollView { + id: credits anchors.top: creditsNotes.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height @@ -128,7 +142,11 @@ UM.Dialog projectsModel.append({ name:"SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" }); projectsModel.append({ name:"NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" }); projectsModel.append({ name:"NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" }); + projectsModel.append({ name:"Shapely", description: catalog.i18nc("@label", "Support library for handling planar objects"), license: "BSD", url: "https://github.com/Toblerity/Shapely" }); + projectsModel.append({ name:"Trimesh", description: catalog.i18nc("@label", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" }); + projectsModel.append({ name:"NetworkX", description: catalog.i18nc("@label", "Support library for analysis of complex networks"), license: "3-clause BSD", url: "https://networkx.github.io/" }); projectsModel.append({ name:"libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" }); + projectsModel.append({ name:"libCharon", description: catalog.i18nc("@label", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" }); projectsModel.append({ name:"PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" }); projectsModel.append({ name:"python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" }); projectsModel.append({ name:"Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" }); From 7c68829fcd8e47076562ab84ad7e96b74603a593 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 5 Oct 2018 15:57:30 +0200 Subject: [PATCH 198/423] Remove unused and incorrect "icon" metadata from definitions The "icon" metadata is not used, and in all cases points to non-existing files anyway. --- resources/definitions/3dator.def.json | 1 - resources/definitions/anycubic_i3_mega.def.json | 1 - resources/definitions/deltacomb.def.json | 1 - resources/definitions/fabtotum.def.json | 1 - resources/definitions/grr_neo.def.json | 1 - resources/definitions/kossel_mini.def.json | 1 - resources/definitions/kossel_pro.def.json | 1 - resources/definitions/makeR_pegasus.def.json | 1 - resources/definitions/makeR_prusa_tairona_i3.def.json | 1 - resources/definitions/maker_starter.def.json | 1 - resources/definitions/prusa_i3.def.json | 1 - resources/definitions/prusa_i3_mk2.def.json | 1 - resources/definitions/prusa_i3_xl.def.json | 1 - resources/definitions/seemecnc_artemis.def.json | 1 - resources/definitions/seemecnc_v32.def.json | 1 - resources/definitions/tevo_blackwidow.def.json | 1 - resources/definitions/tevo_tarantula.def.json | 1 - resources/definitions/tevo_tornado.def.json | 1 - resources/definitions/ubuild-3d_mr_bot_280.def.json | 1 - resources/definitions/ultimaker2.def.json | 1 - resources/definitions/ultimaker2_extended.def.json | 1 - resources/definitions/ultimaker2_go.def.json | 1 - resources/definitions/ultimaker_original.def.json | 1 - resources/definitions/ultimaker_original_dual.def.json | 1 - resources/definitions/ultimaker_original_plus.def.json | 1 - resources/definitions/uniqbot_one.def.json | 1 - resources/definitions/vertex_k8400.def.json | 1 - resources/definitions/vertex_k8400_dual.def.json | 1 - resources/definitions/wanhao_d4s.def.json | 1 - resources/definitions/wanhao_d6.def.json | 1 - resources/definitions/wanhao_d6_plus.def.json | 1 - resources/definitions/wanhao_duplicator5S.def.json | 1 - resources/definitions/wanhao_duplicator5Smini.def.json | 1 - resources/definitions/wanhao_i3.def.json | 1 - resources/definitions/wanhao_i3mini.def.json | 1 - resources/definitions/wanhao_i3plus.def.json | 1 - 36 files changed, 36 deletions(-) diff --git a/resources/definitions/3dator.def.json b/resources/definitions/3dator.def.json index 91f261906b..e91c46920b 100644 --- a/resources/definitions/3dator.def.json +++ b/resources/definitions/3dator.def.json @@ -7,7 +7,6 @@ "author": "3Dator GmbH", "manufacturer": "3Dator GmbH", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "supports_usb_connection": true, "platform": "3dator_platform.stl", "machine_extruder_trains": diff --git a/resources/definitions/anycubic_i3_mega.def.json b/resources/definitions/anycubic_i3_mega.def.json index a6c1567dc4..6597a91ec8 100644 --- a/resources/definitions/anycubic_i3_mega.def.json +++ b/resources/definitions/anycubic_i3_mega.def.json @@ -8,7 +8,6 @@ "author": "TheTobby", "manufacturer": "Anycubic", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "anycubic_i3_mega_platform.stl", "has_materials": false, "has_machine_quality": true, diff --git a/resources/definitions/deltacomb.def.json b/resources/definitions/deltacomb.def.json index a4b2d47a7b..221f6570ca 100644 --- a/resources/definitions/deltacomb.def.json +++ b/resources/definitions/deltacomb.def.json @@ -8,7 +8,6 @@ "manufacturer": "Deltacomb 3D", "category": "Other", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "deltacomb.stl", "has_machine_quality": true, "machine_extruder_trains": diff --git a/resources/definitions/fabtotum.def.json b/resources/definitions/fabtotum.def.json index 1908e42913..10c8f68844 100644 --- a/resources/definitions/fabtotum.def.json +++ b/resources/definitions/fabtotum.def.json @@ -9,7 +9,6 @@ "category": "Other", "file_formats": "text/x-gcode", "platform": "fabtotum_platform.stl", - "icon": "fabtotum_platform.png", "has_machine_quality": true, "has_variants": true, "variants_name": "Head", diff --git a/resources/definitions/grr_neo.def.json b/resources/definitions/grr_neo.def.json index 0153fc4c01..67d6a92023 100644 --- a/resources/definitions/grr_neo.def.json +++ b/resources/definitions/grr_neo.def.json @@ -7,7 +7,6 @@ "author": "Simon Cor", "manufacturer": "German RepRap", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "grr_neo_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/kossel_mini.def.json b/resources/definitions/kossel_mini.def.json index 76fe72dac1..91f374fb6d 100644 --- a/resources/definitions/kossel_mini.def.json +++ b/resources/definitions/kossel_mini.def.json @@ -7,7 +7,6 @@ "author": "Claudio Sampaio (Patola)", "manufacturer": "Other", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "kossel_platform.stl", "platform_offset": [0, -0.25, 0], "machine_extruder_trains": diff --git a/resources/definitions/kossel_pro.def.json b/resources/definitions/kossel_pro.def.json index 9fadd0db91..e104538b2c 100644 --- a/resources/definitions/kossel_pro.def.json +++ b/resources/definitions/kossel_pro.def.json @@ -7,7 +7,6 @@ "author": "Chris Petersen", "manufacturer": "OpenBeam", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "kossel_pro_build_platform.stl", "platform_offset": [0, -0.25, 0], "machine_extruder_trains": diff --git a/resources/definitions/makeR_pegasus.def.json b/resources/definitions/makeR_pegasus.def.json index 9bd4547c9b..ac09aa01ac 100644 --- a/resources/definitions/makeR_pegasus.def.json +++ b/resources/definitions/makeR_pegasus.def.json @@ -7,7 +7,6 @@ "author": "makeR", "manufacturer": "makeR", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "makeR_pegasus_platform.stl", "platform_offset": [-200, -10, 200], "machine_extruder_trains": diff --git a/resources/definitions/makeR_prusa_tairona_i3.def.json b/resources/definitions/makeR_prusa_tairona_i3.def.json index d22af5c516..0e59874978 100644 --- a/resources/definitions/makeR_prusa_tairona_i3.def.json +++ b/resources/definitions/makeR_prusa_tairona_i3.def.json @@ -7,7 +7,6 @@ "author": "makeR", "manufacturer": "makeR", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "makeR_prusa_tairona_i3_platform.stl", "platform_offset": [-2, 0, 0], "machine_extruder_trains": diff --git a/resources/definitions/maker_starter.def.json b/resources/definitions/maker_starter.def.json index 8fb67623ed..be85e54967 100644 --- a/resources/definitions/maker_starter.def.json +++ b/resources/definitions/maker_starter.def.json @@ -7,7 +7,6 @@ "author": "tvlgiao", "manufacturer": "3DMaker", "file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj", - "icon": "icon_ultimaker2.png", "platform": "makerstarter_platform.stl", "preferred_quality_type": "draft", "machine_extruder_trains": diff --git a/resources/definitions/prusa_i3.def.json b/resources/definitions/prusa_i3.def.json index c676f7fe96..1f0eb37aec 100644 --- a/resources/definitions/prusa_i3.def.json +++ b/resources/definitions/prusa_i3.def.json @@ -7,7 +7,6 @@ "author": "Quillford", "manufacturer": "Prusajr", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "prusai3_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/prusa_i3_mk2.def.json b/resources/definitions/prusa_i3_mk2.def.json index 169eb6ffc2..5c5583b56f 100644 --- a/resources/definitions/prusa_i3_mk2.def.json +++ b/resources/definitions/prusa_i3_mk2.def.json @@ -7,7 +7,6 @@ "author": "Apsu, Nounours2099", "manufacturer": "Prusa Research", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "prusai3_platform.stl", "has_materials": true, "machine_extruder_trains": diff --git a/resources/definitions/prusa_i3_xl.def.json b/resources/definitions/prusa_i3_xl.def.json index eafed22df1..9931be5c72 100644 --- a/resources/definitions/prusa_i3_xl.def.json +++ b/resources/definitions/prusa_i3_xl.def.json @@ -7,7 +7,6 @@ "author": "guigashm", "manufacturer": "Prusajr", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "prusai3_xl_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/seemecnc_artemis.def.json b/resources/definitions/seemecnc_artemis.def.json index aa788865df..ec92f528d7 100644 --- a/resources/definitions/seemecnc_artemis.def.json +++ b/resources/definitions/seemecnc_artemis.def.json @@ -7,7 +7,6 @@ "author": "PouncingIguana, JJ", "manufacturer": "SeeMeCNC", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "artemis_platform.stl", "has_materials": true, "machine_extruder_trains": diff --git a/resources/definitions/seemecnc_v32.def.json b/resources/definitions/seemecnc_v32.def.json index 5a855f67fc..d4316c25d9 100644 --- a/resources/definitions/seemecnc_v32.def.json +++ b/resources/definitions/seemecnc_v32.def.json @@ -7,7 +7,6 @@ "author": "PouncingIguana, JJ", "manufacturer": "SeeMeCNC", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "rostock_platform.stl", "has_materials": true, "machine_extruder_trains": diff --git a/resources/definitions/tevo_blackwidow.def.json b/resources/definitions/tevo_blackwidow.def.json index b193023867..25e7a2620d 100644 --- a/resources/definitions/tevo_blackwidow.def.json +++ b/resources/definitions/tevo_blackwidow.def.json @@ -7,7 +7,6 @@ "author": "TheTobby", "manufacturer": "Tevo", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "has_materials": false, "has_machine_quality": true, "platform": "tevo_blackwidow.stl", diff --git a/resources/definitions/tevo_tarantula.def.json b/resources/definitions/tevo_tarantula.def.json index 40d579552e..570ae24a3d 100644 --- a/resources/definitions/tevo_tarantula.def.json +++ b/resources/definitions/tevo_tarantula.def.json @@ -8,7 +8,6 @@ "author": "TheAssassin", "manufacturer": "Tevo", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "prusai3_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/tevo_tornado.def.json b/resources/definitions/tevo_tornado.def.json index e121c8e097..cb3a6c45bd 100644 --- a/resources/definitions/tevo_tornado.def.json +++ b/resources/definitions/tevo_tornado.def.json @@ -7,7 +7,6 @@ "author": "nean", "manufacturer": "Tevo", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "has_materials": true, "machine_extruder_trains": { "0": "tevo_tornado_extruder_0" diff --git a/resources/definitions/ubuild-3d_mr_bot_280.def.json b/resources/definitions/ubuild-3d_mr_bot_280.def.json index 1b5cb1456c..29ffa4cd6f 100644 --- a/resources/definitions/ubuild-3d_mr_bot_280.def.json +++ b/resources/definitions/ubuild-3d_mr_bot_280.def.json @@ -9,7 +9,6 @@ "manufacturer": "uBuild-3D", "category": "Other", "file_formats": "text/x-gcode", - "icon": "icon_uBuild-3D", "platform": "mr_bot_280_platform.stl", "has_materials": true, "preferred_quality_type": "draft", diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index a91d2332b0..14614fb657 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -8,7 +8,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 3, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "ultimaker2_platform.obj", "platform_texture": "Ultimaker2backplate.png", "platform_offset": [9, 0, 0], diff --git a/resources/definitions/ultimaker2_extended.def.json b/resources/definitions/ultimaker2_extended.def.json index af169c94fb..5487f3bdb1 100644 --- a/resources/definitions/ultimaker2_extended.def.json +++ b/resources/definitions/ultimaker2_extended.def.json @@ -8,7 +8,6 @@ "quality_definition": "ultimaker2", "weight": 3, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "ultimaker2_platform.obj", "platform_texture": "Ultimaker2Extendedbackplate.png", "machine_extruder_trains": diff --git a/resources/definitions/ultimaker2_go.def.json b/resources/definitions/ultimaker2_go.def.json index c66fb38fc0..941d7bb6b9 100644 --- a/resources/definitions/ultimaker2_go.def.json +++ b/resources/definitions/ultimaker2_go.def.json @@ -8,7 +8,6 @@ "quality_definition": "ultimaker2", "weight": 3, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "ultimaker2go_platform.obj", "platform_texture": "Ultimaker2Gobackplate.png", "platform_offset": [0, 0, 0], diff --git a/resources/definitions/ultimaker_original.def.json b/resources/definitions/ultimaker_original.def.json index c961423504..9ba5388506 100644 --- a/resources/definitions/ultimaker_original.def.json +++ b/resources/definitions/ultimaker_original.def.json @@ -8,7 +8,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 4, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "ultimaker_platform.stl", "has_materials": true, "has_machine_quality": true, diff --git a/resources/definitions/ultimaker_original_dual.def.json b/resources/definitions/ultimaker_original_dual.def.json index 55eddba85f..524044a922 100644 --- a/resources/definitions/ultimaker_original_dual.def.json +++ b/resources/definitions/ultimaker_original_dual.def.json @@ -8,7 +8,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 4, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "ultimaker_platform.stl", "has_materials": true, "has_machine_quality": true, diff --git a/resources/definitions/ultimaker_original_plus.def.json b/resources/definitions/ultimaker_original_plus.def.json index 71aa53b2bf..3be4013b78 100644 --- a/resources/definitions/ultimaker_original_plus.def.json +++ b/resources/definitions/ultimaker_original_plus.def.json @@ -7,7 +7,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 4, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "ultimaker2_platform.obj", "platform_texture": "UltimakerPlusbackplate.png", "quality_definition": "ultimaker_original", diff --git a/resources/definitions/uniqbot_one.def.json b/resources/definitions/uniqbot_one.def.json index 396e9687b8..5a33500b75 100644 --- a/resources/definitions/uniqbot_one.def.json +++ b/resources/definitions/uniqbot_one.def.json @@ -6,7 +6,6 @@ "author": "Unimatech", "manufacturer": "Unimatech", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "machine_extruder_trains": { "0": "uniqbot_one_extruder_0" diff --git a/resources/definitions/vertex_k8400.def.json b/resources/definitions/vertex_k8400.def.json index 0166729951..a3a3777547 100644 --- a/resources/definitions/vertex_k8400.def.json +++ b/resources/definitions/vertex_k8400.def.json @@ -6,7 +6,6 @@ "visible": true, "manufacturer": "Velleman", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "Vertex_build_panel.stl", "platform_offset": [0, -3, 0], "supports_usb_connection": true, diff --git a/resources/definitions/vertex_k8400_dual.def.json b/resources/definitions/vertex_k8400_dual.def.json index b22dabaa94..c7706135bd 100644 --- a/resources/definitions/vertex_k8400_dual.def.json +++ b/resources/definitions/vertex_k8400_dual.def.json @@ -6,7 +6,6 @@ "visible": true, "manufacturer": "Velleman", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "Vertex_build_panel.stl", "platform_offset": [0, -3, 0], "machine_extruder_trains": { diff --git a/resources/definitions/wanhao_d4s.def.json b/resources/definitions/wanhao_d4s.def.json index 1ae16a9d56..8788353e92 100644 --- a/resources/definitions/wanhao_d4s.def.json +++ b/resources/definitions/wanhao_d4s.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_225_145_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_d6.def.json b/resources/definitions/wanhao_d6.def.json index 6164f4d016..693dce2261 100644 --- a/resources/definitions/wanhao_d6.def.json +++ b/resources/definitions/wanhao_d6.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_d6_plus.def.json b/resources/definitions/wanhao_d6_plus.def.json index 04cb6fae9f..f17b58db85 100644 --- a/resources/definitions/wanhao_d6_plus.def.json +++ b/resources/definitions/wanhao_d6_plus.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_duplicator5S.def.json b/resources/definitions/wanhao_duplicator5S.def.json index 1ccc867876..1d29b90249 100644 --- a/resources/definitions/wanhao_duplicator5S.def.json +++ b/resources/definitions/wanhao_duplicator5S.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_300_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_duplicator5Smini.def.json b/resources/definitions/wanhao_duplicator5Smini.def.json index 774360f41e..e7f9359cf1 100644 --- a/resources/definitions/wanhao_duplicator5Smini.def.json +++ b/resources/definitions/wanhao_duplicator5Smini.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_300_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_i3.def.json b/resources/definitions/wanhao_i3.def.json index c349259cad..15121f8b8b 100644 --- a/resources/definitions/wanhao_i3.def.json +++ b/resources/definitions/wanhao_i3.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_i3mini.def.json b/resources/definitions/wanhao_i3mini.def.json index 4531483459..057fca81a6 100644 --- a/resources/definitions/wanhao_i3mini.def.json +++ b/resources/definitions/wanhao_i3mini.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_110_110_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_i3plus.def.json b/resources/definitions/wanhao_i3plus.def.json index 5338fbeea2..2b705c6ff5 100644 --- a/resources/definitions/wanhao_i3plus.def.json +++ b/resources/definitions/wanhao_i3plus.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", From 2fb7d8a2539d160d706c8a17861c70e41c3d8ceb Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 5 Oct 2018 21:41:35 +0200 Subject: [PATCH 199/423] Make the Add Printer dialog less spartan --- resources/qml/AddMachineDialog.qml | 136 ++++++++++++++++++++++++----- 1 file changed, 112 insertions(+), 24 deletions(-) diff --git a/resources/qml/AddMachineDialog.qml b/resources/qml/AddMachineDialog.qml index 2b49ce9c31..d58809b815 100644 --- a/resources/qml/AddMachineDialog.qml +++ b/resources/qml/AddMachineDialog.qml @@ -45,10 +45,46 @@ UM.Dialog } signal machineAdded(string id) + function getMachineName() { - var name = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : "" - return name + return machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : ""; + } + + function getMachineMetaDataEntry(key) + { + var metadata = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).metadata : undefined; + if (metadata) + { + return metadata[key]; + } + return undefined; + } + Label { + id: titleLabel + + anchors { + top: parent.top + left: parent.left + topMargin: UM.Theme.getSize("default_margin") + } + text: catalog.i18nc("@title:tab", "Add a printer to Cura") + + font.pointSize: 18 + } + + Label + { + id: captionLabel + anchors + { + left: parent.left + top: titleLabel.bottom + topMargin: UM.Theme.getSize("default_margin") + } + text: catalog.i18nc("@title:tab", "Select the printer you want to use from the list below.\n\nIf your printer is not in the list, use the \"Custom FFF Printer\" from the \"Custom\" category and match adjust the settings to match your printer in the next dialog.") + width: parent.width + wrapMode: Text.WordWrap } ScrollView @@ -57,13 +93,21 @@ UM.Dialog anchors { - left: parent.left; - top: parent.top; - right: parent.right; - bottom: machineNameRow.top; + top: captionLabel.visible ? captionLabel.bottom : parent.top; + topMargin: captionLabel.visible ? UM.Theme.getSize("default_margin").height : 0; + bottom: addPrinterButton.top; bottomMargin: UM.Theme.getSize("default_margin").height } + width: Math.round(parent.width * 0.45) + + frameVisible: true; + Rectangle { + parent: viewport + anchors.fill: parent + color: palette.light + } + ListView { id: machineList @@ -184,32 +228,76 @@ UM.Dialog } } - Row + Column { - id: machineNameRow - anchors.bottom:parent.bottom - spacing: UM.Theme.getSize("default_margin").width - - Label + anchors { - text: catalog.i18nc("@label", "Printer Name:") - anchors.verticalCenter: machineName.verticalCenter + top: machinesHolder.top + left: machinesHolder.right + right: parent.right + leftMargin: UM.Theme.getSize("default_margin").width } - TextField + spacing: UM.Theme.getSize("default_margin").height + Label { - id: machineName + width: parent.width + wrapMode: Text.WordWrap text: getMachineName() - implicitWidth: UM.Theme.getSize("standard_list_input").width - maximumLength: 40 - //validator: Cura.MachineNameValidator { } //TODO: Gives a segfault in PyQt5.6. For now, we must use a signal on text changed. - validator: RegExpValidator + font.pointSize: 16 + elide: Text.ElideRight + } + Grid + { + width: parent.width + columns: 2 + rowSpacing: UM.Theme.getSize("default_lining").height + columnSpacing: UM.Theme.getSize("default_margin").width + verticalItemAlignment: Grid.AlignVCenter + + Label { - regExp: { - machineName.machine_name_validator.machineNameRegex - } + wrapMode: Text.WordWrap + text: catalog.i18nc("@label", "Manufacturer") + } + Label + { + width: Math.floor(parent.width * 0.65) + wrapMode: Text.WordWrap + text: getMachineMetaDataEntry("manufacturer") + } + Label + { + wrapMode: Text.WordWrap + text: catalog.i18nc("@label", "Author") + } + Label + { + width: Math.floor(parent.width * 0.75) + wrapMode: Text.WordWrap + text: getMachineMetaDataEntry("author") + } + Label + { + wrapMode: Text.WordWrap + text: catalog.i18nc("@label", "Printer Name") + } + TextField + { + id: machineName + text: getMachineName() + width: Math.floor(parent.width * 0.75) + implicitWidth: UM.Theme.getSize("standard_list_input").width + maximumLength: 40 + //validator: Cura.MachineNameValidator { } //TODO: Gives a segfault in PyQt5.6. For now, we must use a signal on text changed. + validator: RegExpValidator + { + regExp: { + machineName.machine_name_validator.machineNameRegex + } + } + property var machine_name_validator: Cura.MachineNameValidator { } } - property var machine_name_validator: Cura.MachineNameValidator { } } } From 4e083c7c29c46ebb6bab4063751062ecf3083dbe Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 5 Oct 2018 21:51:08 +0200 Subject: [PATCH 200/423] Fix QML typo --- resources/qml/AddMachineDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/AddMachineDialog.qml b/resources/qml/AddMachineDialog.qml index d58809b815..d3a6de51af 100644 --- a/resources/qml/AddMachineDialog.qml +++ b/resources/qml/AddMachineDialog.qml @@ -80,7 +80,7 @@ UM.Dialog { left: parent.left top: titleLabel.bottom - topMargin: UM.Theme.getSize("default_margin") + topMargin: UM.Theme.getSize("default_margin").height } text: catalog.i18nc("@title:tab", "Select the printer you want to use from the list below.\n\nIf your printer is not in the list, use the \"Custom FFF Printer\" from the \"Custom\" category and match adjust the settings to match your printer in the next dialog.") width: parent.width From 374b0995d34809c66efe3b9fffcead033d698890 Mon Sep 17 00:00:00 2001 From: Sacha Telgenhof Oude Koehorst Date: Sat, 6 Oct 2018 19:21:22 +0900 Subject: [PATCH 201/423] Changed bed size to 235x235mm (including the STL Mesh). Removed all M commands (M104, M140, M190, M109) from the custom start GCode, and removed all M commands (M104, M140, M106, M107) from the custom end GCode as Cura already generates these. Decreased the height position of the extruder (from 3 to 2mm) upon purging. Increased the height position of the extruder (from 10 to 20mm) after the print has finished. --- .../definitions/creality_ender3.def.json | 10 +- resources/meshes/creality_ender3_platform.stl | 334 +++++++++--------- 2 files changed, 172 insertions(+), 172 deletions(-) diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json index 2c9bfa04d0..c2bf1680aa 100755 --- a/resources/definitions/creality_ender3.def.json +++ b/resources/definitions/creality_ender3.def.json @@ -18,13 +18,13 @@ "default_value": "Creality Ender-3" }, "machine_width": { - "default_value": 220 + "default_value": 235 }, "machine_height": { "default_value": 250 }, "machine_depth": { - "default_value": 220 + "default_value": 235 }, "machine_heated_bed": { "default_value": true @@ -57,7 +57,7 @@ }, "layer_height_0": { "default_value": 0.2 - }, + }, "adhesion_type": { "default_value": "skirt" }, @@ -80,10 +80,10 @@ "default_value": 5 }, "machine_start_gcode": { - "default_value": "; Ender 3 Custom Start G-code\nM104 S{material_print_temperature_layer_0} ; Set Extruder temperature\nM140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature\nM190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature\nM109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed" + "default_value": "; Ender 3 Custom Start G-code\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\n; End of custom start GCode" }, "machine_end_gcode": { - "default_value": "; Ender 3 Custom End G-code\nG4 ; Wait\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F1800 E-3 ; Retract filament 3 mm to prevent oozing\nG1 F3000 Z10 ; Move Z Axis up 10 mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG1 X0 Y{machine_depth} F1000 ; Move Heat Bed to the front for easy print removal\nM104 S0 ; Turn off Extruder temperature\nM140 S0 ; Turn off Heat Bed\nM106 S0 ; Turn off Cooling Fan\nM107 ; Turn off Fan\nM84 ; Disable stepper motors" + "default_value": "; Ender 3 Custom End G-code\nG4 ; Wait\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F1800 E-3 ; Retract filament 3 mm to prevent oozing\nG1 F3000 Z20 ; Move Z Axis up 20 mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG1 X0 Y{machine_depth} F1000 ; Move Heat Bed to the front for easy print removal\nM84 ; Disable stepper motors\n; End of custom end GCode" } } } \ No newline at end of file diff --git a/resources/meshes/creality_ender3_platform.stl b/resources/meshes/creality_ender3_platform.stl index 2b6540bdd3..b362330c9c 100644 --- a/resources/meshes/creality_ender3_platform.stl +++ b/resources/meshes/creality_ender3_platform.stl @@ -43989,16 +43989,16 @@ solid OpenSCAD_Model endfacet facet normal -1 0 0 outer loop - vertex -110 -110 -3 - vertex -110 110 0 - vertex -110 110 -3 + vertex -117.5 -117.5 -3 + vertex -117.5 117.5 0 + vertex -117.5 117.5 -3 endloop endfacet facet normal -1 -0 0 outer loop - vertex -110 110 0 - vertex -110 -110 -3 - vertex -110 -110 0 + vertex -117.5 117.5 0 + vertex -117.5 -117.5 -3 + vertex -117.5 -117.5 0 endloop endfacet facet normal 0 0 1 @@ -44283,7 +44283,7 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -39.1186 25.4589 0 vertex -39.13 25.5984 0 endloop @@ -52858,42 +52858,42 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 47.9993 -20.1225 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 47.9745 -19.9807 0 vertex 47.9993 -20.1225 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 47.9233 -19.8512 0 vertex 47.9745 -19.9807 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 47.845 -19.7221 0 vertex 47.9233 -19.8512 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 47.7384 -19.5813 0 vertex 47.845 -19.7221 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 47.6302 -19.4614 0 vertex 47.7384 -19.5813 0 endloop @@ -52902,7 +52902,7 @@ solid OpenSCAD_Model outer loop vertex 27.4995 15.0808 0 vertex 47.6302 -19.4614 0 - vertex 110 110 0 + vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 @@ -53031,6 +53031,13 @@ solid OpenSCAD_Model vertex 42.1149 -19.4743 0 endloop endfacet + facet normal 0 0 1 + outer loop + vertex 44.9905 -19.265 0 + vertex 41.7426 -19.1572 0 + vertex 44.6026 -19.3768 0 + endloop + endfacet facet normal -0 -0 1 outer loop vertex 41.9051 -19.2238 0 @@ -53059,13 +53066,6 @@ solid OpenSCAD_Model vertex 43.8201 -19.7253 0 endloop endfacet - facet normal -0 -0 1 - outer loop - vertex 42.1149 -19.4743 0 - vertex 43.8201 -19.7253 0 - vertex 42.0297 -19.3306 0 - endloop - endfacet facet normal -0 -0 1 outer loop vertex 42.0297 -19.3306 0 @@ -53108,11 +53108,11 @@ solid OpenSCAD_Model vertex 41.156 -19.2119 0 endloop endfacet - facet normal -0 -0 1 + facet normal 0 0 1 outer loop - vertex 30.3649 -19.705 0 - vertex 38.4916 -20.1181 0 + vertex 39.5298 -19.7361 0 vertex 29.9546 -19.4981 0 + vertex 38.4916 -20.1181 0 endloop endfacet facet normal 0 0 1 @@ -53311,11 +53311,11 @@ solid OpenSCAD_Model vertex 35.2304 -21.2043 0 endloop endfacet - facet normal 0 0 1 + facet normal -0 -0 1 outer loop - vertex 39.5298 -19.7361 0 - vertex 29.9546 -19.4981 0 + vertex 30.3649 -19.705 0 vertex 38.4916 -20.1181 0 + vertex 29.9546 -19.4981 0 endloop endfacet facet normal -0 0 1 @@ -53325,16 +53325,16 @@ solid OpenSCAD_Model vertex 26.9324 1.61996 0 endloop endfacet - facet normal 0 0 1 + facet normal -0 -0 1 outer loop - vertex 44.9905 -19.265 0 - vertex 41.7426 -19.1572 0 - vertex 44.6026 -19.3768 0 + vertex 42.1149 -19.4743 0 + vertex 43.8201 -19.7253 0 + vertex 42.0297 -19.3306 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 27.4227 15.3534 0 vertex 27.4995 15.0808 0 endloop @@ -53343,7 +53343,7 @@ solid OpenSCAD_Model outer loop vertex 26.5691 18.3624 0 vertex 27.4227 15.3534 0 - vertex 110 110 0 + vertex 117.5 117.5 0 endloop endfacet facet normal -0 -0 1 @@ -53404,35 +53404,35 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 26.4859 18.624 0 vertex 26.5691 18.3624 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 26.3832 18.8665 0 vertex 26.4859 18.624 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 26.2605 19.0904 0 vertex 26.3832 18.8665 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 26.1176 19.296 0 vertex 26.2605 19.0904 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 25.9541 19.4837 0 vertex 26.1176 19.296 0 endloop @@ -53441,7 +53441,7 @@ solid OpenSCAD_Model outer loop vertex 21.4677 24.3609 0 vertex 25.9541 19.4837 0 - vertex 110 110 0 + vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 @@ -53600,14 +53600,14 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 21.2873 24.568 0 vertex 21.4677 24.3609 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 21.0733 24.7691 0 vertex 21.2873 24.568 0 endloop @@ -53616,7 +53616,7 @@ solid OpenSCAD_Model outer loop vertex 15.4091 30.0386 0 vertex 21.0733 24.7691 0 - vertex 110 110 0 + vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 @@ -53754,7 +53754,7 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 15.3672 30.0768 0 vertex 15.4091 30.0386 0 endloop @@ -53763,7 +53763,7 @@ solid OpenSCAD_Model outer loop vertex 5.23504 38.5484 0 vertex 15.3672 30.0768 0 - vertex 110 110 0 + vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 @@ -54081,13 +54081,6 @@ solid OpenSCAD_Model vertex 5.39739 26.9794 0 endloop endfacet - facet normal -0 -0 1 - outer loop - vertex 6.07308 26.3793 0 - vertex 7.12606 25.9588 0 - vertex 5.73586 26.6445 0 - endloop - endfacet facet normal -0 0 1 outer loop vertex 5.25596 38.2865 0 @@ -54102,6 +54095,13 @@ solid OpenSCAD_Model vertex 5.02596 37.5856 0 endloop endfacet + facet normal -0 -0 1 + outer loop + vertex 6.07308 26.3793 0 + vertex 7.12606 25.9588 0 + vertex 5.73586 26.6445 0 + endloop + endfacet facet normal 0 0 1 outer loop vertex 7.12606 25.9588 0 @@ -54125,23 +54125,23 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 5.20457 38.5758 0 vertex 5.23504 38.5484 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 110 110 0 + vertex 117.5 117.5 0 vertex 5.16325 38.5852 0 vertex 5.20457 38.5758 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -110 110 0 + vertex -117.5 117.5 0 vertex 5.16325 38.5852 0 - vertex 110 110 0 + vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 @@ -54414,7 +54414,7 @@ solid OpenSCAD_Model outer loop vertex -5.74234 36.6012 0 vertex 5.16325 38.5852 0 - vertex -110 110 0 + vertex -117.5 117.5 0 endloop endfacet facet normal 0 0 1 @@ -54713,16 +54713,16 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex -16.9758 27.3196 0 - vertex -20.3206 27.4738 0 - vertex -20.1227 27.3549 0 + vertex -5.74234 36.6012 0 + vertex -117.5 117.5 0 + vertex -5.80457 36.5812 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.74234 36.6012 0 - vertex -110 110 0 - vertex -5.80457 36.5812 0 + vertex -16.9758 27.3196 0 + vertex -20.3206 27.4738 0 + vertex -20.1227 27.3549 0 endloop endfacet facet normal 0 0 1 @@ -54746,13 +54746,6 @@ solid OpenSCAD_Model vertex -20.7979 27.6578 0 endloop endfacet - facet normal 0 -0 1 - outer loop - vertex -31.0145 27.539 0 - vertex -5.80457 36.5812 0 - vertex -110 110 0 - endloop - endfacet facet normal 0 0 1 outer loop vertex -6.04327 36.2349 0 @@ -54760,6 +54753,13 @@ solid OpenSCAD_Model vertex -21.1001 27.7294 0 endloop endfacet + facet normal 0 -0 1 + outer loop + vertex -31.0145 27.539 0 + vertex -5.80457 36.5812 0 + vertex -117.5 117.5 0 + endloop + endfacet facet normal 0 0 1 outer loop vertex -5.92579 36.4611 0 @@ -54991,17 +54991,10 @@ solid OpenSCAD_Model vertex -31.1289 27.5158 0 endloop endfacet - facet normal 0 0 1 - outer loop - vertex -31.2795 27.2229 0 - vertex -37.0225 24.5398 0 - vertex -36.6025 24.2541 0 - endloop - endfacet facet normal 0 0 1 outer loop vertex -31.0145 27.539 0 - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -31.1289 27.5158 0 endloop endfacet @@ -55012,6 +55005,13 @@ solid OpenSCAD_Model vertex -37.776 25.1404 0 endloop endfacet + facet normal 0 0 1 + outer loop + vertex -31.272 27.3506 0 + vertex -37.776 25.1404 0 + vertex -37.4147 24.8357 0 + endloop + endfacet facet normal 0 0 1 outer loop vertex -31.272 27.3506 0 @@ -55021,9 +55021,9 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex -31.272 27.3506 0 - vertex -37.776 25.1404 0 - vertex -37.4147 24.8357 0 + vertex -31.2795 27.2229 0 + vertex -37.0225 24.5398 0 + vertex -36.6025 24.2541 0 endloop endfacet facet normal 0 0 1 @@ -55044,7 +55044,7 @@ solid OpenSCAD_Model outer loop vertex -38.9416 25.8595 0 vertex -31.1289 27.5158 0 - vertex -110 110 0 + vertex -117.5 117.5 0 endloop endfacet facet normal 0 0 1 @@ -55175,7 +55175,7 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -39.13 25.5984 0 vertex -39.1175 25.7085 0 endloop @@ -55246,98 +55246,98 @@ solid OpenSCAD_Model facet normal 0 0 1 outer loop vertex -39.1186 25.4589 0 - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -47.9322 -37.0315 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.984 -37.1977 0 - vertex -110 110 0 + vertex -117.5 117.5 0 endloop endfacet facet normal 0 0 1 outer loop vertex -47.9322 -37.0315 0 - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -47.984 -37.1977 0 endloop endfacet facet normal 0 0 1 outer loop vertex -39.0817 25.7888 0 - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -39.1175 25.7085 0 endloop endfacet facet normal 0 0 1 outer loop vertex -39.0229 25.8392 0 - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -39.0817 25.7888 0 endloop endfacet facet normal 0 0 1 outer loop vertex -38.9416 25.8595 0 - vertex -110 110 0 + vertex -117.5 117.5 0 vertex -39.0229 25.8392 0 endloop endfacet facet normal -0 0 1 outer loop vertex 47.9987 -20.2887 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.9993 -20.1225 0 endloop endfacet facet normal -0 0 1 outer loop vertex 47.9737 -20.4912 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.9987 -20.2887 0 endloop endfacet facet normal -0 0 1 outer loop vertex 47.8542 -21.0531 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.9737 -20.4912 0 endloop endfacet facet normal -0 0 1 outer loop vertex 47.7155 -21.5429 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.8542 -21.0531 0 endloop endfacet facet normal -0 0 1 outer loop vertex 47.5422 -21.9981 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.7155 -21.5429 0 endloop endfacet facet normal -0 0 1 outer loop vertex 47.3383 -22.4165 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.5422 -21.9981 0 endloop endfacet facet normal -0 0 1 outer loop vertex 47.1074 -22.796 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.3383 -22.4165 0 endloop endfacet facet normal -0 0 1 outer loop vertex 46.8534 -23.1343 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 47.1074 -22.796 0 endloop endfacet @@ -55555,83 +55555,83 @@ solid OpenSCAD_Model outer loop vertex 46.8534 -23.1343 0 vertex 38.0668 -37.4245 0 - vertex 110 -110 0 + vertex 38.0057 -37.5705 0 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 1 outer loop + vertex 46.8534 -23.1343 0 vertex 38.0057 -37.5705 0 - vertex 110 -110 0 - vertex 38.0668 -37.4245 0 + vertex 117.5 -117.5 0 endloop endfacet facet normal -0 0 1 outer loop vertex 37.9137 -37.6957 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 38.0057 -37.5705 0 endloop endfacet facet normal -0 0 1 outer loop vertex 37.7849 -37.8018 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 37.9137 -37.6957 0 endloop endfacet facet normal -0 0 1 outer loop vertex 37.6132 -37.8903 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 37.7849 -37.8018 0 endloop endfacet facet normal -0 0 1 outer loop vertex 37.3927 -37.9628 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 37.6132 -37.8903 0 endloop endfacet facet normal -0 0 1 outer loop vertex 37.1174 -38.0208 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 37.3927 -37.9628 0 endloop endfacet facet normal -0 0 1 outer loop vertex 36.7812 -38.066 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 37.1174 -38.0208 0 endloop endfacet facet normal -0 0 1 outer loop vertex 35.9024 -38.1241 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 36.7812 -38.066 0 endloop endfacet facet normal -0 0 1 outer loop vertex 34.7085 -38.1497 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 35.9024 -38.1241 0 endloop endfacet facet normal -0 0 1 outer loop vertex 33.1514 -38.1555 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 34.7085 -38.1497 0 endloop endfacet facet normal 0 0 1 outer loop vertex 31.1824 -38.1409 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 33.1514 -38.1555 0 endloop endfacet @@ -55800,27 +55800,27 @@ solid OpenSCAD_Model outer loop vertex 31.1824 -38.1409 0 vertex 20.3202 -38.5182 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 endloop endfacet facet normal -0 0 1 outer loop vertex 19.7403 -38.5689 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 20.3202 -38.5182 0 endloop endfacet facet normal -0 0 1 outer loop vertex 19.1073 -38.5852 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 19.7403 -38.5689 0 endloop endfacet facet normal 0 0 1 outer loop vertex 18.4669 -38.5591 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 19.1073 -38.5852 0 endloop endfacet @@ -56122,13 +56122,13 @@ solid OpenSCAD_Model outer loop vertex 18.4669 -38.5591 0 vertex 5.34756 -38.4712 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 endloop endfacet facet normal -0 0 1 outer loop vertex 5.17491 -38.475 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 5.34756 -38.4712 0 endloop endfacet @@ -56248,13 +56248,13 @@ solid OpenSCAD_Model outer loop vertex 5.17491 -38.475 0 vertex 0.291868 -38.543 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop vertex -0.355246 -38.538 0 - vertex 110 -110 0 + vertex 117.5 -117.5 0 vertex 0.291868 -38.543 0 endloop endfacet @@ -56507,26 +56507,26 @@ solid OpenSCAD_Model outer loop vertex -0.355246 -38.538 0 vertex -9.84865 -38.1451 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -9.84865 -38.1451 0 vertex -11.9896 -38.1555 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -11.9896 -38.1555 0 vertex -14.1677 -38.1469 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -14.1677 -38.1469 0 vertex -14.8486 -38.1282 0 endloop @@ -56661,26 +56661,26 @@ solid OpenSCAD_Model outer loop vertex -14.8486 -38.1282 0 vertex -18.0369 -38.1201 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -18.0369 -38.1201 0 vertex -18.7028 -38.1359 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -18.7028 -38.1359 0 vertex -20.8109 -38.1301 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -20.8109 -38.1301 0 vertex -23.4866 -38.0828 0 endloop @@ -56759,54 +56759,54 @@ solid OpenSCAD_Model outer loop vertex -23.4866 -38.0828 0 vertex -28.2718 -38.1638 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -28.2718 -38.1638 0 vertex -37.6203 -38.1325 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -37.6203 -38.1325 0 vertex -41.2883 -38.1087 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -41.2883 -38.1087 0 vertex -44.3648 -38.0673 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -44.3648 -38.0673 0 vertex -46.5272 -38.014 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -46.5272 -38.014 0 vertex -47.1648 -37.9848 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.1648 -37.9848 0 vertex -47.4529 -37.9547 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.4529 -37.9547 0 vertex -47.6522 -37.8745 0 endloop @@ -56814,42 +56814,42 @@ solid OpenSCAD_Model facet normal 0 0 1 outer loop vertex -47.984 -37.1977 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.9993 -37.3583 0 endloop endfacet facet normal 0 0 1 outer loop vertex -0.355246 -38.538 0 - vertex -110 -110 0 - vertex 110 -110 0 + vertex -117.5 -117.5 0 + vertex 117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop vertex -47.8044 -37.7712 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.6522 -37.8745 0 endloop endfacet facet normal 0 0 1 outer loop vertex -47.9115 -37.6485 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.8044 -37.7712 0 endloop endfacet facet normal 0 0 1 outer loop vertex -47.9758 -37.5097 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.9115 -37.6485 0 endloop endfacet facet normal 0 0 1 outer loop vertex -47.9993 -37.3583 0 - vertex -110 -110 0 + vertex -117.5 -117.5 0 vertex -47.9758 -37.5097 0 endloop endfacet @@ -58717,58 +58717,58 @@ solid OpenSCAD_Model endfacet facet normal 1 -0 0 outer loop - vertex 110 -110 0 - vertex 110 110 -3 - vertex 110 110 0 + vertex 117.5 -117.5 0 + vertex 117.5 117.5 -3 + vertex 117.5 117.5 0 endloop endfacet facet normal 1 0 0 outer loop - vertex 110 110 -3 - vertex 110 -110 0 - vertex 110 -110 -3 + vertex 117.5 117.5 -3 + vertex 117.5 -117.5 0 + vertex 117.5 -117.5 -3 endloop endfacet facet normal 0 1 -0 outer loop - vertex 110 110 -3 - vertex -110 110 0 - vertex 110 110 0 + vertex 117.5 117.5 -3 + vertex -117.5 117.5 0 + vertex 117.5 117.5 0 endloop endfacet facet normal 0 1 0 outer loop - vertex -110 110 0 - vertex 110 110 -3 - vertex -110 110 -3 + vertex -117.5 117.5 0 + vertex 117.5 117.5 -3 + vertex -117.5 117.5 -3 endloop endfacet facet normal 0 0 -1 outer loop - vertex -110 -110 -3 - vertex 110 110 -3 - vertex 110 -110 -3 + vertex -117.5 -117.5 -3 + vertex 117.5 117.5 -3 + vertex 117.5 -117.5 -3 endloop endfacet facet normal -0 0 -1 outer loop - vertex 110 110 -3 - vertex -110 -110 -3 - vertex -110 110 -3 + vertex 117.5 117.5 -3 + vertex -117.5 -117.5 -3 + vertex -117.5 117.5 -3 endloop endfacet facet normal 0 -1 0 outer loop - vertex -110 -110 -3 - vertex 110 -110 0 - vertex -110 -110 0 + vertex -117.5 -117.5 -3 + vertex 117.5 -117.5 0 + vertex -117.5 -117.5 0 endloop endfacet facet normal 0 -1 -0 outer loop - vertex 110 -110 0 - vertex -110 -110 -3 - vertex 110 -110 -3 + vertex 117.5 -117.5 0 + vertex -117.5 -117.5 -3 + vertex 117.5 -117.5 -3 endloop endfacet endsolid OpenSCAD_Model From 39652185011d9b3f171ff88bf86336f9167be3b6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 8 Oct 2018 14:40:38 +0200 Subject: [PATCH 202/423] Fix value templating for gcode CURA-5793 Fix GcodeStartEndFormatter to take the correct default_extruder_nr instead of always using -1. --- plugins/CuraEngineBackend/StartSliceJob.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 28e442033b..bb9387a65d 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -41,11 +41,15 @@ class StartJobResult(IntEnum): ## Formatter class that handles token expansion in start/end gcode class GcodeStartEndFormatter(Formatter): - def get_value(self, key: str, args: str, kwargs: dict, default_extruder_nr: str = "-1") -> str: #type: ignore # [CodeStyle: get_value is an overridden function from the Formatter class] + def __init__(self, default_extruder_nr: int = -1) -> None: + super().__init__() + self._default_extruder_nr = default_extruder_nr + + def get_value(self, key: str, args: str, kwargs: dict) -> str: #type: ignore # [CodeStyle: get_value is an overridden function from the Formatter class] # The kwargs dictionary contains a dictionary for each stack (with a string of the extruder_nr as their key), # and a default_extruder_nr to use when no extruder_nr is specified - extruder_nr = int(default_extruder_nr) + extruder_nr = self._default_extruder_nr key_fragments = [fragment.strip() for fragment in key.split(",")] if len(key_fragments) == 2: @@ -339,7 +343,7 @@ class StartSliceJob(Job): try: # any setting can be used as a token - fmt = GcodeStartEndFormatter() + fmt = GcodeStartEndFormatter(default_extruder_nr = default_extruder_nr) settings = self._all_extruders_settings.copy() settings["default_extruder_nr"] = default_extruder_nr return str(fmt.format(value, **settings)) From 314b966cc90198b2526e405cc2bbea19201ee234 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 8 Oct 2018 15:03:21 +0200 Subject: [PATCH 203/423] Improvements to translated strings These strings were recently found to have been confusing to the translators. Improvements are: - Pulling the (untranslated) error message out of the message sentence. We really want the error message to be at the end so we'll force the translators to translate it as a prefix. - Remove extra spaces at the end. - Remove Python logic from within the i18nc call, since gettext doesn't understand that. Contributes to issue CURA-5741. --- cura/Settings/CuraContainerRegistry.py | 17 ++++++++--------- plugins/ImageReader/ConfigUI.qml | 10 +++++----- .../qml/ToolboxConfirmUninstallResetDialog.qml | 2 +- .../src/LegacyUM3OutputDevice.py | 3 +-- resources/qml/WorkspaceSummaryDialog.qml | 2 +- 5 files changed, 16 insertions(+), 18 deletions(-) diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index e1f50a157d..962f4162b5 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -187,11 +187,11 @@ class CuraContainerRegistry(ContainerRegistry): try: profile_or_list = profile_reader.read(file_name) # Try to open the file with the profile reader. except NoProfileException: - return { "status": "ok", "message": catalog.i18nc("@info:status Don't translate the XML tags or !", "No custom profile to import in file {0}", file_name)} + return { "status": "ok", "message": catalog.i18nc("@info:status Don't translate the XML tags !", "No custom profile to import in file {0}", file_name)} except Exception as e: # Note that this will fail quickly. That is, if any profile reader throws an exception, it will stop reading. It will only continue reading if the reader returned None. Logger.log("e", "Failed to import profile from %s: %s while using profile reader. Got exception %s", file_name, profile_reader.getPluginId(), str(e)) - return { "status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags or !", "Failed to import profile from {0}: {1}", file_name, "\n" + str(e))} + return { "status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags !", "Failed to import profile from {0}:", file_name) + "\n" + str(e) + ""} if profile_or_list: # Ensure it is always a list of profiles @@ -215,7 +215,7 @@ class CuraContainerRegistry(ContainerRegistry): if not global_profile: Logger.log("e", "Incorrect profile [%s]. Could not find global profile", file_name) return { "status": "error", - "message": catalog.i18nc("@info:status Don't translate the XML tags or !", "This profile {0} contains incorrect data, could not import it.", file_name)} + "message": catalog.i18nc("@info:status Don't translate the XML tags !", "This profile {0} contains incorrect data, could not import it.", file_name)} profile_definition = global_profile.getMetaDataEntry("definition") # Make sure we have a profile_definition in the file: @@ -225,7 +225,7 @@ class CuraContainerRegistry(ContainerRegistry): if not machine_definition: Logger.log("e", "Incorrect profile [%s]. Unknown machine type [%s]", file_name, profile_definition) return {"status": "error", - "message": catalog.i18nc("@info:status Don't translate the XML tags or !", "This profile {0} contains incorrect data, could not import it.", file_name) + "message": catalog.i18nc("@info:status Don't translate the XML tags !", "This profile {0} contains incorrect data, could not import it.", file_name) } machine_definition = machine_definition[0] @@ -238,7 +238,7 @@ class CuraContainerRegistry(ContainerRegistry): if profile_definition != expected_machine_definition: Logger.log("e", "Profile [%s] is for machine [%s] but the current active machine is [%s]. Will not import the profile", file_name, profile_definition, expected_machine_definition) return { "status": "error", - "message": catalog.i18nc("@info:status Don't translate the XML tags or !", "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it.", file_name, profile_definition, expected_machine_definition)} + "message": catalog.i18nc("@info:status Don't translate the XML tags !", "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it.", file_name, profile_definition, expected_machine_definition)} # Fix the global quality profile's definition field in case it's not correct global_profile.setMetaDataEntry("definition", expected_machine_definition) @@ -269,8 +269,7 @@ class CuraContainerRegistry(ContainerRegistry): if idx == 0: # move all per-extruder settings to the first extruder's quality_changes for qc_setting_key in global_profile.getAllKeys(): - settable_per_extruder = global_stack.getProperty(qc_setting_key, - "settable_per_extruder") + settable_per_extruder = global_stack.getProperty(qc_setting_key, "settable_per_extruder") if settable_per_extruder: setting_value = global_profile.getProperty(qc_setting_key, "value") @@ -310,8 +309,8 @@ class CuraContainerRegistry(ContainerRegistry): if result is not None: return {"status": "error", "message": catalog.i18nc( "@info:status Don't translate the XML tags or !", - "Failed to import profile from {0}: {1}", - file_name, result)} + "Failed to import profile from {0}:", + file_name) + " " + result + ""} return {"status": "ok", "message": catalog.i18nc("@info:status", "Successfully imported profile {0}", profile_or_list[0].getName())} diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml index d829f46459..12c6aa8dde 100644 --- a/plugins/ImageReader/ConfigUI.qml +++ b/plugins/ImageReader/ConfigUI.qml @@ -35,7 +35,7 @@ UM.Dialog width: parent.width Label { - text: catalog.i18nc("@action:label","Height (mm)") + text: catalog.i18nc("@action:label", "Height (mm)") width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } @@ -58,7 +58,7 @@ UM.Dialog width: parent.width Label { - text: catalog.i18nc("@action:label","Base (mm)") + text: catalog.i18nc("@action:label", "Base (mm)") width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } @@ -81,7 +81,7 @@ UM.Dialog width: parent.width Label { - text: catalog.i18nc("@action:label","Width (mm)") + text: catalog.i18nc("@action:label", "Width (mm)") width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } @@ -105,7 +105,7 @@ UM.Dialog width: parent.width Label { - text: catalog.i18nc("@action:label","Depth (mm)") + text: catalog.i18nc("@action:label", "Depth (mm)") width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } @@ -151,7 +151,7 @@ UM.Dialog width: parent.width Label { - text: catalog.i18nc("@action:label","Smoothing") + text: catalog.i18nc("@action:label", "Smoothing") width: 150 * screenScaleFactor anchors.verticalCenter: parent.verticalCenter } diff --git a/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml b/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml index 4aa8b883b7..2c5d08aa72 100644 --- a/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml +++ b/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml @@ -17,7 +17,7 @@ UM.Dialog // This dialog asks the user whether he/she wants to open a project file as a project or import models. id: base - title: catalog.i18nc("@title:window", "Confirm uninstall ") + toolbox.pluginToUninstall + title: catalog.i18nc("@title:window", "Confirm uninstall") + toolbox.pluginToUninstall width: 450 * screenScaleFactor height: 50 * screenScaleFactor + dialogText.height + buttonBar.height diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index fe94500aa1..e786840803 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -100,8 +100,7 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): title=i18n_catalog.i18nc("@info:title", "Authentication status")) - self._authentication_failed_message = Message(i18n_catalog.i18nc("@info:status", ""), - title=i18n_catalog.i18nc("@info:title", "Authentication Status")) + self._authentication_failed_message = Message("", title=i18n_catalog.i18nc("@info:title", "Authentication Status")) self._authentication_failed_message.addAction("Retry", i18n_catalog.i18nc("@action:button", "Retry"), None, i18n_catalog.i18nc("@info:tooltip", "Re-send the access request")) self._authentication_failed_message.actionTriggered.connect(self._messageCallback) diff --git a/resources/qml/WorkspaceSummaryDialog.qml b/resources/qml/WorkspaceSummaryDialog.qml index 24e94beb88..1b3a7aac55 100644 --- a/resources/qml/WorkspaceSummaryDialog.qml +++ b/resources/qml/WorkspaceSummaryDialog.qml @@ -117,7 +117,7 @@ UM.Dialog height: childrenRect.height Label { - text: catalog.i18nc("@action:label", Cura.MachineManager.activeMachineNetworkGroupName != "" ? "Printer Group" : "Name") + text: Cura.MachineManager.activeMachineNetworkGroupName != "" ? catalog.i18nc("@action:label", "Printer Group") : catalog.i18nc("@action:label", "Name") width: Math.floor(scroll.width / 3) | 0 } Label From 5ba60de20939754241edcd04903038ade60e7ca8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 8 Oct 2018 15:59:46 +0200 Subject: [PATCH 204/423] Send extruder settings ordered by extruder position CURA-5799 --- plugins/CuraEngineBackend/StartSliceJob.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 28e442033b..780a495de8 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -247,7 +247,10 @@ class StartSliceJob(Job): self._buildGlobalInheritsStackMessage(stack) # Build messages for extruder stacks - for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): + # Send the extruder settings in the order of extruder positions. Somehow, if you send e.g. extruder 3 first, + # then CuraEngine can slice with the wrong settings. This I think should be fixed in CuraEngine as well. + extruder_stack_list = sorted(list(global_stack.extruders.items()), key = lambda item: int(item[0])) + for _, extruder_stack in extruder_stack_list: self._buildExtruderMessage(extruder_stack) for group in filtered_object_groups: From d1a51b26f765badf7c02ec84ee67d0ff63e8df27 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 8 Oct 2018 17:22:04 +0200 Subject: [PATCH 205/423] Simplified QML expression --- resources/qml/Preferences/Materials/MaterialsSlot.qml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/resources/qml/Preferences/Materials/MaterialsSlot.qml b/resources/qml/Preferences/Materials/MaterialsSlot.qml index c75c34b81a..a5af17f47a 100644 --- a/resources/qml/Preferences/Materials/MaterialsSlot.qml +++ b/resources/qml/Preferences/Materials/MaterialsSlot.qml @@ -41,15 +41,7 @@ Rectangle anchors.left: swatch.right anchors.verticalCenter: materialSlot.verticalCenter anchors.leftMargin: UM.Theme.getSize("narrow_margin").width - font.italic: - { - var selected_material = Cura.MachineManager.currentRootMaterialId[Cura.ExtruderManager.activeExtruderIndex] - if(selected_material == material.root_material_id) - { - return true - } - return false - } + font.italic: Cura.MachineManager.currentRootMaterialId[Cura.ExtruderManager.activeExtruderIndex] == material.root_material_id } MouseArea { From eb310116aaa2e4d074d9d59d3a8c8bb88c5fb18a Mon Sep 17 00:00:00 2001 From: Vlad Gribinchuk Date: Tue, 9 Oct 2018 10:50:34 +0300 Subject: [PATCH 206/423] JSON settings for "Support Interface Offset" feature --- resources/definitions/fdmprinter.def.json | 44 +++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 305d841175..2d71187be6 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4336,6 +4336,50 @@ } } }, + "support_interface_offset": + { + "label": "Support Interface Offset", + "description": "Amount of offset applied to the support interface polygons.", + "unit": "mm", + "type": "float", + "minimum_value": "0", + "default_value": 0.0, + "limit_to_extruder": "support_interface_extruder_nr", + "enabled": "support_interface_enable and (support_enable or support_tree_enable)", + "settable_per_mesh": false, + "settable_per_extruder": true, + "children": + { + "support_roof_offset": + { + "label": "Support Roof Offset", + "description": "Amount of offset applied to the roofs of the support.", + "unit": "mm", + "type": "float", + "minimum_value": "0", + "default_value": 0.0, + "value": "extruderValue(support_roof_extruder_nr, 'support_interface_offset')", + "limit_to_extruder": "support_roof_extruder_nr", + "enabled": "support_roof_enable and (support_enable or support_tree_enable)", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "support_bottom_offset": + { + "label": "Support Floor Offset", + "description": "Amount of offset applied to the floors of the support.", + "unit": "mm", + "type": "float", + "minimum_value": "0", + "default_value": 0.0, + "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_offset')", + "limit_to_extruder": "support_bottom_extruder_nr", + "enabled": "support_bottom_enable and (support_enable or support_tree_enable)", + "settable_per_mesh": false, + "settable_per_extruder": true + } + } + }, "support_fan_enable": { "label": "Fan Speed Override", From 18821b6527c918f622fd57caa0d5cfb711e15644 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 9 Oct 2018 11:43:40 +0200 Subject: [PATCH 207/423] Add missing extruder def for Creality Ender 3 CURA-5806 --- resources/definitions/creality_ender3.def.json | 6 +++++- .../creality_ender3_extruder_0.def.json | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 resources/extruders/creality_ender3_extruder_0.def.json diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json index 4ae4d4ad93..9745f28a93 100755 --- a/resources/definitions/creality_ender3.def.json +++ b/resources/definitions/creality_ender3.def.json @@ -8,7 +8,11 @@ "manufacturer": "Creality3D", "file_formats": "text/x-gcode", "platform": "creality_ender3_platform.stl", - "preferred_quality_type": "draft" + "preferred_quality_type": "draft", + "machine_extruder_trains": + { + "0": "creality_ender3_extruder_0" + } }, "overrides": { "machine_name": { diff --git a/resources/extruders/creality_ender3_extruder_0.def.json b/resources/extruders/creality_ender3_extruder_0.def.json new file mode 100644 index 0000000000..431366c777 --- /dev/null +++ b/resources/extruders/creality_ender3_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "id": "creality_ender3_extruder_0", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "creality_ender3", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} From a36deea651b6139f9290d585bb8945a29058c408 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Tue, 9 Oct 2018 16:26:45 +0200 Subject: [PATCH 208/423] Move updateFirmware to PrinterOutputDevice... along with codestyle and typing fixes --- cura/PrinterOutput/FirmwareUpdater.py | 22 +++++++++---------- cura/PrinterOutput/GenericOutputController.py | 8 +++---- cura/PrinterOutput/PrintJobOutputModel.py | 2 +- cura/PrinterOutputDevice.py | 14 +++++++++--- .../FirmwareUpdaterMachineAction.py | 7 +++--- .../FirmwareUpdaterMachineAction.qml | 4 ++-- plugins/USBPrinting/USBPrinterOutputDevice.py | 11 +--------- 7 files changed, 34 insertions(+), 34 deletions(-) diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 92e92437ad..c6d9513ee0 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -22,16 +22,16 @@ class FirmwareUpdater(QObject): self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) - self._firmware_location = "" + self._firmware_file = "" self._firmware_progress = 0 self._firmware_update_state = FirmwareUpdateState.idle - def updateFirmware(self, file: Union[str, QUrl]) -> None: + def updateFirmware(self, firmware_file: Union[str, QUrl]) -> None: # the file path could be url-encoded. - if file.startswith("file://"): - self._firmware_location = QUrl(file).toLocalFile() + if firmware_file.startswith("file://"): + self._firmware_file = QUrl(firmware_file).toLocalFile() else: - self._firmware_location = file + self._firmware_file = firmware_file self._setFirmwareUpdateState(FirmwareUpdateState.updating) @@ -44,26 +44,26 @@ class FirmwareUpdater(QObject): def _cleanupAfterUpdate(self) -> None: # Clean up for next attempt. self._update_firmware_thread = Thread(target=self._updateFirmware, daemon=True) - self._firmware_location = "" + self._firmware_file = "" self._onFirmwareProgress(100) self._setFirmwareUpdateState(FirmwareUpdateState.completed) - @pyqtProperty(float, notify = firmwareProgressChanged) - def firmwareProgress(self) -> float: + @pyqtProperty(int, notify = firmwareProgressChanged) + def firmwareProgress(self) -> int: return self._firmware_progress @pyqtProperty(int, notify=firmwareUpdateStateChanged) def firmwareUpdateState(self) -> "FirmwareUpdateState": return self._firmware_update_state - def _setFirmwareUpdateState(self, state) -> None: + def _setFirmwareUpdateState(self, state: "FirmwareUpdateState") -> None: if self._firmware_update_state != state: self._firmware_update_state = state self.firmwareUpdateStateChanged.emit() # Callback function for firmware update progress. - def _onFirmwareProgress(self, progress, max_progress = 100) -> None: - self._firmware_progress = (progress / max_progress) * 100 # Convert to scale of 0-100 + def _onFirmwareProgress(self, progress: int, max_progress: int = 100) -> None: + self._firmware_progress = int(progress * 100 / max_progress) # Convert to scale of 0-100 self.firmwareProgressChanged.emit() diff --git a/cura/PrinterOutput/GenericOutputController.py b/cura/PrinterOutput/GenericOutputController.py index 9434feea62..c538ae79f8 100644 --- a/cura/PrinterOutput/GenericOutputController.py +++ b/cura/PrinterOutput/GenericOutputController.py @@ -20,15 +20,15 @@ class GenericOutputController(PrinterOutputController): self._preheat_bed_timer = QTimer() self._preheat_bed_timer.setSingleShot(True) self._preheat_bed_timer.timeout.connect(self._onPreheatBedTimerFinished) - self._preheat_printer = None #type: Optional[PrinterOutputModel] + self._preheat_printer = None # type: Optional[PrinterOutputModel] self._preheat_hotends_timer = QTimer() self._preheat_hotends_timer.setSingleShot(True) self._preheat_hotends_timer.timeout.connect(self._onPreheatHotendsTimerFinished) - self._preheat_hotends = set() #type: Set[ExtruderOutputModel] + self._preheat_hotends = set() # type: Set[ExtruderOutputModel] self._output_device.printersChanged.connect(self._onPrintersChanged) - self._active_printer = None #type: Optional[PrinterOutputModel] + self._active_printer = None # type: Optional[PrinterOutputModel] def _onPrintersChanged(self) -> None: if self._active_printer: @@ -54,7 +54,7 @@ class GenericOutputController(PrinterOutputController): self._preheat_hotends_timer.stop() for extruder in self._preheat_hotends: extruder.updateIsPreheating(False) - self._preheat_hotends = set() #type: Set[ExtruderOutputModel] + self._preheat_hotends = set() # type: Set[ExtruderOutputModel] def moveHead(self, printer: "PrinterOutputModel", x, y, z, speed) -> None: self._output_device.sendCommand("G91") diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index 70878a7573..1415db16bd 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -91,7 +91,7 @@ class PrintJobOutputModel(QObject): def assignedPrinter(self): return self._assigned_printer - def updateAssignedPrinter(self, assigned_printer: Optional["PrinterOutputModel"]): + def updateAssignedPrinter(self, assigned_printer: Optional["PrinterOutputModel"]) -> None: if self._assigned_printer != assigned_printer: old_printer = self._assigned_printer self._assigned_printer = assigned_printer diff --git a/cura/PrinterOutputDevice.py b/cura/PrinterOutputDevice.py index c63f9c35b5..236b658eba 100644 --- a/cura/PrinterOutputDevice.py +++ b/cura/PrinterOutputDevice.py @@ -4,7 +4,7 @@ from UM.Decorators import deprecated from UM.i18n import i18nCatalog from UM.OutputDevice.OutputDevice import OutputDevice -from PyQt5.QtCore import pyqtProperty, QObject, QTimer, pyqtSignal +from PyQt5.QtCore import pyqtProperty, pyqtSignal, QObject, QTimer, QUrl from PyQt5.QtWidgets import QMessageBox from UM.Logger import Logger @@ -12,9 +12,10 @@ from UM.FileHandler.FileHandler import FileHandler #For typing. from UM.Scene.SceneNode import SceneNode #For typing. from UM.Signal import signalemitter from UM.Qt.QtApplication import QtApplication +from UM.FlameProfiler import pyqtSlot from enum import IntEnum # For the connection state tracking. -from typing import Callable, List, Optional +from typing import Callable, List, Optional, Union MYPY = False if MYPY: @@ -230,4 +231,11 @@ class PrinterOutputDevice(QObject, OutputDevice): return self._firmware_name def getFirmwareUpdater(self) -> Optional["FirmwareUpdater"]: - return self._firmware_updater \ No newline at end of file + return self._firmware_updater + + @pyqtSlot(str) + def updateFirmware(self, firmware_file: Union[str, QUrl]) -> None: + if not self._firmware_updater: + return + + self._firmware_updater.updateFirmware(firmware_file) \ No newline at end of file diff --git a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py index 981fb819eb..0a3e3a0ff0 100644 --- a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py @@ -15,6 +15,7 @@ MYPY = False if MYPY: from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater from cura.PrinterOutput.PrinterOutputDevice import PrinterOutputDevice + from UM.Settings.ContainerInterface import ContainerInterface catalog = i18nCatalog("cura") @@ -25,15 +26,15 @@ class FirmwareUpdaterMachineAction(MachineAction): self._qml_url = "FirmwareUpdaterMachineAction.qml" ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) - self._active_output_device = None #type: Optional[PrinterOutputDevice] - self._active_firmware_updater = None #type: Optional[FirmwareUpdater] + self._active_output_device = None # type: Optional[PrinterOutputDevice] + self._active_firmware_updater = None # type: Optional[FirmwareUpdater] CuraApplication.getInstance().engineCreatedSignal.connect(self._onEngineCreated) def _onEngineCreated(self) -> None: CuraApplication.getInstance().getMachineManager().outputDevicesChanged.connect(self._onOutputDevicesChanged) - def _onContainerAdded(self, container) -> None: + def _onContainerAdded(self, container: "ContainerInterface") -> None: # Add this action as a supported action to all machine definitions if they support USB connection if isinstance(container, DefinitionContainer) and container.getMetaDataEntry("type") == "machine" and container.getMetaDataEntry("supports_usb_connection"): CuraApplication.getInstance().getMachineActionManager().addSupportedAction(container.getId(), self.getKey()) diff --git a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml index ab5bb89347..9a56dbb20a 100644 --- a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml +++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml @@ -16,7 +16,7 @@ Cura.MachineAction anchors.fill: parent; property bool printerConnected: Cura.MachineManager.printerConnected property var activeOutputDevice: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null - property var canUpdateFirmware: activeOutputDevice ? activeOutputDevice.activePrinter.canUpdateFirmware : false + property bool canUpdateFirmware: activeOutputDevice ? activeOutputDevice.activePrinter.canUpdateFirmware : false Column { @@ -51,7 +51,7 @@ Cura.MachineAction anchors.horizontalCenter: parent.horizontalCenter width: childrenRect.width spacing: UM.Theme.getSize("default_margin").width - property var firmwareName: Cura.MachineManager.activeMachine.getDefaultFirmwareName() + property string firmwareName: Cura.MachineManager.activeMachine.getDefaultFirmwareName() Button { id: autoUpgradeButton diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 1fd2fdeb5c..b5ada76e6c 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -15,8 +15,6 @@ from cura.PrinterOutput.GenericOutputController import GenericOutputController from .AutoDetectBaudJob import AutoDetectBaudJob from .AvrFirmwareUpdater import AvrFirmwareUpdater -from PyQt5.QtCore import pyqtSlot, pyqtSignal, pyqtProperty, QUrl - from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event from time import time, sleep @@ -98,13 +96,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice): application = CuraApplication.getInstance() application.triggerNextExitCheck() - @pyqtSlot(str) - def updateFirmware(self, file: Union[str, QUrl]) -> None: - if not self._firmware_updater: - return - - self._firmware_updater.updateFirmware(file) - ## Reset USB device settings # def resetDeviceSettings(self) -> None: @@ -169,7 +160,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._baud_rate = baud_rate def connect(self): - self._firmware_name = None # after each connection ensure that the firmware name is removed + self._firmware_name = None # after each connection ensure that the firmware name is removed if self._baud_rate is None: if self._use_auto_detect: From ab7fe3138d8bdfa2e1ef1d5a91be93709896099f Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Tue, 9 Oct 2018 17:06:20 +0200 Subject: [PATCH 209/423] Remove unused imports --- cura/PrinterOutputDevice.py | 6 +++--- plugins/USBPrinting/AvrFirmwareUpdater.py | 8 ++++++-- plugins/USBPrinting/USBPrinterOutputDevice.py | 4 +--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cura/PrinterOutputDevice.py b/cura/PrinterOutputDevice.py index 236b658eba..969aa3c460 100644 --- a/cura/PrinterOutputDevice.py +++ b/cura/PrinterOutputDevice.py @@ -8,8 +8,6 @@ from PyQt5.QtCore import pyqtProperty, pyqtSignal, QObject, QTimer, QUrl from PyQt5.QtWidgets import QMessageBox from UM.Logger import Logger -from UM.FileHandler.FileHandler import FileHandler #For typing. -from UM.Scene.SceneNode import SceneNode #For typing. from UM.Signal import signalemitter from UM.Qt.QtApplication import QtApplication from UM.FlameProfiler import pyqtSlot @@ -22,6 +20,8 @@ if MYPY: from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.ConfigurationModel import ConfigurationModel from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater + from UM.FileHandler.FileHandler import FileHandler + from UM.Scene.SceneNode import SceneNode i18n_catalog = i18nCatalog("cura") @@ -131,7 +131,7 @@ class PrinterOutputDevice(QObject, OutputDevice): return None - def requestWrite(self, nodes: List[SceneNode], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional[FileHandler] = None, **kwargs: str) -> None: + def requestWrite(self, nodes: List["SceneNode"], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional["FileHandler"] = None, **kwargs: str) -> None: raise NotImplementedError("requestWrite needs to be implemented") @pyqtProperty(QObject, notify = printersChanged) diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index 505e1ddb7e..b8650e9208 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -4,7 +4,6 @@ from UM.Logger import Logger from cura.CuraApplication import CuraApplication -from cura.PrinterOutputDevice import PrinterOutputDevice from cura.PrinterOutput.FirmwareUpdater import FirmwareUpdater, FirmwareUpdateState from .avr_isp import stk500v2, intelHex @@ -12,8 +11,13 @@ from serial import SerialException from time import sleep +MYPY = False +if MYPY: + from cura.PrinterOutputDevice import PrinterOutputDevice + + class AvrFirmwareUpdater(FirmwareUpdater): - def __init__(self, output_device: PrinterOutputDevice) -> None: + def __init__(self, output_device: "PrinterOutputDevice") -> None: super().__init__(output_device) def _updateFirmware(self) -> None: diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index b5ada76e6c..4c3e7ee131 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -4,7 +4,6 @@ from UM.Logger import Logger from UM.i18n import i18nCatalog from UM.Qt.Duration import DurationFormat -from UM.PluginRegistry import PluginRegistry from cura.CuraApplication import CuraApplication from cura.PrinterOutputDevice import PrinterOutputDevice, ConnectionState @@ -17,13 +16,12 @@ from .AvrFirmwareUpdater import AvrFirmwareUpdater from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event -from time import time, sleep +from time import time from queue import Queue from typing import Union, Optional, List, cast import re import functools # Used for reduce -import os catalog = i18nCatalog("cura") From 382adf57dfad00fe69ded8a2f99af5d7b99d5450 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 10 Oct 2018 07:55:49 +0200 Subject: [PATCH 210/423] Use 0.1 layer height as normal for Ender 3 --- resources/definitions/creality_ender3.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json index 9745f28a93..d3765ca9b3 100755 --- a/resources/definitions/creality_ender3.def.json +++ b/resources/definitions/creality_ender3.def.json @@ -60,7 +60,7 @@ "default_value": 20 }, "layer_height": { - "default_value": 0.15 + "default_value": 0.10 }, "layer_height_0": { "default_value": 0.2 From d3101b2fd95735a910750f4fbcfae5e702966a04 Mon Sep 17 00:00:00 2001 From: THeijmans Date: Wed, 10 Oct 2018 09:26:16 +0200 Subject: [PATCH 211/423] Fixed prim blob visibility Changed the wrong prime_blob setting, now it should be visible but disabled. --- resources/definitions/ultimaker_s5.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 2024acdf73..57ba6e864e 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -63,7 +63,8 @@ "machine_end_gcode": { "default_value": "" }, "prime_tower_position_x": { "default_value": 345 }, "prime_tower_position_y": { "default_value": 222.5 }, - "prime_blob_enable": { "enabled": false }, + "prime_blob_enable": { "enabled": true }, + "prime_blob_enable": { "default_value": false }, "speed_travel": { From 6d852228e31fff075cc7381551e5c3287718c733 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 10 Oct 2018 09:29:42 +0200 Subject: [PATCH 212/423] Update ultimaker_s5.def.json --- resources/definitions/ultimaker_s5.def.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 57ba6e864e..94e28eb8a5 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -63,7 +63,6 @@ "machine_end_gcode": { "default_value": "" }, "prime_tower_position_x": { "default_value": 345 }, "prime_tower_position_y": { "default_value": 222.5 }, - "prime_blob_enable": { "enabled": true }, "prime_blob_enable": { "default_value": false }, "speed_travel": From 01d95f51c8168e78a3900ca5127dfb99cfa134b9 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 10 Oct 2018 09:34:27 +0200 Subject: [PATCH 213/423] Fix prime blob enabled for S5 Still need that enabled = true... --- resources/definitions/ultimaker_s5.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 94e28eb8a5..2e634787af 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -63,7 +63,7 @@ "machine_end_gcode": { "default_value": "" }, "prime_tower_position_x": { "default_value": 345 }, "prime_tower_position_y": { "default_value": 222.5 }, - "prime_blob_enable": { "default_value": false }, + "prime_blob_enable": { "enabled": true, "default_value": false }, "speed_travel": { From cc34e14215c234d0b448e0665a76d7d8a6360360 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 10 Oct 2018 11:52:14 +0200 Subject: [PATCH 214/423] Use ElideRight for long script names CURA-5683 --- plugins/PostProcessingPlugin/PostProcessingPlugin.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml index e91fc73cf4..22555562c0 100644 --- a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml +++ b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml @@ -115,6 +115,7 @@ UM.Dialog { wrapMode: Text.Wrap text: control.text + elide: Text.ElideRight color: activeScriptButton.checked ? palette.highlightedText : palette.text } } From e3861b0d90a6d90d94fb5e82a74a8c0d5144db14 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 10 Oct 2018 12:48:22 +0200 Subject: [PATCH 215/423] Add few more elide properties to ensure text doesnt' overlap --- plugins/PostProcessingPlugin/PostProcessingPlugin.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml index 22555562c0..d492e06462 100644 --- a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml +++ b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml @@ -62,6 +62,7 @@ UM.Dialog anchors.right: parent.right anchors.rightMargin: base.textMargin font: UM.Theme.getFont("large") + elide: Text.ElideRight } ListView { @@ -276,6 +277,7 @@ UM.Dialog anchors.leftMargin: base.textMargin anchors.right: parent.right anchors.rightMargin: base.textMargin + elide: Text.ElideRight height: 20 * screenScaleFactor font: UM.Theme.getFont("large") color: UM.Theme.getColor("text") From b37252f124c76fa06c860fa20de4b6cca85645a1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 10 Oct 2018 14:18:37 +0200 Subject: [PATCH 216/423] Minor code style fixes Contributes to issue CURA-5734. --- cura/Machines/Models/SettingVisibilityPresetsModel.py | 2 +- cura/Settings/SettingVisibilityPreset.py | 8 ++++---- resources/qml/Preferences/SettingVisibilityPage.qml | 6 ++++-- tests/Settings/TestSettingVisibilityPresets.py | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index b5f7fa8626..d9bf105c0b 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -18,7 +18,7 @@ class SettingVisibilityPresetsModel(QObject): onItemsChanged = pyqtSignal() activePresetChanged = pyqtSignal() - def __init__(self, preferences, parent = None): + def __init__(self, preferences, parent = None): super().__init__(parent) self._items = [] # type: List[SettingVisibilityPreset] diff --git a/cura/Settings/SettingVisibilityPreset.py b/cura/Settings/SettingVisibilityPreset.py index b1828362d1..6e75a5a208 100644 --- a/cura/Settings/SettingVisibilityPreset.py +++ b/cura/Settings/SettingVisibilityPreset.py @@ -26,15 +26,15 @@ class SettingVisibilityPreset(QObject): def settings(self) -> List[str]: return self._settings - @pyqtProperty(str, notify=onIdChanged) + @pyqtProperty(str, notify = onIdChanged) def id(self) -> str: return self._id - @pyqtProperty(int, notify=onWeightChanged) + @pyqtProperty(int, notify = onWeightChanged) def weight(self) -> int: return self._weight - @pyqtProperty(str, notify=onNameChanged) + @pyqtProperty(str, notify = onNameChanged) def name(self) -> str: return self._name @@ -66,7 +66,7 @@ class SettingVisibilityPreset(QObject): Logger.log("e", "[%s] is not a file", file_path) return None - parser = ConfigParser(allow_no_value=True) # Accept options without any value, + parser = ConfigParser(allow_no_value = True) # Accept options without any value, parser.read([file_path]) if not parser.has_option("general", "name") or not parser.has_option("general", "weight"): diff --git a/resources/qml/Preferences/SettingVisibilityPage.qml b/resources/qml/Preferences/SettingVisibilityPage.qml index 90c805f854..8896d0611e 100644 --- a/resources/qml/Preferences/SettingVisibilityPage.qml +++ b/resources/qml/Preferences/SettingVisibilityPage.qml @@ -115,8 +115,10 @@ UM.PreferencesPage currentIndex: { - for(var i = 0; i < settingVisibilityPresetsModel.items.length; ++i) { - if(settingVisibilityPresetsModel.items[i].id == settingVisibilityPresetsModel.activePreset) { + for(var i = 0; i < settingVisibilityPresetsModel.items.length; ++i) + { + if(settingVisibilityPresetsModel.items[i].id == settingVisibilityPresetsModel.activePreset) + { currentIndex = i; return; } diff --git a/tests/Settings/TestSettingVisibilityPresets.py b/tests/Settings/TestSettingVisibilityPresets.py index 68e8a6eb7b..1209437d25 100644 --- a/tests/Settings/TestSettingVisibilityPresets.py +++ b/tests/Settings/TestSettingVisibilityPresets.py @@ -49,7 +49,7 @@ def test_setActivePreset(): preferences = Preferences() visibility_model = SettingVisibilityPresetsModel(preferences) visibility_model.activePresetChanged = MagicMock() - # Ensure that we start of with basic (since we didn't change anyting just yet!) + # Ensure that we start off with basic (since we didn't change anyting just yet!) assert visibility_model.activePreset == "basic" # Everything should be the same. From 4c6744b6fc75a3a9403bdd8c98664c807b8c597b Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 10 Oct 2018 14:28:50 +0200 Subject: [PATCH 217/423] Code style: Space around binary operators I just looked for lines with interpolation = None because I was looking for another possible bug, but fixing this in the meanwhile too. --- cura/Settings/CuraContainerRegistry.py | 2 +- plugins/3MFReader/ThreeMFWorkspaceReader.py | 4 ++-- plugins/CuraProfileReader/CuraProfileReader.py | 2 +- plugins/LegacyProfileReader/LegacyProfileReader.py | 2 +- .../VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py | 2 +- .../VersionUpgrade25to26/VersionUpgrade25to26.py | 2 +- .../VersionUpgrade30to31/VersionUpgrade30to31.py | 6 +++--- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index 962f4162b5..11640adc0f 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -685,7 +685,7 @@ class CuraContainerRegistry(ContainerRegistry): if not os.path.isfile(file_path): continue - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) try: parser.read([file_path]) except: diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 36a725d148..429d4ab7d4 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -1012,7 +1012,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): ## Get the list of ID's of all containers in a container stack by partially parsing it's serialized data. def _getContainerIdListFromSerialized(self, serialized): - parser = ConfigParser(interpolation=None, empty_lines_in_values=False) + parser = ConfigParser(interpolation = None, empty_lines_in_values = False) parser.read_string(serialized) container_ids = [] @@ -1033,7 +1033,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): return container_ids def _getMachineNameFromSerializedStack(self, serialized): - parser = ConfigParser(interpolation=None, empty_lines_in_values=False) + parser = ConfigParser(interpolation = None, empty_lines_in_values = False) parser.read_string(serialized) return parser["general"].get("name", "") diff --git a/plugins/CuraProfileReader/CuraProfileReader.py b/plugins/CuraProfileReader/CuraProfileReader.py index 5957b2cecf..11e58dac6d 100644 --- a/plugins/CuraProfileReader/CuraProfileReader.py +++ b/plugins/CuraProfileReader/CuraProfileReader.py @@ -50,7 +50,7 @@ class CuraProfileReader(ProfileReader): # \param profile_id \type{str} The name of the profile. # \return \type{List[Tuple[str,str]]} List of serialized profile strings and matching profile names. def _upgradeProfile(self, serialized, profile_id): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialized) if "general" not in parser: diff --git a/plugins/LegacyProfileReader/LegacyProfileReader.py b/plugins/LegacyProfileReader/LegacyProfileReader.py index 93c15ca8e0..cd577218d5 100644 --- a/plugins/LegacyProfileReader/LegacyProfileReader.py +++ b/plugins/LegacyProfileReader/LegacyProfileReader.py @@ -152,7 +152,7 @@ class LegacyProfileReader(ProfileReader): profile.setDirty(True) #Serialise and deserialise in order to perform the version upgrade. - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) data = profile.serialize() parser.read_string(data) parser["general"]["version"] = "1" diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py index 730a62e591..a56f1f807b 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py @@ -73,7 +73,7 @@ class VersionUpgrade22to24(VersionUpgrade): def __convertVariant(self, variant_path): # Copy the variant to the machine_instances/*_settings.inst.cfg - variant_config = configparser.ConfigParser(interpolation=None) + variant_config = configparser.ConfigParser(interpolation = None) with open(variant_path, "r", encoding = "utf-8") as fhandle: variant_config.read_file(fhandle) diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py index 2430b35ea0..6643edb765 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/VersionUpgrade25to26.py @@ -117,7 +117,7 @@ class VersionUpgrade25to26(VersionUpgrade): # \param serialised The serialised form of a quality profile. # \param filename The name of the file to upgrade. def upgradeMachineStack(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) # NOTE: This is for Custom FDM printers diff --git a/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py b/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py index a88ff5ac1c..399eb18b5d 100644 --- a/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py +++ b/plugins/VersionUpgrade/VersionUpgrade30to31/VersionUpgrade30to31.py @@ -84,7 +84,7 @@ class VersionUpgrade30to31(VersionUpgrade): # \param serialised The serialised form of a preferences file. # \param filename The name of the file to upgrade. def upgradePreferences(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) # Update version numbers @@ -105,7 +105,7 @@ class VersionUpgrade30to31(VersionUpgrade): # \param serialised The serialised form of the container file. # \param filename The name of the file to upgrade. def upgradeInstanceContainer(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) for each_section in ("general", "metadata"): @@ -130,7 +130,7 @@ class VersionUpgrade30to31(VersionUpgrade): # \param serialised The serialised form of a container stack. # \param filename The name of the file to upgrade. def upgradeStack(self, serialised, filename): - parser = configparser.ConfigParser(interpolation=None) + parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialised) for each_section in ("general", "metadata"): From 10b5584ca68457dd25659a3273d9375602667c19 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 10 Oct 2018 16:24:13 +0200 Subject: [PATCH 218/423] [CURA-5483] Support more than just the UM3(E) for the firmware-update-check (add S5 only for now). --- .../FirmwareUpdateChecker.py | 22 +++- .../FirmwareUpdateCheckerJob.py | 103 ++++++++++++++---- 2 files changed, 100 insertions(+), 25 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index f01e8cb276..80a954c1cc 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -12,23 +12,34 @@ from UM.Settings.ContainerRegistry import ContainerRegistry from cura.Settings.GlobalStack import GlobalStack -from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob +from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob, MachineId, get_settings_key_for_machine i18n_catalog = i18nCatalog("cura") - ## This Extension checks for new versions of the firmware based on the latest checked version number. # The plugin is currently only usable for applications maintained by Ultimaker. But it should be relatively easy # to change it to work for other applications. class FirmwareUpdateChecker(Extension): JEDI_VERSION_URL = "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources" + UM_NEW_URL_TEMPLATE = "http://software.ultimaker.com/releases/firmware/{0}/stable/version.txt" + VERSION_URLS_PER_MACHINE = \ + { + MachineId.UM3: [JEDI_VERSION_URL, UM_NEW_URL_TEMPLATE.format(MachineId.UM3.value)], + MachineId.UM3E: [JEDI_VERSION_URL, UM_NEW_URL_TEMPLATE.format(MachineId.UM3E.value)], + MachineId.S5: [UM_NEW_URL_TEMPLATE.format(MachineId.S5.value)] + } + # The 'new'-style URL is the only way to check for S5 firmware, + # and in the future, the UM3 line will also switch over, but for now the old 'JEDI'-style URL is still needed. + # TODO: Parse all of that from a file, because this will be a big mess of large static values which gets worse with each printer. + # See also the to-do in FirmWareCheckerJob. def __init__(self): super().__init__() # Initialize the Preference called `latest_checked_firmware` that stores the last version - # checked for the UM3. In the future if we need to check other printers' firmware - Application.getInstance().getPreferences().addPreference("info/latest_checked_firmware", "") + # checked for each printer. + for machine_id in MachineId: + Application.getInstance().getPreferences().addPreference(get_settings_key_for_machine(machine_id), "") # Listen to a Signal that indicates a change in the list of printers, just if the user has enabled the # 'check for updates' option @@ -68,7 +79,8 @@ class FirmwareUpdateChecker(Extension): Logger.log("i", "A firmware update check is already running, do nothing.") return - self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, url = self.JEDI_VERSION_URL, + self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, + urls = self.VERSION_URLS_PER_MACHINE, callback = self._onActionTriggered, set_download_url_callback = self._onSetDownloadUrl) self._check_job.start() diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index eadacf2c02..658e820b4b 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -1,10 +1,13 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from enum import Enum, unique + from UM.Application import Application from UM.Message import Message from UM.Logger import Logger from UM.Job import Job +from UM.Version import Version import urllib.request import codecs @@ -12,49 +15,104 @@ import codecs from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") +# For UM-machines, these need to match the unique firmware-ID (also used in the URLs), i.o.t. only define in one place. +@unique +class MachineId(Enum): + UM3 = 9066 + UM3E = 9511 + S5 = 9051 + + +def get_settings_key_for_machine(machine_id: MachineId) -> str: + return "info/latest_checked_firmware_for_{0}".format(machine_id.value) + + +def default_parse_version_response(response: str) -> Version: + raw_str = response.split('\n', 1)[0].rstrip() + return Version(raw_str.split('.')) # Split it into a list; the default parsing of 'single string' is different. + ## This job checks if there is an update available on the provided URL. class FirmwareUpdateCheckerJob(Job): - def __init__(self, container = None, silent = False, url = None, callback = None, set_download_url_callback = None): + MACHINE_PER_NAME = \ + { + "ultimaker 3": MachineId.UM3, + "ultimaker 3 extended": MachineId.UM3E, + "ultimaker s5": MachineId.S5 + } + PARSE_VERSION_URL_PER_MACHINE = \ + { + MachineId.UM3: default_parse_version_response, + MachineId.UM3E: default_parse_version_response, + MachineId.S5: default_parse_version_response + } + REDIRECT_USER_PER_MACHINE = \ + { + MachineId.UM3: "https://ultimaker.com/en/resources/20500-upgrade-firmware", + MachineId.UM3E: "https://ultimaker.com/en/resources/20500-upgrade-firmware", + MachineId.S5: "https://ultimaker.com/en/resources/20500-upgrade-firmware" + } + # TODO: Parse all of that from a file, because this will be a big mess of large static values which gets worse with each printer. + + def __init__(self, container=None, silent=False, urls=None, callback=None, set_download_url_callback=None): super().__init__() self._container = container self.silent = silent - self._url = url + self._urls = urls self._callback = callback self._set_download_url_callback = set_download_url_callback + application_name = Application.getInstance().getApplicationName() + application_version = Application.getInstance().getVersion() + self._headers = {"User-Agent": "%s - %s" % (application_name, application_version)} + + def getUrlResponse(self, url: str) -> str: + request = urllib.request.Request(url, headers=self._headers) + current_version_file = urllib.request.urlopen(request) + reader = codecs.getreader("utf-8") + + return reader(current_version_file).read(firstline=True) + + def getCurrentVersionForMachine(self, machine_id: MachineId) -> Version: + max_version = Version([0, 0, 0]) + + machine_urls = self._urls.get(machine_id) + parse_function = self.PARSE_VERSION_URL_PER_MACHINE.get(machine_id) + if machine_urls is not None and parse_function is not None: + for url in machine_urls: + version = parse_function(self.getUrlResponse(url)) + if version > max_version: + max_version = version + + if max_version < Version([0, 0, 1]): + Logger.log('w', "MachineID {0} not handled!".format(repr(machine_id))) + + return max_version + def run(self): - if not self._url: + if not self._urls or self._urls is None: Logger.log("e", "Can not check for a new release. URL not set!") return try: - application_name = Application.getInstance().getApplicationName() - headers = {"User-Agent": "%s - %s" % (application_name, Application.getInstance().getVersion())} - request = urllib.request.Request(self._url, headers = headers) - current_version_file = urllib.request.urlopen(request) - reader = codecs.getreader("utf-8") - # get machine name from the definition container machine_name = self._container.definition.getName() machine_name_parts = machine_name.lower().split(" ") # If it is not None, then we compare between the checked_version and the current_version - # Now we just do that if the active printer is Ultimaker 3 or Ultimaker 3 Extended or any - # other Ultimaker 3 that will come in the future - if len(machine_name_parts) >= 2 and machine_name_parts[:2] == ["ultimaker", "3"]: - Logger.log("i", "You have a UM3 in printer list. Let's check the firmware!") + machine_id = self.MACHINE_PER_NAME.get(machine_name.lower()) + if machine_id is not None: + Logger.log("i", "You have a {0} in the printer list. Let's check the firmware!".format(machine_name)) - # Nothing to parse, just get the string - # TODO: In the future may be done by parsing a JSON file with diferent version for each printer model - current_version = reader(current_version_file).readline().rstrip() + current_version = self.getCurrentVersionForMachine(machine_id) # If it is the first time the version is checked, the checked_version is '' - checked_version = Application.getInstance().getPreferences().getValue("info/latest_checked_firmware") + setting_key_str = get_settings_key_for_machine(machine_id) + checked_version = Application.getInstance().getPreferences().getValue(setting_key_str) # If the checked_version is '', it's because is the first time we check firmware and in this case # we will not show the notification, but we will store it for the next time - Application.getInstance().getPreferences().setValue("info/latest_checked_firmware", current_version) + Application.getInstance().getPreferences().setValue(setting_key_str, current_version) Logger.log("i", "Reading firmware version of %s: checked = %s - latest = %s", machine_name, checked_version, current_version) # The first time we want to store the current version, the notification will not be shown, @@ -78,12 +136,17 @@ class FirmwareUpdateCheckerJob(Job): button_style=Message.ActionButtonStyle.LINK, button_align=Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) - # If we do this in a cool way, the download url should be available in the JSON file if self._set_download_url_callback: - self._set_download_url_callback("https://ultimaker.com/en/resources/20500-upgrade-firmware") + redirect = self.REDIRECT_USER_PER_MACHINE.get(machine_id) + if redirect is not None: + self._set_download_url_callback(redirect) + else: + Logger.log('w', "No callback-url for firmware of {0}".format(repr(machine_id))) message.actionTriggered.connect(self._callback) message.show() + else: + Logger.log('i', "No machine with name {0} in list of firmware to check.".format(repr(machine_id))) except Exception as e: Logger.log("w", "Failed to check for new version: %s", e) From 487ef52c6616b8f15af9d7cd3140eaff5e46fbcb Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 10 Oct 2018 16:52:47 +0200 Subject: [PATCH 219/423] Warn on error and continue on encountering 'future-proof' (now) or old (later) version-URLs. --- .../FirmwareUpdateCheckerJob.py | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 658e820b4b..40546d4a05 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -10,6 +10,7 @@ from UM.Job import Job from UM.Version import Version import urllib.request +from urllib.error import URLError import codecs from UM.i18n import i18nCatalog @@ -62,16 +63,20 @@ class FirmwareUpdateCheckerJob(Job): self._callback = callback self._set_download_url_callback = set_download_url_callback - application_name = Application.getInstance().getApplicationName() - application_version = Application.getInstance().getVersion() - self._headers = {"User-Agent": "%s - %s" % (application_name, application_version)} + self._headers = {} # Don't set headers yet. def getUrlResponse(self, url: str) -> str: - request = urllib.request.Request(url, headers=self._headers) - current_version_file = urllib.request.urlopen(request) - reader = codecs.getreader("utf-8") + result = "0.0.0" - return reader(current_version_file).read(firstline=True) + try: + request = urllib.request.Request(url, headers=self._headers) + current_version_file = urllib.request.urlopen(request) + reader = codecs.getreader("utf-8") + result = reader(current_version_file).read(firstline=True) + except URLError: + Logger.log('w', "Could not reach '{0}', if this URL is old, consider removal.".format(url)) + + return result def getCurrentVersionForMachine(self, machine_id: MachineId) -> Version: max_version = Version([0, 0, 0]) @@ -95,6 +100,10 @@ class FirmwareUpdateCheckerJob(Job): return try: + application_name = Application.getInstance().getApplicationName() + application_version = Application.getInstance().getVersion() + self._headers = {"User-Agent": "%s - %s" % (application_name, application_version)} + # get machine name from the definition container machine_name = self._container.definition.getName() machine_name_parts = machine_name.lower().split(" ") From d8ed3d607403e34205dd46da300f2feaef82b2b0 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 11 Oct 2018 14:56:07 +0200 Subject: [PATCH 220/423] Check the whole list for firmware-updates instead of just the first added container. --- plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py | 7 ++++--- plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 80a954c1cc..459d29265d 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -49,6 +49,7 @@ class FirmwareUpdateChecker(Extension): self._download_url = None self._check_job = None + self._name_cache = [] ## Callback for the message that is spawned when there is a new version. def _onActionTriggered(self, message, action): @@ -74,10 +75,10 @@ class FirmwareUpdateChecker(Extension): # \param silent type(boolean) Suppresses messages other than "new version found" messages. # This is used when checking for a new firmware version at startup. def checkFirmwareVersion(self, container = None, silent = False): - # Do not run multiple check jobs in parallel - if self._check_job is not None: - Logger.log("i", "A firmware update check is already running, do nothing.") + container_name = container.definition.getName() + if container_name in self._name_cache: return + self._name_cache.append(container_name) self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, urls = self.VERSION_URLS_PER_MACHINE, diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 40546d4a05..14a40e3cce 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -34,6 +34,7 @@ def default_parse_version_response(response: str) -> Version: ## This job checks if there is an update available on the provided URL. + class FirmwareUpdateCheckerJob(Job): MACHINE_PER_NAME = \ { @@ -155,7 +156,7 @@ class FirmwareUpdateCheckerJob(Job): message.actionTriggered.connect(self._callback) message.show() else: - Logger.log('i', "No machine with name {0} in list of firmware to check.".format(repr(machine_id))) + Logger.log('i', "No machine with name {0} in list of firmware to check.".format(machine_name)) except Exception as e: Logger.log("w", "Failed to check for new version: %s", e) From 12999f48c848359e6ed33d8997bb9c193a63ae30 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 11 Oct 2018 15:27:04 +0200 Subject: [PATCH 221/423] FirmwareUpdateCheckerJob: Move introduced hardcoded values to static variables. --- .../FirmwareUpdateCheckerJob.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 14a40e3cce..41710e7e86 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -34,8 +34,11 @@ def default_parse_version_response(response: str) -> Version: ## This job checks if there is an update available on the provided URL. - class FirmwareUpdateCheckerJob(Job): + STRING_ZERO_VERSION = "0.0.0" + STRING_EPSILON_VERSION = "0.0.1" + ZERO_VERSION = Version(STRING_ZERO_VERSION) + EPSILON_VERSION = Version(STRING_EPSILON_VERSION) MACHINE_PER_NAME = \ { "ultimaker 3": MachineId.UM3, @@ -67,7 +70,7 @@ class FirmwareUpdateCheckerJob(Job): self._headers = {} # Don't set headers yet. def getUrlResponse(self, url: str) -> str: - result = "0.0.0" + result = self.STRING_ZERO_VERSION try: request = urllib.request.Request(url, headers=self._headers) @@ -80,7 +83,7 @@ class FirmwareUpdateCheckerJob(Job): return result def getCurrentVersionForMachine(self, machine_id: MachineId) -> Version: - max_version = Version([0, 0, 0]) + max_version = self.ZERO_VERSION machine_urls = self._urls.get(machine_id) parse_function = self.PARSE_VERSION_URL_PER_MACHINE.get(machine_id) @@ -90,7 +93,7 @@ class FirmwareUpdateCheckerJob(Job): if version > max_version: max_version = version - if max_version < Version([0, 0, 1]): + if max_version < self.EPSILON_VERSION: Logger.log('w', "MachineID {0} not handled!".format(repr(machine_id))) return max_version @@ -107,7 +110,6 @@ class FirmwareUpdateCheckerJob(Job): # get machine name from the definition container machine_name = self._container.definition.getName() - machine_name_parts = machine_name.lower().split(" ") # If it is not None, then we compare between the checked_version and the current_version machine_id = self.MACHINE_PER_NAME.get(machine_name.lower()) @@ -118,7 +120,7 @@ class FirmwareUpdateCheckerJob(Job): # If it is the first time the version is checked, the checked_version is '' setting_key_str = get_settings_key_for_machine(machine_id) - checked_version = Application.getInstance().getPreferences().getValue(setting_key_str) + checked_version = Version(Application.getInstance().getPreferences().getValue(setting_key_str)) # If the checked_version is '', it's because is the first time we check firmware and in this case # we will not show the notification, but we will store it for the next time From 6c2791f38240992465014969b7d0fb9c6335dfa6 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 11 Oct 2018 17:16:01 +0200 Subject: [PATCH 222/423] Parse the firmware-update-check lookup-tables from a (new) .json instead of hardcoded. --- .../FirmwareUpdateChecker.py | 47 +++++++----- .../FirmwareUpdateCheckerJob.py | 73 ++++++++++--------- .../resources/machines.json | 36 +++++++++ 3 files changed, 101 insertions(+), 55 deletions(-) create mode 100644 plugins/FirmwareUpdateChecker/resources/machines.json diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 459d29265d..1736bb228a 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -1,18 +1,20 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +import json, os from PyQt5.QtCore import QUrl from PyQt5.QtGui import QDesktopServices from UM.Extension import Extension from UM.Application import Application from UM.Logger import Logger +from UM.PluginRegistry import PluginRegistry from UM.i18n import i18nCatalog from UM.Settings.ContainerRegistry import ContainerRegistry from cura.Settings.GlobalStack import GlobalStack -from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob, MachineId, get_settings_key_for_machine +from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob, get_settings_key_for_machine i18n_catalog = i18nCatalog("cura") @@ -20,38 +22,23 @@ i18n_catalog = i18nCatalog("cura") # The plugin is currently only usable for applications maintained by Ultimaker. But it should be relatively easy # to change it to work for other applications. class FirmwareUpdateChecker(Extension): - JEDI_VERSION_URL = "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources" - UM_NEW_URL_TEMPLATE = "http://software.ultimaker.com/releases/firmware/{0}/stable/version.txt" - VERSION_URLS_PER_MACHINE = \ - { - MachineId.UM3: [JEDI_VERSION_URL, UM_NEW_URL_TEMPLATE.format(MachineId.UM3.value)], - MachineId.UM3E: [JEDI_VERSION_URL, UM_NEW_URL_TEMPLATE.format(MachineId.UM3E.value)], - MachineId.S5: [UM_NEW_URL_TEMPLATE.format(MachineId.S5.value)] - } - # The 'new'-style URL is the only way to check for S5 firmware, - # and in the future, the UM3 line will also switch over, but for now the old 'JEDI'-style URL is still needed. - # TODO: Parse all of that from a file, because this will be a big mess of large static values which gets worse with each printer. - # See also the to-do in FirmWareCheckerJob. def __init__(self): super().__init__() - # Initialize the Preference called `latest_checked_firmware` that stores the last version - # checked for each printer. - for machine_id in MachineId: - Application.getInstance().getPreferences().addPreference(get_settings_key_for_machine(machine_id), "") - # Listen to a Signal that indicates a change in the list of printers, just if the user has enabled the # 'check for updates' option Application.getInstance().getPreferences().addPreference("info/automatic_update_check", True) if Application.getInstance().getPreferences().getValue("info/automatic_update_check"): ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) + self._late_init = True # Init some things after creation, since we need the path from the plugin-mgr. self._download_url = None self._check_job = None self._name_cache = [] ## Callback for the message that is spawned when there is a new version. + # TODO: Set the right download URL for each message! def _onActionTriggered(self, message, action): if action == "download": if self._download_url is not None: @@ -68,6 +55,25 @@ class FirmwareUpdateChecker(Extension): def _onJobFinished(self, *args, **kwargs): self._check_job = None + def lateInit(self): + self._late_init = False + + # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve 'raw' json. + self._machines_json = None + json_path = os.path.join(PluginRegistry.getInstance().getPluginPath("FirmwareUpdateChecker"), + "resources/machines.json") + with open(json_path, "r", encoding="utf-8") as json_file: + self._machines_json = json.load(json_file).get("machines") + if self._machines_json is None: + Logger.log('e', "Missing or inaccessible: {0}".format(json_path)) + return + + # Initialize the Preference called `latest_checked_firmware` that stores the last version + # checked for each printer. + for machine_json in self._machines_json: + machine_id = machine_json.get("id") + Application.getInstance().getPreferences().addPreference(get_settings_key_for_machine(machine_id), "") + ## Connect with software.ultimaker.com, load latest.version and check version info. # If the version info is different from the current version, spawn a message to # allow the user to download it. @@ -75,13 +81,16 @@ class FirmwareUpdateChecker(Extension): # \param silent type(boolean) Suppresses messages other than "new version found" messages. # This is used when checking for a new firmware version at startup. def checkFirmwareVersion(self, container = None, silent = False): + if self._late_init: + self.lateInit() + container_name = container.definition.getName() if container_name in self._name_cache: return self._name_cache.append(container_name) self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, - urls = self.VERSION_URLS_PER_MACHINE, + machines_json = self._machines_json, callback = self._onActionTriggered, set_download_url_callback = self._onSetDownloadUrl) self._check_job.start() diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 41710e7e86..336b954f5e 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -16,16 +16,9 @@ import codecs from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") -# For UM-machines, these need to match the unique firmware-ID (also used in the URLs), i.o.t. only define in one place. -@unique -class MachineId(Enum): - UM3 = 9066 - UM3E = 9511 - S5 = 9051 - -def get_settings_key_for_machine(machine_id: MachineId) -> str: - return "info/latest_checked_firmware_for_{0}".format(machine_id.value) +def get_settings_key_for_machine(machine_id: int) -> str: + return "info/latest_checked_firmware_for_{0}".format(machine_id) def default_parse_version_response(response: str) -> Version: @@ -39,31 +32,39 @@ class FirmwareUpdateCheckerJob(Job): STRING_EPSILON_VERSION = "0.0.1" ZERO_VERSION = Version(STRING_ZERO_VERSION) EPSILON_VERSION = Version(STRING_EPSILON_VERSION) - MACHINE_PER_NAME = \ - { - "ultimaker 3": MachineId.UM3, - "ultimaker 3 extended": MachineId.UM3E, - "ultimaker s5": MachineId.S5 - } - PARSE_VERSION_URL_PER_MACHINE = \ - { - MachineId.UM3: default_parse_version_response, - MachineId.UM3E: default_parse_version_response, - MachineId.S5: default_parse_version_response - } - REDIRECT_USER_PER_MACHINE = \ - { - MachineId.UM3: "https://ultimaker.com/en/resources/20500-upgrade-firmware", - MachineId.UM3E: "https://ultimaker.com/en/resources/20500-upgrade-firmware", - MachineId.S5: "https://ultimaker.com/en/resources/20500-upgrade-firmware" - } - # TODO: Parse all of that from a file, because this will be a big mess of large static values which gets worse with each printer. + JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": default_parse_version_response} - def __init__(self, container=None, silent=False, urls=None, callback=None, set_download_url_callback=None): + def __init__(self, container=None, silent=False, machines_json=None, callback=None, set_download_url_callback=None): super().__init__() self._container = container self.silent = silent - self._urls = urls + + # Parse all the needed lookup-tables from the '.json' file(s) in the resources folder. + # TODO: This should not be here when the merge to master is done, as it will be repeatedly recreated. + # It should be a separate object this constructor receives instead. + self._machine_ids = [] + self._machine_per_name = {} + self._parse_version_url_per_machine = {} + self._check_urls_per_machine = {} + self._redirect_user_per_machine = {} + try: + for machine_json in machines_json: + machine_id = machine_json.get("id") + machine_name = machine_json.get("name") + self._machine_ids.append(machine_id) + self._machine_per_name[machine_name] = machine_id + version_parse_function = self.JSON_NAME_TO_VERSION_PARSE_FUNCTION.get(machine_json.get("version_parser")) + if version_parse_function is None: + Logger.log('w', "No version-parse-function specified for machine {0}.".format(machine_name)) + version_parse_function = default_parse_version_response # Use default instead if nothing is found. + self._parse_version_url_per_machine[machine_id] = version_parse_function + self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see '_comment' in the .json file. + for check_url in machine_json.get("check_urls"): + self._check_urls_per_machine[machine_id].append(check_url) + self._redirect_user_per_machine[machine_id] = machine_json.get("update_url") + except: + Logger.log('e', "Couldn't parse firmware-update-check loopup-lists from file.") + self._callback = callback self._set_download_url_callback = set_download_url_callback @@ -82,11 +83,11 @@ class FirmwareUpdateCheckerJob(Job): return result - def getCurrentVersionForMachine(self, machine_id: MachineId) -> Version: + def getCurrentVersionForMachine(self, machine_id: int) -> Version: max_version = self.ZERO_VERSION - machine_urls = self._urls.get(machine_id) - parse_function = self.PARSE_VERSION_URL_PER_MACHINE.get(machine_id) + machine_urls = self._check_urls_per_machine.get(machine_id) + parse_function = self._parse_version_url_per_machine.get(machine_id) if machine_urls is not None and parse_function is not None: for url in machine_urls: version = parse_function(self.getUrlResponse(url)) @@ -99,7 +100,7 @@ class FirmwareUpdateCheckerJob(Job): return max_version def run(self): - if not self._urls or self._urls is None: + if not self._machine_ids or self._machine_ids is None: Logger.log("e", "Can not check for a new release. URL not set!") return @@ -112,7 +113,7 @@ class FirmwareUpdateCheckerJob(Job): machine_name = self._container.definition.getName() # If it is not None, then we compare between the checked_version and the current_version - machine_id = self.MACHINE_PER_NAME.get(machine_name.lower()) + machine_id = self._machine_per_name.get(machine_name.lower()) if machine_id is not None: Logger.log("i", "You have a {0} in the printer list. Let's check the firmware!".format(machine_name)) @@ -150,7 +151,7 @@ class FirmwareUpdateCheckerJob(Job): # If we do this in a cool way, the download url should be available in the JSON file if self._set_download_url_callback: - redirect = self.REDIRECT_USER_PER_MACHINE.get(machine_id) + redirect = self._redirect_user_per_machine.get(machine_id) if redirect is not None: self._set_download_url_callback(redirect) else: diff --git a/plugins/FirmwareUpdateChecker/resources/machines.json b/plugins/FirmwareUpdateChecker/resources/machines.json new file mode 100644 index 0000000000..5dc9aadbbf --- /dev/null +++ b/plugins/FirmwareUpdateChecker/resources/machines.json @@ -0,0 +1,36 @@ +{ + "_comment": "Multiple 'update_urls': The 'new'-style URL is the only way to check for S5 firmware, and in the future, the UM3 line will also switch over, but for now the old 'JEDI'-style URL is still needed.", + + "machines": + [ + { + "id": 9066, + "name": "ultimaker 3", + "check_urls": + [ + "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", + "http://software.ultimaker.com/releases/firmware/9066/stable/version.txt" + ], + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", + "version_parser": "default" + }, + { + "id": 9511, + "name": "ultimaker 3 extended", + "check_urls": + [ + "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", + "http://software.ultimaker.com/releases/firmware/9511/stable/version.txt" + ], + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", + "version_parser": "default" + }, + { + "id": 9051, + "name": "ultimaker s5", + "check_urls": ["http://software.ultimaker.com/releases/firmware/9051/stable/version.txt"], + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", + "version_parser": "default" + } + ] +} From 472d012c08f8c28a8eba29cf65baa50fa802aeda Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 11 Oct 2018 17:52:06 +0200 Subject: [PATCH 223/423] Move firmware-update-checker json-parsing to its own class (also don't repeat parsing each time). --- .../FirmwareUpdateChecker.py | 17 ++--- .../FirmwareUpdateCheckerJob.py | 51 +++----------- .../FirmwareUpdateCheckerLookup.py | 67 +++++++++++++++++++ 3 files changed, 81 insertions(+), 54 deletions(-) create mode 100644 plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 1736bb228a..223cf2d433 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -15,6 +15,7 @@ from UM.Settings.ContainerRegistry import ContainerRegistry from cura.Settings.GlobalStack import GlobalStack from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob, get_settings_key_for_machine +from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup i18n_catalog = i18nCatalog("cura") @@ -58,20 +59,12 @@ class FirmwareUpdateChecker(Extension): def lateInit(self): self._late_init = False - # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve 'raw' json. - self._machines_json = None - json_path = os.path.join(PluginRegistry.getInstance().getPluginPath("FirmwareUpdateChecker"), - "resources/machines.json") - with open(json_path, "r", encoding="utf-8") as json_file: - self._machines_json = json.load(json_file).get("machines") - if self._machines_json is None: - Logger.log('e', "Missing or inaccessible: {0}".format(json_path)) - return + self._lookups = FirmwareUpdateCheckerLookup(os.path.join(PluginRegistry.getInstance().getPluginPath( + "FirmwareUpdateChecker"), "resources/machines.json")) # Initialize the Preference called `latest_checked_firmware` that stores the last version # checked for each printer. - for machine_json in self._machines_json: - machine_id = machine_json.get("id") + for machine_id in self._lookups.getMachineIds(): Application.getInstance().getPreferences().addPreference(get_settings_key_for_machine(machine_id), "") ## Connect with software.ultimaker.com, load latest.version and check version info. @@ -90,7 +83,7 @@ class FirmwareUpdateChecker(Extension): self._name_cache.append(container_name) self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, - machines_json = self._machines_json, + lookups = self._lookups, callback = self._onActionTriggered, set_download_url_callback = self._onSetDownloadUrl) self._check_job.start() diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 336b954f5e..6d72e130b2 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -1,8 +1,6 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from enum import Enum, unique - from UM.Application import Application from UM.Message import Message from UM.Logger import Logger @@ -13,6 +11,8 @@ import urllib.request from urllib.error import URLError import codecs +from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup + from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") @@ -21,53 +21,20 @@ def get_settings_key_for_machine(machine_id: int) -> str: return "info/latest_checked_firmware_for_{0}".format(machine_id) -def default_parse_version_response(response: str) -> Version: - raw_str = response.split('\n', 1)[0].rstrip() - return Version(raw_str.split('.')) # Split it into a list; the default parsing of 'single string' is different. - - ## This job checks if there is an update available on the provided URL. class FirmwareUpdateCheckerJob(Job): STRING_ZERO_VERSION = "0.0.0" STRING_EPSILON_VERSION = "0.0.1" ZERO_VERSION = Version(STRING_ZERO_VERSION) EPSILON_VERSION = Version(STRING_EPSILON_VERSION) - JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": default_parse_version_response} - def __init__(self, container=None, silent=False, machines_json=None, callback=None, set_download_url_callback=None): + def __init__(self, container=None, silent=False, lookups:FirmwareUpdateCheckerLookup=None, callback=None, set_download_url_callback=None): super().__init__() self._container = container self.silent = silent - - # Parse all the needed lookup-tables from the '.json' file(s) in the resources folder. - # TODO: This should not be here when the merge to master is done, as it will be repeatedly recreated. - # It should be a separate object this constructor receives instead. - self._machine_ids = [] - self._machine_per_name = {} - self._parse_version_url_per_machine = {} - self._check_urls_per_machine = {} - self._redirect_user_per_machine = {} - try: - for machine_json in machines_json: - machine_id = machine_json.get("id") - machine_name = machine_json.get("name") - self._machine_ids.append(machine_id) - self._machine_per_name[machine_name] = machine_id - version_parse_function = self.JSON_NAME_TO_VERSION_PARSE_FUNCTION.get(machine_json.get("version_parser")) - if version_parse_function is None: - Logger.log('w', "No version-parse-function specified for machine {0}.".format(machine_name)) - version_parse_function = default_parse_version_response # Use default instead if nothing is found. - self._parse_version_url_per_machine[machine_id] = version_parse_function - self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see '_comment' in the .json file. - for check_url in machine_json.get("check_urls"): - self._check_urls_per_machine[machine_id].append(check_url) - self._redirect_user_per_machine[machine_id] = machine_json.get("update_url") - except: - Logger.log('e', "Couldn't parse firmware-update-check loopup-lists from file.") - self._callback = callback self._set_download_url_callback = set_download_url_callback - + self._lookups = lookups self._headers = {} # Don't set headers yet. def getUrlResponse(self, url: str) -> str: @@ -86,8 +53,8 @@ class FirmwareUpdateCheckerJob(Job): def getCurrentVersionForMachine(self, machine_id: int) -> Version: max_version = self.ZERO_VERSION - machine_urls = self._check_urls_per_machine.get(machine_id) - parse_function = self._parse_version_url_per_machine.get(machine_id) + machine_urls = self._lookups.getCheckUrlsFor(machine_id) + parse_function = self._lookups.getParseVersionUrlFor(machine_id) if machine_urls is not None and parse_function is not None: for url in machine_urls: version = parse_function(self.getUrlResponse(url)) @@ -100,7 +67,7 @@ class FirmwareUpdateCheckerJob(Job): return max_version def run(self): - if not self._machine_ids or self._machine_ids is None: + if self._lookups is None: Logger.log("e", "Can not check for a new release. URL not set!") return @@ -113,7 +80,7 @@ class FirmwareUpdateCheckerJob(Job): machine_name = self._container.definition.getName() # If it is not None, then we compare between the checked_version and the current_version - machine_id = self._machine_per_name.get(machine_name.lower()) + machine_id = self._lookups.getMachineByName(machine_name.lower()) if machine_id is not None: Logger.log("i", "You have a {0} in the printer list. Let's check the firmware!".format(machine_name)) @@ -151,7 +118,7 @@ class FirmwareUpdateCheckerJob(Job): # If we do this in a cool way, the download url should be available in the JSON file if self._set_download_url_callback: - redirect = self._redirect_user_per_machine.get(machine_id) + redirect = self._lookups.getRedirectUseror(machine_id) if redirect is not None: self._set_download_url_callback(redirect) else: diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py new file mode 100644 index 0000000000..62d43553c1 --- /dev/null +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -0,0 +1,67 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +import json, os + +from UM.Logger import Logger +from UM.Version import Version + +from UM.i18n import i18nCatalog +i18n_catalog = i18nCatalog("cura") + +def default_parse_version_response(response: str) -> Version: + raw_str = response.split('\n', 1)[0].rstrip() + return Version(raw_str.split('.')) # Split it into a list; the default parsing of 'single string' is different. + + +class FirmwareUpdateCheckerLookup: + JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": default_parse_version_response} + + def __init__(self, json_path): + # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve 'raw' json. + machines_json = None + with open(json_path, "r", encoding="utf-8") as json_file: + machines_json = json.load(json_file).get("machines") + if machines_json is None: + Logger.log('e', "Missing or inaccessible: {0}".format(json_path)) + return + + # Parse all the needed lookup-tables from the '.json' file(s) in the resources folder. + self._machine_ids = [] + self._machine_per_name = {} + self._parse_version_url_per_machine = {} + self._check_urls_per_machine = {} + self._redirect_user_per_machine = {} + try: + for machine_json in machines_json: + machine_id = machine_json.get("id") + machine_name = machine_json.get("name") + self._machine_ids.append(machine_id) + self._machine_per_name[machine_name] = machine_id + version_parse_function = \ + self.JSON_NAME_TO_VERSION_PARSE_FUNCTION.get(machine_json.get("version_parser")) + if version_parse_function is None: + Logger.log('w', "No version-parse-function specified for machine {0}.".format(machine_name)) + version_parse_function = default_parse_version_response # Use default instead if nothing is found. + self._parse_version_url_per_machine[machine_id] = version_parse_function + self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see '_comment' in the .json file. + for check_url in machine_json.get("check_urls"): + self._check_urls_per_machine[machine_id].append(check_url) + self._redirect_user_per_machine[machine_id] = machine_json.get("update_url") + except: + Logger.log('e', "Couldn't parse firmware-update-check loopup-lists from file.") + + def getMachineIds(self) -> [int]: + return self._machine_ids + + def getMachineByName(self, machine_name: str) -> int: + return self._machine_per_name.get(machine_name) + + def getParseVersionUrlFor(self, machine_id: int) -> str: + return self._parse_version_url_per_machine.get(machine_id) + + def getCheckUrlsFor(self, machine_id: int) -> [str]: + return self._check_urls_per_machine.get(machine_id) + + def getRedirectUseror(self, machine_id: int) -> str: + return self._redirect_user_per_machine.get(machine_id) From 4ecac6e27f71b9b8e6cd65aa8e96cc816c7e5428 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 11 Oct 2018 18:24:07 +0200 Subject: [PATCH 224/423] Set the right firmware-download-URL in the actual update-firmware-message. --- .../FirmwareUpdateChecker.py | 26 +++++++++---------- .../FirmwareUpdateCheckerJob.py | 19 +++----------- .../FirmwareUpdateCheckerLookup.py | 7 ++++- 3 files changed, 23 insertions(+), 29 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 223cf2d433..90590fc5a2 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -14,8 +14,8 @@ from UM.Settings.ContainerRegistry import ContainerRegistry from cura.Settings.GlobalStack import GlobalStack -from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob, get_settings_key_for_machine -from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup +from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob +from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, get_settings_key_for_machine i18n_catalog = i18nCatalog("cura") @@ -39,14 +39,15 @@ class FirmwareUpdateChecker(Extension): self._name_cache = [] ## Callback for the message that is spawned when there is a new version. - # TODO: Set the right download URL for each message! def _onActionTriggered(self, message, action): - if action == "download": - if self._download_url is not None: - QDesktopServices.openUrl(QUrl(self._download_url)) - - def _onSetDownloadUrl(self, download_url): - self._download_url = download_url + try: + download_url = self._lookups.getRedirectUserFor(int(action)) + if download_url is not None: + QDesktopServices.openUrl(QUrl(download_url)) + else: + Logger.log('e', "Can't find URL for {0}".format(action)) + except: + Logger.log('e', "Don't know what to do with {0}".format(action)) def _onContainerAdded(self, container): # Only take care when a new GlobalStack was added @@ -56,7 +57,7 @@ class FirmwareUpdateChecker(Extension): def _onJobFinished(self, *args, **kwargs): self._check_job = None - def lateInit(self): + def doLateInit(self): self._late_init = False self._lookups = FirmwareUpdateCheckerLookup(os.path.join(PluginRegistry.getInstance().getPluginPath( @@ -75,7 +76,7 @@ class FirmwareUpdateChecker(Extension): # This is used when checking for a new firmware version at startup. def checkFirmwareVersion(self, container = None, silent = False): if self._late_init: - self.lateInit() + self.doLateInit() container_name = container.definition.getName() if container_name in self._name_cache: @@ -84,7 +85,6 @@ class FirmwareUpdateChecker(Extension): self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, lookups = self._lookups, - callback = self._onActionTriggered, - set_download_url_callback = self._onSetDownloadUrl) + callback = self._onActionTriggered) self._check_job.start() self._check_job.finished.connect(self._onJobFinished) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 6d72e130b2..342287ca76 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -11,16 +11,12 @@ import urllib.request from urllib.error import URLError import codecs -from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup +from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, get_settings_key_for_machine from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") -def get_settings_key_for_machine(machine_id: int) -> str: - return "info/latest_checked_firmware_for_{0}".format(machine_id) - - ## This job checks if there is an update available on the provided URL. class FirmwareUpdateCheckerJob(Job): STRING_ZERO_VERSION = "0.0.0" @@ -28,12 +24,12 @@ class FirmwareUpdateCheckerJob(Job): ZERO_VERSION = Version(STRING_ZERO_VERSION) EPSILON_VERSION = Version(STRING_EPSILON_VERSION) - def __init__(self, container=None, silent=False, lookups:FirmwareUpdateCheckerLookup=None, callback=None, set_download_url_callback=None): + def __init__(self, container=None, silent=False, lookups:FirmwareUpdateCheckerLookup=None, callback=None): super().__init__() self._container = container self.silent = silent self._callback = callback - self._set_download_url_callback = set_download_url_callback + self._lookups = lookups self._headers = {} # Don't set headers yet. @@ -109,20 +105,13 @@ class FirmwareUpdateCheckerJob(Job): "@info:title The %s gets replaced with the printer name.", "New %s firmware available") % machine_name) - message.addAction("download", + message.addAction(machine_id, i18n_catalog.i18nc("@action:button", "How to update"), "[no_icon]", "[no_description]", button_style=Message.ActionButtonStyle.LINK, button_align=Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) - # If we do this in a cool way, the download url should be available in the JSON file - if self._set_download_url_callback: - redirect = self._lookups.getRedirectUseror(machine_id) - if redirect is not None: - self._set_download_url_callback(redirect) - else: - Logger.log('w', "No callback-url for firmware of {0}".format(repr(machine_id))) message.actionTriggered.connect(self._callback) message.show() else: diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index 62d43553c1..f2c9082f76 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -9,6 +9,11 @@ from UM.Version import Version from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") + +def get_settings_key_for_machine(machine_id: int) -> str: + return "info/latest_checked_firmware_for_{0}".format(machine_id) + + def default_parse_version_response(response: str) -> Version: raw_str = response.split('\n', 1)[0].rstrip() return Version(raw_str.split('.')) # Split it into a list; the default parsing of 'single string' is different. @@ -63,5 +68,5 @@ class FirmwareUpdateCheckerLookup: def getCheckUrlsFor(self, machine_id: int) -> [str]: return self._check_urls_per_machine.get(machine_id) - def getRedirectUseror(self, machine_id: int) -> str: + def getRedirectUserFor(self, machine_id: int) -> str: return self._redirect_user_per_machine.get(machine_id) From 6a50487bf0c2a0226650fbb96cd2bf3d0fd28db6 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 11 Oct 2018 19:16:10 +0200 Subject: [PATCH 225/423] Catch the one that got away --- plugins/USBPrinting/AvrFirmwareUpdater.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/USBPrinting/AvrFirmwareUpdater.py b/plugins/USBPrinting/AvrFirmwareUpdater.py index b8650e9208..56e3f99c23 100644 --- a/plugins/USBPrinting/AvrFirmwareUpdater.py +++ b/plugins/USBPrinting/AvrFirmwareUpdater.py @@ -22,7 +22,7 @@ class AvrFirmwareUpdater(FirmwareUpdater): def _updateFirmware(self) -> None: try: - hex_file = intelHex.readHex(self._firmware_location) + hex_file = intelHex.readHex(self._firmware_file) assert len(hex_file) > 0 except (FileNotFoundError, AssertionError): Logger.log("e", "Unable to read provided hex file. Could not update firmware.") From f2b50c748c1aea35e61de119fb3a08a28afdb295 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 11 Oct 2018 21:54:27 +0200 Subject: [PATCH 226/423] Fix typing in the FirmwareUpdateChecker plugin. --- .../FirmwareUpdateChecker.py | 14 +++++---- .../FirmwareUpdateCheckerJob.py | 5 ++-- .../FirmwareUpdateCheckerLookup.py | 30 ++++++++++--------- 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 90590fc5a2..71bdd0bc23 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -1,10 +1,12 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -import json, os +import os from PyQt5.QtCore import QUrl from PyQt5.QtGui import QDesktopServices +from typing import List + from UM.Extension import Extension from UM.Application import Application from UM.Logger import Logger @@ -19,12 +21,13 @@ from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, get_settin i18n_catalog = i18nCatalog("cura") + ## This Extension checks for new versions of the firmware based on the latest checked version number. # The plugin is currently only usable for applications maintained by Ultimaker. But it should be relatively easy # to change it to work for other applications. class FirmwareUpdateChecker(Extension): - def __init__(self): + def __init__(self) -> None: super().__init__() # Listen to a Signal that indicates a change in the list of printers, just if the user has enabled the @@ -36,7 +39,8 @@ class FirmwareUpdateChecker(Extension): self._late_init = True # Init some things after creation, since we need the path from the plugin-mgr. self._download_url = None self._check_job = None - self._name_cache = [] + self._name_cache = [] # type: List[str] + self._lookups = None ## Callback for the message that is spawned when there is a new version. def _onActionTriggered(self, message, action): @@ -46,8 +50,8 @@ class FirmwareUpdateChecker(Extension): QDesktopServices.openUrl(QUrl(download_url)) else: Logger.log('e', "Can't find URL for {0}".format(action)) - except: - Logger.log('e', "Don't know what to do with {0}".format(action)) + except Exception as ex: + Logger.log('e', "Don't know what to do with '{0}' because {1}".format(action, ex)) def _onContainerAdded(self, container): # Only take care when a new GlobalStack was added diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 342287ca76..d186cbb4e4 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -9,6 +9,7 @@ from UM.Version import Version import urllib.request from urllib.error import URLError +from typing import Dict import codecs from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, get_settings_key_for_machine @@ -24,14 +25,14 @@ class FirmwareUpdateCheckerJob(Job): ZERO_VERSION = Version(STRING_ZERO_VERSION) EPSILON_VERSION = Version(STRING_EPSILON_VERSION) - def __init__(self, container=None, silent=False, lookups:FirmwareUpdateCheckerLookup=None, callback=None): + def __init__(self, container, silent, lookups: FirmwareUpdateCheckerLookup, callback) -> None: super().__init__() self._container = container self.silent = silent self._callback = callback self._lookups = lookups - self._headers = {} # Don't set headers yet. + self._headers = {} # type:Dict[str, str] # Don't set headers yet. def getUrlResponse(self, url: str) -> str: result = self.STRING_ZERO_VERSION diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index f2c9082f76..f6d7a24da0 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -1,7 +1,9 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -import json, os +import json + +from typing import Callable, Dict, List, Optional from UM.Logger import Logger from UM.Version import Version @@ -22,7 +24,7 @@ def default_parse_version_response(response: str) -> Version: class FirmwareUpdateCheckerLookup: JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": default_parse_version_response} - def __init__(self, json_path): + def __init__(self, json_path) -> None: # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve 'raw' json. machines_json = None with open(json_path, "r", encoding="utf-8") as json_file: @@ -32,11 +34,11 @@ class FirmwareUpdateCheckerLookup: return # Parse all the needed lookup-tables from the '.json' file(s) in the resources folder. - self._machine_ids = [] - self._machine_per_name = {} - self._parse_version_url_per_machine = {} - self._check_urls_per_machine = {} - self._redirect_user_per_machine = {} + self._machine_ids = [] # type:List[int] + self._machine_per_name = {} # type:Dict[str, int] + self._parse_version_url_per_machine = {} # type:Dict[int, Callable] + self._check_urls_per_machine = {} # type:Dict[int, List[str]] + self._redirect_user_per_machine = {} # type:Dict[int, str] try: for machine_json in machines_json: machine_id = machine_json.get("id") @@ -53,20 +55,20 @@ class FirmwareUpdateCheckerLookup: for check_url in machine_json.get("check_urls"): self._check_urls_per_machine[machine_id].append(check_url) self._redirect_user_per_machine[machine_id] = machine_json.get("update_url") - except: - Logger.log('e', "Couldn't parse firmware-update-check loopup-lists from file.") + except Exception as ex: + Logger.log('e', "Couldn't parse firmware-update-check loopup-lists from file because {0}.".format(ex)) - def getMachineIds(self) -> [int]: + def getMachineIds(self) -> List[int]: return self._machine_ids - def getMachineByName(self, machine_name: str) -> int: + def getMachineByName(self, machine_name: str) -> Optional[int]: return self._machine_per_name.get(machine_name) - def getParseVersionUrlFor(self, machine_id: int) -> str: + def getParseVersionUrlFor(self, machine_id: int) -> Optional[Callable]: return self._parse_version_url_per_machine.get(machine_id) - def getCheckUrlsFor(self, machine_id: int) -> [str]: + def getCheckUrlsFor(self, machine_id: int) -> Optional[List[str]]: return self._check_urls_per_machine.get(machine_id) - def getRedirectUserFor(self, machine_id: int) -> str: + def getRedirectUserFor(self, machine_id: int) -> Optional[str]: return self._redirect_user_per_machine.get(machine_id) From 69cef98c3041244bc9edb77ffe3f8c85f517ba19 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 12 Oct 2018 10:11:46 +0200 Subject: [PATCH 227/423] FirmwareUpdateChecker: Small fixes (typing and lowercase input). --- plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py | 5 ++--- plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index d186cbb4e4..09be95597b 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -39,9 +39,8 @@ class FirmwareUpdateCheckerJob(Job): try: request = urllib.request.Request(url, headers=self._headers) - current_version_file = urllib.request.urlopen(request) - reader = codecs.getreader("utf-8") - result = reader(current_version_file).read(firstline=True) + response = urllib.request.urlopen(request) + result = response.read().decode('utf-8') except URLError: Logger.log('w', "Could not reach '{0}', if this URL is old, consider removal.".format(url)) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index f6d7a24da0..2e97a8869d 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -42,7 +42,7 @@ class FirmwareUpdateCheckerLookup: try: for machine_json in machines_json: machine_id = machine_json.get("id") - machine_name = machine_json.get("name") + machine_name = machine_json.get("name").lower() # Lower in case upper-case char are added to the json. self._machine_ids.append(machine_id) self._machine_per_name[machine_name] = machine_id version_parse_function = \ From f7bef851db0ab01d2bbd832ab3b466e17049661f Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 11:09:46 +0200 Subject: [PATCH 228/423] Remove code duplication for recreate network timer --- cura/PrinterOutput/NetworkedPrinterOutputDevice.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index d9c5707a03..f7c7f5d233 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -130,9 +130,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): # We need to check if the manager needs to be re-created. If we don't, we get some issues when OSX goes to # sleep. if time_since_last_response > self._recreate_network_manager_time: - if self._last_manager_create_time is None: - self._createNetworkManager() - elif time() - self._last_manager_create_time > self._recreate_network_manager_time: + if self._last_manager_create_time is None or time() - self._last_manager_create_time > self._recreate_network_manager_time: self._createNetworkManager() assert(self._manager is not None) elif self._connection_state == ConnectionState.closed: From ad80ea6dd47fdff1a67db98a66afa9e29202f031 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 12 Oct 2018 11:16:24 +0200 Subject: [PATCH 229/423] fix: limit to extruder of top/bottom polygon connector --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 305d841175..9da27f5040 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1221,7 +1221,7 @@ "type": "bool", "default_value": false, "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern == 'concentric'", - "limit_to_extruder": "infill_extruder_nr", + "limit_to_extruder": "top_bottom_extruder_nr", "settable_per_mesh": true }, "skin_angles": From 3c626453a69c3c66c76540d8ca2035a396c58b74 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 11:28:13 +0200 Subject: [PATCH 230/423] Fix spelling --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 9da27f5040..f17dd63c0a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1217,7 +1217,7 @@ "connect_skin_polygons": { "label": "Connect Top/Bottom Polygons", - "description": "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality.", + "description": "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality.", "type": "bool", "default_value": false, "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern == 'concentric'", From 85b835118dc91d829f7f5c31eb2b6b254f023d92 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 13:24:09 +0200 Subject: [PATCH 231/423] Log which firmware file you're about to upload Kind of critical information, really. Contributes to issue CURA-5749. --- plugins/USBPrinting/USBPrinterOutputDevice.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 36c5321180..769820d6d0 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -59,9 +59,9 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._all_baud_rates = [115200, 250000, 230400, 57600, 38400, 19200, 9600] # Instead of using a timer, we really need the update to be as a thread, as reading from serial can block. - self._update_thread = Thread(target=self._update, daemon = True) + self._update_thread = Thread(target = self._update, daemon = True) - self._update_firmware_thread = Thread(target=self._updateFirmware, daemon = True) + self._update_firmware_thread = Thread(target = self._updateFirmware, daemon = True) self._last_temperature_request = None # type: Optional[int] @@ -160,6 +160,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if self._connection_state != ConnectionState.closed: self.close() + Logger.log("i", "Uploading hex file from: {firmware_location}".format(firmware_location = self._firmware_location)) try: hex_file = intelHex.readHex(self._firmware_location) assert len(hex_file) > 0 From 287689a073befd0d4da7612d26810410b1a03ae0 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 13:25:34 +0200 Subject: [PATCH 232/423] Don't cache the automatic firmware name The QML property was not updated when you change the printer. By not caching it, it gets the current printer's firmware file upon clicking the button. Simple and effective, and not that tough on computational power that it needs caching. Contributes to issue CURA-5749. --- .../UltimakerMachineActions/UpgradeFirmwareMachineAction.qml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml index ed771d2a04..fff7d2c46f 100644 --- a/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml +++ b/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2016 Ultimaker B.V. +// Copyright (c) 2018 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 @@ -58,7 +58,6 @@ Cura.MachineAction anchors.horizontalCenter: parent.horizontalCenter width: childrenRect.width spacing: UM.Theme.getSize("default_margin").width - property var firmwareName: Cura.USBPrinterManager.getDefaultFirmwareName() Button { id: autoUpgradeButton @@ -66,7 +65,7 @@ Cura.MachineAction enabled: parent.firmwareName != "" && activeOutputDevice onClicked: { - activeOutputDevice.updateFirmware(parent.firmwareName) + activeOutputDevice.updateFirmware(Cura.USBPrinterManager.getDefaultFirmwareName()) } } Button From 99fc372b32058287e4113c211231458f1d129fae Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 14:55:13 +0200 Subject: [PATCH 233/423] Update printer information when switching global container stacks This was just evaluated once during the creating of a USB connection. But you can switch out the printer without breaking/making a USB connection, so in that case we have to update it here. Contributes to issue CURA-5749. --- cura/PrinterOutput/PrinterOutputModel.py | 2 +- plugins/USBPrinting/USBPrinterOutputDevice.py | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index f009a33178..cc9463baec 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -172,7 +172,7 @@ class PrinterOutputModel(QObject): def getController(self): return self._controller - @pyqtProperty(str, notify=nameChanged) + @pyqtProperty(str, notify = nameChanged) def name(self): return self._name diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 769820d6d0..b61a62adc0 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -273,14 +273,18 @@ class USBPrinterOutputDevice(PrinterOutputDevice): except SerialException: Logger.log("w", "An exception occured while trying to create serial connection") return - container_stack = CuraApplication.getInstance().getGlobalContainerStack() - num_extruders = container_stack.getProperty("machine_extruder_count", "value") - # Ensure that a printer is created. - self._printers = [PrinterOutputModel(output_controller=GenericOutputController(self), number_of_extruders=num_extruders)] - self._printers[0].updateName(container_stack.getName()) + CuraApplication.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerStackChanged) + self._onGlobalContainerStackChanged() self.setConnectionState(ConnectionState.connected) self._update_thread.start() + def _onGlobalContainerStackChanged(self): + container_stack = CuraApplication.getInstance().getGlobalContainerStack() + num_extruders = container_stack.getProperty("machine_extruder_count", "value") + #Ensure that a printer is created. + self._printers = [PrinterOutputModel(output_controller = GenericOutputController(self), number_of_extruders = num_extruders)] + self._printers[0].updateName(container_stack.getName()) + def close(self): super().close() if self._serial is not None: From 9e4fcd820eaf67cf431c2e2fe9a3957d6c14d4f9 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 14:56:27 +0200 Subject: [PATCH 234/423] Update outputDevice when the global container changed And directly link the active printer name to it, so that that also gets updated. With the property var it just gets evaluated upon creating the rectangle. Contributes to issue CURA-5749. --- resources/qml/PrintMonitor.qml | 2 +- resources/qml/PrinterOutput/OutputDeviceHeader.qml | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/resources/qml/PrintMonitor.qml b/resources/qml/PrintMonitor.qml index 3bfcea7025..12e95d1e89 100644 --- a/resources/qml/PrintMonitor.qml +++ b/resources/qml/PrintMonitor.qml @@ -44,7 +44,7 @@ Column Repeater { id: extrudersRepeater - model: activePrinter!=null ? activePrinter.extruders : null + model: activePrinter != null ? activePrinter.extruders : null ExtruderBox { diff --git a/resources/qml/PrinterOutput/OutputDeviceHeader.qml b/resources/qml/PrinterOutput/OutputDeviceHeader.qml index 03e6d78699..b5ed1b7b4e 100644 --- a/resources/qml/PrinterOutput/OutputDeviceHeader.qml +++ b/resources/qml/PrinterOutput/OutputDeviceHeader.qml @@ -14,11 +14,19 @@ Item implicitHeight: Math.floor(childrenRect.height + UM.Theme.getSize("default_margin").height * 2) property var outputDevice: null + Connections + { + target: Cura.MachineManager + onGlobalContainerChanged: + { + outputDevice = Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null; + } + } + Rectangle { height: childrenRect.height color: UM.Theme.getColor("setting_category") - property var activePrinter: outputDevice != null ? outputDevice.activePrinter : null Label { @@ -28,7 +36,7 @@ Item anchors.left: parent.left anchors.top: parent.top anchors.margins: UM.Theme.getSize("default_margin").width - text: outputDevice != null ? activePrinter.name : "" + text: outputDevice != null ? outputDevice.activePrinter.name : "" } Label From 6ac10db58248a3e0492b112ab816f39a9278a24f Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 15:37:43 +0200 Subject: [PATCH 235/423] Code style: Use double quotes for strings Contributes to issue CURA-5483. --- .../FirmwareUpdateChecker.py | 8 ++++---- .../FirmwareUpdateCheckerJob.py | 12 ++++++------ .../FirmwareUpdateCheckerLookup.py | 16 ++++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 71bdd0bc23..e030d8f796 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import os @@ -31,7 +31,7 @@ class FirmwareUpdateChecker(Extension): super().__init__() # Listen to a Signal that indicates a change in the list of printers, just if the user has enabled the - # 'check for updates' option + # "check for updates" option Application.getInstance().getPreferences().addPreference("info/automatic_update_check", True) if Application.getInstance().getPreferences().getValue("info/automatic_update_check"): ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) @@ -49,9 +49,9 @@ class FirmwareUpdateChecker(Extension): if download_url is not None: QDesktopServices.openUrl(QUrl(download_url)) else: - Logger.log('e', "Can't find URL for {0}".format(action)) + Logger.log("e", "Can't find URL for {0}".format(action)) except Exception as ex: - Logger.log('e', "Don't know what to do with '{0}' because {1}".format(action, ex)) + Logger.log("e", "Don't know what to do with '{0}' because {1}".format(action, ex)) def _onContainerAdded(self, container): # Only take care when a new GlobalStack was added diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 09be95597b..41cc2358c1 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -40,9 +40,9 @@ class FirmwareUpdateCheckerJob(Job): try: request = urllib.request.Request(url, headers=self._headers) response = urllib.request.urlopen(request) - result = response.read().decode('utf-8') + result = response.read().decode("utf-8") except URLError: - Logger.log('w', "Could not reach '{0}', if this URL is old, consider removal.".format(url)) + Logger.log("w", "Could not reach '{0}', if this URL is old, consider removal.".format(url)) return result @@ -58,7 +58,7 @@ class FirmwareUpdateCheckerJob(Job): max_version = version if max_version < self.EPSILON_VERSION: - Logger.log('w', "MachineID {0} not handled!".format(repr(machine_id))) + Logger.log("w", "MachineID {0} not handled!".format(repr(machine_id))) return max_version @@ -82,11 +82,11 @@ class FirmwareUpdateCheckerJob(Job): current_version = self.getCurrentVersionForMachine(machine_id) - # If it is the first time the version is checked, the checked_version is '' + # If it is the first time the version is checked, the checked_version is "" setting_key_str = get_settings_key_for_machine(machine_id) checked_version = Version(Application.getInstance().getPreferences().getValue(setting_key_str)) - # If the checked_version is '', it's because is the first time we check firmware and in this case + # If the checked_version is "", it's because is the first time we check firmware and in this case # we will not show the notification, but we will store it for the next time Application.getInstance().getPreferences().setValue(setting_key_str, current_version) Logger.log("i", "Reading firmware version of %s: checked = %s - latest = %s", machine_name, checked_version, current_version) @@ -115,7 +115,7 @@ class FirmwareUpdateCheckerJob(Job): message.actionTriggered.connect(self._callback) message.show() else: - Logger.log('i', "No machine with name {0} in list of firmware to check.".format(machine_name)) + Logger.log("i", "No machine with name {0} in list of firmware to check.".format(machine_name)) except Exception as e: Logger.log("w", "Failed to check for new version: %s", e) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index 2e97a8869d..ec8e7cc073 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -17,23 +17,23 @@ def get_settings_key_for_machine(machine_id: int) -> str: def default_parse_version_response(response: str) -> Version: - raw_str = response.split('\n', 1)[0].rstrip() - return Version(raw_str.split('.')) # Split it into a list; the default parsing of 'single string' is different. + raw_str = response.split("\n", 1)[0].rstrip() + return Version(raw_str.split(".")) # Split it into a list; the default parsing of "single string" is different. class FirmwareUpdateCheckerLookup: JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": default_parse_version_response} def __init__(self, json_path) -> None: - # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve 'raw' json. + # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve "raw" json. machines_json = None with open(json_path, "r", encoding="utf-8") as json_file: machines_json = json.load(json_file).get("machines") if machines_json is None: - Logger.log('e', "Missing or inaccessible: {0}".format(json_path)) + Logger.log("e", "Missing or inaccessible: {0}".format(json_path)) return - # Parse all the needed lookup-tables from the '.json' file(s) in the resources folder. + # Parse all the needed lookup-tables from the ".json" file(s) in the resources folder. self._machine_ids = [] # type:List[int] self._machine_per_name = {} # type:Dict[str, int] self._parse_version_url_per_machine = {} # type:Dict[int, Callable] @@ -48,15 +48,15 @@ class FirmwareUpdateCheckerLookup: version_parse_function = \ self.JSON_NAME_TO_VERSION_PARSE_FUNCTION.get(machine_json.get("version_parser")) if version_parse_function is None: - Logger.log('w', "No version-parse-function specified for machine {0}.".format(machine_name)) + Logger.log("w", "No version-parse-function specified for machine {0}.".format(machine_name)) version_parse_function = default_parse_version_response # Use default instead if nothing is found. self._parse_version_url_per_machine[machine_id] = version_parse_function - self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see '_comment' in the .json file. + self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see "_comment" in the .json file. for check_url in machine_json.get("check_urls"): self._check_urls_per_machine[machine_id].append(check_url) self._redirect_user_per_machine[machine_id] = machine_json.get("update_url") except Exception as ex: - Logger.log('e', "Couldn't parse firmware-update-check loopup-lists from file because {0}.".format(ex)) + Logger.log("e", "Couldn't parse firmware-update-check loopup-lists from file because {0}.".format(ex)) def getMachineIds(self) -> List[int]: return self._machine_ids From e3b05f086740b0faba00d13a21ab5d3a23a0c224 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 16:46:39 +0200 Subject: [PATCH 236/423] Code style: Spaces around binary operators Also removed the unused machines_json value. Contributes to issue CURA-5483. --- .../FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py | 10 +++++----- .../FirmwareUpdateCheckerLookup.py | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 41cc2358c1..ee5eaac25b 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -38,7 +38,7 @@ class FirmwareUpdateCheckerJob(Job): result = self.STRING_ZERO_VERSION try: - request = urllib.request.Request(url, headers=self._headers) + request = urllib.request.Request(url, headers = self._headers) response = urllib.request.urlopen(request) result = response.read().decode("utf-8") except URLError: @@ -100,8 +100,8 @@ class FirmwareUpdateCheckerJob(Job): message = Message(i18n_catalog.i18nc( "@info Don't translate {machine_name}, since it gets replaced by a printer name!", "New features are available for your {machine_name}! It is recommended to update the firmware on your printer.").format( - machine_name=machine_name), - title=i18n_catalog.i18nc( + machine_name = machine_name), + title = i18n_catalog.i18nc( "@info:title The %s gets replaced with the printer name.", "New %s firmware available") % machine_name) @@ -109,8 +109,8 @@ class FirmwareUpdateCheckerJob(Job): i18n_catalog.i18nc("@action:button", "How to update"), "[no_icon]", "[no_description]", - button_style=Message.ActionButtonStyle.LINK, - button_align=Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) + button_style = Message.ActionButtonStyle.LINK, + button_align = Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) message.actionTriggered.connect(self._callback) message.show() diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index ec8e7cc073..e283d58b2b 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -26,8 +26,7 @@ class FirmwareUpdateCheckerLookup: def __init__(self, json_path) -> None: # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve "raw" json. - machines_json = None - with open(json_path, "r", encoding="utf-8") as json_file: + with open(json_path, "r", encoding = "utf-8") as json_file: machines_json = json.load(json_file).get("machines") if machines_json is None: Logger.log("e", "Missing or inaccessible: {0}".format(json_path)) From 1b7055f0f39f339f8bd1d4801203732ed8b1d318 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 12 Oct 2018 17:03:48 +0200 Subject: [PATCH 237/423] Fix spelling of error message Loopup -> Lookup. Contributes to issue CURA-5483. --- plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index e283d58b2b..6d96ee36bb 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -55,7 +55,7 @@ class FirmwareUpdateCheckerLookup: self._check_urls_per_machine[machine_id].append(check_url) self._redirect_user_per_machine[machine_id] = machine_json.get("update_url") except Exception as ex: - Logger.log("e", "Couldn't parse firmware-update-check loopup-lists from file because {0}.".format(ex)) + Logger.log("e", "Couldn't parse firmware-update-check lookup-lists from file because {0}.".format(ex)) def getMachineIds(self) -> List[int]: return self._machine_ids From 6cf2e89f6b37b5d077d20b8e8dae2dd81c97c18c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Sat, 13 Oct 2018 16:40:26 +0200 Subject: [PATCH 238/423] Document CameraImageProvider Makes it easier than looking up the Qt documentation online. --- cura/CameraImageProvider.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cura/CameraImageProvider.py b/cura/CameraImageProvider.py index 6a07f6b029..edb0f205c7 100644 --- a/cura/CameraImageProvider.py +++ b/cura/CameraImageProvider.py @@ -1,15 +1,26 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + from PyQt5.QtGui import QImage from PyQt5.QtQuick import QQuickImageProvider from PyQt5.QtCore import QSize from UM.Application import Application - +## Creates screenshots of the current scene. class CameraImageProvider(QQuickImageProvider): def __init__(self): super().__init__(QQuickImageProvider.Image) ## Request a new image. + # + # The image will be taken using the current camera position. + # Only the actual objects in the scene will get rendered. Not the build + # plate and such! + # \param id The ID for the image to create. This is the requested image + # source, with the "image:" scheme and provider identifier removed. It's + # a Qt thing, they'll provide this parameter. + # \param size The dimensions of the image to scale to. def requestImage(self, id, size): for output_device in Application.getInstance().getOutputDeviceManager().getOutputDevices(): try: From 60408c14bcac5aac9ac8b623f1d455b06032cd09 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Sat, 13 Oct 2018 19:21:22 +0200 Subject: [PATCH 239/423] FirmwareUpdateChecker: Small refactors due to code review. --- .../FirmwareUpdateChecker.py | 33 ++++++++++--------- .../FirmwareUpdateCheckerJob.py | 6 ++-- .../FirmwareUpdateCheckerLookup.py | 10 +++--- .../resources/machines.json | 2 +- 4 files changed, 27 insertions(+), 24 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index e030d8f796..61604ff78b 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -5,19 +5,20 @@ import os from PyQt5.QtCore import QUrl from PyQt5.QtGui import QDesktopServices -from typing import List +from typing import Set from UM.Extension import Extension from UM.Application import Application from UM.Logger import Logger from UM.PluginRegistry import PluginRegistry +from UM.Qt.QtApplication import QtApplication from UM.i18n import i18nCatalog from UM.Settings.ContainerRegistry import ContainerRegistry from cura.Settings.GlobalStack import GlobalStack from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob -from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, get_settings_key_for_machine +from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, getSettingsKeyForMachine i18n_catalog = i18nCatalog("cura") @@ -36,22 +37,23 @@ class FirmwareUpdateChecker(Extension): if Application.getInstance().getPreferences().getValue("info/automatic_update_check"): ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) - self._late_init = True # Init some things after creation, since we need the path from the plugin-mgr. + # Partly initialize after creation, since we need our own path from the plugin-manager. self._download_url = None self._check_job = None - self._name_cache = [] # type: List[str] + self._checked_printer_names = [] # type: Set[str] self._lookups = None + QtApplication.pluginsLoaded.connect(self._onPluginsLoaded) ## Callback for the message that is spawned when there is a new version. def _onActionTriggered(self, message, action): - try: download_url = self._lookups.getRedirectUserFor(int(action)) if download_url is not None: - QDesktopServices.openUrl(QUrl(download_url)) + if QDesktopServices.openUrl(QUrl(download_url)): + Logger.log("i", "Redirected browser to {0} to show newly available firmware.".format(download_url)) + else: + Logger.log("e", "Can't reach URL: {0}".format(download_url)) else: Logger.log("e", "Can't find URL for {0}".format(action)) - except Exception as ex: - Logger.log("e", "Don't know what to do with '{0}' because {1}".format(action, ex)) def _onContainerAdded(self, container): # Only take care when a new GlobalStack was added @@ -61,8 +63,9 @@ class FirmwareUpdateChecker(Extension): def _onJobFinished(self, *args, **kwargs): self._check_job = None - def doLateInit(self): - self._late_init = False + def _onPluginsLoaded(self): + if self._lookups is not None: + return self._lookups = FirmwareUpdateCheckerLookup(os.path.join(PluginRegistry.getInstance().getPluginPath( "FirmwareUpdateChecker"), "resources/machines.json")) @@ -70,7 +73,7 @@ class FirmwareUpdateChecker(Extension): # Initialize the Preference called `latest_checked_firmware` that stores the last version # checked for each printer. for machine_id in self._lookups.getMachineIds(): - Application.getInstance().getPreferences().addPreference(get_settings_key_for_machine(machine_id), "") + Application.getInstance().getPreferences().addPreference(getSettingsKeyForMachine(machine_id), "") ## Connect with software.ultimaker.com, load latest.version and check version info. # If the version info is different from the current version, spawn a message to @@ -79,13 +82,13 @@ class FirmwareUpdateChecker(Extension): # \param silent type(boolean) Suppresses messages other than "new version found" messages. # This is used when checking for a new firmware version at startup. def checkFirmwareVersion(self, container = None, silent = False): - if self._late_init: - self.doLateInit() + if self._lookups is None: + self._onPluginsLoaded() container_name = container.definition.getName() - if container_name in self._name_cache: + if container_name in self._checked_printer_names: return - self._name_cache.append(container_name) + self._checked_printer_names.append(container_name) self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, lookups = self._lookups, diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index ee5eaac25b..5bb9d076b6 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -12,7 +12,7 @@ from urllib.error import URLError from typing import Dict import codecs -from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, get_settings_key_for_machine +from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, getSettingsKeyForMachine from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") @@ -78,12 +78,12 @@ class FirmwareUpdateCheckerJob(Job): # If it is not None, then we compare between the checked_version and the current_version machine_id = self._lookups.getMachineByName(machine_name.lower()) if machine_id is not None: - Logger.log("i", "You have a {0} in the printer list. Let's check the firmware!".format(machine_name)) + Logger.log("i", "You have a(n) {0} in the printer list. Let's check the firmware!".format(machine_name)) current_version = self.getCurrentVersionForMachine(machine_id) # If it is the first time the version is checked, the checked_version is "" - setting_key_str = get_settings_key_for_machine(machine_id) + setting_key_str = getSettingsKeyForMachine(machine_id) checked_version = Version(Application.getInstance().getPreferences().getValue(setting_key_str)) # If the checked_version is "", it's because is the first time we check firmware and in this case diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index 6d96ee36bb..ceecef61ba 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -12,17 +12,17 @@ from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") -def get_settings_key_for_machine(machine_id: int) -> str: +def getSettingsKeyForMachine(machine_id: int) -> str: return "info/latest_checked_firmware_for_{0}".format(machine_id) -def default_parse_version_response(response: str) -> Version: +def defaultParseVersionResponse(response: str) -> Version: raw_str = response.split("\n", 1)[0].rstrip() - return Version(raw_str.split(".")) # Split it into a list; the default parsing of "single string" is different. + return Version(raw_str) class FirmwareUpdateCheckerLookup: - JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": default_parse_version_response} + JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": defaultParseVersionResponse} def __init__(self, json_path) -> None: # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve "raw" json. @@ -48,7 +48,7 @@ class FirmwareUpdateCheckerLookup: self.JSON_NAME_TO_VERSION_PARSE_FUNCTION.get(machine_json.get("version_parser")) if version_parse_function is None: Logger.log("w", "No version-parse-function specified for machine {0}.".format(machine_name)) - version_parse_function = default_parse_version_response # Use default instead if nothing is found. + version_parse_function = defaultParseVersionResponse # Use default instead if nothing is found. self._parse_version_url_per_machine[machine_id] = version_parse_function self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see "_comment" in the .json file. for check_url in machine_json.get("check_urls"): diff --git a/plugins/FirmwareUpdateChecker/resources/machines.json b/plugins/FirmwareUpdateChecker/resources/machines.json index 5dc9aadbbf..ee072f75c3 100644 --- a/plugins/FirmwareUpdateChecker/resources/machines.json +++ b/plugins/FirmwareUpdateChecker/resources/machines.json @@ -1,5 +1,5 @@ { - "_comment": "Multiple 'update_urls': The 'new'-style URL is the only way to check for S5 firmware, and in the future, the UM3 line will also switch over, but for now the old 'JEDI'-style URL is still needed.", + "_comment": "There are multiple 'check_urls', because sometimes an URL is about to be phased out, and it's useful to have a new 'future-proof' one at the ready.", "machines": [ From 8c71a8855c9f80ce0beb5daad6bd643633db010b Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Sat, 13 Oct 2018 19:36:11 +0200 Subject: [PATCH 240/423] FirmwareUpdateChecker: Remove superfluous 'version_parser' as a setting, since it broke lean principles. --- .../FirmwareUpdateCheckerJob.py | 9 ++++++--- .../FirmwareUpdateCheckerLookup.py | 12 ------------ .../FirmwareUpdateChecker/resources/machines.json | 9 +++------ 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 5bb9d076b6..a873f17d61 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -46,14 +46,17 @@ class FirmwareUpdateCheckerJob(Job): return result + def parseVersionResponse(self, response: str) -> Version: + raw_str = response.split("\n", 1)[0].rstrip() + return Version(raw_str) + def getCurrentVersionForMachine(self, machine_id: int) -> Version: max_version = self.ZERO_VERSION machine_urls = self._lookups.getCheckUrlsFor(machine_id) - parse_function = self._lookups.getParseVersionUrlFor(machine_id) - if machine_urls is not None and parse_function is not None: + if machine_urls is not None: for url in machine_urls: - version = parse_function(self.getUrlResponse(url)) + version = self.parseVersionResponse(self.getUrlResponse(url)) if version > max_version: max_version = version diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index ceecef61ba..4813e3ecbb 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -16,13 +16,7 @@ def getSettingsKeyForMachine(machine_id: int) -> str: return "info/latest_checked_firmware_for_{0}".format(machine_id) -def defaultParseVersionResponse(response: str) -> Version: - raw_str = response.split("\n", 1)[0].rstrip() - return Version(raw_str) - - class FirmwareUpdateCheckerLookup: - JSON_NAME_TO_VERSION_PARSE_FUNCTION = {"default": defaultParseVersionResponse} def __init__(self, json_path) -> None: # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve "raw" json. @@ -44,12 +38,6 @@ class FirmwareUpdateCheckerLookup: machine_name = machine_json.get("name").lower() # Lower in case upper-case char are added to the json. self._machine_ids.append(machine_id) self._machine_per_name[machine_name] = machine_id - version_parse_function = \ - self.JSON_NAME_TO_VERSION_PARSE_FUNCTION.get(machine_json.get("version_parser")) - if version_parse_function is None: - Logger.log("w", "No version-parse-function specified for machine {0}.".format(machine_name)) - version_parse_function = defaultParseVersionResponse # Use default instead if nothing is found. - self._parse_version_url_per_machine[machine_id] = version_parse_function self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see "_comment" in the .json file. for check_url in machine_json.get("check_urls"): self._check_urls_per_machine[machine_id].append(check_url) diff --git a/plugins/FirmwareUpdateChecker/resources/machines.json b/plugins/FirmwareUpdateChecker/resources/machines.json index ee072f75c3..d9eaad0abf 100644 --- a/plugins/FirmwareUpdateChecker/resources/machines.json +++ b/plugins/FirmwareUpdateChecker/resources/machines.json @@ -11,8 +11,7 @@ "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", "http://software.ultimaker.com/releases/firmware/9066/stable/version.txt" ], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", - "version_parser": "default" + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" }, { "id": 9511, @@ -22,15 +21,13 @@ "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", "http://software.ultimaker.com/releases/firmware/9511/stable/version.txt" ], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", - "version_parser": "default" + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" }, { "id": 9051, "name": "ultimaker s5", "check_urls": ["http://software.ultimaker.com/releases/firmware/9051/stable/version.txt"], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware", - "version_parser": "default" + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" } ] } From 931143ceaabe02f88bd4f0eca7357ed494733c0c Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Sat, 13 Oct 2018 20:05:20 +0200 Subject: [PATCH 241/423] Added FirmwareUpdateCheckerMessage, so no variables have to be hidden in the action of a plain Message. --- .../FirmwareUpdateChecker.py | 11 ++++--- .../FirmwareUpdateCheckerJob.py | 19 ++---------- .../FirmwareUpdateCheckerLookup.py | 1 - .../FirmwareUpdateCheckerMessage.py | 31 +++++++++++++++++++ 4 files changed, 40 insertions(+), 22 deletions(-) create mode 100644 plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 61604ff78b..8c0ea1bea2 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -19,6 +19,7 @@ from cura.Settings.GlobalStack import GlobalStack from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, getSettingsKeyForMachine +from .FirmwareUpdateCheckerMessage import FirmwareUpdateCheckerMessage i18n_catalog = i18nCatalog("cura") @@ -40,20 +41,22 @@ class FirmwareUpdateChecker(Extension): # Partly initialize after creation, since we need our own path from the plugin-manager. self._download_url = None self._check_job = None - self._checked_printer_names = [] # type: Set[str] + self._checked_printer_names = set() # type: Set[str] self._lookups = None QtApplication.pluginsLoaded.connect(self._onPluginsLoaded) ## Callback for the message that is spawned when there is a new version. def _onActionTriggered(self, message, action): - download_url = self._lookups.getRedirectUserFor(int(action)) + if action == FirmwareUpdateCheckerMessage.STR_ACTION_DOWNLOAD: + machine_id = message.getMachineId() + download_url = self._lookups.getRedirectUserFor(machine_id) if download_url is not None: if QDesktopServices.openUrl(QUrl(download_url)): Logger.log("i", "Redirected browser to {0} to show newly available firmware.".format(download_url)) else: Logger.log("e", "Can't reach URL: {0}".format(download_url)) else: - Logger.log("e", "Can't find URL for {0}".format(action)) + Logger.log("e", "Can't find URL for {0}".format(machine_id)) def _onContainerAdded(self, container): # Only take care when a new GlobalStack was added @@ -88,7 +91,7 @@ class FirmwareUpdateChecker(Extension): container_name = container.definition.getName() if container_name in self._checked_printer_names: return - self._checked_printer_names.append(container_name) + self._checked_printer_names.add(container_name) self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, lookups = self._lookups, diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index a873f17d61..f39f4c8cea 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -10,9 +10,9 @@ from UM.Version import Version import urllib.request from urllib.error import URLError from typing import Dict -import codecs from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, getSettingsKeyForMachine +from .FirmwareUpdateCheckerMessage import FirmwareUpdateCheckerMessage from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") @@ -99,22 +99,7 @@ class FirmwareUpdateCheckerJob(Job): # notify the user when no new firmware version is available. if (checked_version != "") and (checked_version != current_version): Logger.log("i", "SHOWING FIRMWARE UPDATE MESSAGE") - - message = Message(i18n_catalog.i18nc( - "@info Don't translate {machine_name}, since it gets replaced by a printer name!", - "New features are available for your {machine_name}! It is recommended to update the firmware on your printer.").format( - machine_name = machine_name), - title = i18n_catalog.i18nc( - "@info:title The %s gets replaced with the printer name.", - "New %s firmware available") % machine_name) - - message.addAction(machine_id, - i18n_catalog.i18nc("@action:button", "How to update"), - "[no_icon]", - "[no_description]", - button_style = Message.ActionButtonStyle.LINK, - button_align = Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) - + message = FirmwareUpdateCheckerMessage(machine_id, machine_name) message.actionTriggered.connect(self._callback) message.show() else: diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index 4813e3ecbb..ff4e9ce73d 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -6,7 +6,6 @@ import json from typing import Callable, Dict, List, Optional from UM.Logger import Logger -from UM.Version import Version from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py new file mode 100644 index 0000000000..0f13796c29 --- /dev/null +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py @@ -0,0 +1,31 @@ + +from UM.i18n import i18nCatalog +from UM.Message import Message + +i18n_catalog = i18nCatalog("cura") + + +# Make a separate class, since we need an extra field: The machine-id that this message is about. +class FirmwareUpdateCheckerMessage(Message): + STR_ACTION_DOWNLOAD = "download" + + def __init__(self, machine_id: int, machine_name: str) -> None: + super().__init__(i18n_catalog.i18nc( + "@info Don't translate {machine_name}, since it gets replaced by a printer name!", + "New features are available for your {machine_name}! It is recommended to update the firmware on your printer.").format( + machine_name=machine_name), + title=i18n_catalog.i18nc( + "@info:title The %s gets replaced with the printer name.", + "New %s firmware available") % machine_name) + + self._machine_id = machine_id + + self.addAction(self.STR_ACTION_DOWNLOAD, + i18n_catalog.i18nc("@action:button", "How to update"), + "[no_icon]", + "[no_description]", + button_style=Message.ActionButtonStyle.LINK, + button_align=Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) + + def getMachineId(self) -> int: + return self._machine_id From 2e3abbc9044c82e5dc858f52e34d027b0cbee10c Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Sat, 13 Oct 2018 21:55:33 +0200 Subject: [PATCH 242/423] Put the firmware-update meta-data in the 'normal' printer definitions and make the code handle that. --- .../FirmwareUpdateChecker.py | 31 +++------- .../FirmwareUpdateCheckerJob.py | 30 ++++++---- .../FirmwareUpdateCheckerLookup.py | 57 ++++++------------- .../FirmwareUpdateCheckerMessage.py | 6 +- .../resources/machines.json | 33 ----------- resources/definitions/ultimaker3.def.json | 11 +++- .../definitions/ultimaker3_extended.def.json | 11 +++- resources/definitions/ultimaker_s5.def.json | 7 ++- 8 files changed, 73 insertions(+), 113 deletions(-) delete mode 100644 plugins/FirmwareUpdateChecker/resources/machines.json diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py index 8c0ea1bea2..415931b7ec 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateChecker.py @@ -10,15 +10,12 @@ from typing import Set from UM.Extension import Extension from UM.Application import Application from UM.Logger import Logger -from UM.PluginRegistry import PluginRegistry -from UM.Qt.QtApplication import QtApplication from UM.i18n import i18nCatalog from UM.Settings.ContainerRegistry import ContainerRegistry from cura.Settings.GlobalStack import GlobalStack from .FirmwareUpdateCheckerJob import FirmwareUpdateCheckerJob -from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, getSettingsKeyForMachine from .FirmwareUpdateCheckerMessage import FirmwareUpdateCheckerMessage i18n_catalog = i18nCatalog("cura") @@ -38,18 +35,14 @@ class FirmwareUpdateChecker(Extension): if Application.getInstance().getPreferences().getValue("info/automatic_update_check"): ContainerRegistry.getInstance().containerAdded.connect(self._onContainerAdded) - # Partly initialize after creation, since we need our own path from the plugin-manager. - self._download_url = None self._check_job = None self._checked_printer_names = set() # type: Set[str] - self._lookups = None - QtApplication.pluginsLoaded.connect(self._onPluginsLoaded) ## Callback for the message that is spawned when there is a new version. def _onActionTriggered(self, message, action): if action == FirmwareUpdateCheckerMessage.STR_ACTION_DOWNLOAD: machine_id = message.getMachineId() - download_url = self._lookups.getRedirectUserFor(machine_id) + download_url = message.getDownloadUrl() if download_url is not None: if QDesktopServices.openUrl(QUrl(download_url)): Logger.log("i", "Redirected browser to {0} to show newly available firmware.".format(download_url)) @@ -66,18 +59,6 @@ class FirmwareUpdateChecker(Extension): def _onJobFinished(self, *args, **kwargs): self._check_job = None - def _onPluginsLoaded(self): - if self._lookups is not None: - return - - self._lookups = FirmwareUpdateCheckerLookup(os.path.join(PluginRegistry.getInstance().getPluginPath( - "FirmwareUpdateChecker"), "resources/machines.json")) - - # Initialize the Preference called `latest_checked_firmware` that stores the last version - # checked for each printer. - for machine_id in self._lookups.getMachineIds(): - Application.getInstance().getPreferences().addPreference(getSettingsKeyForMachine(machine_id), "") - ## Connect with software.ultimaker.com, load latest.version and check version info. # If the version info is different from the current version, spawn a message to # allow the user to download it. @@ -85,16 +66,18 @@ class FirmwareUpdateChecker(Extension): # \param silent type(boolean) Suppresses messages other than "new version found" messages. # This is used when checking for a new firmware version at startup. def checkFirmwareVersion(self, container = None, silent = False): - if self._lookups is None: - self._onPluginsLoaded() - container_name = container.definition.getName() if container_name in self._checked_printer_names: return self._checked_printer_names.add(container_name) + metadata = container.definition.getMetaData().get("firmware_update_info") + if metadata is None: + Logger.log("i", "No machine with name {0} in list of firmware to check.".format(container_name)) + return + self._check_job = FirmwareUpdateCheckerJob(container = container, silent = silent, - lookups = self._lookups, + machine_name = container_name, metadata = metadata, callback = self._onActionTriggered) self._check_job.start() self._check_job.finished.connect(self._onJobFinished) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index f39f4c8cea..2e15208336 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -9,7 +9,7 @@ from UM.Version import Version import urllib.request from urllib.error import URLError -from typing import Dict +from typing import Dict, Optional from .FirmwareUpdateCheckerLookup import FirmwareUpdateCheckerLookup, getSettingsKeyForMachine from .FirmwareUpdateCheckerMessage import FirmwareUpdateCheckerMessage @@ -25,13 +25,15 @@ class FirmwareUpdateCheckerJob(Job): ZERO_VERSION = Version(STRING_ZERO_VERSION) EPSILON_VERSION = Version(STRING_EPSILON_VERSION) - def __init__(self, container, silent, lookups: FirmwareUpdateCheckerLookup, callback) -> None: + def __init__(self, container, silent, machine_name, metadata, callback) -> None: super().__init__() self._container = container self.silent = silent self._callback = callback - self._lookups = lookups + self._machine_name = machine_name + self._metadata = metadata + self._lookups = None # type:Optional[FirmwareUpdateCheckerLookup] self._headers = {} # type:Dict[str, str] # Don't set headers yet. def getUrlResponse(self, url: str) -> str: @@ -50,10 +52,12 @@ class FirmwareUpdateCheckerJob(Job): raw_str = response.split("\n", 1)[0].rstrip() return Version(raw_str) - def getCurrentVersionForMachine(self, machine_id: int) -> Version: + def getCurrentVersion(self) -> Version: max_version = self.ZERO_VERSION + if self._lookups is None: + return max_version - machine_urls = self._lookups.getCheckUrlsFor(machine_id) + machine_urls = self._lookups.getCheckUrls() if machine_urls is not None: for url in machine_urls: version = self.parseVersionResponse(self.getUrlResponse(url)) @@ -61,16 +65,20 @@ class FirmwareUpdateCheckerJob(Job): max_version = version if max_version < self.EPSILON_VERSION: - Logger.log("w", "MachineID {0} not handled!".format(repr(machine_id))) + Logger.log("w", "MachineID {0} not handled!".format(self._lookups.getMachineName())) return max_version def run(self): if self._lookups is None: - Logger.log("e", "Can not check for a new release. URL not set!") - return + self._lookups = FirmwareUpdateCheckerLookup(self._machine_name, self._metadata) try: + # Initialize a Preference that stores the last version checked for this printer. + Application.getInstance().getPreferences().addPreference( + getSettingsKeyForMachine(self._lookups.getMachineId()), "") + + # Get headers application_name = Application.getInstance().getApplicationName() application_version = Application.getInstance().getVersion() self._headers = {"User-Agent": "%s - %s" % (application_name, application_version)} @@ -79,11 +87,11 @@ class FirmwareUpdateCheckerJob(Job): machine_name = self._container.definition.getName() # If it is not None, then we compare between the checked_version and the current_version - machine_id = self._lookups.getMachineByName(machine_name.lower()) + machine_id = self._lookups.getMachineId() if machine_id is not None: Logger.log("i", "You have a(n) {0} in the printer list. Let's check the firmware!".format(machine_name)) - current_version = self.getCurrentVersionForMachine(machine_id) + current_version = self.getCurrentVersion() # If it is the first time the version is checked, the checked_version is "" setting_key_str = getSettingsKeyForMachine(machine_id) @@ -99,7 +107,7 @@ class FirmwareUpdateCheckerJob(Job): # notify the user when no new firmware version is available. if (checked_version != "") and (checked_version != current_version): Logger.log("i", "SHOWING FIRMWARE UPDATE MESSAGE") - message = FirmwareUpdateCheckerMessage(machine_id, machine_name) + message = FirmwareUpdateCheckerMessage(machine_id, machine_name, self._lookups.getRedirectUserUrl()) message.actionTriggered.connect(self._callback) message.show() else: diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py index ff4e9ce73d..a21ad3f0e5 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerLookup.py @@ -1,11 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -import json - -from typing import Callable, Dict, List, Optional - -from UM.Logger import Logger +from typing import List, Optional from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") @@ -17,44 +13,23 @@ def getSettingsKeyForMachine(machine_id: int) -> str: class FirmwareUpdateCheckerLookup: - def __init__(self, json_path) -> None: - # Open the .json file with the needed lookup-lists for each machine(/model) and retrieve "raw" json. - with open(json_path, "r", encoding = "utf-8") as json_file: - machines_json = json.load(json_file).get("machines") - if machines_json is None: - Logger.log("e", "Missing or inaccessible: {0}".format(json_path)) - return - + def __init__(self, machine_name, machine_json) -> None: # Parse all the needed lookup-tables from the ".json" file(s) in the resources folder. - self._machine_ids = [] # type:List[int] - self._machine_per_name = {} # type:Dict[str, int] - self._parse_version_url_per_machine = {} # type:Dict[int, Callable] - self._check_urls_per_machine = {} # type:Dict[int, List[str]] - self._redirect_user_per_machine = {} # type:Dict[int, str] - try: - for machine_json in machines_json: - machine_id = machine_json.get("id") - machine_name = machine_json.get("name").lower() # Lower in case upper-case char are added to the json. - self._machine_ids.append(machine_id) - self._machine_per_name[machine_name] = machine_id - self._check_urls_per_machine[machine_id] = [] # Multiple check-urls: see "_comment" in the .json file. - for check_url in machine_json.get("check_urls"): - self._check_urls_per_machine[machine_id].append(check_url) - self._redirect_user_per_machine[machine_id] = machine_json.get("update_url") - except Exception as ex: - Logger.log("e", "Couldn't parse firmware-update-check lookup-lists from file because {0}.".format(ex)) + self._machine_id = machine_json.get("id") + self._machine_name = machine_name.lower() # Lower in-case upper-case chars are added to the original json. + self._check_urls = [] # type:List[str] + for check_url in machine_json.get("check_urls"): + self._check_urls.append(check_url) + self._redirect_user = machine_json.get("update_url") - def getMachineIds(self) -> List[int]: - return self._machine_ids + def getMachineId(self) -> Optional[int]: + return self._machine_id - def getMachineByName(self, machine_name: str) -> Optional[int]: - return self._machine_per_name.get(machine_name) + def getMachineName(self) -> Optional[int]: + return self._machine_name - def getParseVersionUrlFor(self, machine_id: int) -> Optional[Callable]: - return self._parse_version_url_per_machine.get(machine_id) + def getCheckUrls(self) -> Optional[List[str]]: + return self._check_urls - def getCheckUrlsFor(self, machine_id: int) -> Optional[List[str]]: - return self._check_urls_per_machine.get(machine_id) - - def getRedirectUserFor(self, machine_id: int) -> Optional[str]: - return self._redirect_user_per_machine.get(machine_id) + def getRedirectUserUrl(self) -> Optional[str]: + return self._redirect_user diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py index 0f13796c29..d509c432b4 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py @@ -9,7 +9,7 @@ i18n_catalog = i18nCatalog("cura") class FirmwareUpdateCheckerMessage(Message): STR_ACTION_DOWNLOAD = "download" - def __init__(self, machine_id: int, machine_name: str) -> None: + def __init__(self, machine_id: int, machine_name: str, download_url: str) -> None: super().__init__(i18n_catalog.i18nc( "@info Don't translate {machine_name}, since it gets replaced by a printer name!", "New features are available for your {machine_name}! It is recommended to update the firmware on your printer.").format( @@ -19,6 +19,7 @@ class FirmwareUpdateCheckerMessage(Message): "New %s firmware available") % machine_name) self._machine_id = machine_id + self._download_url = download_url self.addAction(self.STR_ACTION_DOWNLOAD, i18n_catalog.i18nc("@action:button", "How to update"), @@ -29,3 +30,6 @@ class FirmwareUpdateCheckerMessage(Message): def getMachineId(self) -> int: return self._machine_id + + def getDownloadUrl(self) -> str: + return self._download_url diff --git a/plugins/FirmwareUpdateChecker/resources/machines.json b/plugins/FirmwareUpdateChecker/resources/machines.json deleted file mode 100644 index d9eaad0abf..0000000000 --- a/plugins/FirmwareUpdateChecker/resources/machines.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "_comment": "There are multiple 'check_urls', because sometimes an URL is about to be phased out, and it's useful to have a new 'future-proof' one at the ready.", - - "machines": - [ - { - "id": 9066, - "name": "ultimaker 3", - "check_urls": - [ - "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", - "http://software.ultimaker.com/releases/firmware/9066/stable/version.txt" - ], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" - }, - { - "id": 9511, - "name": "ultimaker 3 extended", - "check_urls": - [ - "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", - "http://software.ultimaker.com/releases/firmware/9511/stable/version.txt" - ], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" - }, - { - "id": 9051, - "name": "ultimaker s5", - "check_urls": ["http://software.ultimaker.com/releases/firmware/9051/stable/version.txt"], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" - } - ] -} diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index b1daa6b780..f5e31890f6 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -24,7 +24,16 @@ }, "first_start_actions": [ "DiscoverUM3Action" ], "supported_actions": [ "DiscoverUM3Action" ], - "supports_usb_connection": false + "supports_usb_connection": false, + "firmware_update_info": { + "id": 9066, + "check_urls": + [ + "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", + "http://software.ultimaker.com/releases/firmware/9066/stable/version.txt" + ], + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" + } }, diff --git a/resources/definitions/ultimaker3_extended.def.json b/resources/definitions/ultimaker3_extended.def.json index eb3cda9320..d13857e428 100644 --- a/resources/definitions/ultimaker3_extended.def.json +++ b/resources/definitions/ultimaker3_extended.def.json @@ -23,7 +23,16 @@ "1": "ultimaker3_extended_extruder_right" }, "first_start_actions": [ "DiscoverUM3Action" ], - "supported_actions": [ "DiscoverUM3Action" ] + "supported_actions": [ "DiscoverUM3Action" ], + "firmware_update_info": { + "id": 9511, + "check_urls": + [ + "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", + "http://software.ultimaker.com/releases/firmware/9511/stable/version.txt" + ], + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" + } }, "overrides": { diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 2e634787af..6195933869 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -30,7 +30,12 @@ "first_start_actions": [ "DiscoverUM3Action" ], "supported_actions": [ "DiscoverUM3Action" ], "supports_usb_connection": false, - "weight": -1 + "weight": -1, + "firmware_update_info": { + "id": 9051, + "check_urls": ["http://software.ultimaker.com/releases/firmware/9051/stable/version.txt"], + "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" + } }, "overrides": { From e747219bbec338736eb8ce683e15cf1cfbb77511 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 15 Oct 2018 01:30:36 +0200 Subject: [PATCH 243/423] Let Makerbot Replicator use Replicator's X3G variant --- resources/definitions/makerbotreplicator.def.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/definitions/makerbotreplicator.def.json b/resources/definitions/makerbotreplicator.def.json index 1770b7a979..3b02215e74 100644 --- a/resources/definitions/makerbotreplicator.def.json +++ b/resources/definitions/makerbotreplicator.def.json @@ -6,6 +6,7 @@ "visible": true, "author": "Ultimaker", "manufacturer": "MakerBot", + "machine_x3g_variant": "r1", "file_formats": "application/x3g", "platform_offset": [ 0, 0, 0], "machine_extruder_trains": From 73de7209477ea675475da5f6bd753fb6deeebba3 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 15 Oct 2018 09:27:53 +0200 Subject: [PATCH 244/423] Change material diameter to 1.75 for monoprice machines CURA-5817 --- .../extruders/monoprice_select_mini_v1_extruder_0.def.json | 2 +- .../extruders/monoprice_select_mini_v2_extruder_0.def.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/extruders/monoprice_select_mini_v1_extruder_0.def.json b/resources/extruders/monoprice_select_mini_v1_extruder_0.def.json index eef47c9b6f..e4a899d7af 100644 --- a/resources/extruders/monoprice_select_mini_v1_extruder_0.def.json +++ b/resources/extruders/monoprice_select_mini_v1_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/monoprice_select_mini_v2_extruder_0.def.json b/resources/extruders/monoprice_select_mini_v2_extruder_0.def.json index e0899304dd..b727cfce1f 100644 --- a/resources/extruders/monoprice_select_mini_v2_extruder_0.def.json +++ b/resources/extruders/monoprice_select_mini_v2_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } From 02efd7a1f5a312ea4124a45025ac2dc3bdac99da Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 15 Oct 2018 13:55:47 +0200 Subject: [PATCH 245/423] Correct some printers to use 1.75mm filament This should fix some underextrusion problems... Hmm. Sources: * https://alya3dp.com/pages/teknik-ozellikler * https://www.creality3d.cn/creality-cr-10-s4-3d-printer-p00098p1.html * https://www.creality3d.cn/creality-cr-10-s5-3d-printer-p00099p1.html * https://3dprint.com/3643/german-repraps-neo-3d-printer-now-available-in-the-us-uk/ * https://somosmaker.com/pegasus-impresora-3d/ * http://www.3dmaker.vn/3d-printer-3dmaker-starter/?lang=en# (assuming the filaments they sell on that website are compatible) * https://makezine.com/product-review/printrbot-play/ I could not find a source for the Deltabot, but got that information from here: https://github.com/Ultimaker/Cura/issues/4573 Contributes to issue CURA-5817. --- resources/extruders/alya3dp_extruder_0.def.json | 2 +- resources/extruders/creality_cr10s4_extruder_0.def.json | 2 +- resources/extruders/creality_cr10s5_extruder_0.def.json | 2 +- resources/extruders/deltabot_extruder_0.def.json | 2 +- resources/extruders/grr_neo_extruder_0.def.json | 2 +- resources/extruders/kupido_extruder_0.def.json | 2 +- resources/extruders/makeR_pegasus_extruder_0.def.json | 2 +- resources/extruders/maker_starter_extruder_0.def.json | 2 +- resources/extruders/printrbot_play_heated_extruder_0.def.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/extruders/alya3dp_extruder_0.def.json b/resources/extruders/alya3dp_extruder_0.def.json index e34db5dfbf..3676f01ad2 100644 --- a/resources/extruders/alya3dp_extruder_0.def.json +++ b/resources/extruders/alya3dp_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/creality_cr10s4_extruder_0.def.json b/resources/extruders/creality_cr10s4_extruder_0.def.json index 9afe1cee35..8a40c6431f 100644 --- a/resources/extruders/creality_cr10s4_extruder_0.def.json +++ b/resources/extruders/creality_cr10s4_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/creality_cr10s5_extruder_0.def.json b/resources/extruders/creality_cr10s5_extruder_0.def.json index fed86eb2b5..98b701ae2e 100644 --- a/resources/extruders/creality_cr10s5_extruder_0.def.json +++ b/resources/extruders/creality_cr10s5_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/deltabot_extruder_0.def.json b/resources/extruders/deltabot_extruder_0.def.json index 43fce74fa5..e13d6a6ee3 100644 --- a/resources/extruders/deltabot_extruder_0.def.json +++ b/resources/extruders/deltabot_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.5 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/grr_neo_extruder_0.def.json b/resources/extruders/grr_neo_extruder_0.def.json index 9fe86d9eed..6d76c90796 100644 --- a/resources/extruders/grr_neo_extruder_0.def.json +++ b/resources/extruders/grr_neo_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.5 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/kupido_extruder_0.def.json b/resources/extruders/kupido_extruder_0.def.json index d93395e667..ef988d4fde 100644 --- a/resources/extruders/kupido_extruder_0.def.json +++ b/resources/extruders/kupido_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/makeR_pegasus_extruder_0.def.json b/resources/extruders/makeR_pegasus_extruder_0.def.json index 8d2a98340a..e37891abde 100644 --- a/resources/extruders/makeR_pegasus_extruder_0.def.json +++ b/resources/extruders/makeR_pegasus_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/maker_starter_extruder_0.def.json b/resources/extruders/maker_starter_extruder_0.def.json index 5c60e536b7..ee94250248 100644 --- a/resources/extruders/maker_starter_extruder_0.def.json +++ b/resources/extruders/maker_starter_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/printrbot_play_heated_extruder_0.def.json b/resources/extruders/printrbot_play_heated_extruder_0.def.json index ba8bc5c34c..0a3eeb3d06 100644 --- a/resources/extruders/printrbot_play_heated_extruder_0.def.json +++ b/resources/extruders/printrbot_play_heated_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } From d7a7cf3003f7ebe55d45b41c1ce20717b5c7d865 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 15 Oct 2018 13:55:47 +0200 Subject: [PATCH 246/423] Correct some printers to use 1.75mm filament This should fix some underextrusion problems... Hmm. Sources: * https://alya3dp.com/pages/teknik-ozellikler * https://www.creality3d.cn/creality-cr-10-s4-3d-printer-p00098p1.html * https://www.creality3d.cn/creality-cr-10-s5-3d-printer-p00099p1.html * https://3dprint.com/3643/german-repraps-neo-3d-printer-now-available-in-the-us-uk/ * https://somosmaker.com/pegasus-impresora-3d/ * http://www.3dmaker.vn/3d-printer-3dmaker-starter/?lang=en# (assuming the filaments they sell on that website are compatible) * https://makezine.com/product-review/printrbot-play/ I could not find a source for the Deltabot, but got that information from here: https://github.com/Ultimaker/Cura/issues/4573 Contributes to issue CURA-5817. --- resources/extruders/alya3dp_extruder_0.def.json | 2 +- resources/extruders/creality_cr10s4_extruder_0.def.json | 2 +- resources/extruders/creality_cr10s5_extruder_0.def.json | 2 +- resources/extruders/deltabot_extruder_0.def.json | 2 +- resources/extruders/grr_neo_extruder_0.def.json | 2 +- resources/extruders/kupido_extruder_0.def.json | 2 +- resources/extruders/makeR_pegasus_extruder_0.def.json | 2 +- resources/extruders/maker_starter_extruder_0.def.json | 2 +- resources/extruders/printrbot_play_heated_extruder_0.def.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/extruders/alya3dp_extruder_0.def.json b/resources/extruders/alya3dp_extruder_0.def.json index e34db5dfbf..3676f01ad2 100644 --- a/resources/extruders/alya3dp_extruder_0.def.json +++ b/resources/extruders/alya3dp_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/creality_cr10s4_extruder_0.def.json b/resources/extruders/creality_cr10s4_extruder_0.def.json index 9afe1cee35..8a40c6431f 100644 --- a/resources/extruders/creality_cr10s4_extruder_0.def.json +++ b/resources/extruders/creality_cr10s4_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/creality_cr10s5_extruder_0.def.json b/resources/extruders/creality_cr10s5_extruder_0.def.json index fed86eb2b5..98b701ae2e 100644 --- a/resources/extruders/creality_cr10s5_extruder_0.def.json +++ b/resources/extruders/creality_cr10s5_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/deltabot_extruder_0.def.json b/resources/extruders/deltabot_extruder_0.def.json index 43fce74fa5..e13d6a6ee3 100644 --- a/resources/extruders/deltabot_extruder_0.def.json +++ b/resources/extruders/deltabot_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.5 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/grr_neo_extruder_0.def.json b/resources/extruders/grr_neo_extruder_0.def.json index 9fe86d9eed..6d76c90796 100644 --- a/resources/extruders/grr_neo_extruder_0.def.json +++ b/resources/extruders/grr_neo_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.5 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/kupido_extruder_0.def.json b/resources/extruders/kupido_extruder_0.def.json index d93395e667..ef988d4fde 100644 --- a/resources/extruders/kupido_extruder_0.def.json +++ b/resources/extruders/kupido_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/makeR_pegasus_extruder_0.def.json b/resources/extruders/makeR_pegasus_extruder_0.def.json index 8d2a98340a..e37891abde 100644 --- a/resources/extruders/makeR_pegasus_extruder_0.def.json +++ b/resources/extruders/makeR_pegasus_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/maker_starter_extruder_0.def.json b/resources/extruders/maker_starter_extruder_0.def.json index 5c60e536b7..ee94250248 100644 --- a/resources/extruders/maker_starter_extruder_0.def.json +++ b/resources/extruders/maker_starter_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } diff --git a/resources/extruders/printrbot_play_heated_extruder_0.def.json b/resources/extruders/printrbot_play_heated_extruder_0.def.json index ba8bc5c34c..0a3eeb3d06 100644 --- a/resources/extruders/printrbot_play_heated_extruder_0.def.json +++ b/resources/extruders/printrbot_play_heated_extruder_0.def.json @@ -11,6 +11,6 @@ "overrides": { "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, - "material_diameter": { "default_value": 2.85 } + "material_diameter": { "default_value": 1.75 } } } From 56a383814b78bc6dc9d7349381a4a4b23d286edc Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 15 Oct 2018 14:48:18 +0200 Subject: [PATCH 247/423] Code style: Spaces around binary operators Contributes to issue CURA-5483. --- .../FirmwareUpdateCheckerMessage.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py index d509c432b4..fd56c101a0 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py @@ -1,3 +1,5 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. from UM.i18n import i18nCatalog from UM.Message import Message @@ -13,8 +15,8 @@ class FirmwareUpdateCheckerMessage(Message): super().__init__(i18n_catalog.i18nc( "@info Don't translate {machine_name}, since it gets replaced by a printer name!", "New features are available for your {machine_name}! It is recommended to update the firmware on your printer.").format( - machine_name=machine_name), - title=i18n_catalog.i18nc( + machine_name = machine_name), + title = i18n_catalog.i18nc( "@info:title The %s gets replaced with the printer name.", "New %s firmware available") % machine_name) @@ -25,8 +27,8 @@ class FirmwareUpdateCheckerMessage(Message): i18n_catalog.i18nc("@action:button", "How to update"), "[no_icon]", "[no_description]", - button_style=Message.ActionButtonStyle.LINK, - button_align=Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) + button_style = Message.ActionButtonStyle.LINK, + button_align = Message.ActionButtonStyle.BUTTON_ALIGN_LEFT) def getMachineId(self) -> int: return self._machine_id From 53dc28db891f1d49d4cd6662468fb8f68c272175 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 15 Oct 2018 15:12:42 +0200 Subject: [PATCH 248/423] Change URL of firmware update page for Ultimaker 3 and S5 I just got word of a new page to read up about the firmware update. Apparently we now have to link to this one. Contributes to issue CURA-5483. --- plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py | 2 +- resources/definitions/ultimaker3.def.json | 2 +- resources/definitions/ultimaker3_extended.def.json | 2 +- resources/definitions/ultimaker_s5.def.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py index 2e15208336..4c60b95824 100644 --- a/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py +++ b/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from UM.Application import Application diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index f5e31890f6..72756de2a5 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -32,7 +32,7 @@ "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", "http://software.ultimaker.com/releases/firmware/9066/stable/version.txt" ], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" + "update_url": "https://ultimaker.com/firmware" } }, diff --git a/resources/definitions/ultimaker3_extended.def.json b/resources/definitions/ultimaker3_extended.def.json index d13857e428..68f26969b7 100644 --- a/resources/definitions/ultimaker3_extended.def.json +++ b/resources/definitions/ultimaker3_extended.def.json @@ -31,7 +31,7 @@ "http://software.ultimaker.com/jedi/releases/latest.version?utm_source=cura&utm_medium=software&utm_campaign=resources", "http://software.ultimaker.com/releases/firmware/9511/stable/version.txt" ], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" + "update_url": "https://ultimaker.com/firmware" } }, diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 6195933869..310765dbc3 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -34,7 +34,7 @@ "firmware_update_info": { "id": 9051, "check_urls": ["http://software.ultimaker.com/releases/firmware/9051/stable/version.txt"], - "update_url": "https://ultimaker.com/en/resources/20500-upgrade-firmware" + "update_url": "https://ultimaker.com/firmware" } }, From 1fa7a8880be988389a59e31fedea1a98fce4cb16 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 15 Oct 2018 17:02:27 +0200 Subject: [PATCH 249/423] Clean up some QML warnings Contributes to CL-1051 --- .../qml/ConfigurationChangeBlock.qml | 18 +++++++++++----- .../resources/qml/PrintCoreConfiguration.qml | 2 +- .../resources/qml/PrintJobContextMenu.qml | 15 +++++++++---- .../resources/qml/PrintJobInfoBlock.qml | 21 ++++++++++++------- .../resources/qml/PrintJobTitle.qml | 2 +- .../resources/qml/PrinterCard.qml | 5 ++++- .../resources/qml/PrinterCardDetails.qml | 2 +- .../resources/qml/PrinterCardProgressBar.qml | 10 +++++---- .../resources/qml/PrinterInfoBlock.qml | 2 +- 9 files changed, 51 insertions(+), 26 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml index 250449a763..63815b58bf 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -136,6 +136,9 @@ Item { elide: Text.ElideRight; font: UM.Theme.getFont("large_nonbold"); text: { + if (root.job === null) { + return ""; + } if (root.job.configurationChanges.length === 0) { return ""; } @@ -182,11 +185,13 @@ Item { } text: catalog.i18nc("@label", "Override"); visible: { - var length = root.job.configurationChanges.length; - for (var i = 0; i < length; i++) { - var typeOfChange = root.job.configurationChanges[i].typeOfChange; - if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { - return false; + if (root.job & root.job.configurationChanges) { + var length = root.job.configurationChanges.length; + for (var i = 0; i < length; i++) { + var typeOfChange = root.job.configurationChanges[i].typeOfChange; + if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { + return false; + } } } return true; @@ -203,6 +208,9 @@ Item { onYes: OutputDevice.forceSendJob(root.job.key); standardButtons: StandardButton.Yes | StandardButton.No; text: { + if (!root.job) { + return ""; + } var printJobName = formatPrintJobName(root.job.name); var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); return confirmText; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index bede597287..e8abb8109e 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -73,7 +73,7 @@ Item { elide: Text.ElideRight; font: UM.Theme.getFont("default"); text: { - if (printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) { + if (printCoreConfiguration && printCoreConfiguration.activeMaterial != undefined) { return printCoreConfiguration.activeMaterial.name; } return ""; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 41d28c89f1..7b956a2101 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -101,7 +101,14 @@ Item { width: parent.width; PrintJobContextMenuItem { - enabled: printJob && !running ? OutputDevice.queuedPrintJobs[0].key != printJob.key : false; + enabled: { + if (printJob && !running) { + if (OutputDevice && OutputDevice.queuedPrintJobs[0]) { + return OutputDevice.queuedPrintJobs[0].key != printJob.key; + } + } + return false; + } onClicked: { sendToTopConfirmationDialog.visible = true; popup.close(); @@ -169,7 +176,7 @@ Item { icon: StandardIcon.Warning; onYes: OutputDevice.sendJobToTop(printJob.key); standardButtons: StandardButton.Yes | StandardButton.No; - text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) : ""; + text: printJob && printJob.name ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to move %1 to the top of the queue?").arg(printJob.name) : ""; title: catalog.i18nc("@window:title", "Move print job to top"); } @@ -179,7 +186,7 @@ Item { icon: StandardIcon.Warning; onYes: OutputDevice.deleteJobFromQueue(printJob.key); standardButtons: StandardButton.Yes | StandardButton.No; - text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) : ""; + text: printJob && printJob.name ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to delete %1?").arg(printJob.name) : ""; title: catalog.i18nc("@window:title", "Delete print job"); } @@ -189,7 +196,7 @@ Item { icon: StandardIcon.Warning; onYes: printJob.setState("abort"); standardButtons: StandardButton.Yes | StandardButton.No; - text: printJob ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(printJob.name) : ""; + text: printJob && printJob.name ? catalog.i18nc("@label %1 is the name of a print job.", "Are you sure you want to abort %1?").arg(printJob.name) : ""; title: catalog.i18nc("@window:title", "Abort print"); } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 335ee2ba47..fcdf3ba955 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -78,7 +78,7 @@ Item { anchors.fill: parent; elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); - text: printJob ? printJob.name : ""; // Supress QML warnings + text: printJob && printJob.name ? printJob.name : ""; // Supress QML warnings visible: printJob; } } @@ -204,7 +204,7 @@ Item { elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); text: { - if (printJob) { + if (printJob !== null) { if (printJob.assignedPrinter == null) { if (printJob.state == "error") { return catalog.i18nc("@label", "Waiting for: Unavailable printer"); @@ -222,7 +222,7 @@ Item { PrinterInfoBlock { anchors.bottom: parent.bottom; - printer: root.printJob.assignedPrinter; + printer: root.printJon && root.printJob.assignedPrinter; printJob: root.printJob; } } @@ -398,11 +398,13 @@ Item { } text: catalog.i18nc("@label", "Override"); visible: { - var length = printJob.configurationChanges.length; - for (var i = 0; i < length; i++) { - var typeOfChange = printJob.configurationChanges[i].typeOfChange; - if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { - return false; + if (printJob && printJob.configurationChanges) { + var length = printJob.configurationChanges.length; + for (var i = 0; i < length; i++) { + var typeOfChange = printJob.configurationChanges[i].typeOfChange; + if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { + return false; + } } } return true; @@ -418,6 +420,9 @@ Item { onYes: OutputDevice.forceSendJob(printJob.key); standardButtons: StandardButton.Yes | StandardButton.No; text: { + if (!root.job) { + return ""; + } var printJobName = formatPrintJobName(printJob.name); var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); return confirmText; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml index 9dc7dff62e..bfbddb7dce 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml @@ -27,7 +27,7 @@ Column { anchors.fill: parent; elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); - text: job ? job.name : ""; + text: job && job.name ? job.name : ""; visible: job; } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index ebfe160e06..1dcf5fd3ad 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -161,12 +161,15 @@ Item { elide: Text.ElideRight; font: UM.Theme.getFont("default"); text: { + if (!printer) { + return ""; + } if (printer.state == "disabled") { return catalog.i18nc("@label", "Not available"); } else if (printer.state == "unreachable") { return catalog.i18nc("@label", "Unreachable"); } - if (printer.activePrintJob != null) { + if (printer.activePrintJob != null && printer.activePrintJob.name) { return printer.activePrintJob.name; } return catalog.i18nc("@label", "Available"); diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index 0971776cc6..35a9372713 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -60,7 +60,7 @@ Item { PrintJobPreview { - job: root.printer.activePrintJob; + job: root.printer && root.printer.activePrintJob ? root.printer.activePrintJob : null; anchors.horizontalCenter: parent.horizontalCenter; } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml index 4fac99f7a2..81ad95bea9 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -8,7 +8,7 @@ import UM 1.3 as UM ProgressBar { property var progress: { - if (printer.activePrintJob == null) { + if (!printer || printer.activePrintJob == null) { return 0; } var result = printer.activePrintJob.timeElapsed / printer.activePrintJob.timeTotal; @@ -25,11 +25,10 @@ ProgressBar { /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining time from ever being less than 0. Negative durations cause strange behavior such as displaying "-1h -1m". */ - var activeJob = printer.activePrintJob; - return Math.max(activeJob.timeTotal - activeJob.timeElapsed, 0); + return Math.max(printer.activePrintJob.timeTotal - printer.activePrintJob.timeElapsed, 0); } property var progressText: { - if (printer.activePrintJob == null) { + if (!printer.activePrintJob || !printer.activePrintJob.state ) { return ""; } switch (printer.activePrintJob.state) { @@ -65,6 +64,9 @@ ProgressBar { progress: Rectangle { id: progressItem; color: { + if (!printer.activePrintJob) { + return "black"; + } var state = printer.activePrintJob.state var inactiveStates = [ "pausing", diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml index b054eb458f..1b20593f9a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -41,7 +41,7 @@ Item { } PrinterFamilyPill { - text: printer.type; + text: printer ? printer.type : ""; visible: !compatiblePills.visible && printer; } } From b99bc06d1cc8a3353981cee13135da9ebb8b3e7a Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 16 Oct 2018 09:34:50 +0200 Subject: [PATCH 250/423] Clean up more errors Contributes to CL-1051 --- .../resources/qml/PrintJobContextMenu.qml | 4 ++-- plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml | 3 +++ .../UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml | 4 ++-- .../resources/qml/PrinterCardProgressBar.qml | 6 +++--- .../UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml | 1 - 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 7b956a2101..da4499adf6 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -39,8 +39,8 @@ Item { Popup { id: popup; background: Item { - height: popup.height; - width: popup.width; + height: childrenRect.height; + width: childrenRect.width; DropShadow { anchors.fill: pointedRectangle; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 1dcf5fd3ad..61009a0ec3 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -77,6 +77,9 @@ Item { UM.RecolorImage { anchors.centerIn: parent; color: { + if (!printer) { + return "black"; + } if (printer.state == "disabled") { return UM.Theme.getColor("monitor_tab_text_inactive"); } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index 35a9372713..d0aa4bf80a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -35,7 +35,7 @@ Item { PrinterInfoBlock { printer: root.printer; - printJob: root.printer.activePrintJob; + printJob: root.printer ? root.printer.activePrintJob : null; } HorizontalLine {} @@ -45,7 +45,7 @@ Item { width: parent.width; PrintJobTitle { - job: root.printer.activePrintJob; + job: root.printer ? root.printer.activePrintJob : null; } PrintJobContextMenu { id: contextButton; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml index 81ad95bea9..d31dd09af3 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -19,7 +19,7 @@ ProgressBar { } style: ProgressBarStyle { property var remainingTime: { - if (printer.activePrintJob == null) { + if (!printer || printer.activePrintJob == null) { return 0; } /* Sometimes total minus elapsed is less than 0. Use Math.max() to prevent remaining @@ -28,7 +28,7 @@ ProgressBar { return Math.max(printer.activePrintJob.timeTotal - printer.activePrintJob.timeElapsed, 0); } property var progressText: { - if (!printer.activePrintJob || !printer.activePrintJob.state ) { + if (printer === null ) { return ""; } switch (printer.activePrintJob.state) { @@ -64,7 +64,7 @@ ProgressBar { progress: Rectangle { id: progressItem; color: { - if (!printer.activePrintJob) { + if (! printer || !printer.activePrintJob) { return "black"; } var state = printer.activePrintJob.state diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml index 1b20593f9a..92a8f1dcb3 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterInfoBlock.qml @@ -24,7 +24,6 @@ Item { anchors { left: parent.left; right: parent.right; - } height: childrenRect.height; spacing: Math.round(0.5 * UM.Theme.getSize("default_margin").width); From 6eb8b754903f3fe1db5baa55ad90305fda94de38 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 16 Oct 2018 11:31:33 +0200 Subject: [PATCH 251/423] Update typing and fixed the bug it exposes. --- cura/Settings/SettingInheritanceManager.py | 61 ++++++++++++++-------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index 9cd24558b7..12b541c3d8 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -1,6 +1,6 @@ # Copyright (c) 2017 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import List +from typing import List, Optional, TYPE_CHECKING from PyQt5.QtCore import QObject, QTimer, pyqtProperty, pyqtSignal from UM.FlameProfiler import pyqtSlot @@ -20,13 +20,18 @@ from UM.Settings.SettingInstance import InstanceState from cura.Settings.ExtruderManager import ExtruderManager +if TYPE_CHECKING: + from cura.Settings.ExtruderStack import ExtruderStack + from UM.Settings.SettingDefinition import SettingDefinition + + class SettingInheritanceManager(QObject): - def __init__(self, parent = None): + def __init__(self, parent = None) -> None: super().__init__(parent) Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerChanged) - self._global_container_stack = None - self._settings_with_inheritance_warning = [] - self._active_container_stack = None + self._global_container_stack = None # type: Optional[ContainerStack] + self._settings_with_inheritance_warning = [] # type: List[str] + self._active_container_stack = None # type: Optional[ExtruderStack] self._onGlobalContainerChanged() ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderChanged) @@ -41,7 +46,9 @@ class SettingInheritanceManager(QObject): ## Get the keys of all children settings with an override. @pyqtSlot(str, result = "QStringList") - def getChildrenKeysWithOverride(self, key): + def getChildrenKeysWithOverride(self, key: str) -> List[str]: + if self._global_container_stack is None: + return [] definitions = self._global_container_stack.definition.findDefinitions(key=key) if not definitions: Logger.log("w", "Could not find definition for key [%s]", key) @@ -53,9 +60,11 @@ class SettingInheritanceManager(QObject): return result @pyqtSlot(str, str, result = "QStringList") - def getOverridesForExtruder(self, key, extruder_index): - result = [] + def getOverridesForExtruder(self, key: str, extruder_index: str) -> List[str]: + if self._global_container_stack is None: + return [] + result = [] # type: List[str] extruder_stack = ExtruderManager.getInstance().getExtruderStack(extruder_index) if not extruder_stack: Logger.log("w", "Unable to find extruder for current machine with index %s", extruder_index) @@ -73,16 +82,16 @@ class SettingInheritanceManager(QObject): return result @pyqtSlot(str) - def manualRemoveOverride(self, key): + def manualRemoveOverride(self, key: str) -> None: if key in self._settings_with_inheritance_warning: self._settings_with_inheritance_warning.remove(key) self.settingsWithIntheritanceChanged.emit() @pyqtSlot() - def forceUpdate(self): + def forceUpdate(self) -> None: self._update() - def _onActiveExtruderChanged(self): + def _onActiveExtruderChanged(self) -> None: new_active_stack = ExtruderManager.getInstance().getActiveExtruderStack() if not new_active_stack: self._active_container_stack = None @@ -94,13 +103,14 @@ class SettingInheritanceManager(QObject): self._active_container_stack.containersChanged.disconnect(self._onContainersChanged) self._active_container_stack = new_active_stack - self._active_container_stack.propertyChanged.connect(self._onPropertyChanged) - self._active_container_stack.containersChanged.connect(self._onContainersChanged) + if self._active_container_stack is not None: + self._active_container_stack.propertyChanged.connect(self._onPropertyChanged) + self._active_container_stack.containersChanged.connect(self._onContainersChanged) self._update() # Ensure that the settings_with_inheritance_warning list is populated. - def _onPropertyChanged(self, key, property_name): + def _onPropertyChanged(self, key: str, property_name: str) -> None: if (property_name == "value" or property_name == "enabled") and self._global_container_stack: - definitions = self._global_container_stack.definition.findDefinitions(key = key) + definitions = self._global_container_stack.definition.findDefinitions(key = key) # type: List["SettingDefinition"] if not definitions: return @@ -139,7 +149,7 @@ class SettingInheritanceManager(QObject): if settings_with_inheritance_warning_changed: self.settingsWithIntheritanceChanged.emit() - def _recursiveCheck(self, definition): + def _recursiveCheck(self, definition: "SettingDefinition") -> bool: for child in definition.children: if child.key in self._settings_with_inheritance_warning: return True @@ -149,7 +159,7 @@ class SettingInheritanceManager(QObject): return False @pyqtProperty("QVariantList", notify = settingsWithIntheritanceChanged) - def settingsWithInheritanceWarning(self): + def settingsWithInheritanceWarning(self) -> List[str]: return self._settings_with_inheritance_warning ## Check if a setting has an inheritance function that is overwritten @@ -157,9 +167,14 @@ class SettingInheritanceManager(QObject): has_setting_function = False if not stack: stack = self._active_container_stack - if not stack: #No active container stack yet! + if not stack: # No active container stack yet! return False - containers = [] # type: List[ContainerInterface] + + if self._active_container_stack is None: + return False + all_keys = self._active_container_stack.getAllKeys() + + containers = [] # type: List[ContainerInterface] ## Check if the setting has a user state. If not, it is never overwritten. has_user_state = stack.getProperty(key, "state") == InstanceState.User @@ -190,8 +205,8 @@ class SettingInheritanceManager(QObject): has_setting_function = isinstance(value, SettingFunction) if has_setting_function: for setting_key in value.getUsedSettingKeys(): - if setting_key in self._active_container_stack.getAllKeys(): - break # We found an actual setting. So has_setting_function can remain true + if setting_key in all_keys: + break # We found an actual setting. So has_setting_function can remain true else: # All of the setting_keys turned out to not be setting keys at all! # This can happen due enum keys also being marked as settings. @@ -205,7 +220,7 @@ class SettingInheritanceManager(QObject): break # There is a setting function somewhere, stop looking deeper. return has_setting_function and has_non_function_value - def _update(self): + def _update(self) -> None: self._settings_with_inheritance_warning = [] # Reset previous data. # Make sure that the GlobalStack is not None. sometimes the globalContainerChanged signal gets here late. @@ -226,7 +241,7 @@ class SettingInheritanceManager(QObject): # Notify others that things have changed. self.settingsWithIntheritanceChanged.emit() - def _onGlobalContainerChanged(self): + def _onGlobalContainerChanged(self) -> None: if self._global_container_stack: self._global_container_stack.propertyChanged.disconnect(self._onPropertyChanged) self._global_container_stack.containersChanged.disconnect(self._onContainersChanged) From 4a0808378b9a224cde179b95c8326343b33a5202 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 16 Oct 2018 13:23:35 +0200 Subject: [PATCH 252/423] Allow whitespaces in the job name. Fixes #4530. --- resources/qml/JobSpecs.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/JobSpecs.qml b/resources/qml/JobSpecs.qml index 31ca84d66e..1a5b604886 100644 --- a/resources/qml/JobSpecs.qml +++ b/resources/qml/JobSpecs.qml @@ -86,7 +86,7 @@ Item { printJobTextfield.focus = false; } validator: RegExpValidator { - regExp: /^[^\\ \/ \*\?\|\[\]]*$/ + regExp: /^[^\\\/\*\?\|\[\]]*$/ } style: TextFieldStyle{ textColor: UM.Theme.getColor("text_scene"); From 25000e8a6b9232bebdb4565463dcd41e347aeb4c Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 16 Oct 2018 13:05:15 +0200 Subject: [PATCH 253/423] Fix typo's. [CURA-5760] Feature support brim. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 22491417ab..138e1adcc5 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4613,7 +4613,7 @@ "brim_replaces_support": { "label": "Brim Replaces Support", - "description": "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions fo the first layer of supprot by brim regions.", + "description": "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions.", "type": "bool", "default_value": true, "enabled": "resolveOrValue('adhesion_type') == 'brim' and support_enable", From 20fa7f4dd8c55c32547c5157f5d7b9f94ea16af9 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Tue, 16 Oct 2018 16:47:05 +0200 Subject: [PATCH 254/423] Display retractions lines for the loaded Gcode files CURA-5769 --- plugins/GCodeReader/FlavorParser.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index eb19853748..1dc20d5602 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -44,6 +44,7 @@ class FlavorParser: self._extruder_offsets = {} # type: Dict[int, List[float]] # Offsets for multi extruders. key is index, value is [x-offset, y-offset] self._current_layer_thickness = 0.2 # default self._filament_diameter = 2.85 # default + self._previous_extrusion_value = 0 # keep track of the filament retractions CuraApplication.getInstance().getPreferences().addPreference("gcodereader/show_caution", True) @@ -182,6 +183,7 @@ class FlavorParser: new_extrusion_value = params.e if self._is_absolute_extrusion else e[self._extruder_number] + params.e if new_extrusion_value > e[self._extruder_number]: path.append([x, y, z, f, new_extrusion_value + self._extrusion_length_offset[self._extruder_number], self._layer_type]) # extrusion + self._previous_extrusion_value = new_extrusion_value else: path.append([x, y, z, f, new_extrusion_value + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveRetractionType]) # retraction e[self._extruder_number] = new_extrusion_value @@ -191,6 +193,12 @@ class FlavorParser: if z > self._previous_z and (z - self._previous_z < 1.5): self._current_layer_thickness = z - self._previous_z # allow a tiny overlap self._previous_z = z + elif self._previous_extrusion_value > e[self._extruder_number]: + path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveRetractionType]) + + # This case only for initial start, for the first coordinate in GCode + elif e[self._extruder_number] == 0 and self._previous_extrusion_value == 0: + path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveRetractionType]) else: path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveCombingType]) return self._position(x, y, z, f, e) @@ -235,6 +243,7 @@ class FlavorParser: position.e) def processGCode(self, G: int, line: str, position: Position, path: List[List[Union[float, int]]]) -> Position: + self.previous_extrusion_value = 0 func = getattr(self, "_gCode%s" % G, None) line = line.split(";", 1)[0] # Remove comments (if any) if func is not None: From a7be605b9d3c1cd52bb7323373237f7c7554411d Mon Sep 17 00:00:00 2001 From: alekseisasin Date: Wed, 17 Oct 2018 09:50:22 +0200 Subject: [PATCH 255/423] Typing error in CI CURA-5769 --- plugins/GCodeReader/FlavorParser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index 1dc20d5602..9ba1deb410 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -44,7 +44,7 @@ class FlavorParser: self._extruder_offsets = {} # type: Dict[int, List[float]] # Offsets for multi extruders. key is index, value is [x-offset, y-offset] self._current_layer_thickness = 0.2 # default self._filament_diameter = 2.85 # default - self._previous_extrusion_value = 0 # keep track of the filament retractions + self._previous_extrusion_value = 0.0 # keep track of the filament retractions CuraApplication.getInstance().getPreferences().addPreference("gcodereader/show_caution", True) @@ -243,7 +243,7 @@ class FlavorParser: position.e) def processGCode(self, G: int, line: str, position: Position, path: List[List[Union[float, int]]]) -> Position: - self.previous_extrusion_value = 0 + self._previous_extrusion_value = 0.0 func = getattr(self, "_gCode%s" % G, None) line = line.split(";", 1)[0] # Remove comments (if any) if func is not None: From d086e6fa86ce5f4ad32207a30bfa26fbdf55d8ca Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 10:47:34 +0200 Subject: [PATCH 256/423] Fix review comments CURA-5734 --- .../Models/SettingVisibilityPresetsModel.py | 20 +++++++++---------- cura/Settings/SettingVisibilityPreset.py | 9 ++++++--- .../Menus/SettingVisibilityPresetsMenu.qml | 4 ++-- .../Settings/TestSettingVisibilityPresets.py | 3 +-- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index d9bf105c0b..2702001d8a 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -51,7 +51,7 @@ class SettingVisibilityPresetsModel(QObject): def getVisibilityPresetById(self, item_id: str) -> Optional[SettingVisibilityPreset]: result = None for item in self._items: - if item.id == item_id: + if item.presetId == item_id: result = item break return result @@ -60,7 +60,7 @@ class SettingVisibilityPresetsModel(QObject): from cura.CuraApplication import CuraApplication items = [] # type: List[SettingVisibilityPreset] - custom_preset = SettingVisibilityPreset(id = "custom", name = "Custom selection", weight = -100) + custom_preset = SettingVisibilityPreset(preset_id="custom", name ="Custom selection", weight = -100) items.append(custom_preset) for file_path in Resources.getAllResourcesOfType(CuraApplication.ResourceTypes.SettingVisibilityPreset): setting_visibility_preset = SettingVisibilityPreset() @@ -72,7 +72,7 @@ class SettingVisibilityPresetsModel(QObject): items.append(setting_visibility_preset) # Sort them on weight (and if that fails, use ID) - items.sort(key = lambda k: (int(k.weight), k.id)) + items.sort(key = lambda k: (int(k.weight), k.presetId)) self.setItems(items) @@ -87,7 +87,7 @@ class SettingVisibilityPresetsModel(QObject): @pyqtSlot(str) def setActivePreset(self, preset_id: str) -> None: - if preset_id == self._active_preset_item.id: + if preset_id == self._active_preset_item.presetId: Logger.log("d", "Same setting visibility preset [%s] selected, do nothing.", preset_id) return @@ -96,7 +96,7 @@ class SettingVisibilityPresetsModel(QObject): Logger.log("w", "Tried to set active preset to unknown id [%s]", preset_id) return - need_to_save_to_custom = self._active_preset_item.id == "custom" and preset_id != "custom" + need_to_save_to_custom = self._active_preset_item.presetId == "custom" and preset_id != "custom" if need_to_save_to_custom: # Save the current visibility settings to custom current_visibility_string = self._preferences.getValue("general/visible_settings") @@ -117,7 +117,7 @@ class SettingVisibilityPresetsModel(QObject): @pyqtProperty(str, notify = activePresetChanged) def activePreset(self) -> str: - return self._active_preset_item.id + return self._active_preset_item.presetId def _onPreferencesChanged(self, name: str) -> None: if name != "general/visible_settings": @@ -131,7 +131,7 @@ class SettingVisibilityPresetsModel(QObject): visibility_set = set(visibility_string.split(";")) matching_preset_item = None for item in self._items: - if item.id == "custom": + if item.presetId == "custom": continue if set(item.settings) == visibility_set: matching_preset_item = item @@ -140,7 +140,7 @@ class SettingVisibilityPresetsModel(QObject): item_to_set = self._active_preset_item if matching_preset_item is None: # The new visibility setup is "custom" should be custom - if self._active_preset_item.id == "custom": + if self._active_preset_item.presetId == "custom": # We are already in custom, just save the settings self._preferences.setValue("cura/custom_visible_settings", visibility_string) else: @@ -149,7 +149,7 @@ class SettingVisibilityPresetsModel(QObject): else: item_to_set = matching_preset_item - if self._active_preset_item is None or self._active_preset_item.id != item_to_set.id: + if self._active_preset_item is None or self._active_preset_item.presetId != item_to_set.presetId: self._active_preset_item = item_to_set - self._preferences.setValue("cura/active_setting_visibility_preset", self._active_preset_item.id) + self._preferences.setValue("cura/active_setting_visibility_preset", self._active_preset_item.presetId) self.activePresetChanged.emit() diff --git a/cura/Settings/SettingVisibilityPreset.py b/cura/Settings/SettingVisibilityPreset.py index 6e75a5a208..78807ea2fb 100644 --- a/cura/Settings/SettingVisibilityPreset.py +++ b/cura/Settings/SettingVisibilityPreset.py @@ -15,10 +15,10 @@ class SettingVisibilityPreset(QObject): onWeightChanged = pyqtSignal() onIdChanged = pyqtSignal() - def __init__(self, id: str = "", name: str = "", weight: int = 0, parent = None) -> None: + def __init__(self, preset_id: str = "", name: str = "", weight: int = 0, parent = None) -> None: super().__init__(parent) self._settings = [] # type: List[str] - self._id = id + self._id = preset_id self._weight = weight self._name = name @@ -27,7 +27,7 @@ class SettingVisibilityPreset(QObject): return self._settings @pyqtProperty(str, notify = onIdChanged) - def id(self) -> str: + def presetId(self) -> str: return self._id @pyqtProperty(int, notify = onWeightChanged) @@ -58,6 +58,9 @@ class SettingVisibilityPreset(QObject): self._settings = list(set(settings)) # filter out non unique self.onSettingsChanged.emit() + # Load a preset from file. We expect a file that can be parsed by means of the config parser. + # The sections indicate the categories and the parameters placed in it (which don't need values) are the settings + # that should be considered visible. def loadFromFile(self, file_path: str) -> None: mime_type = MimeTypeDatabase.getMimeTypeForFile(file_path) diff --git a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml index fecabfa860..8116b6def1 100644 --- a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml +++ b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml @@ -24,11 +24,11 @@ Menu { text: modelData.name checkable: true - checked: modelData.id == settingVisibilityPresetsModel.activePreset + checked: modelData.presetId == settingVisibilityPresetsModel.activePreset exclusiveGroup: group onTriggered: { - settingVisibilityPresetsModel.setActivePreset(modelData.id); + settingVisibilityPresetsModel.setActivePreset(modelData.presetId); } } diff --git a/tests/Settings/TestSettingVisibilityPresets.py b/tests/Settings/TestSettingVisibilityPresets.py index 1209437d25..48e8fc76cc 100644 --- a/tests/Settings/TestSettingVisibilityPresets.py +++ b/tests/Settings/TestSettingVisibilityPresets.py @@ -1,6 +1,5 @@ from unittest.mock import MagicMock -from UM.Preferences import Preferences import os.path from UM.Preferences import Preferences @@ -9,7 +8,7 @@ from cura.CuraApplication import CuraApplication from cura.Machines.Models.SettingVisibilityPresetsModel import SettingVisibilityPresetsModel from cura.Settings.SettingVisibilityPreset import SettingVisibilityPreset -setting_visibility_preset_test_settings = set(["test", "zomg", "derp", "yay", "whoo"]) +setting_visibility_preset_test_settings = {"test", "zomg", "derp", "yay", "whoo"} Resources.addSearchPath(os.path.abspath(os.path.join(os.path.join(os.path.dirname(__file__)), "../..", "resources"))) Resources.addStorageType(CuraApplication.ResourceTypes.SettingVisibilityPreset, "setting_visibility") From e9e95b85e74ed4c01f9b94955ef560adff6e33d4 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 17 Oct 2018 10:51:28 +0200 Subject: [PATCH 257/423] Remove support_roof_enable to True in Tevo Black Widow quality profiles, since the support interface is already enabled. Fixes #4587. --- resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg | 1 - resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg | 1 - .../quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg | 1 - 3 files changed, 3 deletions(-) diff --git a/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg b/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg index b059b3c65f..be83533e0b 100644 --- a/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg +++ b/resources/quality/tevo_blackwidow/tevo_blackwidow_draft.inst.cfg @@ -25,7 +25,6 @@ support_angle = 60 support_enable = True support_interface_enable = True support_pattern = triangles -support_roof_enable = True support_type = everywhere support_use_towers = False support_xy_distance = 0.7 diff --git a/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg b/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg index 6a6c605c00..5ca8a6e4ef 100644 --- a/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg +++ b/resources/quality/tevo_blackwidow/tevo_blackwidow_high.inst.cfg @@ -25,7 +25,6 @@ support_angle = 60 support_enable = True support_interface_enable = True support_pattern = triangles -support_roof_enable = True support_type = everywhere support_use_towers = False support_xy_distance = 0.7 diff --git a/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg b/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg index 7cba03853f..f542952fab 100644 --- a/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg +++ b/resources/quality/tevo_blackwidow/tevo_blackwidow_normal.inst.cfg @@ -25,7 +25,6 @@ support_angle = 60 support_enable = True support_interface_enable = True support_pattern = triangles -support_roof_enable = True support_type = everywhere support_use_towers = False support_xy_distance = 0.7 From a58c63bbb8a031e0ea384a85093805fd889b73a2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 10:51:47 +0200 Subject: [PATCH 258/423] Minor fixes for visibility preset tests CURA-5734 --- tests/Settings/TestSettingVisibilityPresets.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Settings/TestSettingVisibilityPresets.py b/tests/Settings/TestSettingVisibilityPresets.py index 48e8fc76cc..b82aa62ea7 100644 --- a/tests/Settings/TestSettingVisibilityPresets.py +++ b/tests/Settings/TestSettingVisibilityPresets.py @@ -10,11 +10,11 @@ from cura.Settings.SettingVisibilityPreset import SettingVisibilityPreset setting_visibility_preset_test_settings = {"test", "zomg", "derp", "yay", "whoo"} -Resources.addSearchPath(os.path.abspath(os.path.join(os.path.join(os.path.dirname(__file__)), "../..", "resources"))) +Resources.addSearchPath(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "resources"))) Resources.addStorageType(CuraApplication.ResourceTypes.SettingVisibilityPreset, "setting_visibility") -def test_settingVisibilityPreset(): +def test_createVisibilityPresetFromLocalFile(): # Simple creation test. This is seperated from the visibilityFromPrevious, since we can't check for the contents # of the other profiles, since they might change over time. visibility_preset = SettingVisibilityPreset() From 6555f4d4f3599c9aaa806db77f57f8921c93d4d7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 13:31:03 +0200 Subject: [PATCH 259/423] Add typing Because of boyscouting. CURA-5814 --- cura/PrintInformation.py | 103 ++++++++++++++++++++++----------------- 1 file changed, 57 insertions(+), 46 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 85cf6651fa..9cbe46ebb1 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -6,7 +6,7 @@ import math import os import unicodedata import re # To create abbreviations for printer names. -from typing import Dict +from typing import Dict, List, Optional from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty, pyqtSlot @@ -16,6 +16,12 @@ from UM.Scene.SceneNode import SceneNode from UM.i18n import i18nCatalog from UM.MimeTypeDatabase import MimeTypeDatabase + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + catalog = i18nCatalog("cura") @@ -47,24 +53,26 @@ class PrintInformation(QObject): ActiveMachineChanged = 3 Other = 4 - def __init__(self, application, parent = None): + UNTITLED_JOB_NAME = "Untitled" + + def __init__(self, application: "CuraApplication", parent = None) -> None: super().__init__(parent) self._application = application - self.UNTITLED_JOB_NAME = "Untitled" - self.initializeCuraMessagePrintTimeProperties() - self._material_lengths = {} # indexed by build plate number - self._material_weights = {} - self._material_costs = {} - self._material_names = {} + # Indexed by build plate number + self._material_lengths = {} # type: Dict[int, List[float]] + self._material_weights = {} # type: Dict[int, List[float]] + self._material_costs = {} # type: Dict[int, List[float]] + self._material_names = {} # type: Dict[int, List[str]] self._pre_sliced = False self._backend = self._application.getBackend() if self._backend: self._backend.printDurationMessage.connect(self._onPrintDurationMessage) + self._application.getController().getScene().sceneChanged.connect(self._onSceneChanged) self._is_user_specified_job_name = False @@ -76,25 +84,23 @@ class PrintInformation(QObject): self._multi_build_plate_model = self._application.getMultiBuildPlateModel() - ss = self._multi_build_plate_model.maxBuildPlate - self._application.globalContainerStackChanged.connect(self._updateJobName) self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation) self._application.fileLoaded.connect(self.setBaseName) self._application.workspaceLoaded.connect(self.setProjectName) - self._multi_build_plate_model.activeBuildPlateChanged.connect(self._onActiveBuildPlateChanged) - + self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged) self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged) - self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged) + self._multi_build_plate_model.activeBuildPlateChanged.connect(self._onActiveBuildPlateChanged) + self._onActiveMaterialsChanged() - self._material_amounts = [] + self._material_amounts = [] # type: List[float] # Crate cura message translations and using translation keys initialize empty time Duration object for total time # and time for each feature - def initializeCuraMessagePrintTimeProperties(self): - self._current_print_time = {} # Duration(None, self) + def initializeCuraMessagePrintTimeProperties(self) -> None: + self._current_print_time = {} # type: Dict[int, Duration] self._print_time_message_translations = { "inset_0": catalog.i18nc("@tooltip", "Outer Wall"), @@ -110,15 +116,15 @@ class PrintInformation(QObject): "none": catalog.i18nc("@tooltip", "Other") } - self._print_time_message_values = {} + self._print_time_message_values = {} # type: Dict[int, Dict[str, Duration]] - def _initPrintTimeMessageValues(self, build_plate_number): + def _initPrintTimeMessageValues(self, build_plate_number: int) -> None: # Full fill message values using keys from _print_time_message_translations self._print_time_message_values[build_plate_number] = {} for key in self._print_time_message_translations.keys(): self._print_time_message_values[build_plate_number][key] = Duration(None, self) - def _initVariablesWithBuildPlate(self, build_plate_number): + def _initVariablesWithBuildPlate(self, build_plate_number: int) -> None: if build_plate_number not in self._print_time_message_values: self._initPrintTimeMessageValues(build_plate_number) if self._active_build_plate not in self._material_lengths: @@ -130,23 +136,24 @@ class PrintInformation(QObject): if self._active_build_plate not in self._material_names: self._material_names[self._active_build_plate] = [] if self._active_build_plate not in self._current_print_time: - self._current_print_time[self._active_build_plate] = Duration(None, self) + self._current_print_time[self._active_build_plate] = Duration(parent = self) currentPrintTimeChanged = pyqtSignal() preSlicedChanged = pyqtSignal() @pyqtProperty(bool, notify=preSlicedChanged) - def preSliced(self): + def preSliced(self) -> bool: return self._pre_sliced - def setPreSliced(self, pre_sliced): - self._pre_sliced = pre_sliced - self._updateJobName() - self.preSlicedChanged.emit() + def setPreSliced(self, pre_sliced: bool) -> None: + if self._pre_sliced != pre_sliced: + self._pre_sliced = pre_sliced + self._updateJobName() + self.preSlicedChanged.emit() @pyqtProperty(Duration, notify = currentPrintTimeChanged) - def currentPrintTime(self): + def currentPrintTime(self) -> Duration: return self._current_print_time[self._active_build_plate] materialLengthsChanged = pyqtSignal() @@ -176,33 +183,37 @@ class PrintInformation(QObject): def printTimes(self): return self._print_time_message_values[self._active_build_plate] - def _onPrintDurationMessage(self, build_plate_number, print_time: Dict[str, int], material_amounts: list): + def _onPrintDurationMessage(self, build_plate_number: int, print_time: Dict[str, int], material_amounts: List[float]) -> None: self._updateTotalPrintTimePerFeature(build_plate_number, print_time) self.currentPrintTimeChanged.emit() self._material_amounts = material_amounts self._calculateInformation(build_plate_number) - def _updateTotalPrintTimePerFeature(self, build_plate_number, print_time: Dict[str, int]): + def _updateTotalPrintTimePerFeature(self, build_plate_number: int, print_times: Dict[str, int]) -> None: total_estimated_time = 0 if build_plate_number not in self._print_time_message_values: self._initPrintTimeMessageValues(build_plate_number) - for feature, time in print_time.items(): + for feature, time in print_times.items(): + if feature not in self._print_time_message_values[build_plate_number]: + self._print_time_message_values[build_plate_number][feature] = Duration(parent=self) + duration = self._print_time_message_values[build_plate_number][feature] + if time != time: # Check for NaN. Engine can sometimes give us weird values. - self._print_time_message_values[build_plate_number].get(feature).setDuration(0) + duration.setDuration(0) Logger.log("w", "Received NaN for print duration message") continue total_estimated_time += time - self._print_time_message_values[build_plate_number].get(feature).setDuration(time) + duration.setDuration(time) if build_plate_number not in self._current_print_time: self._current_print_time[build_plate_number] = Duration(None, self) self._current_print_time[build_plate_number].setDuration(total_estimated_time) - def _calculateInformation(self, build_plate_number): + def _calculateInformation(self, build_plate_number: int) -> None: global_stack = self._application.getGlobalContainerStack() if global_stack is None: return @@ -227,7 +238,7 @@ class PrintInformation(QObject): radius = extruder_stack.getProperty("material_diameter", "value") / 2 weight = float(amount) * float(density) / 1000 - cost = 0 + cost = 0. material_name = catalog.i18nc("@label unknown material", "Unknown") if material: material_guid = material.getMetaDataEntry("GUID") @@ -258,14 +269,14 @@ class PrintInformation(QObject): self.materialCostsChanged.emit() self.materialNamesChanged.emit() - def _onPreferencesChanged(self, preference): + def _onPreferencesChanged(self, preference: str) -> None: if preference != "cura/material_settings": return for build_plate_number in range(self._multi_build_plate_model.maxBuildPlate + 1): self._calculateInformation(build_plate_number) - def _onActiveBuildPlateChanged(self): + def _onActiveBuildPlateChanged(self) -> None: new_active_build_plate = self._multi_build_plate_model.activeBuildPlate if new_active_build_plate != self._active_build_plate: self._active_build_plate = new_active_build_plate @@ -279,14 +290,14 @@ class PrintInformation(QObject): self.materialNamesChanged.emit() self.currentPrintTimeChanged.emit() - def _onActiveMaterialsChanged(self, *args, **kwargs): + def _onActiveMaterialsChanged(self, *args, **kwargs) -> None: for build_plate_number in range(self._multi_build_plate_model.maxBuildPlate + 1): self._calculateInformation(build_plate_number) # Manual override of job name should also set the base name so that when the printer prefix is updated, it the # prefix can be added to the manually added name, not the old base name @pyqtSlot(str, bool) - def setJobName(self, name, is_user_specified_job_name = False): + def setJobName(self, name: str, is_user_specified_job_name = False) -> None: self._is_user_specified_job_name = is_user_specified_job_name self._job_name = name self._base_name = name.replace(self._abbr_machine + "_", "") @@ -300,7 +311,7 @@ class PrintInformation(QObject): def jobName(self): return self._job_name - def _updateJobName(self): + def _updateJobName(self) -> None: if self._base_name == "": self._job_name = self.UNTITLED_JOB_NAME self._is_user_specified_job_name = False @@ -335,12 +346,12 @@ class PrintInformation(QObject): self.jobNameChanged.emit() @pyqtSlot(str) - def setProjectName(self, name): + def setProjectName(self, name: str) -> None: self.setBaseName(name, is_project_file = True) baseNameChanged = pyqtSignal() - def setBaseName(self, base_name: str, is_project_file: bool = False): + def setBaseName(self, base_name: str, is_project_file: bool = False) -> None: self._is_user_specified_job_name = False # Ensure that we don't use entire path but only filename @@ -384,7 +395,7 @@ class PrintInformation(QObject): ## Created an acronym-like abbreviated machine name from the currently # active machine name. # Called each time the global stack is switched. - def _defineAbbreviatedMachineName(self): + def _defineAbbreviatedMachineName(self) -> None: global_container_stack = self._application.getGlobalContainerStack() if not global_container_stack: self._abbr_machine = "" @@ -408,8 +419,8 @@ class PrintInformation(QObject): self._abbr_machine = abbr_machine ## Utility method that strips accents from characters (eg: â -> a) - def _stripAccents(self, str): - return ''.join(char for char in unicodedata.normalize('NFD', str) if unicodedata.category(char) != 'Mn') + def _stripAccents(self, to_strip: str) -> str: + return ''.join(char for char in unicodedata.normalize('NFD', to_strip) if unicodedata.category(char) != 'Mn') @pyqtSlot(result = "QVariantMap") def getFeaturePrintTimes(self): @@ -424,7 +435,7 @@ class PrintInformation(QObject): return result # Simulate message with zero time duration - def setToZeroPrintInformation(self, build_plate = None): + def setToZeroPrintInformation(self, build_plate: Optional[int] = None) -> None: if build_plate is None: build_plate = self._active_build_plate @@ -434,12 +445,12 @@ class PrintInformation(QObject): self._print_time_message_values[build_plate] = {} for key in self._print_time_message_values[build_plate].keys(): temp_message[key] = 0 - temp_material_amounts = [0] + temp_material_amounts = [0.] self._onPrintDurationMessage(build_plate, temp_message, temp_material_amounts) ## Listen to scene changes to check if we need to reset the print information - def _onSceneChanged(self, scene_node): + def _onSceneChanged(self, scene_node: SceneNode) -> None: # Ignore any changes that are not related to sliceable objects if not isinstance(scene_node, SceneNode)\ or not scene_node.callDecoration("isSliceable")\ From 3fd9d35ea4e7067c50215d02ad9711ceb814c565 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 13:31:58 +0200 Subject: [PATCH 260/423] Removed outdated documentation CURA-5814 --- cura/PrintInformation.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 9cbe46ebb1..9c9a0a6a1d 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -25,19 +25,7 @@ if TYPE_CHECKING: catalog = i18nCatalog("cura") -## A class for processing and calculating minimum, current and maximum print time as well as managing the job name -# -# This class contains all the logic relating to calculation and slicing for the -# time/quality slider concept. It is a rather tricky combination of event handling -# and state management. The logic behind this is as follows: -# -# - A scene change or setting change event happens. -# We track what the source was of the change, either a scene change, a setting change, an active machine change or something else. -# - This triggers a new slice with the current settings - this is the "current settings pass". -# - When the slice is done, we update the current print time and material amount. -# - If the source of the slice was not a Setting change, we start the second slice pass, the "low quality settings pass". Otherwise we stop here. -# - When that is done, we update the minimum print time and start the final slice pass, the "Extra Fine settings pass". -# - When the Extra Fine pass is done, we update the maximum print time. +## A class for processing and the print times per build plate as well as managing the job name # # This class also mangles the current machine name and the filename of the first loaded mesh into a job name. # This job name is requested by the JobSpecs qml file. From 440dee2191f23662590cf865e8f70fe5fa711c3d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 13:32:26 +0200 Subject: [PATCH 261/423] Removed unused code CURA-5814 --- cura/PrintInformation.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 9c9a0a6a1d..931951b3da 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -30,17 +30,7 @@ catalog = i18nCatalog("cura") # This class also mangles the current machine name and the filename of the first loaded mesh into a job name. # This job name is requested by the JobSpecs qml file. class PrintInformation(QObject): - class SlicePass: - CurrentSettings = 1 - LowQualitySettings = 2 - HighQualitySettings = 3 - - class SliceReason: - SceneChanged = 1 - SettingChanged = 2 - ActiveMachineChanged = 3 - Other = 4 - + UNTITLED_JOB_NAME = "Untitled" def __init__(self, application: "CuraApplication", parent = None) -> None: From ccb0d63041a4f622f58e9767bf823744a93e5a04 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 13:50:52 +0200 Subject: [PATCH 262/423] Rename print_time_message_values to something print_times_per_feature Since this actually makes sense and describes what it holds. CURA-5814 --- cura/PrintInformation.py | 60 ++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 931951b3da..c7826fcee4 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -30,7 +30,7 @@ catalog = i18nCatalog("cura") # This class also mangles the current machine name and the filename of the first loaded mesh into a job name. # This job name is requested by the JobSpecs qml file. class PrintInformation(QObject): - + UNTITLED_JOB_NAME = "Untitled" def __init__(self, application: "CuraApplication", parent = None) -> None: @@ -58,7 +58,7 @@ class PrintInformation(QObject): self._abbr_machine = "" self._job_name = "" self._active_build_plate = 0 - self._initVariablesWithBuildPlate(self._active_build_plate) + self._initVariablesByBuildPlate(self._active_build_plate) self._multi_build_plate_model = self._application.getMultiBuildPlateModel() @@ -75,8 +75,6 @@ class PrintInformation(QObject): self._material_amounts = [] # type: List[float] - # Crate cura message translations and using translation keys initialize empty time Duration object for total time - # and time for each feature def initializeCuraMessagePrintTimeProperties(self) -> None: self._current_print_time = {} # type: Dict[int, Duration] @@ -94,17 +92,17 @@ class PrintInformation(QObject): "none": catalog.i18nc("@tooltip", "Other") } - self._print_time_message_values = {} # type: Dict[int, Dict[str, Duration]] + self._print_times_per_feature = {} # type: Dict[int, Dict[str, Duration]] - def _initPrintTimeMessageValues(self, build_plate_number: int) -> None: + def _initPrintTimesPerFeature(self, build_plate_number: int) -> None: # Full fill message values using keys from _print_time_message_translations - self._print_time_message_values[build_plate_number] = {} + self._print_times_per_feature[build_plate_number] = {} for key in self._print_time_message_translations.keys(): - self._print_time_message_values[build_plate_number][key] = Duration(None, self) + self._print_times_per_feature[build_plate_number][key] = Duration(None, self) - def _initVariablesWithBuildPlate(self, build_plate_number: int) -> None: - if build_plate_number not in self._print_time_message_values: - self._initPrintTimeMessageValues(build_plate_number) + def _initVariablesByBuildPlate(self, build_plate_number: int) -> None: + if build_plate_number not in self._print_times_per_feature: + self._initPrintTimesPerFeature(build_plate_number) if self._active_build_plate not in self._material_lengths: self._material_lengths[self._active_build_plate] = [] if self._active_build_plate not in self._material_weights: @@ -158,26 +156,27 @@ class PrintInformation(QObject): def materialNames(self): return self._material_names[self._active_build_plate] - def printTimes(self): - return self._print_time_message_values[self._active_build_plate] + # Get all print times (by feature) of the active buildplate. + def printTimes(self) -> Dict[str, Duration]: + return self._print_times_per_feature[self._active_build_plate] - def _onPrintDurationMessage(self, build_plate_number: int, print_time: Dict[str, int], material_amounts: List[float]) -> None: - self._updateTotalPrintTimePerFeature(build_plate_number, print_time) + def _onPrintDurationMessage(self, build_plate_number: int, print_times_per_feature: Dict[str, int], material_amounts: List[float]) -> None: + self._updateTotalPrintTimePerFeature(build_plate_number, print_times_per_feature) self.currentPrintTimeChanged.emit() self._material_amounts = material_amounts self._calculateInformation(build_plate_number) - def _updateTotalPrintTimePerFeature(self, build_plate_number: int, print_times: Dict[str, int]) -> None: + def _updateTotalPrintTimePerFeature(self, build_plate_number: int, print_times_per_feature: Dict[str, int]) -> None: total_estimated_time = 0 - if build_plate_number not in self._print_time_message_values: - self._initPrintTimeMessageValues(build_plate_number) + if build_plate_number not in self._print_times_per_feature: + self._initPrintTimesPerFeature(build_plate_number) - for feature, time in print_times.items(): - if feature not in self._print_time_message_values[build_plate_number]: - self._print_time_message_values[build_plate_number][feature] = Duration(parent=self) - duration = self._print_time_message_values[build_plate_number][feature] + for feature, time in print_times_per_feature.items(): + if feature not in self._print_times_per_feature[build_plate_number]: + self._print_times_per_feature[build_plate_number][feature] = Duration(parent=self) + duration = self._print_times_per_feature[build_plate_number][feature] if time != time: # Check for NaN. Engine can sometimes give us weird values. duration.setDuration(0) @@ -209,7 +208,7 @@ class PrintInformation(QObject): if index >= len(self._material_amounts): continue amount = self._material_amounts[index] - ## Find the right extruder stack. As the list isn't sorted because it's a annoying generator, we do some + # Find the right extruder stack. As the list isn't sorted because it's a annoying generator, we do some # list comprehension filtering to solve this for us. density = extruder_stack.getMetaDataEntry("properties", {}).get("density", 0) material = extruder_stack.findContainer({"type": "material"}) @@ -237,6 +236,7 @@ class PrintInformation(QObject): length = round((amount / (math.pi * radius ** 2)) / 1000, 2) else: length = 0 + self._material_weights[build_plate_number].append(weight) self._material_lengths[build_plate_number].append(length) self._material_costs[build_plate_number].append(cost) @@ -260,7 +260,7 @@ class PrintInformation(QObject): self._active_build_plate = new_active_build_plate self._updateJobName() - self._initVariablesWithBuildPlate(self._active_build_plate) + self._initVariablesByBuildPlate(self._active_build_plate) self.materialLengthsChanged.emit() self.materialWeightsChanged.emit() @@ -403,9 +403,9 @@ class PrintInformation(QObject): @pyqtSlot(result = "QVariantMap") def getFeaturePrintTimes(self): result = {} - if self._active_build_plate not in self._print_time_message_values: - self._initPrintTimeMessageValues(self._active_build_plate) - for feature, time in self._print_time_message_values[self._active_build_plate].items(): + if self._active_build_plate not in self._print_times_per_feature: + self._initPrintTimesPerFeature(self._active_build_plate) + for feature, time in self._print_times_per_feature[self._active_build_plate].items(): if feature in self._print_time_message_translations: result[self._print_time_message_translations[feature]] = time else: @@ -419,9 +419,9 @@ class PrintInformation(QObject): # Construct the 0-time message temp_message = {} - if build_plate not in self._print_time_message_values: - self._print_time_message_values[build_plate] = {} - for key in self._print_time_message_values[build_plate].keys(): + if build_plate not in self._print_times_per_feature: + self._print_times_per_feature[build_plate] = {} + for key in self._print_times_per_feature[build_plate].keys(): temp_message[key] = 0 temp_material_amounts = [0.] From 45da5b91301bb7d499727e4f7947de4a4e729986 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 14:07:12 +0200 Subject: [PATCH 263/423] Added more specific overrides for get/set globalContainerStack This helps a lot with the type hinting in other bits of the code, since for CuraApplicaiton we know it's always going to be a GlobalStack CURA-5814 --- cura/CuraApplication.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 0b2940044f..b12bc975d4 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -13,6 +13,7 @@ from PyQt5.QtGui import QColor, QIcon from PyQt5.QtWidgets import QMessageBox from PyQt5.QtQml import qmlRegisterUncreatableType, qmlRegisterSingletonType, qmlRegisterType +from UM.Application import Application from UM.PluginError import PluginNotFoundError from UM.Scene.SceneNode import SceneNode from UM.Scene.Camera import Camera @@ -114,12 +115,13 @@ from cura.Settings.CuraFormulaFunctions import CuraFormulaFunctions from cura.ObjectsModel import ObjectsModel from UM.FlameProfiler import pyqtSlot - +from UM.Decorators import override if TYPE_CHECKING: from cura.Machines.MaterialManager import MaterialManager from cura.Machines.QualityManager import QualityManager from UM.Settings.EmptyInstanceContainer import EmptyInstanceContainer + from cura.Settings.GlobalStack import GlobalStack numpy.seterr(all = "ignore") @@ -575,6 +577,14 @@ class CuraApplication(QtApplication): def showPreferences(self): self.showPreferencesWindow.emit() + @override(Application) + def getGlobalContainerStack(self) -> Optional["GlobalStack"]: + return self._global_container_stack + + @override(Application) + def setGlobalContainerStack(self, stack: "GlobalStack") -> None: + super().setGlobalContainerStack(stack) + ## A reusable dialogbox # showMessageBox = pyqtSignal(str, str, str, str, int, int, arguments = ["title", "text", "informativeText", "detailedText", "buttons", "icon"]) From 3ad113f70feb4a4bc7eba6d9bd6a536f4defe3a5 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 14:14:12 +0200 Subject: [PATCH 264/423] Added some missing typing. Since i was changing some stuff here, i better leave it more typed as I found it. CURA-5814 --- cura/CuraApplication.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index b12bc975d4..059802c198 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -4,7 +4,7 @@ import os import sys import time -from typing import cast, TYPE_CHECKING, Optional +from typing import cast, TYPE_CHECKING, Optional, Callable import numpy @@ -421,7 +421,7 @@ class CuraApplication(QtApplication): ) # Runs preparations that needs to be done before the starting process. - def startSplashWindowPhase(self): + def startSplashWindowPhase(self) -> None: super().startSplashWindowPhase() self.setWindowIcon(QIcon(Resources.getPath(Resources.Images, "cura-icon.png"))) @@ -527,15 +527,15 @@ class CuraApplication(QtApplication): self._qml_engine.addImageProvider("print_job_preview", PrintJobPreviewImageProvider.PrintJobPreviewImageProvider()) @pyqtProperty(bool) - def needToShowUserAgreement(self): + def needToShowUserAgreement(self) -> bool: return self._need_to_show_user_agreement - def setNeedToShowUserAgreement(self, set_value = True): + def setNeedToShowUserAgreement(self, set_value = True) -> None: self._need_to_show_user_agreement = set_value # DO NOT call this function to close the application, use checkAndExitApplication() instead which will perform # pre-exit checks such as checking for in-progress USB printing, etc. - def closeApplication(self): + def closeApplication(self) -> None: Logger.log("i", "Close application") main_window = self.getMainWindow() if main_window is not None: @@ -562,11 +562,11 @@ class CuraApplication(QtApplication): showConfirmExitDialog = pyqtSignal(str, arguments = ["message"]) - def setConfirmExitDialogCallback(self, callback): + def setConfirmExitDialogCallback(self, callback: Callable) -> None: self._confirm_exit_dialog_callback = callback @pyqtSlot(bool) - def callConfirmExitDialogCallback(self, yes_or_no: bool): + def callConfirmExitDialogCallback(self, yes_or_no: bool) -> None: self._confirm_exit_dialog_callback(yes_or_no) ## Signal to connect preferences action in QML @@ -574,7 +574,7 @@ class CuraApplication(QtApplication): ## Show the preferences window @pyqtSlot() - def showPreferences(self): + def showPreferences(self) -> None: self.showPreferencesWindow.emit() @override(Application) @@ -596,7 +596,7 @@ class CuraApplication(QtApplication): showDiscardOrKeepProfileChanges = pyqtSignal() - def discardOrKeepProfileChanges(self): + def discardOrKeepProfileChanges(self) -> bool: has_user_interaction = False choice = self.getPreferences().getValue("cura/choice_on_profile_override") if choice == "always_discard": @@ -612,7 +612,7 @@ class CuraApplication(QtApplication): return has_user_interaction @pyqtSlot(str) - def discardOrKeepProfileChangesClosed(self, option): + def discardOrKeepProfileChangesClosed(self, option: str) -> None: global_stack = self.getGlobalContainerStack() if option == "discard": for extruder in global_stack.extruders.values(): From 2dcfc049bae3acfebd6ece56fac7e28f940950fc Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 17 Oct 2018 14:28:17 +0200 Subject: [PATCH 265/423] Remove skeleton loading after print jobs received Contributes to CL-1051 --- .../resources/qml/ClusterMonitorItem.qml | 3 ++- plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index 6148a53343..eb52bdc513 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -70,7 +70,7 @@ Component { top: queuedLabel.bottom; topMargin: UM.Theme.getSize("default_margin").height; } - visible: printJobList.count === 0; + visible: !queuedPrintJobs.visible; width: Math.min(800 * screenScaleFactor, maximumWidth); PrintJobInfoBlock { @@ -104,6 +104,7 @@ Component { bottom: parent.bottom; } style: UM.Theme.styles.scrollview; + visible: OutputDevice.receivedPrintJobs; width: Math.min(800 * screenScaleFactor, maximumWidth); ListView { diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 88ac1c1e76..4c7b93c145 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -48,6 +48,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): printJobsChanged = pyqtSignal() activePrinterChanged = pyqtSignal() activeCameraChanged = pyqtSignal() + receivedPrintJobsChanged = pyqtSignal() # This is a bit of a hack, as the notify can only use signals that are defined by the class that they are in. # Inheritance doesn't seem to work. Tying them together does work, but i'm open for better suggestions. @@ -62,6 +63,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._dummy_lambdas = ("", {}, io.BytesIO()) #type: Tuple[str, Dict, Union[io.StringIO, io.BytesIO]] self._print_jobs = [] # type: List[UM3PrintJobOutputModel] + self._received_print_jobs = False # type: bool self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterMonitorItem.qml") self._control_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../resources/qml/ClusterControlItem.qml") @@ -353,6 +355,10 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def printJobs(self)-> List[UM3PrintJobOutputModel]: return self._print_jobs + @pyqtProperty(bool, notify = receivedPrintJobsChanged) + def receivedPrintJobs(self) -> bool: + return self._received_print_jobs + @pyqtProperty("QVariantList", notify = printJobsChanged) def queuedPrintJobs(self) -> List[UM3PrintJobOutputModel]: return [print_job for print_job in self._print_jobs if print_job.state == "queued" or print_job.state == "error"] @@ -461,6 +467,9 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self.get("print_jobs/{uuid}/preview_image".format(uuid=print_job.key), on_finished=self._onGetPreviewImageFinished) def _onGetPrintJobsFinished(self, reply: QNetworkReply) -> None: + self._received_print_jobs = True + self.receivedPrintJobsChanged.emit() + if not checkValidGetReply(reply): return From 6f33c4410c090166112909bd4e38290066a5ff43 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 17 Oct 2018 14:39:42 +0200 Subject: [PATCH 266/423] Review tweaks Contributes to CL-897 and CL-1051 --- .../resources/qml/ConfigurationChangeBlock.qml | 2 +- plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml index 63815b58bf..3d55ee40e2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -185,7 +185,7 @@ Item { } text: catalog.i18nc("@label", "Override"); visible: { - if (root.job & root.job.configurationChanges) { + if (root.job && root.job.configurationChanges) { var length = root.job.configurationChanges.length; for (var i = 0; i < length; i++) { var typeOfChange = root.job.configurationChanges[i].typeOfChange; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 61009a0ec3..fa4fada0bb 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -233,7 +233,7 @@ Item { // Progress bar PrinterCardProgressBar { - visible: printer && printer.activePrintJob != null && printer.activePrintJob != undefined; + visible: printer && printer.activePrintJob != null; } } } From 907ecc54bd4bfe6b94e92c3cd46d7af365fd0396 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 17 Oct 2018 14:49:03 +0200 Subject: [PATCH 267/423] Use the material weight as fallback CURA-5814 --- cura/PrintInformation.py | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index c7826fcee4..21b57d0806 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -203,33 +203,38 @@ class PrintInformation(QObject): material_preference_values = json.loads(self._application.getInstance().getPreferences().getValue("cura/material_settings")) extruder_stacks = global_stack.extruders - for position, extruder_stack in extruder_stacks.items(): + + for position in extruder_stacks: + extruder_stack = extruder_stacks[position] index = int(position) if index >= len(self._material_amounts): continue amount = self._material_amounts[index] # Find the right extruder stack. As the list isn't sorted because it's a annoying generator, we do some - # list comprehension filtering to solve this for us. + # list comprehension filtering to solve this for us. density = extruder_stack.getMetaDataEntry("properties", {}).get("density", 0) - material = extruder_stack.findContainer({"type": "material"}) + material = extruder_stack.material radius = extruder_stack.getProperty("material_diameter", "value") / 2 weight = float(amount) * float(density) / 1000 cost = 0. - material_name = catalog.i18nc("@label unknown material", "Unknown") - if material: - material_guid = material.getMetaDataEntry("GUID") - material_name = material.getName() - if material_guid in material_preference_values: - material_values = material_preference_values[material_guid] - weight_per_spool = float(material_values["spool_weight"] if material_values and "spool_weight" in material_values else 0) - cost_per_spool = float(material_values["spool_cost"] if material_values and "spool_cost" in material_values else 0) + material_guid = material.getMetaDataEntry("GUID") + material_name = material.getName() + if material_guid in material_preference_values: + material_values = material_preference_values[material_guid] - if weight_per_spool != 0: - cost = cost_per_spool * weight / weight_per_spool - else: - cost = 0 + if material_values and "spool_weight" in material_values: + weight_per_spool = float(material_values["spool_weight"]) + else: + weight_per_spool = float(extruder_stack.getMetaDataEntry("properties", {}).get("weight", 0)) + + cost_per_spool = float(material_values["spool_cost"] if material_values and "spool_cost" in material_values else 0) + + if weight_per_spool != 0: + cost = cost_per_spool * weight / weight_per_spool + else: + cost = 0 # Material amount is sent as an amount of mm^3, so calculate length from that if radius != 0: From 1ad008f45cbea479a1a99c31e8188eb731732d8d Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 17 Oct 2018 16:32:30 +0200 Subject: [PATCH 268/423] Style improvements Contributes to CL-897 and CL-1051 --- .../resources/qml/ConfigurationChangeBlock.qml | 1 - .../resources/qml/PrintCoreConfiguration.qml | 1 - .../resources/qml/PrintJobContextMenu.qml | 4 ++-- .../resources/qml/PrinterCardDetails.qml | 10 ++++++++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml index 3d55ee40e2..29996e405f 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -36,7 +36,6 @@ Item { anchors { left: parent.left; right: parent.right; - top: parent.top; } color: { if(configurationChangeToggle.containsMouse) { diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index e8abb8109e..84ecd71d7c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -15,7 +15,6 @@ Item { // Extruder circle Item { id: extruderCircle; - anchors.verticalCenter: parent.verticalCenter; height: UM.Theme.getSize("monitor_tab_extruder_circle").height; width: UM.Theme.getSize("monitor_tab_extruder_circle").width; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index da4499adf6..7b956a2101 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -39,8 +39,8 @@ Item { Popup { id: popup; background: Item { - height: childrenRect.height; - width: childrenRect.width; + height: popup.height; + width: popup.width; DropShadow { anchors.fill: pointedRectangle; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index d0aa4bf80a..bc819b3aaa 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -10,6 +10,7 @@ import QtQuick.Controls 1.4 as LegacyControls import UM 1.3 as UM Item { + id: root; property var printer: null; property var printJob: printer ? printer.activePrintJob : null; property var collapsed: true; @@ -38,10 +39,13 @@ Item { printJob: root.printer ? root.printer.activePrintJob : null; } - HorizontalLine {} + HorizontalLine { + visible: root.printJob; + } Row { height: childrenRect.height; + visible: root.printJob; width: parent.width; PrintJobTitle { @@ -60,8 +64,9 @@ Item { PrintJobPreview { - job: root.printer && root.printer.activePrintJob ? root.printer.activePrintJob : null; anchors.horizontalCenter: parent.horizontalCenter; + job: root.printer && root.printer.activePrintJob ? root.printer.activePrintJob : null; + visible: root.printJob; } } @@ -74,5 +79,6 @@ Item { leftMargin: Math.round(0.5 * UM.Theme.getSize("default_margin").width); } iconSource: "../svg/camera-icon.svg"; + visible: root.printJob; } } From 38b615c7348c2dcda63679c80e4dadd9a6ec970a Mon Sep 17 00:00:00 2001 From: ChrisTerBeke Date: Wed, 17 Oct 2018 17:43:04 +0200 Subject: [PATCH 269/423] Update OAuth2 scopes Part of STAR-273. --- cura/API/Account.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/API/Account.py b/cura/API/Account.py index bc1ce8c2b9..397e220478 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -45,7 +45,7 @@ class Account(QObject): CALLBACK_PORT=self._callback_port, CALLBACK_URL="http://localhost:{}/callback".format(self._callback_port), CLIENT_ID="um---------------ultimaker_cura_drive_plugin", - CLIENT_SCOPES="user.read drive.backups.read drive.backups.write", + CLIENT_SCOPES="account.user.read drive.backup.read drive.backup.write packages.download packages.rating.read packages.rating.write", AUTH_DATA_PREFERENCE_KEY="general/ultimaker_auth_data", AUTH_SUCCESS_REDIRECT="{}/app/auth-success".format(self._oauth_root), AUTH_FAILED_REDIRECT="{}/app/auth-error".format(self._oauth_root) From db0da61506b12e61dc276b79a4e3370c0a3c3c57 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 18 Oct 2018 14:54:20 +0200 Subject: [PATCH 270/423] Forbid interpolation in setting visibility preset files We might use characters that collide with this. Contributes to issue CURA-5734. --- cura/Settings/SettingVisibilityPreset.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/SettingVisibilityPreset.py b/cura/Settings/SettingVisibilityPreset.py index 78807ea2fb..e8a4211d69 100644 --- a/cura/Settings/SettingVisibilityPreset.py +++ b/cura/Settings/SettingVisibilityPreset.py @@ -69,7 +69,7 @@ class SettingVisibilityPreset(QObject): Logger.log("e", "[%s] is not a file", file_path) return None - parser = ConfigParser(allow_no_value = True) # Accept options without any value, + parser = ConfigParser(interpolation = None, allow_no_value = True) # Accept options without any value, parser.read([file_path]) if not parser.has_option("general", "name") or not parser.has_option("general", "weight"): From 777470db7f06eb64d70e73468d195ab1140eba42 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 18 Oct 2018 15:47:25 +0200 Subject: [PATCH 271/423] Don't force sending M105 requests without OK This prevents serial buffer overflow on the printer. --- plugins/USBPrinting/USBPrinterOutputDevice.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 3609950b7e..ce3342bb72 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -226,14 +226,12 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if self._last_temperature_request is None or time() > self._last_temperature_request + self._timeout: # Timeout, or no request has been sent at all. - self._command_received.set() # We haven't really received the ok, but we need to send a new command - - if not self._printer_busy: # don't flood the printer with temperature requests while it is busy + if not self._printer_busy: # Don't flood the printer with temperature requests while it is busy self.sendCommand("M105") self._last_temperature_request = time() - if self._firmware_name is None: - self.sendCommand("M115") + if self._firmware_name is None: + self.sendCommand("M115") if re.search(b"[B|T\d*]: ?\d+\.?\d*", line): # Temperature message. 'T:' for extruder and 'B:' for bed extruder_temperature_matches = re.findall(b"T(\d*): ?(\d+\.?\d*) ?\/?(\d+\.?\d*)?", line) From 05c2349411e84a2b0883412968f3733708c79f9e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 18 Oct 2018 17:15:28 +0200 Subject: [PATCH 272/423] No longer run setting visibility script It no longer exists. Contributes to issue CURA-5734. --- Jenkinsfile | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 274e383ffa..1cb2eea877 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,16 +23,6 @@ parallel_nodes(['linux && cura', 'windows && cura']) { } catch(e) { currentBuild.result = "UNSTABLE" } - - // Check setting visibilities - try { - sh """ - echo 'Check for duplicate shortcut keys in all translation files.' - ${env.CURA_ENVIRONMENT_PATH}/master/bin/python3 scripts/check_setting_visibility.py - """ - } catch(e) { - currentBuild.result = "UNSTABLE" - } } } From 4e54f13145746e75f2133617eda7a6b188677cb1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 18 Oct 2018 17:22:57 +0200 Subject: [PATCH 273/423] Move shortcut keys test to CMake So that when you run tests locally, you also test this one. --- Jenkinsfile | 14 -------------- cmake/CuraTests.cmake | 10 +++++++++- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1cb2eea877..3ca803d338 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -12,20 +12,6 @@ parallel_nodes(['linux && cura', 'windows && cura']) { // If any error occurs during building, we want to catch it and continue with the "finale" stage. catchError { - stage('Pre Checks') { - if (isUnix()) { - // Check shortcut keys - try { - sh """ - echo 'Check for duplicate shortcut keys in all translation files.' - ${env.CURA_ENVIRONMENT_PATH}/master/bin/python3 scripts/check_shortcut_keys.py - """ - } catch(e) { - currentBuild.result = "UNSTABLE" - } - } - } - // Building and testing should happen in a subdirectory. dir('build') { // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup. diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake index 30794ed608..f2ee92d65b 100644 --- a/cmake/CuraTests.cmake +++ b/cmake/CuraTests.cmake @@ -57,5 +57,13 @@ endforeach() #Add code style test. add_test( NAME "code-style" - COMMAND ${PYTHON_EXECUTABLE} run_mypy.py WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMAND ${PYTHON_EXECUTABLE} run_mypy.py + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +) + +#Add test for whether the shortcut alt-keys are unique in every translation. +add_test( + NAME "shortcut-keys" + COMMAND ${PYTHON_EXECUTABLE} scripts/check_shortcut_keys.py + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} ) \ No newline at end of file From 7b140277d6942d1c131bb50c2decb59961ed7b34 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 18 Oct 2018 17:27:15 +0200 Subject: [PATCH 274/423] Code style: Brackets on new line --- Jenkinsfile | 64 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 3ca803d338..f9a3a9864a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,8 +1,11 @@ -parallel_nodes(['linux && cura', 'windows && cura']) { - timeout(time: 2, unit: "HOURS") { +parallel_nodes(['linux && cura', 'windows && cura']) +{ + timeout(time: 2, unit: "HOURS") + { // Prepare building - stage('Prepare') { + stage('Prepare') + { // Ensure we start with a clean build directory. step([$class: 'WsCleanup']) @@ -11,13 +14,17 @@ parallel_nodes(['linux && cura', 'windows && cura']) { } // If any error occurs during building, we want to catch it and continue with the "finale" stage. - catchError { + catchError + { // Building and testing should happen in a subdirectory. - dir('build') { + dir('build') + { // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup. - stage('Build') { + stage('Build') + { def branch = env.BRANCH_NAME - if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) { + if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) + { branch = "master" } @@ -27,11 +34,14 @@ parallel_nodes(['linux && cura', 'windows && cura']) { } // Try and run the unit tests. If this stage fails, we consider the build to be "unstable". - stage('Unit Test') { - if (isUnix()) { + stage('Unit Test') + { + if (isUnix()) + { // For Linux to show everything def branch = env.BRANCH_NAME - if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) { + if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) + { branch = "master" } def uranium_dir = get_workspace_dir("Ultimaker/Uranium/${branch}") @@ -42,37 +52,48 @@ parallel_nodes(['linux && cura', 'windows && cura']) { export PYTHONPATH=.:"${uranium_dir}" ${env.CURA_ENVIRONMENT_PATH}/${branch}/bin/pytest -x --verbose --full-trace --capture=no ./tests """ - } catch(e) { + } catch(e) + { currentBuild.result = "UNSTABLE" } } - else { + else + { // For Windows - try { + try + { // This also does code style checks. bat 'ctest -V' - } catch(e) { + } catch(e) + { currentBuild.result = "UNSTABLE" } } } - stage('Code Style') { - if (isUnix()) { - // For Linux to show everything + stage('Code Style') + { + if (isUnix()) + { + // For Linux to show everything. + // CMake also runs this test, but if it fails then the test just shows "failed" without details of what exactly failed. def branch = env.BRANCH_NAME - if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) { + if(!fileExists("${env.CURA_ENVIRONMENT_PATH}/${branch}")) + { branch = "master" } def uranium_dir = get_workspace_dir("Ultimaker/Uranium/${branch}") - try { + try + { sh """ cd .. export PYTHONPATH=.:"${uranium_dir}" ${env.CURA_ENVIRONMENT_PATH}/${branch}/bin/python3 run_mypy.py """ - } catch(e) { + } + catch(e) + { currentBuild.result = "UNSTABLE" } } @@ -81,7 +102,8 @@ parallel_nodes(['linux && cura', 'windows && cura']) { } // Perform any post-build actions like notification and publishing of unit tests. - stage('Finalize') { + stage('Finalize') + { // Publish the test results to Jenkins. junit allowEmptyResults: true, testResults: 'build/junit*.xml' From 9aa7b76dbe9b4ef5a04b9afa8299d6c920b2d171 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 19 Oct 2018 07:55:39 +0200 Subject: [PATCH 275/423] Update change log with 3.5.1 changes Too little, too late. But at least you'll be able to look back on it. --- plugins/ChangeLogPlugin/ChangeLog.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index fec177ca60..382b72b0b8 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -1,3 +1,16 @@ +[3.5.1] +*Bug fixes +- Fixed M104 temperature commands giving inaccurate results. +- Fixed crashes caused by loading files from USB stick on Windows platforms. +- Fixed several issues with configuration files that missed the type in the metadata. +- Fixed issues caused by skin/infill optimization. +- Fixed several issues related to missing definition files for third-party printers. +- Fixed an issue where combing path generation cuts corners. +- Fixed a range of crashes caused by lock files. +- Fixed issues with remembering save directories on MacOS. +- Fixed an issue where CuraEngine uses incorrect material settings. +- Fixed an issue where some support layers don't have support infill. + [3.5.0] *Monitor page The monitor page of Ultimaker Cura has been remodeled for better consistency with the Cura Connect ‘Print jobs’ interface. This means less switching between interfaces, and more control from within Ultimaker Cura. From 2512800340c3757a530a14dd03b79eb093527f91 Mon Sep 17 00:00:00 2001 From: THeijmans Date: Fri, 19 Oct 2018 09:25:13 +0200 Subject: [PATCH 276/423] Support - Brim interactions Enable Support - brims and disable 'brim replaces support' for all support materials. --- resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg | 2 ++ resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg | 2 ++ .../quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg | 2 ++ resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg | 2 ++ resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg | 2 ++ .../quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg | 2 ++ .../quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg | 2 ++ resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg | 2 ++ .../quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg | 2 ++ .../quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg | 2 ++ .../quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg | 2 ++ .../quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg | 2 ++ .../ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg | 2 ++ .../quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg | 2 ++ .../quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg | 2 ++ .../quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg | 2 ++ .../ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg | 2 ++ .../quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg | 2 ++ .../ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg | 2 ++ .../ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg | 2 ++ 20 files changed, 40 insertions(+) diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg index a1fc6b7e6f..df7f0fdf02 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Draft_Print.inst.cfg @@ -12,6 +12,7 @@ material = generic_bam variant = AA 0.4 [values] +brim_replaces_support = False cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed machine_nozzle_cool_down_speed = 0.75 @@ -26,6 +27,7 @@ speed_wall = =math.ceil(speed_print * 50 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 50) top_bottom_thickness = 1 wall_thickness = 1 +support_brim_enable = True support_interface_enable = True support_interface_density = =min(extruderValues('material_surface_energy')) support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric' diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg index ac21cce120..cf330dc984 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Fast_Print.inst.cfg @@ -12,6 +12,7 @@ material = generic_bam variant = AA 0.4 [values] +brim_replaces_support = False cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed machine_nozzle_cool_down_speed = 0.75 @@ -25,6 +26,7 @@ speed_wall = =math.ceil(speed_print * 40 / 80) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) top_bottom_thickness = 1 wall_thickness = 1 +support_brim_enable = True support_interface_enable = True support_interface_density = =min(extruderValues('material_surface_energy')) support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric' diff --git a/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg index 290ee6c4db..705c9c4105 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_BAM_Normal_Quality.inst.cfg @@ -12,6 +12,7 @@ material = generic_bam variant = AA 0.4 [values] +brim_replaces_support = False cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed cool_min_speed = 7 @@ -21,6 +22,7 @@ material_print_temperature = =default_material_print_temperature - 10 prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 skin_overlap = 10 speed_layer_0 = =math.ceil(speed_print * 20 / 70) +support_brim_enable = True support_interface_enable = True support_interface_density = =min(extruderValues('material_surface_energy')) support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric' diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index 816238fe69..7010d292b2 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -12,7 +12,9 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 prime_tower_enable = False skin_overlap = 20 +support_brim_enable = True diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 58d5d58802..325609362f 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -12,8 +12,10 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 prime_tower_enable = False skin_overlap = 15 +support_brim_enable = True support_infill_sparse_thickness = 0.3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index 3d7a54564a..a0507299fb 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -12,6 +12,8 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +support_brim_enable = True support_infill_sparse_thickness = 0.18 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index ffd99ed9ef..086f811b36 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -12,5 +12,7 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +support_brim_enable = True diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index 51c27f6a14..28556ca7bf 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -12,5 +12,7 @@ material = generic_pva variant = BB 0.8 [values] +brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 +support_brim_enable = True diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index 3f645a2a50..9ad5499f18 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -12,6 +12,8 @@ material = generic_pva variant = BB 0.8 [values] +brim_replaces_support = False layer_height = 0.4 material_standby_temperature = 100 +support_brim_enable = True support_interface_height = 0.9 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index 285b9bb9ed..e616214704 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -12,7 +12,9 @@ material = generic_pva variant = BB 0.8 [values] +brim_replaces_support = False layer_height = 0.3 material_standby_temperature = 100 +support_brim_enable = True support_infill_sparse_thickness = 0.3 support_interface_height = 1.2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg index 1c316da6ba..254afbc109 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Draft_Print.inst.cfg @@ -12,6 +12,7 @@ material = generic_bam variant = AA 0.4 [values] +brim_replaces_support = False cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed machine_nozzle_cool_down_speed = 0.75 @@ -26,6 +27,7 @@ speed_wall = =math.ceil(speed_print * 50 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 50) top_bottom_thickness = 1 wall_thickness = 1 +support_brim_enable = True support_interface_enable = True support_interface_density = =min(extruderValues('material_surface_energy')) support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric' diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg index 2913a021f0..39bedce77f 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Fast_Print.inst.cfg @@ -12,6 +12,7 @@ material = generic_bam variant = AA 0.4 [values] +brim_replaces_support = False cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed machine_nozzle_cool_down_speed = 0.75 @@ -25,6 +26,7 @@ speed_wall = =math.ceil(speed_print * 40 / 80) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) top_bottom_thickness = 1 wall_thickness = 1 +support_brim_enable = True support_interface_enable = True support_interface_density = =min(extruderValues('material_surface_energy')) support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric' diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg index 65c922fe6f..c87d590650 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_BAM_Normal_Quality.inst.cfg @@ -12,6 +12,7 @@ material = generic_bam variant = AA 0.4 [values] +brim_replaces_support = False cool_fan_full_at_height = =layer_height_0 + 2 * layer_height cool_fan_speed_max = =cool_fan_speed cool_min_speed = 7 @@ -22,6 +23,7 @@ material_print_temperature = =default_material_print_temperature - 10 prime_tower_enable = =min(extruderValues('material_surface_energy')) < 100 skin_overlap = 10 speed_layer_0 = =math.ceil(speed_print * 20 / 70) +support_brim_enable = True support_interface_enable = True support_interface_density = =min(extruderValues('material_surface_energy')) support_interface_pattern = ='lines' if support_interface_density < 100 else 'concentric' diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg index 3997943db1..73639be0b6 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Draft_Print.inst.cfg @@ -12,7 +12,9 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 prime_tower_enable = False skin_overlap = 20 +support_brim_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg index 52fcca9934..5da25be32d 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Fast_Print.inst.cfg @@ -12,8 +12,10 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 prime_tower_enable = False skin_overlap = 15 +support_brim_enable = True support_infill_sparse_thickness = 0.3 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg index bc183a4549..36634af2c8 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_High_Quality.inst.cfg @@ -12,6 +12,8 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +support_brim_enable = True support_infill_sparse_thickness = 0.18 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg index 0d5cc5bcfc..f76c4c944a 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.4_PVA_Normal_Quality.inst.cfg @@ -12,5 +12,7 @@ material = generic_pva variant = BB 0.4 [values] +brim_replaces_support = False material_standby_temperature = 100 prime_tower_enable = False +support_brim_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg index 465c526f2c..e4e3ab772a 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Draft_Print.inst.cfg @@ -12,5 +12,7 @@ material = generic_pva variant = BB 0.8 [values] +brim_replaces_support = False material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 +support_brim_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg index b3f6df39f9..5e78e51014 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -12,5 +12,7 @@ material = generic_pva variant = BB 0.8 [values] +brim_replaces_support = False material_standby_temperature = 100 +support_brim_enable = True support_interface_height = 0.9 diff --git a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg index d6ef272a4d..5af09aebcc 100644 --- a/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -12,6 +12,8 @@ material = generic_pva variant = BB 0.8 [values] +brim_replaces_support = False material_standby_temperature = 100 +support_brim_enable = True support_infill_sparse_thickness = 0.3 support_interface_height = 1.2 From 2eb9b111fc099d73d555f26fb76d42232dffb0b5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 19 Oct 2018 09:55:23 +0200 Subject: [PATCH 277/423] Fix changing flow rate in dual extrusion This potentially set the flow rate to -1, since it was changing the flow rate to the old['flowrateTwo'] which was left at -1 since initialisation because it didn't update here. --- plugins/PostProcessingPlugin/scripts/ChangeAtZ.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py b/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py index 54d6fdb155..919b06d28e 100644 --- a/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py +++ b/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py @@ -407,13 +407,13 @@ class ChangeAtZ(Script): if "M106" in line and state < 3: #looking for fan speed old["fanSpeed"] = self.getValue(line, "S", old["fanSpeed"]) if "M221" in line and state < 3: #looking for flow rate - tmp_extruder = self.getValue(line,"T",None) + tmp_extruder = self.getValue(line, "T", None) if tmp_extruder == None: #check if extruder is specified old["flowrate"] = self.getValue(line, "S", old["flowrate"]) elif tmp_extruder == 0: #first extruder old["flowrateOne"] = self.getValue(line, "S", old["flowrateOne"]) elif tmp_extruder == 1: #second extruder - old["flowrateOne"] = self.getValue(line, "S", old["flowrateOne"]) + old["flowrateTwo"] = self.getValue(line, "S", old["flowrateTwo"]) if ("M84" in line or "M25" in line): if state>0 and ChangeProp["speed"]: #"finish" commands for UM Original and UM2 modified_gcode += "M220 S100 ; speed reset to 100% at the end of print\n" From e5efd1e41f839cc6be173948e94806a966e15221 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:32:40 +0200 Subject: [PATCH 278/423] Move constant definition into constructor CURA-5812 --- cura/CuraApplication.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index f8fc081d5c..c91514c37a 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -166,6 +166,8 @@ class CuraApplication(QtApplication): self.default_theme = "cura-light" + self.change_log_url = "https://ultimaker.com/ultimaker-cura-latest-features" + self._boot_loading_time = time.time() self._on_exit_callback_manager = OnExitCallbackManager(self) @@ -302,8 +304,6 @@ class CuraApplication(QtApplication): self._machine_action_manager = MachineActionManager.MachineActionManager(self) self._machine_action_manager.initialize() - self.change_log_url = "https://ultimaker.com/ultimaker-cura-latest-features" - def __sendCommandToSingleInstance(self): self._single_instance = SingleInstance(self, self._files_to_open) From 9b94db8957fcd3c6f6bdddab6708406a276e1ee9 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:37:20 +0200 Subject: [PATCH 279/423] Directly use empty containers in MachineManager CURA-5812 Instead of looking up for the empty containers via ContainerRegistry, import and use them directly. --- cura/CuraApplication.py | 2 +- cura/Settings/MachineManager.py | 87 ++++++++++++++++----------------- 2 files changed, 43 insertions(+), 46 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c91514c37a..9f309c9e7b 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -691,7 +691,7 @@ class CuraApplication(QtApplication): self._quality_manager.initialize() Logger.log("i", "Initializing machine manager") - self._machine_manager = MachineManager(self) + self._machine_manager = MachineManager(self, parent = self) Logger.log("i", "Initializing container manager") self._container_manager = ContainerManager(self) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 063f894d23..e5902106e3 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -20,7 +20,6 @@ from UM.Message import Message from UM.Settings.SettingFunction import SettingFunction from UM.Signal import postponeSignals, CompressTechnique -import cura.CuraApplication from cura.Machines.QualityManager import getMachineDefinitionIDForQualitySearch from cura.PrinterOutputDevice import PrinterOutputDevice from cura.PrinterOutput.ConfigurationModel import ConfigurationModel @@ -29,6 +28,9 @@ from cura.PrinterOutput.MaterialOutputModel import MaterialOutputModel from cura.Settings.CuraContainerRegistry import CuraContainerRegistry from cura.Settings.ExtruderManager import ExtruderManager from cura.Settings.ExtruderStack import ExtruderStack +from cura.Settings.cura_empty_instance_containers import (empty_definition_changes_container, empty_variant_container, + empty_material_container, empty_quality_container, + empty_quality_changes_container) from .CuraStackBuilder import CuraStackBuilder @@ -36,6 +38,7 @@ from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication from cura.Settings.CuraContainerStack import CuraContainerStack from cura.Settings.GlobalStack import GlobalStack from cura.Machines.MaterialManager import MaterialManager @@ -47,7 +50,7 @@ if TYPE_CHECKING: class MachineManager(QObject): - def __init__(self, parent: QObject = None) -> None: + def __init__(self, application: "CuraApplication", parent: Optional["QObject"] = None) -> None: super().__init__(parent) self._active_container_stack = None # type: Optional[ExtruderStack] @@ -66,9 +69,10 @@ class MachineManager(QObject): self._instance_container_timer.setSingleShot(True) self._instance_container_timer.timeout.connect(self.__emitChangedSignals) - self._application = cura.CuraApplication.CuraApplication.getInstance() #type: cura.CuraApplication.CuraApplication + self._application = application + self._container_registry = self._application.getContainerRegistry() self._application.globalContainerStackChanged.connect(self._onGlobalContainerChanged) - self._application.getContainerRegistry().containerLoadComplete.connect(self._onContainersChanged) + self._container_registry.containerLoadComplete.connect(self._onContainersChanged) ## When the global container is changed, active material probably needs to be updated. self.globalContainerChanged.connect(self.activeMaterialChanged) @@ -80,13 +84,6 @@ class MachineManager(QObject): self._stacks_have_errors = None # type: Optional[bool] - self._empty_container = CuraContainerRegistry.getInstance().getEmptyInstanceContainer() #type: InstanceContainer - self._empty_definition_changes_container = CuraContainerRegistry.getInstance().findContainers(id = "empty_definition_changes")[0] #type: InstanceContainer - self._empty_variant_container = CuraContainerRegistry.getInstance().findContainers(id = "empty_variant")[0] #type: InstanceContainer - self._empty_material_container = CuraContainerRegistry.getInstance().findContainers(id = "empty_material")[0] #type: InstanceContainer - self._empty_quality_container = CuraContainerRegistry.getInstance().findContainers(id = "empty_quality")[0] #type: InstanceContainer - self._empty_quality_changes_container = CuraContainerRegistry.getInstance().findContainers(id = "empty_quality_changes")[0] #type: InstanceContainer - self._onGlobalContainerChanged() ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderStackChanged) @@ -192,19 +189,19 @@ class MachineManager(QObject): for extruder in self._global_container_stack.extruders.values(): extruder_configuration = ExtruderConfigurationModel() # For compare just the GUID is needed at this moment - mat_type = extruder.material.getMetaDataEntry("material") if extruder.material != self._empty_material_container else None - mat_guid = extruder.material.getMetaDataEntry("GUID") if extruder.material != self._empty_material_container else None - mat_color = extruder.material.getMetaDataEntry("color_name") if extruder.material != self._empty_material_container else None - mat_brand = extruder.material.getMetaDataEntry("brand") if extruder.material != self._empty_material_container else None - mat_name = extruder.material.getMetaDataEntry("name") if extruder.material != self._empty_material_container else None + mat_type = extruder.material.getMetaDataEntry("material") if extruder.material != empty_material_container else None + mat_guid = extruder.material.getMetaDataEntry("GUID") if extruder.material != empty_material_container else None + mat_color = extruder.material.getMetaDataEntry("color_name") if extruder.material != empty_material_container else None + mat_brand = extruder.material.getMetaDataEntry("brand") if extruder.material != empty_material_container else None + mat_name = extruder.material.getMetaDataEntry("name") if extruder.material != empty_material_container else None material_model = MaterialOutputModel(mat_guid, mat_type, mat_color, mat_brand, mat_name) extruder_configuration.position = int(extruder.getMetaDataEntry("position")) extruder_configuration.material = material_model - extruder_configuration.hotendID = extruder.variant.getName() if extruder.variant != self._empty_variant_container else None + extruder_configuration.hotendID = extruder.variant.getName() if extruder.variant != empty_variant_container else None self._current_printer_configuration.extruderConfigurations.append(extruder_configuration) - self._current_printer_configuration.buildplateConfiguration = self._global_container_stack.getProperty("machine_buildplate_type", "value") if self._global_container_stack.variant != self._empty_variant_container else None + self._current_printer_configuration.buildplateConfiguration = self._global_container_stack.getProperty("machine_buildplate_type", "value") if self._global_container_stack.variant != empty_variant_container else None self.currentConfigurationChanged.emit() @pyqtSlot(QObject, result = bool) @@ -258,14 +255,14 @@ class MachineManager(QObject): # Global stack can have only a variant if it is a buildplate global_variant = self._global_container_stack.variant - if global_variant != self._empty_variant_container: + if global_variant != empty_variant_container: if global_variant.getMetaDataEntry("hardware_type") != "buildplate": - self._global_container_stack.setVariant(self._empty_variant_container) + self._global_container_stack.setVariant(empty_variant_container) # set the global material to empty as we now use the extruder stack at all times - CURA-4482 global_material = self._global_container_stack.material - if global_material != self._empty_material_container: - self._global_container_stack.setMaterial(self._empty_material_container) + if global_material != empty_material_container: + self._global_container_stack.setMaterial(empty_material_container) # Listen for changes on all extruder stacks for extruder_stack in ExtruderManager.getInstance().getActiveExtruderStacks(): @@ -593,7 +590,7 @@ class MachineManager(QObject): def globalVariantName(self) -> str: if self._global_container_stack: variant = self._global_container_stack.variant - if variant and not isinstance(variant, type(self._empty_variant_container)): + if variant and not isinstance(variant, type(empty_variant_container)): return variant.getName() return "" @@ -781,7 +778,7 @@ class MachineManager(QObject): if not stack.isEnabled: continue material_container = stack.material - if material_container == self._empty_material_container: + if material_container == empty_material_container: continue if material_container.getMetaDataEntry("buildplate_compatible"): buildplate_compatible = buildplate_compatible and material_container.getMetaDataEntry("buildplate_compatible")[self.activeVariantBuildplateName] @@ -803,7 +800,7 @@ class MachineManager(QObject): extruder_stacks = self._global_container_stack.extruders.values() for stack in extruder_stacks: material_container = stack.material - if material_container == self._empty_material_container: + if material_container == empty_material_container: continue buildplate_compatible = material_container.getMetaDataEntry("buildplate_compatible")[self.activeVariantBuildplateName] if material_container.getMetaDataEntry("buildplate_compatible") else True buildplate_usable = material_container.getMetaDataEntry("buildplate_recommended")[self.activeVariantBuildplateName] if material_container.getMetaDataEntry("buildplate_recommended") else True @@ -873,7 +870,7 @@ class MachineManager(QObject): extruder_manager = self._application.getExtruderManager() definition_changes_container = self._global_container_stack.definitionChanges - if not self._global_container_stack or definition_changes_container == self._empty_definition_changes_container: + if not self._global_container_stack or definition_changes_container == empty_definition_changes_container: return previous_extruder_count = self._global_container_stack.getProperty("machine_extruder_count", "value") @@ -1072,7 +1069,7 @@ class MachineManager(QObject): for stack in active_stacks: variant_container = stack.variant position = stack.getMetaDataEntry("position") - if variant_container and variant_container != self._empty_variant_container: + if variant_container and variant_container != empty_variant_container: result[position] = variant_container.getName() return result @@ -1086,11 +1083,11 @@ class MachineManager(QObject): return self._current_quality_group = None self._current_quality_changes_group = None - self._global_container_stack.quality = self._empty_quality_container - self._global_container_stack.qualityChanges = self._empty_quality_changes_container + self._global_container_stack.quality = empty_quality_container + self._global_container_stack.qualityChanges = empty_quality_changes_container for extruder in self._global_container_stack.extruders.values(): - extruder.quality = self._empty_quality_container - extruder.qualityChanges = self._empty_quality_changes_container + extruder.quality = empty_quality_container + extruder.qualityChanges = empty_quality_changes_container self.activeQualityGroupChanged.emit() self.activeQualityChangesGroupChanged.emit() @@ -1115,13 +1112,13 @@ class MachineManager(QObject): # Set quality and quality_changes for the GlobalStack self._global_container_stack.quality = quality_group.node_for_global.getContainer() if empty_quality_changes: - self._global_container_stack.qualityChanges = self._empty_quality_changes_container + self._global_container_stack.qualityChanges = empty_quality_changes_container # Set quality and quality_changes for each ExtruderStack for position, node in quality_group.nodes_for_extruders.items(): self._global_container_stack.extruders[str(position)].quality = node.getContainer() if empty_quality_changes: - self._global_container_stack.extruders[str(position)].qualityChanges = self._empty_quality_changes_container + self._global_container_stack.extruders[str(position)].qualityChanges = empty_quality_changes_container self.activeQualityGroupChanged.emit() self.activeQualityChangesGroupChanged.emit() @@ -1147,8 +1144,8 @@ class MachineManager(QObject): if quality_group is None: self._fixQualityChangesGroupToNotSupported(quality_changes_group) - quality_changes_container = self._empty_quality_changes_container - quality_container = self._empty_quality_container # type: Optional[InstanceContainer] + quality_changes_container = empty_quality_changes_container + quality_container = empty_quality_container # type: Optional[InstanceContainer] if quality_changes_group.node_for_global and quality_changes_group.node_for_global.getContainer(): quality_changes_container = cast(InstanceContainer, quality_changes_group.node_for_global.getContainer()) if quality_group is not None and quality_group.node_for_global and quality_group.node_for_global.getContainer(): @@ -1163,8 +1160,8 @@ class MachineManager(QObject): if quality_group is not None: quality_node = quality_group.nodes_for_extruders.get(position) - quality_changes_container = self._empty_quality_changes_container - quality_container = self._empty_quality_container + quality_changes_container = empty_quality_changes_container + quality_container = empty_quality_container if quality_changes_node and quality_changes_node.getContainer(): quality_changes_container = cast(InstanceContainer, quality_changes_node.getContainer()) if quality_node and quality_node.getContainer(): @@ -1198,7 +1195,7 @@ class MachineManager(QObject): self._global_container_stack.extruders[position].material = container_node.getContainer() root_material_id = container_node.getMetaDataEntry("base_file", None) else: - self._global_container_stack.extruders[position].material = self._empty_material_container + self._global_container_stack.extruders[position].material = empty_material_container root_material_id = None # The _current_root_material_id is used in the MaterialMenu to see which material is selected if root_material_id != self._current_root_material_id[position]: @@ -1273,7 +1270,7 @@ class MachineManager(QObject): current_material_base_name = extruder.material.getMetaDataEntry("base_file") current_nozzle_name = None - if extruder.variant.getId() != self._empty_variant_container.getId(): + if extruder.variant.getId() != empty_variant_container.getId(): current_nozzle_name = extruder.variant.getMetaDataEntry("name") from UM.Settings.Interfaces import PropertyEvaluationContext @@ -1348,12 +1345,12 @@ class MachineManager(QObject): if variant_container_node: self._setVariantNode(position, variant_container_node) else: - self._global_container_stack.extruders[position].variant = self._empty_variant_container + self._global_container_stack.extruders[position].variant = empty_variant_container if material_container_node: self._setMaterial(position, material_container_node) else: - self._global_container_stack.extruders[position].material = self._empty_material_container + self._global_container_stack.extruders[position].material = empty_material_container self.updateMaterialWithVariant(position) if configuration.buildplateConfiguration is not None: @@ -1361,9 +1358,9 @@ class MachineManager(QObject): if global_variant_container_node: self._setGlobalVariant(global_variant_container_node) else: - self._global_container_stack.variant = self._empty_variant_container + self._global_container_stack.variant = empty_variant_container else: - self._global_container_stack.variant = self._empty_variant_container + self._global_container_stack.variant = empty_variant_container self._updateQualityWithMaterial() # See if we need to show the Discard or Keep changes screen @@ -1481,7 +1478,7 @@ class MachineManager(QObject): # This is not changing the quality for the active machine !!!!!!!! global_stack.quality = quality_group.node_for_global.getContainer() for extruder_nr, extruder_stack in global_stack.extruders.items(): - quality_container = self._empty_quality_container + quality_container = empty_quality_container if extruder_nr in quality_group.nodes_for_extruders: container = quality_group.nodes_for_extruders[extruder_nr].getContainer() quality_container = container if container is not None else quality_container @@ -1525,7 +1522,7 @@ class MachineManager(QObject): @pyqtProperty(str, notify = activeQualityGroupChanged) def activeQualityOrQualityChangesName(self) -> str: - name = self._empty_quality_container.getName() + name = empty_quality_container.getName() if self._current_quality_changes_group: name = self._current_quality_changes_group.name elif self._current_quality_group: From c1b9d527bb1d72e95b76c8ebe18eea6b8e702446 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:38:39 +0200 Subject: [PATCH 280/423] Add typing for MachineAction CURA-5812 --- cura/MachineAction.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/cura/MachineAction.py b/cura/MachineAction.py index 969fef0edf..94b096f9c1 100644 --- a/cura/MachineAction.py +++ b/cura/MachineAction.py @@ -1,13 +1,13 @@ # Copyright (c) 2016 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +import os + from PyQt5.QtCore import QObject, pyqtSlot, pyqtProperty, pyqtSignal +from UM.Logger import Logger from UM.PluginObject import PluginObject from UM.PluginRegistry import PluginRegistry -from UM.Application import Application - -import os ## Machine actions are actions that are added to a specific machine type. Examples of such actions are @@ -19,7 +19,7 @@ class MachineAction(QObject, PluginObject): ## Create a new Machine action. # \param key unique key of the machine action # \param label Human readable label used to identify the machine action. - def __init__(self, key, label = ""): + def __init__(self, key: str, label: str = "") -> None: super().__init__() self._key = key self._label = label @@ -30,14 +30,14 @@ class MachineAction(QObject, PluginObject): labelChanged = pyqtSignal() onFinished = pyqtSignal() - def getKey(self): + def getKey(self) -> str: return self._key @pyqtProperty(str, notify = labelChanged) - def label(self): + def label(self) -> str: return self._label - def setLabel(self, label): + def setLabel(self, label: str) -> None: if self._label != label: self._label = label self.labelChanged.emit() @@ -46,29 +46,35 @@ class MachineAction(QObject, PluginObject): # This should not be re-implemented by child classes, instead re-implement _reset. # /sa _reset @pyqtSlot() - def reset(self): + def reset(self) -> None: self._finished = False self._reset() ## Protected implementation of reset. # /sa reset() - def _reset(self): + def _reset(self) -> None: pass @pyqtSlot() - def setFinished(self): + def setFinished(self) -> None: self._finished = True self._reset() self.onFinished.emit() @pyqtProperty(bool, notify = onFinished) - def finished(self): + def finished(self) -> bool: return self._finished ## Protected helper to create a view object based on provided QML. - def _createViewFromQML(self): - path = os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), self._qml_url) - self._view = Application.getInstance().createQmlComponent(path, {"manager": self}) + def _createViewFromQML(self) -> None: + plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId()) + if plugin_path is None: + Logger.log("e", "Cannot create QML view: cannot find plugin path for plugin [%s]", self.getPluginId()) + return + path = os.path.join(plugin_path, self._qml_url) + + from cura.CuraApplication import CuraApplication + self._view = CuraApplication.getInstance().createQmlComponent(path, {"manager": self}) @pyqtProperty(QObject, constant = True) def displayItem(self): From 6dc01d4c0811d6d368ed1a76a825fc9b6a5cbe43 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:42:08 +0200 Subject: [PATCH 281/423] Add typing for MachineActionsManager CURA-5812 --- cura/MachineActionManager.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/cura/MachineActionManager.py b/cura/MachineActionManager.py index 65eb33b54c..1c99b45c9d 100644 --- a/cura/MachineActionManager.py +++ b/cura/MachineActionManager.py @@ -1,12 +1,18 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from typing import TYPE_CHECKING, Optional, List, Set + from PyQt5.QtCore import QObject from UM.FlameProfiler import pyqtSlot from UM.Logger import Logger from UM.PluginRegistry import PluginRegistry # So MachineAction can be added as plugin type -from UM.Settings.DefinitionContainer import DefinitionContainer + +if TYPE_CHECKING: + from cura.CuraApplication import CuraApplication + from cura.Settings.GlobalStack import GlobalStack + from .MachineAction import MachineAction ## Raised when trying to add an unknown machine action as a required action @@ -20,9 +26,10 @@ class NotUniqueMachineActionError(Exception): class MachineActionManager(QObject): - def __init__(self, application, parent = None): - super().__init__(parent) + def __init__(self, application: "CuraApplication", parent: Optional["QObject"] = None): + super().__init__(parent = parent) self._application = application + self._container_registry = self._application.getContainerRegistry() self._machine_actions = {} # Dict of all known machine actions self._required_actions = {} # Dict of all required actions by definition ID @@ -30,8 +37,6 @@ class MachineActionManager(QObject): self._first_start_actions = {} # Dict of all actions that need to be done when first added by definition ID def initialize(self): - container_registry = self._application.getContainerRegistry() - # Add machine_action as plugin type PluginRegistry.addType("machine_action", self.addMachineAction) @@ -59,7 +64,7 @@ class MachineActionManager(QObject): ## Add a required action to a machine # Raises an exception when the action is not recognised. - def addRequiredAction(self, definition_id, action_key): + def addRequiredAction(self, definition_id: str, action_key: str) -> None: if action_key in self._machine_actions: if definition_id in self._required_actions: if self._machine_actions[action_key] not in self._required_actions[definition_id]: @@ -70,7 +75,7 @@ class MachineActionManager(QObject): raise UnknownMachineActionError("Action %s, which is required for %s is not known." % (action_key, definition_id)) ## Add a supported action to a machine. - def addSupportedAction(self, definition_id, action_key): + def addSupportedAction(self, definition_id: str, action_key: str) -> None: if action_key in self._machine_actions: if definition_id in self._supported_actions: if self._machine_actions[action_key] not in self._supported_actions[definition_id]: @@ -95,7 +100,7 @@ class MachineActionManager(QObject): ## Add a (unique) MachineAction # if the Key of the action is not unique, an exception is raised. - def addMachineAction(self, action): + def addMachineAction(self, action: "MachineAction") -> None: if action.getKey() not in self._machine_actions: self._machine_actions[action.getKey()] = action else: @@ -105,7 +110,7 @@ class MachineActionManager(QObject): # \param definition_id The ID of the definition you want the supported actions of # \returns set of supported actions. @pyqtSlot(str, result = "QVariantList") - def getSupportedActions(self, definition_id): + def getSupportedActions(self, definition_id: str) -> List["MachineAction"]: if definition_id in self._supported_actions: return list(self._supported_actions[definition_id]) else: @@ -114,7 +119,7 @@ class MachineActionManager(QObject): ## Get all actions required by given machine # \param definition_id The ID of the definition you want the required actions of # \returns set of required actions. - def getRequiredActions(self, definition_id): + def getRequiredActions(self, definition_id: str) -> Set["MachineAction"]: if definition_id in self._required_actions: return self._required_actions[definition_id] else: @@ -126,7 +131,7 @@ class MachineActionManager(QObject): # \param definition_id The ID of the definition that you want to get the "on added" actions for. # \returns List of actions. @pyqtSlot(str, result="QVariantList") - def getFirstStartActions(self, definition_id): + def getFirstStartActions(self, definition_id: str) -> List["MachineAction"]: if definition_id in self._first_start_actions: return self._first_start_actions[definition_id] else: @@ -134,7 +139,7 @@ class MachineActionManager(QObject): ## Remove Machine action from manager # \param action to remove - def removeMachineAction(self, action): + def removeMachineAction(self, action: "MachineAction") -> None: try: del self._machine_actions[action.getKey()] except KeyError: @@ -143,7 +148,7 @@ class MachineActionManager(QObject): ## Get MachineAction by key # \param key String of key to select # \return Machine action if found, None otherwise - def getMachineAction(self, key): + def getMachineAction(self, key: str) -> Optional["MachineAction"]: if key in self._machine_actions: return self._machine_actions[key] else: From c67abb61a8daf8d55f8ac177c585d6a239922d25 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:43:48 +0200 Subject: [PATCH 282/423] Remove unused argument "index" in addFirstStartAction() CURA-5812 --- cura/MachineActionManager.py | 7 ++----- tests/TestMachineAction.py | 9 --------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/cura/MachineActionManager.py b/cura/MachineActionManager.py index 1c99b45c9d..cfa40e9e4b 100644 --- a/cura/MachineActionManager.py +++ b/cura/MachineActionManager.py @@ -86,13 +86,10 @@ class MachineActionManager(QObject): Logger.log("w", "Unable to add %s to %s, as the action is not recognised", action_key, definition_id) ## Add an action to the first start list of a machine. - def addFirstStartAction(self, definition_id, action_key, index = None): + def addFirstStartAction(self, definition_id: str, action_key: str) -> None: if action_key in self._machine_actions: if definition_id in self._first_start_actions: - if index is not None: - self._first_start_actions[definition_id].insert(index, self._machine_actions[action_key]) - else: - self._first_start_actions[definition_id].append(self._machine_actions[action_key]) + self._first_start_actions[definition_id].append(self._machine_actions[action_key]) else: self._first_start_actions[definition_id] = [self._machine_actions[action_key]] else: diff --git a/tests/TestMachineAction.py b/tests/TestMachineAction.py index 7121fcc218..f23d15adcc 100755 --- a/tests/TestMachineAction.py +++ b/tests/TestMachineAction.py @@ -65,12 +65,3 @@ def test_addMachineAction(machine_action_manager): machine_action_manager.addFirstStartAction(test_machine, "test_action") machine_action_manager.addFirstStartAction(test_machine, "test_action") assert machine_action_manager.getFirstStartActions(test_machine) == [test_action, test_action] - - # Check if inserting an action works - machine_action_manager.addFirstStartAction(test_machine, "test_action_2", index = 1) - assert machine_action_manager.getFirstStartActions(test_machine) == [test_action, test_action_2, test_action] - - # Check that adding a unknown action doesn't change anything. - machine_action_manager.addFirstStartAction(test_machine, "key_that_doesnt_exist", index = 1) - assert machine_action_manager.getFirstStartActions(test_machine) == [test_action, test_action_2, test_action] - From 59704e4c0eeefb0a8139b2993d555511caf39ca5 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:44:45 +0200 Subject: [PATCH 283/423] Make sure that a machine's default actions are added before it gets activated CURA-5812 --- cura/MachineActionManager.py | 39 +++++++++++++++++++-------------- cura/Settings/MachineManager.py | 4 ++++ 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/cura/MachineActionManager.py b/cura/MachineActionManager.py index cfa40e9e4b..f436db82f7 100644 --- a/cura/MachineActionManager.py +++ b/cura/MachineActionManager.py @@ -31,6 +31,9 @@ class MachineActionManager(QObject): self._application = application self._container_registry = self._application.getContainerRegistry() + # Keeps track of which machines have already been processed so we don't do that again. + self._definition_ids_with_default_actions_added = set() # type: Set[str] + self._machine_actions = {} # Dict of all known machine actions self._required_actions = {} # Dict of all required actions by definition ID self._supported_actions = {} # Dict of all supported actions by definition ID @@ -40,27 +43,29 @@ class MachineActionManager(QObject): # Add machine_action as plugin type PluginRegistry.addType("machine_action", self.addMachineAction) - # Ensure that all containers that were registered before creation of this registry are also handled. - # This should not have any effect, but it makes it safer if we ever refactor the order of things. - for container in container_registry.findDefinitionContainers(): - self._onContainerAdded(container) + # Adds all default machine actions that are defined in the machine definition for the given machine. + def addDefaultMachineActions(self, global_stack: "GlobalStack") -> None: + definition_id = global_stack.definition.getId() - container_registry.containerAdded.connect(self._onContainerAdded) + if definition_id in self._definition_ids_with_default_actions_added: + Logger.log("i", "Default machine actions have been added for machine definition [%s], do nothing.", + definition_id) + return - def _onContainerAdded(self, container): - ## Ensure that the actions are added to this manager - if isinstance(container, DefinitionContainer): - supported_actions = container.getMetaDataEntry("supported_actions", []) - for action in supported_actions: - self.addSupportedAction(container.getId(), action) + supported_actions = global_stack.getMetaDataEntry("supported_actions", []) + for action in supported_actions: + self.addSupportedAction(definition_id, action) - required_actions = container.getMetaDataEntry("required_actions", []) - for action in required_actions: - self.addRequiredAction(container.getId(), action) + required_actions = global_stack.getMetaDataEntry("required_actions", []) + for action in required_actions: + self.addRequiredAction(definition_id, action) - first_start_actions = container.getMetaDataEntry("first_start_actions", []) - for action in first_start_actions: - self.addFirstStartAction(container.getId(), action) + first_start_actions = global_stack.getMetaDataEntry("first_start_actions", []) + for action in first_start_actions: + self.addFirstStartAction(definition_id, action) + + self._definition_ids_with_default_actions_added.add(definition_id) + Logger.log("i", "Default machine actions added for machine definition [%s]", definition_id) ## Add a required action to a machine # Raises an exception when the action is not recognised. diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index e5902106e3..b6a08bb4cc 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -364,6 +364,10 @@ class MachineManager(QObject): return global_stack = containers[0] + + # Make sure that the default machine actions for this machine have been added + self._application.getMachineActionManager().addDefaultMachineActions(global_stack) + ExtruderManager.getInstance()._fixSingleExtrusionMachineExtruderDefinition(global_stack) if not global_stack.isValid(): # Mark global stack as invalid From 0e772beb14e1841076d468e7a7f025de4ea9f623 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:55:53 +0200 Subject: [PATCH 284/423] Fix typing in MachineActionManager CURA-5812 --- cura/MachineActionManager.py | 32 ++++++++++++++++++-------------- tests/TestMachineAction.py | 2 +- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/cura/MachineActionManager.py b/cura/MachineActionManager.py index f436db82f7..db0f7bfbff 100644 --- a/cura/MachineActionManager.py +++ b/cura/MachineActionManager.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import TYPE_CHECKING, Optional, List, Set +from typing import TYPE_CHECKING, Optional, List, Set, Dict from PyQt5.QtCore import QObject @@ -26,7 +26,7 @@ class NotUniqueMachineActionError(Exception): class MachineActionManager(QObject): - def __init__(self, application: "CuraApplication", parent: Optional["QObject"] = None): + def __init__(self, application: "CuraApplication", parent: Optional["QObject"] = None) -> None: super().__init__(parent = parent) self._application = application self._container_registry = self._application.getContainerRegistry() @@ -34,10 +34,14 @@ class MachineActionManager(QObject): # Keeps track of which machines have already been processed so we don't do that again. self._definition_ids_with_default_actions_added = set() # type: Set[str] - self._machine_actions = {} # Dict of all known machine actions - self._required_actions = {} # Dict of all required actions by definition ID - self._supported_actions = {} # Dict of all supported actions by definition ID - self._first_start_actions = {} # Dict of all actions that need to be done when first added by definition ID + # Dict of all known machine actions + self._machine_actions = {} # type: Dict[str, MachineAction] + # Dict of all required actions by definition ID + self._required_actions = {} # type: Dict[str, List[MachineAction]] + # Dict of all supported actions by definition ID + self._supported_actions = {} # type: Dict[str, List[MachineAction]] + # Dict of all actions that need to be done when first added by definition ID + self._first_start_actions = {} # type: Dict[str, List[MachineAction]] def initialize(self): # Add machine_action as plugin type @@ -53,16 +57,16 @@ class MachineActionManager(QObject): return supported_actions = global_stack.getMetaDataEntry("supported_actions", []) - for action in supported_actions: - self.addSupportedAction(definition_id, action) + for action_key in supported_actions: + self.addSupportedAction(definition_id, action_key) required_actions = global_stack.getMetaDataEntry("required_actions", []) - for action in required_actions: - self.addRequiredAction(definition_id, action) + for action_key in required_actions: + self.addRequiredAction(definition_id, action_key) first_start_actions = global_stack.getMetaDataEntry("first_start_actions", []) - for action in first_start_actions: - self.addFirstStartAction(definition_id, action) + for action_key in first_start_actions: + self.addFirstStartAction(definition_id, action_key) self._definition_ids_with_default_actions_added.add(definition_id) Logger.log("i", "Default machine actions added for machine definition [%s]", definition_id) @@ -121,11 +125,11 @@ class MachineActionManager(QObject): ## Get all actions required by given machine # \param definition_id The ID of the definition you want the required actions of # \returns set of required actions. - def getRequiredActions(self, definition_id: str) -> Set["MachineAction"]: + def getRequiredActions(self, definition_id: str) -> List["MachineAction"]: if definition_id in self._required_actions: return self._required_actions[definition_id] else: - return set() + return list() ## Get all actions that need to be performed upon first start of a given machine. # Note that contrary to required / supported actions a list is returned (as it could be required to run the same diff --git a/tests/TestMachineAction.py b/tests/TestMachineAction.py index f23d15adcc..0d819b9120 100755 --- a/tests/TestMachineAction.py +++ b/tests/TestMachineAction.py @@ -44,7 +44,7 @@ def test_addMachineAction(machine_action_manager): assert machine_action_manager.getSupportedActions(test_machine) == [test_action, test_action_2] # Check that the machine has no required actions yet. - assert machine_action_manager.getRequiredActions(test_machine) == set() + assert machine_action_manager.getRequiredActions(test_machine) == list() ## Ensure that only known actions can be added. with pytest.raises(UnknownMachineActionError): From 537108032e0beb4c1caba7b9dc8f2296e7f39ee4 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 09:57:34 +0200 Subject: [PATCH 285/423] Fix typing in PrinterOutputModel CURA-5812 --- cura/PrinterOutput/PrinterOutputModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index 5870414c26..c1c5586f9f 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -50,7 +50,7 @@ class PrinterOutputModel(QObject): self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] - self._camera = None + self._camera = None # type: Optional[NetworkCamera] @pyqtProperty(str, constant = True) def firmwareVersion(self) -> str: From ea10d5e6087135609b3d0b3fa87ff5af9cdc3940 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 11:36:11 +0200 Subject: [PATCH 286/423] Rename to comptabileMaterialDiameter CURA-5834 This property returns the material diameter an extruder is compatible with, so this makes it more clear. --- cura/Settings/ExtruderStack.py | 4 ++-- plugins/3MFReader/ThreeMFWorkspaceReader.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/Settings/ExtruderStack.py b/cura/Settings/ExtruderStack.py index ca687e358b..ae0c2a7893 100644 --- a/cura/Settings/ExtruderStack.py +++ b/cura/Settings/ExtruderStack.py @@ -70,7 +70,7 @@ class ExtruderStack(CuraContainerStack): # If the machine has no requirement for the diameter, -1 is returned. # \return The filament diameter for the printer @property - def materialDiameter(self) -> float: + def comptabileMaterialDiameter(self) -> float: context = PropertyEvaluationContext(self) context.context["evaluate_from_container_index"] = _ContainerIndexes.Variant @@ -86,7 +86,7 @@ class ExtruderStack(CuraContainerStack): # \return The approximate filament diameter for the printer @pyqtProperty(float) def approximateMaterialDiameter(self) -> float: - return round(float(self.materialDiameter)) + return round(float(self.comptabileMaterialDiameter)) ## Overridden from ContainerStack # diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 429d4ab7d4..e56e4c0f13 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -926,7 +926,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): build_plate_id = global_stack.variant.getId() # get material diameter of this extruder - machine_material_diameter = extruder_stack.materialDiameter + machine_material_diameter = extruder_stack.comptabileMaterialDiameter material_node = material_manager.getMaterialNode(global_stack.definition.getId(), extruder_stack.variant.getName(), build_plate_id, From 22db3cb32bbfd42972cc484b4d419175e1756a30 Mon Sep 17 00:00:00 2001 From: Aleksei S Date: Fri, 19 Oct 2018 13:18:42 +0200 Subject: [PATCH 287/423] Show retraction for G92 command CURA-5769 --- plugins/GCodeReader/FlavorParser.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index 9ba1deb410..6fe2cb5260 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -195,10 +195,6 @@ class FlavorParser: self._previous_z = z elif self._previous_extrusion_value > e[self._extruder_number]: path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveRetractionType]) - - # This case only for initial start, for the first coordinate in GCode - elif e[self._extruder_number] == 0 and self._previous_extrusion_value == 0: - path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveRetractionType]) else: path.append([x, y, z, f, e[self._extruder_number] + self._extrusion_length_offset[self._extruder_number], LayerPolygon.MoveCombingType]) return self._position(x, y, z, f, e) @@ -235,6 +231,9 @@ class FlavorParser: # Sometimes a G92 E0 is introduced in the middle of the GCode so we need to keep those offsets for calculate the line_width self._extrusion_length_offset[self._extruder_number] += position.e[self._extruder_number] - params.e position.e[self._extruder_number] = params.e + self._previous_extrusion_value = params.e + else: + self._previous_extrusion_value = 0.0 return self._position( params.x if params.x is not None else position.x, params.y if params.y is not None else position.y, @@ -243,7 +242,6 @@ class FlavorParser: position.e) def processGCode(self, G: int, line: str, position: Position, path: List[List[Union[float, int]]]) -> Position: - self._previous_extrusion_value = 0.0 func = getattr(self, "_gCode%s" % G, None) line = line.split(";", 1)[0] # Remove comments (if any) if func is not None: @@ -295,7 +293,7 @@ class FlavorParser: self._cancelled = False # We obtain the filament diameter from the selected extruder to calculate line widths global_stack = CuraApplication.getInstance().getGlobalContainerStack() - + if not global_stack: return None @@ -338,6 +336,7 @@ class FlavorParser: min_layer_number = 0 negative_layers = 0 previous_layer = 0 + self._previous_extrusion_value = 0.0 for line in stream.split("\n"): if self._cancelled: From 97e6354c13be511152e8f683dde275026ee5e3eb Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 19 Oct 2018 13:48:50 +0200 Subject: [PATCH 288/423] Fix material update upon extruder-compatible diameter change CURA-5834 Material models and the material container on an extruder need to be updated when the extruder's compatible diameter gets changes. --- cura/Machines/MaterialManager.py | 22 +++++++++---- cura/Machines/Models/BaseMaterialsModel.py | 2 ++ cura/Settings/CuraStackBuilder.py | 2 +- cura/Settings/ExtruderStack.py | 31 +++++++++++++++---- cura/Settings/MachineManager.py | 8 ++--- .../MachineSettingsAction.qml | 14 ++++++++- 6 files changed, 59 insertions(+), 20 deletions(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index be97fbc161..f91259723d 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -365,7 +365,7 @@ class MaterialManager(QObject): nozzle_name = None if extruder_stack.variant.getId() != "empty_variant": nozzle_name = extruder_stack.variant.getName() - diameter = extruder_stack.approximateMaterialDiameter + diameter = extruder_stack.getApproximateMaterialDiameter() # Fetch the available materials (ContainerNode) for the current active machine and extruder setup. return self.getAvailableMaterials(machine.definition, nozzle_name, buildplate_name, diameter) @@ -478,12 +478,22 @@ class MaterialManager(QObject): buildplate_name = global_stack.getBuildplateName() machine_definition = global_stack.definition - if extruder_definition is None: - extruder_definition = global_stack.extruders[position].definition - if extruder_definition and parseBool(global_stack.getMetaDataEntry("has_materials", False)): - # At this point the extruder_definition is not None - material_diameter = extruder_definition.getProperty("material_diameter", "value") + # The extruder-compatible material diameter in the extruder definition may not be the correct value because + # the user can change it in the definition_changes container. + if extruder_definition is None: + extruder_stack_or_definition = global_stack.extruders[position] + is_extruder_stack = True + else: + extruder_stack_or_definition = extruder_definition + is_extruder_stack = False + + if extruder_stack_or_definition and parseBool(global_stack.getMetaDataEntry("has_materials", False)): + if is_extruder_stack: + material_diameter = extruder_stack_or_definition.getComptabileMaterialDiameter() + else: + material_diameter = extruder_stack_or_definition.getProperty("material_diameter", "value") + if isinstance(material_diameter, SettingFunction): material_diameter = material_diameter(global_stack) approximate_material_diameter = str(round(material_diameter)) diff --git a/cura/Machines/Models/BaseMaterialsModel.py b/cura/Machines/Models/BaseMaterialsModel.py index be9f8be1ed..ef2e760330 100644 --- a/cura/Machines/Models/BaseMaterialsModel.py +++ b/cura/Machines/Models/BaseMaterialsModel.py @@ -64,9 +64,11 @@ class BaseMaterialsModel(ListModel): if self._extruder_stack is not None: self._extruder_stack.pyqtContainersChanged.disconnect(self._update) + self._extruder_stack.approximateMaterialDiameterChanged.disconnect(self._update) self._extruder_stack = global_stack.extruders.get(str(self._extruder_position)) if self._extruder_stack is not None: self._extruder_stack.pyqtContainersChanged.connect(self._update) + self._extruder_stack.approximateMaterialDiameterChanged.connect(self._update) # Force update the model when the extruder stack changes self._update() diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index 58109d3a8d..95aa364a2e 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -129,7 +129,7 @@ class CuraStackBuilder: # get material container for extruders material_container = application.empty_material_container - material_node = material_manager.getDefaultMaterial(global_stack, extruder_position, extruder_variant_name, + material_node = material_manager.getDefaultMaterial(global_stack, str(extruder_position), extruder_variant_name, extruder_definition = extruder_definition) if material_node and material_node.getContainer(): material_container = material_node.getContainer() diff --git a/cura/Settings/ExtruderStack.py b/cura/Settings/ExtruderStack.py index ae0c2a7893..02e8824a9d 100644 --- a/cura/Settings/ExtruderStack.py +++ b/cura/Settings/ExtruderStack.py @@ -65,16 +65,33 @@ class ExtruderStack(CuraContainerStack): def getLoadingPriority(cls) -> int: return 3 + compatibleMaterialDiameterChanged = pyqtSignal() + ## Return the filament diameter that the machine requires. # # If the machine has no requirement for the diameter, -1 is returned. # \return The filament diameter for the printer - @property - def comptabileMaterialDiameter(self) -> float: + def getComptabileMaterialDiameter(self) -> float: context = PropertyEvaluationContext(self) context.context["evaluate_from_container_index"] = _ContainerIndexes.Variant - return self.getProperty("material_diameter", "value", context = context) + return float(self.getProperty("material_diameter", "value", context = context)) + + def setCompatibleMaterialDiameter(self, value: float) -> None: + old_approximate_diameter = self.getApproximateMaterialDiameter() + if self.getComptabileMaterialDiameter() != value: + self.definitionChanges.setProperty("material_diameter", "value", value) + self.compatibleMaterialDiameterChanged.emit() + + # Emit approximate diameter changed signal if needed + if old_approximate_diameter != self.getApproximateMaterialDiameter(): + self.approximateMaterialDiameterChanged.emit() + + compatibleMaterialDiameter = pyqtProperty(float, fset = setCompatibleMaterialDiameter, + fget = getComptabileMaterialDiameter, + notify = compatibleMaterialDiameterChanged) + + approximateMaterialDiameterChanged = pyqtSignal() ## Return the approximate filament diameter that the machine requires. # @@ -84,9 +101,11 @@ class ExtruderStack(CuraContainerStack): # If the machine has no requirement for the diameter, -1 is returned. # # \return The approximate filament diameter for the printer - @pyqtProperty(float) - def approximateMaterialDiameter(self) -> float: - return round(float(self.comptabileMaterialDiameter)) + def getApproximateMaterialDiameter(self) -> float: + return round(self.getComptabileMaterialDiameter()) + + approximateMaterialDiameter = pyqtProperty(float, fget = getApproximateMaterialDiameter, + notify = approximateMaterialDiameterChanged) ## Overridden from ContainerStack # diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 063f894d23..c27e95bbf0 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1276,11 +1276,7 @@ class MachineManager(QObject): if extruder.variant.getId() != self._empty_variant_container.getId(): current_nozzle_name = extruder.variant.getMetaDataEntry("name") - from UM.Settings.Interfaces import PropertyEvaluationContext - from cura.Settings.CuraContainerStack import _ContainerIndexes - context = PropertyEvaluationContext(extruder) - context.context["evaluate_from_container_index"] = _ContainerIndexes.DefinitionChanges - material_diameter = extruder.getProperty("material_diameter", "value", context) + material_diameter = extruder.getComptabileMaterialDiameter() candidate_materials = self._material_manager.getAvailableMaterials( self._global_container_stack.definition, current_nozzle_name, @@ -1415,7 +1411,7 @@ class MachineManager(QObject): position = str(position) extruder_stack = self._global_container_stack.extruders[position] nozzle_name = extruder_stack.variant.getName() - material_diameter = extruder_stack.approximateMaterialDiameter + material_diameter = extruder_stack.getApproximateMaterialDiameter() material_node = self._material_manager.getMaterialNode(machine_definition_id, nozzle_name, buildplate_name, material_diameter, root_material_id) self.setMaterial(position, material_node) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index 6c95dc2c92..275f1d2a41 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -408,6 +408,10 @@ Cura.MachineAction manager.updateMaterialForDiameter(settingsTabs.currentIndex - 1); } } + function setValueFunction(value) + { + Cura.MachineManager.activeStack.compatibleMaterialDiameter = value; + } property bool isExtruderSetting: true } @@ -564,6 +568,7 @@ Cura.MachineAction property bool _forceUpdateOnChange: (typeof(forceUpdateOnChange) === 'undefined') ? false : forceUpdateOnChange property string _label: (typeof(label) === 'undefined') ? "" : label property string _tooltip: (typeof(tooltip) === 'undefined') ? propertyProvider.properties.description : tooltip + property var _setValueFunction: (typeof(setValueFunction) === 'undefined') ? undefined : setValueFunction UM.SettingPropertyProvider { @@ -616,7 +621,14 @@ Cura.MachineAction { if (propertyProvider && text != propertyProvider.properties.value) { - propertyProvider.setPropertyValue("value", text); + if (_setValueFunction !== undefined) + { + _setValueFunction(text); + } + else + { + propertyProvider.setPropertyValue("value", text); + } if(_forceUpdateOnChange) { manager.forceUpdate(); From 71d365c0c62aee12f6a78c03bfa070efe24dac53 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 19 Oct 2018 14:37:20 +0200 Subject: [PATCH 289/423] Fix case where Cura and the firmware could be waiting for eachother --- plugins/USBPrinting/USBPrinterOutputDevice.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index ce3342bb72..dc4c31ac9c 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -267,19 +267,27 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if b"FIRMWARE_NAME:" in line: self._setFirmwareName(line) - if line.startswith(b"ok "): + if line == b"": + # An empty line means that the firmware is idle + # Multiple empty lines probably means that the firmware and Cura are waiting + # for eachother due to a missed "ok", so we keep track of empty lines + self._firmware_idle_count += 1 + else: + self._firmware_idle_count = 0 + + if line.startswith(b"ok") or self._firmware_idle_count > 1: self._printer_busy = False self._command_received.set() if not self._command_queue.empty(): self._sendCommand(self._command_queue.get()) - if self._is_printing: + elif self._is_printing: if self._paused: pass # Nothing to do! else: self._sendNextGcodeLine() - if line.startswith(b"echo:busy: "): + if line.startswith(b"echo:busy:"): self._printer_busy = True if self._is_printing: From 68c3023a465482ec25ae5cbf57a0adb279dc182d Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 19 Oct 2018 14:38:25 +0200 Subject: [PATCH 290/423] Make sure firmware name is only requested once --- plugins/USBPrinting/USBPrinterOutputDevice.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index dc4c31ac9c..e1c39ff8fa 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -74,6 +74,7 @@ class USBPrinterOutputDevice(PrinterOutputDevice): self._command_received = Event() self._command_received.set() + self._firmware_name_requested = False self._firmware_updater = AvrFirmwareUpdater(self) CuraApplication.getInstance().getOnExitCallbackManager().addCallback(self._checkActivePrintingUponAppExit) @@ -224,15 +225,19 @@ class USBPrinterOutputDevice(PrinterOutputDevice): except: continue + if not self._firmware_name_requested: + self._firmware_name_requested = True + self.sendCommand("M115") + + if b"FIRMWARE_NAME:" in line: + self._setFirmwareName(line) + if self._last_temperature_request is None or time() > self._last_temperature_request + self._timeout: # Timeout, or no request has been sent at all. if not self._printer_busy: # Don't flood the printer with temperature requests while it is busy self.sendCommand("M105") self._last_temperature_request = time() - if self._firmware_name is None: - self.sendCommand("M115") - if re.search(b"[B|T\d*]: ?\d+\.?\d*", line): # Temperature message. 'T:' for extruder and 'B:' for bed extruder_temperature_matches = re.findall(b"T(\d*): ?(\d+\.?\d*) ?\/?(\d+\.?\d*)?", line) # Update all temperature values @@ -264,9 +269,6 @@ class USBPrinterOutputDevice(PrinterOutputDevice): if match[1]: self._printers[0].updateTargetBedTemperature(float(match[1])) - if b"FIRMWARE_NAME:" in line: - self._setFirmwareName(line) - if line == b"": # An empty line means that the firmware is idle # Multiple empty lines probably means that the firmware and Cura are waiting From 817899686ac1cb40c84c7795e9066eb54dee9a27 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Fri, 19 Oct 2018 16:23:16 +0200 Subject: [PATCH 291/423] Dark mode theme improvements Contributes to CL-1111 --- .../resources/qml/CameraButton.qml | 2 +- .../resources/qml/ClusterControlItem.qml | 12 +++---- .../resources/qml/ClusterMonitorItem.qml | 3 +- .../qml/ConfigurationChangeBlock.qml | 2 +- .../resources/qml/HorizontalLine.qml | 2 +- .../resources/qml/PrintCoreConfiguration.qml | 25 +++++++------ .../resources/qml/PrintJobContextMenu.qml | 22 ++++++------ .../resources/qml/PrintJobContextMenuItem.qml | 3 +- .../resources/qml/PrintJobInfoBlock.qml | 35 +++++++++++-------- .../resources/qml/PrintJobPreview.qml | 6 ++-- .../resources/qml/PrintJobTitle.qml | 12 ++++--- .../resources/qml/PrinterCard.qml | 32 ++++++++--------- .../resources/qml/PrinterCardProgressBar.qml | 8 ++--- .../resources/qml/PrinterFamilyPill.qml | 7 ++-- resources/themes/cura-dark/theme.json | 21 ++++++++++- resources/themes/cura-light/theme.json | 35 +++++++++++++------ 16 files changed, 137 insertions(+), 90 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index 4b78448a8d..f9c0d6d1e2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -9,7 +9,7 @@ import Cura 1.0 as Cura Rectangle { property var iconSource: null; - color: clickArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary"); + color: clickArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary"); // "Cura Blue" height: width; radius: 0.5 * width; width: 36 * screenScaleFactor; diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml index 3da155cfad..068c369a3f 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml @@ -10,11 +10,10 @@ import Cura 1.0 as Cura Component { Rectangle { id: base; - property var lineColor: "#DCDCDC"; // TODO: Should be linked to theme. - property var shadowRadius: 5 * screenScaleFactor; - property var cornerRadius: 4 * screenScaleFactor; // TODO: Should be linked to theme. + property var shadowRadius: UM.Theme.getSize("monitor_shadow_radius").width; + property var cornerRadius: UM.Theme.getSize("monitor_corner_radius").width; anchors.fill: parent; - color: "white"; + color: UM.Theme.getColor("sidebar"); visible: OutputDevice != null; UM.I18nCatalog { @@ -31,6 +30,7 @@ Component { right: parent.right; top: parent.top; } + color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("large"); text: catalog.i18nc("@label", "Printing"); @@ -43,9 +43,9 @@ Component { right: printerScrollView.right; rightMargin: 4 * UM.Theme.getSize("default_margin").width; } - color: UM.Theme.getColor("primary"); + color: UM.Theme.getColor("primary"); // "Cura Blue" font: UM.Theme.getFont("default"); - linkColor: UM.Theme.getColor("primary"); + linkColor: UM.Theme.getColor("primary"); // "Cura Blue" text: catalog.i18nc("@label link to connect manager", "Manage printers"); } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index eb52bdc513..c26425cd3e 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -11,8 +11,7 @@ Component { Rectangle { id: monitorFrame; property var emphasisColor: UM.Theme.getColor("setting_control_border_highlight"); - property var lineColor: "#DCDCDC"; // TODO: Should be linked to theme. - property var cornerRadius: 4 * screenScaleFactor; // TODO: Should be linked to theme. + property var cornerRadius: UM.Theme.getSize("monitor_corner_radius").width; color: UM.Theme.getColor("viewport_background"); height: maximumHeight; onVisibleChanged: { diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml index 29996e405f..b1ebca3680 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -115,7 +115,7 @@ Item { id: configChangeDetails Behavior on height { NumberAnimation { duration: 100 } } color: "transparent"; - height: visible ? UM.Theme.getSize("monitor_tab_config_override_box").height : 0; + height: visible ? UM.Theme.getSize("monitor_config_override_box").height : 0; visible: false; width: parent.width; diff --git a/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml index e9cee177fa..aeb92697ad 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/HorizontalLine.qml @@ -6,7 +6,7 @@ import QtQuick.Controls 2.0 import UM 1.3 as UM Rectangle { - color: UM.Theme.getColor("monitor_tab_lining_inactive"); // TODO: Maybe theme separately? Maybe not. + color: UM.Theme.getColor("monitor_lining_light"); // TODO: Maybe theme separately? Maybe not. height: UM.Theme.getSize("default_lining").height; width: parent.width; } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index 84ecd71d7c..54f82142c2 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -15,13 +15,13 @@ Item { // Extruder circle Item { id: extruderCircle; - height: UM.Theme.getSize("monitor_tab_extruder_circle").height; - width: UM.Theme.getSize("monitor_tab_extruder_circle").width; + height: UM.Theme.getSize("monitor_extruder_circle").height; + width: UM.Theme.getSize("monitor_extruder_circle").width; // Loading skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); + color: UM.Theme.getColor("monitor_skeleton_fill"); radius: Math.round(width / 2); visible: !printCoreConfiguration; } @@ -29,8 +29,9 @@ Item { // Actual content Rectangle { anchors.fill: parent; - border.width: UM.Theme.getSize("monitor_tab_thick_lining").width; - border.color: UM.Theme.getColor("monitor_tab_lining_active"); + border.width: UM.Theme.getSize("monitor_thick_lining").width; + border.color: UM.Theme.getColor("monitor_lining_heavy"); + color: "transparent"; opacity: { if (printCoreConfiguration == null || printCoreConfiguration.activeMaterial == null || printCoreConfiguration.hotendID == null) { return 0.5; @@ -42,6 +43,7 @@ Item { Label { anchors.centerIn: parent; + color: UM.Theme.getColor("text"); font: UM.Theme.getFont("default_bold"); text: printCoreConfiguration ? printCoreConfiguration.position + 1 : 0; } @@ -57,12 +59,12 @@ Item { right: parent.right; top: parent.top; } - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; // Loading skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); + color: UM.Theme.getColor("monitor_skeleton_fill"); visible: !extruderInfo.printCoreConfiguration; } @@ -70,6 +72,7 @@ Item { Label { anchors.fill: parent; elide: Text.ElideRight; + color: UM.Theme.getColor("text"); font: UM.Theme.getFont("default"); text: { if (printCoreConfiguration && printCoreConfiguration.activeMaterial != undefined) { @@ -84,16 +87,17 @@ Item { Item { id: printCoreLabel; anchors { - bottom: parent.bottom; left: extruderCircle.right; leftMargin: UM.Theme.getSize("default_margin").width; right: parent.right; + top: materialLabel.bottom; + topMargin: Math.floor(UM.Theme.getSize("default_margin").height/4); } - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; // Loading skeleton Rectangle { - color: UM.Theme.getColor("viewport_background"); + color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !extruderInfo.printCoreConfiguration; width: parent.width / 3; @@ -101,6 +105,7 @@ Item { // Actual content Label { + color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default"); opacity: 0.6; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 7b956a2101..618bc1337b 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -16,15 +16,15 @@ Item { Button { id: button; background: Rectangle { - color: UM.Theme.getColor("viewport_background"); + color: UM.Theme.getColor("viewport_background"); // TODO: Theme! height: button.height; opacity: button.down || button.hovered ? 1 : 0; radius: 0.5 * width; width: button.width; } contentItem: Label { - color: UM.Theme.getColor("monitor_tab_text_inactive"); - font.pixelSize: 25; + color: UM.Theme.getColor("monitor_context_menu_dots"); + font.pixelSize: 25 * screenScaleFactor; horizontalAlignment: Text.AlignHCenter; text: button.text; verticalAlignment: Text.AlignVCenter; @@ -33,7 +33,7 @@ Item { hoverEnabled: true; onClicked: parent.switchPopupState(); text: "\u22EE"; //Unicode; Three stacked points. - width: 35; + width: 35 * screenScaleFactor; // TODO: Theme! } Popup { @@ -45,10 +45,10 @@ Item { DropShadow { anchors.fill: pointedRectangle; color: "#3F000000"; // 25% shadow - radius: 5; + radius: UM.Theme.getSize("monitor_shadow_radius").width; source: pointedRectangle; transparentBorder: true; - verticalOffset: 2; + verticalOffset: 2 * screenScaleFactor; } Item { @@ -64,15 +64,15 @@ Item { id: point; anchors { right: bloop.right; - rightMargin: 24; + rightMargin: 24 * screenScaleFactor; } - color: UM.Theme.getColor("setting_control"); + color: UM.Theme.getColor("monitor_context_menu_background"); height: 14 * screenScaleFactor; transform: Rotation { angle: 45; } width: 14 * screenScaleFactor; - y: 1; + y: 1 * screenScaleFactor; } Rectangle { @@ -83,7 +83,7 @@ Item { top: parent.top; topMargin: 8 * screenScaleFactor; // Because of the shadow + point } - color: UM.Theme.getColor("setting_control"); + color: UM.Theme.getColor("monitor_context_menu_background"); width: parent.width; } } @@ -162,7 +162,7 @@ Item { height: contentItem.height + 2 * padding; onClosed: visible = false; onOpened: visible = true; - padding: 5 * screenScaleFactor; // Because shadow + padding: UM.Theme.getSize("monitor_shadow_radius").width; transformOrigin: Popup.Top; visible: false; width: 182 * screenScaleFactor; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml index 3a55978a3f..1b0777a8c0 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml @@ -9,9 +9,10 @@ import UM 1.3 as UM Button { background: Rectangle { opacity: parent.down || parent.hovered ? 1 : 0; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: UM.Theme.getColor("monitor_context_menu_highlight"); } contentItem: Label { + color: UM.Theme.getColor("text"); text: parent.text horizontalAlignment: Text.AlignLeft; verticalAlignment: Text.AlignVCenter; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index fcdf3ba955..8426834721 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -12,7 +12,7 @@ import UM 1.3 as UM Item { id: root; - property var shadowRadius: 5 * screenScaleFactor; + property var shadowRadius: UM.Theme.getSize("monitor_shadow_radius").width; property var shadowOffset: 2 * screenScaleFactor; property var debug: false; property var printJob: null; @@ -33,7 +33,7 @@ Item { rightMargin: root.shadowRadius; topMargin: root.shadowRadius - root.shadowOffset; } - color: "white"; // TODO: Theme! + color: UM.Theme.getColor("monitor_card_background"); height: childrenRect.height; layer.enabled: true layer.effect: DropShadow { @@ -66,16 +66,17 @@ Item { Item { id: printJobName; width: parent.width; - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; Rectangle { - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !printJob; width: parent.width / 3; } Label { anchors.fill: parent; + color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); text: printJob && printJob.name ? printJob.name : ""; // Supress QML warnings @@ -89,17 +90,18 @@ Item { top: printJobName.bottom; topMargin: Math.floor(UM.Theme.getSize("default_margin").height / 2); } - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; width: parent.width; Rectangle { - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !printJob; width: parent.width / 2; } Label { anchors.fill: parent; + color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default"); text: printJob ? printJob.owner : ""; // Supress QML warnings @@ -121,8 +123,8 @@ Item { // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! - radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); + radius: UM.Theme.getSize("default_margin").width; visible: !printJob; } @@ -139,7 +141,7 @@ Item { id: ultiBotImage; anchors.centerIn: printJobPreview; - color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! + color: UM.Theme.getColor("monitor_placeholder_image"); height: printJobPreview.height; source: "../svg/ultibot.svg"; sourceSize { @@ -155,7 +157,7 @@ Item { UM.RecolorImage { id: statusImage; anchors.centerIn: printJobPreview; - color: "black"; + color: UM.Theme.getColor("monitor_image_overlay"); height: 0.5 * printJobPreview.height; source: printJob && printJob.state == "error" ? "../svg/aborted-icon.svg" : ""; sourceSize { @@ -174,7 +176,7 @@ Item { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; } - color: !printJob ? UM.Theme.getColor("viewport_background") : "#e6e6e6"; // TODO: Theme! + color: !printJob ? UM.Theme.getColor("monitor_skeleton_fill") : UM.Theme.getColor("monitor_lining_light"); height: parent.height - 2 * UM.Theme.getSize("default_margin").height; width: UM.Theme.getSize("default_lining").width; } @@ -191,16 +193,17 @@ Item { Item { id: targetPrinterLabel; - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; width: parent.width; Rectangle { visible: !printJob; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); anchors.fill: parent; } Label { + color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); text: { @@ -265,7 +268,7 @@ Item { } Rectangle { - color: "#e6e6e6"; // TODO: Theme! + color: !printJob ? UM.Theme.getColor("monitor_skeleton_fill") : UM.Theme.getColor("monitor_lining_light"); height: UM.Theme.getSize("default_lining").height; width: parent.width; } @@ -292,6 +295,7 @@ Item { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; } + color: UM.Theme.getColor("text"); text: catalog.i18nc("@label", "Configuration change"); } @@ -333,7 +337,7 @@ Item { anchors.top: configChangeToggle.bottom; Behavior on height { NumberAnimation { duration: 100 } } // In case of really massive multi-line configuration changes - height: visible ? Math.max(UM.Theme.getSize("monitor_tab_config_override_box").height, childrenRect.height) : 0; + height: visible ? Math.max(UM.Theme.getSize("monitor_config_override_box").height, childrenRect.height) : 0; visible: false; width: parent.width; @@ -350,6 +354,7 @@ Item { Label { anchors.fill: parent; elide: Text.ElideRight; + color: UM.Theme.getColor("text"); font: UM.Theme.getFont("large_nonbold"); text: { if (!printJob || printJob.configurationChanges.length === 0) { diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml index 8d80377e99..50308e28a9 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml @@ -20,8 +20,8 @@ Item { // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! - radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); + radius: UM.Theme.getSize("default_margin").width; visible: !job; } @@ -46,7 +46,7 @@ Item { UM.RecolorImage { id: ultibotImage; anchors.centerIn: parent; - color: UM.Theme.getColor("monitor_tab_placeholder_image"); // TODO: Theme! + color: UM.Theme.getColor("monitor_placeholder_image"); // TODO: Theme! height: parent.height; source: "../svg/ultibot.svg"; sourceSize { diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml index bfbddb7dce..5e226d19e9 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml @@ -13,11 +13,12 @@ Column { Item { id: jobName; - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; width: parent.width; + // Skeleton loading Rectangle { - color: UM.Theme.getColor("viewport_background"); // TODO: Use explicit theme color + color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !job; width: parent.width / 3; @@ -25,6 +26,7 @@ Column { Label { anchors.fill: parent; + color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); text: job && job.name ? job.name : ""; @@ -34,11 +36,12 @@ Column { Item { id: ownerName; - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; width: parent.width; + // Skeleton loading Rectangle { - color: UM.Theme.getColor("viewport_background"); // TODO: Use explicit theme color + color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !job; width: parent.width / 2; @@ -46,6 +49,7 @@ Column { Label { anchors.fill: parent; + color: UM.Theme.getColor("text") elide: Text.ElideRight; font: UM.Theme.getFont("default"); text: job ? job.owner : ""; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index fa4fada0bb..bd72ccb3dd 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -27,10 +27,13 @@ Item { topMargin: root.shadowRadius - root.shadowOffset; } color: { + if (!printer) { + return UM.Theme.getColor("monitor_card_background_inactive"); + } if (printer.state == "disabled") { - return UM.Theme.getColor("monitor_tab_background_inactive"); + return UM.Theme.getColor("monitor_card_background_inactive"); } else { - return UM.Theme.getColor("monitor_tab_background_active"); + return UM.Theme.getColor("monitor_card_background"); } } height: childrenRect.height; @@ -68,7 +71,7 @@ Item { // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); // TODO: Theme! radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! visible: !printer; } @@ -77,16 +80,10 @@ Item { UM.RecolorImage { anchors.centerIn: parent; color: { - if (!printer) { - return "black"; + if (printer && printer.activePrintJob != undefined) { + return UM.Theme.getColor("monitor_printer_icon"); } - if (printer.state == "disabled") { - return UM.Theme.getColor("monitor_tab_text_inactive"); - } - if (printer.activePrintJob != undefined) { - return UM.Theme.getColor("primary"); - } - return UM.Theme.getColor("monitor_tab_text_inactive"); + return UM.Theme.getColor("monitor_printer_icon_inactive"); } height: sourceSize.height; source: { @@ -119,19 +116,20 @@ Item { // Machine name Item { id: machineNameLabel; - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; width: parent.width * 0.3; // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); // TODO: Theme! visible: !printer; } // Actual content Label { anchors.fill: parent; + color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); text: printer.name; @@ -147,20 +145,20 @@ Item { top: machineNameLabel.bottom; topMargin: Math.round(UM.Theme.getSize("default_margin").height / 2); } - height: UM.Theme.getSize("monitor_tab_text_line").height; + height: UM.Theme.getSize("monitor_text_line").height; width: parent.width * 0.75; // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill"); // TODO: Theme! visible: !printer; } // Actual content Label { anchors.fill: parent; - color: UM.Theme.getColor("monitor_tab_text_inactive"); + color: UM.Theme.getColor("monitor_text_inactive"); elide: Text.ElideRight; font: UM.Theme.getFont("default"); text: { diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml index d31dd09af3..e86c959b8c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml @@ -57,7 +57,7 @@ ProgressBar { } } background: Rectangle { - color: UM.Theme.getColor("viewport_background"); + color: UM.Theme.getColor("monitor_progress_background"); implicitHeight: visible ? 24 : 0; implicitWidth: 100; } @@ -75,9 +75,9 @@ ProgressBar { "wait_cleanup" ]; if (inactiveStates.indexOf(state) > -1 && remainingTime > 0) { - return UM.Theme.getColor("monitor_tab_text_inactive"); + return UM.Theme.getColor("monitor_progress_fill_inactive"); } else { - return UM.Theme.getColor("primary"); + return UM.Theme.getColor("monitor_progress_fill"); } } @@ -89,7 +89,7 @@ ProgressBar { } text: progressText; anchors.verticalCenter: parent.verticalCenter; - color: progressItem.width + progressLabel.width < control.width ? "black" : "white"; + color: progressItem.width + progressLabel.width < control.width ? UM.Theme.getColor("text") : UM.Theme.getColor("monitor_progress_fill_text"); width: contentWidth; font: UM.Theme.getFont("default"); } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml index 24de732faf..0a88b053a8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterFamilyPill.qml @@ -8,8 +8,8 @@ import UM 1.2 as UM Item { property alias text: familyNameLabel.text; property var padding: 3 * screenScaleFactor; // TODO: Theme! - implicitHeight: familyNameLabel.contentHeight + 2 * padding; // Apply the padding to top and bottom. - implicitWidth: familyNameLabel.contentWidth + implicitHeight; // The extra height is added to ensure the radius doesn't cut something off. + implicitHeight: familyNameLabel.contentHeight + 2 * padding; // Apply the padding to top and bottom. + implicitWidth: Math.max(48 * screenScaleFactor, familyNameLabel.contentWidth + implicitHeight); // The extra height is added to ensure the radius doesn't cut something off. Rectangle { id: background; @@ -17,7 +17,7 @@ Item { horizontalCenter: parent.horizontalCenter; right: parent.right; } - color: UM.Theme.getColor("viewport_background"); // TODO: Theme! + color: familyNameLabel.text.length < 1 ? UM.Theme.getColor("monitor_skeleton_fill") : UM.Theme.getColor("monitor_pill_background"); height: parent.height; radius: 0.5 * height; width: parent.width; @@ -26,6 +26,7 @@ Item { Label { id: familyNameLabel; anchors.centerIn: parent; + color: UM.Theme.getColor("text"); text: ""; } } \ No newline at end of file diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index 26e6c2ac8b..cb18979891 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -221,6 +221,25 @@ "quality_slider_available": [255, 255, 255, 255], "quality_slider_handle": [255, 255, 255, 255], "quality_slider_handle_hover": [127, 127, 127, 255], - "quality_slider_text": [255, 255, 255, 255] + "quality_slider_text": [255, 255, 255, 255], + + "monitor_card_background_inactive": [43, 48, 52, 255], + "monitor_card_background": [43, 48, 52, 255], + "monitor_context_menu_background": [80, 84, 87, 255], + "monitor_context_menu_dots": [0, 167, 233, 255], + "monitor_context_menu_highlight": [0, 167, 233, 255], + "monitor_image_overlay": [255, 255, 255, 255], + "monitor_lining_heavy": [255, 255, 255, 255], + "monitor_lining_light": [102, 102, 102, 255], + "monitor_pill_background": [102, 102, 102, 255], + "monitor_placeholder_image": [102, 102, 102, 255], + "monitor_printer_icon": [255, 255, 255, 255], + "monitor_progress_background_text": [102, 102, 102, 255], + "monitor_progress_background": [80, 84, 87, 255], + "monitor_progress_fill_inactive": [216, 216, 216, 255], + "monitor_progress_fill_text": [0, 0, 0, 255], + "monitor_progress_fill": [216, 216, 216, 255], + "monotir_printer_icon_inactive": [154, 154, 154, 255], + "monitor_skeleton_fill": [31, 36, 39, 255] } } diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 390f0ba995..9e45cbb410 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -323,12 +323,25 @@ "favorites_header_text_hover": [31, 36, 39, 255], "favorites_row_selected": [196, 239, 255, 255], - "monitor_tab_background_active": [255, 255, 255, 255], - "monitor_tab_background_inactive": [240, 240, 240, 255], - "monitor_tab_lining_active": [0, 0, 0, 255], - "monitor_tab_lining_inactive": [230, 230, 230, 255], - "monitor_tab_placeholder_image": [230, 230, 230, 255], - "monitor_tab_text_inactive": [154, 154, 154, 255] + "monitor_card_background_inactive": [240, 240, 240, 255], + "monitor_card_background": [255, 255, 255, 255], + "monitor_context_menu_background": [255, 255, 255, 255], + "monitor_context_menu_dots": [154, 154, 154, 255], + "monitor_context_menu_highlight": [245, 245, 245, 255], + "monitor_image_overlay": [0, 0, 0, 255], + "monitor_lining_heavy": [0, 0, 0, 255], + "monitor_lining_light": [230, 230, 230, 255], + "monitor_pill_background": [245, 245, 245, 255], + "monitor_placeholder_image": [230, 230, 230, 255], + "monitor_printer_icon_inactive": [154, 154, 154, 255], + "monitor_printer_icon": [12, 169, 227, 255], + "monitor_progress_background_text": [0,0,0,255], + "monitor_progress_background": [245, 245, 245, 255], + "monitor_progress_fill_inactive": [154, 154, 154, 255], + "monitor_progress_fill_text": [255,255,255,255], + "monitor_progress_fill": [12, 169, 227, 255], + "monitor_skeleton_fill": [245, 245, 245, 255], + "monitor_text_inactive": [154, 154, 154, 255] }, "sizes": { @@ -478,9 +491,11 @@ "toolbox_action_button": [8.0, 2.5], "toolbox_loader": [2.0, 2.0], - "monitor_tab_config_override_box": [1.0, 14.0], - "monitor_tab_extruder_circle": [2.75, 2.75], - "monitor_tab_text_line": [1.16, 1.16], - "monitor_tab_thick_lining": [0.16, 0.16] + "monitor_config_override_box": [1.0, 14.0], + "monitor_extruder_circle": [2.75, 2.75], + "monitor_text_line": [1.16, 1.16], + "monitor_thick_lining": [0.16, 0.16], + "monitor_corner_radius": [0.3, 0.3], + "monitor_shadow_radius": [0.4, 0.4] } } From 15a538bb9417c3698a6432334dddcf0ed4feb897 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Sun, 21 Oct 2018 02:07:46 +0200 Subject: [PATCH 292/423] Remove arbitrary limits on wall speed overhang factor There is no physical or programmatical limitation to the wall speed overhang factor. In particular, you could want the overhang speed to be higher than the normal printing speed. --- resources/definitions/fdmprinter.def.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 138e1adcc5..efa6b9a78c 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6598,9 +6598,8 @@ "unit": "%", "type": "float", "default_value": 100, - "minimum_value": "10", + "minimum_value": "0.001", "minimum_value_warning": "25", - "maximum_value": "100", "settable_per_mesh": true }, "bridge_settings_enabled": From ea9aa2c7773899b37f582b160aea4de51b81243a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 22 Oct 2018 10:56:04 +0200 Subject: [PATCH 293/423] Add doc for using setCompatibleMaterialDiameter() in QML CURA-5834 --- .../MachineSettingsAction/MachineSettingsAction.qml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index 275f1d2a41..be2b1d337a 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -621,6 +621,17 @@ Cura.MachineAction { if (propertyProvider && text != propertyProvider.properties.value) { + // For some properties like the extruder-compatible material diameter, they need to + // trigger many updates, such as the available materials, the current material may + // need to be switched, etc. Although setting the diameter can be done directly via + // the provider, all the updates that need to be triggered then need to depend on + // the metadata update, a signal that can be fired way too often. The update functions + // can have if-checks to filter out the irrelevant updates, but still it incurs unnecessary + // overhead. + // The ExtruderStack class has a dedicated function for this call "setCompatibleMaterialDiameter()", + // and it triggers the diameter update signals only when it is needed. Here it is optionally + // choose to use setCompatibleMaterialDiameter() or other more specific functions that + // are available. if (_setValueFunction !== undefined) { _setValueFunction(text); From eef7be3ed616b0d7afdec896aec217d9ca124211 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 22 Oct 2018 11:53:41 +0200 Subject: [PATCH 294/423] Use empty string for empty build plate CURA-5844 Or there can be a configuration mismatch. --- cura/Settings/MachineManager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 063f894d23..5851a6d11e 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -204,7 +204,9 @@ class MachineManager(QObject): extruder_configuration.hotendID = extruder.variant.getName() if extruder.variant != self._empty_variant_container else None self._current_printer_configuration.extruderConfigurations.append(extruder_configuration) - self._current_printer_configuration.buildplateConfiguration = self._global_container_stack.getProperty("machine_buildplate_type", "value") if self._global_container_stack.variant != self._empty_variant_container else None + # an empty build plate configuration from the network printer is presented as an empty string, so use "" for an + # empty build plate. + self._current_printer_configuration.buildplateConfiguration = self._global_container_stack.getProperty("machine_buildplate_type", "value") if self._global_container_stack.variant != self._empty_variant_container else "" self.currentConfigurationChanged.emit() @pyqtSlot(QObject, result = bool) From e4014f8c699656c207b434fc21520e30b614a39a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 22 Oct 2018 12:52:15 +0200 Subject: [PATCH 295/423] Remove trailing spaces CURA-5841 --- resources/definitions/creality_ender3.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json index 0fd4b64455..08d8e92b72 100755 --- a/resources/definitions/creality_ender3.def.json +++ b/resources/definitions/creality_ender3.def.json @@ -64,7 +64,7 @@ }, "layer_height_0": { "default_value": 0.2 - }, + }, "adhesion_type": { "default_value": "skirt" }, From 56fdab276e383992866a5e93a338473a2f4d7b49 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 22 Oct 2018 13:49:51 +0200 Subject: [PATCH 296/423] brim_replaces_support is now based on the support infill extruder --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index efa6b9a78c..bc6e8a40f4 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4619,7 +4619,7 @@ "enabled": "resolveOrValue('adhesion_type') == 'brim' and support_enable", "settable_per_mesh": false, "settable_per_extruder": true, - "limit_to_extruder": "adhesion_extruder_nr" + "limit_to_extruder": "support_infill_extruder_nr" }, "brim_outside_only": { From 34abc48a1a491de879649c259127edfbfc49902b Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 22 Oct 2018 15:31:38 +0200 Subject: [PATCH 297/423] Remove binding loops Contributes to CL-1051 --- .../resources/qml/PrintJobContextMenu.qml | 8 ++--- .../resources/qml/PrinterCard.qml | 29 ++++++++----------- .../resources/qml/PrinterCardDetails.qml | 4 +-- resources/themes/cura-light/theme.json | 4 ++- 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 618bc1337b..52edf0ed17 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -39,12 +39,11 @@ Item { Popup { id: popup; background: Item { - height: popup.height; - width: popup.width; + anchors.fill: parent; DropShadow { anchors.fill: pointedRectangle; - color: "#3F000000"; // 25% shadow + color: UM.Theme.getColor("monitor_shadow"); radius: UM.Theme.getSize("monitor_shadow_radius").width; source: pointedRectangle; transparentBorder: true; @@ -96,7 +95,8 @@ Item { top: parent.top; topMargin: UM.Theme.getSize("default_margin").height + 10 * screenScaleFactor; // Account for the point of the box } - height: childrenRect.height + spacing * popupOptions.children.length + UM.Theme.getSize("default_margin").height; + // height: childrenRect.height + spacing * popupOptions.children.length + UM.Theme.getSize("default_margin").height; + height: 200; spacing: Math.floor(UM.Theme.getSize("default_margin").height / 2); width: parent.width; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index bd72ccb3dd..cfa3279845 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -10,8 +10,8 @@ import UM 1.3 as UM Item { id: root; - property var shadowRadius: 5; - property var shadowOffset: 2; + property var shadowRadius: UM.Theme.getSize("monitor_shadow_radius").width; + property var shadowOffset: UM.Theme.getSize("monitor_shadow_offset").width; property var printer: null; property var collapsed: true; height: childrenRect.height + shadowRadius * 2; // Bubbles upward @@ -52,21 +52,18 @@ Item { // Main card Item { id: mainCard; - // I don't know why the extra height is needed but it is in order to look proportional. - height: childrenRect.height + 2; + height: 60 * screenScaleFactor + 2 * UM.Theme.getSize("default_margin").width; width: parent.width; // Machine icon Item { id: machineIcon; anchors { - left: parent.left; leftMargin: UM.Theme.getSize("wide_margin").width; margins: UM.Theme.getSize("default_margin").width; - top: parent.top; } - height: 58 * screenScaleFactor; - width: 58 * screenScaleFactor; + height: parent.height; + width: height; // Skeleton Rectangle { @@ -87,6 +84,9 @@ Item { } height: sourceSize.height; source: { + if (!printer) { + return ""; + } switch(printer.type) { case "Ultimaker 3": return "../svg/UM3-icon.svg"; @@ -104,20 +104,18 @@ Item { // Printer info Item { id: printerInfo; - height: childrenRect.height anchors { left: machineIcon.right; - leftMargin: UM.Theme.getSize("default_margin").width; right: collapseIcon.left; - rightMargin: UM.Theme.getSize("default_margin").width; verticalCenter: machineIcon.verticalCenter; } + height: childrenRect.height; // Machine name Item { id: machineNameLabel; height: UM.Theme.getSize("monitor_text_line").height; - width: parent.width * 0.3; + width: Math.round(parent.width * 0.3); // Skeleton Rectangle { @@ -132,7 +130,7 @@ Item { color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default_bold"); - text: printer.name; + text: printer ? printer.name : ""; visible: printer; width: parent.width; } @@ -146,7 +144,7 @@ Item { topMargin: Math.round(UM.Theme.getSize("default_margin").height / 2); } height: UM.Theme.getSize("monitor_text_line").height; - width: parent.width * 0.75; + width: Math.round(parent.width * 0.75); // Skeleton Rectangle { @@ -214,9 +212,6 @@ Item { Connections { target: printerList; onCurrentIndexChanged: { - if (!model) { - return; - } root.collapsed = printerList.currentIndex != model.index; } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index bc819b3aaa..d7102d5493 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -57,8 +57,8 @@ Item { right: parent.right; rightMargin: UM.Theme.getSize("wide_margin").width; } - printJob: root.printer.activePrintJob; - visible: root.printer.activePrintJob; + printJob: root.printer ? root.printer.activePrintJob : null; + visible: printJob; } } diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 9e45cbb410..05482d0b1f 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -340,6 +340,7 @@ "monitor_progress_fill_inactive": [154, 154, 154, 255], "monitor_progress_fill_text": [255,255,255,255], "monitor_progress_fill": [12, 169, 227, 255], + "monitor_shadow": [0, 0, 0, 63], "monitor_skeleton_fill": [245, 245, 245, 255], "monitor_text_inactive": [154, 154, 154, 255] }, @@ -496,6 +497,7 @@ "monitor_text_line": [1.16, 1.16], "monitor_thick_lining": [0.16, 0.16], "monitor_corner_radius": [0.3, 0.3], - "monitor_shadow_radius": [0.4, 0.4] + "monitor_shadow_radius": [0.4, 0.4], + "monitor_shadow_offset": [0.15, 0.15] } } From 9a16d45be5060f77f7a0028c5f2265f3bd666d88 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 22 Oct 2018 16:02:55 +0200 Subject: [PATCH 298/423] Round divisions Contributes to CL-1051, CL-897, CL-1111 --- plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml | 2 +- .../resources/qml/PrintCoreConfiguration.qml | 2 +- .../UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 4 ++-- plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index f9c0d6d1e2..2fcf52c463 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -23,7 +23,7 @@ Rectangle { color: UM.Theme.getColor("primary_text"); height: width; source: iconSource; - width: parent.width / 2; + width: Math.round(parent.width / 2); } MouseArea { diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml index 54f82142c2..7bcd9ce6e4 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintCoreConfiguration.qml @@ -100,7 +100,7 @@ Item { color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !extruderInfo.printCoreConfiguration; - width: parent.width / 3; + width: Math.round(parent.width / 3); } // Actual content diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 8426834721..dd0f2f88cf 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -72,7 +72,7 @@ Item { color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !printJob; - width: parent.width / 3; + width: Math.round(parent.width / 3); } Label { anchors.fill: parent; @@ -97,7 +97,7 @@ Item { color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !printJob; - width: parent.width / 2; + width: Math.round(parent.width / 2); } Label { anchors.fill: parent; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml index 5e226d19e9..f9f7b5ae87 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobTitle.qml @@ -21,7 +21,7 @@ Column { color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !job; - width: parent.width / 3; + width: Math.round(parent.width / 3); } Label { @@ -44,7 +44,7 @@ Column { color: UM.Theme.getColor("monitor_skeleton_fill"); height: parent.height; visible: !job; - width: parent.width / 2; + width: Math.round(parent.width / 2); } Label { From 89cb67017fe808c615f1d11604597223c992e923 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 23 Oct 2018 08:49:20 +0200 Subject: [PATCH 299/423] Add unit test for addDefaultMachineActions() CURA-5812 --- cura/Settings/CuraContainerStack.py | 8 +++---- tests/TestMachineAction.py | 36 +++++++++++++++++++++++++++++ tests/conftest.py | 1 - 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/cura/Settings/CuraContainerStack.py b/cura/Settings/CuraContainerStack.py index 0ec95e2e41..042b065226 100755 --- a/cura/Settings/CuraContainerStack.py +++ b/cura/Settings/CuraContainerStack.py @@ -145,13 +145,11 @@ class CuraContainerStack(ContainerStack): def setDefinition(self, new_definition: DefinitionContainerInterface) -> None: self.replaceContainer(_ContainerIndexes.Definition, new_definition) - ## Get the definition container. - # - # \return The definition container. Should always be a valid container, but can be equal to the empty InstanceContainer. - @pyqtProperty(QObject, fset = setDefinition, notify = pyqtContainersChanged) - def definition(self) -> DefinitionContainer: + def getDefinition(self) -> "DefinitionContainer": return cast(DefinitionContainer, self._containers[_ContainerIndexes.Definition]) + definition = pyqtProperty(QObject, fget = getDefinition, fset = setDefinition, notify = pyqtContainersChanged) + @override(ContainerStack) def getBottom(self) -> "DefinitionContainer": return self.definition diff --git a/tests/TestMachineAction.py b/tests/TestMachineAction.py index 0d819b9120..9601d68bce 100755 --- a/tests/TestMachineAction.py +++ b/tests/TestMachineAction.py @@ -1,10 +1,24 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +from unittest import mock + import pytest from cura.MachineAction import MachineAction from cura.MachineActionManager import NotUniqueMachineActionError, UnknownMachineActionError +from cura.Settings.GlobalStack import GlobalStack + + +@pytest.fixture() +def global_stack(): + gs = GlobalStack("test_global_stack") + gs._metadata = {"supported_actions": ["supported_action_1", "supported_action_2"], + "required_actions": ["required_action_1", "required_action_2"], + "first_start_actions": ["first_start_actions_1", "first_start_actions_2"] + } + return gs + class Machine: def __init__(self, key = ""): @@ -13,6 +27,28 @@ class Machine: def getKey(self): return self._key + +def test_addDefaultMachineActions(machine_action_manager, global_stack): + all_actions = [] + for action_key_list in global_stack._metadata.values(): + for key in action_key_list: + all_actions.append(MachineAction(key = key)) + for action in all_actions: + machine_action_manager.addMachineAction(action) + + machine_action_manager.addDefaultMachineActions(global_stack) + definition_id = global_stack.getDefinition().getId() + + support_action_keys = [a.getKey() for a in machine_action_manager.getSupportedActions(definition_id)] + assert support_action_keys == global_stack.getMetaDataEntry("supported_actions") + + required_action_keys = [a.getKey() for a in machine_action_manager.getRequiredActions(definition_id)] + assert required_action_keys == global_stack.getMetaDataEntry("required_actions") + + first_start_action_keys = [a.getKey() for a in machine_action_manager.getFirstStartActions(definition_id)] + assert first_start_action_keys == global_stack.getMetaDataEntry("first_start_actions") + + def test_addMachineAction(machine_action_manager): test_action = MachineAction(key = "test_action") diff --git a/tests/conftest.py b/tests/conftest.py index ad0bc609ee..b21b32b028 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -13,7 +13,6 @@ from cura.CuraApplication import CuraApplication from cura.MachineActionManager import MachineActionManager - # Create a CuraApplication object that will be shared among all tests. It needs to be initialized. # Since we need to use it more that once, we create the application the first time and use its instance afterwards. @pytest.fixture() From 94ef0b92fe8642ef3b4f4e795340a82b0b205f26 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 23 Oct 2018 10:25:13 +0200 Subject: [PATCH 300/423] Fix typo in the getCompatibleMaterialDiameter function. Contributes to CURA-5834. --- cura/Settings/ExtruderStack.py | 8 ++++---- cura/Settings/MachineManager.py | 2 +- plugins/3MFReader/ThreeMFWorkspaceReader.py | 2 +- .../MachineSettingsAction/MachineSettingsAction.qml | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cura/Settings/ExtruderStack.py b/cura/Settings/ExtruderStack.py index 02e8824a9d..d7faedb71c 100644 --- a/cura/Settings/ExtruderStack.py +++ b/cura/Settings/ExtruderStack.py @@ -71,7 +71,7 @@ class ExtruderStack(CuraContainerStack): # # If the machine has no requirement for the diameter, -1 is returned. # \return The filament diameter for the printer - def getComptabileMaterialDiameter(self) -> float: + def getCompatibleMaterialDiameter(self) -> float: context = PropertyEvaluationContext(self) context.context["evaluate_from_container_index"] = _ContainerIndexes.Variant @@ -79,7 +79,7 @@ class ExtruderStack(CuraContainerStack): def setCompatibleMaterialDiameter(self, value: float) -> None: old_approximate_diameter = self.getApproximateMaterialDiameter() - if self.getComptabileMaterialDiameter() != value: + if self.getCompatibleMaterialDiameter() != value: self.definitionChanges.setProperty("material_diameter", "value", value) self.compatibleMaterialDiameterChanged.emit() @@ -88,7 +88,7 @@ class ExtruderStack(CuraContainerStack): self.approximateMaterialDiameterChanged.emit() compatibleMaterialDiameter = pyqtProperty(float, fset = setCompatibleMaterialDiameter, - fget = getComptabileMaterialDiameter, + fget = getCompatibleMaterialDiameter, notify = compatibleMaterialDiameterChanged) approximateMaterialDiameterChanged = pyqtSignal() @@ -102,7 +102,7 @@ class ExtruderStack(CuraContainerStack): # # \return The approximate filament diameter for the printer def getApproximateMaterialDiameter(self) -> float: - return round(self.getComptabileMaterialDiameter()) + return round(self.getCompatibleMaterialDiameter()) approximateMaterialDiameter = pyqtProperty(float, fget = getApproximateMaterialDiameter, notify = approximateMaterialDiameterChanged) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index c27e95bbf0..e728ae433b 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1276,7 +1276,7 @@ class MachineManager(QObject): if extruder.variant.getId() != self._empty_variant_container.getId(): current_nozzle_name = extruder.variant.getMetaDataEntry("name") - material_diameter = extruder.getComptabileMaterialDiameter() + material_diameter = extruder.getCompatibleMaterialDiameter() candidate_materials = self._material_manager.getAvailableMaterials( self._global_container_stack.definition, current_nozzle_name, diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index e56e4c0f13..e994e1a817 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -926,7 +926,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): build_plate_id = global_stack.variant.getId() # get material diameter of this extruder - machine_material_diameter = extruder_stack.comptabileMaterialDiameter + machine_material_diameter = extruder_stack.getCompatibleMaterialDiameter() material_node = material_manager.getMaterialNode(global_stack.definition.getId(), extruder_stack.variant.getName(), build_plate_id, diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index be2b1d337a..5109aa05cb 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -410,7 +410,7 @@ Cura.MachineAction } function setValueFunction(value) { - Cura.MachineManager.activeStack.compatibleMaterialDiameter = value; + Cura.MachineManager.activeStack.compatibleMaterialDiameter = value } property bool isExtruderSetting: true } @@ -634,19 +634,19 @@ Cura.MachineAction // are available. if (_setValueFunction !== undefined) { - _setValueFunction(text); + _setValueFunction(text) } else { - propertyProvider.setPropertyValue("value", text); + propertyProvider.setPropertyValue("value", text) } if(_forceUpdateOnChange) { - manager.forceUpdate(); + manager.forceUpdate() } if(_afterOnEditingFinished) { - _afterOnEditingFinished(); + _afterOnEditingFinished() } } } From e48c24e1dceef4017ec2986ba5ef619294d6429c Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 23 Oct 2018 10:35:49 +0200 Subject: [PATCH 301/423] Fix material diameter for deltacomb CURA-5753 --- resources/extruders/deltacomb_extruder_0.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/extruders/deltacomb_extruder_0.def.json b/resources/extruders/deltacomb_extruder_0.def.json index 35ed340bc0..046becfd82 100755 --- a/resources/extruders/deltacomb_extruder_0.def.json +++ b/resources/extruders/deltacomb_extruder_0.def.json @@ -10,6 +10,7 @@ "overrides": { "extruder_nr": { "default_value": 0 }, - "machine_nozzle_size": { "default_value": 0.4 } + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } } } From e061fc42636ab1c2199ed672f17f0dbe6b7e5250 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 23 Oct 2018 10:59:36 +0200 Subject: [PATCH 302/423] Add comments to the unit test to better know how it works. Contributes to CURA-5808. --- tests/TestMachineAction.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/TestMachineAction.py b/tests/TestMachineAction.py index 9601d68bce..5d1805b707 100755 --- a/tests/TestMachineAction.py +++ b/tests/TestMachineAction.py @@ -1,8 +1,6 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from unittest import mock - import pytest from cura.MachineAction import MachineAction @@ -13,10 +11,11 @@ from cura.Settings.GlobalStack import GlobalStack @pytest.fixture() def global_stack(): gs = GlobalStack("test_global_stack") - gs._metadata = {"supported_actions": ["supported_action_1", "supported_action_2"], - "required_actions": ["required_action_1", "required_action_2"], - "first_start_actions": ["first_start_actions_1", "first_start_actions_2"] - } + gs._metadata = { + "supported_actions": ["supported_action_1", "supported_action_2"], + "required_actions": ["required_action_1", "required_action_2"], + "first_start_actions": ["first_start_actions_1", "first_start_actions_2"] + } return gs @@ -29,6 +28,8 @@ class Machine: def test_addDefaultMachineActions(machine_action_manager, global_stack): + # The actions need to be registered first as "available actions" in the manager, + # same as the "machine_action" type does when registering a plugin. all_actions = [] for action_key_list in global_stack._metadata.values(): for key in action_key_list: @@ -36,6 +37,8 @@ def test_addDefaultMachineActions(machine_action_manager, global_stack): for action in all_actions: machine_action_manager.addMachineAction(action) + # Only the actions in the definition that were registered first will be added to the machine. + # For the sake of this test, all the actions were previouly added. machine_action_manager.addDefaultMachineActions(global_stack) definition_id = global_stack.getDefinition().getId() From fb9d85557eb270b9809e18367295a25c27eea943 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 23 Oct 2018 13:57:42 +0200 Subject: [PATCH 303/423] Missed one of the getCompatibleMaterialDiameter typo's in the previous commit. part of [CURA-5834] --- cura/Machines/MaterialManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index f91259723d..1a204c020b 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -490,7 +490,7 @@ class MaterialManager(QObject): if extruder_stack_or_definition and parseBool(global_stack.getMetaDataEntry("has_materials", False)): if is_extruder_stack: - material_diameter = extruder_stack_or_definition.getComptabileMaterialDiameter() + material_diameter = extruder_stack_or_definition.getCompatibleMaterialDiameter() else: material_diameter = extruder_stack_or_definition.getProperty("material_diameter", "value") From 1bd488dd6ca83d21ea42ff3c8c33f9374348a9e6 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 23 Oct 2018 15:25:42 +0200 Subject: [PATCH 304/423] Remove comments Contributes to CL-897 --- plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py b/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py index f40a0c2e6b..ef8a212b76 100644 --- a/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py +++ b/plugins/UM3NetworkPrinting/src/ConfigurationChangeModel.py @@ -15,8 +15,6 @@ class ConfigurationChangeModel(QObject): @pyqtProperty(int, constant = True) def index(self) -> int: return self._index - # "target_id": fields.String(required=True, description="Target material guid or hotend id"), - # "origin_id": fields.String(required=True, description="Original/current material guid or hotend id"), @pyqtProperty(str, constant = True) def typeOfChange(self) -> str: From f9545a339d32e4b3d6a09c8858876bee3f5cc674 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 23 Oct 2018 15:41:56 +0200 Subject: [PATCH 305/423] QML Clean-up Contributes to CL-897, CL-1051, CL-1111 --- plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml | 2 +- .../UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml | 4 ++-- .../resources/qml/ConfigurationChangeBlock.qml | 6 +++--- .../UM3NetworkPrinting/resources/qml/PrintJobPreview.qml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index 2fcf52c463..f8dd3bc467 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -11,7 +11,7 @@ Rectangle { property var iconSource: null; color: clickArea.containsMouse ? UM.Theme.getColor("primary_hover") : UM.Theme.getColor("primary"); // "Cura Blue" height: width; - radius: 0.5 * width; + radius: Math.round(0.5 * width); width: 36 * screenScaleFactor; UM.RecolorImage { diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index c26425cd3e..c79092863e 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -51,7 +51,7 @@ Component { id: queuedLabel; anchors { left: queuedPrintJobs.left; - leftMargin: 3 * UM.Theme.getSize("default_margin").width + 5; + leftMargin: 3 * UM.Theme.getSize("default_margin").width + 5 * screenScaleFactor; top: parent.top; topMargin: 2 * UM.Theme.getSize("default_margin").height; } @@ -119,7 +119,7 @@ Component { printJob: modelData; } model: OutputDevice.queuedPrintJobs; - spacing: UM.Theme.getSize("default_margin").height - 10; // 2x the shadow radius + spacing: UM.Theme.getSize("default_margin").height - 2 * UM.Theme.getSize("monitor_shadow_radius").width; } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml index b1ebca3680..4b11a2b6be 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml @@ -39,16 +39,16 @@ Item { } color: { if(configurationChangeToggle.containsMouse) { - return UM.Theme.getColor("viewport_background"); // TODO: Theme! + return UM.Theme.getColor("viewport_background"); } else { return "transparent"; } } - height: UM.Theme.getSize("default_margin").height * 4; // TODO: Theme! + height: UM.Theme.getSize("default_margin").height * 4; width: parent.width; Rectangle { - color: "#e6e6e6"; // TODO: Theme! + color: UM.Theme.getColor("monitor_lining_light"); height: UM.Theme.getSize("default_lining").height; width: parent.width; } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml index 50308e28a9..b1a73255f4 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobPreview.qml @@ -63,13 +63,13 @@ Item { id: statusImage; anchors.centerIn: parent; color: "black"; // TODO: Theme! - height: 0.5 * parent.height; + height: Math.round(0.5 * parent.height); source: job && job.state == "error" ? "../svg/aborted-icon.svg" : ""; sourceSize { height: height; width: width; } visible: source != ""; - width: 0.5 * parent.width; + width: Math.round(0.5 * parent.width); } } \ No newline at end of file From 0045559d0173b469df75ce513da79aa8c9d4e9c0 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 23 Oct 2018 15:45:44 +0200 Subject: [PATCH 306/423] QML Clean-up Contributes to CL-897, CL-1051, CL-1111 --- .../UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 52edf0ed17..7fbd36fc83 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -19,7 +19,7 @@ Item { color: UM.Theme.getColor("viewport_background"); // TODO: Theme! height: button.height; opacity: button.down || button.hovered ? 1 : 0; - radius: 0.5 * width; + radius: Math.round(0.5 * width); width: button.width; } contentItem: Label { From a247fe204fe41a93fadb3eb314ffb2719cf24b92 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 23 Oct 2018 16:27:45 +0200 Subject: [PATCH 307/423] Fix print job context menu height Contributes to CL-897, CL-1051, CL-1111 --- .../UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 7fbd36fc83..55d3c66eb4 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -95,8 +95,7 @@ Item { top: parent.top; topMargin: UM.Theme.getSize("default_margin").height + 10 * screenScaleFactor; // Account for the point of the box } - // height: childrenRect.height + spacing * popupOptions.children.length + UM.Theme.getSize("default_margin").height; - height: 200; + height: childrenRect.height + spacing * popupOptions.children.length + UM.Theme.getSize("default_margin").height; spacing: Math.floor(UM.Theme.getSize("default_margin").height / 2); width: parent.width; From 8662e1a125fd0704785272e9819c651e64ff67dd Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 24 Oct 2018 11:13:12 +0200 Subject: [PATCH 308/423] Fix override dialog box Contributes to CL-897 --- .../qml/ConfigurationChangeBlock.qml | 256 ------------------ .../resources/qml/PrintJobInfoBlock.qml | 2 +- 2 files changed, 1 insertion(+), 257 deletions(-) delete mode 100644 plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml diff --git a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml deleted file mode 100644 index 4b11a2b6be..0000000000 --- a/plugins/UM3NetworkPrinting/resources/qml/ConfigurationChangeBlock.qml +++ /dev/null @@ -1,256 +0,0 @@ -// Copyright (c) 2018 Ultimaker B.V. -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.2 -import QtQuick.Dialogs 1.1 -import QtQuick.Controls 2.0 -import QtQuick.Controls.Styles 1.4 -import QtGraphicalEffects 1.0 -import QtQuick.Layouts 1.1 -import QtQuick.Dialogs 1.1 -import UM 1.3 as UM - -Item { - id: root; - property var job: null; - property var materialsAreKnown: { - var conf0 = job.configuration[0]; - if (conf0 && !conf0.material.material) { - return false; - } - var conf1 = job.configuration[1]; - if (conf1 && !conf1.material.material) { - return false; - } - return true; - } - width: parent.width; - height: childrenRect.height; - - Column { - width: parent.width; - height: childrenRect.height; - - // Config change toggle - Rectangle { - anchors { - left: parent.left; - right: parent.right; - } - color: { - if(configurationChangeToggle.containsMouse) { - return UM.Theme.getColor("viewport_background"); - } else { - return "transparent"; - } - } - height: UM.Theme.getSize("default_margin").height * 4; - width: parent.width; - - Rectangle { - color: UM.Theme.getColor("monitor_lining_light"); - height: UM.Theme.getSize("default_lining").height; - width: parent.width; - } - - UM.RecolorImage { - anchors { - right: configChangeToggleLabel.left; - rightMargin: UM.Theme.getSize("default_margin").width; - verticalCenter: parent.verticalCenter; - } - color: UM.Theme.getColor("text"); - height: 23 * screenScaleFactor; // TODO: Theme! - source: "../svg/warning-icon.svg"; - sourceSize { - width: width; - height: height; - } - width: 23 * screenScaleFactor; // TODO: Theme! - } - - Label { - id: configChangeToggleLabel; - anchors { - horizontalCenter: parent.horizontalCenter; - verticalCenter: parent.verticalCenter; - } - text: "Configuration change"; // TODO: i18n! - } - - UM.RecolorImage { - anchors { - left: configChangeToggleLabel.right; - leftMargin: UM.Theme.getSize("default_margin").width; - verticalCenter: parent.verticalCenter; - } - color: UM.Theme.getColor("text"); - height: 15 * screenScaleFactor; // TODO: Theme! - source: { - if (configChangeDetails.visible) { - return UM.Theme.getIcon("arrow_top"); - } else { - return UM.Theme.getIcon("arrow_bottom"); - } - } - sourceSize { - width: width; - height: height; - } - width: 15 * screenScaleFactor; // TODO: Theme! - } - - MouseArea { - id: configurationChangeToggle; - anchors.fill: parent; - hoverEnabled: true; - onClicked: { - configChangeDetails.visible = !configChangeDetails.visible; - } - } - } - - // Config change details - Rectangle { - id: configChangeDetails - Behavior on height { NumberAnimation { duration: 100 } } - color: "transparent"; - height: visible ? UM.Theme.getSize("monitor_config_override_box").height : 0; - visible: false; - width: parent.width; - - Rectangle { - anchors { - bottomMargin: UM.Theme.getSize("wide_margin").height; - fill: parent; - leftMargin: UM.Theme.getSize("wide_margin").height * 4; - rightMargin: UM.Theme.getSize("wide_margin").height * 4; - topMargin: UM.Theme.getSize("wide_margin").height; - } - color: "transparent"; - clip: true; - - Label { - anchors.fill: parent; - elide: Text.ElideRight; - font: UM.Theme.getFont("large_nonbold"); - text: { - if (root.job === null) { - return ""; - } - if (root.job.configurationChanges.length === 0) { - return ""; - } - var topLine; - if (root.materialsAreKnown) { - topLine = catalog.i18nc("@label", "The assigned printer, %1, requires the following configuration change(s):").arg(root.job.assignedPrinter.name); - } else { - topLine = catalog.i18nc("@label", "The printer %1 is assigned, but the job contains an unknown material configuration.").arg(root.job.assignedPrinter.name); - } - var result = "

" + topLine +"

"; - for (var i = 0; i < root.job.configurationChanges.length; i++) { - var change = root.job.configurationChanges[i]; - var text; - switch (change.typeOfChange) { - case 'material_change': - text = catalog.i18nc("@label", "Change material %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); - break; - case 'material_insert': - text = catalog.i18nc("@label", "Load %3 as material %1 (This cannot be overridden).").arg(change.index + 1).arg(change.targetName); - break; - case 'print_core_change': - text = catalog.i18nc("@label", "Change print core %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName); - break; - case 'buildplate_change': - text = catalog.i18nc("@label", "Change build plate to %1 (This cannot be overridden).").arg(formatBuildPlateType(change.target_name)); - break; - default: - text = ""; - } - result += "

" + text + "

"; - } - return result; - } - wrapMode: Text.WordWrap; - } - - Button { - anchors { - bottom: parent.bottom; - left: parent.left; - } - onClicked: { - overrideConfirmationDialog.visible = true; - } - text: catalog.i18nc("@label", "Override"); - visible: { - if (root.job && root.job.configurationChanges) { - var length = root.job.configurationChanges.length; - for (var i = 0; i < length; i++) { - var typeOfChange = root.job.configurationChanges[i].typeOfChange; - if (typeOfChange === "material_insert" || typeOfChange === "buildplate_change") { - return false; - } - } - } - return true; - } - } - } - } - } - - MessageDialog { - id: overrideConfirmationDialog; - Component.onCompleted: visible = false; - icon: StandardIcon.Warning; - onYes: OutputDevice.forceSendJob(root.job.key); - standardButtons: StandardButton.Yes | StandardButton.No; - text: { - if (!root.job) { - return ""; - } - var printJobName = formatPrintJobName(root.job.name); - var confirmText = catalog.i18nc("@label", "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?").arg(printJobName); - return confirmText; - } - title: catalog.i18nc("@window:title", "Override configuration configuration and start print"); - } - - // Utils - function formatPrintJobName(name) { - var extensions = [ ".gz", ".gcode", ".ufp" ]; - for (var i = 0; i < extensions.length; i++) { - var extension = extensions[i]; - if (name.slice(-extension.length) === extension) { - name = name.substring(0, name.length - extension.length); - } - } - return name; - } - function materialsAreKnown(job) { - var conf0 = job.configuration[0]; - if (conf0 && !conf0.material.material) { - return false; - } - var conf1 = job.configuration[1]; - if (conf1 && !conf1.material.material) { - return false; - } - return true; - } - function formatBuildPlateType(buildPlateType) { - var translationText = ""; - switch (buildPlateType) { - case 'glass': - translationText = catalog.i18nc("@label", "Glass"); - break; - case 'aluminum': - translationText = catalog.i18nc("@label", "Aluminum"); - break; - default: - translationText = null; - } - return translationText; - } -} \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index dd0f2f88cf..0fa65ba4c4 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -425,7 +425,7 @@ Item { onYes: OutputDevice.forceSendJob(printJob.key); standardButtons: StandardButton.Yes | StandardButton.No; text: { - if (!root.job) { + if (!printJob) { return ""; } var printJobName = formatPrintJobName(printJob.name); From d077dcc851ea5b1cb693979bfedeabf494a8f2cc Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 24 Oct 2018 11:13:38 +0200 Subject: [PATCH 309/423] Fix printer card skeleton colors Contributes to CL-1051 --- .../resources/qml/PrinterCard.qml | 13 ++++++++----- resources/themes/cura-dark/theme.json | 3 ++- resources/themes/cura-light/theme.json | 1 + 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index cfa3279845..79a915d0d1 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -60,16 +60,18 @@ Item { id: machineIcon; anchors { leftMargin: UM.Theme.getSize("wide_margin").width; + top: parent.top; + left: parent.left; margins: UM.Theme.getSize("default_margin").width; } - height: parent.height; + height: parent.height - 2 * UM.Theme.getSize("default_margin").width; width: height; // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("monitor_skeleton_fill"); // TODO: Theme! - radius: UM.Theme.getSize("default_margin").width; // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill_dark"); + radius: UM.Theme.getSize("default_margin").width; visible: !printer; } @@ -106,6 +108,7 @@ Item { id: printerInfo; anchors { left: machineIcon.right; + leftMargin: UM.Theme.getSize("default_margin").width; right: collapseIcon.left; verticalCenter: machineIcon.verticalCenter; } @@ -120,7 +123,7 @@ Item { // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("monitor_skeleton_fill"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill_dark"); visible: !printer; } @@ -149,7 +152,7 @@ Item { // Skeleton Rectangle { anchors.fill: parent; - color: UM.Theme.getColor("monitor_skeleton_fill"); // TODO: Theme! + color: UM.Theme.getColor("monitor_skeleton_fill_dark"); visible: !printer; } diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index cb18979891..39546b6370 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -240,6 +240,7 @@ "monitor_progress_fill_text": [0, 0, 0, 255], "monitor_progress_fill": [216, 216, 216, 255], "monotir_printer_icon_inactive": [154, 154, 154, 255], - "monitor_skeleton_fill": [31, 36, 39, 255] + "monitor_skeleton_fill": [31, 36, 39, 255], + "monitor_skeleton_fill_dark": [31, 36, 39, 255] } } diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 05482d0b1f..25c9a678c1 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -342,6 +342,7 @@ "monitor_progress_fill": [12, 169, 227, 255], "monitor_shadow": [0, 0, 0, 63], "monitor_skeleton_fill": [245, 245, 245, 255], + "monitor_skeleton_fill_dark": [216, 216, 216, 255], "monitor_text_inactive": [154, 154, 154, 255] }, From b00ea4719a268ec4b000375343bbc4082783b435 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 24 Oct 2018 15:42:43 +0200 Subject: [PATCH 310/423] WIP: Add custom CameraView for UM camera feed CURA-5821 --- cura/CuraApplication.py | 3 +++ cura/PrinterOutput/CameraView.py | 41 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 cura/PrinterOutput/CameraView.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 01cabcfb90..41dadc2d84 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -959,6 +959,9 @@ class CuraApplication(QtApplication): qmlRegisterType(QualityManagementModel, "Cura", 1, 0, "QualityManagementModel") qmlRegisterType(MachineManagementModel, "Cura", 1, 0, "MachineManagementModel") + from cura.PrinterOutput.CameraView import CameraView + qmlRegisterType(CameraView, "Cura", 1, 0, "CameraView") + qmlRegisterSingletonType(QualityProfilesDropDownMenuModel, "Cura", 1, 0, "QualityProfilesDropDownMenuModel", self.getQualityProfilesDropDownMenuModel) qmlRegisterSingletonType(CustomQualityProfilesDropDownMenuModel, "Cura", 1, 0, diff --git a/cura/PrinterOutput/CameraView.py b/cura/PrinterOutput/CameraView.py new file mode 100644 index 0000000000..4a604b7abe --- /dev/null +++ b/cura/PrinterOutput/CameraView.py @@ -0,0 +1,41 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import pyqtProperty, pyqtSignal +from PyQt5.QtGui import QImage +from PyQt5.QtQuick import QQuickPaintedItem + + +# +# A custom camera view that uses QQuickPaintedItem to present (or "paint") the image frames from a printer's +# network camera feed. +# +class CameraView(QQuickPaintedItem): + + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) + + self._image = QImage() + + imageChanged = pyqtSignal() + + def setImage(self, image: "QImage") -> None: + self._image = image + self.imageChanged.emit() + self.update() + + def getImage(self) -> "QImage": + return self._image + + image = pyqtProperty(QImage, fget = getImage, fset = setImage, notify = imageChanged) + + @pyqtProperty(int, notify = imageChanged) + def imageWidth(self) -> int: + return self._image.width() + + @pyqtProperty(int, notify = imageChanged) + def imageHeight(self) -> int: + return self._image.height() + + def paint(self, painter): + painter.drawImage(self.contentsBoundingRect(), self._image) From eea340d57a3856682a9132b53005856af54c0971 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 24 Oct 2018 15:54:14 +0200 Subject: [PATCH 311/423] Add typing --- cura/Scene/BlockSlicingDecorator.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cura/Scene/BlockSlicingDecorator.py b/cura/Scene/BlockSlicingDecorator.py index 3fc0015836..0536e1635f 100644 --- a/cura/Scene/BlockSlicingDecorator.py +++ b/cura/Scene/BlockSlicingDecorator.py @@ -1,9 +1,12 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + from UM.Scene.SceneNodeDecorator import SceneNodeDecorator class BlockSlicingDecorator(SceneNodeDecorator): - def __init__(self): + def __init__(self) -> None: super().__init__() - def isBlockSlicing(self): + def isBlockSlicing(self) -> bool: return True From 9b74dfd5ec65c32823393f13798344ab37d785ae Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 24 Oct 2018 15:54:45 +0200 Subject: [PATCH 312/423] Correct typo intented -> intended --- plugins/GCodeReader/RepRapFlavorParser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/GCodeReader/RepRapFlavorParser.py b/plugins/GCodeReader/RepRapFlavorParser.py index ba1e13f23d..2a24d16add 100644 --- a/plugins/GCodeReader/RepRapFlavorParser.py +++ b/plugins/GCodeReader/RepRapFlavorParser.py @@ -1,9 +1,9 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from . import FlavorParser -# This parser is intented for interpret the RepRap Firmware flavor +## This parser is intended to interpret the RepRap Firmware g-code flavor. class RepRapFlavorParser(FlavorParser.FlavorParser): def __init__(self): From 9d07409cce48cbb7ce0923c75d8c81f092f3da1c Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 24 Oct 2018 15:46:16 +0200 Subject: [PATCH 313/423] WIP: Use CameraView for UM camera feeds CURA-5821 The original implementation that refreshes a QImage seems to cause memory overflow on MacOSX and Windows. This is a different implementation. It doesn't cause memory overflow, but it does consume a lot of CPU power. --- cura/PrinterOutput/NetworkCamera.py | 13 +++------- .../resources/qml/MonitorItem.qml | 24 ++++++++++++------- .../resources/qml/PrinterVideoStream.qml | 20 ++++++++++------ 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/cura/PrinterOutput/NetworkCamera.py b/cura/PrinterOutput/NetworkCamera.py index 5b28ffd30d..1fff9945c8 100644 --- a/cura/PrinterOutput/NetworkCamera.py +++ b/cura/PrinterOutput/NetworkCamera.py @@ -16,7 +16,6 @@ class NetworkCamera(QObject): self._image_request = None self._image_reply = None self._image = QImage() - self._image_id = 0 self._target = target self._started = False @@ -33,15 +32,9 @@ class NetworkCamera(QObject): if restart_required: self.start() - @pyqtProperty(QUrl, notify=newImage) + @pyqtProperty(QImage, notify=newImage) def latestImage(self): - self._image_id += 1 - # There is an image provider that is called "camera". In order to ensure that the image qml object, that - # requires a QUrl to function, updates correctly we add an increasing number. This causes to see the QUrl - # as new (instead of relying on cached version and thus forces an update. - temp = "image://camera/" + str(self._image_id) - - return QUrl(temp, QUrl.TolerantMode) + return self._image @pyqtSlot() def start(self): @@ -116,4 +109,4 @@ class NetworkCamera(QObject): self._stream_buffer_start_index = -1 self._image.loadFromData(jpg_data) - self.newImage.emit() + self.newImage.emit() diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml index 4b863ff9ed..7aff32e424 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml @@ -10,7 +10,7 @@ Component { height: maximumHeight; width: maximumWidth; - Image { + Cura.CameraView { id: cameraImage; anchors { horizontalCenter: parent.horizontalCenter; @@ -21,7 +21,7 @@ Component { OutputDevice.activePrinter.camera.start(); } } - height: Math.floor((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width); + height: Math.floor((imageHeight === 0 ? 600 * screenScaleFactor : imageHeight) * width / imageWidth); onVisibleChanged: { if (visible) { if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) { @@ -33,14 +33,20 @@ Component { } } } - source: { - if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null && OutputDevice.activePrinter.camera.latestImage) { - return OutputDevice.activePrinter.camera.latestImage; - } - return ""; - } - width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth); + width: Math.min(imageWidth === 0 ? 800 * screenScaleFactor : imageWidth, maximumWidth); z: 1; + + Connections + { + target: OutputDevice.activePrinter.camera; + onNewImage: + { + if (cameraImage.visible) { + cameraImage.image = OutputDevice.activePrinter.camera.latestImage; + cameraImage.update(); + } + } + } } } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index b9e2525dd5..71104872a1 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -5,6 +5,7 @@ import QtQuick 2.2 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 import UM 1.3 as UM +import Cura 1.0 as Cura Item { property var camera: null; @@ -33,11 +34,11 @@ Item { z: 999; } - Image { + Cura.CameraView { id: cameraImage anchors.horizontalCenter: parent.horizontalCenter; anchors.verticalCenter: parent.verticalCenter; - height: Math.round((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width); + height: Math.round((imageHeight === 0 ? 600 * screenScaleFactor : imageHeight) * width / imageWidth); onVisibleChanged: { if (visible) { if (camera != null) { @@ -49,13 +50,18 @@ Item { } } } - source: { - if (camera != null && camera.latestImage != null) { - return camera.latestImage; + + Connections + { + target: camera + onNewImage: { + if (cameraImage.visible) { + cameraImage.image = camera.latestImage; + cameraImage.update(); + } } - return ""; } - width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth); + width: Math.min(imageWidth === 0 ? 800 * screenScaleFactor : imageWidth, maximumWidth); z: 1 } From 103024f919e0a94b937b915f44799a22fc0a5652 Mon Sep 17 00:00:00 2001 From: Sacha Telgenhof Oude Koehorst Date: Wed, 24 Oct 2018 23:22:22 +0900 Subject: [PATCH 314/423] Reduced the number of polygons of the Ender-3 logo in the mesh bed in order to reduce file size of the STL. Also made the Ender logo punched through so it is a bit more noticeable on the build shader. --- resources/meshes/creality_ender3_platform.stl | 65532 ++++------------ 1 file changed, 13306 insertions(+), 52226 deletions(-) diff --git a/resources/meshes/creality_ender3_platform.stl b/resources/meshes/creality_ender3_platform.stl index b362330c9c..4c3699a530 100644 --- a/resources/meshes/creality_ender3_platform.stl +++ b/resources/meshes/creality_ender3_platform.stl @@ -1,43990 +1,14828 @@ solid OpenSCAD_Model - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.3736 -10.7173 -0.2 - vertex 19.6895 -11.13 -0.2 - vertex 19.6819 -11.0243 -0.2 + vertex -36.5262 -13.4531 -3 + vertex -35.4871 -14.1281 -3 + vertex -35.6081 -14.799 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.4763 -10.749 -0.2 - vertex 19.6819 -11.0243 -0.2 - vertex 19.6583 -10.9333 -0.2 + vertex -35.4871 -14.1281 -3 + vertex -35.9073 -13.512 -3 + vertex -35.5739 -13.718 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.557 -10.7956 -0.2 - vertex 19.6583 -10.9333 -0.2 - vertex 19.6172 -10.8571 -0.2 + vertex -35.4871 -14.1281 -3 + vertex -36.5262 -13.4531 -3 + vertex -35.9073 -13.512 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.6895 -11.13 -0.2 - vertex 19.3736 -10.7173 -0.2 - vertex 19.6598 -11.2975 -0.2 + vertex -37.2393 -13.2576 -3 + vertex -35.6081 -14.799 -3 + vertex -37.0548 -18.7102 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.6583 -10.9333 -0.2 - vertex 19.557 -10.7956 -0.2 - vertex 19.4763 -10.749 -0.2 + vertex -35.6081 -14.799 -3 + vertex -37.2393 -13.2576 -3 + vertex -36.5262 -13.4531 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.6819 -11.0243 -0.2 - vertex 19.4763 -10.749 -0.2 - vertex 19.3736 -10.7173 -0.2 + vertex -37.0548 -18.7102 -3 + vertex -37.5366 -12.7854 -3 + vertex -37.2393 -13.2576 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.0963 -10.6988 -0.2 - vertex 19.6598 -11.2975 -0.2 - vertex 19.3736 -10.7173 -0.2 + vertex -37.3951 -12.1929 -3 + vertex -38.3729 23.836 -3 + vertex -37.6991 23.0789 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.6598 -11.2975 -0.2 - vertex 19.0963 -10.6988 -0.2 - vertex 19.5653 -11.6083 -0.2 + vertex -37.3951 -12.1929 -3 + vertex -38.8382 24.6102 -3 + vertex -38.3729 23.836 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 18.7132 -10.7406 -0.2 - vertex 19.5653 -11.6083 -0.2 - vertex 19.0963 -10.6988 -0.2 + vertex -37.3951 -12.1929 -3 + vertex -39.1303 25.4589 -3 + vertex -38.8382 24.6102 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 18.2126 -10.843 -0.2 - vertex 19.5653 -11.6083 -0.2 - vertex 18.7132 -10.7406 -0.2 + vertex -47.2102 -36.2359 -3 + vertex -37.5366 -12.7854 -3 + vertex -39.9072 -25.4747 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.5653 -11.6083 -0.2 - vertex 18.2126 -10.843 -0.2 - vertex 19.1479 -12.7477 -0.2 + vertex -39.9072 -25.4747 -3 + vertex -37.5366 -12.7854 -3 + vertex -37.0548 -18.7102 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 17.5824 -11.0066 -0.2 - vertex 19.1479 -12.7477 -0.2 - vertex 18.2126 -10.843 -0.2 + vertex -30.0976 22.0525 -3 + vertex -29.0303 22.3563 -3 + vertex -28.3511 21.9725 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 16.811 -11.2316 -0.2 - vertex 19.1479 -12.7477 -0.2 - vertex 17.5824 -11.0066 -0.2 + vertex -30.0976 22.0525 -3 + vertex -30.3878 23.2826 -3 + vertex -29.0303 22.3563 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 19.1479 -12.7477 -0.2 - vertex 16.811 -11.2316 -0.2 - vertex 18.3699 -14.7241 -0.2 + vertex -32.1178 22.3529 -3 + vertex -30.3878 23.2826 -3 + vertex -30.0976 22.0525 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 14.1363 -14.3424 -0.2 - vertex 18.3699 -14.7241 -0.2 - vertex 16.811 -11.2316 -0.2 + vertex -31.0943 24.213 -3 + vertex -34.2108 23.023 -3 + vertex -31.2773 24.779 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 14.0967 -14.5873 -0.2 - vertex 18.3699 -14.7241 -0.2 - vertex 14.1362 -14.4186 -0.2 + vertex -34.2108 23.023 -3 + vertex -31.0943 24.213 -3 + vertex -32.1178 22.3529 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 18.3699 -14.7241 -0.2 - vertex 14.1363 -14.3424 -0.2 - vertex 14.1362 -14.4186 -0.2 + vertex -30.3878 23.2826 -3 + vertex -32.1178 22.3529 -3 + vertex -31.0943 24.213 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.7217 -12.1451 -0.2 - vertex 14.1363 -14.3424 -0.2 - vertex 16.811 -11.2316 -0.2 + vertex -26.0647 23.8437 -3 + vertex -26.0224 24.2804 -3 + vertex -24.664 24.0122 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 14.1363 -14.3424 -0.2 - vertex 13.7217 -12.1451 -0.2 - vertex 14.0881 -14.3092 -0.2 + vertex -27.3687 23.7586 -3 + vertex -26.0224 24.2804 -3 + vertex -26.0647 23.8437 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 14.0881 -14.3092 -0.2 - vertex 13.7217 -12.1451 -0.2 - vertex 14.0003 -14.2763 -0.2 + vertex -27.3687 23.7586 -3 + vertex -28.1365 24.9019 -3 + vertex -26.0224 24.2804 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 14.0003 -14.2763 -0.2 - vertex 13.7217 -12.1451 -0.2 - vertex 13.7222 -14.2141 -0.2 + vertex -28.4642 23.8513 -3 + vertex -28.1365 24.9019 -3 + vertex -27.3687 23.7586 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.4022 -12.26 -0.2 - vertex 13.7222 -14.2141 -0.2 - vertex 13.7217 -12.1451 -0.2 + vertex -29.3958 24.13 -3 + vertex -28.1365 24.9019 -3 + vertex -28.4642 23.8513 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.1153 -12.4148 -0.2 - vertex 13.7222 -14.2141 -0.2 - vertex 13.4022 -12.26 -0.2 + vertex -29.3958 24.13 -3 + vertex -29.9035 25.8898 -3 + vertex -28.1365 24.9019 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.7222 -14.2141 -0.2 - vertex 13.1153 -12.4148 -0.2 - vertex 13.3346 -14.1615 -0.2 + vertex -30.2081 24.6027 -3 + vertex -29.9035 25.8898 -3 + vertex -29.3958 24.13 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.8673 -12.6015 -0.2 - vertex 13.3346 -14.1615 -0.2 - vertex 13.1153 -12.4148 -0.2 + vertex -30.8173 24.9813 -3 + vertex -29.9035 25.8898 -3 + vertex -30.2081 24.6027 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.6645 -12.8127 -0.2 - vertex 13.3346 -14.1615 -0.2 - vertex 12.8673 -12.6015 -0.2 + vertex -31.1793 25.0376 -3 + vertex -29.9035 25.8898 -3 + vertex -30.8173 24.9813 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.513 -13.0405 -0.2 - vertex 13.3346 -14.1615 -0.2 - vertex 12.6645 -12.8127 -0.2 + vertex -29.9035 25.8898 -3 + vertex -31.1793 25.0376 -3 + vertex -31.116 26.9038 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.3346 -14.1615 -0.2 - vertex 12.513 -13.0405 -0.2 - vertex 12.8698 -14.1239 -0.2 + vertex -31.2912 27.2229 -3 + vertex -31.1793 25.0376 -3 + vertex -31.2773 24.779 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.419 -13.2773 -0.2 - vertex 12.8698 -14.1239 -0.2 - vertex 12.513 -13.0405 -0.2 + vertex -31.1793 25.0376 -3 + vertex -31.2912 27.2229 -3 + vertex -31.116 26.9038 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.3889 -13.5153 -0.2 - vertex 12.8698 -14.1239 -0.2 - vertex 12.419 -13.2773 -0.2 + vertex -22.4212 26.8695 -3 + vertex -21.4485 26.3569 -3 + vertex -22.0473 26.2369 -3 endloop endfacet - facet normal -0 -0 1 + facet normal 0 0 -1 outer loop - vertex 12.3997 -13.6324 -0.2 - vertex 12.8698 -14.1239 -0.2 - vertex 12.3889 -13.5153 -0.2 + vertex -21.4485 26.3569 -3 + vertex -22.4212 26.8695 -3 + vertex -21.2681 26.5576 -3 endloop endfacet - facet normal -0 -0 1 + facet normal 0 0 -1 outer loop - vertex 12.5013 -13.8876 -0.2 - vertex 12.8698 -14.1239 -0.2 - vertex 12.3997 -13.6324 -0.2 + vertex -24.8433 26.205 -3 + vertex -22.4212 26.8695 -3 + vertex -22.0473 26.2369 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.8698 -14.1239 -0.2 - vertex 12.6087 -14.0056 -0.2 - vertex 12.7363 -14.0885 -0.2 + vertex -27.4214 26.3653 -3 + vertex -24.3225 27.6757 -3 + vertex -24.8433 26.205 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.8698 -14.1239 -0.2 - vertex 12.5013 -13.8876 -0.2 - vertex 12.6087 -14.0056 -0.2 + vertex -23.8902 27.3484 -3 + vertex -24.8433 26.205 -3 + vertex -24.3225 27.6757 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.5013 -13.8876 -0.2 - vertex 12.3997 -13.6324 -0.2 - vertex 12.4287 -13.7469 -0.2 + vertex -22.4212 26.8695 -3 + vertex -24.8433 26.205 -3 + vertex -23.8902 27.3484 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.9185 -15.1524 -0.2 - vertex 18.3699 -14.7241 -0.2 - vertex 14.0967 -14.5873 -0.2 + vertex 0.168338 -24.355 -3 + vertex -3.89417 -22.8317 -3 + vertex -3.85646 -21.6547 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 18.3699 -14.7241 -0.2 - vertex 13.9185 -15.1524 -0.2 - vertex 17.1638 -17.7131 -0.2 + vertex -6.41168 -29.738 -3 + vertex -3.7659 -32.0301 -3 + vertex -3.99709 -33.5697 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.6397 -15.9386 -0.2 - vertex 17.1638 -17.7131 -0.2 - vertex 13.9185 -15.1524 -0.2 + vertex -3.14673 -30.0798 -3 + vertex -4.26405 -24.3543 -3 + vertex -3.89417 -22.8317 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 13.2984 -16.8469 -0.2 - vertex 17.1638 -17.7131 -0.2 - vertex 13.6397 -15.9386 -0.2 + vertex 13.2867 -16.8469 -3 + vertex 12.858 -14.1239 -3 + vertex 14.1246 -14.3424 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.5806 -18.6336 -0.2 - vertex 17.1638 -17.7131 -0.2 - vertex 13.2984 -16.8469 -0.2 + vertex 13.2867 -16.8469 -3 + vertex 12.417 -13.7469 -3 + vertex 12.858 -14.1239 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.2803 -19.3138 -0.2 - vertex 17.1638 -17.7131 -0.2 - vertex 12.5806 -18.6336 -0.2 + vertex 10.3474 -19.1774 -3 + vertex 13.2867 -16.8469 -3 + vertex 11.2177 -19.5302 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 17.1638 -17.7131 -0.2 - vertex 12.2803 -19.3138 -0.2 - vertex 14.5952 -23.8342 -0.2 + vertex 11.2177 -19.5302 -3 + vertex 13.2867 -16.8469 -3 + vertex 12.058 -19.7199 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.0697 -19.7199 -0.2 - vertex 14.5952 -23.8342 -0.2 - vertex 12.2803 -19.3138 -0.2 + vertex 12.0544 30.7144 -3 + vertex 5.19939 38.083 -3 + vertex 5.25321 38.4452 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.0185 -19.7802 -0.2 - vertex 14.5952 -23.8342 -0.2 - vertex 12.0697 -19.7199 -0.2 + vertex 11.5971 30.3591 -3 + vertex 4.72188 37.0399 -3 + vertex 5.19939 38.083 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.9563 -19.8175 -0.2 - vertex 14.5952 -23.8342 -0.2 - vertex 12.0185 -19.7802 -0.2 + vertex 11.2319 29.4873 -3 + vertex 3.57109 31.3388 -3 + vertex 11.5971 30.3591 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 -0 -1 outer loop - vertex 10.1598 -23.7848 -0.2 - vertex 14.5952 -23.8342 -0.2 - vertex 10.1807 -23.3758 -0.2 + vertex 4.30515 36.0346 -3 + vertex 11.5971 30.3591 -3 + vertex 3.93589 34.5584 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.1103 -22.7594 -0.2 - vertex 14.5952 -23.8342 -0.2 - vertex 11.9563 -19.8175 -0.2 + vertex 11.5971 30.3591 -3 + vertex 4.30515 36.0346 -3 + vertex 4.72188 37.0399 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.1103 -22.7594 -0.2 - vertex 11.9563 -19.8175 -0.2 - vertex 11.881 -19.8313 -0.2 + vertex 3.57109 31.3388 -3 + vertex 4.3138 28.4461 -3 + vertex 3.67763 29.7129 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.99008 -22.4166 -0.2 - vertex 11.881 -19.8313 -0.2 - vertex 11.7902 -19.8211 -0.2 + vertex 11.5971 30.3591 -3 + vertex 3.57109 31.3388 -3 + vertex 3.93589 34.5584 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.81668 -22.1284 -0.2 - vertex 11.7902 -19.8211 -0.2 - vertex 11.5538 -19.7266 -0.2 + vertex 7.21237 -5.88439 -3 + vertex 7.03104 -4.97268 -3 + vertex 7.79727 -5.75259 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.95745 -24.7805 -0.2 - vertex 14.5952 -23.8342 -0.2 - vertex 10.0892 -24.2416 -0.2 + vertex 5.81183 -5.98051 -3 + vertex 7.03104 -4.97268 -3 + vertex 7.21237 -5.88439 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 9.59484 -21.895 -0.2 - vertex 11.5538 -19.7266 -0.2 - vertex 11.2294 -19.5302 -0.2 + vertex 7.03104 -4.97268 -3 + vertex 5.81183 -5.98051 -3 + vertex 5.97791 -3.63939 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 14.5952 -23.8342 -0.2 - vertex 9.95745 -24.7805 -0.2 - vertex 12.8097 -28.1484 -0.2 + vertex 3.9592 -5.58648 -3 + vertex 5.97791 -3.63939 -3 + vertex 5.81183 -5.98051 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 9.46723 -21.7989 -0.2 - vertex 11.2294 -19.5302 -0.2 - vertex 11.0203 -19.4009 -0.2 + vertex 5.97791 -3.63939 -3 + vertex 3.9592 -5.58648 -3 + vertex 5.02006 -2.01238 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 9.75283 -25.4359 -0.2 - vertex 12.8097 -28.1484 -0.2 - vertex 9.95745 -24.7805 -0.2 + vertex 5.02006 -2.01238 -3 + vertex 1.09298 -4.60426 -3 + vertex 4.37015 -0.506109 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.46723 -21.7989 -0.2 - vertex 11.0203 -19.4009 -0.2 - vertex 10.8168 -19.3006 -0.2 + vertex 1.09298 -4.60426 -3 + vertex 5.02006 -2.01238 -3 + vertex 3.9592 -5.58648 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.46376 -26.2422 -0.2 - vertex 12.8097 -28.1484 -0.2 - vertex 9.75283 -25.4359 -0.2 + vertex 24.7931 16.6725 -3 + vertex 24.1542 17.4223 -3 + vertex 24.7174 17.1695 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.07864 -27.2338 -0.2 - vertex 12.8097 -28.1484 -0.2 - vertex 9.46376 -26.2422 -0.2 + vertex 23.3802 15.8262 -3 + vertex 24.1542 17.4223 -3 + vertex 24.7931 16.6725 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.8097 -28.1484 -0.2 - vertex 9.07864 -27.2338 -0.2 - vertex 12.0447 -30.0547 -0.2 + vertex 23.3802 15.8262 -3 + vertex 22.547 17.5015 -3 + vertex 24.1542 17.4223 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.46723 -21.7989 -0.2 - vertex 10.8168 -19.3006 -0.2 - vertex 10.602 -19.227 -0.2 + vertex 21.1653 14.8489 -3 + vertex 22.547 17.5015 -3 + vertex 23.3802 15.8262 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.6919 -34.4621 -0.2 - vertex 12.2468 -35.1875 -0.2 - vertex 12.2214 -34.9805 -0.2 + vertex 21.1653 14.8489 -3 + vertex 20.2159 17.5562 -3 + vertex 22.547 17.5015 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.6919 -34.4621 -0.2 - vertex 12.2214 -34.9805 -0.2 - vertex 12.1503 -34.7994 -0.2 + vertex 20.0668 14.6265 -3 + vertex 20.2159 17.5562 -3 + vertex 21.1653 14.8489 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.4668 -34.4353 -0.2 - vertex 12.2468 -35.1875 -0.2 - vertex 11.6919 -34.4621 -0.2 + vertex 18.4164 15.1559 -3 + vertex 20.2159 17.5562 -3 + vertex 20.0668 14.6265 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.2239 -35.4151 -0.2 - vertex 11.4668 -34.4353 -0.2 - vertex 12.1496 -35.6584 -0.2 + vertex 20.2159 17.5562 -3 + vertex 18.4164 15.1559 -3 + vertex 19.8437 17.7553 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.8827 -34.5351 -0.2 - vertex 12.1503 -34.7994 -0.2 - vertex 12.0364 -34.6492 -0.2 + vertex 16.5954 15.8977 -3 + vertex 19.8437 17.7553 -3 + vertex 18.4164 15.1559 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.2468 -35.1875 -0.2 - vertex 11.4668 -34.4353 -0.2 - vertex 12.2239 -35.4151 -0.2 + vertex 19.8437 17.7553 -3 + vertex 16.5954 15.8977 -3 + vertex 19.5351 18.2611 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.1503 -34.7994 -0.2 - vertex 11.8827 -34.5351 -0.2 - vertex 11.6919 -34.4621 -0.2 + vertex 15.2045 16.623 -3 + vertex 19.5351 18.2611 -3 + vertex 16.5954 15.8977 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.1496 -35.6584 -0.2 - vertex 11.4668 -34.4353 -0.2 - vertex 12.0956 -35.7642 -0.2 + vertex 19.5351 18.2611 -3 + vertex 15.2045 16.623 -3 + vertex 19.0948 20.2262 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 12.0956 -35.7642 -0.2 - vertex 11.4668 -34.4353 -0.2 - vertex 12.0181 -35.8752 -0.2 + vertex 13.99 17.4864 -3 + vertex 19.0948 20.2262 -3 + vertex 15.2045 16.623 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.143 -34.4171 -0.2 - vertex 12.0181 -35.8752 -0.2 - vertex 11.4668 -34.4353 -0.2 + vertex 19.0948 20.2262 -3 + vertex 17.155 22.8321 -3 + vertex 18.6529 22.0992 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.0181 -35.8752 -0.2 - vertex 11.143 -34.4171 -0.2 - vertex 11.8034 -36.1064 -0.2 + vertex 19.0948 20.2262 -3 + vertex 13.99 17.4864 -3 + vertex 17.155 22.8321 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.8034 -36.1064 -0.2 - vertex 11.143 -34.4171 -0.2 - vertex 11.5264 -36.339 -0.2 + vertex 12.6982 18.6425 -3 + vertex 17.155 22.8321 -3 + vertex 13.99 17.4864 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 11.016 -34.3915 -0.2 - vertex 11.5264 -36.339 -0.2 - vertex 11.143 -34.4171 -0.2 + vertex 17.155 22.8321 -3 + vertex 12.6982 18.6425 -3 + vertex 15.5055 23.4995 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.5264 -36.339 -0.2 - vertex 11.016 -34.3915 -0.2 - vertex 11.208 -36.5595 -0.2 + vertex 10.9729 20.5521 -3 + vertex 15.5055 23.4995 -3 + vertex 12.6982 18.6425 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 10.9123 -34.3507 -0.2 - vertex 11.208 -36.5595 -0.2 - vertex 11.016 -34.3915 -0.2 + vertex 15.5055 23.4995 -3 + vertex 10.9729 20.5521 -3 + vertex 14.0164 24.1527 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 10.9123 -34.3507 -0.2 - vertex 10.8691 -36.7549 -0.2 - vertex 11.208 -36.5595 -0.2 + vertex 14.0164 24.1527 -3 + vertex 10.9729 20.5521 -3 + vertex 13.0733 24.7212 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.5307 -36.9119 -0.2 - vertex 10.9123 -34.3507 -0.2 - vertex 10.832 -34.2912 -0.2 + vertex 9.71033 23.0922 -3 + vertex 13.0733 24.7212 -3 + vertex 10.9729 20.5521 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 9.71926 -37.0921 -0.2 - vertex 10.832 -34.2912 -0.2 - vertex 10.775 -34.2097 -0.2 + vertex 13.0733 24.7212 -3 + vertex 9.71033 23.0922 -3 + vertex 12.1975 25.5292 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 8.94379 -37.3156 -0.2 - vertex 10.775 -34.2097 -0.2 - vertex 10.7415 -34.103 -0.2 + vertex 12.1975 25.5292 -3 + vertex 9.07032 24.476 -3 + vertex 11.5037 26.4501 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.63949 -32.8952 -0.2 - vertex 10.7415 -34.103 -0.2 - vertex 10.7315 -33.9677 -0.2 + vertex 9.07032 24.476 -3 + vertex 12.1975 25.5292 -3 + vertex 9.71033 23.0922 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.9123 -34.3507 -0.2 - vertex 10.5307 -36.9119 -0.2 - vertex 10.8691 -36.7549 -0.2 + vertex 25.704 16.8274 -3 + vertex 26.0816 17.5963 -3 + vertex 25.8979 16.7563 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 7.97377 -29.9101 -0.2 - vertex 12.0447 -30.0547 -0.2 - vertex 9.07864 -27.2338 -0.2 + vertex 25.1513 17.7384 -3 + vertex 26.0816 17.5963 -3 + vertex 25.4738 17.2443 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.46723 -21.7989 -0.2 - vertex 10.602 -19.227 -0.2 - vertex 10.3591 -19.1774 -0.2 + vertex 26.0816 17.5963 -3 + vertex 25.704 16.8274 -3 + vertex 25.4738 17.2443 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.0892 -24.2416 -0.2 - vertex 14.5952 -23.8342 -0.2 - vertex 10.1598 -23.7848 -0.2 + vertex 26.0816 17.5963 -3 + vertex 25.1513 17.7384 -3 + vertex 25.9892 18.2943 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 12.0447 -30.0547 -0.2 - vertex 7.97377 -29.9101 -0.2 - vertex 11.5005 -31.4602 -0.2 + vertex 25.9892 18.2943 -3 + vertex 25.1513 17.7384 -3 + vertex 25.7331 18.8483 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 14.5952 -23.8342 -0.2 - vertex 10.149 -22.9513 -0.2 - vertex 10.1807 -23.3758 -0.2 + vertex 24.5942 18.0475 -3 + vertex 25.7331 18.8483 -3 + vertex 25.1513 17.7384 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 14.5952 -23.8342 -0.2 - vertex 10.1103 -22.7594 -0.2 - vertex 10.149 -22.9513 -0.2 + vertex 25.7331 18.8483 -3 + vertex 24.5942 18.0475 -3 + vertex 25.3447 19.2137 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 9.46723 -21.7989 -0.2 - vertex 10.3591 -19.1774 -0.2 - vertex 10.0711 -19.1496 -0.2 + vertex 25.3447 19.2137 -3 + vertex 24.5942 18.0475 -3 + vertex 24.8554 19.3454 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.881 -19.8313 -0.2 - vertex 10.0571 -22.5812 -0.2 - vertex 10.1103 -22.7594 -0.2 + vertex 24.5942 18.0475 -3 + vertex 23.3909 19.6849 -3 + vertex 24.8554 19.3454 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.881 -19.8313 -0.2 - vertex 9.99008 -22.4166 -0.2 - vertex 10.0571 -22.5812 -0.2 + vertex 22.335 18.2522 -3 + vertex 23.3909 19.6849 -3 + vertex 24.5942 18.0475 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 11.7902 -19.8211 -0.2 - vertex 9.90973 -22.2656 -0.2 - vertex 9.99008 -22.4166 -0.2 + vertex 23.3909 19.6849 -3 + vertex 22.335 18.2522 -3 + vertex 22.6368 20.047 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.7902 -19.8211 -0.2 - vertex 9.81668 -22.1284 -0.2 - vertex 9.90973 -22.2656 -0.2 + vertex 20.9591 18.304 -3 + vertex 22.6368 20.047 -3 + vertex 22.335 18.2522 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 9.18157 -21.6481 -0.2 - vertex 10.0711 -19.1496 -0.2 - vertex 9.72114 -19.1409 -0.2 + vertex 22.6368 20.047 -3 + vertex 20.9591 18.304 -3 + vertex 22.0911 20.5797 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.5538 -19.7266 -0.2 - vertex 9.71152 -22.0048 -0.2 - vertex 9.81668 -22.1284 -0.2 + vertex 19.8405 19.3078 -3 + vertex 22.0911 20.5797 -3 + vertex 20.9591 18.304 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.5538 -19.7266 -0.2 - vertex 9.59484 -21.895 -0.2 - vertex 9.71152 -22.0048 -0.2 + vertex 19.4421 21.9215 -3 + vertex 21.7245 21.3239 -3 + vertex 19.6596 20.6529 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.2294 -19.5302 -0.2 - vertex 9.46723 -21.7989 -0.2 - vertex 9.59484 -21.895 -0.2 + vertex 19.6596 20.6529 -3 + vertex 22.0911 20.5797 -3 + vertex 19.8405 19.3078 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.0711 -19.1496 -0.2 - vertex 9.18157 -21.6481 -0.2 - vertex 9.46723 -21.7989 -0.2 + vertex 21.7245 21.3239 -3 + vertex 19.4421 21.9215 -3 + vertex 21.508 22.3204 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 9.72114 -19.1409 -0.2 - vertex 8.85925 -21.5524 -0.2 - vertex 9.18157 -21.6481 -0.2 + vertex 19.8405 19.3078 -3 + vertex 20.9591 18.304 -3 + vertex 20.2006 18.5903 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 8.76754 -19.1712 -0.2 - vertex 8.85925 -21.5524 -0.2 - vertex 9.72114 -19.1409 -0.2 + vertex 21.508 22.3204 -3 + vertex 19.4421 21.9215 -3 + vertex 21.2518 23.2891 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 8.76754 -19.1712 -0.2 - vertex 8.50498 -21.5121 -0.2 - vertex 8.85925 -21.5524 -0.2 + vertex 22.0911 20.5797 -3 + vertex 19.6596 20.6529 -3 + vertex 21.7245 21.3239 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 7.80885 -19.2424 -0.2 - vertex 8.50498 -21.5121 -0.2 - vertex 8.76754 -19.1712 -0.2 + vertex 18.9185 22.6398 -3 + vertex 21.2518 23.2891 -3 + vertex 19.4421 21.9215 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 8.50498 -21.5121 -0.2 - vertex 7.80885 -19.2424 -0.2 - vertex 8.12348 -21.5274 -0.2 + vertex 21.2518 23.2891 -3 + vertex 18.9185 22.6398 -3 + vertex 20.762 24.0784 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 7.42262 -19.2967 -0.2 - vertex 8.12348 -21.5274 -0.2 - vertex 7.80885 -19.2424 -0.2 + vertex 20.762 24.0784 -3 + vertex 18.9185 22.6398 -3 + vertex 20.0338 24.6942 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 8.12348 -21.5274 -0.2 - vertex 7.42262 -19.2967 -0.2 - vertex 7.71946 -21.5983 -0.2 + vertex 20.0338 24.6942 -3 + vertex 18.9185 22.6398 -3 + vertex 19.062 25.1422 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 7.07441 -19.3694 -0.2 - vertex 7.71946 -21.5983 -0.2 - vertex 7.42262 -19.2967 -0.2 + vertex 17.6852 23.4449 -3 + vertex 19.062 25.1422 -3 + vertex 18.9185 22.6398 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.74616 -19.4649 -0.2 - vertex 7.71946 -21.5983 -0.2 - vertex 7.07441 -19.3694 -0.2 + vertex 17.6852 23.4449 -3 + vertex 17.2513 25.98 -3 + vertex 19.062 25.1422 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 7.71946 -21.5983 -0.2 - vertex 6.74616 -19.4649 -0.2 - vertex 7.29763 -21.7251 -0.2 + vertex 15.1211 24.4531 -3 + vertex 17.2513 25.98 -3 + vertex 17.6852 23.4449 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 6.41984 -19.5879 -0.2 - vertex 7.29763 -21.7251 -0.2 - vertex 6.74616 -19.4649 -0.2 + vertex 17.2513 25.98 -3 + vertex 15.1211 24.4531 -3 + vertex 15.7223 27.2873 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.07737 -19.7427 -0.2 - vertex 7.29763 -21.7251 -0.2 - vertex 6.41984 -19.5879 -0.2 + vertex 13.4969 25.2416 -3 + vertex 15.7223 27.2873 -3 + vertex 15.1211 24.4531 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 7.29763 -21.7251 -0.2 - vertex 6.07737 -19.7427 -0.2 - vertex 6.8627 -21.9079 -0.2 + vertex 15.7223 27.2873 -3 + vertex 13.4969 25.2416 -3 + vertex 15.122 28.0941 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.70074 -19.9339 -0.2 - vertex 6.8627 -21.9079 -0.2 - vertex 6.07737 -19.7427 -0.2 + vertex 12.5486 25.9653 -3 + vertex 15.122 28.0941 -3 + vertex 13.4969 25.2416 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.8627 -21.9079 -0.2 - vertex 5.70074 -19.9339 -0.2 - vertex 6.41939 -22.1469 -0.2 + vertex 17.1521 -17.7131 -3 + vertex 20.2954 -22.4759 -3 + vertex 19.0386 -23.7798 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.20766 -20.2058 -0.2 - vertex 6.41939 -22.1469 -0.2 - vertex 5.70074 -19.9339 -0.2 + vertex 14.5835 -23.8342 -3 + vertex 19.0386 -23.7798 -3 + vertex 17.855 -25.2923 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.41939 -22.1469 -0.2 - vertex 5.20766 -20.2058 -0.2 - vertex 5.97241 -22.4422 -0.2 + vertex 20.2954 -22.4759 -3 + vertex 17.1521 -17.7131 -3 + vertex 19.6777 -11.13 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.71458 -20.5006 -0.2 - vertex 5.97241 -22.4422 -0.2 - vertex 5.20766 -20.2058 -0.2 + vertex 14.5835 -23.8342 -3 + vertex 17.855 -25.2923 -3 + vertex 16.4055 -27.6373 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.22328 -20.8168 -0.2 - vertex 5.97241 -22.4422 -0.2 - vertex 4.71458 -20.5006 -0.2 + vertex 14.5835 -23.8342 -3 + vertex 16.4055 -27.6373 -3 + vertex 15.3794 -29.9771 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.97241 -22.4422 -0.2 - vertex 4.22328 -20.8168 -0.2 - vertex 5.52647 -22.794 -0.2 + vertex 11.4887 -31.4602 -3 + vertex 15.3794 -29.9771 -3 + vertex 14.7938 -32.2631 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 3.73558 -21.1527 -0.2 - vertex 5.52647 -22.794 -0.2 - vertex 4.22328 -20.8168 -0.2 + vertex 19.0386 -23.7798 -3 + vertex 14.5835 -23.8342 -3 + vertex 17.1521 -17.7131 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.52647 -22.794 -0.2 - vertex 3.73558 -21.1527 -0.2 - vertex 5.08628 -23.2024 -0.2 + vertex 11.871 -34.5351 -3 + vertex 14.7938 -32.2631 -3 + vertex 14.6656 -34.4466 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 3.25328 -21.5067 -0.2 - vertex 5.08628 -23.2024 -0.2 - vertex 3.73558 -21.1527 -0.2 + vertex 26.7235 1.18648 -3 + vertex 20.9081 -2.19366 -3 + vertex 21.0968 -1.15452 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.08628 -23.2024 -0.2 - vertex 3.25328 -21.5067 -0.2 - vertex 4.45147 -23.8871 -0.2 + vertex 23.0737 -20.4525 -3 + vertex 19.6777 -11.13 -3 + vertex 20.9081 -2.19366 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 2.77819 -21.8771 -0.2 - vertex 4.45147 -23.8871 -0.2 - vertex 3.25328 -21.5067 -0.2 + vertex 19.6777 -11.13 -3 + vertex 21.6367 -21.3703 -3 + vertex 20.2954 -22.4759 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 2.31211 -22.2625 -0.2 - vertex 4.45147 -23.8871 -0.2 - vertex 2.77819 -21.8771 -0.2 + vertex 20.9081 -2.19366 -3 + vertex 19.6777 -11.13 -3 + vertex 20.4179 -3.0084 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.45147 -23.8871 -0.2 - vertex 2.31211 -22.2625 -0.2 - vertex 3.85887 -24.6213 -0.2 + vertex 19.5452 -10.7956 -3 + vertex 20.4179 -3.0084 -3 + vertex 19.6777 -11.13 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.85684 -22.661 -0.2 - vertex 3.85887 -24.6213 -0.2 - vertex 2.31211 -22.2625 -0.2 + vertex 19.5452 -10.7956 -3 + vertex 19.4334 -3.80993 -3 + vertex 20.4179 -3.0084 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.4142 -23.0712 -0.2 - vertex 3.85887 -24.6213 -0.2 - vertex 1.85684 -22.661 -0.2 + vertex 17.7619 -4.80944 -3 + vertex 19.5452 -10.7956 -3 + vertex 19.0845 -10.6988 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 3.85887 -24.6213 -0.2 - vertex 1.4142 -23.0712 -0.2 - vertex 3.31148 -25.3951 -0.2 + vertex 19.5452 -10.7956 -3 + vertex 17.7619 -4.80944 -3 + vertex 19.4334 -3.80993 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.985991 -23.4913 -0.2 - vertex 3.31148 -25.3951 -0.2 - vertex 1.4142 -23.0712 -0.2 + vertex 15.0012 -6.23992 -3 + vertex 19.0845 -10.6988 -3 + vertex 16.7993 -11.2316 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.574011 -23.9198 -0.2 - vertex 3.31148 -25.3951 -0.2 - vertex 0.985991 -23.4913 -0.2 + vertex 19.0845 -10.6988 -3 + vertex 15.0012 -6.23992 -3 + vertex 17.7619 -4.80944 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 3.31148 -25.3951 -0.2 - vertex 0.574011 -23.9198 -0.2 - vertex 2.81229 -26.1986 -0.2 + vertex 12.6103 -7.15898 -3 + vertex 16.7993 -11.2316 -3 + vertex 13.71 -12.1451 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.18007 -24.355 -0.2 - vertex 2.81229 -26.1986 -0.2 - vertex 0.574011 -23.9198 -0.2 + vertex 12.6103 -7.15898 -3 + vertex 13.71 -12.1451 -3 + vertex 13.1035 -12.4147 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -0.194025 -24.7953 -0.2 - vertex 2.81229 -26.1986 -0.2 - vertex 0.18007 -24.355 -0.2 + vertex 10.2421 -7.67101 -3 + vertex 13.1035 -12.4147 -3 + vertex 12.6527 -12.8127 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 2.81229 -26.1986 -0.2 - vertex -0.194025 -24.7953 -0.2 - vertex 2.36428 -27.0218 -0.2 + vertex 16.7993 -11.2316 -3 + vertex 12.6103 -7.15898 -3 + vertex 15.0012 -6.23992 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -0.546472 -25.2391 -0.2 - vertex 2.36428 -27.0218 -0.2 - vertex -0.194025 -24.7953 -0.2 + vertex 10.2421 -7.67101 -3 + vertex 12.6527 -12.8127 -3 + vertex 12.4073 -13.2773 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex -0.875463 -25.6847 -0.2 - vertex 2.36428 -27.0218 -0.2 - vertex -0.546472 -25.2391 -0.2 + vertex 13.2867 -16.8469 -3 + vertex 10.3474 -19.1774 -3 + vertex 12.417 -13.7469 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 2.36428 -27.0218 -0.2 - vertex -0.875463 -25.6847 -0.2 - vertex 1.97046 -27.8549 -0.2 + vertex 11.2177 -19.5302 -3 + vertex 12.058 -19.7199 -3 + vertex 11.7785 -19.8211 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -1.17919 -26.1306 -0.2 - vertex 1.97046 -27.8549 -0.2 - vertex -0.875463 -25.6847 -0.2 + vertex 8.75581 -19.1712 -3 + vertex 12.417 -13.7469 -3 + vertex 10.3474 -19.1774 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -1.45361 -26.5684 -0.2 - vertex 1.97046 -27.8549 -0.2 - vertex -1.17919 -26.1306 -0.2 + vertex 7.06268 -19.3694 -3 + vertex 12.417 -13.7469 -3 + vertex 8.75581 -19.1712 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.5005 -31.4602 -0.2 - vertex 7.97377 -29.9101 -0.2 - vertex 11.1661 -32.3709 -0.2 + vertex 13.1035 -12.4147 -3 + vertex 10.2421 -7.67101 -3 + vertex 12.6103 -7.15898 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 7.44603 -31.1479 -0.2 - vertex 11.1661 -32.3709 -0.2 - vertex 7.97377 -29.9101 -0.2 + vertex 12.417 -13.7469 -3 + vertex 7.06268 -19.3694 -3 + vertex 12.4073 -13.2773 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 11.1661 -32.3709 -0.2 - vertex 7.44603 -31.1479 -0.2 - vertex 10.9267 -33.0747 -0.2 + vertex 12.4073 -13.2773 -3 + vertex 7.54923 -7.88041 -3 + vertex 10.2421 -7.67101 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 7.00854 -32.1311 -0.2 - vertex 10.9267 -33.0747 -0.2 - vertex 7.44603 -31.1479 -0.2 + vertex 12.4073 -13.2773 -3 + vertex 7.06268 -19.3694 -3 + vertex 7.54923 -7.88041 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.9267 -33.0747 -0.2 - vertex 7.00854 -32.1311 -0.2 - vertex 10.7819 -33.5982 -0.2 + vertex 5.03167 -7.88498 -3 + vertex 7.06268 -19.3694 -3 + vertex 5.689 -19.9339 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.7819 -33.5982 -0.2 - vertex 7.00854 -32.1311 -0.2 - vertex 10.7449 -33.8005 -0.2 + vertex 7.06268 -19.3694 -3 + vertex 5.03167 -7.88498 -3 + vertex 7.54923 -7.88041 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.63949 -32.8952 -0.2 - vertex 10.7449 -33.8005 -0.2 - vertex 7.00854 -32.1311 -0.2 + vertex 5.689 -19.9339 -3 + vertex 3.854 -7.59505 -3 + vertex 5.03167 -7.88498 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.7449 -33.8005 -0.2 - vertex 6.63949 -32.8952 -0.2 - vertex 10.7315 -33.9677 -0.2 + vertex 3.72385 -21.1527 -3 + vertex 3.854 -7.59505 -3 + vertex 5.689 -19.9339 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.7415 -34.103 -0.2 - vertex 6.63949 -32.8952 -0.2 - vertex 6.31707 -33.4759 -0.2 + vertex -4.06681 -20.6308 -3 + vertex 3.72385 -21.1527 -3 + vertex 1.84511 -22.661 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.832 -34.2912 -0.2 - vertex 9.93892 -37.0575 -0.2 - vertex 10.2137 -37.0171 -0.2 + vertex 3.72385 -21.1527 -3 + vertex -4.70045 -19.8327 -3 + vertex 3.854 -7.59505 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.832 -34.2912 -0.2 - vertex 10.2137 -37.0171 -0.2 - vertex 10.5307 -36.9119 -0.2 + vertex -3.85646 -21.6547 -3 + vertex 1.84511 -22.661 -3 + vertex 0.168338 -24.355 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.832 -34.2912 -0.2 - vertex 9.71926 -37.0921 -0.2 - vertex 9.93892 -37.0575 -0.2 + vertex -3.89417 -22.8317 -3 + vertex 0.168338 -24.355 -3 + vertex -1.19093 -26.1306 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.775 -34.2097 -0.2 - vertex 9.37163 -37.1827 -0.2 - vertex 9.71926 -37.0921 -0.2 + vertex 3.72385 -21.1527 -3 + vertex -4.06681 -20.6308 -3 + vertex -4.70045 -19.8327 -3 endloop endfacet - facet normal 0 -0 1 + facet normal 0 0 -1 outer loop - vertex 8.94379 -37.3156 -0.2 - vertex 10.7415 -34.103 -0.2 - vertex 6.31707 -33.4759 -0.2 + vertex -3.89417 -22.8317 -3 + vertex -1.19093 -26.1306 -3 + vertex -2.25121 -28.0146 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 10.775 -34.2097 -0.2 - vertex 8.94379 -37.3156 -0.2 - vertex 9.37163 -37.1827 -0.2 + vertex -3.89417 -22.8317 -3 + vertex -2.25121 -28.0146 -3 + vertex -3.14673 -30.0798 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.01946 -33.9088 -0.2 - vertex 8.94379 -37.3156 -0.2 - vertex 6.31707 -33.4759 -0.2 + vertex 1.84511 -22.661 -3 + vertex -3.85646 -21.6547 -3 + vertex -4.06681 -20.6308 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 8.94379 -37.3156 -0.2 - vertex 6.01946 -33.9088 -0.2 - vertex 8.4835 -37.477 -0.2 + vertex -5.57075 -19.2012 -3 + vertex 3.854 -7.59505 -3 + vertex -4.70045 -19.8327 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.87315 -34.0811 -0.2 - vertex 8.4835 -37.477 -0.2 - vertex 6.01946 -33.9088 -0.2 + vertex -6.41168 -29.738 -3 + vertex -3.14673 -30.0798 -3 + vertex -3.7659 -32.0301 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.72486 -34.2297 -0.2 - vertex 8.4835 -37.477 -0.2 - vertex 5.87315 -34.0811 -0.2 + vertex 47.2139 -19.2263 -3 + vertex 27.528 9.70386 -3 + vertex 27.6094 12.2412 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 8.4835 -37.477 -0.2 - vertex 5.72486 -34.2297 -0.2 - vertex 7.35232 -37.8908 -0.2 + vertex 28.989 -19.2301 -3 + vertex 26.953 2.16551 -3 + vertex 27.528 9.70386 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.41146 -34.4742 -0.2 - vertex 7.35232 -37.8908 -0.2 - vertex 5.72486 -34.2297 -0.2 + vertex 26.9177 3.98634 -3 + vertex 27.528 9.70386 -3 + vertex 26.953 2.16551 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.69132 -37.3222 -0.2 - vertex 7.35232 -37.8908 -0.2 - vertex 5.41146 -34.4742 -0.2 + vertex 28.989 -19.2301 -3 + vertex 26.8464 1.29842 -3 + vertex 26.953 2.16551 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 7.35232 -37.8908 -0.2 - vertex 4.69132 -37.3222 -0.2 - vertex 6.47346 -38.1927 -0.2 + vertex 28.989 -19.2301 -3 + vertex 26.7235 1.18648 -3 + vertex 26.8464 1.29842 -3 endloop endfacet - facet normal -0 -0 1 + facet normal 0 0 -1 outer loop - vertex 4.72035 -37.4346 -0.2 - vertex 6.47346 -38.1927 -0.2 - vertex 4.69132 -37.3222 -0.2 + vertex 20.9081 -2.19366 -3 + vertex 26.7235 1.18648 -3 + vertex 27.8281 -19.1444 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 6.47346 -38.1927 -0.2 - vertex 4.72035 -37.4346 -0.2 - vertex 5.81563 -38.3852 -0.2 + vertex 20.9081 -2.19366 -3 + vertex 27.8281 -19.1444 -3 + vertex 26.5413 -19.2026 -3 endloop endfacet - facet normal -0 -0 1 + facet normal -0 0 -1 outer loop - vertex 4.74716 -37.8041 -0.2 - vertex 5.81563 -38.3852 -0.2 - vertex 4.72035 -37.4346 -0.2 + vertex 26.7235 1.18648 -3 + vertex 21.0968 -1.15452 -3 + vertex 26.5455 1.2697 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.69132 -37.3222 -0.2 - vertex 5.41146 -34.4742 -0.2 - vertex 5.05744 -34.678 -0.2 + vertex 20.9081 -2.19366 -3 + vertex 26.5413 -19.2026 -3 + vertex 25.4359 -19.4082 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 -0 -1 outer loop - vertex 5.55983 -38.4413 -0.2 - vertex 4.74716 -37.8041 -0.2 - vertex 5.34756 -38.4712 -0.2 + vertex 23.9858 2.16372 -3 + vertex 26.5455 1.2697 -3 + vertex 21.0968 -1.15452 -3 endloop endfacet - facet normal -0 -0 1 + facet normal 0 0 -1 outer loop - vertex 4.76904 -38.117 -0.2 - vertex 5.34756 -38.4712 -0.2 - vertex 4.74716 -37.8041 -0.2 + vertex 26.5455 1.2697 -3 + vertex 23.9858 2.16372 -3 + vertex 25.9977 1.96397 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.34756 -38.4712 -0.2 - vertex 4.76904 -38.117 -0.2 - vertex 5.17491 -38.475 -0.2 + vertex 25.3153 2.68052 -3 + vertex 24.7523 2.4559 -3 + vertex 25.0347 2.67962 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.17491 -38.475 -0.2 - vertex 4.76904 -38.117 -0.2 - vertex 5.03796 -38.4533 -0.2 + vertex 25.9977 1.96397 -3 + vertex 24.7523 2.4559 -3 + vertex 25.3153 2.68052 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.03796 -38.4533 -0.2 - vertex 4.80226 -38.2378 -0.2 - vertex 4.93281 -38.4063 -0.2 + vertex 25.9977 1.96397 -3 + vertex 23.9858 2.16372 -3 + vertex 24.7523 2.4559 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.93281 -38.4063 -0.2 - vertex 4.80226 -38.2378 -0.2 - vertex 4.85555 -38.3343 -0.2 + vertex 20.9081 -2.19366 -3 + vertex 25.4359 -19.4082 -3 + vertex 23.0737 -20.4525 -3 endloop endfacet - facet normal -0 -0 1 + facet normal 0 0 -1 outer loop - vertex 4.80226 -38.2378 -0.2 - vertex 5.03796 -38.4533 -0.2 - vertex 4.76904 -38.117 -0.2 + vertex 23.9858 2.16372 -3 + vertex 21.0968 -1.15452 -3 + vertex 23.1222 1.97635 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 5.81563 -38.3852 -0.2 - vertex 4.74716 -37.8041 -0.2 - vertex 5.55983 -38.4413 -0.2 + vertex 21.0282 0.220415 -3 + vertex 23.1222 1.97635 -3 + vertex 21.0968 -1.15452 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 5.05744 -34.678 -0.2 - vertex 4.65588 -37.2809 -0.2 - vertex 4.69132 -37.3222 -0.2 + vertex 23.1222 1.97635 -3 + vertex 21.0282 0.220415 -3 + vertex 22.8505 1.9828 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.59905 -34.8756 -0.2 - vertex 4.65588 -37.2809 -0.2 - vertex 5.05744 -34.678 -0.2 + vertex 19.6777 -11.13 -3 + vertex 23.0737 -20.4525 -3 + vertex 21.6367 -21.3703 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 4.12685 -35.011 -0.2 - vertex 4.65588 -37.2809 -0.2 - vertex 4.59905 -34.8756 -0.2 + vertex 22.8505 1.9828 -3 + vertex 21.0282 0.220415 -3 + vertex 22.7784 2.30129 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex 3.65273 -35.0844 -0.2 - vertex 4.65588 -37.2809 -0.2 - vertex 4.12685 -35.011 -0.2 + vertex 19.4865 -0.127098 -3 + vertex 22.7784 2.30129 -3 + vertex 21.0282 0.220415 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.65588 -37.2809 -0.2 - vertex 3.65273 -35.0844 -0.2 - vertex 4.26446 -37.4494 -0.2 + vertex 22.7784 2.30129 -3 + vertex 16.0239 2.90744 -3 + vertex 21.7142 8.22365 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0 0 -1 outer loop - vertex 3.18861 -35.0966 -0.2 - vertex 4.26446 -37.4494 -0.2 - vertex 3.65273 -35.0844 -0.2 + vertex 22.7784 2.30129 -3 + vertex 19.4865 -0.127098 -3 + vertex 16.0239 2.90744 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 4.26446 -37.4494 -0.2 - vertex 3.18861 -35.0966 -0.2 - vertex 3.45158 -37.8545 -0.2 + vertex 15.3368 5.33522 -3 + vertex 21.7142 8.22365 -3 + vertex 16.0239 2.90744 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 2.7464 -35.0478 -0.2 - vertex 3.45158 -37.8545 -0.2 - vertex 3.18861 -35.0966 -0.2 + vertex 16.8564 0.883682 -3 + vertex 19.4865 -0.127098 -3 + vertex 18.2674 -0.466912 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 3.45158 -37.8545 -0.2 - vertex 2.7464 -35.0478 -0.2 - vertex 3.20396 -37.9704 -0.2 + vertex 16.8564 0.883682 -3 + vertex 18.2674 -0.466912 -3 + vertex 17.6745 -0.267811 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 3.20396 -37.9704 -0.2 - vertex 2.7464 -35.0478 -0.2 - vertex 2.93102 -38.0768 -0.2 + vertex 19.4865 -0.127098 -3 + vertex 16.8564 0.883682 -3 + vertex 16.0239 2.90744 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 2.53723 -35.0007 -0.2 - vertex 2.93102 -38.0768 -0.2 - vertex 2.7464 -35.0478 -0.2 + vertex 21.7142 8.22365 -3 + vertex 15.3368 5.33522 -3 + vertex 19.7157 9.66569 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 2.32439 -38.26 -0.2 - vertex 2.53723 -35.0007 -0.2 - vertex 2.33801 -34.9386 -0.2 + vertex 14.9551 7.69881 -3 + vertex 19.7157 9.66569 -3 + vertex 15.3368 5.33522 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 2.53723 -35.0007 -0.2 - vertex 2.32439 -38.26 -0.2 - vertex 2.93102 -38.0768 -0.2 + vertex 19.7157 9.66569 -3 + vertex 14.9551 7.69881 -3 + vertex 18.6847 10.137 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 1.66207 -38.4009 -0.2 - vertex 2.33801 -34.9386 -0.2 - vertex 2.15022 -34.8616 -0.2 + vertex 18.6847 10.137 -3 + vertex 14.9551 7.69881 -3 + vertex 17.337 10.3363 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.66207 -38.4009 -0.2 - vertex 2.15022 -34.8616 -0.2 - vertex 1.97535 -34.7696 -0.2 + vertex 14.9426 8.95486 -3 + vertex 17.337 10.3363 -3 + vertex 14.9551 7.69881 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.974434 -38.4962 -0.2 - vertex 1.97535 -34.7696 -0.2 - vertex 1.8149 -34.6627 -0.2 + vertex 17.337 10.3363 -3 + vertex 15.3572 9.74689 -3 + vertex 15.9933 10.3315 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.291868 -38.543 -0.2 - vertex 1.8149 -34.6627 -0.2 - vertex 1.67035 -34.5411 -0.2 + vertex 15.9933 10.3315 -3 + vertex 15.3572 9.74689 -3 + vertex 15.6762 10.1383 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 2.33801 -34.9386 -0.2 - vertex 1.66207 -38.4009 -0.2 - vertex 2.32439 -38.26 -0.2 + vertex 17.337 10.3363 -3 + vertex 14.9426 8.95486 -3 + vertex 15.3572 9.74689 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -0.355246 -38.538 -0.2 - vertex 1.67035 -34.5411 -0.2 - vertex 1.50339 -34.3603 -0.2 + vertex 34.7441 -22.7166 -3 + vertex 31.8275 -24.8188 -3 + vertex 32.0255 -23.3848 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -2.66982 -37.4742 -0.2 - vertex 1.50339 -34.3603 -0.2 - vertex 1.35782 -34.1559 -0.2 + vertex 29.8709 -31.8517 -3 + vertex 32.5255 -33.371 -3 + vertex 31.6707 -35.0376 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.25661 -36.6145 -0.2 - vertex 1.35782 -34.1559 -0.2 - vertex 1.23329 -33.9292 -0.2 + vertex 33.8444 -30.1753 -3 + vertex 31.4974 -26.3899 -3 + vertex 31.8275 -24.8188 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.68783 -35.5721 -0.2 - vertex 1.23329 -33.9292 -0.2 - vertex 1.1294 -33.6813 -0.2 + vertex 33.8444 -30.1753 -3 + vertex 31.2318 -26.857 -3 + vertex 31.4974 -26.3899 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.87516 -34.8013 -0.2 - vertex 1.1294 -33.6813 -0.2 - vertex 1.04578 -33.4136 -0.2 + vertex 29.8709 -31.8517 -3 + vertex 31.6707 -35.0376 -3 + vertex 30.8837 -35.7486 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.97277 -33.9877 -0.2 - vertex 1.04578 -33.4136 -0.2 - vertex 0.982074 -33.1272 -0.2 + vertex 33.8444 -30.1753 -3 + vertex 30.2029 -31.1764 -3 + vertex 30.1062 -30.7807 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 -0 -1 outer loop - vertex 1.97535 -34.7696 -0.2 - vertex 0.974434 -38.4962 -0.2 - vertex 1.66207 -38.4009 -0.2 + vertex 30.7817 -27.1595 -3 + vertex 33.8444 -30.1753 -3 + vertex 30.1062 -30.7807 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.97004 -33.2395 -0.2 - vertex 0.982074 -33.1272 -0.2 - vertex 0.937893 -32.8234 -0.2 + vertex 32.5255 -33.371 -3 + vertex 29.8709 -31.8517 -3 + vertex 30.2029 -31.1764 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.8527 -32.4651 -0.2 - vertex 0.937893 -32.8234 -0.2 - vertex 0.912865 -32.5034 -0.2 + vertex 27.8442 -34.1555 -3 + vertex 30.8837 -35.7486 -3 + vertex 29.7686 -36.0779 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.75417 -32.0301 -0.2 - vertex 0.912865 -32.5034 -0.2 - vertex 0.906618 -32.1685 -0.2 + vertex 27.8442 -34.1555 -3 + vertex 29.7686 -36.0779 -3 + vertex 29.0223 -36.3831 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.97046 -27.8549 -0.2 - vertex -1.45361 -26.5684 -0.2 - vertex 1.63381 -28.6878 -0.2 + vertex 27.8442 -34.1555 -3 + vertex 29.0223 -36.3831 -3 + vertex 28.553 -36.8405 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -1.72295 -27.0315 -0.2 - vertex 1.63381 -28.6878 -0.2 - vertex -1.45361 -26.5684 -0.2 + vertex 25.9895 -35.834 -3 + vertex 28.553 -36.8405 -3 + vertex 28.4102 -37.3704 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -2.23947 -28.0146 -0.2 - vertex 1.63381 -28.6878 -0.2 - vertex -1.72295 -27.0315 -0.2 + vertex 30.8837 -35.7486 -3 + vertex 27.8442 -34.1555 -3 + vertex 29.8709 -31.8517 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.63381 -28.6878 -0.2 - vertex -2.23947 -28.0146 -0.2 - vertex 1.35733 -29.5107 -0.2 + vertex 33.8444 -30.1753 -3 + vertex 30.7817 -27.1595 -3 + vertex 31.2318 -26.857 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -2.71481 -29.043 -0.2 - vertex 1.35733 -29.5107 -0.2 - vertex -2.23947 -28.0146 -0.2 + vertex 29.6885 -30.4984 -3 + vertex 30.7817 -27.1595 -3 + vertex 30.1062 -30.7807 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.35733 -29.5107 -0.2 - vertex -2.71481 -29.043 -0.2 - vertex 1.144 -30.3137 -0.2 + vertex 28.9763 -27.4135 -3 + vertex 29.6885 -30.4984 -3 + vertex 29.2916 -30.4642 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.144 -30.3137 -0.2 - vertex -2.71481 -29.043 -0.2 - vertex 0.99682 -31.0867 -0.2 + vertex 29.6885 -30.4984 -3 + vertex 28.9763 -27.4135 -3 + vertex 30.7817 -27.1595 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.135 -30.0798 -0.2 - vertex 0.99682 -31.0867 -0.2 - vertex -2.71481 -29.043 -0.2 + vertex 28.199 -31.2235 -3 + vertex 28.9763 -27.4135 -3 + vertex 29.2916 -30.4642 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.99682 -31.0867 -0.2 - vertex -3.135 -30.0798 -0.2 - vertex 0.918778 -31.8199 -0.2 + vertex 25.3774 -27.4375 -3 + vertex 28.199 -31.2235 -3 + vertex 26.4192 -32.7448 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.4861 -31.0878 -0.2 - vertex 0.918778 -31.8199 -0.2 - vertex -3.135 -30.0798 -0.2 + vertex 28.199 -31.2235 -3 + vertex 25.3774 -27.4375 -3 + vertex 28.9763 -27.4135 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.918778 -31.8199 -0.2 - vertex -3.4861 -31.0878 -0.2 - vertex 0.906618 -32.1685 -0.2 + vertex 24.9271 -33.7368 -3 + vertex 25.3774 -27.4375 -3 + vertex 26.4192 -32.7448 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 -1 outer loop - vertex -3.75417 -32.0301 -0.2 - vertex 0.906618 -32.1685 -0.2 - vertex -3.4861 -31.0878 -0.2 + vertex 19.5138 -29.5327 -3 + vertex 24.9271 -33.7368 -3 + vertex 23.5816 -34.2758 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.912865 -32.5034 -0.2 - vertex -3.75417 -32.0301 -0.2 - vertex -3.8527 -32.4651 -0.2 + vertex 19.3087 -31.0557 -3 + vertex 23.5816 -34.2758 -3 + vertex 22.2417 -34.4379 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.937893 -32.8234 -0.2 - vertex -3.8527 -32.4651 -0.2 - vertex -3.92523 -32.8697 -0.2 + vertex 19.3087 -31.0557 -3 + vertex 22.2417 -34.4379 -3 + vertex 21.4183 -34.349 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.937893 -32.8234 -0.2 - vertex -3.92523 -32.8697 -0.2 - vertex -3.97004 -33.2395 -0.2 + vertex 19.3085 -32.3556 -3 + vertex 21.4183 -34.349 -3 + vertex 20.6651 -34.0963 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.04578 -33.4136 -0.2 - vertex -3.97277 -33.9877 -0.2 - vertex -3.93569 -34.3989 -0.2 + vertex 23.5816 -34.2758 -3 + vertex 19.3087 -31.0557 -3 + vertex 19.5138 -29.5327 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.04578 -33.4136 -0.2 - vertex -3.93569 -34.3989 -0.2 - vertex -3.87516 -34.8013 -0.2 + vertex 19.3085 -32.3556 -3 + vertex 20.6651 -34.0963 -3 + vertex 20.0228 -33.6987 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.1294 -33.6813 -0.2 - vertex -3.87516 -34.8013 -0.2 - vertex -3.79219 -35.193 -0.2 + vertex 25.3774 -27.4375 -3 + vertex 19.9054 -28.0436 -3 + vertex 20.1129 -27.4424 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.8149 -34.6627 -0.2 - vertex 0.291868 -38.543 -0.2 - vertex 0.974434 -38.4962 -0.2 + vertex 19.3085 -32.3556 -3 + vertex 20.0228 -33.6987 -3 + vertex 19.5322 -33.1754 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.23329 -33.9292 -0.2 - vertex -3.56309 -35.9367 -0.2 - vertex -3.41901 -36.2848 -0.2 + vertex 25.3774 -27.4375 -3 + vertex 19.5138 -29.5327 -3 + vertex 19.9054 -28.0436 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.23329 -33.9292 -0.2 - vertex -3.41901 -36.2848 -0.2 - vertex -3.25661 -36.6145 -0.2 + vertex 24.9271 -33.7368 -3 + vertex 19.5138 -29.5327 -3 + vertex 25.3774 -27.4375 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.35782 -34.1559 -0.2 - vertex -3.25661 -36.6145 -0.2 - vertex -3.07693 -36.924 -0.2 + vertex 21.4183 -34.349 -3 + vertex 19.3085 -32.3556 -3 + vertex 19.3087 -31.0557 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.35782 -34.1559 -0.2 - vertex -3.07693 -36.924 -0.2 - vertex -2.88099 -37.2112 -0.2 + vertex 27.528 9.70386 -3 + vertex 26.9177 3.98634 -3 + vertex 27.209 8.08714 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.35782 -34.1559 -0.2 - vertex -2.88099 -37.2112 -0.2 - vertex -2.66982 -37.4742 -0.2 + vertex 27.209 8.08714 -3 + vertex 26.9177 3.98634 -3 + vertex 26.8985 6.51977 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.50339 -34.3603 -0.2 - vertex -2.20592 -37.9202 -0.2 - vertex -0.936529 -38.478 -0.2 + vertex 23.2082 3.44442 -3 + vertex 23.5966 4.95794 -3 + vertex 23.5377 4.18291 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex -1.19299 -38.4265 -0.2 - vertex -2.20592 -37.9202 -0.2 - vertex -1.4216 -38.36 -0.2 + vertex 23.5966 4.95794 -3 + vertex 23.2082 3.44442 -3 + vertex 23.3811 5.8089 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -1.69347 -38.2465 -0.2 - vertex -2.20592 -37.9202 -0.2 - vertex -1.95525 -38.0993 -0.2 + vertex 23.2082 3.44442 -3 + vertex 22.8875 6.77518 -3 + vertex 23.3811 5.8089 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -1.4216 -38.36 -0.2 - vertex -2.20592 -37.9202 -0.2 - vertex -1.69347 -38.2465 -0.2 + vertex 21.7142 8.22365 -3 + vertex 23.2082 3.44442 -3 + vertex 22.7784 2.30129 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex -0.936529 -38.478 -0.2 - vertex -2.20592 -37.9202 -0.2 - vertex -1.19299 -38.4265 -0.2 + vertex 23.2082 3.44442 -3 + vertex 21.7142 8.22365 -3 + vertex 22.8875 6.77518 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.50339 -34.3603 -0.2 - vertex -2.44446 -37.7112 -0.2 - vertex -2.20592 -37.9202 -0.2 + vertex 15.0577 29.0611 -3 + vertex 12.0187 29.9363 -3 + vertex 12.2907 30.5214 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.50339 -34.3603 -0.2 - vertex -0.936529 -38.478 -0.2 - vertex -0.355246 -38.538 -0.2 + vertex 11.7374 28.4518 -3 + vertex 15.122 28.0941 -3 + vertex 11.8052 27.5343 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 -0 -1 outer loop - vertex 1.50339 -34.3603 -0.2 - vertex -2.66982 -37.4742 -0.2 - vertex -2.44446 -37.7112 -0.2 + vertex 11.8088 29.3224 -3 + vertex 15.0577 29.0611 -3 + vertex 11.7374 28.4518 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.1294 -33.6813 -0.2 - vertex -3.79219 -35.193 -0.2 - vertex -3.68783 -35.5721 -0.2 + vertex 15.122 28.0941 -3 + vertex 11.7374 28.4518 -3 + vertex 15.0577 29.0611 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 1.67035 -34.5411 -0.2 - vertex -0.355246 -38.538 -0.2 - vertex 0.291868 -38.543 -0.2 + vertex 15.0577 29.0611 -3 + vertex 11.8088 29.3224 -3 + vertex 12.0187 29.9363 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0 0 -1 outer loop - vertex 0.982074 -33.1272 -0.2 - vertex -3.97004 -33.2395 -0.2 - vertex -3.98536 -33.5697 -0.2 + vertex 11.871 -34.5351 -3 + vertex 14.6656 -34.4466 -3 + vertex 12.1385 -34.7994 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 1.23329 -33.9292 -0.2 - vertex -3.68783 -35.5721 -0.2 - vertex -3.56309 -35.9367 -0.2 + vertex 14.7938 -32.2631 -3 + vertex 11.871 -34.5351 -3 + vertex 11.4887 -31.4602 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0 0 -1 outer loop - vertex 0.982074 -33.1272 -0.2 - vertex -3.98536 -33.5697 -0.2 - vertex -3.97277 -33.9877 -0.2 + vertex 15.3794 -29.9771 -3 + vertex 11.4887 -31.4602 -3 + vertex 14.5835 -23.8342 -3 endloop endfacet - facet normal -0.2949 -0.955528 0 + facet normal 0 0 -1 outer loop - vertex 19.3736 -10.7173 -0.2 - vertex 19.4763 -10.749 0 - vertex 19.3736 -10.7173 0 + vertex 10.915 -33.0747 -3 + vertex 11.871 -34.5351 -3 + vertex 11.4551 -34.4353 -3 endloop endfacet - facet normal -0.2949 -0.955528 -0 + facet normal 0 0 -1 outer loop - vertex 19.4763 -10.749 0 - vertex 19.3736 -10.7173 -0.2 - vertex 19.4763 -10.749 -0.2 + vertex 11.871 -34.5351 -3 + vertex 10.915 -33.0747 -3 + vertex 11.4887 -31.4602 -3 endloop endfacet - facet normal -0.500051 -0.865996 0 + facet normal 0 0 -1 outer loop - vertex 19.4763 -10.749 -0.2 - vertex 19.557 -10.7956 0 - vertex 19.4763 -10.749 0 + vertex 10.7197 -33.9677 -3 + vertex 11.4551 -34.4353 -3 + vertex 10.9006 -34.3507 -3 endloop endfacet - facet normal -0.500051 -0.865996 -0 + facet normal 0 0 -1 outer loop - vertex 19.557 -10.7956 0 - vertex 19.4763 -10.749 -0.2 - vertex 19.557 -10.7956 -0.2 + vertex 11.4551 -34.4353 -3 + vertex 10.7197 -33.9677 -3 + vertex 10.915 -33.0747 -3 endloop endfacet - facet normal -0.714409 -0.699729 0 + facet normal 0 0 -1 outer loop - vertex 19.6172 -10.8571 -0.2 - vertex 19.557 -10.7956 0 - vertex 19.557 -10.7956 -0.2 + vertex 14.2516 -3.15818 -3 + vertex 14.2455 -2.23644 -3 + vertex 14.333 -2.7489 -3 endloop endfacet - facet normal -0.714409 -0.699729 0 + facet normal 0 0 -1 outer loop - vertex 19.557 -10.7956 0 - vertex 19.6172 -10.8571 -0.2 - vertex 19.6172 -10.8571 0 + vertex 13.8131 -3.7697 -3 + vertex 14.2455 -2.23644 -3 + vertex 14.2516 -3.15818 -3 endloop endfacet - facet normal -0.879991 -0.47499 0 + facet normal 0 0 -1 outer loop - vertex 19.6583 -10.9333 -0.2 - vertex 19.6172 -10.8571 0 - vertex 19.6172 -10.8571 -0.2 + vertex 13.172 -4.2601 -3 + vertex 14.2455 -2.23644 -3 + vertex 13.8131 -3.7697 -3 endloop endfacet - facet normal -0.879991 -0.47499 0 + facet normal -0 0 -1 outer loop - vertex 19.6172 -10.8571 0 - vertex 19.6583 -10.9333 -0.2 - vertex 19.6583 -10.9333 0 + vertex 14.2455 -2.23644 -3 + vertex 13.172 -4.2601 -3 + vertex 13.5923 -0.94501 -3 endloop endfacet - facet normal -0.967951 -0.251138 0 + facet normal 0 0 -1 outer loop - vertex 19.6819 -11.0243 -0.2 - vertex 19.6583 -10.9333 0 - vertex 19.6583 -10.9333 -0.2 + vertex 12.4032 -4.58609 -3 + vertex 13.5923 -0.94501 -3 + vertex 13.172 -4.2601 -3 endloop endfacet - facet normal -0.967951 -0.251138 0 + facet normal 0 0 -1 outer loop - vertex 19.6583 -10.9333 0 - vertex 19.6819 -11.0243 -0.2 - vertex 19.6819 -11.0243 0 + vertex 11.5814 -4.70438 -3 + vertex 13.5923 -0.94501 -3 + vertex 12.4032 -4.58609 -3 endloop endfacet - facet normal -0.997465 -0.0711569 0 + facet normal 0 0 -1 outer loop - vertex 19.6895 -11.13 -0.2 - vertex 19.6819 -11.0243 0 - vertex 19.6819 -11.0243 -0.2 + vertex 10.2758 -4.53506 -3 + vertex 13.5923 -0.94501 -3 + vertex 11.5814 -4.70438 -3 endloop endfacet - facet normal -0.997465 -0.0711569 0 + facet normal -0 0 -1 outer loop - vertex 19.6819 -11.0243 0 - vertex 19.6895 -11.13 -0.2 - vertex 19.6895 -11.13 0 + vertex 13.5923 -0.94501 -3 + vertex 10.2758 -4.53506 -3 + vertex 12.3489 0.629998 -3 endloop endfacet - facet normal -0.984705 0.17423 0 + facet normal 0 0 -1 outer loop - vertex 19.6598 -11.2975 -0.2 - vertex 19.6895 -11.13 0 - vertex 19.6895 -11.13 -0.2 + vertex 9.01294 -4.00814 -3 + vertex 12.3489 0.629998 -3 + vertex 10.2758 -4.53506 -3 endloop endfacet - facet normal -0.984705 0.17423 0 + facet normal 0 0 -1 outer loop - vertex 19.6895 -11.13 0 - vertex 19.6598 -11.2975 -0.2 - vertex 19.6598 -11.2975 0 + vertex 7.74282 -3.09522 -3 + vertex 12.3489 0.629998 -3 + vertex 9.01294 -4.00814 -3 endloop endfacet - facet normal -0.956743 0.290933 0 + facet normal -0 0 -1 outer loop - vertex 19.5653 -11.6083 -0.2 - vertex 19.6598 -11.2975 0 - vertex 19.6598 -11.2975 -0.2 + vertex 12.3489 0.629998 -3 + vertex 7.74282 -3.09522 -3 + vertex 10.5724 2.40247 -3 endloop endfacet - facet normal -0.956743 0.290933 0 + facet normal 0 0 -1 outer loop - vertex 19.6598 -11.2975 0 - vertex 19.5653 -11.6083 -0.2 - vertex 19.5653 -11.6083 0 + vertex 6.41545 -1.76788 -3 + vertex 10.5724 2.40247 -3 + vertex 7.74282 -3.09522 -3 endloop endfacet - facet normal -0.93899 0.343946 0 + facet normal -0 0 -1 outer loop - vertex 19.1479 -12.7477 -0.2 - vertex 19.5653 -11.6083 0 - vertex 19.5653 -11.6083 -0.2 + vertex 10.5724 2.40247 -3 + vertex 6.41545 -1.76788 -3 + vertex 9.13441 3.60373 -3 endloop endfacet - facet normal -0.93899 0.343946 0 + facet normal 0 0 -1 outer loop - vertex 19.5653 -11.6083 0 - vertex 19.1479 -12.7477 -0.2 - vertex 19.1479 -12.7477 0 + vertex 4.6091 0.441775 -3 + vertex 9.13441 3.60373 -3 + vertex 6.41545 -1.76788 -3 endloop endfacet - facet normal -0.930496 0.366302 0 + facet normal -0 0 -1 outer loop - vertex 18.3699 -14.7241 -0.2 - vertex 19.1479 -12.7477 0 - vertex 19.1479 -12.7477 -0.2 + vertex 9.13441 3.60373 -3 + vertex 4.6091 0.441775 -3 + vertex 8.18559 4.25764 -3 endloop endfacet - facet normal -0.930496 0.366302 0 + facet normal 0 0 -1 outer loop - vertex 19.1479 -12.7477 0 - vertex 18.3699 -14.7241 -0.2 - vertex 18.3699 -14.7241 0 + vertex 4.39665 0.754678 -3 + vertex 8.18559 4.25764 -3 + vertex 4.6091 0.441775 -3 endloop endfacet - facet normal -0.92735 0.374196 0 + facet normal -0 0 -1 outer loop - vertex 17.1638 -17.7131 -0.2 - vertex 18.3699 -14.7241 0 - vertex 18.3699 -14.7241 -0.2 + vertex 8.18559 4.25764 -3 + vertex 4.39665 0.754678 -3 + vertex 5.26682 5.76024 -3 endloop endfacet - facet normal -0.92735 0.374196 0 + facet normal 0 0 -1 outer loop - vertex 18.3699 -14.7241 0 - vertex 17.1638 -17.7131 -0.2 - vertex 17.1638 -17.7131 0 + vertex 1.66409 7.13679 -3 + vertex 4.39665 0.754678 -3 + vertex 4.24084 0.464987 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.39665 0.754678 -3 + vertex 1.66409 7.13679 -3 + vertex 5.26682 5.76024 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.72768 -3.30659 -3 + vertex 4.37015 -0.506109 -3 + vertex 1.09298 -4.60426 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 4.37015 -0.506109 -3 + vertex -1.72768 -3.30659 -3 + vertex 4.24084 0.464987 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.55278 -2.51803 -3 + vertex 4.24084 0.464987 -3 + vertex -1.72768 -3.30659 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 4.24084 0.464987 -3 + vertex -3.55278 -2.51803 -3 + vertex 1.66409 7.13679 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 1.66409 7.13679 -3 + vertex -3.55278 -2.51803 -3 + vertex -0.248642 7.94666 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -0.248642 7.94666 -3 + vertex -3.55278 -2.51803 -3 + vertex -2.78119 9.30203 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.99153 10.6633 -3 + vertex -3.55278 -2.51803 -3 + vertex -3.71458 -2.66291 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 3.854 -7.59505 -3 + vertex -5.57075 -19.2012 -3 + vertex 1.04019 -5.91722 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 1.04019 -5.91722 -3 + vertex -5.57075 -19.2012 -3 + vertex -2.05653 -4.03047 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.1272 -19.1706 -3 + vertex -2.05653 -4.03047 -3 + vertex -5.57075 -19.2012 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.55278 -2.51803 -3 + vertex -4.99153 10.6633 -3 + vertex -2.78119 9.30203 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -2.05653 -4.03047 -3 + vertex -7.1272 -19.1706 -3 + vertex -3.45272 -3.03042 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.4385 -11.5861 -3 + vertex -3.45272 -3.03042 -3 + vertex -7.1272 -19.1706 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.7993 -11.4712 -3 + vertex -3.71458 -2.66291 -3 + vertex -17.4385 -11.5861 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -3.45272 -3.03042 -3 + vertex -17.4385 -11.5861 -3 + vertex -3.71458 -2.66291 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.41055 11.926 -3 + vertex 1.8467 12.7398 -3 + vertex 1.87173 12.344 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 1.8467 12.7398 -3 + vertex 1.41055 11.926 -3 + vertex 1.50002 13.1874 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.41055 11.926 -3 + vertex 0.918757 13.5702 -3 + vertex 1.50002 13.1874 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.535115 11.4454 -3 + vertex 0.918757 13.5702 -3 + vertex 1.41055 11.926 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.394194 11.1972 -3 + vertex 0.918757 13.5702 -3 + vertex 0.535115 11.4454 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.394194 11.1972 -3 + vertex -0.928844 14.138 -3 + vertex 0.918757 13.5702 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.46211 11.1697 -3 + vertex -0.928844 14.138 -3 + vertex -0.394194 11.1972 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.75335 11.3511 -3 + vertex -0.928844 14.138 -3 + vertex -1.46211 11.1697 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.75335 11.3511 -3 + vertex -3.65881 14.4362 -3 + vertex -0.928844 14.138 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.07797 11.6776 -3 + vertex -3.65881 14.4362 -3 + vertex -2.75335 11.3511 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.23385 14.4578 -3 + vertex -5.07797 11.6776 -3 + vertex -5.71478 11.6495 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.23385 14.4578 -3 + vertex -5.71478 11.6495 -3 + vertex -5.93765 11.491 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.07797 11.6776 -3 + vertex -7.23385 14.4578 -3 + vertex -3.65881 14.4362 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -13.7227 13.3517 -3 + vertex -3.71458 -2.66291 -3 + vertex -17.5299 12.3491 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.4385 -11.5861 -3 + vertex -7.1272 -19.1706 -3 + vertex -8.78621 -19.378 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -11.7016 -19.4898 -3 + vertex -8.78621 -19.378 -3 + vertex -10.3766 -20.1728 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.71458 -2.66291 -3 + vertex -13.7227 13.3517 -3 + vertex -4.99153 10.6633 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -11.7016 -19.4898 -3 + vertex -10.3766 -20.1728 -3 + vertex -11.6824 -19.9072 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -10.3766 -20.1728 -3 + vertex -11.8627 -20.4599 -3 + vertex -11.6824 -19.9072 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -11.8627 -20.4599 -3 + vertex -10.3766 -20.1728 -3 + vertex -12.0544 -21.102 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -20.6062 -18.108 -3 + vertex -22.6991 -20.0641 -3 + vertex -22.6057 -19.3555 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -23.6767 -35.9691 -3 + vertex -22.458 -35.4568 -3 + vertex -23.007 -35.8619 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.4076 -24.3815 -3 + vertex -21.28 -33.2523 -3 + vertex -23.4462 -30.738 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.28 -33.2523 -3 + vertex -23.1278 -21.2395 -3 + vertex -22.6991 -20.0641 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -22.458 -35.4568 -3 + vertex -23.6767 -35.9691 -3 + vertex -24.7956 -33.2498 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.28 -33.2523 -3 + vertex -23.8149 -31.5911 -3 + vertex -23.4462 -30.738 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.7956 -33.2498 -3 + vertex -23.6767 -35.9691 -3 + vertex -24.4194 -36.2501 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.28 -33.2523 -3 + vertex -24.7956 -33.2498 -3 + vertex -23.8149 -31.5911 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -27.2791 -36.8782 -3 + vertex -24.4194 -36.2501 -3 + vertex -24.9699 -36.888 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -27.2791 -36.8782 -3 + vertex -24.9699 -36.888 -3 + vertex -25.157 -37.5754 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -24.4194 -36.2501 -3 + vertex -27.2791 -36.8782 -3 + vertex -24.7956 -33.2498 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.299 -23.335 -3 + vertex -17.8179 -22.6324 -3 + vertex -17.2695 -22.7276 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.299 -23.335 -3 + vertex -18.3659 -22.5704 -3 + vertex -17.8179 -22.6324 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -18.5428 -26.6889 -3 + vertex -18.3659 -22.5704 -3 + vertex -17.299 -23.335 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -18.5428 -26.6889 -3 + vertex -18.6886 -22.3738 -3 + vertex -18.3659 -22.5704 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.6991 -20.0641 -3 + vertex -18.6886 -22.3738 -3 + vertex -18.5428 -26.6889 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.6991 -20.0641 -3 + vertex -18.7986 -22.0269 -3 + vertex -18.6886 -22.3738 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -18.7986 -22.0269 -3 + vertex -19.683 -17.584 -3 + vertex -19.3785 -17.1305 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -18.7986 -22.0269 -3 + vertex -20.1126 -17.9213 -3 + vertex -19.683 -17.584 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -18.7986 -22.0269 -3 + vertex -20.6062 -18.108 -3 + vertex -20.1126 -17.9213 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.6991 -20.0641 -3 + vertex -20.6062 -18.108 -3 + vertex -18.7986 -22.0269 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.6991 -20.0641 -3 + vertex -18.5428 -26.6889 -3 + vertex -21.28 -33.2523 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -20.6062 -18.108 -3 + vertex -22.6057 -19.3555 -3 + vertex -21.1029 -18.1093 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -21.1029 -18.1093 -3 + vertex -22.6057 -19.3555 -3 + vertex -21.3898 -18.0171 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.8641 -19.008 -3 + vertex -21.3898 -18.0171 -3 + vertex -22.6057 -19.3555 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -21.3898 -18.0171 -3 + vertex -22.8641 -19.008 -3 + vertex -21.538 -17.8042 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -23.4908 -18.9156 -3 + vertex -21.538 -17.8042 -3 + vertex -22.8641 -19.008 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.7956 -33.2498 -3 + vertex -21.9191 -34.6287 -3 + vertex -22.458 -35.4568 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -21.538 -17.8042 -3 + vertex -23.4908 -18.9156 -3 + vertex -21.5846 -16.4428 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.9191 -34.6287 -3 + vertex -24.7956 -33.2498 -3 + vertex -21.28 -33.2523 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -23.3419 -14.2877 -3 + vertex -21.5846 -16.4428 -3 + vertex -23.4908 -18.9156 -3 + endloop + endfacet + facet normal -0 -0 -1 + outer loop + vertex -22.1413 -14.5577 -3 + vertex -21.5846 -16.4428 -3 + vertex -23.3419 -14.2877 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.6401 -15.0493 -3 + vertex -22.1413 -14.5577 -3 + vertex -21.8106 -14.7733 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.5846 -16.4428 -3 + vertex -22.1413 -14.5577 -3 + vertex -21.6401 -15.0493 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.1111 -19.1062 -3 + vertex -23.3419 -14.2877 -3 + vertex -23.4908 -18.9156 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -26.1195 -14.1654 -3 + vertex -24.1111 -19.1062 -3 + vertex -24.7225 -19.9745 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.8809 -15.6487 -3 + vertex -24.7225 -19.9745 -3 + vertex -25.7001 -21.2849 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.1111 -19.1062 -3 + vertex -26.1195 -14.1654 -3 + vertex -23.3419 -14.2877 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -32.1593 -18.5412 -3 + vertex -25.7001 -21.2849 -3 + vertex -26.9351 -22.1109 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -32.1593 -18.5412 -3 + vertex -26.9351 -22.1109 -3 + vertex -28.6031 -22.5277 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.7225 -19.9745 -3 + vertex -30.8809 -15.6487 -3 + vertex -26.1195 -14.1654 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -26.1195 -14.1654 -3 + vertex -30.8809 -15.6487 -3 + vertex -29.5608 -14.1906 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -30.3887 -14.5514 -3 + vertex -29.5608 -14.1906 -3 + vertex -30.8809 -15.6487 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -32.1593 -18.5412 -3 + vertex -28.6031 -22.5277 -3 + vertex -30.8797 -22.6102 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -29.5608 -14.1906 -3 + vertex -30.3887 -14.5514 -3 + vertex -30.2116 -14.321 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -25.7001 -21.2849 -3 + vertex -32.1593 -18.5412 -3 + vertex -30.8809 -15.6487 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -33.3019 -21.4299 -3 + vertex -30.8797 -22.6102 -3 + vertex -32.5249 -22.5543 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.8797 -22.6102 -3 + vertex -33.3019 -21.4299 -3 + vertex -32.1593 -18.5412 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -33.3295 -22.4108 -3 + vertex -33.3019 -21.4299 -3 + vertex -32.5249 -22.5543 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -33.3019 -21.4299 -3 + vertex -33.3295 -22.4108 -3 + vertex -33.5147 -22.0719 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.78621 -19.378 -3 + vertex -17.4456 -12.0833 -3 + vertex -17.4385 -11.5861 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -19.3785 -17.1305 -3 + vertex -15.1553 -19.8912 -3 + vertex -17.9982 -20.7653 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -19.3785 -17.1305 -3 + vertex -17.9982 -20.7653 -3 + vertex -18.4336 -21.0091 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -19.3785 -17.1305 -3 + vertex -18.4336 -21.0091 -3 + vertex -18.7084 -21.5139 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -19.3785 -17.1305 -3 + vertex -18.7084 -21.5139 -3 + vertex -18.7986 -22.0269 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.1553 -19.8912 -3 + vertex -19.3785 -17.1305 -3 + vertex -17.4456 -12.0833 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.33648 -34.384 -3 + vertex -3.99709 -33.5697 -3 + vertex -7.51249 -36.3769 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.33648 -34.384 -3 + vertex -7.51249 -36.3769 -3 + vertex -7.98605 -36.0592 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -3.99709 -33.5697 -3 + vertex -8.33648 -34.384 -3 + vertex -6.41168 -29.738 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.56822 -35.3052 -3 + vertex -7.98605 -36.0592 -3 + vertex -8.51129 -35.7129 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.98605 -36.0592 -3 + vertex -8.56822 -35.3052 -3 + vertex -8.33648 -34.384 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -8.78621 -19.378 -3 + vertex -11.7016 -19.4898 -3 + vertex -11.9141 -19.2259 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.4456 -12.0833 -3 + vertex -8.78621 -19.378 -3 + vertex -11.9141 -19.2259 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.4456 -12.0833 -3 + vertex -11.9141 -19.2259 -3 + vertex -12.3137 -19.1333 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.93765 11.491 -3 + vertex -10.6367 14.238 -3 + vertex -7.23385 14.4578 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.4456 -12.0833 -3 + vertex -12.3137 -19.1333 -3 + vertex -15.1553 -19.8912 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.93765 11.491 -3 + vertex -13.7227 13.3517 -3 + vertex -10.6367 14.238 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.99153 10.6633 -3 + vertex -13.7227 13.3517 -3 + vertex -5.93765 11.491 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -3.71458 -2.66291 -3 + vertex -17.7993 -11.4712 -3 + vertex -17.5299 12.3491 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.7993 -11.4712 -3 + vertex -20.0298 12.0063 -3 + vertex -17.5299 12.3491 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.7993 -11.4712 -3 + vertex -22.4428 11.7593 -3 + vertex -20.0298 12.0063 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -27.1868 -11.3523 -3 + vertex -22.4428 11.7593 -3 + vertex -17.7993 -11.4712 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.4428 11.7593 -3 + vertex -27.1868 -11.3523 -3 + vertex -25.7097 11.6586 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -27.1868 -11.3523 -3 + vertex -28.6588 11.7129 -3 + vertex -25.7097 11.6586 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -34.87 -11.3196 -3 + vertex -28.6588 11.7129 -3 + vertex -27.1868 -11.3523 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -28.6588 11.7129 -3 + vertex -34.87 -11.3196 -3 + vertex -30.1182 11.9311 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -36.1936 -11.4238 -3 + vertex -30.1182 11.9311 -3 + vertex -34.87 -11.3196 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -36.792 -11.6364 -3 + vertex -30.1182 11.9311 -3 + vertex -36.1936 -11.4238 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -30.1182 11.9311 -3 + vertex -36.792 -11.6364 -3 + vertex -30.3887 12.6783 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.3887 12.6783 -3 + vertex -35.7552 21.6337 -3 + vertex -33.0651 20.3093 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -37.6991 23.0789 -3 + vertex -30.3887 12.6783 -3 + vertex -36.792 -11.6364 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -37.6991 23.0789 -3 + vertex -36.792 -11.6364 -3 + vertex -37.3951 -12.1929 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -39.1303 25.4589 -3 + vertex -37.3951 -12.1929 -3 + vertex -37.5366 -12.7854 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.3887 12.6783 -3 + vertex -37.6991 23.0789 -3 + vertex -35.7552 21.6337 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -9.69161 -22.56 -3 + vertex -8.46819 -23.4267 -3 + vertex -8.72405 -24.8218 -3 + endloop + endfacet + facet normal -0 -0 -1 + outer loop + vertex -8.78909 -22.7249 -3 + vertex -8.46819 -23.4267 -3 + vertex -9.69161 -22.56 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -12.4124 -23.7203 -3 + vertex -8.72405 -24.8218 -3 + vertex -9.55184 -27.0667 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.46819 -23.4267 -3 + vertex -8.78909 -22.7249 -3 + vertex -8.55624 -22.9989 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.72405 -24.8218 -3 + vertex -10.5461 -22.7271 -3 + vertex -9.69161 -22.56 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.72405 -24.8218 -3 + vertex -11.3967 -23.0769 -3 + vertex -10.5461 -22.7271 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.3894 -29.1914 -3 + vertex -9.55184 -27.0667 -3 + vertex -11.5932 -32.143 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.8281 -32.7116 -3 + vertex -11.5932 -32.143 -3 + vertex -12.3385 -33.8339 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -9.55184 -27.0667 -3 + vertex -14.2216 -26.3227 -3 + vertex -13.7062 -25.2068 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.8281 -32.7116 -3 + vertex -12.3385 -33.8339 -3 + vertex -13.0448 -35.0276 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -8.72405 -24.8218 -3 + vertex -12.4124 -23.7203 -3 + vertex -11.3967 -23.0769 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -13.1427 -24.3848 -3 + vertex -9.55184 -27.0667 -3 + vertex -13.7062 -25.2068 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -14.3732 -35.9691 -3 + vertex -13.0448 -35.0276 -3 + vertex -13.7203 -35.7356 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -9.55184 -27.0667 -3 + vertex -13.1427 -24.3848 -3 + vertex -12.4124 -23.7203 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -13.0448 -35.0276 -3 + vertex -14.3732 -35.9691 -3 + vertex -16.8281 -32.7116 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.8281 -32.7116 -3 + vertex -14.3732 -35.9691 -3 + vertex -14.8949 -36.1495 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -9.55184 -27.0667 -3 + vertex -15.3894 -29.1914 -3 + vertex -14.2216 -26.3227 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.5846 -36.2152 -3 + vertex -14.8949 -36.1495 -3 + vertex -15.4682 -36.5832 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.2226 -36.752 -3 + vertex -15.4682 -36.5832 -3 + vertex -15.9213 -37.1689 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.6989 -37.6188 -3 + vertex -15.9213 -37.1689 -3 + vertex -15.9433 -37.6764 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.5846 -36.2152 -3 + vertex -15.4682 -36.5832 -3 + vertex -16.2226 -36.752 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -14.8949 -36.1495 -3 + vertex -16.5846 -36.2152 -3 + vertex -16.8281 -32.7116 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -11.5932 -32.143 -3 + vertex -16.8281 -32.7116 -3 + vertex -15.3894 -29.1914 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.7285 -35.3062 -3 + vertex -16.5846 -36.2152 -3 + vertex -17.3742 -35.9691 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.7285 -35.3062 -3 + vertex -17.3742 -35.9691 -3 + vertex -17.6987 -35.8223 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -16.5846 -36.2152 -3 + vertex -17.7285 -35.3062 -3 + vertex -16.8281 -32.7116 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.4076 -24.3815 -3 + vertex -23.4462 -30.738 -3 + vertex -23.655 -30.4649 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -25.4741 -26.9141 -3 + vertex -23.655 -30.4649 -3 + vertex -24.0819 -30.2475 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.28 -33.2523 -3 + vertex -24.4076 -24.3815 -3 + vertex -23.1278 -21.2395 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -25.4741 -26.9141 -3 + vertex -24.0819 -30.2475 -3 + vertex -24.4667 -30.1541 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -26.2338 -28.3696 -3 + vertex -24.4667 -30.1541 -3 + vertex -24.8569 -30.2998 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -23.655 -30.4649 -3 + vertex -25.4741 -26.9141 -3 + vertex -24.4076 -24.3815 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.4667 -30.1541 -3 + vertex -26.2338 -28.3696 -3 + vertex -25.4741 -26.9141 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -26.8752 -29.0336 -3 + vertex -24.8569 -30.2998 -3 + vertex -26.8283 -32.1012 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.8569 -30.2998 -3 + vertex -26.8752 -29.0336 -3 + vertex -26.2338 -28.3696 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -26.8283 -32.1012 -3 + vertex -27.5872 -29.1914 -3 + vertex -26.8752 -29.0336 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -26.8283 -32.1012 -3 + vertex -28.1878 -29.097 -3 + vertex -27.5872 -29.1914 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -29.0969 -33.8499 -3 + vertex -28.1878 -29.097 -3 + vertex -26.8283 -32.1012 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.2578 -34.4631 -3 + vertex -28.1878 -29.097 -3 + vertex -29.0969 -33.8499 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -31.3644 -34.8586 -3 + vertex -28.1878 -29.097 -3 + vertex -30.2578 -34.4631 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -35.4824 -26.6225 -3 + vertex -28.1878 -29.097 -3 + vertex -31.3644 -34.8586 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -28.1878 -29.097 -3 + vertex -32.142 -25.4759 -3 + vertex -28.5713 -25.7117 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -28.1878 -29.097 -3 + vertex -35.4824 -26.6225 -3 + vertex -32.142 -25.4759 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -35.4824 -26.6225 -3 + vertex -31.3644 -34.8586 -3 + vertex -35.0529 -35.0835 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -32.142 -25.4759 -3 + vertex -35.4824 -26.6225 -3 + vertex -34.9626 -25.4747 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -38.7331 -34.5543 -3 + vertex -35.0529 -35.0835 -3 + vertex -38.4261 -34.9619 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -35.0529 -35.0835 -3 + vertex -38.7331 -34.5543 -3 + vertex -35.4824 -26.6225 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -28.5713 -25.7117 -3 + vertex -27.9105 -26.2055 -3 + vertex -28.1838 -28.4809 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -27.9105 -26.2055 -3 + vertex -28.5713 -25.7117 -3 + vertex -28.1036 -25.8829 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -28.5713 -25.7117 -3 + vertex -28.1838 -28.4809 -3 + vertex -28.1878 -29.097 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -11.1208 19.5935 -3 + vertex -11.5389 20.1801 -3 + vertex -10.9412 20.0018 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -12.0133 18.8648 -3 + vertex -11.5389 20.1801 -3 + vertex -11.1208 19.5935 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -12.0133 18.8648 -3 + vertex -12.9783 20.2187 -3 + vertex -11.5389 20.1801 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.009 16.7116 -3 + vertex -12.9783 20.2187 -3 + vertex -12.0133 18.8648 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.009 16.7116 -3 + vertex -16.3196 19.9968 -3 + vertex -12.9783 20.2187 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.0754 15.711 -3 + vertex -16.3196 19.9968 -3 + vertex -15.009 16.7116 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -20.1789 19.4139 -3 + vertex -17.0754 15.711 -3 + vertex -19.733 14.7364 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.0754 15.711 -3 + vertex -20.1789 19.4139 -3 + vertex -16.3196 19.9968 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.3118 14.0374 -3 + vertex -20.1789 19.4139 -3 + vertex -19.733 14.7364 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.3118 14.0374 -3 + vertex -24.1572 19.0472 -3 + vertex -20.1789 19.4139 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.873 13.6003 -3 + vertex -24.1572 19.0472 -3 + vertex -22.3118 14.0374 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -27.5587 18.9414 -3 + vertex -24.873 13.6003 -3 + vertex -27.4778 13.4117 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.873 13.6003 -3 + vertex -27.5587 18.9414 -3 + vertex -24.1572 19.0472 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -27.4778 13.4117 -3 + vertex -29.687 19.1409 -3 + vertex -27.5587 18.9414 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -29.9412 13.2465 -3 + vertex -29.687 19.1409 -3 + vertex -27.4778 13.4117 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.3118 13.0393 -3 + vertex -29.687 19.1409 -3 + vertex -29.9412 13.2465 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -33.0651 20.3093 -3 + vertex -30.3118 13.0393 -3 + vertex -30.3887 12.6783 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.3118 13.0393 -3 + vertex -33.0651 20.3093 -3 + vertex -29.687 19.1409 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 36.2859 -23.7121 -3 + vertex 36.104 -22.9178 -3 + vertex 36.3422 -23.0402 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 35.2001 -22.9271 -3 + vertex 36.2859 -23.7121 -3 + vertex 35.3305 -26.5156 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 36.2859 -23.7121 -3 + vertex 35.2001 -22.9271 -3 + vertex 36.104 -22.9178 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 35.3305 -26.5156 -3 + vertex 34.7441 -22.7166 -3 + vertex 35.2001 -22.9271 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 31.8275 -24.8188 -3 + vertex 34.7441 -22.7166 -3 + vertex 35.3305 -26.5156 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 31.8275 -24.8188 -3 + vertex 35.3305 -26.5156 -3 + vertex 33.8444 -30.1753 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 42.943 -20.2657 -3 + vertex 42.0238 -20.3507 -3 + vertex 42.1032 -19.4743 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 41.971 -20.8453 -3 + vertex 42.0238 -20.3507 -3 + vertex 42.943 -20.2657 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 42.0238 -20.3507 -3 + vertex 41.971 -20.8453 -3 + vertex 41.8981 -20.7296 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 47.9875 -20.1225 -3 + vertex 117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 47.8425 -21.0531 -3 + vertex 47.9875 -20.1225 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 47.5305 -21.9981 -3 + vertex 47.8425 -21.0531 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 47.0957 -22.796 -3 + vertex 47.5305 -21.9981 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 46.5684 -23.4293 -3 + vertex 47.0957 -22.796 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 37.9939 -37.5705 -3 + vertex 46.5684 -23.4293 -3 + vertex 117.5 -117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 46.5684 -23.4293 -3 + vertex 37.9939 -37.5705 -3 + vertex 45.9792 -23.8802 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 38.113 -36.8464 -3 + vertex 45.9792 -23.8802 -3 + vertex 37.9939 -37.5705 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 45.9792 -23.8802 -3 + vertex 38.113 -36.8464 -3 + vertex 45.3585 -24.1311 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 37.9618 -36.3241 -3 + vertex 45.3585 -24.1311 -3 + vertex 38.113 -36.8464 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 38.2188 -29.6614 -3 + vertex 45.3585 -24.1311 -3 + vertex 37.9618 -36.3241 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 45.3585 -24.1311 -3 + vertex 38.2188 -29.6614 -3 + vertex 44.7368 -24.1643 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 40.5923 -24.6171 -3 + vertex 44.1445 -23.9621 -3 + vertex 40.0289 -25.46 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 41.2986 -23.9223 -3 + vertex 44.1445 -23.9621 -3 + vertex 40.5923 -24.6171 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 44.1445 -23.9621 -3 + vertex 41.2986 -23.9223 -3 + vertex 43.6122 -23.5069 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 43.6122 -23.5069 -3 + vertex 41.2986 -23.9223 -3 + vertex 42.7682 -22.851 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 44.7368 -24.1643 -3 + vertex 40.0289 -25.46 -3 + vertex 44.1445 -23.9621 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 37.381 -37.9628 -3 + vertex 37.9939 -37.5705 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 35.8907 -38.1241 -3 + vertex 37.381 -37.9628 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 33.1396 -38.1555 -3 + vertex 35.8907 -38.1241 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 29.8074 -38.0948 -3 + vertex 33.1396 -38.1555 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 20.3084 -38.5182 -3 + vertex 29.8074 -38.0948 -3 + vertex 117.5 -117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 28.553 -36.8405 -3 + vertex 25.9895 -35.834 -3 + vertex 27.8442 -34.1555 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 24.0601 -37.0678 -3 + vertex 28.4102 -37.3704 -3 + vertex 28.6431 -37.8931 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 21.4079 -38.2833 -3 + vertex 29.8074 -38.0948 -3 + vertex 20.3084 -38.5182 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 28.4102 -37.3704 -3 + vertex 24.0601 -37.0678 -3 + vertex 25.9895 -35.834 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 28.6431 -37.8931 -3 + vertex 21.4079 -38.2833 -3 + vertex 24.0601 -37.0678 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 29.8074 -38.0948 -3 + vertex 21.4079 -38.2833 -3 + vertex 28.6431 -37.8931 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex 19.0956 -38.5852 -3 + vertex 20.3084 -38.5182 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.33583 -38.4712 -3 + vertex 19.0956 -38.5852 -3 + vertex 117.5 -117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 19.0956 -38.5852 -3 + vertex 5.33583 -38.4712 -3 + vertex 17.8945 -38.4707 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 17.8945 -38.4707 -3 + vertex 5.33583 -38.4712 -3 + vertex 16.8412 -38.0675 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 12.1385 -34.7994 -3 + vertex 14.6656 -34.4466 -3 + vertex 12.2351 -35.1874 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 14.8379 -35.6738 -3 + vertex 12.2351 -35.1874 -3 + vertex 14.6656 -34.4466 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 12.1379 -35.6584 -3 + vertex 14.8379 -35.6738 -3 + vertex 15.2376 -36.6526 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 11.1962 -36.5595 -3 + vertex 15.2376 -36.6526 -3 + vertex 15.8953 -37.4336 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 8.47177 -37.477 -3 + vertex 16.8412 -38.0675 -3 + vertex 5.33583 -38.4712 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 14.8379 -35.6738 -3 + vertex 12.1379 -35.6584 -3 + vertex 12.2351 -35.1874 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.2376 -36.6526 -3 + vertex 11.7916 -36.1064 -3 + vertex 12.1379 -35.6584 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.2376 -36.6526 -3 + vertex 11.1962 -36.5595 -3 + vertex 11.7916 -36.1064 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.8953 -37.4336 -3 + vertex 10.519 -36.9119 -3 + vertex 11.1962 -36.5595 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 10.519 -36.9119 -3 + vertex 16.8412 -38.0675 -3 + vertex 9.92719 -37.0575 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 16.8412 -38.0675 -3 + vertex 10.519 -36.9119 -3 + vertex 15.8953 -37.4336 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 9.92719 -37.0575 -3 + vertex 16.8412 -38.0675 -3 + vertex 8.47177 -37.477 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.962702 -38.4962 -3 + vertex 5.33583 -38.4712 -3 + vertex 117.5 -117.5 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 4.73542 -37.8041 -3 + vertex 3.43985 -37.8545 -3 + vertex 4.64415 -37.2809 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.84381 -38.3343 -3 + vertex 3.43985 -37.8545 -3 + vertex 4.73542 -37.8041 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 2.31266 -38.26 -3 + vertex 5.33583 -38.4712 -3 + vertex 0.962702 -38.4962 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.84381 -38.3343 -3 + vertex 2.31266 -38.26 -3 + vertex 3.43985 -37.8545 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.33583 -38.4712 -3 + vertex 2.31266 -38.26 -3 + vertex 4.84381 -38.3343 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 117.5 -117.5 -3 + vertex -0.366978 -38.538 -3 + vertex 0.962702 -38.4962 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -117.5 -117.5 -3 + vertex -0.366978 -38.538 -3 + vertex 117.5 -117.5 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -12.0013 -38.1555 -3 + vertex -0.366978 -38.538 -3 + vertex -117.5 -117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.14673 -30.0798 -3 + vertex -6.41168 -29.738 -3 + vertex -4.26405 -24.3543 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.51249 -36.3769 -3 + vertex -3.80393 -35.193 -3 + vertex -7.31439 -36.7536 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.31439 -36.7536 -3 + vertex -3.80393 -35.193 -3 + vertex -3.26834 -36.6145 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -3.80393 -35.193 -3 + vertex -7.51249 -36.3769 -3 + vertex -3.99709 -33.5697 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.3919 -37.1883 -3 + vertex -3.26834 -36.6145 -3 + vertex -2.45619 -37.7112 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -8.07933 -37.9462 -3 + vertex -1.43333 -38.36 -3 + vertex -8.66873 -38.0883 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.26834 -36.6145 -3 + vertex -7.3919 -37.1883 -3 + vertex -7.31439 -36.7536 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.45619 -37.7112 -3 + vertex -7.74517 -37.6801 -3 + vertex -7.3919 -37.1883 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -2.45619 -37.7112 -3 + vertex -8.07933 -37.9462 -3 + vertex -7.74517 -37.6801 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.43333 -38.36 -3 + vertex -8.07933 -37.9462 -3 + vertex -2.45619 -37.7112 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -8.66873 -38.0883 -3 + vertex -0.366978 -38.538 -3 + vertex -12.0013 -38.1555 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.366978 -38.538 -3 + vertex -8.66873 -38.0883 -3 + vertex -1.43333 -38.36 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -12.0013 -38.1555 -3 + vertex -117.5 -117.5 -3 + vertex -15.3277 -38.0928 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -15.9213 -37.1689 -3 + vertex -16.6989 -37.6188 -3 + vertex -16.2226 -36.752 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.7983 -37.9502 -3 + vertex -16.6989 -37.6188 -3 + vertex -15.9433 -37.6764 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -17.5781 -38.0841 -3 + vertex -15.3277 -38.0928 -3 + vertex -117.5 -117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.7983 -37.9502 -3 + vertex -17.033 -37.9274 -3 + vertex -16.6989 -37.6188 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -15.7983 -37.9502 -3 + vertex -17.5781 -38.0841 -3 + vertex -17.033 -37.9274 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.3277 -38.0928 -3 + vertex -17.5781 -38.0841 -3 + vertex -15.7983 -37.9502 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -17.5781 -38.0841 -3 + vertex -117.5 -117.5 -3 + vertex -20.8226 -38.1301 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -25.0608 -37.8416 -3 + vertex -27.2791 -36.8782 -3 + vertex -25.157 -37.5754 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -28.2835 -38.1638 -3 + vertex -25.0608 -37.8416 -3 + vertex -24.8096 -38.0047 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex -28.2835 -38.1638 -3 + vertex -20.8226 -38.1301 -3 + vertex -117.5 -117.5 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -25.0608 -37.8416 -3 + vertex -28.2835 -38.1638 -3 + vertex -27.2791 -36.8782 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -20.8226 -38.1301 -3 + vertex -28.2835 -38.1638 -3 + vertex -24.8096 -38.0047 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -28.2835 -38.1638 -3 + vertex -117.5 -117.5 -3 + vertex -37.632 -38.1325 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -47.8161 -37.7712 -3 + vertex -117.5 -117.5 -3 + vertex -47.9875 -37.5097 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -47.4646 -37.9547 -3 + vertex -117.5 -117.5 -3 + vertex -47.8161 -37.7712 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -37.632 -38.1325 -3 + vertex -117.5 -117.5 -3 + vertex -47.4646 -37.9547 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 47.7267 -19.5813 -3 + vertex 117.5 117.5 -3 + vertex 47.9875 -20.1225 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.5422 14.7505 -3 + vertex 47.7267 -19.5813 -3 + vertex 47.2139 -19.2263 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.528 9.70386 -3 + vertex 47.2139 -19.2263 -3 + vertex 46.2623 -19.1343 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 41.5319 -19.1343 -3 + vertex 46.2623 -19.1343 -3 + vertex 44.5909 -19.3768 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 42.1032 -19.4743 -3 + vertex 44.5909 -19.3768 -3 + vertex 42.943 -20.2657 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 44.5909 -19.3768 -3 + vertex 42.1032 -19.4743 -3 + vertex 41.8934 -19.2238 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 41.5319 -19.1343 -3 + vertex 44.5909 -19.3768 -3 + vertex 41.8934 -19.2238 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.528 9.70386 -3 + vertex 46.2623 -19.1343 -3 + vertex 41.5319 -19.1343 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 29.9429 -19.4981 -3 + vertex 41.5319 -19.1343 -3 + vertex 38.4798 -20.1181 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 30.7248 -19.9631 -3 + vertex 38.4798 -20.1181 -3 + vertex 35.5661 -21.102 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 30.7248 -19.9631 -3 + vertex 35.5661 -21.102 -3 + vertex 35.2187 -21.2043 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 31.3699 -20.64 -3 + vertex 35.2187 -21.2043 -3 + vertex 34.9156 -21.474 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 30.2029 -31.1764 -3 + vertex 33.8444 -30.1753 -3 + vertex 32.5255 -33.371 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 34.7441 -22.7166 -3 + vertex 32.0255 -23.3848 -3 + vertex 34.62 -22.2927 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 32.0232 -22.2828 -3 + vertex 34.62 -22.2927 -3 + vertex 32.0255 -23.3848 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 31.8086 -21.404 -3 + vertex 34.62 -22.2927 -3 + vertex 32.0232 -22.2828 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 34.62 -22.2927 -3 + vertex 31.8086 -21.404 -3 + vertex 34.9156 -21.474 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 31.3699 -20.64 -3 + vertex 34.9156 -21.474 -3 + vertex 31.8086 -21.404 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 35.2187 -21.2043 -3 + vertex 31.3699 -20.64 -3 + vertex 30.7248 -19.9631 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 38.4798 -20.1181 -3 + vertex 30.7248 -19.9631 -3 + vertex 29.9429 -19.4981 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.528 9.70386 -3 + vertex 41.5319 -19.1343 -3 + vertex 29.9429 -19.4981 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.528 9.70386 -3 + vertex 29.9429 -19.4981 -3 + vertex 28.989 -19.2301 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 26.7235 1.18648 -3 + vertex 28.989 -19.2301 -3 + vertex 27.8281 -19.1444 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 47.2139 -19.2263 -3 + vertex 27.6094 12.2412 -3 + vertex 27.5422 14.7505 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 47.7267 -19.5813 -3 + vertex 27.5422 14.7505 -3 + vertex 117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 26.4742 18.624 -3 + vertex 27.5422 14.7505 -3 + vertex 27.1755 15.8473 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 26.4742 18.624 -3 + vertex 27.1755 15.8473 -3 + vertex 26.6933 17.4601 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.5422 14.7505 -3 + vertex 26.4742 18.624 -3 + vertex 117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 25.9424 19.4837 -3 + vertex 117.5 117.5 -3 + vertex 26.4742 18.624 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 21.8319 23.6658 -3 + vertex 25.9424 19.4837 -3 + vertex 25.0752 20.0627 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 22.0827 22.427 -3 + vertex 25.0752 20.0627 -3 + vertex 23.8499 20.3844 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 22.2698 21.5943 -3 + vertex 23.8499 20.3844 -3 + vertex 23.1387 20.59 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 22.2698 21.5943 -3 + vertex 23.1387 20.59 -3 + vertex 22.6169 20.9877 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 23.8499 20.3844 -3 + vertex 22.2698 21.5943 -3 + vertex 22.0827 22.427 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 25.0752 20.0627 -3 + vertex 22.0827 22.427 -3 + vertex 21.8319 23.6658 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 25.9424 19.4837 -3 + vertex 21.8319 23.6658 -3 + vertex 21.2755 24.568 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 25.9424 19.4837 -3 + vertex 21.2755 24.568 -3 + vertex 117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.3134 30.0845 -3 + vertex 21.2755 24.568 -3 + vertex 20.1819 25.3734 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.4783 29.8698 -3 + vertex 20.1819 25.3734 -3 + vertex 18.3193 26.3216 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.4783 29.8698 -3 + vertex 18.3193 26.3216 -3 + vertex 17.0772 26.9817 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.6084 29.1601 -3 + vertex 17.0772 26.9817 -3 + vertex 16.2688 27.6146 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.6084 29.1601 -3 + vertex 16.2688 27.6146 -3 + vertex 15.808 28.3106 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 17.0772 26.9817 -3 + vertex 15.6084 29.1601 -3 + vertex 15.4783 29.8698 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.3134 30.0845 -3 + vertex 20.1819 25.3734 -3 + vertex 15.4783 29.8698 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 21.2755 24.568 -3 + vertex 15.3134 30.0845 -3 + vertex 117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 12.0123 26.7794 -3 + vertex 15.122 28.0941 -3 + vertex 12.5486 25.9653 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 11.8052 27.5343 -3 + vertex 15.122 28.0941 -3 + vertex 12.0123 26.7794 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.0577 29.0611 -3 + vertex 12.2907 30.5214 -3 + vertex 15.1584 29.8123 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.1584 29.8123 -3 + vertex 12.2907 30.5214 -3 + vertex 15.3134 30.0845 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 12.0544 30.7144 -3 + vertex 15.3134 30.0845 -3 + vertex 12.2907 30.5214 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.3134 30.0845 -3 + vertex 12.0544 30.7144 -3 + vertex 5.25321 38.4452 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.19939 38.083 -3 + vertex 12.0544 30.7144 -3 + vertex 11.5971 30.3591 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 8.51885 25.3107 -3 + vertex 11.5037 26.4501 -3 + vertex 9.07032 24.476 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 11.5037 26.4501 -3 + vertex 8.51885 25.3107 -3 + vertex 11.1066 27.3577 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.91411 25.7528 -3 + vertex 11.1066 27.3577 -3 + vertex 8.51885 25.3107 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 11.1066 27.3577 -3 + vertex 7.91411 25.7528 -3 + vertex 11.0411 28.3898 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.11433 25.9588 -3 + vertex 11.0411 28.3898 -3 + vertex 7.91411 25.7528 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.72413 26.6445 -3 + vertex 11.0411 28.3898 -3 + vertex 7.11433 25.9588 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 11.0411 28.3898 -3 + vertex 5.72413 26.6445 -3 + vertex 11.2319 29.4873 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.72413 26.6445 -3 + vertex 7.11433 25.9588 -3 + vertex 6.4022 26.1795 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 4.3138 28.4461 -3 + vertex 11.2319 29.4873 -3 + vertex 5.72413 26.6445 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 3.57109 31.3388 -3 + vertex 11.2319 29.4873 -3 + vertex 4.3138 28.4461 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.3134 30.0845 -3 + vertex 5.25321 38.4452 -3 + vertex 5.15152 38.5852 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 15.3134 30.0845 -3 + vertex 5.15152 38.5852 -3 + vertex 117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.115935 27.2162 -3 + vertex 1.04836 28.6106 -3 + vertex 0.858783 27.1101 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -0.786632 27.5359 -3 + vertex 1.04836 28.6106 -3 + vertex -0.115935 27.2162 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -1.46161 28.0795 -3 + vertex 1.04836 28.6106 -3 + vertex -0.786632 27.5359 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 1.04836 28.6106 -3 + vertex -1.46161 28.0795 -3 + vertex 1.1273 29.8907 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -2.77953 29.7664 -3 + vertex 1.1273 29.8907 -3 + vertex -1.46161 28.0795 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 1.1273 29.8907 -3 + vertex -2.77953 29.7664 -3 + vertex 1.37489 31.173 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -3.97987 32.1322 -3 + vertex 1.37489 31.173 -3 + vertex -2.77953 29.7664 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.37489 31.173 -3 + vertex -3.97987 32.1322 -3 + vertex 2.44067 33.9939 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -4.97284 35.0324 -3 + vertex 2.44067 33.9939 -3 + vertex -3.97987 32.1322 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.55994 36.5001 -3 + vertex 2.44067 33.9939 -3 + vertex -4.97284 35.0324 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 2.44067 33.9939 -3 + vertex -5.55994 36.5001 -3 + vertex 4.08079 37.0842 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 4.08079 37.0842 -3 + vertex -5.55994 36.5001 -3 + vertex 5.15152 38.5852 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -5.8163 36.5812 -3 + vertex 5.15152 38.5852 -3 + vertex -5.55994 36.5001 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -117.5 117.5 -3 + vertex 5.15152 38.5852 -3 + vertex -5.8163 36.5812 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.25507 27.2437 -3 + vertex -6.28322 28.2565 -3 + vertex -6.38329 27.6173 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -6.28322 28.2565 -3 + vertex -8.80952 27.3973 -3 + vertex -6.22131 31.7226 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -7.25507 27.2437 -3 + vertex -6.38329 27.6173 -3 + vertex -6.55612 27.3597 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -6.28322 28.2565 -3 + vertex -7.25507 27.2437 -3 + vertex -8.80952 27.3973 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -11.546 27.7352 -3 + vertex -6.22131 31.7226 -3 + vertex -8.80952 27.3973 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -6.22131 31.7226 -3 + vertex -11.546 27.7352 -3 + vertex -6.055 36.2349 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -13.5562 27.8374 -3 + vertex -6.055 36.2349 -3 + vertex -11.546 27.7352 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -15.2376 27.7001 -3 + vertex -6.055 36.2349 -3 + vertex -13.5562 27.8374 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -20.8096 27.6578 -3 + vertex -6.055 36.2349 -3 + vertex -15.2376 27.7001 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -20.8096 27.6578 -3 + vertex -15.2376 27.7001 -3 + vertex -16.9875 27.3196 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -19.9485 27.2141 -3 + vertex -16.9875 27.3196 -3 + vertex -19.335 26.703 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -20.8096 27.6578 -3 + vertex -16.9875 27.3196 -3 + vertex -19.9485 27.2141 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.4093 27.9007 -3 + vertex -6.055 36.2349 -3 + vertex -20.8096 27.6578 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -6.055 36.2349 -3 + vertex -22.4093 27.9007 -3 + vertex -5.8163 36.5812 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.3632 27.9554 -3 + vertex -5.8163 36.5812 -3 + vertex -22.4093 27.9007 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -30.666 27.4912 -3 + vertex -5.8163 36.5812 -3 + vertex -24.3632 27.9554 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -24.3225 27.6757 -3 + vertex -27.4214 26.3653 -3 + vertex -24.3632 27.9554 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -29.2879 26.9865 -3 + vertex -24.3632 27.9554 -3 + vertex -27.4214 26.3653 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -24.3632 27.9554 -3 + vertex -29.2879 26.9865 -3 + vertex -30.666 27.4912 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -31.2177 27.4629 -3 + vertex -5.8163 36.5812 -3 + vertex -30.666 27.4912 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -5.8163 36.5812 -3 + vertex -31.2177 27.4629 -3 + vertex -117.5 117.5 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -31.2773 24.779 -3 + vertex -34.2108 23.023 -3 + vertex -31.2912 27.2229 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -36.1697 23.9798 -3 + vertex -31.2912 27.2229 -3 + vertex -34.2108 23.023 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -37.7877 25.1404 -3 + vertex -31.2912 27.2229 -3 + vertex -36.1697 23.9798 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -31.2912 27.2229 -3 + vertex -37.7877 25.1404 -3 + vertex -31.2177 27.4629 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -38.5782 25.7376 -3 + vertex -31.2177 27.4629 -3 + vertex -37.7877 25.1404 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -39.0347 25.8392 -3 + vertex -31.2177 27.4629 -3 + vertex -38.5782 25.7376 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -31.2177 27.4629 -3 + vertex -39.0347 25.8392 -3 + vertex -117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.2102 -36.2359 -3 + vertex -39.9072 -25.4747 -3 + vertex -42.237 -30.9405 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.2102 -36.2359 -3 + vertex -42.237 -30.9405 -3 + vertex -43.2543 -33.2915 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -46.1801 -35.8499 -3 + vertex -43.2543 -33.2915 -3 + vertex -44.1198 -34.7306 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -46.1801 -35.8499 -3 + vertex -44.1198 -34.7306 -3 + vertex -45.0296 -35.5019 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -43.2543 -33.2915 -3 + vertex -46.1801 -35.8499 -3 + vertex -47.2102 -36.2359 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -37.5366 -12.7854 -3 + vertex -47.2102 -36.2359 -3 + vertex -47.8577 -36.863 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -37.5366 -12.7854 -3 + vertex -47.8577 -36.863 -3 + vertex -39.1303 25.4589 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -117.5 -117.5 -3 + vertex -47.8577 -36.863 -3 + vertex -47.9875 -37.5097 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -47.8577 -36.863 -3 + vertex -117.5 -117.5 -3 + vertex -117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -47.8577 -36.863 -3 + vertex -117.5 117.5 -3 + vertex -39.1303 25.4589 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 5.15152 38.5852 -3 + vertex -117.5 117.5 -3 + vertex 117.5 117.5 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -39.1303 25.4589 -3 + vertex -117.5 117.5 -3 + vertex -39.0347 25.8392 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 40.0289 -25.46 -3 + vertex 44.7368 -24.1643 -3 + vertex 38.2188 -29.6614 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 36.8272 -33.2656 -3 + vertex 37.9618 -36.3241 -3 + vertex 37.1913 -36.0604 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 37.9618 -36.3241 -3 + vertex 36.8272 -33.2656 -3 + vertex 38.2188 -29.6614 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 36.2918 -35.0946 -3 + vertex 37.1913 -36.0604 -3 + vertex 36.3972 -35.7834 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 37.1913 -36.0604 -3 + vertex 36.2918 -35.0946 -3 + vertex 36.8272 -33.2656 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 9.72145 16.1788 -3 + vertex 9.76373 17.1908 -3 + vertex 10.4258 16.5104 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 8.86535 15.8492 -3 + vertex 9.76373 17.1908 -3 + vertex 9.72145 16.1788 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 8.028 17.0592 -3 + vertex 9.76373 17.1908 -3 + vertex 8.86535 15.8492 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex 9.76373 17.1908 -3 + vertex 8.028 17.0592 -3 + vertex 8.30319 18.4459 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.15178 18.7442 -3 + vertex 8.30319 18.4459 -3 + vertex 8.028 17.0592 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 8.30319 18.4459 -3 + vertex 7.15178 18.7442 -3 + vertex 7.1994 19.1268 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -10.5829 24.4 -3 + vertex -11.2742 24.7069 -3 + vertex -10.6709 24.5009 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -14.1729 23.8467 -3 + vertex -11.2742 24.7069 -3 + vertex -10.5829 24.4 -3 + endloop + endfacet + facet normal -0 0 -1 + outer loop + vertex -11.2742 24.7069 -3 + vertex -14.1729 23.8467 -3 + vertex -13.9393 24.99 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -14.1729 23.8467 -3 + vertex -16.6107 24.7853 -3 + vertex -13.9393 24.99 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -19.3275 23.0662 -3 + vertex -16.6107 24.7853 -3 + vertex -14.1729 23.8467 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -19.3275 23.0662 -3 + vertex -20.4324 24.2101 -3 + vertex -16.6107 24.7853 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -21.5591 22.7309 -3 + vertex -20.4324 24.2101 -3 + vertex -19.3275 23.0662 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.0432 22.8497 -3 + vertex -20.4324 24.2101 -3 + vertex -21.5591 22.7309 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -22.6641 23.2546 -3 + vertex -20.4324 24.2101 -3 + vertex -22.0432 22.8497 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex -20.4324 24.2101 -3 + vertex -22.6641 23.2546 -3 + vertex -23.3809 23.8604 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 24.4233 -24.8188 -3 + vertex 27.3613 -24.0204 -3 + vertex 27.2283 -24.8188 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 26.0804 -21.8157 -3 + vertex 27.3613 -24.0204 -3 + vertex 24.4233 -24.8188 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.3668 -22.8574 -3 + vertex 26.0804 -21.8157 -3 + vertex 26.9354 -22.1189 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 27.3613 -24.0204 -3 + vertex 26.0804 -21.8157 -3 + vertex 27.3668 -22.8574 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 26.0804 -21.8157 -3 + vertex 24.4233 -24.8188 -3 + vertex 24.8153 -21.9586 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 24.4233 -24.8188 -3 + vertex 23.7526 -22.3987 -3 + vertex 24.8153 -21.9586 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 24.4233 -24.8188 -3 + vertex 22.6861 -23.3258 -3 + vertex 23.7526 -22.3987 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 22.6861 -23.3258 -3 + vertex 24.4233 -24.8188 -3 + vertex 21.6183 -24.6221 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.70773 -21.5983 -3 + vertex 10.169 -23.3758 -3 + vertex 10.0775 -24.2416 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 6.85097 -21.9079 -3 + vertex 10.0775 -24.2416 -3 + vertex 9.7411 -25.4359 -3 + endloop + endfacet + facet normal 0 -0 -1 + outer loop + vertex 8.49325 -21.5121 -3 + vertex 10.169 -23.3758 -3 + vertex 7.70773 -21.5983 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10.169 -23.3758 -3 + vertex 8.49325 -21.5121 -3 + vertex 10.0454 -22.5812 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10.0454 -22.5812 -3 + vertex 9.16984 -21.6481 -3 + vertex 9.69979 -22.0048 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 3.84714 -24.6213 -3 + vertex 9.7411 -25.4359 -3 + vertex 7.96204 -29.9101 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 10.0775 -24.2416 -3 + vertex 6.85097 -21.9079 -3 + vertex 7.70773 -21.5983 -3 + endloop + endfacet + facet normal -0 -0 -1 + outer loop + vertex 9.16984 -21.6481 -3 + vertex 10.0454 -22.5812 -3 + vertex 8.49325 -21.5121 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.3456 -29.5107 -3 + vertex 7.96204 -29.9101 -3 + vertex 6.30534 -33.4759 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 9.7411 -25.4359 -3 + vertex 5.96068 -22.4422 -3 + vertex 6.85097 -21.9079 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.901133 -32.5034 -3 + vertex 6.30534 -33.4759 -3 + vertex 5.71313 -34.2297 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 9.7411 -25.4359 -3 + vertex 5.07455 -23.2024 -3 + vertex 5.96068 -22.4422 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.901133 -32.5034 -3 + vertex 5.71313 -34.2297 -3 + vertex 5.04571 -34.678 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.901133 -32.5034 -3 + vertex 5.04571 -34.678 -3 + vertex 4.11511 -35.011 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 9.7411 -25.4359 -3 + vertex 3.84714 -24.6213 -3 + vertex 5.07455 -23.2024 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 0.901133 -32.5034 -3 + vertex 4.11511 -35.011 -3 + vertex 3.17687 -35.0966 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.96204 -29.9101 -3 + vertex 2.80055 -26.1986 -3 + vertex 3.84714 -24.6213 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.11766 -33.6813 -3 + vertex 3.17687 -35.0966 -3 + vertex 2.32628 -34.9386 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.96204 -29.9101 -3 + vertex 1.95873 -27.8549 -3 + vertex 2.80055 -26.1986 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 1.11766 -33.6813 -3 + vertex 2.32628 -34.9386 -3 + vertex 1.65861 -34.5411 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 7.96204 -29.9101 -3 + vertex 1.3456 -29.5107 -3 + vertex 1.95873 -27.8549 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 3.17687 -35.0966 -3 + vertex 1.11766 -33.6813 -3 + vertex 0.901133 -32.5034 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 6.30534 -33.4759 -3 + vertex 0.985088 -31.0867 -3 + vertex 1.3456 -29.5107 -3 + endloop + endfacet + facet normal 0 0 -1 + outer loop + vertex 6.30534 -33.4759 -3 + vertex 0.901133 -32.5034 -3 + vertex 0.985088 -31.0867 -3 + endloop + endfacet + facet normal -0.929682 -0.368364 0 + outer loop + vertex 19.6777 -11.13 -3 + vertex 19.5452 -10.7956 0 + vertex 19.5452 -10.7956 -3 + endloop + endfacet + facet normal -0.929682 -0.368364 0 + outer loop + vertex 19.5452 -10.7956 0 + vertex 19.6777 -11.13 -3 + vertex 19.6777 -11.13 0 + endloop + endfacet + facet normal -0.933646 0.358197 0 + outer loop + vertex 17.1521 -17.7131 -3 + vertex 19.6777 -11.13 0 + vertex 19.6777 -11.13 -3 + endloop + endfacet + facet normal -0.933646 0.358197 0 + outer loop + vertex 19.6777 -11.13 0 + vertex 17.1521 -17.7131 -3 + vertex 17.1521 -17.7131 0 endloop endfacet facet normal -0.922106 0.386938 0 outer loop - vertex 14.5952 -23.8342 -0.2 - vertex 17.1638 -17.7131 0 - vertex 17.1638 -17.7131 -0.2 + vertex 14.5835 -23.8342 -3 + vertex 17.1521 -17.7131 0 + vertex 17.1521 -17.7131 -3 endloop endfacet facet normal -0.922106 0.386938 0 outer loop - vertex 17.1638 -17.7131 0 - vertex 14.5952 -23.8342 -0.2 - vertex 14.5952 -23.8342 0 + vertex 17.1521 -17.7131 0 + vertex 14.5835 -23.8342 -3 + vertex 14.5835 -23.8342 0 endloop endfacet - facet normal -0.923985 0.382428 0 + facet normal -0.926605 0.376035 0 outer loop - vertex 12.8097 -28.1484 -0.2 - vertex 14.5952 -23.8342 0 - vertex 14.5952 -23.8342 -0.2 + vertex 11.4887 -31.4602 -3 + vertex 14.5835 -23.8342 0 + vertex 14.5835 -23.8342 -3 endloop endfacet - facet normal -0.923985 0.382428 0 + facet normal -0.926605 0.376035 0 outer loop - vertex 14.5952 -23.8342 0 - vertex 12.8097 -28.1484 -0.2 - vertex 12.8097 -28.1484 0 + vertex 14.5835 -23.8342 0 + vertex 11.4887 -31.4602 -3 + vertex 11.4887 -31.4602 0 endloop endfacet - facet normal -0.928075 0.372394 0 + facet normal -0.942271 0.334852 0 outer loop - vertex 12.0447 -30.0547 -0.2 - vertex 12.8097 -28.1484 0 - vertex 12.8097 -28.1484 -0.2 + vertex 10.915 -33.0747 -3 + vertex 11.4887 -31.4602 0 + vertex 11.4887 -31.4602 -3 endloop endfacet - facet normal -0.928075 0.372394 0 + facet normal -0.942271 0.334852 0 outer loop - vertex 12.8097 -28.1484 0 - vertex 12.0447 -30.0547 -0.2 - vertex 12.0447 -30.0547 0 + vertex 11.4887 -31.4602 0 + vertex 10.915 -33.0747 -3 + vertex 10.915 -33.0747 0 endloop endfacet - facet normal -0.932522 0.361114 0 + facet normal -0.976917 0.213621 0 outer loop - vertex 11.5005 -31.4602 -0.2 - vertex 12.0447 -30.0547 0 - vertex 12.0447 -30.0547 -0.2 + vertex 10.7197 -33.9677 -3 + vertex 10.915 -33.0747 0 + vertex 10.915 -33.0747 -3 endloop endfacet - facet normal -0.932522 0.361114 0 + facet normal -0.976917 0.213621 0 outer loop - vertex 12.0447 -30.0547 0 - vertex 11.5005 -31.4602 -0.2 - vertex 11.5005 -31.4602 0 + vertex 10.915 -33.0747 0 + vertex 10.7197 -33.9677 -3 + vertex 10.7197 -33.9677 0 endloop endfacet - facet normal -0.938737 0.344634 0 + facet normal -0.904266 -0.42697 0 outer loop - vertex 11.1661 -32.3709 -0.2 - vertex 11.5005 -31.4602 0 - vertex 11.5005 -31.4602 -0.2 + vertex 10.9006 -34.3507 -3 + vertex 10.7197 -33.9677 0 + vertex 10.7197 -33.9677 -3 endloop endfacet - facet normal -0.938737 0.344634 0 + facet normal -0.904266 -0.42697 0 outer loop - vertex 11.5005 -31.4602 0 - vertex 11.1661 -32.3709 -0.2 - vertex 11.1661 -32.3709 0 + vertex 10.7197 -33.9677 0 + vertex 10.9006 -34.3507 -3 + vertex 10.9006 -34.3507 0 endloop endfacet - facet normal -0.946728 0.322034 0 + facet normal -0.15089 -0.988551 0 outer loop - vertex 10.9267 -33.0747 -0.2 - vertex 11.1661 -32.3709 0 - vertex 11.1661 -32.3709 -0.2 + vertex 10.9006 -34.3507 -3 + vertex 11.4551 -34.4353 0 + vertex 10.9006 -34.3507 0 endloop endfacet - facet normal -0.946728 0.322034 0 + facet normal -0.15089 -0.988551 -0 outer loop - vertex 11.1661 -32.3709 0 - vertex 10.9267 -33.0747 -0.2 - vertex 10.9267 -33.0747 0 + vertex 11.4551 -34.4353 0 + vertex 10.9006 -34.3507 -3 + vertex 11.4551 -34.4353 -3 endloop endfacet - facet normal -0.963806 0.266603 0 + facet normal -0.233297 -0.972406 0 outer loop - vertex 10.7819 -33.5982 -0.2 - vertex 10.9267 -33.0747 0 - vertex 10.9267 -33.0747 -0.2 + vertex 11.4551 -34.4353 -3 + vertex 11.871 -34.5351 0 + vertex 11.4551 -34.4353 0 endloop endfacet - facet normal -0.963806 0.266603 0 + facet normal -0.233297 -0.972406 -0 outer loop - vertex 10.9267 -33.0747 0 - vertex 10.7819 -33.5982 -0.2 - vertex 10.7819 -33.5982 0 + vertex 11.871 -34.5351 0 + vertex 11.4551 -34.4353 -3 + vertex 11.871 -34.5351 -3 endloop endfacet - facet normal -0.983685 0.179901 0 + facet normal -0.702731 -0.711456 0 outer loop - vertex 10.7449 -33.8005 -0.2 - vertex 10.7819 -33.5982 0 - vertex 10.7819 -33.5982 -0.2 + vertex 11.871 -34.5351 -3 + vertex 12.1385 -34.7994 0 + vertex 11.871 -34.5351 0 endloop endfacet - facet normal -0.983685 0.179901 0 + facet normal -0.702731 -0.711456 -0 outer loop - vertex 10.7819 -33.5982 0 - vertex 10.7449 -33.8005 -0.2 - vertex 10.7449 -33.8005 0 + vertex 12.1385 -34.7994 0 + vertex 11.871 -34.5351 -3 + vertex 12.1385 -34.7994 -3 endloop endfacet - facet normal -0.996773 0.0802779 0 + facet normal -0.970405 -0.241485 0 outer loop - vertex 10.7315 -33.9677 -0.2 - vertex 10.7449 -33.8005 0 - vertex 10.7449 -33.8005 -0.2 + vertex 12.2351 -35.1874 -3 + vertex 12.1385 -34.7994 0 + vertex 12.1385 -34.7994 -3 endloop endfacet - facet normal -0.996773 0.0802779 0 + facet normal -0.970405 -0.241485 0 outer loop - vertex 10.7449 -33.8005 0 - vertex 10.7315 -33.9677 -0.2 - vertex 10.7315 -33.9677 0 + vertex 12.1385 -34.7994 0 + vertex 12.2351 -35.1874 -3 + vertex 12.2351 -35.1874 0 endloop endfacet - facet normal -0.997256 -0.0740364 0 + facet normal -0.979345 0.202199 0 outer loop - vertex 10.7415 -34.103 -0.2 - vertex 10.7315 -33.9677 0 - vertex 10.7315 -33.9677 -0.2 + vertex 12.1379 -35.6584 -3 + vertex 12.2351 -35.1874 0 + vertex 12.2351 -35.1874 -3 endloop endfacet - facet normal -0.997256 -0.0740364 0 + facet normal -0.979345 0.202199 0 outer loop - vertex 10.7315 -33.9677 0 - vertex 10.7415 -34.103 -0.2 - vertex 10.7415 -34.103 0 + vertex 12.2351 -35.1874 0 + vertex 12.1379 -35.6584 -3 + vertex 12.1379 -35.6584 0 endloop endfacet - facet normal -0.954067 -0.299593 0 + facet normal -0.791253 0.611489 0 outer loop - vertex 10.775 -34.2097 -0.2 - vertex 10.7415 -34.103 0 - vertex 10.7415 -34.103 -0.2 + vertex 11.7916 -36.1064 -3 + vertex 12.1379 -35.6584 0 + vertex 12.1379 -35.6584 -3 endloop endfacet - facet normal -0.954067 -0.299593 0 + facet normal -0.791253 0.611489 0 outer loop - vertex 10.7415 -34.103 0 - vertex 10.775 -34.2097 -0.2 - vertex 10.775 -34.2097 0 + vertex 12.1379 -35.6584 0 + vertex 11.7916 -36.1064 -3 + vertex 11.7916 -36.1064 0 endloop endfacet - facet normal -0.81961 -0.572921 0 + facet normal -0.605591 0.795776 0 outer loop - vertex 10.832 -34.2912 -0.2 - vertex 10.775 -34.2097 0 - vertex 10.775 -34.2097 -0.2 + vertex 11.7916 -36.1064 -3 + vertex 11.1962 -36.5595 0 + vertex 11.7916 -36.1064 0 endloop endfacet - facet normal -0.81961 -0.572921 0 + facet normal -0.605591 0.795776 0 outer loop - vertex 10.775 -34.2097 0 - vertex 10.832 -34.2912 -0.2 - vertex 10.832 -34.2912 0 + vertex 11.1962 -36.5595 0 + vertex 11.7916 -36.1064 -3 + vertex 11.1962 -36.5595 -3 endloop endfacet - facet normal -0.595252 -0.803539 0 + facet normal -0.461492 0.887144 0 outer loop - vertex 10.832 -34.2912 -0.2 - vertex 10.9123 -34.3507 0 - vertex 10.832 -34.2912 0 + vertex 11.1962 -36.5595 -3 + vertex 10.519 -36.9119 0 + vertex 11.1962 -36.5595 0 endloop endfacet - facet normal -0.595252 -0.803539 -0 + facet normal -0.461492 0.887144 0 outer loop - vertex 10.9123 -34.3507 0 - vertex 10.832 -34.2912 -0.2 - vertex 10.9123 -34.3507 -0.2 + vertex 10.519 -36.9119 0 + vertex 11.1962 -36.5595 -3 + vertex 10.519 -36.9119 -3 endloop endfacet - facet normal -0.366659 -0.930355 0 + facet normal -0.238946 0.971033 0 outer loop - vertex 10.9123 -34.3507 -0.2 - vertex 11.016 -34.3915 0 - vertex 10.9123 -34.3507 0 + vertex 10.519 -36.9119 -3 + vertex 9.92719 -37.0575 0 + vertex 10.519 -36.9119 0 endloop endfacet - facet normal -0.366659 -0.930355 -0 + facet normal -0.238946 0.971033 0 outer loop - vertex 11.016 -34.3915 0 - vertex 10.9123 -34.3507 -0.2 - vertex 11.016 -34.3915 -0.2 + vertex 9.92719 -37.0575 0 + vertex 10.519 -36.9119 -3 + vertex 9.92719 -37.0575 -3 endloop endfacet - facet normal -0.197016 -0.9804 0 + facet normal -0.276943 0.960886 0 outer loop - vertex 11.016 -34.3915 -0.2 - vertex 11.143 -34.4171 0 - vertex 11.016 -34.3915 0 + vertex 9.92719 -37.0575 -3 + vertex 8.47177 -37.477 0 + vertex 9.92719 -37.0575 0 endloop endfacet - facet normal -0.197016 -0.9804 -0 + facet normal -0.276943 0.960886 0 outer loop - vertex 11.143 -34.4171 0 - vertex 11.016 -34.3915 -0.2 - vertex 11.143 -34.4171 -0.2 + vertex 8.47177 -37.477 0 + vertex 9.92719 -37.0575 -3 + vertex 8.47177 -37.477 -3 endloop endfacet - facet normal -0.0562764 -0.998415 0 + facet normal -0.302213 0.95324 0 outer loop - vertex 11.143 -34.4171 -0.2 - vertex 11.4668 -34.4353 0 - vertex 11.143 -34.4171 0 + vertex 8.47177 -37.477 -3 + vertex 5.33583 -38.4712 0 + vertex 8.47177 -37.477 0 endloop endfacet - facet normal -0.0562764 -0.998415 -0 + facet normal -0.302213 0.95324 0 outer loop - vertex 11.4668 -34.4353 0 - vertex 11.143 -34.4171 -0.2 - vertex 11.4668 -34.4353 -0.2 + vertex 5.33583 -38.4712 0 + vertex 8.47177 -37.477 -3 + vertex 5.33583 -38.4712 -3 endloop endfacet - facet normal -0.118118 -0.993 0 + facet normal 0.267926 0.96344 -0 outer loop - vertex 11.4668 -34.4353 -0.2 - vertex 11.6919 -34.4621 0 - vertex 11.4668 -34.4353 0 + vertex 5.33583 -38.4712 -3 + vertex 4.84381 -38.3343 0 + vertex 5.33583 -38.4712 0 endloop endfacet - facet normal -0.118118 -0.993 -0 + facet normal 0.267926 0.96344 0 outer loop - vertex 11.6919 -34.4621 0 - vertex 11.4668 -34.4353 -0.2 - vertex 11.6919 -34.4621 -0.2 + vertex 4.84381 -38.3343 0 + vertex 5.33583 -38.4712 -3 + vertex 4.84381 -38.3343 -3 endloop endfacet - facet normal -0.357337 -0.933976 0 + facet normal 0.979739 0.200279 0 outer loop - vertex 11.6919 -34.4621 -0.2 - vertex 11.8827 -34.5351 0 - vertex 11.6919 -34.4621 0 + vertex 4.84381 -38.3343 0 + vertex 4.73542 -37.8041 -3 + vertex 4.73542 -37.8041 0 endloop endfacet - facet normal -0.357337 -0.933976 -0 + facet normal 0.979739 0.200279 0 outer loop - vertex 11.8827 -34.5351 0 - vertex 11.6919 -34.4621 -0.2 - vertex 11.8827 -34.5351 -0.2 + vertex 4.73542 -37.8041 -3 + vertex 4.84381 -38.3343 0 + vertex 4.84381 -38.3343 -3 endloop endfacet - facet normal -0.596054 -0.802944 0 + facet normal 0.985121 0.171864 0 outer loop - vertex 11.8827 -34.5351 -0.2 - vertex 12.0364 -34.6492 0 - vertex 11.8827 -34.5351 0 + vertex 4.73542 -37.8041 0 + vertex 4.64415 -37.2809 -3 + vertex 4.64415 -37.2809 0 endloop endfacet - facet normal -0.596054 -0.802944 -0 + facet normal 0.985121 0.171864 0 outer loop - vertex 12.0364 -34.6492 0 - vertex 11.8827 -34.5351 -0.2 - vertex 12.0364 -34.6492 -0.2 + vertex 4.64415 -37.2809 -3 + vertex 4.73542 -37.8041 0 + vertex 4.73542 -37.8041 -3 endloop endfacet - facet normal -0.796902 -0.604109 0 + facet normal -0.43 0.902829 0 outer loop - vertex 12.1503 -34.7994 -0.2 - vertex 12.0364 -34.6492 0 - vertex 12.0364 -34.6492 -0.2 + vertex 4.64415 -37.2809 -3 + vertex 3.43985 -37.8545 0 + vertex 4.64415 -37.2809 0 endloop endfacet - facet normal -0.796902 -0.604109 0 + facet normal -0.43 0.902829 0 outer loop - vertex 12.0364 -34.6492 0 - vertex 12.1503 -34.7994 -0.2 - vertex 12.1503 -34.7994 0 + vertex 3.43985 -37.8545 0 + vertex 4.64415 -37.2809 -3 + vertex 3.43985 -37.8545 -3 endloop endfacet - facet normal -0.930863 -0.365367 0 + facet normal -0.338512 0.940962 0 outer loop - vertex 12.2214 -34.9805 -0.2 - vertex 12.1503 -34.7994 0 - vertex 12.1503 -34.7994 -0.2 + vertex 3.43985 -37.8545 -3 + vertex 2.31266 -38.26 0 + vertex 3.43985 -37.8545 0 endloop endfacet - facet normal -0.930863 -0.365367 0 + facet normal -0.338512 0.940962 0 outer loop - vertex 12.1503 -34.7994 0 - vertex 12.2214 -34.9805 -0.2 - vertex 12.2214 -34.9805 0 + vertex 2.31266 -38.26 0 + vertex 3.43985 -37.8545 -3 + vertex 2.31266 -38.26 -3 endloop endfacet - facet normal -0.992505 -0.122206 0 + facet normal -0.172368 0.985033 0 outer loop - vertex 12.2468 -35.1875 -0.2 - vertex 12.2214 -34.9805 0 - vertex 12.2214 -34.9805 -0.2 + vertex 2.31266 -38.26 -3 + vertex 0.962702 -38.4962 0 + vertex 2.31266 -38.26 0 endloop endfacet - facet normal -0.992505 -0.122206 0 + facet normal -0.172368 0.985033 0 outer loop - vertex 12.2214 -34.9805 0 - vertex 12.2468 -35.1875 -0.2 - vertex 12.2468 -35.1875 0 + vertex 0.962702 -38.4962 0 + vertex 2.31266 -38.26 -3 + vertex 0.962702 -38.4962 -3 endloop endfacet - facet normal -0.994949 0.100386 0 + facet normal -0.0313759 0.999508 0 outer loop - vertex 12.2239 -35.4151 -0.2 - vertex 12.2468 -35.1875 0 - vertex 12.2468 -35.1875 -0.2 + vertex 0.962702 -38.4962 -3 + vertex -0.366978 -38.538 0 + vertex 0.962702 -38.4962 0 endloop endfacet - facet normal -0.994949 0.100386 0 + facet normal -0.0313759 0.999508 0 outer loop - vertex 12.2468 -35.1875 0 - vertex 12.2239 -35.4151 -0.2 - vertex 12.2239 -35.4151 0 + vertex -0.366978 -38.538 0 + vertex 0.962702 -38.4962 -3 + vertex -0.366978 -38.538 -3 endloop endfacet - facet normal -0.956433 0.291953 0 + facet normal 0.16461 0.986359 -0 outer loop - vertex 12.1496 -35.6584 -0.2 - vertex 12.2239 -35.4151 0 - vertex 12.2239 -35.4151 -0.2 + vertex -0.366978 -38.538 -3 + vertex -1.43333 -38.36 0 + vertex -0.366978 -38.538 0 endloop endfacet - facet normal -0.956433 0.291953 0 + facet normal 0.16461 0.986359 0 outer loop - vertex 12.2239 -35.4151 0 - vertex 12.1496 -35.6584 -0.2 - vertex 12.1496 -35.6584 0 + vertex -1.43333 -38.36 0 + vertex -0.366978 -38.538 -3 + vertex -1.43333 -38.36 -3 endloop endfacet - facet normal -0.890412 0.455156 0 + facet normal 0.535641 0.844446 -0 outer loop - vertex 12.0956 -35.7642 -0.2 - vertex 12.1496 -35.6584 0 - vertex 12.1496 -35.6584 -0.2 + vertex -1.43333 -38.36 -3 + vertex -2.45619 -37.7112 0 + vertex -1.43333 -38.36 0 endloop endfacet - facet normal -0.890412 0.455156 0 + facet normal 0.535641 0.844446 0 outer loop - vertex 12.1496 -35.6584 0 - vertex 12.0956 -35.7642 -0.2 - vertex 12.0956 -35.7642 0 + vertex -2.45619 -37.7112 0 + vertex -1.43333 -38.36 -3 + vertex -2.45619 -37.7112 -3 endloop endfacet - facet normal -0.820093 0.572231 0 + facet normal 0.80363 0.595129 0 outer loop - vertex 12.0181 -35.8752 -0.2 - vertex 12.0956 -35.7642 0 - vertex 12.0956 -35.7642 -0.2 + vertex -2.45619 -37.7112 0 + vertex -3.26834 -36.6145 -3 + vertex -3.26834 -36.6145 0 endloop endfacet - facet normal -0.820093 0.572231 0 + facet normal 0.80363 0.595129 0 outer loop - vertex 12.0956 -35.7642 0 - vertex 12.0181 -35.8752 -0.2 - vertex 12.0181 -35.8752 0 + vertex -3.26834 -36.6145 -3 + vertex -2.45619 -37.7112 0 + vertex -2.45619 -37.7112 -3 endloop endfacet - facet normal -0.732832 0.680409 0 + facet normal 0.935783 0.352578 0 outer loop - vertex 11.8034 -36.1064 -0.2 - vertex 12.0181 -35.8752 0 - vertex 12.0181 -35.8752 -0.2 + vertex -3.26834 -36.6145 0 + vertex -3.80393 -35.193 -3 + vertex -3.80393 -35.193 0 endloop endfacet - facet normal -0.732832 0.680409 0 + facet normal 0.935783 0.352578 0 outer loop - vertex 12.0181 -35.8752 0 - vertex 11.8034 -36.1064 -0.2 - vertex 11.8034 -36.1064 0 + vertex -3.80393 -35.193 -3 + vertex -3.26834 -36.6145 0 + vertex -3.26834 -36.6145 -3 endloop endfacet - facet normal -0.642938 0.765918 0 + facet normal 0.992994 0.118162 0 outer loop - vertex 11.8034 -36.1064 -0.2 - vertex 11.5264 -36.339 0 - vertex 11.8034 -36.1064 0 + vertex -3.80393 -35.193 0 + vertex -3.99709 -33.5697 -3 + vertex -3.99709 -33.5697 0 endloop endfacet - facet normal -0.642938 0.765918 0 + facet normal 0.992994 0.118162 0 outer loop - vertex 11.5264 -36.339 0 - vertex 11.8034 -36.1064 -0.2 - vertex 11.5264 -36.339 -0.2 + vertex -3.99709 -33.5697 -3 + vertex -3.80393 -35.193 0 + vertex -3.80393 -35.193 -3 endloop endfacet - facet normal -0.569468 0.822014 0 + facet normal 0.988913 -0.148494 0 outer loop - vertex 11.5264 -36.339 -0.2 - vertex 11.208 -36.5595 0 - vertex 11.5264 -36.339 0 + vertex -3.99709 -33.5697 0 + vertex -3.7659 -32.0301 -3 + vertex -3.7659 -32.0301 0 endloop endfacet - facet normal -0.569468 0.822014 0 + facet normal 0.988913 -0.148494 0 outer loop - vertex 11.208 -36.5595 0 - vertex 11.5264 -36.339 -0.2 - vertex 11.208 -36.5595 -0.2 + vertex -3.7659 -32.0301 -3 + vertex -3.99709 -33.5697 0 + vertex -3.99709 -33.5697 -3 endloop endfacet - facet normal -0.499497 0.866315 0 + facet normal 0.953123 -0.302584 0 outer loop - vertex 11.208 -36.5595 -0.2 - vertex 10.8691 -36.7549 0 - vertex 11.208 -36.5595 0 + vertex -3.7659 -32.0301 0 + vertex -3.14673 -30.0798 -3 + vertex -3.14673 -30.0798 0 endloop endfacet - facet normal -0.499497 0.866315 0 + facet normal 0.953123 -0.302584 0 outer loop - vertex 10.8691 -36.7549 0 - vertex 11.208 -36.5595 -0.2 - vertex 10.8691 -36.7549 -0.2 + vertex -3.14673 -30.0798 -3 + vertex -3.7659 -32.0301 0 + vertex -3.7659 -32.0301 -3 endloop endfacet - facet normal -0.420709 0.907196 0 + facet normal 0.917453 -0.397844 0 outer loop - vertex 10.8691 -36.7549 -0.2 - vertex 10.5307 -36.9119 0 - vertex 10.8691 -36.7549 0 + vertex -3.14673 -30.0798 0 + vertex -2.25121 -28.0146 -3 + vertex -2.25121 -28.0146 0 endloop endfacet - facet normal -0.420709 0.907196 0 + facet normal 0.917453 -0.397844 0 outer loop - vertex 10.5307 -36.9119 0 - vertex 10.8691 -36.7549 -0.2 - vertex 10.5307 -36.9119 -0.2 + vertex -2.25121 -28.0146 -3 + vertex -3.14673 -30.0798 0 + vertex -3.14673 -30.0798 -3 endloop endfacet - facet normal -0.315116 0.949053 0 + facet normal 0.871478 -0.490435 0 outer loop - vertex 10.5307 -36.9119 -0.2 - vertex 10.2137 -37.0171 0 - vertex 10.5307 -36.9119 0 + vertex -2.25121 -28.0146 0 + vertex -1.19093 -26.1306 -3 + vertex -1.19093 -26.1306 0 endloop endfacet - facet normal -0.315116 0.949053 0 + facet normal 0.871478 -0.490435 0 outer loop - vertex 10.2137 -37.0171 0 - vertex 10.5307 -36.9119 -0.2 - vertex 10.2137 -37.0171 -0.2 + vertex -1.19093 -26.1306 -3 + vertex -2.25121 -28.0146 0 + vertex -2.25121 -28.0146 -3 endloop endfacet - facet normal -0.145343 0.989381 0 + facet normal 0.794031 -0.607877 0 outer loop - vertex 10.2137 -37.0171 -0.2 - vertex 9.93892 -37.0575 0 - vertex 10.2137 -37.0171 0 + vertex -1.19093 -26.1306 0 + vertex 0.168338 -24.355 -3 + vertex 0.168338 -24.355 0 endloop endfacet - facet normal -0.145343 0.989381 0 + facet normal 0.794031 -0.607877 0 outer loop - vertex 9.93892 -37.0575 0 - vertex 10.2137 -37.0171 -0.2 - vertex 9.93892 -37.0575 -0.2 + vertex 0.168338 -24.355 -3 + vertex -1.19093 -26.1306 0 + vertex -1.19093 -26.1306 -3 endloop endfacet - facet normal -0.15554 0.98783 0 + facet normal 0.710709 -0.703486 0 outer loop - vertex 9.93892 -37.0575 -0.2 - vertex 9.71926 -37.0921 0 - vertex 9.93892 -37.0575 0 + vertex 0.168338 -24.355 0 + vertex 1.84511 -22.661 -3 + vertex 1.84511 -22.661 0 endloop endfacet - facet normal -0.15554 0.98783 0 + facet normal 0.710709 -0.703486 0 outer loop - vertex 9.71926 -37.0921 0 - vertex 9.93892 -37.0575 -0.2 - vertex 9.71926 -37.0921 -0.2 + vertex 1.84511 -22.661 -3 + vertex 0.168338 -24.355 0 + vertex 0.168338 -24.355 -3 endloop endfacet - facet normal -0.252236 0.967666 0 + facet normal 0.626061 -0.779774 0 outer loop - vertex 9.71926 -37.0921 -0.2 - vertex 9.37163 -37.1827 0 - vertex 9.71926 -37.0921 0 + vertex 1.84511 -22.661 -3 + vertex 3.72385 -21.1527 0 + vertex 1.84511 -22.661 0 endloop endfacet - facet normal -0.252236 0.967666 0 + facet normal 0.626061 -0.779774 0 outer loop - vertex 9.37163 -37.1827 0 - vertex 9.71926 -37.0921 -0.2 - vertex 9.37163 -37.1827 -0.2 + vertex 3.72385 -21.1527 0 + vertex 1.84511 -22.661 -3 + vertex 3.72385 -21.1527 -3 endloop endfacet - facet normal -0.296619 0.954996 0 + facet normal 0.527042 -0.849839 0 outer loop - vertex 9.37163 -37.1827 -0.2 - vertex 8.94379 -37.3156 0 - vertex 9.37163 -37.1827 0 + vertex 3.72385 -21.1527 -3 + vertex 5.689 -19.9339 0 + vertex 3.72385 -21.1527 0 endloop endfacet - facet normal -0.296619 0.954996 0 + facet normal 0.527042 -0.849839 0 outer loop - vertex 8.94379 -37.3156 0 - vertex 9.37163 -37.1827 -0.2 - vertex 8.94379 -37.3156 -0.2 + vertex 5.689 -19.9339 0 + vertex 3.72385 -21.1527 -3 + vertex 5.689 -19.9339 -3 endloop endfacet - facet normal -0.330869 0.943677 0 + facet normal 0.380142 -0.924928 0 outer loop - vertex 8.94379 -37.3156 -0.2 - vertex 8.4835 -37.477 0 - vertex 8.94379 -37.3156 0 + vertex 5.689 -19.9339 -3 + vertex 7.06268 -19.3694 0 + vertex 5.689 -19.9339 0 endloop endfacet - facet normal -0.330869 0.943677 0 + facet normal 0.380142 -0.924928 0 outer loop - vertex 8.4835 -37.477 0 - vertex 8.94379 -37.3156 -0.2 - vertex 8.4835 -37.477 -0.2 + vertex 7.06268 -19.3694 0 + vertex 5.689 -19.9339 -3 + vertex 7.06268 -19.3694 -3 endloop endfacet - facet normal -0.343608 0.939113 0 + facet normal 0.11624 -0.993221 0 outer loop - vertex 8.4835 -37.477 -0.2 - vertex 7.35232 -37.8908 0 - vertex 8.4835 -37.477 0 + vertex 7.06268 -19.3694 -3 + vertex 8.75581 -19.1712 0 + vertex 7.06268 -19.3694 0 endloop endfacet - facet normal -0.343608 0.939113 0 + facet normal 0.11624 -0.993221 0 outer loop - vertex 7.35232 -37.8908 0 - vertex 8.4835 -37.477 -0.2 - vertex 7.35232 -37.8908 -0.2 + vertex 8.75581 -19.1712 0 + vertex 7.06268 -19.3694 -3 + vertex 8.75581 -19.1712 -3 endloop endfacet - facet normal -0.324819 0.945776 0 + facet normal -0.00391511 -0.999992 0 outer loop - vertex 7.35232 -37.8908 -0.2 - vertex 6.47346 -38.1927 0 - vertex 7.35232 -37.8908 0 + vertex 8.75581 -19.1712 -3 + vertex 10.3474 -19.1774 0 + vertex 8.75581 -19.1712 0 endloop endfacet - facet normal -0.324819 0.945776 0 + facet normal -0.00391511 -0.999992 -0 outer loop - vertex 6.47346 -38.1927 0 - vertex 7.35232 -37.8908 -0.2 - vertex 6.47346 -38.1927 -0.2 + vertex 10.3474 -19.1774 0 + vertex 8.75581 -19.1712 -3 + vertex 10.3474 -19.1774 -3 endloop endfacet - facet normal -0.280895 0.959739 0 + facet normal -0.375648 -0.926763 0 outer loop - vertex 6.47346 -38.1927 -0.2 - vertex 5.81563 -38.3852 0 - vertex 6.47346 -38.1927 0 + vertex 10.3474 -19.1774 -3 + vertex 11.2177 -19.5302 0 + vertex 10.3474 -19.1774 0 endloop endfacet - facet normal -0.280895 0.959739 0 + facet normal -0.375648 -0.926763 -0 outer loop - vertex 5.81563 -38.3852 0 - vertex 6.47346 -38.1927 -0.2 - vertex 5.81563 -38.3852 -0.2 + vertex 11.2177 -19.5302 0 + vertex 10.3474 -19.1774 -3 + vertex 11.2177 -19.5302 -3 endloop endfacet - facet normal -0.214328 0.976762 0 + facet normal -0.460444 -0.887689 0 outer loop - vertex 5.81563 -38.3852 -0.2 - vertex 5.55983 -38.4413 0 - vertex 5.81563 -38.3852 0 + vertex 11.2177 -19.5302 -3 + vertex 11.7785 -19.8211 0 + vertex 11.2177 -19.5302 0 endloop endfacet - facet normal -0.214328 0.976762 0 + facet normal -0.460444 -0.887689 -0 outer loop - vertex 5.55983 -38.4413 0 - vertex 5.81563 -38.3852 -0.2 - vertex 5.55983 -38.4413 -0.2 + vertex 11.7785 -19.8211 0 + vertex 11.2177 -19.5302 -3 + vertex 11.7785 -19.8211 -3 endloop endfacet - facet normal -0.139165 0.990269 0 + facet normal 0.340288 -0.940321 0 outer loop - vertex 5.55983 -38.4413 -0.2 - vertex 5.34756 -38.4712 0 - vertex 5.55983 -38.4413 0 + vertex 11.7785 -19.8211 -3 + vertex 12.058 -19.7199 0 + vertex 11.7785 -19.8211 0 endloop endfacet - facet normal -0.139165 0.990269 0 + facet normal 0.340288 -0.940321 0 outer loop - vertex 5.34756 -38.4712 0 - vertex 5.55983 -38.4413 -0.2 - vertex 5.34756 -38.4712 -0.2 + vertex 12.058 -19.7199 0 + vertex 11.7785 -19.8211 -3 + vertex 12.058 -19.7199 -3 endloop endfacet - facet normal -0.0224422 0.999748 0 + facet normal 0.919444 -0.393221 0 outer loop - vertex 5.34756 -38.4712 -0.2 - vertex 5.17491 -38.475 0 - vertex 5.34756 -38.4712 0 + vertex 12.058 -19.7199 0 + vertex 13.2867 -16.8469 -3 + vertex 13.2867 -16.8469 0 endloop endfacet - facet normal -0.0224422 0.999748 0 + facet normal 0.919444 -0.393221 0 outer loop - vertex 5.17491 -38.475 0 - vertex 5.34756 -38.4712 -0.2 - vertex 5.17491 -38.475 -0.2 + vertex 13.2867 -16.8469 -3 + vertex 12.058 -19.7199 0 + vertex 12.058 -19.7199 -3 endloop endfacet - facet normal 0.156812 0.987628 -0 + facet normal 0.948333 -0.317278 0 outer loop - vertex 5.17491 -38.475 -0.2 - vertex 5.03796 -38.4533 0 - vertex 5.17491 -38.475 0 + vertex 13.2867 -16.8469 0 + vertex 14.1246 -14.3424 -3 + vertex 14.1246 -14.3424 0 endloop endfacet - facet normal 0.156812 0.987628 0 + facet normal 0.948333 -0.317278 0 outer loop - vertex 5.03796 -38.4533 0 - vertex 5.17491 -38.475 -0.2 - vertex 5.03796 -38.4533 -0.2 + vertex 14.1246 -14.3424 -3 + vertex 13.2867 -16.8469 0 + vertex 13.2867 -16.8469 -3 endloop endfacet - facet normal 0.408161 0.91291 -0 + facet normal 0.170025 0.98544 -0 outer loop - vertex 5.03796 -38.4533 -0.2 - vertex 4.93281 -38.4063 0 - vertex 5.03796 -38.4533 0 + vertex 14.1246 -14.3424 -3 + vertex 12.858 -14.1239 0 + vertex 14.1246 -14.3424 0 endloop endfacet - facet normal 0.408161 0.91291 0 + facet normal 0.170025 0.98544 0 outer loop - vertex 4.93281 -38.4063 0 - vertex 5.03796 -38.4533 -0.2 - vertex 4.93281 -38.4063 -0.2 + vertex 12.858 -14.1239 0 + vertex 14.1246 -14.3424 -3 + vertex 12.858 -14.1239 -3 endloop endfacet - facet normal 0.681473 0.731843 -0 + facet normal 0.649749 0.760149 -0 outer loop - vertex 4.93281 -38.4063 -0.2 - vertex 4.85555 -38.3343 0 - vertex 4.93281 -38.4063 0 + vertex 12.858 -14.1239 -3 + vertex 12.417 -13.7469 0 + vertex 12.858 -14.1239 0 endloop endfacet - facet normal 0.681473 0.731843 0 + facet normal 0.649749 0.760149 0 outer loop - vertex 4.85555 -38.3343 0 - vertex 4.93281 -38.4063 -0.2 - vertex 4.85555 -38.3343 -0.2 + vertex 12.417 -13.7469 0 + vertex 12.858 -14.1239 -3 + vertex 12.417 -13.7469 -3 endloop endfacet - facet normal 0.875472 0.48327 0 + facet normal 0.999788 0.0206018 0 outer loop - vertex 4.85555 -38.3343 0 - vertex 4.80226 -38.2378 -0.2 - vertex 4.80226 -38.2378 0 + vertex 12.417 -13.7469 0 + vertex 12.4073 -13.2773 -3 + vertex 12.4073 -13.2773 0 endloop endfacet - facet normal 0.875472 0.48327 0 + facet normal 0.999788 0.0206018 0 outer loop - vertex 4.80226 -38.2378 -0.2 - vertex 4.85555 -38.3343 0 - vertex 4.85555 -38.3343 -0.2 + vertex 12.4073 -13.2773 -3 + vertex 12.417 -13.7469 0 + vertex 12.417 -13.7469 -3 endloop endfacet - facet normal 0.964192 0.265205 0 + facet normal 0.884204 -0.467101 0 outer loop - vertex 4.80226 -38.2378 0 - vertex 4.76904 -38.117 -0.2 - vertex 4.76904 -38.117 0 + vertex 12.4073 -13.2773 0 + vertex 12.6527 -12.8127 -3 + vertex 12.6527 -12.8127 0 endloop endfacet - facet normal 0.964192 0.265205 0 + facet normal 0.884204 -0.467101 0 outer loop - vertex 4.76904 -38.117 -0.2 - vertex 4.80226 -38.2378 0 - vertex 4.80226 -38.2378 -0.2 + vertex 12.6527 -12.8127 -3 + vertex 12.4073 -13.2773 0 + vertex 12.4073 -13.2773 -3 endloop endfacet - facet normal 0.997564 0.069762 0 + facet normal 0.661795 -0.749685 0 outer loop - vertex 4.76904 -38.117 0 - vertex 4.74716 -37.8041 -0.2 - vertex 4.74716 -37.8041 0 + vertex 12.6527 -12.8127 -3 + vertex 13.1035 -12.4147 0 + vertex 12.6527 -12.8127 0 endloop endfacet - facet normal 0.997564 0.069762 0 + facet normal 0.661795 -0.749685 0 outer loop - vertex 4.74716 -37.8041 -0.2 - vertex 4.76904 -38.117 0 - vertex 4.76904 -38.117 -0.2 + vertex 13.1035 -12.4147 0 + vertex 12.6527 -12.8127 -3 + vertex 13.1035 -12.4147 -3 endloop endfacet - facet normal 0.997378 0.0723715 0 + facet normal 0.406349 -0.913718 0 outer loop - vertex 4.74716 -37.8041 0 - vertex 4.72035 -37.4346 -0.2 - vertex 4.72035 -37.4346 0 + vertex 13.1035 -12.4147 -3 + vertex 13.71 -12.1451 0 + vertex 13.1035 -12.4147 0 endloop endfacet - facet normal 0.997378 0.0723715 0 + facet normal 0.406349 -0.913718 0 outer loop - vertex 4.72035 -37.4346 -0.2 - vertex 4.74716 -37.8041 0 - vertex 4.74716 -37.8041 -0.2 + vertex 13.71 -12.1451 0 + vertex 13.1035 -12.4147 -3 + vertex 13.71 -12.1451 -3 endloop endfacet - facet normal 0.968245 0.250005 0 + facet normal 0.283559 -0.958955 0 outer loop - vertex 4.72035 -37.4346 0 - vertex 4.69132 -37.3222 -0.2 - vertex 4.69132 -37.3222 0 + vertex 13.71 -12.1451 -3 + vertex 16.7993 -11.2316 0 + vertex 13.71 -12.1451 0 endloop endfacet - facet normal 0.968245 0.250005 0 + facet normal 0.283559 -0.958955 0 outer loop - vertex 4.69132 -37.3222 -0.2 - vertex 4.72035 -37.4346 0 - vertex 4.72035 -37.4346 -0.2 + vertex 16.7993 -11.2316 0 + vertex 13.71 -12.1451 -3 + vertex 16.7993 -11.2316 -3 endloop endfacet - facet normal 0.758745 0.651387 0 + facet normal 0.227026 -0.973889 0 outer loop - vertex 4.69132 -37.3222 0 - vertex 4.65588 -37.2809 -0.2 - vertex 4.65588 -37.2809 0 + vertex 16.7993 -11.2316 -3 + vertex 19.0845 -10.6988 0 + vertex 16.7993 -11.2316 0 endloop endfacet - facet normal 0.758745 0.651387 0 + facet normal 0.227026 -0.973889 0 outer loop - vertex 4.65588 -37.2809 -0.2 - vertex 4.69132 -37.3222 0 - vertex 4.69132 -37.3222 -0.2 + vertex 19.0845 -10.6988 0 + vertex 16.7993 -11.2316 -3 + vertex 19.0845 -10.6988 -3 endloop endfacet - facet normal -0.395389 0.918514 0 + facet normal -0.20555 -0.978647 0 outer loop - vertex 4.65588 -37.2809 -0.2 - vertex 4.26446 -37.4494 0 - vertex 4.65588 -37.2809 0 + vertex 19.0845 -10.6988 -3 + vertex 19.5452 -10.7956 0 + vertex 19.0845 -10.6988 0 endloop endfacet - facet normal -0.395389 0.918514 0 + facet normal -0.20555 -0.978647 -0 outer loop - vertex 4.26446 -37.4494 0 - vertex 4.65588 -37.2809 -0.2 - vertex 4.26446 -37.4494 -0.2 + vertex 19.5452 -10.7956 0 + vertex 19.0845 -10.6988 -3 + vertex 19.5452 -10.7956 -3 endloop endfacet - facet normal -0.446029 0.895018 0 + facet normal -0.339851 0.940479 0 outer loop - vertex 4.26446 -37.4494 -0.2 - vertex 3.45158 -37.8545 0 - vertex 4.26446 -37.4494 0 + vertex 7.70773 -21.5983 -3 + vertex 6.85097 -21.9079 0 + vertex 7.70773 -21.5983 0 endloop endfacet - facet normal -0.446029 0.895018 0 + facet normal -0.339851 0.940479 0 outer loop - vertex 3.45158 -37.8545 0 - vertex 4.26446 -37.4494 -0.2 - vertex 3.45158 -37.8545 -0.2 + vertex 6.85097 -21.9079 0 + vertex 7.70773 -21.5983 -3 + vertex 6.85097 -21.9079 -3 endloop endfacet - facet normal -0.42381 0.905751 0 + facet normal -0.514575 0.857445 0 outer loop - vertex 3.45158 -37.8545 -0.2 - vertex 3.20396 -37.9704 0 - vertex 3.45158 -37.8545 0 + vertex 6.85097 -21.9079 -3 + vertex 5.96068 -22.4422 0 + vertex 6.85097 -21.9079 0 endloop endfacet - facet normal -0.42381 0.905751 0 + facet normal -0.514575 0.857445 0 outer loop - vertex 3.20396 -37.9704 0 - vertex 3.45158 -37.8545 -0.2 - vertex 3.20396 -37.9704 -0.2 + vertex 5.96068 -22.4422 0 + vertex 6.85097 -21.9079 -3 + vertex 5.96068 -22.4422 -3 endloop endfacet - facet normal -0.363414 0.931628 0 + facet normal -0.651148 0.758951 0 outer loop - vertex 3.20396 -37.9704 -0.2 - vertex 2.93102 -38.0768 0 - vertex 3.20396 -37.9704 0 + vertex 5.96068 -22.4422 -3 + vertex 5.07455 -23.2024 0 + vertex 5.96068 -22.4422 0 endloop endfacet - facet normal -0.363414 0.931628 0 + facet normal -0.651148 0.758951 0 outer loop - vertex 2.93102 -38.0768 0 - vertex 3.20396 -37.9704 -0.2 - vertex 2.93102 -38.0768 -0.2 + vertex 5.07455 -23.2024 0 + vertex 5.96068 -22.4422 -3 + vertex 5.07455 -23.2024 -3 endloop endfacet - facet normal -0.289057 0.957312 0 + facet normal -0.756285 0.654243 0 outer loop - vertex 2.93102 -38.0768 -0.2 - vertex 2.32439 -38.26 0 - vertex 2.93102 -38.0768 0 + vertex 3.84714 -24.6213 -3 + vertex 5.07455 -23.2024 0 + vertex 5.07455 -23.2024 -3 endloop endfacet - facet normal -0.289057 0.957312 0 + facet normal -0.756285 0.654243 0 outer loop - vertex 2.32439 -38.26 0 - vertex 2.93102 -38.0768 -0.2 - vertex 2.32439 -38.26 -0.2 + vertex 5.07455 -23.2024 0 + vertex 3.84714 -24.6213 -3 + vertex 3.84714 -24.6213 0 endloop endfacet - facet normal -0.208009 0.978127 0 + facet normal -0.833253 0.552891 0 outer loop - vertex 2.32439 -38.26 -0.2 - vertex 1.66207 -38.4009 0 - vertex 2.32439 -38.26 0 + vertex 2.80055 -26.1986 -3 + vertex 3.84714 -24.6213 0 + vertex 3.84714 -24.6213 -3 endloop endfacet - facet normal -0.208009 0.978127 0 + facet normal -0.833253 0.552891 0 outer loop - vertex 1.66207 -38.4009 0 - vertex 2.32439 -38.26 -0.2 - vertex 1.66207 -38.4009 -0.2 + vertex 3.84714 -24.6213 0 + vertex 2.80055 -26.1986 -3 + vertex 2.80055 -26.1986 0 endloop endfacet - facet normal -0.13739 0.990517 0 + facet normal -0.891463 0.453094 0 outer loop - vertex 1.66207 -38.4009 -0.2 - vertex 0.974434 -38.4962 0 - vertex 1.66207 -38.4009 0 + vertex 1.95873 -27.8549 -3 + vertex 2.80055 -26.1986 0 + vertex 2.80055 -26.1986 -3 endloop endfacet - facet normal -0.13739 0.990517 0 + facet normal -0.891463 0.453094 0 outer loop - vertex 0.974434 -38.4962 0 - vertex 1.66207 -38.4009 -0.2 - vertex 0.974434 -38.4962 -0.2 + vertex 2.80055 -26.1986 0 + vertex 1.95873 -27.8549 -3 + vertex 1.95873 -27.8549 0 endloop endfacet - facet normal -0.0683412 0.997662 0 + facet normal -0.937776 0.347241 0 outer loop - vertex 0.974434 -38.4962 -0.2 - vertex 0.291868 -38.543 0 - vertex 0.974434 -38.4962 0 + vertex 1.3456 -29.5107 -3 + vertex 1.95873 -27.8549 0 + vertex 1.95873 -27.8549 -3 endloop endfacet - facet normal -0.0683412 0.997662 0 + facet normal -0.937776 0.347241 0 outer loop - vertex 0.291868 -38.543 0 - vertex 0.974434 -38.4962 -0.2 - vertex 0.291868 -38.543 -0.2 + vertex 1.95873 -27.8549 0 + vertex 1.3456 -29.5107 -3 + vertex 1.3456 -29.5107 0 endloop endfacet - facet normal 0.00775161 0.99997 -0 + facet normal -0.97482 0.222992 0 outer loop - vertex 0.291868 -38.543 -0.2 - vertex -0.355246 -38.538 0 - vertex 0.291868 -38.543 0 + vertex 0.985088 -31.0867 -3 + vertex 1.3456 -29.5107 0 + vertex 1.3456 -29.5107 -3 endloop endfacet - facet normal 0.00775161 0.99997 0 + facet normal -0.97482 0.222992 0 outer loop - vertex -0.355246 -38.538 0 - vertex 0.291868 -38.543 -0.2 - vertex -0.355246 -38.538 -0.2 + vertex 1.3456 -29.5107 0 + vertex 0.985088 -31.0867 -3 + vertex 0.985088 -31.0867 0 endloop endfacet - facet normal 0.10258 0.994725 -0 + facet normal -0.998249 0.0591584 0 outer loop - vertex -0.355246 -38.538 -0.2 - vertex -0.936529 -38.478 0 - vertex -0.355246 -38.538 0 + vertex 0.901133 -32.5034 -3 + vertex 0.985088 -31.0867 0 + vertex 0.985088 -31.0867 -3 endloop endfacet - facet normal 0.10258 0.994725 0 + facet normal -0.998249 0.0591584 0 outer loop - vertex -0.936529 -38.478 0 - vertex -0.355246 -38.538 -0.2 - vertex -0.936529 -38.478 -0.2 + vertex 0.985088 -31.0867 0 + vertex 0.901133 -32.5034 -3 + vertex 0.901133 -32.5034 0 endloop endfacet - facet normal 0.197071 0.980389 -0 + facet normal -0.983521 -0.180795 0 outer loop - vertex -0.936529 -38.478 -0.2 - vertex -1.19299 -38.4265 0 - vertex -0.936529 -38.478 0 + vertex 1.11766 -33.6813 -3 + vertex 0.901133 -32.5034 0 + vertex 0.901133 -32.5034 -3 endloop endfacet - facet normal 0.197071 0.980389 0 + facet normal -0.983521 -0.180795 0 outer loop - vertex -1.19299 -38.4265 0 - vertex -0.936529 -38.478 -0.2 - vertex -1.19299 -38.4265 -0.2 + vertex 0.901133 -32.5034 0 + vertex 1.11766 -33.6813 -3 + vertex 1.11766 -33.6813 0 endloop endfacet - facet normal 0.279186 0.960237 -0 + facet normal -0.846397 -0.532553 0 outer loop - vertex -1.19299 -38.4265 -0.2 - vertex -1.4216 -38.36 0 - vertex -1.19299 -38.4265 0 + vertex 1.65861 -34.5411 -3 + vertex 1.11766 -33.6813 0 + vertex 1.11766 -33.6813 -3 endloop endfacet - facet normal 0.279186 0.960237 0 + facet normal -0.846397 -0.532553 0 outer loop - vertex -1.4216 -38.36 0 - vertex -1.19299 -38.4265 -0.2 - vertex -1.4216 -38.36 -0.2 + vertex 1.11766 -33.6813 0 + vertex 1.65861 -34.5411 -3 + vertex 1.65861 -34.5411 0 endloop endfacet - facet normal 0.385209 0.92283 -0 + facet normal -0.511641 -0.859199 0 outer loop - vertex -1.4216 -38.36 -0.2 - vertex -1.69347 -38.2465 0 - vertex -1.4216 -38.36 0 + vertex 1.65861 -34.5411 -3 + vertex 2.32628 -34.9386 0 + vertex 1.65861 -34.5411 0 endloop endfacet - facet normal 0.385209 0.92283 0 + facet normal -0.511641 -0.859199 -0 outer loop - vertex -1.69347 -38.2465 0 - vertex -1.4216 -38.36 -0.2 - vertex -1.69347 -38.2465 -0.2 + vertex 2.32628 -34.9386 0 + vertex 1.65861 -34.5411 -3 + vertex 2.32628 -34.9386 -3 endloop endfacet - facet normal 0.490243 0.871586 -0 + facet normal -0.182531 -0.9832 0 outer loop - vertex -1.69347 -38.2465 -0.2 - vertex -1.95525 -38.0993 0 - vertex -1.69347 -38.2465 0 + vertex 2.32628 -34.9386 -3 + vertex 3.17687 -35.0966 0 + vertex 2.32628 -34.9386 0 endloop endfacet - facet normal 0.490243 0.871586 0 + facet normal -0.182531 -0.9832 -0 outer loop - vertex -1.95525 -38.0993 0 - vertex -1.69347 -38.2465 -0.2 - vertex -1.95525 -38.0993 -0.2 + vertex 3.17687 -35.0966 0 + vertex 2.32628 -34.9386 -3 + vertex 3.17687 -35.0966 -3 endloop endfacet - facet normal 0.581299 0.81369 -0 + facet normal 0.0908592 -0.995864 0 outer loop - vertex -1.95525 -38.0993 -0.2 - vertex -2.20592 -37.9202 0 - vertex -1.95525 -38.0993 0 + vertex 3.17687 -35.0966 -3 + vertex 4.11511 -35.011 0 + vertex 3.17687 -35.0966 0 endloop endfacet - facet normal 0.581299 0.81369 0 + facet normal 0.0908592 -0.995864 0 outer loop - vertex -2.20592 -37.9202 0 - vertex -1.95525 -38.0993 -0.2 - vertex -2.20592 -37.9202 -0.2 + vertex 4.11511 -35.011 0 + vertex 3.17687 -35.0966 -3 + vertex 4.11511 -35.011 -3 endloop endfacet - facet normal 0.65901 0.752134 -0 + facet normal 0.336892 -0.941543 0 outer loop - vertex -2.20592 -37.9202 -0.2 - vertex -2.44446 -37.7112 0 - vertex -2.20592 -37.9202 0 + vertex 4.11511 -35.011 -3 + vertex 5.04571 -34.678 0 + vertex 4.11511 -35.011 0 endloop endfacet - facet normal 0.65901 0.752134 0 + facet normal 0.336892 -0.941543 0 outer loop - vertex -2.44446 -37.7112 0 - vertex -2.20592 -37.9202 -0.2 - vertex -2.44446 -37.7112 -0.2 + vertex 5.04571 -34.678 0 + vertex 4.11511 -35.011 -3 + vertex 5.04571 -34.678 -3 endloop endfacet - facet normal 0.724655 0.689112 0 + facet normal 0.557528 -0.830158 0 outer loop - vertex -2.44446 -37.7112 0 - vertex -2.66982 -37.4742 -0.2 - vertex -2.66982 -37.4742 0 + vertex 5.04571 -34.678 -3 + vertex 5.71313 -34.2297 0 + vertex 5.04571 -34.678 0 endloop endfacet - facet normal 0.724655 0.689112 0 + facet normal 0.557528 -0.830158 0 outer loop - vertex -2.66982 -37.4742 -0.2 - vertex -2.44446 -37.7112 0 - vertex -2.44446 -37.7112 -0.2 + vertex 5.71313 -34.2297 0 + vertex 5.04571 -34.678 -3 + vertex 5.71313 -34.2297 -3 endloop endfacet - facet normal 0.779827 0.625996 0 + facet normal 0.786383 -0.61774 0 outer loop - vertex -2.66982 -37.4742 0 - vertex -2.88099 -37.2112 -0.2 - vertex -2.88099 -37.2112 0 + vertex 5.71313 -34.2297 0 + vertex 6.30534 -33.4759 -3 + vertex 6.30534 -33.4759 0 endloop endfacet - facet normal 0.779827 0.625996 0 + facet normal 0.786383 -0.61774 0 outer loop - vertex -2.88099 -37.2112 -0.2 - vertex -2.66982 -37.4742 0 - vertex -2.66982 -37.4742 -0.2 + vertex 6.30534 -33.4759 -3 + vertex 5.71313 -34.2297 0 + vertex 5.71313 -34.2297 -3 endloop endfacet - facet normal 0.826071 0.563566 0 + facet normal 0.906895 -0.421357 0 outer loop - vertex -2.88099 -37.2112 0 - vertex -3.07693 -36.924 -0.2 - vertex -3.07693 -36.924 0 + vertex 6.30534 -33.4759 0 + vertex 7.96204 -29.9101 -3 + vertex 7.96204 -29.9101 0 endloop endfacet - facet normal 0.826071 0.563566 0 + facet normal 0.906895 -0.421357 0 outer loop - vertex -3.07693 -36.924 -0.2 - vertex -2.88099 -37.2112 0 - vertex -2.88099 -37.2112 -0.2 + vertex 7.96204 -29.9101 -3 + vertex 6.30534 -33.4759 0 + vertex 6.30534 -33.4759 -3 endloop endfacet - facet normal 0.864772 0.502165 0 + facet normal 0.929235 -0.36949 0 outer loop - vertex -3.07693 -36.924 0 - vertex -3.25661 -36.6145 -0.2 - vertex -3.25661 -36.6145 0 + vertex 7.96204 -29.9101 0 + vertex 9.7411 -25.4359 -3 + vertex 9.7411 -25.4359 0 endloop endfacet - facet normal 0.864772 0.502165 0 + facet normal 0.929235 -0.36949 0 outer loop - vertex -3.25661 -36.6145 -0.2 - vertex -3.07693 -36.924 0 - vertex -3.07693 -36.924 -0.2 + vertex 9.7411 -25.4359 -3 + vertex 7.96204 -29.9101 0 + vertex 7.96204 -29.9101 -3 endloop endfacet - facet normal 0.897098 0.441832 0 + facet normal 0.962546 -0.271117 0 outer loop - vertex -3.25661 -36.6145 0 - vertex -3.41901 -36.2848 -0.2 - vertex -3.41901 -36.2848 0 + vertex 9.7411 -25.4359 0 + vertex 10.0775 -24.2416 -3 + vertex 10.0775 -24.2416 0 endloop endfacet - facet normal 0.897098 0.441832 0 + facet normal 0.962546 -0.271117 0 outer loop - vertex -3.41901 -36.2848 -0.2 - vertex -3.25661 -36.6145 0 - vertex -3.25661 -36.6145 -0.2 + vertex 10.0775 -24.2416 -3 + vertex 9.7411 -25.4359 0 + vertex 9.7411 -25.4359 -3 endloop endfacet - facet normal 0.923982 0.382435 0 + facet normal 0.994463 -0.105087 0 outer loop - vertex -3.41901 -36.2848 0 - vertex -3.56309 -35.9367 -0.2 - vertex -3.56309 -35.9367 0 + vertex 10.0775 -24.2416 0 + vertex 10.169 -23.3758 -3 + vertex 10.169 -23.3758 0 endloop endfacet - facet normal 0.923982 0.382435 0 + facet normal 0.994463 -0.105087 0 outer loop - vertex -3.56309 -35.9367 -0.2 - vertex -3.41901 -36.2848 0 - vertex -3.41901 -36.2848 -0.2 + vertex 10.169 -23.3758 -3 + vertex 10.0775 -24.2416 0 + vertex 10.0775 -24.2416 -3 endloop endfacet - facet normal 0.946149 0.323732 0 + facet normal 0.988121 0.153677 0 outer loop - vertex -3.56309 -35.9367 0 - vertex -3.68783 -35.5721 -0.2 - vertex -3.68783 -35.5721 0 + vertex 10.169 -23.3758 0 + vertex 10.0454 -22.5812 -3 + vertex 10.0454 -22.5812 0 endloop endfacet - facet normal 0.946149 0.323732 0 + facet normal 0.988121 0.153677 0 outer loop - vertex -3.68783 -35.5721 -0.2 - vertex -3.56309 -35.9367 0 - vertex -3.56309 -35.9367 -0.2 + vertex 10.0454 -22.5812 -3 + vertex 10.169 -23.3758 0 + vertex 10.169 -23.3758 -3 endloop endfacet - facet normal 0.964131 0.265426 0 + facet normal 0.857617 0.514289 0 outer loop - vertex -3.68783 -35.5721 0 - vertex -3.79219 -35.193 -0.2 - vertex -3.79219 -35.193 0 + vertex 10.0454 -22.5812 0 + vertex 9.69979 -22.0048 -3 + vertex 9.69979 -22.0048 0 endloop endfacet - facet normal 0.964131 0.265426 0 + facet normal 0.857617 0.514289 0 outer loop - vertex -3.79219 -35.193 -0.2 - vertex -3.68783 -35.5721 0 - vertex -3.68783 -35.5721 -0.2 + vertex 9.69979 -22.0048 -3 + vertex 10.0454 -22.5812 0 + vertex 10.0454 -22.5812 -3 endloop endfacet - facet normal 0.978298 0.207204 0 + facet normal 0.558467 0.829527 -0 outer loop - vertex -3.79219 -35.193 0 - vertex -3.87516 -34.8013 -0.2 - vertex -3.87516 -34.8013 0 + vertex 9.69979 -22.0048 -3 + vertex 9.16984 -21.6481 0 + vertex 9.69979 -22.0048 0 endloop endfacet - facet normal 0.978298 0.207204 0 + facet normal 0.558467 0.829527 0 outer loop - vertex -3.87516 -34.8013 -0.2 - vertex -3.79219 -35.193 0 - vertex -3.79219 -35.193 -0.2 + vertex 9.16984 -21.6481 0 + vertex 9.69979 -22.0048 -3 + vertex 9.16984 -21.6481 -3 endloop endfacet - facet normal 0.988873 0.148763 0 + facet normal 0.196985 0.980407 -0 outer loop - vertex -3.87516 -34.8013 0 - vertex -3.93569 -34.3989 -0.2 - vertex -3.93569 -34.3989 0 + vertex 9.16984 -21.6481 -3 + vertex 8.49325 -21.5121 0 + vertex 9.16984 -21.6481 0 endloop endfacet - facet normal 0.988873 0.148763 0 + facet normal 0.196985 0.980407 0 outer loop - vertex -3.93569 -34.3989 -0.2 - vertex -3.87516 -34.8013 0 - vertex -3.87516 -34.8013 -0.2 + vertex 8.49325 -21.5121 0 + vertex 9.16984 -21.6481 -3 + vertex 8.49325 -21.5121 -3 endloop endfacet - facet normal 0.995959 0.0898073 0 + facet normal -0.109065 0.994035 0 outer loop - vertex -3.93569 -34.3989 0 - vertex -3.97277 -33.9877 -0.2 - vertex -3.97277 -33.9877 0 + vertex 8.49325 -21.5121 -3 + vertex 7.70773 -21.5983 0 + vertex 8.49325 -21.5121 0 endloop endfacet - facet normal 0.995959 0.0898073 0 + facet normal -0.109065 0.994035 0 outer loop - vertex -3.97277 -33.9877 -0.2 - vertex -3.93569 -34.3989 0 - vertex -3.93569 -34.3989 -0.2 + vertex 7.70773 -21.5983 0 + vertex 8.49325 -21.5121 -3 + vertex 7.70773 -21.5983 -3 endloop endfacet - facet normal 0.999547 0.0300979 0 + facet normal -0.270451 -0.962734 0 outer loop - vertex -3.97277 -33.9877 0 - vertex -3.98536 -33.5697 -0.2 - vertex -3.98536 -33.5697 0 + vertex 28.989 -19.2301 -3 + vertex 29.9429 -19.4981 0 + vertex 28.989 -19.2301 0 endloop endfacet - facet normal 0.999547 0.0300979 0 + facet normal -0.270451 -0.962734 -0 outer loop - vertex -3.98536 -33.5697 -0.2 - vertex -3.97277 -33.9877 0 - vertex -3.97277 -33.9877 -0.2 + vertex 29.9429 -19.4981 0 + vertex 28.989 -19.2301 -3 + vertex 29.9429 -19.4981 -3 endloop endfacet - facet normal 0.998925 -0.0463463 0 + facet normal -0.511153 -0.85949 0 outer loop - vertex -3.98536 -33.5697 0 - vertex -3.97004 -33.2395 -0.2 - vertex -3.97004 -33.2395 0 + vertex 29.9429 -19.4981 -3 + vertex 30.7248 -19.9631 0 + vertex 29.9429 -19.4981 0 endloop endfacet - facet normal 0.998925 -0.0463463 0 + facet normal -0.511153 -0.85949 -0 outer loop - vertex -3.97004 -33.2395 -0.2 - vertex -3.98536 -33.5697 0 - vertex -3.98536 -33.5697 -0.2 + vertex 30.7248 -19.9631 0 + vertex 29.9429 -19.4981 -3 + vertex 30.7248 -19.9631 -3 endloop endfacet - facet normal 0.99274 -0.120283 0 + facet normal -0.723919 -0.689885 0 outer loop - vertex -3.97004 -33.2395 0 - vertex -3.92523 -32.8697 -0.2 - vertex -3.92523 -32.8697 0 + vertex 31.3699 -20.64 -3 + vertex 30.7248 -19.9631 0 + vertex 30.7248 -19.9631 -3 endloop endfacet - facet normal 0.99274 -0.120283 0 + facet normal -0.723919 -0.689885 0 outer loop - vertex -3.92523 -32.8697 -0.2 - vertex -3.97004 -33.2395 0 - vertex -3.97004 -33.2395 -0.2 + vertex 30.7248 -19.9631 0 + vertex 31.3699 -20.64 -3 + vertex 31.3699 -20.64 0 endloop endfacet - facet normal 0.984312 -0.176435 0 + facet normal -0.867187 -0.497983 0 outer loop - vertex -3.92523 -32.8697 0 - vertex -3.8527 -32.4651 -0.2 - vertex -3.8527 -32.4651 0 + vertex 31.8086 -21.404 -3 + vertex 31.3699 -20.64 0 + vertex 31.3699 -20.64 -3 endloop endfacet - facet normal 0.984312 -0.176435 0 + facet normal -0.867187 -0.497983 0 outer loop - vertex -3.8527 -32.4651 -0.2 - vertex -3.92523 -32.8697 0 - vertex -3.92523 -32.8697 -0.2 + vertex 31.3699 -20.64 0 + vertex 31.8086 -21.404 -3 + vertex 31.8086 -21.404 0 endloop endfacet - facet normal 0.975291 -0.220925 0 + facet normal -0.971458 -0.237212 0 outer loop - vertex -3.8527 -32.4651 0 - vertex -3.75417 -32.0301 -0.2 - vertex -3.75417 -32.0301 0 + vertex 32.0232 -22.2828 -3 + vertex 31.8086 -21.404 0 + vertex 31.8086 -21.404 -3 endloop endfacet - facet normal 0.975291 -0.220925 0 + facet normal -0.971458 -0.237212 0 outer loop - vertex -3.75417 -32.0301 -0.2 - vertex -3.8527 -32.4651 0 - vertex -3.8527 -32.4651 -0.2 + vertex 31.8086 -21.404 0 + vertex 32.0232 -22.2828 -3 + vertex 32.0232 -22.2828 0 endloop endfacet - facet normal 0.96184 -0.273613 0 + facet normal -0.999998 -0.00210454 0 outer loop - vertex -3.75417 -32.0301 0 - vertex -3.4861 -31.0878 -0.2 - vertex -3.4861 -31.0878 0 + vertex 32.0255 -23.3848 -3 + vertex 32.0232 -22.2828 0 + vertex 32.0232 -22.2828 -3 endloop endfacet - facet normal 0.96184 -0.273613 0 + facet normal -0.999998 -0.00210454 0 outer loop - vertex -3.4861 -31.0878 -0.2 - vertex -3.75417 -32.0301 0 - vertex -3.75417 -32.0301 -0.2 + vertex 32.0232 -22.2828 0 + vertex 32.0255 -23.3848 -3 + vertex 32.0255 -23.3848 0 endloop endfacet - facet normal 0.944354 -0.328931 0 + facet normal -0.990595 0.136824 0 outer loop - vertex -3.4861 -31.0878 0 - vertex -3.135 -30.0798 -0.2 - vertex -3.135 -30.0798 0 + vertex 31.8275 -24.8188 -3 + vertex 32.0255 -23.3848 0 + vertex 32.0255 -23.3848 -3 endloop endfacet - facet normal 0.944354 -0.328931 0 + facet normal -0.990595 0.136824 0 outer loop - vertex -3.135 -30.0798 -0.2 - vertex -3.4861 -31.0878 0 - vertex -3.4861 -31.0878 -0.2 + vertex 32.0255 -23.3848 0 + vertex 31.8275 -24.8188 -3 + vertex 31.8275 -24.8188 0 endloop endfacet - facet normal 0.926769 -0.375632 0 + facet normal -0.978641 0.205575 0 outer loop - vertex -3.135 -30.0798 0 - vertex -2.71481 -29.043 -0.2 - vertex -2.71481 -29.043 0 + vertex 31.4974 -26.3899 -3 + vertex 31.8275 -24.8188 0 + vertex 31.8275 -24.8188 -3 endloop endfacet - facet normal 0.926769 -0.375632 0 + facet normal -0.978641 0.205575 0 outer loop - vertex -2.71481 -29.043 -0.2 - vertex -3.135 -30.0798 0 - vertex -3.135 -30.0798 -0.2 + vertex 31.8275 -24.8188 0 + vertex 31.4974 -26.3899 -3 + vertex 31.4974 -26.3899 0 endloop endfacet - facet normal 0.907733 -0.419549 0 + facet normal -0.869264 0.494348 0 outer loop - vertex -2.71481 -29.043 0 - vertex -2.23947 -28.0146 -0.2 - vertex -2.23947 -28.0146 0 + vertex 31.2318 -26.857 -3 + vertex 31.4974 -26.3899 0 + vertex 31.4974 -26.3899 -3 endloop endfacet - facet normal 0.907733 -0.419549 0 + facet normal -0.869264 0.494348 0 outer loop - vertex -2.23947 -28.0146 -0.2 - vertex -2.71481 -29.043 0 - vertex -2.71481 -29.043 -0.2 + vertex 31.4974 -26.3899 0 + vertex 31.2318 -26.857 -3 + vertex 31.2318 -26.857 0 endloop endfacet - facet normal 0.885263 -0.46509 0 + facet normal -0.557816 0.829965 0 outer loop - vertex -2.23947 -28.0146 0 - vertex -1.72295 -27.0315 -0.2 - vertex -1.72295 -27.0315 0 + vertex 31.2318 -26.857 -3 + vertex 30.7817 -27.1595 0 + vertex 31.2318 -26.857 0 endloop endfacet - facet normal 0.885263 -0.46509 0 + facet normal -0.557816 0.829965 0 outer loop - vertex -1.72295 -27.0315 -0.2 - vertex -2.23947 -28.0146 0 - vertex -2.23947 -28.0146 -0.2 + vertex 30.7817 -27.1595 0 + vertex 31.2318 -26.857 -3 + vertex 30.7817 -27.1595 -3 endloop endfacet - facet normal 0.8644 -0.502806 0 + facet normal -0.13929 0.990252 0 outer loop - vertex -1.72295 -27.0315 0 - vertex -1.45361 -26.5684 -0.2 - vertex -1.45361 -26.5684 0 + vertex 30.7817 -27.1595 -3 + vertex 28.9763 -27.4135 0 + vertex 30.7817 -27.1595 0 endloop endfacet - facet normal 0.8644 -0.502806 0 + facet normal -0.13929 0.990252 0 outer loop - vertex -1.45361 -26.5684 -0.2 - vertex -1.72295 -27.0315 0 - vertex -1.72295 -27.0315 -0.2 + vertex 28.9763 -27.4135 0 + vertex 30.7817 -27.1595 -3 + vertex 28.9763 -27.4135 -3 endloop endfacet - facet normal 0.847345 -0.531043 0 + facet normal -0.00668289 0.999978 0 outer loop - vertex -1.45361 -26.5684 0 - vertex -1.17919 -26.1306 -0.2 - vertex -1.17919 -26.1306 0 + vertex 28.9763 -27.4135 -3 + vertex 25.3774 -27.4375 0 + vertex 28.9763 -27.4135 0 endloop endfacet - facet normal 0.847345 -0.531043 0 + facet normal -0.00668289 0.999978 0 outer loop - vertex -1.17919 -26.1306 -0.2 - vertex -1.45361 -26.5684 0 - vertex -1.45361 -26.5684 -0.2 - endloop - endfacet - facet normal 0.82644 -0.563025 0 - outer loop - vertex -1.17919 -26.1306 0 - vertex -0.875463 -25.6847 -0.2 - vertex -0.875463 -25.6847 0 - endloop - endfacet - facet normal 0.82644 -0.563025 0 - outer loop - vertex -0.875463 -25.6847 -0.2 - vertex -1.17919 -26.1306 0 - vertex -1.17919 -26.1306 -0.2 - endloop - endfacet - facet normal 0.8045 -0.593952 0 - outer loop - vertex -0.875463 -25.6847 0 - vertex -0.546472 -25.2391 -0.2 - vertex -0.546472 -25.2391 0 - endloop - endfacet - facet normal 0.8045 -0.593952 0 - outer loop - vertex -0.546472 -25.2391 -0.2 - vertex -0.875463 -25.6847 0 - vertex -0.875463 -25.6847 -0.2 - endloop - endfacet - facet normal 0.783077 -0.621924 0 - outer loop - vertex -0.546472 -25.2391 0 - vertex -0.194025 -24.7953 -0.2 - vertex -0.194025 -24.7953 0 - endloop - endfacet - facet normal 0.783077 -0.621924 0 - outer loop - vertex -0.194025 -24.7953 -0.2 - vertex -0.546472 -25.2391 0 - vertex -0.546472 -25.2391 -0.2 - endloop - endfacet - facet normal 0.762077 -0.647486 0 - outer loop - vertex -0.194025 -24.7953 0 - vertex 0.18007 -24.355 -0.2 - vertex 0.18007 -24.355 0 - endloop - endfacet - facet normal 0.762077 -0.647486 0 - outer loop - vertex 0.18007 -24.355 -0.2 - vertex -0.194025 -24.7953 0 - vertex -0.194025 -24.7953 -0.2 - endloop - endfacet - facet normal 0.74138 -0.671085 0 - outer loop - vertex 0.18007 -24.355 0 - vertex 0.574011 -23.9198 -0.2 - vertex 0.574011 -23.9198 0 - endloop - endfacet - facet normal 0.74138 -0.671085 0 - outer loop - vertex 0.574011 -23.9198 -0.2 - vertex 0.18007 -24.355 0 - vertex 0.18007 -24.355 -0.2 - endloop - endfacet - facet normal 0.720855 -0.693086 0 - outer loop - vertex 0.574011 -23.9198 0 - vertex 0.985991 -23.4913 -0.2 - vertex 0.985991 -23.4913 0 - endloop - endfacet - facet normal 0.720855 -0.693086 0 - outer loop - vertex 0.985991 -23.4913 -0.2 - vertex 0.574011 -23.9198 0 - vertex 0.574011 -23.9198 -0.2 - endloop - endfacet - facet normal 0.700344 -0.713805 0 - outer loop - vertex 0.985991 -23.4913 -0.2 - vertex 1.4142 -23.0712 0 - vertex 0.985991 -23.4913 0 - endloop - endfacet - facet normal 0.700344 -0.713805 0 - outer loop - vertex 1.4142 -23.0712 0 - vertex 0.985991 -23.4913 -0.2 - vertex 1.4142 -23.0712 -0.2 - endloop - endfacet - facet normal 0.679685 -0.733504 0 - outer loop - vertex 1.4142 -23.0712 -0.2 - vertex 1.85684 -22.661 0 - vertex 1.4142 -23.0712 0 - endloop - endfacet - facet normal 0.679685 -0.733504 0 - outer loop - vertex 1.85684 -22.661 0 - vertex 1.4142 -23.0712 -0.2 - vertex 1.85684 -22.661 -0.2 - endloop - endfacet - facet normal 0.658698 -0.752407 0 - outer loop - vertex 1.85684 -22.661 -0.2 - vertex 2.31211 -22.2625 0 - vertex 1.85684 -22.661 0 - endloop - endfacet - facet normal 0.658698 -0.752407 0 - outer loop - vertex 2.31211 -22.2625 0 - vertex 1.85684 -22.661 -0.2 - vertex 2.31211 -22.2625 -0.2 - endloop - endfacet - facet normal 0.637189 -0.770708 0 - outer loop - vertex 2.31211 -22.2625 -0.2 - vertex 2.77819 -21.8771 0 - vertex 2.31211 -22.2625 0 - endloop - endfacet - facet normal 0.637189 -0.770708 0 - outer loop - vertex 2.77819 -21.8771 0 - vertex 2.31211 -22.2625 -0.2 - vertex 2.77819 -21.8771 -0.2 - endloop - endfacet - facet normal 0.614941 -0.788573 0 - outer loop - vertex 2.77819 -21.8771 -0.2 - vertex 3.25328 -21.5067 0 - vertex 2.77819 -21.8771 0 - endloop - endfacet - facet normal 0.614941 -0.788573 0 - outer loop - vertex 3.25328 -21.5067 0 - vertex 2.77819 -21.8771 -0.2 - vertex 3.25328 -21.5067 -0.2 - endloop - endfacet - facet normal 0.591711 -0.80615 0 - outer loop - vertex 3.25328 -21.5067 -0.2 - vertex 3.73558 -21.1527 0 - vertex 3.25328 -21.5067 0 - endloop - endfacet - facet normal 0.591711 -0.80615 0 - outer loop - vertex 3.73558 -21.1527 0 - vertex 3.25328 -21.5067 -0.2 - vertex 3.73558 -21.1527 -0.2 - endloop - endfacet - facet normal 0.567228 -0.823561 0 - outer loop - vertex 3.73558 -21.1527 -0.2 - vertex 4.22328 -20.8168 0 - vertex 3.73558 -21.1527 0 - endloop - endfacet - facet normal 0.567228 -0.823561 0 - outer loop - vertex 4.22328 -20.8168 0 - vertex 3.73558 -21.1527 -0.2 - vertex 4.22328 -20.8168 -0.2 - endloop - endfacet - facet normal 0.541167 -0.840915 0 - outer loop - vertex 4.22328 -20.8168 -0.2 - vertex 4.71458 -20.5006 0 - vertex 4.22328 -20.8168 0 - endloop - endfacet - facet normal 0.541167 -0.840915 0 - outer loop - vertex 4.71458 -20.5006 0 - vertex 4.22328 -20.8168 -0.2 - vertex 4.71458 -20.5006 -0.2 - endloop - endfacet - facet normal 0.513171 -0.858287 0 - outer loop - vertex 4.71458 -20.5006 -0.2 - vertex 5.20766 -20.2058 0 - vertex 4.71458 -20.5006 0 - endloop - endfacet - facet normal 0.513171 -0.858287 0 - outer loop - vertex 5.20766 -20.2058 0 - vertex 4.71458 -20.5006 -0.2 - vertex 5.20766 -20.2058 -0.2 - endloop - endfacet - facet normal 0.482795 -0.875733 0 - outer loop - vertex 5.20766 -20.2058 -0.2 - vertex 5.70074 -19.9339 0 - vertex 5.20766 -20.2058 0 - endloop - endfacet - facet normal 0.482795 -0.875733 0 - outer loop - vertex 5.70074 -19.9339 0 - vertex 5.20766 -20.2058 -0.2 - vertex 5.70074 -19.9339 -0.2 - endloop - endfacet - facet normal 0.452672 -0.891677 0 - outer loop - vertex 5.70074 -19.9339 -0.2 - vertex 6.07737 -19.7427 0 - vertex 5.70074 -19.9339 0 - endloop - endfacet - facet normal 0.452672 -0.891677 0 - outer loop - vertex 6.07737 -19.7427 0 - vertex 5.70074 -19.9339 -0.2 - vertex 6.07737 -19.7427 -0.2 - endloop - endfacet - facet normal 0.411982 -0.911192 0 - outer loop - vertex 6.07737 -19.7427 -0.2 - vertex 6.41984 -19.5879 0 - vertex 6.07737 -19.7427 0 - endloop - endfacet - facet normal 0.411982 -0.911192 0 - outer loop - vertex 6.41984 -19.5879 0 - vertex 6.07737 -19.7427 -0.2 - vertex 6.41984 -19.5879 -0.2 - endloop - endfacet - facet normal 0.352601 -0.935774 0 - outer loop - vertex 6.41984 -19.5879 -0.2 - vertex 6.74616 -19.4649 0 - vertex 6.41984 -19.5879 0 - endloop - endfacet - facet normal 0.352601 -0.935774 0 - outer loop - vertex 6.74616 -19.4649 0 - vertex 6.41984 -19.5879 -0.2 - vertex 6.74616 -19.4649 -0.2 - endloop - endfacet - facet normal 0.279545 -0.960133 0 - outer loop - vertex 6.74616 -19.4649 -0.2 - vertex 7.07441 -19.3694 0 - vertex 6.74616 -19.4649 0 - endloop - endfacet - facet normal 0.279545 -0.960133 0 - outer loop - vertex 7.07441 -19.3694 0 - vertex 6.74616 -19.4649 -0.2 - vertex 7.07441 -19.3694 -0.2 - endloop - endfacet - facet normal 0.204293 -0.97891 0 - outer loop - vertex 7.07441 -19.3694 -0.2 - vertex 7.42262 -19.2967 0 - vertex 7.07441 -19.3694 0 - endloop - endfacet - facet normal 0.204293 -0.97891 0 - outer loop - vertex 7.42262 -19.2967 0 - vertex 7.07441 -19.3694 -0.2 - vertex 7.42262 -19.2967 -0.2 - endloop - endfacet - facet normal 0.139108 -0.990277 0 - outer loop - vertex 7.42262 -19.2967 -0.2 - vertex 7.80885 -19.2424 0 - vertex 7.42262 -19.2967 0 - endloop - endfacet - facet normal 0.139108 -0.990277 0 - outer loop - vertex 7.80885 -19.2424 0 - vertex 7.42262 -19.2967 -0.2 - vertex 7.80885 -19.2424 -0.2 - endloop - endfacet - facet normal 0.0740931 -0.997251 0 - outer loop - vertex 7.80885 -19.2424 -0.2 - vertex 8.76754 -19.1712 0 - vertex 7.80885 -19.2424 0 - endloop - endfacet - facet normal 0.0740931 -0.997251 0 - outer loop - vertex 8.76754 -19.1712 0 - vertex 7.80885 -19.2424 -0.2 - vertex 8.76754 -19.1712 -0.2 - endloop - endfacet - facet normal 0.0317962 -0.999494 0 - outer loop - vertex 8.76754 -19.1712 -0.2 - vertex 9.72114 -19.1409 0 - vertex 8.76754 -19.1712 0 - endloop - endfacet - facet normal 0.0317962 -0.999494 0 - outer loop - vertex 9.72114 -19.1409 0 - vertex 8.76754 -19.1712 -0.2 - vertex 9.72114 -19.1409 -0.2 - endloop - endfacet - facet normal -0.0248159 -0.999692 0 - outer loop - vertex 9.72114 -19.1409 -0.2 - vertex 10.0711 -19.1496 0 - vertex 9.72114 -19.1409 0 - endloop - endfacet - facet normal -0.0248159 -0.999692 -0 - outer loop - vertex 10.0711 -19.1496 0 - vertex 9.72114 -19.1409 -0.2 - vertex 10.0711 -19.1496 -0.2 - endloop - endfacet - facet normal -0.0963554 -0.995347 0 - outer loop - vertex 10.0711 -19.1496 -0.2 - vertex 10.3591 -19.1774 0 - vertex 10.0711 -19.1496 0 - endloop - endfacet - facet normal -0.0963554 -0.995347 -0 - outer loop - vertex 10.3591 -19.1774 0 - vertex 10.0711 -19.1496 -0.2 - vertex 10.3591 -19.1774 -0.2 - endloop - endfacet - facet normal -0.199823 -0.979832 0 - outer loop - vertex 10.3591 -19.1774 -0.2 - vertex 10.602 -19.227 0 - vertex 10.3591 -19.1774 0 - endloop - endfacet - facet normal -0.199823 -0.979832 -0 - outer loop - vertex 10.602 -19.227 0 - vertex 10.3591 -19.1774 -0.2 - vertex 10.602 -19.227 -0.2 - endloop - endfacet - facet normal -0.324456 -0.945901 0 - outer loop - vertex 10.602 -19.227 -0.2 - vertex 10.8168 -19.3006 0 - vertex 10.602 -19.227 0 - endloop - endfacet - facet normal -0.324456 -0.945901 -0 - outer loop - vertex 10.8168 -19.3006 0 - vertex 10.602 -19.227 -0.2 - vertex 10.8168 -19.3006 -0.2 - endloop - endfacet - facet normal -0.441937 -0.897046 0 - outer loop - vertex 10.8168 -19.3006 -0.2 - vertex 11.0203 -19.4009 0 - vertex 10.8168 -19.3006 0 - endloop - endfacet - facet normal -0.441937 -0.897046 -0 - outer loop - vertex 11.0203 -19.4009 0 - vertex 10.8168 -19.3006 -0.2 - vertex 11.0203 -19.4009 -0.2 - endloop - endfacet - facet normal -0.525875 -0.850562 0 - outer loop - vertex 11.0203 -19.4009 -0.2 - vertex 11.2294 -19.5302 0 - vertex 11.0203 -19.4009 0 - endloop - endfacet - facet normal -0.525875 -0.850562 -0 - outer loop - vertex 11.2294 -19.5302 0 - vertex 11.0203 -19.4009 -0.2 - vertex 11.2294 -19.5302 -0.2 - endloop - endfacet - facet normal -0.518008 -0.855376 0 - outer loop - vertex 11.2294 -19.5302 -0.2 - vertex 11.5538 -19.7266 0 - vertex 11.2294 -19.5302 0 - endloop - endfacet - facet normal -0.518008 -0.855376 -0 - outer loop - vertex 11.5538 -19.7266 0 - vertex 11.2294 -19.5302 -0.2 - vertex 11.5538 -19.7266 -0.2 - endloop - endfacet - facet normal -0.370976 -0.928642 0 - outer loop - vertex 11.5538 -19.7266 -0.2 - vertex 11.7902 -19.8211 0 - vertex 11.5538 -19.7266 0 - endloop - endfacet - facet normal -0.370976 -0.928642 -0 - outer loop - vertex 11.7902 -19.8211 0 - vertex 11.5538 -19.7266 -0.2 - vertex 11.7902 -19.8211 -0.2 - endloop - endfacet - facet normal -0.111982 -0.99371 0 - outer loop - vertex 11.7902 -19.8211 -0.2 - vertex 11.881 -19.8313 0 - vertex 11.7902 -19.8211 0 - endloop - endfacet - facet normal -0.111982 -0.99371 -0 - outer loop - vertex 11.881 -19.8313 0 - vertex 11.7902 -19.8211 -0.2 - vertex 11.881 -19.8313 -0.2 - endloop - endfacet - facet normal 0.179863 -0.983692 0 - outer loop - vertex 11.881 -19.8313 -0.2 - vertex 11.9563 -19.8175 0 - vertex 11.881 -19.8313 0 - endloop - endfacet - facet normal 0.179863 -0.983692 0 - outer loop - vertex 11.9563 -19.8175 0 - vertex 11.881 -19.8313 -0.2 - vertex 11.9563 -19.8175 -0.2 - endloop - endfacet - facet normal 0.514293 -0.857615 0 - outer loop - vertex 11.9563 -19.8175 -0.2 - vertex 12.0185 -19.7802 0 - vertex 11.9563 -19.8175 0 - endloop - endfacet - facet normal 0.514293 -0.857615 0 - outer loop - vertex 12.0185 -19.7802 0 - vertex 11.9563 -19.8175 -0.2 - vertex 12.0185 -19.7802 -0.2 - endloop - endfacet - facet normal 0.762299 -0.647226 0 - outer loop - vertex 12.0185 -19.7802 0 - vertex 12.0697 -19.7199 -0.2 - vertex 12.0697 -19.7199 0 - endloop - endfacet - facet normal 0.762299 -0.647226 0 - outer loop - vertex 12.0697 -19.7199 -0.2 - vertex 12.0185 -19.7802 0 - vertex 12.0185 -19.7802 -0.2 - endloop - endfacet - facet normal 0.887752 -0.460323 0 - outer loop - vertex 12.0697 -19.7199 0 - vertex 12.2803 -19.3138 -0.2 - vertex 12.2803 -19.3138 0 - endloop - endfacet - facet normal 0.887752 -0.460323 0 - outer loop - vertex 12.2803 -19.3138 -0.2 - vertex 12.0697 -19.7199 0 - vertex 12.0697 -19.7199 -0.2 - endloop - endfacet - facet normal 0.914794 -0.403921 0 - outer loop - vertex 12.2803 -19.3138 0 - vertex 12.5806 -18.6336 -0.2 - vertex 12.5806 -18.6336 0 - endloop - endfacet - facet normal 0.914794 -0.403921 0 - outer loop - vertex 12.5806 -18.6336 -0.2 - vertex 12.2803 -19.3138 0 - vertex 12.2803 -19.3138 -0.2 - endloop - endfacet - facet normal 0.927919 -0.372782 0 - outer loop - vertex 12.5806 -18.6336 0 - vertex 13.2984 -16.8469 -0.2 - vertex 13.2984 -16.8469 0 - endloop - endfacet - facet normal 0.927919 -0.372782 0 - outer loop - vertex 13.2984 -16.8469 -0.2 - vertex 12.5806 -18.6336 0 - vertex 12.5806 -18.6336 -0.2 - endloop - endfacet - facet normal 0.936103 -0.351727 0 - outer loop - vertex 13.2984 -16.8469 0 - vertex 13.6397 -15.9386 -0.2 - vertex 13.6397 -15.9386 0 - endloop - endfacet - facet normal 0.936103 -0.351727 0 - outer loop - vertex 13.6397 -15.9386 -0.2 - vertex 13.2984 -16.8469 0 - vertex 13.2984 -16.8469 -0.2 - endloop - endfacet - facet normal 0.9425 -0.334207 0 - outer loop - vertex 13.6397 -15.9386 0 - vertex 13.9185 -15.1524 -0.2 - vertex 13.9185 -15.1524 0 - endloop - endfacet - facet normal 0.9425 -0.334207 0 - outer loop - vertex 13.9185 -15.1524 -0.2 - vertex 13.6397 -15.9386 0 - vertex 13.6397 -15.9386 -0.2 - endloop - endfacet - facet normal 0.953687 -0.300802 0 - outer loop - vertex 13.9185 -15.1524 0 - vertex 14.0967 -14.5873 -0.2 - vertex 14.0967 -14.5873 0 - endloop - endfacet - facet normal 0.953687 -0.300802 0 - outer loop - vertex 14.0967 -14.5873 -0.2 - vertex 13.9185 -15.1524 0 - vertex 13.9185 -15.1524 -0.2 - endloop - endfacet - facet normal 0.97364 -0.22809 0 - outer loop - vertex 14.0967 -14.5873 0 - vertex 14.1362 -14.4186 -0.2 - vertex 14.1362 -14.4186 0 - endloop - endfacet - facet normal 0.97364 -0.22809 0 - outer loop - vertex 14.1362 -14.4186 -0.2 - vertex 14.0967 -14.5873 0 - vertex 14.0967 -14.5873 -0.2 - endloop - endfacet - facet normal 0.999999 -0.00127602 0 - outer loop - vertex 14.1362 -14.4186 0 - vertex 14.1363 -14.3424 -0.2 - vertex 14.1363 -14.3424 0 - endloop - endfacet - facet normal 0.999999 -0.00127602 0 - outer loop - vertex 14.1363 -14.3424 -0.2 - vertex 14.1362 -14.4186 0 - vertex 14.1362 -14.4186 -0.2 - endloop - endfacet - facet normal 0.566913 0.823778 -0 - outer loop - vertex 14.1363 -14.3424 -0.2 - vertex 14.0881 -14.3092 0 - vertex 14.1363 -14.3424 0 - endloop - endfacet - facet normal 0.566913 0.823778 0 - outer loop - vertex 14.0881 -14.3092 0 - vertex 14.1363 -14.3424 -0.2 - vertex 14.0881 -14.3092 -0.2 - endloop - endfacet - facet normal 0.351025 0.936366 -0 - outer loop - vertex 14.0881 -14.3092 -0.2 - vertex 14.0003 -14.2763 0 - vertex 14.0881 -14.3092 0 - endloop - endfacet - facet normal 0.351025 0.936366 0 - outer loop - vertex 14.0003 -14.2763 0 - vertex 14.0881 -14.3092 -0.2 - vertex 14.0003 -14.2763 -0.2 - endloop - endfacet - facet normal 0.218251 0.975893 -0 - outer loop - vertex 14.0003 -14.2763 -0.2 - vertex 13.7222 -14.2141 0 - vertex 14.0003 -14.2763 0 - endloop - endfacet - facet normal 0.218251 0.975893 0 - outer loop - vertex 13.7222 -14.2141 0 - vertex 14.0003 -14.2763 -0.2 - vertex 13.7222 -14.2141 -0.2 - endloop - endfacet - facet normal 0.134641 0.990894 -0 - outer loop - vertex 13.7222 -14.2141 -0.2 - vertex 13.3346 -14.1615 0 - vertex 13.7222 -14.2141 0 - endloop - endfacet - facet normal 0.134641 0.990894 0 - outer loop - vertex 13.3346 -14.1615 0 - vertex 13.7222 -14.2141 -0.2 - vertex 13.3346 -14.1615 -0.2 - endloop - endfacet - facet normal 0.0805571 0.99675 -0 - outer loop - vertex 13.3346 -14.1615 -0.2 - vertex 12.8698 -14.1239 0 - vertex 13.3346 -14.1615 0 - endloop - endfacet - facet normal 0.0805571 0.99675 0 - outer loop - vertex 12.8698 -14.1239 0 - vertex 13.3346 -14.1615 -0.2 - vertex 12.8698 -14.1239 -0.2 - endloop - endfacet - facet normal 0.256285 0.966601 -0 - outer loop - vertex 12.8698 -14.1239 -0.2 - vertex 12.7363 -14.0885 0 - vertex 12.8698 -14.1239 0 - endloop - endfacet - facet normal 0.256285 0.966601 0 - outer loop - vertex 12.7363 -14.0885 0 - vertex 12.8698 -14.1239 -0.2 - vertex 12.7363 -14.0885 -0.2 - endloop - endfacet - facet normal 0.544571 0.838715 -0 - outer loop - vertex 12.7363 -14.0885 -0.2 - vertex 12.6087 -14.0056 0 - vertex 12.7363 -14.0885 0 - endloop - endfacet - facet normal 0.544571 0.838715 0 - outer loop - vertex 12.6087 -14.0056 0 - vertex 12.7363 -14.0885 -0.2 - vertex 12.6087 -14.0056 -0.2 - endloop - endfacet - facet normal 0.739657 0.672985 0 - outer loop - vertex 12.6087 -14.0056 0 - vertex 12.5013 -13.8876 -0.2 - vertex 12.5013 -13.8876 0 - endloop - endfacet - facet normal 0.739657 0.672985 0 - outer loop - vertex 12.5013 -13.8876 -0.2 - vertex 12.6087 -14.0056 0 - vertex 12.6087 -14.0056 -0.2 - endloop - endfacet - facet normal 0.888712 0.458466 0 - outer loop - vertex 12.5013 -13.8876 0 - vertex 12.4287 -13.7469 -0.2 - vertex 12.4287 -13.7469 0 - endloop - endfacet - facet normal 0.888712 0.458466 0 - outer loop - vertex 12.4287 -13.7469 -0.2 - vertex 12.5013 -13.8876 0 - vertex 12.5013 -13.8876 -0.2 - endloop - endfacet - facet normal 0.969282 0.245953 0 - outer loop - vertex 12.4287 -13.7469 0 - vertex 12.3997 -13.6324 -0.2 - vertex 12.3997 -13.6324 0 - endloop - endfacet - facet normal 0.969282 0.245953 0 - outer loop - vertex 12.3997 -13.6324 -0.2 - vertex 12.4287 -13.7469 0 - vertex 12.4287 -13.7469 -0.2 - endloop - endfacet - facet normal 0.995788 0.0916817 0 - outer loop - vertex 12.3997 -13.6324 0 - vertex 12.3889 -13.5153 -0.2 - vertex 12.3889 -13.5153 0 - endloop - endfacet - facet normal 0.995788 0.0916817 0 - outer loop - vertex 12.3889 -13.5153 -0.2 - vertex 12.3997 -13.6324 0 - vertex 12.3997 -13.6324 -0.2 - endloop - endfacet - facet normal 0.99207 -0.12569 0 - outer loop - vertex 12.3889 -13.5153 0 - vertex 12.419 -13.2773 -0.2 - vertex 12.419 -13.2773 0 - endloop - endfacet - facet normal 0.99207 -0.12569 0 - outer loop - vertex 12.419 -13.2773 -0.2 - vertex 12.3889 -13.5153 0 - vertex 12.3889 -13.5153 -0.2 - endloop - endfacet - facet normal 0.929521 -0.368768 0 - outer loop - vertex 12.419 -13.2773 0 - vertex 12.513 -13.0405 -0.2 - vertex 12.513 -13.0405 0 - endloop - endfacet - facet normal 0.929521 -0.368768 0 - outer loop - vertex 12.513 -13.0405 -0.2 - vertex 12.419 -13.2773 0 - vertex 12.419 -13.2773 -0.2 - endloop - endfacet - facet normal 0.832694 -0.553733 0 - outer loop - vertex 12.513 -13.0405 0 - vertex 12.6645 -12.8127 -0.2 - vertex 12.6645 -12.8127 0 - endloop - endfacet - facet normal 0.832694 -0.553733 0 - outer loop - vertex 12.6645 -12.8127 -0.2 - vertex 12.513 -13.0405 0 - vertex 12.513 -13.0405 -0.2 - endloop - endfacet - facet normal 0.721168 -0.69276 0 - outer loop - vertex 12.6645 -12.8127 0 - vertex 12.8673 -12.6015 -0.2 - vertex 12.8673 -12.6015 0 - endloop - endfacet - facet normal 0.721168 -0.69276 0 - outer loop - vertex 12.8673 -12.6015 -0.2 - vertex 12.6645 -12.8127 0 - vertex 12.6645 -12.8127 -0.2 - endloop - endfacet - facet normal 0.601691 -0.798729 0 - outer loop - vertex 12.8673 -12.6015 -0.2 - vertex 13.1153 -12.4148 0 - vertex 12.8673 -12.6015 0 - endloop - endfacet - facet normal 0.601691 -0.798729 0 - outer loop - vertex 13.1153 -12.4148 0 - vertex 12.8673 -12.6015 -0.2 - vertex 13.1153 -12.4148 -0.2 - endloop - endfacet - facet normal 0.474719 -0.880138 0 - outer loop - vertex 13.1153 -12.4148 -0.2 - vertex 13.4022 -12.26 0 - vertex 13.1153 -12.4148 0 - endloop - endfacet - facet normal 0.474719 -0.880138 0 - outer loop - vertex 13.4022 -12.26 0 - vertex 13.1153 -12.4148 -0.2 - vertex 13.4022 -12.26 -0.2 - endloop - endfacet - facet normal 0.33852 -0.940959 0 - outer loop - vertex 13.4022 -12.26 -0.2 - vertex 13.7217 -12.1451 0 - vertex 13.4022 -12.26 0 - endloop - endfacet - facet normal 0.33852 -0.940959 0 - outer loop - vertex 13.7217 -12.1451 0 - vertex 13.4022 -12.26 -0.2 - vertex 13.7217 -12.1451 -0.2 - endloop - endfacet - facet normal 0.283558 -0.958955 0 - outer loop - vertex 13.7217 -12.1451 -0.2 - vertex 16.811 -11.2316 0 - vertex 13.7217 -12.1451 0 - endloop - endfacet - facet normal 0.283558 -0.958955 0 - outer loop - vertex 16.811 -11.2316 0 - vertex 13.7217 -12.1451 -0.2 - vertex 16.811 -11.2316 -0.2 - endloop - endfacet - facet normal 0.280008 -0.959998 0 - outer loop - vertex 16.811 -11.2316 -0.2 - vertex 17.5824 -11.0066 0 - vertex 16.811 -11.2316 0 - endloop - endfacet - facet normal 0.280008 -0.959998 0 - outer loop - vertex 17.5824 -11.0066 0 - vertex 16.811 -11.2316 -0.2 - vertex 17.5824 -11.0066 -0.2 - endloop - endfacet - facet normal 0.251173 -0.967942 0 - outer loop - vertex 17.5824 -11.0066 -0.2 - vertex 18.2126 -10.843 0 - vertex 17.5824 -11.0066 0 - endloop - endfacet - facet normal 0.251173 -0.967942 0 - outer loop - vertex 18.2126 -10.843 0 - vertex 17.5824 -11.0066 -0.2 - vertex 18.2126 -10.843 -0.2 - endloop - endfacet - facet normal 0.200442 -0.979706 0 - outer loop - vertex 18.2126 -10.843 -0.2 - vertex 18.7132 -10.7406 0 - vertex 18.2126 -10.843 0 - endloop - endfacet - facet normal 0.200442 -0.979706 0 - outer loop - vertex 18.7132 -10.7406 0 - vertex 18.2126 -10.843 -0.2 - vertex 18.7132 -10.7406 -0.2 - endloop - endfacet - facet normal 0.10841 -0.994106 0 - outer loop - vertex 18.7132 -10.7406 -0.2 - vertex 19.0963 -10.6988 0 - vertex 18.7132 -10.7406 0 - endloop - endfacet - facet normal 0.10841 -0.994106 0 - outer loop - vertex 19.0963 -10.6988 0 - vertex 18.7132 -10.7406 -0.2 - vertex 19.0963 -10.6988 -0.2 - endloop - endfacet - facet normal -0.0664596 -0.997789 0 - outer loop - vertex 19.0963 -10.6988 -0.2 - vertex 19.3736 -10.7173 0 - vertex 19.0963 -10.6988 0 - endloop - endfacet - facet normal -0.0664596 -0.997789 -0 - outer loop - vertex 19.3736 -10.7173 0 - vertex 19.0963 -10.6988 -0.2 - vertex 19.3736 -10.7173 -0.2 - endloop - endfacet - facet normal -0.172939 0.984933 0 - outer loop - vertex 8.12348 -21.5274 -0.2 - vertex 7.71946 -21.5983 0 - vertex 8.12348 -21.5274 0 - endloop - endfacet - facet normal -0.172939 0.984933 0 - outer loop - vertex 7.71946 -21.5983 0 - vertex 8.12348 -21.5274 -0.2 - vertex 7.71946 -21.5983 -0.2 - endloop - endfacet - facet normal -0.287852 0.957675 0 - outer loop - vertex 7.71946 -21.5983 -0.2 - vertex 7.29763 -21.7251 0 - vertex 7.71946 -21.5983 0 - endloop - endfacet - facet normal -0.287852 0.957675 0 - outer loop - vertex 7.29763 -21.7251 0 - vertex 7.71946 -21.5983 -0.2 - vertex 7.29763 -21.7251 -0.2 - endloop - endfacet - facet normal -0.387479 0.921879 0 - outer loop - vertex 7.29763 -21.7251 -0.2 - vertex 6.8627 -21.9079 0 - vertex 7.29763 -21.7251 0 - endloop - endfacet - facet normal -0.387479 0.921879 0 - outer loop - vertex 6.8627 -21.9079 0 - vertex 7.29763 -21.7251 -0.2 - vertex 6.8627 -21.9079 -0.2 - endloop - endfacet - facet normal -0.474518 0.880246 0 - outer loop - vertex 6.8627 -21.9079 -0.2 - vertex 6.41939 -22.1469 0 - vertex 6.8627 -21.9079 0 - endloop - endfacet - facet normal -0.474518 0.880246 0 - outer loop - vertex 6.41939 -22.1469 0 - vertex 6.8627 -21.9079 -0.2 - vertex 6.41939 -22.1469 -0.2 - endloop - endfacet - facet normal -0.551235 0.83435 0 - outer loop - vertex 6.41939 -22.1469 -0.2 - vertex 5.97241 -22.4422 0 - vertex 6.41939 -22.1469 0 - endloop - endfacet - facet normal -0.551235 0.83435 0 - outer loop - vertex 5.97241 -22.4422 0 - vertex 6.41939 -22.1469 -0.2 - vertex 5.97241 -22.4422 -0.2 - endloop - endfacet - facet normal -0.619368 0.785101 0 - outer loop - vertex 5.97241 -22.4422 -0.2 - vertex 5.52647 -22.794 0 - vertex 5.97241 -22.4422 0 - endloop - endfacet - facet normal -0.619368 0.785101 0 - outer loop - vertex 5.52647 -22.794 0 - vertex 5.97241 -22.4422 -0.2 - vertex 5.52647 -22.794 -0.2 - endloop - endfacet - facet normal -0.680193 0.733033 0 - outer loop - vertex 5.52647 -22.794 -0.2 - vertex 5.08628 -23.2024 0 - vertex 5.52647 -22.794 0 - endloop - endfacet - facet normal -0.680193 0.733033 0 - outer loop - vertex 5.08628 -23.2024 0 - vertex 5.52647 -22.794 -0.2 - vertex 5.08628 -23.2024 -0.2 - endloop - endfacet - facet normal -0.733294 0.679911 0 - outer loop - vertex 4.45147 -23.8871 -0.2 - vertex 5.08628 -23.2024 0 - vertex 5.08628 -23.2024 -0.2 - endloop - endfacet - facet normal -0.733294 0.679911 0 - outer loop - vertex 5.08628 -23.2024 0 - vertex 4.45147 -23.8871 -0.2 - vertex 4.45147 -23.8871 0 - endloop - endfacet - facet normal -0.778151 0.628077 0 - outer loop - vertex 3.85887 -24.6213 -0.2 - vertex 4.45147 -23.8871 0 - vertex 4.45147 -23.8871 -0.2 - endloop - endfacet - facet normal -0.778151 0.628077 0 - outer loop - vertex 4.45147 -23.8871 0 - vertex 3.85887 -24.6213 -0.2 - vertex 3.85887 -24.6213 0 - endloop - endfacet - facet normal -0.816383 0.577511 0 - outer loop - vertex 3.31148 -25.3951 -0.2 - vertex 3.85887 -24.6213 0 - vertex 3.85887 -24.6213 -0.2 - endloop - endfacet - facet normal -0.816383 0.577511 0 - outer loop - vertex 3.85887 -24.6213 0 - vertex 3.31148 -25.3951 -0.2 - vertex 3.31148 -25.3951 0 - endloop - endfacet - facet normal -0.849413 0.527728 0 - outer loop - vertex 2.81229 -26.1986 -0.2 - vertex 3.31148 -25.3951 0 - vertex 3.31148 -25.3951 -0.2 - endloop - endfacet - facet normal -0.849413 0.527728 0 - outer loop - vertex 3.31148 -25.3951 0 - vertex 2.81229 -26.1986 -0.2 - vertex 2.81229 -26.1986 0 - endloop - endfacet - facet normal -0.878359 0.478001 0 - outer loop - vertex 2.36428 -27.0218 -0.2 - vertex 2.81229 -26.1986 0 - vertex 2.81229 -26.1986 -0.2 - endloop - endfacet - facet normal -0.878359 0.478001 0 - outer loop - vertex 2.81229 -26.1986 0 - vertex 2.36428 -27.0218 -0.2 - vertex 2.36428 -27.0218 0 - endloop - endfacet - facet normal -0.904067 0.427391 0 - outer loop - vertex 1.97046 -27.8549 -0.2 - vertex 2.36428 -27.0218 0 - vertex 2.36428 -27.0218 -0.2 - endloop - endfacet - facet normal -0.904067 0.427391 0 - outer loop - vertex 2.36428 -27.0218 0 - vertex 1.97046 -27.8549 -0.2 - vertex 1.97046 -27.8549 0 - endloop - endfacet - facet normal -0.927139 0.374717 0 - outer loop - vertex 1.63381 -28.6878 -0.2 - vertex 1.97046 -27.8549 0 - vertex 1.97046 -27.8549 -0.2 - endloop - endfacet - facet normal -0.927139 0.374717 0 - outer loop - vertex 1.97046 -27.8549 0 - vertex 1.63381 -28.6878 -0.2 - vertex 1.63381 -28.6878 0 - endloop - endfacet - facet normal -0.947927 0.318489 0 - outer loop - vertex 1.35733 -29.5107 -0.2 - vertex 1.63381 -28.6878 0 - vertex 1.63381 -28.6878 -0.2 - endloop - endfacet - facet normal -0.947927 0.318489 0 - outer loop - vertex 1.63381 -28.6878 0 - vertex 1.35733 -29.5107 -0.2 - vertex 1.35733 -29.5107 0 - endloop - endfacet - facet normal -0.966471 0.256775 0 - outer loop - vertex 1.144 -30.3137 -0.2 - vertex 1.35733 -29.5107 0 - vertex 1.35733 -29.5107 -0.2 - endloop - endfacet - facet normal -0.966471 0.256775 0 - outer loop - vertex 1.35733 -29.5107 0 - vertex 1.144 -30.3137 -0.2 - vertex 1.144 -30.3137 0 - endloop - endfacet - facet normal -0.982354 0.187033 0 - outer loop - vertex 0.99682 -31.0867 -0.2 - vertex 1.144 -30.3137 0 - vertex 1.144 -30.3137 -0.2 - endloop - endfacet - facet normal -0.982354 0.187033 0 - outer loop - vertex 1.144 -30.3137 0 - vertex 0.99682 -31.0867 -0.2 - vertex 0.99682 -31.0867 0 - endloop - endfacet - facet normal -0.994383 0.105841 0 - outer loop - vertex 0.918778 -31.8199 -0.2 - vertex 0.99682 -31.0867 0 - vertex 0.99682 -31.0867 -0.2 - endloop - endfacet - facet normal -0.994383 0.105841 0 - outer loop - vertex 0.99682 -31.0867 0 - vertex 0.918778 -31.8199 -0.2 - vertex 0.918778 -31.8199 0 - endloop - endfacet - facet normal -0.999392 0.0348629 0 - outer loop - vertex 0.906618 -32.1685 -0.2 - vertex 0.918778 -31.8199 0 - vertex 0.918778 -31.8199 -0.2 - endloop - endfacet - facet normal -0.999392 0.0348629 0 - outer loop - vertex 0.918778 -31.8199 0 - vertex 0.906618 -32.1685 -0.2 - vertex 0.906618 -32.1685 0 - endloop - endfacet - facet normal -0.999826 -0.0186499 0 - outer loop - vertex 0.912865 -32.5034 -0.2 - vertex 0.906618 -32.1685 0 - vertex 0.906618 -32.1685 -0.2 - endloop - endfacet - facet normal -0.999826 -0.0186499 0 - outer loop - vertex 0.906618 -32.1685 0 - vertex 0.912865 -32.5034 -0.2 - vertex 0.912865 -32.5034 0 - endloop - endfacet - facet normal -0.996955 -0.077982 0 - outer loop - vertex 0.937893 -32.8234 -0.2 - vertex 0.912865 -32.5034 0 - vertex 0.912865 -32.5034 -0.2 - endloop - endfacet - facet normal -0.996955 -0.077982 0 - outer loop - vertex 0.912865 -32.5034 0 - vertex 0.937893 -32.8234 -0.2 - vertex 0.937893 -32.8234 0 - endloop - endfacet - facet normal -0.98959 -0.143913 0 - outer loop - vertex 0.982074 -33.1272 -0.2 - vertex 0.937893 -32.8234 0 - vertex 0.937893 -32.8234 -0.2 - endloop - endfacet - facet normal -0.98959 -0.143913 0 - outer loop - vertex 0.937893 -32.8234 0 - vertex 0.982074 -33.1272 -0.2 - vertex 0.982074 -33.1272 0 - endloop - endfacet - facet normal -0.97614 -0.217144 0 - outer loop - vertex 1.04578 -33.4136 -0.2 - vertex 0.982074 -33.1272 0 - vertex 0.982074 -33.1272 -0.2 - endloop - endfacet - facet normal -0.97614 -0.217144 0 - outer loop - vertex 0.982074 -33.1272 0 - vertex 1.04578 -33.4136 -0.2 - vertex 1.04578 -33.4136 0 - endloop - endfacet - facet normal -0.954541 -0.298078 0 - outer loop - vertex 1.1294 -33.6813 -0.2 - vertex 1.04578 -33.4136 0 - vertex 1.04578 -33.4136 -0.2 - endloop - endfacet - facet normal -0.954541 -0.298078 0 - outer loop - vertex 1.04578 -33.4136 0 - vertex 1.1294 -33.6813 -0.2 - vertex 1.1294 -33.6813 0 - endloop - endfacet - facet normal -0.922268 -0.38655 0 - outer loop - vertex 1.23329 -33.9292 -0.2 - vertex 1.1294 -33.6813 0 - vertex 1.1294 -33.6813 -0.2 - endloop - endfacet - facet normal -0.922268 -0.38655 0 - outer loop - vertex 1.1294 -33.6813 0 - vertex 1.23329 -33.9292 -0.2 - vertex 1.23329 -33.9292 0 - endloop - endfacet - facet normal -0.876493 -0.481415 0 - outer loop - vertex 1.35782 -34.1559 -0.2 - vertex 1.23329 -33.9292 0 - vertex 1.23329 -33.9292 -0.2 - endloop - endfacet - facet normal -0.876493 -0.481415 0 - outer loop - vertex 1.23329 -33.9292 0 - vertex 1.35782 -34.1559 -0.2 - vertex 1.35782 -34.1559 0 - endloop - endfacet - facet normal -0.814521 -0.580134 0 - outer loop - vertex 1.50339 -34.3603 -0.2 - vertex 1.35782 -34.1559 0 - vertex 1.35782 -34.1559 -0.2 - endloop - endfacet - facet normal -0.814521 -0.580134 0 - outer loop - vertex 1.35782 -34.1559 0 - vertex 1.50339 -34.3603 -0.2 - vertex 1.50339 -34.3603 0 - endloop - endfacet - facet normal -0.734597 -0.678504 0 - outer loop - vertex 1.67035 -34.5411 -0.2 - vertex 1.50339 -34.3603 0 - vertex 1.50339 -34.3603 -0.2 - endloop - endfacet - facet normal -0.734597 -0.678504 0 - outer loop - vertex 1.50339 -34.3603 0 - vertex 1.67035 -34.5411 -0.2 - vertex 1.67035 -34.5411 0 - endloop - endfacet - facet normal -0.643892 -0.765116 0 - outer loop - vertex 1.67035 -34.5411 -0.2 - vertex 1.8149 -34.6627 0 - vertex 1.67035 -34.5411 0 - endloop - endfacet - facet normal -0.643892 -0.765116 -0 - outer loop - vertex 1.8149 -34.6627 0 - vertex 1.67035 -34.5411 -0.2 - vertex 1.8149 -34.6627 -0.2 - endloop - endfacet - facet normal -0.554297 -0.832319 0 - outer loop - vertex 1.8149 -34.6627 -0.2 - vertex 1.97535 -34.7696 0 - vertex 1.8149 -34.6627 0 - endloop - endfacet - facet normal -0.554297 -0.832319 -0 - outer loop - vertex 1.97535 -34.7696 0 - vertex 1.8149 -34.6627 -0.2 - vertex 1.97535 -34.7696 -0.2 - endloop - endfacet - facet normal -0.465589 -0.885001 0 - outer loop - vertex 1.97535 -34.7696 -0.2 - vertex 2.15022 -34.8616 0 - vertex 1.97535 -34.7696 0 - endloop - endfacet - facet normal -0.465589 -0.885001 -0 - outer loop - vertex 2.15022 -34.8616 0 - vertex 1.97535 -34.7696 -0.2 - vertex 2.15022 -34.8616 -0.2 - endloop - endfacet - facet normal -0.379703 -0.925108 0 - outer loop - vertex 2.15022 -34.8616 -0.2 - vertex 2.33801 -34.9386 0 - vertex 2.15022 -34.8616 0 - endloop - endfacet - facet normal -0.379703 -0.925108 -0 - outer loop - vertex 2.33801 -34.9386 0 - vertex 2.15022 -34.8616 -0.2 - vertex 2.33801 -34.9386 -0.2 - endloop - endfacet - facet normal -0.297589 -0.954694 0 - outer loop - vertex 2.33801 -34.9386 -0.2 - vertex 2.53723 -35.0007 0 - vertex 2.33801 -34.9386 0 - endloop - endfacet - facet normal -0.297589 -0.954694 -0 - outer loop - vertex 2.53723 -35.0007 0 - vertex 2.33801 -34.9386 -0.2 - vertex 2.53723 -35.0007 -0.2 - endloop - endfacet - facet normal -0.219494 -0.975614 0 - outer loop - vertex 2.53723 -35.0007 -0.2 - vertex 2.7464 -35.0478 0 - vertex 2.53723 -35.0007 0 - endloop - endfacet - facet normal -0.219494 -0.975614 -0 - outer loop - vertex 2.7464 -35.0478 0 - vertex 2.53723 -35.0007 -0.2 - vertex 2.7464 -35.0478 -0.2 - endloop - endfacet - facet normal -0.109599 -0.993976 0 - outer loop - vertex 2.7464 -35.0478 -0.2 - vertex 3.18861 -35.0966 0 - vertex 2.7464 -35.0478 0 - endloop - endfacet - facet normal -0.109599 -0.993976 -0 - outer loop - vertex 3.18861 -35.0966 0 - vertex 2.7464 -35.0478 -0.2 - vertex 3.18861 -35.0966 -0.2 - endloop - endfacet - facet normal 0.0261117 -0.999659 0 - outer loop - vertex 3.18861 -35.0966 -0.2 - vertex 3.65273 -35.0844 0 - vertex 3.18861 -35.0966 0 - endloop - endfacet - facet normal 0.0261117 -0.999659 0 - outer loop - vertex 3.65273 -35.0844 0 - vertex 3.18861 -35.0966 -0.2 - vertex 3.65273 -35.0844 -0.2 - endloop - endfacet - facet normal 0.153159 -0.988202 0 - outer loop - vertex 3.65273 -35.0844 -0.2 - vertex 4.12685 -35.011 0 - vertex 3.65273 -35.0844 0 - endloop - endfacet - facet normal 0.153159 -0.988202 0 - outer loop - vertex 4.12685 -35.011 0 - vertex 3.65273 -35.0844 -0.2 - vertex 4.12685 -35.011 -0.2 - endloop - endfacet - facet normal 0.275485 -0.961305 0 - outer loop - vertex 4.12685 -35.011 -0.2 - vertex 4.59905 -34.8756 0 - vertex 4.12685 -35.011 0 - endloop - endfacet - facet normal 0.275485 -0.961305 0 - outer loop - vertex 4.59905 -34.8756 0 - vertex 4.12685 -35.011 -0.2 - vertex 4.59905 -34.8756 -0.2 - endloop - endfacet - facet normal 0.39595 -0.918272 0 - outer loop - vertex 4.59905 -34.8756 -0.2 - vertex 5.05744 -34.678 0 - vertex 4.59905 -34.8756 0 - endloop - endfacet - facet normal 0.39595 -0.918272 0 - outer loop - vertex 5.05744 -34.678 0 - vertex 4.59905 -34.8756 -0.2 - vertex 5.05744 -34.678 -0.2 - endloop - endfacet - facet normal 0.498797 -0.866719 0 - outer loop - vertex 5.05744 -34.678 -0.2 - vertex 5.41146 -34.4742 0 - vertex 5.05744 -34.678 0 - endloop - endfacet - facet normal 0.498797 -0.866719 0 - outer loop - vertex 5.41146 -34.4742 0 - vertex 5.05744 -34.678 -0.2 - vertex 5.41146 -34.4742 -0.2 - endloop - endfacet - facet normal 0.615093 -0.788455 0 - outer loop - vertex 5.41146 -34.4742 -0.2 - vertex 5.72486 -34.2297 0 - vertex 5.41146 -34.4742 0 - endloop - endfacet - facet normal 0.615093 -0.788455 0 - outer loop - vertex 5.72486 -34.2297 0 - vertex 5.41146 -34.4742 -0.2 - vertex 5.72486 -34.2297 -0.2 - endloop - endfacet - facet normal 0.708025 -0.706188 0 - outer loop - vertex 5.72486 -34.2297 0 - vertex 5.87315 -34.0811 -0.2 - vertex 5.87315 -34.0811 0 - endloop - endfacet - facet normal 0.708025 -0.706188 0 - outer loop - vertex 5.87315 -34.0811 -0.2 - vertex 5.72486 -34.2297 0 - vertex 5.72486 -34.2297 -0.2 - endloop - endfacet - facet normal 0.762128 -0.647427 0 - outer loop - vertex 5.87315 -34.0811 0 - vertex 6.01946 -33.9088 -0.2 - vertex 6.01946 -33.9088 0 - endloop - endfacet - facet normal 0.762128 -0.647427 0 - outer loop - vertex 6.01946 -33.9088 -0.2 - vertex 5.87315 -34.0811 0 - vertex 5.87315 -34.0811 -0.2 - endloop - endfacet - facet normal 0.824099 -0.566446 0 - outer loop - vertex 6.01946 -33.9088 0 - vertex 6.31707 -33.4759 -0.2 - vertex 6.31707 -33.4759 0 - endloop - endfacet - facet normal 0.824099 -0.566446 0 - outer loop - vertex 6.31707 -33.4759 -0.2 - vertex 6.01946 -33.9088 0 - vertex 6.01946 -33.9088 -0.2 - endloop - endfacet - facet normal 0.874277 -0.485427 0 - outer loop - vertex 6.31707 -33.4759 0 - vertex 6.63949 -32.8952 -0.2 - vertex 6.63949 -32.8952 0 - endloop - endfacet - facet normal 0.874277 -0.485427 0 - outer loop - vertex 6.63949 -32.8952 -0.2 - vertex 6.31707 -33.4759 0 - vertex 6.31707 -33.4759 -0.2 - endloop - endfacet - facet normal 0.900468 -0.434923 0 - outer loop - vertex 6.63949 -32.8952 0 - vertex 7.00854 -32.1311 -0.2 - vertex 7.00854 -32.1311 0 - endloop - endfacet - facet normal 0.900468 -0.434923 0 - outer loop - vertex 7.00854 -32.1311 -0.2 - vertex 6.63949 -32.8952 0 - vertex 6.63949 -32.8952 -0.2 - endloop - endfacet - facet normal 0.913625 -0.406558 0 - outer loop - vertex 7.00854 -32.1311 0 - vertex 7.44603 -31.1479 -0.2 - vertex 7.44603 -31.1479 0 - endloop - endfacet - facet normal 0.913625 -0.406558 0 - outer loop - vertex 7.44603 -31.1479 -0.2 - vertex 7.00854 -32.1311 0 - vertex 7.00854 -32.1311 -0.2 - endloop - endfacet - facet normal 0.919886 -0.392186 0 - outer loop - vertex 7.44603 -31.1479 0 - vertex 7.97377 -29.9101 -0.2 - vertex 7.97377 -29.9101 0 - endloop - endfacet - facet normal 0.919886 -0.392186 0 - outer loop - vertex 7.97377 -29.9101 -0.2 - vertex 7.44603 -31.1479 0 - vertex 7.44603 -31.1479 -0.2 - endloop - endfacet - facet normal 0.924332 -0.381588 0 - outer loop - vertex 7.97377 -29.9101 0 - vertex 9.07864 -27.2338 -0.2 - vertex 9.07864 -27.2338 0 - endloop - endfacet - facet normal 0.924332 -0.381588 0 - outer loop - vertex 9.07864 -27.2338 -0.2 - vertex 7.97377 -29.9101 0 - vertex 7.97377 -29.9101 -0.2 - endloop - endfacet - facet normal 0.932155 -0.362059 0 - outer loop - vertex 9.07864 -27.2338 0 - vertex 9.46376 -26.2422 -0.2 - vertex 9.46376 -26.2422 0 - endloop - endfacet - facet normal 0.932155 -0.362059 0 - outer loop - vertex 9.46376 -26.2422 -0.2 - vertex 9.07864 -27.2338 0 - vertex 9.07864 -27.2338 -0.2 - endloop - endfacet - facet normal 0.941332 -0.337483 0 - outer loop - vertex 9.46376 -26.2422 0 - vertex 9.75283 -25.4359 -0.2 - vertex 9.75283 -25.4359 0 - endloop - endfacet - facet normal 0.941332 -0.337483 0 - outer loop - vertex 9.75283 -25.4359 -0.2 - vertex 9.46376 -26.2422 0 - vertex 9.46376 -26.2422 -0.2 - endloop - endfacet - facet normal 0.954562 -0.298012 0 - outer loop - vertex 9.75283 -25.4359 0 - vertex 9.95745 -24.7805 -0.2 - vertex 9.95745 -24.7805 0 - endloop - endfacet - facet normal 0.954562 -0.298012 0 - outer loop - vertex 9.95745 -24.7805 -0.2 - vertex 9.75283 -25.4359 0 - vertex 9.75283 -25.4359 -0.2 - endloop - endfacet - facet normal 0.971378 -0.237537 0 - outer loop - vertex 9.95745 -24.7805 0 - vertex 10.0892 -24.2416 -0.2 - vertex 10.0892 -24.2416 0 - endloop - endfacet - facet normal 0.971378 -0.237537 0 - outer loop - vertex 10.0892 -24.2416 -0.2 - vertex 9.95745 -24.7805 0 - vertex 9.95745 -24.7805 -0.2 - endloop - endfacet - facet normal 0.98828 -0.15265 0 - outer loop - vertex 10.0892 -24.2416 0 - vertex 10.1598 -23.7848 -0.2 - vertex 10.1598 -23.7848 0 - endloop - endfacet - facet normal 0.98828 -0.15265 0 - outer loop - vertex 10.1598 -23.7848 -0.2 - vertex 10.0892 -24.2416 0 - vertex 10.0892 -24.2416 -0.2 - endloop - endfacet - facet normal 0.998693 -0.0511194 0 - outer loop - vertex 10.1598 -23.7848 0 - vertex 10.1807 -23.3758 -0.2 - vertex 10.1807 -23.3758 0 - endloop - endfacet - facet normal 0.998693 -0.0511194 0 - outer loop - vertex 10.1807 -23.3758 -0.2 - vertex 10.1598 -23.7848 0 - vertex 10.1598 -23.7848 -0.2 - endloop - endfacet - facet normal 0.997227 0.0744219 0 - outer loop - vertex 10.1807 -23.3758 0 - vertex 10.149 -22.9513 -0.2 - vertex 10.149 -22.9513 0 - endloop - endfacet - facet normal 0.997227 0.0744219 0 - outer loop - vertex 10.149 -22.9513 -0.2 - vertex 10.1807 -23.3758 0 - vertex 10.1807 -23.3758 -0.2 - endloop - endfacet - facet normal 0.980241 0.197806 0 - outer loop - vertex 10.149 -22.9513 0 - vertex 10.1103 -22.7594 -0.2 - vertex 10.1103 -22.7594 0 - endloop - endfacet - facet normal 0.980241 0.197806 0 - outer loop - vertex 10.1103 -22.7594 -0.2 - vertex 10.149 -22.9513 0 - vertex 10.149 -22.9513 -0.2 - endloop - endfacet - facet normal 0.958253 0.285922 0 - outer loop - vertex 10.1103 -22.7594 0 - vertex 10.0571 -22.5812 -0.2 - vertex 10.0571 -22.5812 0 - endloop - endfacet - facet normal 0.958253 0.285922 0 - outer loop - vertex 10.0571 -22.5812 -0.2 - vertex 10.1103 -22.7594 0 - vertex 10.1103 -22.7594 -0.2 - endloop - endfacet - facet normal 0.926088 0.377307 0 - outer loop - vertex 10.0571 -22.5812 0 - vertex 9.99008 -22.4166 -0.2 - vertex 9.99008 -22.4166 0 - endloop - endfacet - facet normal 0.926088 0.377307 0 - outer loop - vertex 9.99008 -22.4166 -0.2 - vertex 10.0571 -22.5812 0 - vertex 10.0571 -22.5812 -0.2 - endloop - endfacet - facet normal 0.882715 0.469908 0 - outer loop - vertex 9.99008 -22.4166 0 - vertex 9.90973 -22.2656 -0.2 - vertex 9.90973 -22.2656 0 - endloop - endfacet - facet normal 0.882715 0.469908 0 - outer loop - vertex 9.90973 -22.2656 -0.2 - vertex 9.99008 -22.4166 0 - vertex 9.99008 -22.4166 -0.2 - endloop - endfacet - facet normal 0.827725 0.561134 0 - outer loop - vertex 9.90973 -22.2656 0 - vertex 9.81668 -22.1284 -0.2 - vertex 9.81668 -22.1284 0 - endloop - endfacet - facet normal 0.827725 0.561134 0 - outer loop - vertex 9.81668 -22.1284 -0.2 - vertex 9.90973 -22.2656 0 - vertex 9.90973 -22.2656 -0.2 - endloop - endfacet - facet normal 0.761518 0.648143 0 - outer loop - vertex 9.81668 -22.1284 0 - vertex 9.71152 -22.0048 -0.2 - vertex 9.71152 -22.0048 0 - endloop - endfacet - facet normal 0.761518 0.648143 0 - outer loop - vertex 9.71152 -22.0048 -0.2 - vertex 9.81668 -22.1284 0 - vertex 9.81668 -22.1284 -0.2 - endloop - endfacet - facet normal 0.685415 0.728153 -0 - outer loop - vertex 9.71152 -22.0048 -0.2 - vertex 9.59484 -21.895 0 - vertex 9.71152 -22.0048 0 - endloop - endfacet - facet normal 0.685415 0.728153 0 - outer loop - vertex 9.59484 -21.895 0 - vertex 9.71152 -22.0048 -0.2 - vertex 9.59484 -21.895 -0.2 - endloop - endfacet - facet normal 0.601514 0.798862 -0 - outer loop - vertex 9.59484 -21.895 -0.2 - vertex 9.46723 -21.7989 0 - vertex 9.59484 -21.895 0 - endloop - endfacet - facet normal 0.601514 0.798862 0 - outer loop - vertex 9.46723 -21.7989 0 - vertex 9.59484 -21.895 -0.2 - vertex 9.46723 -21.7989 -0.2 - endloop - endfacet - facet normal 0.467006 0.884254 -0 - outer loop - vertex 9.46723 -21.7989 -0.2 - vertex 9.18157 -21.6481 0 - vertex 9.46723 -21.7989 0 - endloop - endfacet - facet normal 0.467006 0.884254 0 - outer loop - vertex 9.18157 -21.6481 0 - vertex 9.46723 -21.7989 -0.2 - vertex 9.18157 -21.6481 -0.2 - endloop - endfacet - facet normal 0.284506 0.958674 -0 - outer loop - vertex 9.18157 -21.6481 -0.2 - vertex 8.85925 -21.5524 0 - vertex 9.18157 -21.6481 0 - endloop - endfacet - facet normal 0.284506 0.958674 0 - outer loop - vertex 8.85925 -21.5524 0 - vertex 9.18157 -21.6481 -0.2 - vertex 8.85925 -21.5524 -0.2 - endloop - endfacet - facet normal 0.112981 0.993597 -0 - outer loop - vertex 8.85925 -21.5524 -0.2 - vertex 8.50498 -21.5121 0 - vertex 8.85925 -21.5524 0 - endloop - endfacet - facet normal 0.112981 0.993597 0 - outer loop - vertex 8.50498 -21.5121 0 - vertex 8.85925 -21.5524 -0.2 - vertex 8.50498 -21.5121 -0.2 - endloop - endfacet - facet normal -0.039935 0.999202 0 - outer loop - vertex 8.50498 -21.5121 -0.2 - vertex 8.12348 -21.5274 0 - vertex 8.50498 -21.5121 0 - endloop - endfacet - facet normal -0.039935 0.999202 0 - outer loop - vertex 8.12348 -21.5274 0 - vertex 8.50498 -21.5121 -0.2 - vertex 8.12348 -21.5274 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.1179 -30.7807 -0.2 - vertex 30.2299 -31.0524 -0.2 - vertex 30.2187 -30.9454 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.1179 -30.7807 -0.2 - vertex 30.2187 -30.9454 -0.2 - vertex 30.1812 -30.855 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.2299 -31.0524 -0.2 - vertex 30.1179 -30.7807 -0.2 - vertex 30.2146 -31.1764 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.2146 -31.1764 -0.2 - vertex 30.1179 -30.7807 -0.2 - vertex 30.1726 -31.3179 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.9008 -30.6099 -0.2 - vertex 30.1726 -31.3179 -0.2 - vertex 30.1179 -30.7807 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.1726 -31.3179 -0.2 - vertex 29.9008 -30.6099 -0.2 - vertex 30.1034 -31.4773 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.7002 -30.4984 -0.2 - vertex 30.1034 -31.4773 -0.2 - vertex 29.9008 -30.6099 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.1034 -31.4773 -0.2 - vertex 29.7002 -30.4984 -0.2 - vertex 29.0845 -30.5466 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.8369 -30.6989 -0.2 - vertex 30.1034 -31.4773 -0.2 - vertex 29.0845 -30.5466 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.3033 -30.4642 -0.2 - vertex 29.7002 -30.4984 -0.2 - vertex 29.5048 -30.449 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.7002 -30.4984 -0.2 - vertex 29.3033 -30.4642 -0.2 - vertex 29.0845 -30.5466 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.1034 -31.4773 -0.2 - vertex 28.8369 -30.6989 -0.2 - vertex 29.8827 -31.8517 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.5495 -30.9236 -0.2 - vertex 29.8827 -31.8517 -0.2 - vertex 28.8369 -30.6989 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.8827 -31.8517 -0.2 - vertex 28.5495 -30.9236 -0.2 - vertex 29.5499 -32.3032 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.2108 -31.2235 -0.2 - vertex 29.5499 -32.3032 -0.2 - vertex 28.5495 -30.9236 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.5499 -32.3032 -0.2 - vertex 28.2108 -31.2235 -0.2 - vertex 29.1028 -32.8352 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 27.276 -32.055 -0.2 - vertex 29.1028 -32.8352 -0.2 - vertex 28.2108 -31.2235 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.1028 -32.8352 -0.2 - vertex 27.276 -32.055 -0.2 - vertex 28.539 -33.4515 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.539 -33.4515 -0.2 - vertex 27.276 -32.055 -0.2 - vertex 27.856 -34.1555 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.4309 -32.7448 -0.2 - vertex 27.856 -34.1555 -0.2 - vertex 27.276 -32.055 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.856 -34.1555 -0.2 - vertex 26.4309 -32.7448 -0.2 - vertex 27.3514 -34.6537 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.6577 -33.3022 -0.2 - vertex 27.3514 -34.6537 -0.2 - vertex 26.4309 -32.7448 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3514 -34.6537 -0.2 - vertex 25.6577 -33.3022 -0.2 - vertex 26.8832 -35.0925 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.2926 -33.5342 -0.2 - vertex 26.8832 -35.0925 -0.2 - vertex 25.6577 -33.3022 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8832 -35.0925 -0.2 - vertex 25.2926 -33.5342 -0.2 - vertex 26.4377 -35.4824 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.9388 -33.7368 -0.2 - vertex 26.4377 -35.4824 -0.2 - vertex 25.2926 -33.5342 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.4377 -35.4824 -0.2 - vertex 24.9388 -33.7368 -0.2 - vertex 26.0012 -35.834 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.5942 -33.911 -0.2 - vertex 26.0012 -35.834 -0.2 - vertex 24.9388 -33.7368 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0012 -35.834 -0.2 - vertex 24.5942 -33.911 -0.2 - vertex 25.5601 -36.1579 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.2566 -34.0582 -0.2 - vertex 25.5601 -36.1579 -0.2 - vertex 24.5942 -33.911 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.5601 -36.1579 -0.2 - vertex 24.2566 -34.0582 -0.2 - vertex 25.1006 -36.4644 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.9237 -34.1793 -0.2 - vertex 25.1006 -36.4644 -0.2 - vertex 24.2566 -34.0582 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.1006 -36.4644 -0.2 - vertex 23.9237 -34.1793 -0.2 - vertex 24.6091 -36.7642 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.5933 -34.2758 -0.2 - vertex 24.6091 -36.7642 -0.2 - vertex 23.9237 -34.1793 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.2634 -34.3487 -0.2 - vertex 24.6091 -36.7642 -0.2 - vertex 23.5933 -34.2758 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6091 -36.7642 -0.2 - vertex 23.2634 -34.3487 -0.2 - vertex 24.0719 -37.0678 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.9315 -34.3992 -0.2 - vertex 24.0719 -37.0678 -0.2 - vertex 23.2634 -34.3487 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.0719 -37.0678 -0.2 - vertex 22.9315 -34.3992 -0.2 - vertex 23.2902 -37.4839 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.5956 -34.4285 -0.2 - vertex 23.2902 -37.4839 -0.2 - vertex 22.9315 -34.3992 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.2534 -34.4379 -0.2 - vertex 23.2902 -37.4839 -0.2 - vertex 22.5956 -34.4285 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.2902 -37.4839 -0.2 - vertex 22.2534 -34.4379 -0.2 - vertex 22.6041 -37.8201 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.8355 -34.4151 -0.2 - vertex 22.6041 -37.8201 -0.2 - vertex 22.2534 -34.4379 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.6041 -37.8201 -0.2 - vertex 21.8355 -34.4151 -0.2 - vertex 21.9889 -38.084 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.43 -34.349 -0.2 - vertex 21.9889 -38.084 -0.2 - vertex 21.8355 -34.4151 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.43 -34.349 -0.2 - vertex 21.4197 -38.2833 -0.2 - vertex 21.9889 -38.084 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0421 -34.2419 -0.2 - vertex 21.4197 -38.2833 -0.2 - vertex 21.43 -34.349 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0421 -34.2419 -0.2 - vertex 20.8717 -38.4255 -0.2 - vertex 21.4197 -38.2833 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3202 -38.5182 -0.2 - vertex 21.0421 -34.2419 -0.2 - vertex 20.6768 -34.0963 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7403 -38.5689 -0.2 - vertex 20.6768 -34.0963 -0.2 - vertex 20.3392 -33.9144 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0421 -34.2419 -0.2 - vertex 20.3202 -38.5182 -0.2 - vertex 20.8717 -38.4255 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4669 -38.5591 -0.2 - vertex 20.3392 -33.9144 -0.2 - vertex 20.0345 -33.6987 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.8529 -38.0675 -0.2 - vertex 20.0345 -33.6987 -0.2 - vertex 19.7677 -33.4516 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.6768 -34.0963 -0.2 - vertex 19.7403 -38.5689 -0.2 - vertex 20.3202 -38.5182 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.927 -35.9398 -0.2 - vertex 19.7677 -33.4516 -0.2 - vertex 19.5439 -33.1754 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.6774 -34.4466 -0.2 - vertex 19.5439 -33.1754 -0.2 - vertex 19.466 -33.0295 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.6656 -33.913 -0.2 - vertex 19.466 -33.0295 -0.2 - vertex 19.403 -32.8415 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 14.73 -32.8205 -0.2 - vertex 19.403 -32.8415 -0.2 - vertex 19.3545 -32.6156 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.8056 -32.2631 -0.2 - vertex 19.3545 -32.6156 -0.2 - vertex 19.3203 -32.3556 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3392 -33.9144 -0.2 - vertex 19.1073 -38.5852 -0.2 - vertex 19.7403 -38.5689 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9098 -31.6993 -0.2 - vertex 19.3203 -32.3556 -0.2 - vertex 19.2935 -31.7496 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4186 -23.1088 -0.2 - vertex 32.0619 -22.7991 -0.2 - vertex 32.0349 -22.2828 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 32.0619 -22.7991 -0.2 - vertex 27.4186 -23.1088 -0.2 - vertex 32.0372 -23.3848 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3785 -22.8574 -0.2 - vertex 32.0349 -22.2828 -0.2 - vertex 31.9549 -21.8223 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 27.4312 -23.3865 -0.2 - vertex 32.0372 -23.3848 -0.2 - vertex 27.4186 -23.1088 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3785 -22.8574 -0.2 - vertex 31.9549 -21.8223 -0.2 - vertex 31.8204 -21.404 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 27.4161 -23.6904 -0.2 - vertex 31.9625 -24.0535 -0.2 - vertex 27.4312 -23.3865 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3785 -22.8574 -0.2 - vertex 31.8204 -21.404 -0.2 - vertex 31.6298 -21.0145 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.9625 -24.0535 -0.2 - vertex 27.4161 -23.6904 -0.2 - vertex 31.8392 -24.8188 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 27.373 -24.0204 -0.2 - vertex 31.8392 -24.8188 -0.2 - vertex 27.4161 -23.6904 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.8392 -24.8188 -0.2 - vertex 27.2401 -24.8188 -0.2 - vertex 31.6784 -25.7224 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3785 -22.8574 -0.2 - vertex 31.6298 -21.0145 -0.2 - vertex 31.3816 -20.64 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2401 -24.8188 -0.2 - vertex 31.8392 -24.8188 -0.2 - vertex 27.373 -24.0204 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3111 -22.6325 -0.2 - vertex 31.3816 -20.64 -0.2 - vertex 31.074 -20.2742 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 29.58 -27.3827 -0.2 - vertex 31.6784 -25.7224 -0.2 - vertex 27.2401 -24.8188 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 30.0709 -27.3331 -0.2 - vertex 31.6784 -25.7224 -0.2 - vertex 29.58 -27.3827 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3111 -22.6325 -0.2 - vertex 31.074 -20.2742 -0.2 - vertex 30.7365 -19.9631 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 30.4717 -27.2602 -0.2 - vertex 31.6003 -26.0834 -0.2 - vertex 30.0709 -27.3331 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3111 -22.6325 -0.2 - vertex 30.7365 -19.9631 -0.2 - vertex 30.3649 -19.705 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 30.7934 -27.1595 -0.2 - vertex 31.5092 -26.3899 -0.2 - vertex 30.4717 -27.2602 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2166 -22.4344 -0.2 - vertex 30.3649 -19.705 -0.2 - vertex 29.9546 -19.4981 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 31.047 -27.0266 -0.2 - vertex 31.3939 -26.6463 -0.2 - vertex 30.7934 -27.1595 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2166 -22.4344 -0.2 - vertex 29.9546 -19.4981 -0.2 - vertex 29.5013 -19.3404 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2166 -22.4344 -0.2 - vertex 29.5013 -19.3404 -0.2 - vertex 29.0007 -19.2301 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.3939 -26.6463 -0.2 - vertex 31.047 -27.0266 -0.2 - vertex 31.2435 -26.857 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0952 -22.2631 -0.2 - vertex 29.0007 -19.2301 -0.2 - vertex 28.4483 -19.1654 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9471 -22.1189 -0.2 - vertex 28.4483 -19.1654 -0.2 - vertex 27.8398 -19.1444 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 32.0372 -23.3848 -0.2 - vertex 27.4312 -23.3865 -0.2 - vertex 31.9625 -24.0535 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.6003 -26.0834 -0.2 - vertex 30.4717 -27.2602 -0.2 - vertex 31.5092 -26.3899 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.5092 -26.3899 -0.2 - vertex 30.7934 -27.1595 -0.2 - vertex 31.3939 -26.6463 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 32.0349 -22.2828 -0.2 - vertex 27.3785 -22.8574 -0.2 - vertex 27.4186 -23.1088 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.3816 -20.64 -0.2 - vertex 27.3111 -22.6325 -0.2 - vertex 27.3785 -22.8574 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.3649 -19.705 -0.2 - vertex 27.2166 -22.4344 -0.2 - vertex 27.3111 -22.6325 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.7726 -22.0019 -0.2 - vertex 27.8398 -19.1444 -0.2 - vertex 27.1629 -19.1581 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.0007 -19.2301 -0.2 - vertex 27.0952 -22.2631 -0.2 - vertex 27.2166 -22.4344 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.4483 -19.1654 -0.2 - vertex 26.9471 -22.1189 -0.2 - vertex 27.0952 -22.2631 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.8398 -19.1444 -0.2 - vertex 26.7726 -22.0019 -0.2 - vertex 26.9471 -22.1189 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.1629 -19.1581 -0.2 - vertex 26.5717 -21.9122 -0.2 - vertex 26.7726 -22.0019 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.5531 -19.2026 -0.2 - vertex 26.5717 -21.9122 -0.2 - vertex 27.1629 -19.1581 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.5531 -19.2026 -0.2 - vertex 26.3449 -21.8501 -0.2 - vertex 26.5717 -21.9122 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.9886 -19.284 -0.2 - vertex 26.3449 -21.8501 -0.2 - vertex 26.5531 -19.2026 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.3449 -21.8501 -0.2 - vertex 25.9886 -19.284 -0.2 - vertex 26.0922 -21.8157 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.4477 -19.4082 -0.2 - vertex 26.0922 -21.8157 -0.2 - vertex 25.9886 -19.284 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0922 -21.8157 -0.2 - vertex 25.4477 -19.4082 -0.2 - vertex 25.8138 -21.8092 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.8138 -21.8092 -0.2 - vertex 25.4477 -19.4082 -0.2 - vertex 25.51 -21.8307 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.9086 -19.5812 -0.2 - vertex 25.51 -21.8307 -0.2 - vertex 25.4477 -19.4082 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.51 -21.8307 -0.2 - vertex 24.9086 -19.5812 -0.2 - vertex 25.181 -21.8805 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.3497 -19.8089 -0.2 - vertex 25.181 -21.8805 -0.2 - vertex 24.9086 -19.5812 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.181 -21.8805 -0.2 - vertex 24.3497 -19.8089 -0.2 - vertex 24.827 -21.9586 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.7493 -20.0973 -0.2 - vertex 24.827 -21.9586 -0.2 - vertex 24.3497 -19.8089 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.827 -21.9586 -0.2 - vertex 23.7493 -20.0973 -0.2 - vertex 24.5319 -22.0421 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.5319 -22.0421 -0.2 - vertex 23.7493 -20.0973 -0.2 - vertex 24.2621 -22.1397 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.0854 -20.4525 -0.2 - vertex 24.2621 -22.1397 -0.2 - vertex 23.7493 -20.0973 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.2621 -22.1397 -0.2 - vertex 23.0854 -20.4525 -0.2 - vertex 24.0091 -22.2567 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.0091 -22.2567 -0.2 - vertex 23.0854 -20.4525 -0.2 - vertex 23.7644 -22.3987 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.3543 -20.8886 -0.2 - vertex 23.7644 -22.3987 -0.2 - vertex 23.0854 -20.4525 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.7644 -22.3987 -0.2 - vertex 22.3543 -20.8886 -0.2 - vertex 23.5194 -22.5712 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.5194 -22.5712 -0.2 - vertex 22.3543 -20.8886 -0.2 - vertex 23.2657 -22.7795 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.6485 -21.3703 -0.2 - vertex 23.2657 -22.7795 -0.2 - vertex 22.3543 -20.8886 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.2657 -22.7795 -0.2 - vertex 21.6485 -21.3703 -0.2 - vertex 22.6979 -23.3258 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 20.9665 -21.899 -0.2 - vertex 22.6979 -23.3258 -0.2 - vertex 21.6485 -21.3703 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.6979 -23.3258 -0.2 - vertex 20.9665 -21.899 -0.2 - vertex 22.2832 -23.7683 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 20.3071 -22.4759 -0.2 - vertex 22.2832 -23.7683 -0.2 - vertex 20.9665 -21.899 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.2832 -23.7683 -0.2 - vertex 20.3071 -22.4759 -0.2 - vertex 21.9437 -24.1601 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.9437 -24.1601 -0.2 - vertex 20.3071 -22.4759 -0.2 - vertex 21.7143 -24.4589 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.6689 -23.1024 -0.2 - vertex 21.7143 -24.4589 -0.2 - vertex 20.3071 -22.4759 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.6784 -25.7224 -0.2 - vertex 30.0709 -27.3331 -0.2 - vertex 31.6003 -26.0834 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.58 -27.3827 -0.2 - vertex 27.2401 -24.8188 -0.2 - vertex 28.988 -27.4135 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.988 -27.4135 -0.2 - vertex 27.2401 -24.8188 -0.2 - vertex 27.4568 -27.4364 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2401 -24.8188 -0.2 - vertex 25.3891 -27.4375 -0.2 - vertex 27.4568 -27.4364 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.435 -24.8188 -0.2 - vertex 25.3891 -27.4375 -0.2 - vertex 27.2401 -24.8188 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.3459 -24.8032 -0.2 - vertex 25.3891 -27.4375 -0.2 - vertex 24.435 -24.8188 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.454 -24.761 -0.2 - vertex 25.3891 -27.4375 -0.2 - vertex 23.3459 -24.8032 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.1247 -27.4424 -0.2 - vertex 22.454 -24.761 -0.2 - vertex 21.8514 -24.6984 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.1247 -27.4424 -0.2 - vertex 21.8514 -24.6984 -0.2 - vertex 21.6873 -24.6616 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.1247 -27.4424 -0.2 - vertex 21.6873 -24.6616 -0.2 - vertex 21.63 -24.6221 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.7143 -24.4589 -0.2 - vertex 19.6689 -23.1024 -0.2 - vertex 21.6518 -24.5601 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.454 -24.761 -0.2 - vertex 20.1247 -27.4424 -0.2 - vertex 25.3891 -27.4375 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.6518 -24.5601 -0.2 - vertex 19.6689 -23.1024 -0.2 - vertex 21.63 -24.6221 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.0503 -23.7798 -0.2 - vertex 21.63 -24.6221 -0.2 - vertex 19.6689 -23.1024 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 18.4501 -24.5093 -0.2 - vertex 21.63 -24.6221 -0.2 - vertex 19.0503 -23.7798 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.63 -24.6221 -0.2 - vertex 18.4501 -24.5093 -0.2 - vertex 20.1247 -27.4424 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 17.8667 -25.2923 -0.2 - vertex 20.1247 -27.4424 -0.2 - vertex 18.4501 -24.5093 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 17.4656 -25.8764 -0.2 - vertex 20.1247 -27.4424 -0.2 - vertex 17.8667 -25.2923 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 17.0901 -26.4624 -0.2 - vertex 20.1247 -27.4424 -0.2 - vertex 17.4656 -25.8764 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.1247 -27.4424 -0.2 - vertex 17.0901 -26.4624 -0.2 - vertex 19.9171 -28.0436 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 16.7406 -27.0496 -0.2 - vertex 19.9171 -28.0436 -0.2 - vertex 17.0901 -26.4624 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.9171 -28.0436 -0.2 - vertex 16.7406 -27.0496 -0.2 - vertex 19.6992 -28.7679 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 16.4172 -27.6373 -0.2 - vertex 19.6992 -28.7679 -0.2 - vertex 16.7406 -27.0496 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6992 -28.7679 -0.2 - vertex 16.4172 -27.6373 -0.2 - vertex 19.5256 -29.5327 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 16.1203 -28.2246 -0.2 - vertex 19.5256 -29.5327 -0.2 - vertex 16.4172 -27.6373 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.8502 -28.8109 -0.2 - vertex 19.5256 -29.5327 -0.2 - vertex 16.1203 -28.2246 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5256 -29.5327 -0.2 - vertex 15.8502 -28.8109 -0.2 - vertex 19.3985 -30.306 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.6071 -29.3953 -0.2 - vertex 19.3985 -30.306 -0.2 - vertex 15.8502 -28.8109 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.3912 -29.9771 -0.2 - vertex 19.3985 -30.306 -0.2 - vertex 15.6071 -29.3953 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3985 -30.306 -0.2 - vertex 15.3912 -29.9771 -0.2 - vertex 19.3204 -31.0557 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.2028 -30.5555 -0.2 - vertex 19.3204 -31.0557 -0.2 - vertex 15.3912 -29.9771 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3204 -31.0557 -0.2 - vertex 15.2028 -30.5555 -0.2 - vertex 19.2935 -31.7496 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.0423 -31.1299 -0.2 - vertex 19.2935 -31.7496 -0.2 - vertex 15.2028 -30.5555 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 14.9098 -31.6993 -0.2 - vertex 19.2935 -31.7496 -0.2 - vertex 15.0423 -31.1299 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3203 -32.3556 -0.2 - vertex 14.9098 -31.6993 -0.2 - vertex 14.8056 -32.2631 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3545 -32.6156 -0.2 - vertex 14.8056 -32.2631 -0.2 - vertex 14.73 -32.8205 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.403 -32.8415 -0.2 - vertex 14.73 -32.8205 -0.2 - vertex 14.6832 -33.3707 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.403 -32.8415 -0.2 - vertex 14.6832 -33.3707 -0.2 - vertex 14.6656 -33.913 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.466 -33.0295 -0.2 - vertex 14.6656 -33.913 -0.2 - vertex 14.6774 -34.4466 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5439 -33.1754 -0.2 - vertex 14.6774 -34.4466 -0.2 - vertex 14.7369 -35.0944 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3392 -33.9144 -0.2 - vertex 18.4669 -38.5591 -0.2 - vertex 19.1073 -38.5852 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0345 -33.6987 -0.2 - vertex 18.1792 -38.5233 -0.2 - vertex 18.4669 -38.5591 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0345 -33.6987 -0.2 - vertex 17.9062 -38.4707 -0.2 - vertex 18.1792 -38.5233 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0345 -33.6987 -0.2 - vertex 17.6424 -38.4 -0.2 - vertex 17.9062 -38.4707 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0345 -33.6987 -0.2 - vertex 17.3825 -38.3101 -0.2 - vertex 17.6424 -38.4 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0345 -33.6987 -0.2 - vertex 17.1211 -38.1997 -0.2 - vertex 17.3825 -38.3101 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0345 -33.6987 -0.2 - vertex 16.8529 -38.0675 -0.2 - vertex 17.1211 -38.1997 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5439 -33.1754 -0.2 - vertex 14.7369 -35.0944 -0.2 - vertex 14.8496 -35.6738 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 16.342 -37.7658 -0.2 - vertex 16.8529 -38.0675 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5439 -33.1754 -0.2 - vertex 14.8496 -35.6738 -0.2 - vertex 14.927 -35.9398 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 16.1153 -37.6039 -0.2 - vertex 16.342 -37.7658 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 15.907 -37.4336 -0.2 - vertex 16.1153 -37.6039 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 15.7167 -37.2541 -0.2 - vertex 15.907 -37.4336 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 15.544 -37.0647 -0.2 - vertex 15.7167 -37.2541 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 15.3884 -36.8644 -0.2 - vertex 15.544 -37.0647 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 15.2493 -36.6526 -0.2 - vertex 15.3884 -36.8644 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 15.1264 -36.4284 -0.2 - vertex 15.2493 -36.6526 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 14.927 -35.9398 -0.2 - vertex 15.0191 -36.1911 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 15.0191 -36.1911 -0.2 - vertex 15.1264 -36.4284 -0.2 - endloop - endfacet - facet normal -0.116346 -0.993209 0 - outer loop - vertex 28.4483 -19.1654 -0.2 - vertex 29.0007 -19.2301 0 - vertex 28.4483 -19.1654 0 - endloop - endfacet - facet normal -0.116346 -0.993209 -0 - outer loop - vertex 29.0007 -19.2301 0 - vertex 28.4483 -19.1654 -0.2 - vertex 29.0007 -19.2301 -0.2 - endloop - endfacet - facet normal -0.215114 -0.976589 0 - outer loop - vertex 29.0007 -19.2301 -0.2 - vertex 29.5013 -19.3404 0 - vertex 29.0007 -19.2301 0 - endloop - endfacet - facet normal -0.215114 -0.976589 -0 - outer loop - vertex 29.5013 -19.3404 0 - vertex 29.0007 -19.2301 -0.2 - vertex 29.5013 -19.3404 -0.2 - endloop - endfacet - facet normal -0.328588 -0.944473 0 - outer loop - vertex 29.5013 -19.3404 -0.2 - vertex 29.9546 -19.4981 0 - vertex 29.5013 -19.3404 0 - endloop - endfacet - facet normal -0.328588 -0.944473 -0 - outer loop - vertex 29.9546 -19.4981 0 - vertex 29.5013 -19.3404 -0.2 - vertex 29.9546 -19.4981 -0.2 - endloop - endfacet - facet normal -0.450382 -0.892836 0 - outer loop - vertex 29.9546 -19.4981 -0.2 - vertex 30.3649 -19.705 0 - vertex 29.9546 -19.4981 0 - endloop - endfacet - facet normal -0.450382 -0.892836 -0 - outer loop - vertex 30.3649 -19.705 0 - vertex 29.9546 -19.4981 -0.2 - vertex 30.3649 -19.705 -0.2 - endloop - endfacet - facet normal -0.570354 -0.821399 0 - outer loop - vertex 30.3649 -19.705 -0.2 - vertex 30.7365 -19.9631 0 - vertex 30.3649 -19.705 0 - endloop - endfacet - facet normal -0.570354 -0.821399 -0 - outer loop - vertex 30.7365 -19.9631 0 - vertex 30.3649 -19.705 -0.2 - vertex 30.7365 -19.9631 -0.2 - endloop - endfacet - facet normal -0.677745 -0.735297 0 - outer loop - vertex 30.7365 -19.9631 -0.2 - vertex 31.074 -20.2742 0 - vertex 30.7365 -19.9631 0 - endloop - endfacet - facet normal -0.677745 -0.735297 -0 - outer loop - vertex 31.074 -20.2742 0 - vertex 30.7365 -19.9631 -0.2 - vertex 31.074 -20.2742 -0.2 - endloop - endfacet - facet normal -0.765393 -0.643563 0 - outer loop - vertex 31.3816 -20.64 -0.2 - vertex 31.074 -20.2742 0 - vertex 31.074 -20.2742 -0.2 - endloop - endfacet - facet normal -0.765393 -0.643563 0 - outer loop - vertex 31.074 -20.2742 0 - vertex 31.3816 -20.64 -0.2 - vertex 31.3816 -20.64 0 - endloop - endfacet - facet normal -0.833589 -0.552384 0 - outer loop - vertex 31.6298 -21.0145 -0.2 - vertex 31.3816 -20.64 0 - vertex 31.3816 -20.64 -0.2 - endloop - endfacet - facet normal -0.833589 -0.552384 0 - outer loop - vertex 31.3816 -20.64 0 - vertex 31.6298 -21.0145 -0.2 - vertex 31.6298 -21.0145 0 - endloop - endfacet - facet normal -0.898247 -0.439492 0 - outer loop - vertex 31.8204 -21.404 -0.2 - vertex 31.6298 -21.0145 0 - vertex 31.6298 -21.0145 -0.2 - endloop - endfacet - facet normal -0.898247 -0.439492 0 - outer loop - vertex 31.6298 -21.0145 0 - vertex 31.8204 -21.404 -0.2 - vertex 31.8204 -21.404 0 - endloop - endfacet - facet normal -0.951943 -0.306275 0 - outer loop - vertex 31.9549 -21.8223 -0.2 - vertex 31.8204 -21.404 0 - vertex 31.8204 -21.404 -0.2 - endloop - endfacet - facet normal -0.951943 -0.306275 0 - outer loop - vertex 31.8204 -21.404 0 - vertex 31.9549 -21.8223 -0.2 - vertex 31.9549 -21.8223 0 - endloop - endfacet - facet normal -0.985239 -0.171183 0 - outer loop - vertex 32.0349 -22.2828 -0.2 - vertex 31.9549 -21.8223 0 - vertex 31.9549 -21.8223 -0.2 - endloop - endfacet - facet normal -0.985239 -0.171183 0 - outer loop - vertex 31.9549 -21.8223 0 - vertex 32.0349 -22.2828 -0.2 - vertex 32.0349 -22.2828 0 - endloop - endfacet - facet normal -0.998641 -0.0521185 0 - outer loop - vertex 32.0619 -22.7991 -0.2 - vertex 32.0349 -22.2828 0 - vertex 32.0349 -22.2828 -0.2 - endloop - endfacet - facet normal -0.998641 -0.0521185 0 - outer loop - vertex 32.0349 -22.2828 0 - vertex 32.0619 -22.7991 -0.2 - vertex 32.0619 -22.7991 0 - endloop - endfacet - facet normal -0.999117 0.0420155 0 - outer loop - vertex 32.0372 -23.3848 -0.2 - vertex 32.0619 -22.7991 0 - vertex 32.0619 -22.7991 -0.2 - endloop - endfacet - facet normal -0.999117 0.0420155 0 - outer loop - vertex 32.0619 -22.7991 0 - vertex 32.0372 -23.3848 -0.2 - vertex 32.0372 -23.3848 0 - endloop - endfacet - facet normal -0.993814 0.111054 0 - outer loop - vertex 31.9625 -24.0535 -0.2 - vertex 32.0372 -23.3848 0 - vertex 32.0372 -23.3848 -0.2 - endloop - endfacet - facet normal -0.993814 0.111054 0 - outer loop - vertex 32.0372 -23.3848 0 - vertex 31.9625 -24.0535 -0.2 - vertex 31.9625 -24.0535 0 - endloop - endfacet - facet normal -0.98726 0.159117 0 - outer loop - vertex 31.8392 -24.8188 -0.2 - vertex 31.9625 -24.0535 0 - vertex 31.9625 -24.0535 -0.2 - endloop - endfacet - facet normal -0.98726 0.159117 0 - outer loop - vertex 31.9625 -24.0535 0 - vertex 31.8392 -24.8188 -0.2 - vertex 31.8392 -24.8188 0 - endloop - endfacet - facet normal -0.984533 0.175198 0 - outer loop - vertex 31.6784 -25.7224 -0.2 - vertex 31.8392 -24.8188 0 - vertex 31.8392 -24.8188 -0.2 - endloop - endfacet - facet normal -0.984533 0.175198 0 - outer loop - vertex 31.8392 -24.8188 0 - vertex 31.6784 -25.7224 -0.2 - vertex 31.6784 -25.7224 0 - endloop - endfacet - facet normal -0.977413 0.211338 0 - outer loop - vertex 31.6003 -26.0834 -0.2 - vertex 31.6784 -25.7224 0 - vertex 31.6784 -25.7224 -0.2 - endloop - endfacet - facet normal -0.977413 0.211338 0 - outer loop - vertex 31.6784 -25.7224 0 - vertex 31.6003 -26.0834 -0.2 - vertex 31.6003 -26.0834 0 - endloop - endfacet - facet normal -0.958488 0.285133 0 - outer loop - vertex 31.5092 -26.3899 -0.2 - vertex 31.6003 -26.0834 0 - vertex 31.6003 -26.0834 -0.2 - endloop - endfacet - facet normal -0.958488 0.285133 0 - outer loop - vertex 31.6003 -26.0834 0 - vertex 31.5092 -26.3899 -0.2 - vertex 31.5092 -26.3899 0 - endloop - endfacet - facet normal -0.912047 0.410085 0 - outer loop - vertex 31.3939 -26.6463 -0.2 - vertex 31.5092 -26.3899 0 - vertex 31.5092 -26.3899 -0.2 - endloop - endfacet - facet normal -0.912047 0.410085 0 - outer loop - vertex 31.5092 -26.3899 0 - vertex 31.3939 -26.6463 -0.2 - vertex 31.3939 -26.6463 0 - endloop - endfacet - facet normal -0.814021 0.580836 0 - outer loop - vertex 31.2435 -26.857 -0.2 - vertex 31.3939 -26.6463 0 - vertex 31.3939 -26.6463 -0.2 - endloop - endfacet - facet normal -0.814021 0.580836 0 - outer loop - vertex 31.3939 -26.6463 0 - vertex 31.2435 -26.857 -0.2 - vertex 31.2435 -26.857 0 - endloop - endfacet - facet normal -0.653404 0.75701 0 - outer loop - vertex 31.2435 -26.857 -0.2 - vertex 31.047 -27.0266 0 - vertex 31.2435 -26.857 0 - endloop - endfacet - facet normal -0.653404 0.75701 0 - outer loop - vertex 31.047 -27.0266 0 - vertex 31.2435 -26.857 -0.2 - vertex 31.047 -27.0266 -0.2 - endloop - endfacet - facet normal -0.464184 0.885739 0 - outer loop - vertex 31.047 -27.0266 -0.2 - vertex 30.7934 -27.1595 0 - vertex 31.047 -27.0266 0 - endloop - endfacet - facet normal -0.464184 0.885739 0 - outer loop - vertex 30.7934 -27.1595 0 - vertex 31.047 -27.0266 -0.2 - vertex 30.7934 -27.1595 -0.2 - endloop - endfacet - facet normal -0.298657 0.954361 0 - outer loop - vertex 30.7934 -27.1595 -0.2 - vertex 30.4717 -27.2602 0 - vertex 30.7934 -27.1595 0 - endloop - endfacet - facet normal -0.298657 0.954361 0 - outer loop - vertex 30.4717 -27.2602 0 - vertex 30.7934 -27.1595 -0.2 - vertex 30.4717 -27.2602 -0.2 - endloop - endfacet - facet normal -0.17896 0.983856 0 - outer loop - vertex 30.4717 -27.2602 -0.2 - vertex 30.0709 -27.3331 0 - vertex 30.4717 -27.2602 0 - endloop - endfacet - facet normal -0.17896 0.983856 0 - outer loop - vertex 30.0709 -27.3331 0 - vertex 30.4717 -27.2602 -0.2 - vertex 30.0709 -27.3331 -0.2 - endloop - endfacet - facet normal -0.100534 0.994934 0 - outer loop - vertex 30.0709 -27.3331 -0.2 - vertex 29.58 -27.3827 0 - vertex 30.0709 -27.3331 0 - endloop - endfacet - facet normal -0.100534 0.994934 0 - outer loop - vertex 29.58 -27.3827 0 - vertex 30.0709 -27.3331 -0.2 - vertex 29.58 -27.3827 -0.2 - endloop - endfacet - facet normal -0.0519093 0.998652 0 - outer loop - vertex 29.58 -27.3827 -0.2 - vertex 28.988 -27.4135 0 - vertex 29.58 -27.3827 0 - endloop - endfacet - facet normal -0.0519093 0.998652 0 - outer loop - vertex 28.988 -27.4135 0 - vertex 29.58 -27.3827 -0.2 - vertex 28.988 -27.4135 -0.2 - endloop - endfacet - facet normal -0.014953 0.999888 0 - outer loop - vertex 28.988 -27.4135 -0.2 - vertex 27.4568 -27.4364 0 - vertex 28.988 -27.4135 0 - endloop - endfacet - facet normal -0.014953 0.999888 0 - outer loop - vertex 27.4568 -27.4364 0 - vertex 28.988 -27.4135 -0.2 - vertex 27.4568 -27.4364 -0.2 - endloop - endfacet - facet normal -0.000556252 1 0 - outer loop - vertex 27.4568 -27.4364 -0.2 - vertex 25.3891 -27.4375 0 - vertex 27.4568 -27.4364 0 - endloop - endfacet - facet normal -0.000556252 1 0 - outer loop - vertex 25.3891 -27.4375 0 - vertex 27.4568 -27.4364 -0.2 - vertex 25.3891 -27.4375 -0.2 + vertex 25.3774 -27.4375 0 + vertex 28.9763 -27.4135 -3 + vertex 25.3774 -27.4375 -3 endloop endfacet facet normal -0.00092424 1 0 outer loop - vertex 25.3891 -27.4375 -0.2 - vertex 20.1247 -27.4424 0 - vertex 25.3891 -27.4375 0 + vertex 25.3774 -27.4375 -3 + vertex 20.1129 -27.4424 0 + vertex 25.3774 -27.4375 0 endloop endfacet facet normal -0.00092424 1 0 outer loop - vertex 20.1247 -27.4424 0 - vertex 25.3891 -27.4375 -0.2 - vertex 20.1247 -27.4424 -0.2 + vertex 20.1129 -27.4424 0 + vertex 25.3774 -27.4375 -3 + vertex 20.1129 -27.4424 -3 endloop endfacet - facet normal -0.945282 0.326254 0 + facet normal -0.945282 0.326255 0 outer loop - vertex 19.9171 -28.0436 -0.2 - vertex 20.1247 -27.4424 0 - vertex 20.1247 -27.4424 -0.2 + vertex 19.9054 -28.0436 -3 + vertex 20.1129 -27.4424 0 + vertex 20.1129 -27.4424 -3 endloop endfacet - facet normal -0.945282 0.326254 0 + facet normal -0.945282 0.326255 0 outer loop - vertex 20.1247 -27.4424 0 - vertex 19.9171 -28.0436 -0.2 - vertex 19.9171 -28.0436 0 + vertex 20.1129 -27.4424 0 + vertex 19.9054 -28.0436 -3 + vertex 19.9054 -28.0436 0 endloop endfacet - facet normal -0.957593 0.288124 0 + facet normal -0.967122 0.254313 0 outer loop - vertex 19.6992 -28.7679 -0.2 - vertex 19.9171 -28.0436 0 - vertex 19.9171 -28.0436 -0.2 + vertex 19.5138 -29.5327 -3 + vertex 19.9054 -28.0436 0 + vertex 19.9054 -28.0436 -3 endloop endfacet - facet normal -0.957593 0.288124 0 + facet normal -0.967122 0.254313 0 outer loop - vertex 19.9171 -28.0436 0 - vertex 19.6992 -28.7679 -0.2 - vertex 19.6992 -28.7679 0 + vertex 19.9054 -28.0436 0 + vertex 19.5138 -29.5327 -3 + vertex 19.5138 -29.5327 0 endloop endfacet - facet normal -0.97518 0.221412 0 + facet normal -0.991046 0.133521 0 outer loop - vertex 19.5256 -29.5327 -0.2 - vertex 19.6992 -28.7679 0 - vertex 19.6992 -28.7679 -0.2 + vertex 19.3087 -31.0557 -3 + vertex 19.5138 -29.5327 0 + vertex 19.5138 -29.5327 -3 endloop endfacet - facet normal -0.97518 0.221412 0 + facet normal -0.991046 0.133521 0 outer loop - vertex 19.6992 -28.7679 0 - vertex 19.5256 -29.5327 -0.2 - vertex 19.5256 -29.5327 0 + vertex 19.5138 -29.5327 0 + vertex 19.3087 -31.0557 -3 + vertex 19.3087 -31.0557 0 endloop endfacet - facet normal -0.986769 0.16213 0 + facet normal -1 8.95066e-05 0 outer loop - vertex 19.3985 -30.306 -0.2 - vertex 19.5256 -29.5327 0 - vertex 19.5256 -29.5327 -0.2 + vertex 19.3085 -32.3556 -3 + vertex 19.3087 -31.0557 0 + vertex 19.3087 -31.0557 -3 endloop endfacet - facet normal -0.986769 0.16213 0 + facet normal -1 8.95066e-05 0 outer loop - vertex 19.5256 -29.5327 0 - vertex 19.3985 -30.306 -0.2 - vertex 19.3985 -30.306 0 + vertex 19.3087 -31.0557 0 + vertex 19.3085 -32.3556 -3 + vertex 19.3085 -32.3556 0 endloop endfacet - facet normal -0.994613 0.103657 0 + facet normal -0.964746 -0.263183 0 outer loop - vertex 19.3204 -31.0557 -0.2 - vertex 19.3985 -30.306 0 - vertex 19.3985 -30.306 -0.2 + vertex 19.5322 -33.1754 -3 + vertex 19.3085 -32.3556 0 + vertex 19.3085 -32.3556 -3 endloop endfacet - facet normal -0.994613 0.103657 0 + facet normal -0.964746 -0.263183 0 outer loop - vertex 19.3985 -30.306 0 - vertex 19.3204 -31.0557 -0.2 - vertex 19.3204 -31.0557 0 + vertex 19.3085 -32.3556 0 + vertex 19.5322 -33.1754 -3 + vertex 19.5322 -33.1754 0 endloop endfacet - facet normal -0.999252 0.0386793 0 + facet normal -0.729596 -0.683879 0 outer loop - vertex 19.2935 -31.7496 -0.2 - vertex 19.3204 -31.0557 0 - vertex 19.3204 -31.0557 -0.2 + vertex 20.0228 -33.6987 -3 + vertex 19.5322 -33.1754 0 + vertex 19.5322 -33.1754 -3 endloop endfacet - facet normal -0.999252 0.0386793 0 + facet normal -0.729596 -0.683879 0 outer loop - vertex 19.3204 -31.0557 0 - vertex 19.2935 -31.7496 -0.2 - vertex 19.2935 -31.7496 0 + vertex 19.5322 -33.1754 0 + vertex 20.0228 -33.6987 -3 + vertex 20.0228 -33.6987 0 endloop endfacet - facet normal -0.999028 -0.0440878 0 + facet normal -0.526282 -0.85031 0 outer loop - vertex 19.3203 -32.3556 -0.2 - vertex 19.2935 -31.7496 0 - vertex 19.2935 -31.7496 -0.2 + vertex 20.0228 -33.6987 -3 + vertex 20.6651 -34.0963 0 + vertex 20.0228 -33.6987 0 endloop endfacet - facet normal -0.999028 -0.0440878 0 + facet normal -0.526282 -0.85031 -0 outer loop - vertex 19.2935 -31.7496 0 - vertex 19.3203 -32.3556 -0.2 - vertex 19.3203 -32.3556 0 + vertex 20.6651 -34.0963 0 + vertex 20.0228 -33.6987 -3 + vertex 20.6651 -34.0963 -3 endloop endfacet - facet normal -0.991457 -0.130433 0 + facet normal -0.318074 -0.948066 0 outer loop - vertex 19.3545 -32.6156 -0.2 - vertex 19.3203 -32.3556 0 - vertex 19.3203 -32.3556 -0.2 + vertex 20.6651 -34.0963 -3 + vertex 21.4183 -34.349 0 + vertex 20.6651 -34.0963 0 endloop endfacet - facet normal -0.991457 -0.130433 0 + facet normal -0.318074 -0.948066 -0 outer loop - vertex 19.3203 -32.3556 0 - vertex 19.3545 -32.6156 -0.2 - vertex 19.3545 -32.6156 0 + vertex 21.4183 -34.349 0 + vertex 20.6651 -34.0963 -3 + vertex 21.4183 -34.349 -3 endloop endfacet - facet normal -0.977754 -0.209757 0 + facet normal -0.107309 -0.994226 0 outer loop - vertex 19.403 -32.8415 -0.2 - vertex 19.3545 -32.6156 0 - vertex 19.3545 -32.6156 -0.2 + vertex 21.4183 -34.349 -3 + vertex 22.2417 -34.4379 0 + vertex 21.4183 -34.349 0 endloop endfacet - facet normal -0.977754 -0.209757 0 + facet normal -0.107309 -0.994226 -0 outer loop - vertex 19.3545 -32.6156 0 - vertex 19.403 -32.8415 -0.2 - vertex 19.403 -32.8415 0 + vertex 22.2417 -34.4379 0 + vertex 21.4183 -34.349 -3 + vertex 22.2417 -34.4379 -3 endloop endfacet - facet normal -0.948071 -0.31806 0 + facet normal 0.120086 -0.992763 0 outer loop - vertex 19.466 -33.0295 -0.2 - vertex 19.403 -32.8415 0 - vertex 19.403 -32.8415 -0.2 + vertex 22.2417 -34.4379 -3 + vertex 23.5816 -34.2758 0 + vertex 22.2417 -34.4379 0 endloop endfacet - facet normal -0.948071 -0.31806 0 + facet normal 0.120086 -0.992763 0 outer loop - vertex 19.403 -32.8415 0 - vertex 19.466 -33.0295 -0.2 - vertex 19.466 -33.0295 0 + vertex 23.5816 -34.2758 0 + vertex 22.2417 -34.4379 -3 + vertex 23.5816 -34.2758 -3 endloop endfacet - facet normal -0.882102 -0.471058 0 + facet normal 0.371865 -0.928287 0 outer loop - vertex 19.5439 -33.1754 -0.2 - vertex 19.466 -33.0295 0 - vertex 19.466 -33.0295 -0.2 + vertex 23.5816 -34.2758 -3 + vertex 24.9271 -33.7368 0 + vertex 23.5816 -34.2758 0 endloop endfacet - facet normal -0.882102 -0.471058 0 + facet normal 0.371865 -0.928287 0 outer loop - vertex 19.466 -33.0295 0 - vertex 19.5439 -33.1754 -0.2 - vertex 19.5439 -33.1754 0 + vertex 24.9271 -33.7368 0 + vertex 23.5816 -34.2758 -3 + vertex 24.9271 -33.7368 -3 endloop endfacet - facet normal -0.777019 -0.629477 0 + facet normal 0.553658 -0.832744 0 outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 19.5439 -33.1754 0 - vertex 19.5439 -33.1754 -0.2 + vertex 24.9271 -33.7368 -3 + vertex 26.4192 -32.7448 0 + vertex 24.9271 -33.7368 0 endloop endfacet - facet normal -0.777019 -0.629477 0 + facet normal 0.553658 -0.832744 0 outer loop - vertex 19.5439 -33.1754 0 - vertex 19.7677 -33.4516 -0.2 - vertex 19.7677 -33.4516 0 + vertex 26.4192 -32.7448 0 + vertex 24.9271 -33.7368 -3 + vertex 26.4192 -32.7448 -3 endloop endfacet - facet normal -0.679559 -0.73362 0 + facet normal 0.649717 -0.760176 0 outer loop - vertex 19.7677 -33.4516 -0.2 - vertex 20.0345 -33.6987 0 - vertex 19.7677 -33.4516 0 + vertex 26.4192 -32.7448 -3 + vertex 28.199 -31.2235 0 + vertex 26.4192 -32.7448 0 endloop endfacet - facet normal -0.679559 -0.73362 -0 + facet normal 0.649717 -0.760176 0 outer loop - vertex 20.0345 -33.6987 0 - vertex 19.7677 -33.4516 -0.2 - vertex 20.0345 -33.6987 -0.2 + vertex 28.199 -31.2235 0 + vertex 26.4192 -32.7448 -3 + vertex 28.199 -31.2235 -3 endloop endfacet - facet normal -0.577724 -0.816232 0 + facet normal 0.570708 -0.821153 0 outer loop - vertex 20.0345 -33.6987 -0.2 - vertex 20.3392 -33.9144 0 - vertex 20.0345 -33.6987 0 + vertex 28.199 -31.2235 -3 + vertex 29.2916 -30.4642 0 + vertex 28.199 -31.2235 0 endloop endfacet - facet normal -0.577724 -0.816232 -0 + facet normal 0.570708 -0.821153 0 outer loop - vertex 20.3392 -33.9144 0 - vertex 20.0345 -33.6987 -0.2 - vertex 20.3392 -33.9144 -0.2 + vertex 29.2916 -30.4642 0 + vertex 28.199 -31.2235 -3 + vertex 29.2916 -30.4642 -3 endloop endfacet - facet normal -0.474279 -0.880374 0 + facet normal -0.0859885 -0.996296 0 outer loop - vertex 20.3392 -33.9144 -0.2 - vertex 20.6768 -34.0963 0 - vertex 20.3392 -33.9144 0 + vertex 29.2916 -30.4642 -3 + vertex 29.6885 -30.4984 0 + vertex 29.2916 -30.4642 0 endloop endfacet - facet normal -0.474279 -0.880374 -0 + facet normal -0.0859885 -0.996296 -0 outer loop - vertex 20.6768 -34.0963 0 - vertex 20.3392 -33.9144 -0.2 - vertex 20.6768 -34.0963 -0.2 + vertex 29.6885 -30.4984 0 + vertex 29.2916 -30.4642 -3 + vertex 29.6885 -30.4984 -3 endloop endfacet - facet normal -0.370342 -0.928896 0 + facet normal -0.559844 -0.828598 0 outer loop - vertex 20.6768 -34.0963 -0.2 - vertex 21.0421 -34.2419 0 - vertex 20.6768 -34.0963 0 + vertex 29.6885 -30.4984 -3 + vertex 30.1062 -30.7807 0 + vertex 29.6885 -30.4984 0 endloop endfacet - facet normal -0.370342 -0.928896 -0 + facet normal -0.559844 -0.828598 -0 outer loop - vertex 21.0421 -34.2419 0 - vertex 20.6768 -34.0963 -0.2 - vertex 21.0421 -34.2419 -0.2 + vertex 30.1062 -30.7807 0 + vertex 29.6885 -30.4984 -3 + vertex 30.1062 -30.7807 -3 endloop endfacet - facet normal -0.266037 -0.963963 0 + facet normal -0.971403 -0.237438 0 outer loop - vertex 21.0421 -34.2419 -0.2 - vertex 21.43 -34.349 0 - vertex 21.0421 -34.2419 0 + vertex 30.2029 -31.1764 -3 + vertex 30.1062 -30.7807 0 + vertex 30.1062 -30.7807 -3 endloop endfacet - facet normal -0.266037 -0.963963 -0 + facet normal -0.971403 -0.237438 0 outer loop - vertex 21.43 -34.349 0 - vertex 21.0421 -34.2419 -0.2 - vertex 21.43 -34.349 -0.2 + vertex 30.1062 -30.7807 0 + vertex 30.2029 -31.1764 -3 + vertex 30.2029 -31.1764 0 endloop endfacet - facet normal -0.160906 -0.98697 0 + facet normal -0.897428 0.441162 0 outer loop - vertex 21.43 -34.349 -0.2 - vertex 21.8355 -34.4151 0 - vertex 21.43 -34.349 0 + vertex 29.8709 -31.8517 -3 + vertex 30.2029 -31.1764 0 + vertex 30.2029 -31.1764 -3 endloop endfacet - facet normal -0.160906 -0.98697 -0 + facet normal -0.897428 0.441162 0 outer loop - vertex 21.8355 -34.4151 0 - vertex 21.43 -34.349 -0.2 - vertex 21.8355 -34.4151 -0.2 + vertex 30.2029 -31.1764 0 + vertex 29.8709 -31.8517 -3 + vertex 29.8709 -31.8517 0 endloop endfacet - facet normal -0.0544036 -0.998519 0 + facet normal -0.750818 0.660509 0 outer loop - vertex 21.8355 -34.4151 -0.2 - vertex 22.2534 -34.4379 0 - vertex 21.8355 -34.4151 0 + vertex 27.8442 -34.1555 -3 + vertex 29.8709 -31.8517 0 + vertex 29.8709 -31.8517 -3 endloop endfacet - facet normal -0.0544036 -0.998519 -0 + facet normal -0.750818 0.660509 0 outer loop - vertex 22.2534 -34.4379 0 - vertex 21.8355 -34.4151 -0.2 - vertex 22.2534 -34.4379 -0.2 + vertex 29.8709 -31.8517 0 + vertex 27.8442 -34.1555 -3 + vertex 27.8442 -34.1555 0 endloop endfacet - facet normal 0.0273252 -0.999627 0 + facet normal -0.671006 0.741452 0 outer loop - vertex 22.2534 -34.4379 -0.2 - vertex 22.5956 -34.4285 0 - vertex 22.2534 -34.4379 0 + vertex 27.8442 -34.1555 -3 + vertex 25.9895 -35.834 0 + vertex 27.8442 -34.1555 0 endloop endfacet - facet normal 0.0273252 -0.999627 0 + facet normal -0.671006 0.741452 0 outer loop - vertex 22.5956 -34.4285 0 - vertex 22.2534 -34.4379 -0.2 - vertex 22.5956 -34.4285 -0.2 + vertex 25.9895 -35.834 0 + vertex 27.8442 -34.1555 -3 + vertex 25.9895 -35.834 -3 endloop endfacet - facet normal 0.0869987 -0.996208 0 + facet normal -0.538751 0.842465 0 outer loop - vertex 22.5956 -34.4285 -0.2 - vertex 22.9315 -34.3992 0 - vertex 22.5956 -34.4285 0 + vertex 25.9895 -35.834 -3 + vertex 24.0601 -37.0678 0 + vertex 25.9895 -35.834 0 endloop endfacet - facet normal 0.0869987 -0.996208 0 + facet normal -0.538751 0.842465 0 outer loop - vertex 22.9315 -34.3992 0 - vertex 22.5956 -34.4285 -0.2 - vertex 22.9315 -34.3992 -0.2 + vertex 24.0601 -37.0678 0 + vertex 25.9895 -35.834 -3 + vertex 24.0601 -37.0678 -3 endloop endfacet - facet normal 0.150489 -0.988612 0 + facet normal -0.416623 0.909079 0 outer loop - vertex 22.9315 -34.3992 -0.2 - vertex 23.2634 -34.3487 0 - vertex 22.9315 -34.3992 0 + vertex 24.0601 -37.0678 -3 + vertex 21.4079 -38.2833 0 + vertex 24.0601 -37.0678 0 endloop endfacet - facet normal 0.150489 -0.988612 0 + facet normal -0.416623 0.909079 0 outer loop - vertex 23.2634 -34.3487 0 - vertex 22.9315 -34.3992 -0.2 - vertex 23.2634 -34.3487 -0.2 + vertex 21.4079 -38.2833 0 + vertex 24.0601 -37.0678 -3 + vertex 21.4079 -38.2833 -3 endloop endfacet - facet normal 0.215659 -0.976469 0 + facet normal -0.208885 0.97794 0 outer loop - vertex 23.2634 -34.3487 -0.2 - vertex 23.5933 -34.2758 0 - vertex 23.2634 -34.3487 0 + vertex 21.4079 -38.2833 -3 + vertex 20.3084 -38.5182 0 + vertex 21.4079 -38.2833 0 endloop endfacet - facet normal 0.215659 -0.976469 0 + facet normal -0.208885 0.97794 0 outer loop - vertex 23.5933 -34.2758 0 - vertex 23.2634 -34.3487 -0.2 - vertex 23.5933 -34.2758 -0.2 + vertex 20.3084 -38.5182 0 + vertex 21.4079 -38.2833 -3 + vertex 20.3084 -38.5182 -3 endloop endfacet - facet normal 0.280239 -0.95993 0 + facet normal -0.0552232 0.998474 0 outer loop - vertex 23.5933 -34.2758 -0.2 - vertex 23.9237 -34.1793 0 - vertex 23.5933 -34.2758 0 + vertex 20.3084 -38.5182 -3 + vertex 19.0956 -38.5852 0 + vertex 20.3084 -38.5182 0 endloop endfacet - facet normal 0.280239 -0.95993 0 + facet normal -0.0552232 0.998474 0 outer loop - vertex 23.9237 -34.1793 0 - vertex 23.5933 -34.2758 -0.2 - vertex 23.9237 -34.1793 -0.2 + vertex 19.0956 -38.5852 0 + vertex 20.3084 -38.5182 -3 + vertex 19.0956 -38.5852 -3 endloop endfacet - facet normal 0.342076 -0.939672 0 + facet normal 0.0949344 0.995484 -0 outer loop - vertex 23.9237 -34.1793 -0.2 - vertex 24.2566 -34.0582 0 - vertex 23.9237 -34.1793 0 + vertex 19.0956 -38.5852 -3 + vertex 17.8945 -38.4707 0 + vertex 19.0956 -38.5852 0 endloop endfacet - facet normal 0.342076 -0.939672 0 + facet normal 0.0949344 0.995484 0 outer loop - vertex 24.2566 -34.0582 0 - vertex 23.9237 -34.1793 -0.2 - vertex 24.2566 -34.0582 -0.2 + vertex 17.8945 -38.4707 0 + vertex 19.0956 -38.5852 -3 + vertex 17.8945 -38.4707 -3 endloop endfacet - facet normal 0.399452 -0.916754 0 + facet normal 0.357488 0.933918 -0 outer loop - vertex 24.2566 -34.0582 -0.2 - vertex 24.5942 -33.911 0 - vertex 24.2566 -34.0582 0 + vertex 17.8945 -38.4707 -3 + vertex 16.8412 -38.0675 0 + vertex 17.8945 -38.4707 0 endloop endfacet - facet normal 0.399452 -0.916754 0 + facet normal 0.357488 0.933918 0 outer loop - vertex 24.5942 -33.911 0 - vertex 24.2566 -34.0582 -0.2 - vertex 24.5942 -33.911 -0.2 + vertex 16.8412 -38.0675 0 + vertex 17.8945 -38.4707 -3 + vertex 16.8412 -38.0675 -3 endloop endfacet - facet normal 0.451238 -0.892404 0 + facet normal 0.556683 0.830725 -0 outer loop - vertex 24.5942 -33.911 -0.2 - vertex 24.9388 -33.7368 0 - vertex 24.5942 -33.911 0 + vertex 16.8412 -38.0675 -3 + vertex 15.8953 -37.4336 0 + vertex 16.8412 -38.0675 0 endloop endfacet - facet normal 0.451238 -0.892404 0 + facet normal 0.556683 0.830725 0 outer loop - vertex 24.9388 -33.7368 0 - vertex 24.5942 -33.911 -0.2 - vertex 24.9388 -33.7368 -0.2 + vertex 15.8953 -37.4336 0 + vertex 16.8412 -38.0675 -3 + vertex 15.8953 -37.4336 -3 endloop endfacet - facet normal 0.496895 -0.867811 0 + facet normal 0.764952 0.644087 0 outer loop - vertex 24.9388 -33.7368 -0.2 - vertex 25.2926 -33.5342 0 - vertex 24.9388 -33.7368 0 + vertex 15.8953 -37.4336 0 + vertex 15.2376 -36.6526 -3 + vertex 15.2376 -36.6526 0 endloop endfacet - facet normal 0.496895 -0.867811 0 + facet normal 0.764952 0.644087 0 outer loop - vertex 25.2926 -33.5342 0 - vertex 24.9388 -33.7368 -0.2 - vertex 25.2926 -33.5342 -0.2 + vertex 15.2376 -36.6526 -3 + vertex 15.8953 -37.4336 0 + vertex 15.8953 -37.4336 -3 endloop endfacet - facet normal 0.536389 -0.843971 0 + facet normal 0.925772 0.378082 0 outer loop - vertex 25.2926 -33.5342 -0.2 - vertex 25.6577 -33.3022 0 - vertex 25.2926 -33.5342 0 + vertex 15.2376 -36.6526 0 + vertex 14.8379 -35.6738 -3 + vertex 14.8379 -35.6738 0 endloop endfacet - facet normal 0.536389 -0.843971 0 + facet normal 0.925772 0.378082 0 outer loop - vertex 25.6577 -33.3022 0 - vertex 25.2926 -33.5342 -0.2 - vertex 25.6577 -33.3022 -0.2 + vertex 14.8379 -35.6738 -3 + vertex 15.2376 -36.6526 0 + vertex 15.2376 -36.6526 -3 endloop endfacet - facet normal 0.584792 -0.811183 0 + facet normal 0.990293 0.138993 0 outer loop - vertex 25.6577 -33.3022 -0.2 - vertex 26.4309 -32.7448 0 - vertex 25.6577 -33.3022 0 + vertex 14.8379 -35.6738 0 + vertex 14.6656 -34.4466 -3 + vertex 14.6656 -34.4466 0 endloop endfacet - facet normal 0.584792 -0.811183 0 + facet normal 0.990293 0.138993 0 outer loop - vertex 26.4309 -32.7448 0 - vertex 25.6577 -33.3022 -0.2 - vertex 26.4309 -32.7448 -0.2 + vertex 14.6656 -34.4466 -3 + vertex 14.8379 -35.6738 0 + vertex 14.8379 -35.6738 -3 endloop endfacet - facet normal 0.632266 -0.774751 0 + facet normal 0.99828 -0.0586187 0 outer loop - vertex 26.4309 -32.7448 -0.2 - vertex 27.276 -32.055 0 - vertex 26.4309 -32.7448 0 + vertex 14.6656 -34.4466 0 + vertex 14.7938 -32.2631 -3 + vertex 14.7938 -32.2631 0 endloop endfacet - facet normal 0.632266 -0.774751 0 + facet normal 0.99828 -0.0586187 0 outer loop - vertex 27.276 -32.055 0 - vertex 26.4309 -32.7448 -0.2 - vertex 27.276 -32.055 -0.2 + vertex 14.7938 -32.2631 -3 + vertex 14.6656 -34.4466 0 + vertex 14.6656 -34.4466 -3 endloop endfacet - facet normal 0.66466 -0.747146 0 + facet normal 0.96872 -0.248157 0 outer loop - vertex 27.276 -32.055 -0.2 - vertex 28.2108 -31.2235 0 - vertex 27.276 -32.055 0 + vertex 14.7938 -32.2631 0 + vertex 15.3794 -29.9771 -3 + vertex 15.3794 -29.9771 0 endloop endfacet - facet normal 0.66466 -0.747146 0 + facet normal 0.96872 -0.248157 0 outer loop - vertex 28.2108 -31.2235 0 - vertex 27.276 -32.055 -0.2 - vertex 28.2108 -31.2235 -0.2 + vertex 15.3794 -29.9771 -3 + vertex 14.7938 -32.2631 0 + vertex 14.7938 -32.2631 -3 endloop endfacet - facet normal 0.662871 -0.748733 0 + facet normal 0.915816 -0.401597 0 outer loop - vertex 28.2108 -31.2235 -0.2 - vertex 28.5495 -30.9236 0 - vertex 28.2108 -31.2235 0 + vertex 15.3794 -29.9771 0 + vertex 16.4055 -27.6373 -3 + vertex 16.4055 -27.6373 0 endloop endfacet - facet normal 0.662871 -0.748733 0 + facet normal 0.915816 -0.401597 0 outer loop - vertex 28.5495 -30.9236 0 - vertex 28.2108 -31.2235 -0.2 - vertex 28.5495 -30.9236 -0.2 + vertex 16.4055 -27.6373 -3 + vertex 15.3794 -29.9771 0 + vertex 15.3794 -29.9771 -3 endloop endfacet - facet normal 0.615947 -0.787787 0 + facet normal 0.850611 -0.525795 0 outer loop - vertex 28.5495 -30.9236 -0.2 - vertex 28.8369 -30.6989 0 - vertex 28.5495 -30.9236 0 + vertex 16.4055 -27.6373 0 + vertex 17.855 -25.2923 -3 + vertex 17.855 -25.2923 0 endloop endfacet - facet normal 0.615947 -0.787787 0 + facet normal 0.850611 -0.525795 0 outer loop - vertex 28.8369 -30.6989 0 - vertex 28.5495 -30.9236 -0.2 - vertex 28.8369 -30.6989 -0.2 + vertex 17.855 -25.2923 -3 + vertex 16.4055 -27.6373 0 + vertex 16.4055 -27.6373 -3 endloop endfacet - facet normal 0.524001 -0.851718 0 + facet normal 0.787541 -0.616262 0 outer loop - vertex 28.8369 -30.6989 -0.2 - vertex 29.0845 -30.5466 0 - vertex 28.8369 -30.6989 0 + vertex 17.855 -25.2923 0 + vertex 19.0386 -23.7798 -3 + vertex 19.0386 -23.7798 0 endloop endfacet - facet normal 0.524001 -0.851718 0 + facet normal 0.787541 -0.616262 0 outer loop - vertex 29.0845 -30.5466 0 - vertex 28.8369 -30.6989 -0.2 - vertex 29.0845 -30.5466 -0.2 + vertex 19.0386 -23.7798 -3 + vertex 17.855 -25.2923 0 + vertex 17.855 -25.2923 -3 endloop endfacet - facet normal 0.352437 -0.935836 0 + facet normal 0.719973 -0.694002 0 outer loop - vertex 29.0845 -30.5466 -0.2 - vertex 29.3033 -30.4642 0 - vertex 29.0845 -30.5466 0 + vertex 19.0386 -23.7798 0 + vertex 20.2954 -22.4759 -3 + vertex 20.2954 -22.4759 0 endloop endfacet - facet normal 0.352437 -0.935836 0 + facet normal 0.719973 -0.694002 0 outer loop - vertex 29.3033 -30.4642 0 - vertex 29.0845 -30.5466 -0.2 - vertex 29.3033 -30.4642 -0.2 + vertex 20.2954 -22.4759 -3 + vertex 19.0386 -23.7798 0 + vertex 19.0386 -23.7798 -3 endloop endfacet - facet normal 0.0751321 -0.997174 0 + facet normal 0.636055 -0.771644 0 outer loop - vertex 29.3033 -30.4642 -0.2 - vertex 29.5048 -30.449 0 - vertex 29.3033 -30.4642 0 + vertex 20.2954 -22.4759 -3 + vertex 21.6367 -21.3703 0 + vertex 20.2954 -22.4759 0 endloop endfacet - facet normal 0.0751321 -0.997174 0 + facet normal 0.636055 -0.771644 0 outer loop - vertex 29.5048 -30.449 0 - vertex 29.3033 -30.4642 -0.2 - vertex 29.5048 -30.449 -0.2 + vertex 21.6367 -21.3703 0 + vertex 20.2954 -22.4759 -3 + vertex 21.6367 -21.3703 -3 endloop endfacet - facet normal -0.245256 -0.969458 0 + facet normal 0.538257 -0.842781 0 outer loop - vertex 29.5048 -30.449 -0.2 - vertex 29.7002 -30.4984 0 - vertex 29.5048 -30.449 0 + vertex 21.6367 -21.3703 -3 + vertex 23.0737 -20.4525 0 + vertex 21.6367 -21.3703 0 endloop endfacet - facet normal -0.245256 -0.969458 -0 + facet normal 0.538257 -0.842781 0 outer loop - vertex 29.7002 -30.4984 0 - vertex 29.5048 -30.449 -0.2 - vertex 29.7002 -30.4984 -0.2 + vertex 23.0737 -20.4525 0 + vertex 21.6367 -21.3703 -3 + vertex 23.0737 -20.4525 -3 endloop endfacet - facet normal -0.485575 -0.874195 0 + facet normal 0.404347 -0.914606 0 outer loop - vertex 29.7002 -30.4984 -0.2 - vertex 29.9008 -30.6099 0 - vertex 29.7002 -30.4984 0 + vertex 23.0737 -20.4525 -3 + vertex 25.4359 -19.4082 0 + vertex 23.0737 -20.4525 0 endloop endfacet - facet normal -0.485575 -0.874195 -0 + facet normal 0.404347 -0.914606 0 outer loop - vertex 29.9008 -30.6099 0 - vertex 29.7002 -30.4984 -0.2 - vertex 29.9008 -30.6099 -0.2 + vertex 25.4359 -19.4082 0 + vertex 23.0737 -20.4525 -3 + vertex 25.4359 -19.4082 -3 endloop endfacet - facet normal -0.618314 -0.785931 0 + facet normal 0.182814 -0.983148 0 outer loop - vertex 29.9008 -30.6099 -0.2 - vertex 30.1179 -30.7807 0 - vertex 29.9008 -30.6099 0 + vertex 25.4359 -19.4082 -3 + vertex 26.5413 -19.2026 0 + vertex 25.4359 -19.4082 0 endloop endfacet - facet normal -0.618314 -0.785931 -0 + facet normal 0.182814 -0.983148 0 outer loop - vertex 30.1179 -30.7807 0 - vertex 29.9008 -30.6099 -0.2 - vertex 30.1179 -30.7807 -0.2 + vertex 26.5413 -19.2026 0 + vertex 25.4359 -19.4082 -3 + vertex 26.5413 -19.2026 -3 endloop endfacet - facet normal -0.761006 -0.648745 0 + facet normal 0.0452162 -0.998977 0 outer loop - vertex 30.1812 -30.855 -0.2 - vertex 30.1179 -30.7807 0 - vertex 30.1179 -30.7807 -0.2 + vertex 26.5413 -19.2026 -3 + vertex 27.8281 -19.1444 0 + vertex 26.5413 -19.2026 0 endloop endfacet - facet normal -0.761006 -0.648745 0 + facet normal 0.0452162 -0.998977 0 outer loop - vertex 30.1179 -30.7807 0 - vertex 30.1812 -30.855 -0.2 - vertex 30.1812 -30.855 0 + vertex 27.8281 -19.1444 0 + vertex 26.5413 -19.2026 -3 + vertex 27.8281 -19.1444 -3 endloop endfacet - facet normal -0.923965 -0.382477 0 + facet normal -0.0736221 -0.997286 0 outer loop - vertex 30.2187 -30.9454 -0.2 - vertex 30.1812 -30.855 0 - vertex 30.1812 -30.855 -0.2 + vertex 27.8281 -19.1444 -3 + vertex 28.989 -19.2301 0 + vertex 27.8281 -19.1444 0 endloop endfacet - facet normal -0.923965 -0.382477 0 + facet normal -0.0736221 -0.997286 -0 outer loop - vertex 30.1812 -30.855 0 - vertex 30.2187 -30.9454 -0.2 - vertex 30.2187 -30.9454 0 + vertex 28.989 -19.2301 0 + vertex 27.8281 -19.1444 -3 + vertex 28.989 -19.2301 -3 endloop endfacet - facet normal -0.994533 -0.104423 0 + facet normal -0.382628 0.923903 0 outer loop - vertex 30.2299 -31.0524 -0.2 - vertex 30.2187 -30.9454 0 - vertex 30.2187 -30.9454 -0.2 + vertex 24.8153 -21.9586 -3 + vertex 23.7526 -22.3987 0 + vertex 24.8153 -21.9586 0 endloop endfacet - facet normal -0.994533 -0.104423 0 + facet normal -0.382628 0.923903 0 outer loop - vertex 30.2187 -30.9454 0 - vertex 30.2299 -31.0524 -0.2 - vertex 30.2299 -31.0524 0 + vertex 23.7526 -22.3987 0 + vertex 24.8153 -21.9586 -3 + vertex 23.7526 -22.3987 -3 endloop endfacet - facet normal -0.992515 0.122124 0 + facet normal -0.656055 0.754713 0 outer loop - vertex 30.2146 -31.1764 -0.2 - vertex 30.2299 -31.0524 0 - vertex 30.2299 -31.0524 -0.2 + vertex 23.7526 -22.3987 -3 + vertex 22.6861 -23.3258 0 + vertex 23.7526 -22.3987 0 endloop endfacet - facet normal -0.992515 0.122124 0 + facet normal -0.656055 0.754713 0 outer loop - vertex 30.2299 -31.0524 0 - vertex 30.2146 -31.1764 -0.2 - vertex 30.2146 -31.1764 0 + vertex 22.6861 -23.3258 0 + vertex 23.7526 -22.3987 -3 + vertex 22.6861 -23.3258 -3 endloop endfacet - facet normal -0.95856 0.284892 0 + facet normal -0.77183 0.635829 0 outer loop - vertex 30.1726 -31.3179 -0.2 - vertex 30.2146 -31.1764 0 - vertex 30.2146 -31.1764 -0.2 + vertex 21.6183 -24.6221 -3 + vertex 22.6861 -23.3258 0 + vertex 22.6861 -23.3258 -3 endloop endfacet - facet normal -0.95856 0.284892 0 + facet normal -0.77183 0.635829 0 outer loop - vertex 30.2146 -31.1764 0 - vertex 30.1726 -31.3179 -0.2 - vertex 30.1726 -31.3179 0 + vertex 22.6861 -23.3258 0 + vertex 21.6183 -24.6221 -3 + vertex 21.6183 -24.6221 0 endloop endfacet - facet normal -0.917421 0.397919 0 + facet normal -0.0699516 -0.99755 0 outer loop - vertex 30.1034 -31.4773 -0.2 - vertex 30.1726 -31.3179 0 - vertex 30.1726 -31.3179 -0.2 + vertex 21.6183 -24.6221 -3 + vertex 24.4233 -24.8188 0 + vertex 21.6183 -24.6221 0 endloop endfacet - facet normal -0.917421 0.397919 0 + facet normal -0.0699516 -0.99755 -0 outer loop - vertex 30.1726 -31.3179 0 - vertex 30.1034 -31.4773 -0.2 - vertex 30.1034 -31.4773 0 - endloop - endfacet - facet normal -0.861393 0.50794 0 - outer loop - vertex 29.8827 -31.8517 -0.2 - vertex 30.1034 -31.4773 0 - vertex 30.1034 -31.4773 -0.2 - endloop - endfacet - facet normal -0.861393 0.50794 0 - outer loop - vertex 30.1034 -31.4773 0 - vertex 29.8827 -31.8517 -0.2 - vertex 29.8827 -31.8517 0 - endloop - endfacet - facet normal -0.804973 0.593311 0 - outer loop - vertex 29.5499 -32.3032 -0.2 - vertex 29.8827 -31.8517 0 - vertex 29.8827 -31.8517 -0.2 - endloop - endfacet - facet normal -0.804973 0.593311 0 - outer loop - vertex 29.8827 -31.8517 0 - vertex 29.5499 -32.3032 -0.2 - vertex 29.5499 -32.3032 0 - endloop - endfacet - facet normal -0.76559 0.643329 0 - outer loop - vertex 29.1028 -32.8352 -0.2 - vertex 29.5499 -32.3032 0 - vertex 29.5499 -32.3032 -0.2 - endloop - endfacet - facet normal -0.76559 0.643329 0 - outer loop - vertex 29.5499 -32.3032 0 - vertex 29.1028 -32.8352 -0.2 - vertex 29.1028 -32.8352 0 - endloop - endfacet - facet normal -0.73778 0.675042 0 - outer loop - vertex 28.539 -33.4515 -0.2 - vertex 29.1028 -32.8352 0 - vertex 29.1028 -32.8352 -0.2 - endloop - endfacet - facet normal -0.73778 0.675042 0 - outer loop - vertex 29.1028 -32.8352 0 - vertex 28.539 -33.4515 -0.2 - vertex 28.539 -33.4515 0 - endloop - endfacet - facet normal -0.717743 0.696309 0 - outer loop - vertex 27.856 -34.1555 -0.2 - vertex 28.539 -33.4515 0 - vertex 28.539 -33.4515 -0.2 - endloop - endfacet - facet normal -0.717743 0.696309 0 - outer loop - vertex 28.539 -33.4515 0 - vertex 27.856 -34.1555 -0.2 - vertex 27.856 -34.1555 0 - endloop - endfacet - facet normal -0.702585 0.7116 0 - outer loop - vertex 27.856 -34.1555 -0.2 - vertex 27.3514 -34.6537 0 - vertex 27.856 -34.1555 0 - endloop - endfacet - facet normal -0.702585 0.7116 0 - outer loop - vertex 27.3514 -34.6537 0 - vertex 27.856 -34.1555 -0.2 - vertex 27.3514 -34.6537 -0.2 - endloop - endfacet - facet normal -0.683825 0.729646 0 - outer loop - vertex 27.3514 -34.6537 -0.2 - vertex 26.8832 -35.0925 0 - vertex 27.3514 -34.6537 0 - endloop - endfacet - facet normal -0.683825 0.729646 0 - outer loop - vertex 26.8832 -35.0925 0 - vertex 27.3514 -34.6537 -0.2 - vertex 26.8832 -35.0925 -0.2 - endloop - endfacet - facet normal -0.65863 0.752467 0 - outer loop - vertex 26.8832 -35.0925 -0.2 - vertex 26.4377 -35.4824 0 - vertex 26.8832 -35.0925 0 - endloop - endfacet - facet normal -0.65863 0.752467 0 - outer loop - vertex 26.4377 -35.4824 0 - vertex 26.8832 -35.0925 -0.2 - vertex 26.4377 -35.4824 -0.2 - endloop - endfacet - facet normal -0.627338 0.778747 0 - outer loop - vertex 26.4377 -35.4824 -0.2 - vertex 26.0012 -35.834 0 - vertex 26.4377 -35.4824 0 - endloop - endfacet - facet normal -0.627338 0.778747 0 - outer loop - vertex 26.0012 -35.834 0 - vertex 26.4377 -35.4824 -0.2 - vertex 26.0012 -35.834 -0.2 - endloop - endfacet - facet normal -0.591741 0.806128 0 - outer loop - vertex 26.0012 -35.834 -0.2 - vertex 25.5601 -36.1579 0 - vertex 26.0012 -35.834 0 - endloop - endfacet - facet normal -0.591741 0.806128 0 - outer loop - vertex 25.5601 -36.1579 0 - vertex 26.0012 -35.834 -0.2 - vertex 25.5601 -36.1579 -0.2 - endloop - endfacet - facet normal -0.554992 0.831856 0 - outer loop - vertex 25.5601 -36.1579 -0.2 - vertex 25.1006 -36.4644 0 - vertex 25.5601 -36.1579 0 - endloop - endfacet - facet normal -0.554992 0.831856 0 - outer loop - vertex 25.1006 -36.4644 0 - vertex 25.5601 -36.1579 -0.2 - vertex 25.1006 -36.4644 -0.2 - endloop - endfacet - facet normal -0.520754 0.853707 0 - outer loop - vertex 25.1006 -36.4644 -0.2 - vertex 24.6091 -36.7642 0 - vertex 25.1006 -36.4644 0 - endloop - endfacet - facet normal -0.520754 0.853707 0 - outer loop - vertex 24.6091 -36.7642 0 - vertex 25.1006 -36.4644 -0.2 - vertex 24.6091 -36.7642 -0.2 - endloop - endfacet - facet normal -0.492012 0.870588 0 - outer loop - vertex 24.6091 -36.7642 -0.2 - vertex 24.0719 -37.0678 0 - vertex 24.6091 -36.7642 0 - endloop - endfacet - facet normal -0.492012 0.870588 0 - outer loop - vertex 24.0719 -37.0678 0 - vertex 24.6091 -36.7642 -0.2 - vertex 24.0719 -37.0678 -0.2 - endloop - endfacet - facet normal -0.469837 0.882753 0 - outer loop - vertex 24.0719 -37.0678 -0.2 - vertex 23.2902 -37.4839 0 - vertex 24.0719 -37.0678 0 - endloop - endfacet - facet normal -0.469837 0.882753 0 - outer loop - vertex 23.2902 -37.4839 0 - vertex 24.0719 -37.0678 -0.2 - vertex 23.2902 -37.4839 -0.2 - endloop - endfacet - facet normal -0.440052 0.897972 0 - outer loop - vertex 23.2902 -37.4839 -0.2 - vertex 22.6041 -37.8201 0 - vertex 23.2902 -37.4839 0 - endloop - endfacet - facet normal -0.440052 0.897972 0 - outer loop - vertex 22.6041 -37.8201 0 - vertex 23.2902 -37.4839 -0.2 - vertex 22.6041 -37.8201 -0.2 - endloop - endfacet - facet normal -0.394271 0.918994 0 - outer loop - vertex 22.6041 -37.8201 -0.2 - vertex 21.9889 -38.084 0 - vertex 22.6041 -37.8201 0 - endloop - endfacet - facet normal -0.394271 0.918994 0 - outer loop - vertex 21.9889 -38.084 0 - vertex 22.6041 -37.8201 -0.2 - vertex 21.9889 -38.084 -0.2 - endloop - endfacet - facet normal -0.330435 0.943829 0 - outer loop - vertex 21.9889 -38.084 -0.2 - vertex 21.4197 -38.2833 0 - vertex 21.9889 -38.084 0 - endloop - endfacet - facet normal -0.330435 0.943829 0 - outer loop - vertex 21.4197 -38.2833 0 - vertex 21.9889 -38.084 -0.2 - vertex 21.4197 -38.2833 -0.2 - endloop - endfacet - facet normal -0.251155 0.967947 0 - outer loop - vertex 21.4197 -38.2833 -0.2 - vertex 20.8717 -38.4255 0 - vertex 21.4197 -38.2833 0 - endloop - endfacet - facet normal -0.251155 0.967947 0 - outer loop - vertex 20.8717 -38.4255 0 - vertex 21.4197 -38.2833 -0.2 - vertex 20.8717 -38.4255 -0.2 - endloop - endfacet - facet normal -0.165695 0.986177 0 - outer loop - vertex 20.8717 -38.4255 -0.2 - vertex 20.3202 -38.5182 0 - vertex 20.8717 -38.4255 0 - endloop - endfacet - facet normal -0.165695 0.986177 0 - outer loop - vertex 20.3202 -38.5182 0 - vertex 20.8717 -38.4255 -0.2 - vertex 20.3202 -38.5182 -0.2 - endloop - endfacet - facet normal -0.0871415 0.996196 0 - outer loop - vertex 20.3202 -38.5182 -0.2 - vertex 19.7403 -38.5689 0 - vertex 20.3202 -38.5182 0 - endloop - endfacet - facet normal -0.0871415 0.996196 0 - outer loop - vertex 19.7403 -38.5689 0 - vertex 20.3202 -38.5182 -0.2 - vertex 19.7403 -38.5689 -0.2 - endloop - endfacet - facet normal -0.0258263 0.999666 0 - outer loop - vertex 19.7403 -38.5689 -0.2 - vertex 19.1073 -38.5852 0 - vertex 19.7403 -38.5689 0 - endloop - endfacet - facet normal -0.0258263 0.999666 0 - outer loop - vertex 19.1073 -38.5852 0 - vertex 19.7403 -38.5689 -0.2 - vertex 19.1073 -38.5852 -0.2 - endloop - endfacet - facet normal 0.0407265 0.99917 -0 - outer loop - vertex 19.1073 -38.5852 -0.2 - vertex 18.4669 -38.5591 0 - vertex 19.1073 -38.5852 0 - endloop - endfacet - facet normal 0.0407265 0.99917 0 - outer loop - vertex 18.4669 -38.5591 0 - vertex 19.1073 -38.5852 -0.2 - vertex 18.4669 -38.5591 -0.2 - endloop - endfacet - facet normal 0.12356 0.992337 -0 - outer loop - vertex 18.4669 -38.5591 -0.2 - vertex 18.1792 -38.5233 0 - vertex 18.4669 -38.5591 0 - endloop - endfacet - facet normal 0.12356 0.992337 0 - outer loop - vertex 18.1792 -38.5233 0 - vertex 18.4669 -38.5591 -0.2 - vertex 18.1792 -38.5233 -0.2 - endloop - endfacet - facet normal 0.189246 0.98193 -0 - outer loop - vertex 18.1792 -38.5233 -0.2 - vertex 17.9062 -38.4707 0 - vertex 18.1792 -38.5233 0 - endloop - endfacet - facet normal 0.189246 0.98193 0 - outer loop - vertex 17.9062 -38.4707 0 - vertex 18.1792 -38.5233 -0.2 - vertex 17.9062 -38.4707 -0.2 - endloop - endfacet - facet normal 0.258743 0.965946 -0 - outer loop - vertex 17.9062 -38.4707 -0.2 - vertex 17.6424 -38.4 0 - vertex 17.9062 -38.4707 0 - endloop - endfacet - facet normal 0.258743 0.965946 0 - outer loop - vertex 17.6424 -38.4 0 - vertex 17.9062 -38.4707 -0.2 - vertex 17.6424 -38.4 -0.2 - endloop - endfacet - facet normal 0.326993 0.945027 -0 - outer loop - vertex 17.6424 -38.4 -0.2 - vertex 17.3825 -38.3101 0 - vertex 17.6424 -38.4 0 - endloop - endfacet - facet normal 0.326993 0.945027 0 - outer loop - vertex 17.3825 -38.3101 0 - vertex 17.6424 -38.4 -0.2 - vertex 17.3825 -38.3101 -0.2 - endloop - endfacet - facet normal 0.389172 0.921165 -0 - outer loop - vertex 17.3825 -38.3101 -0.2 - vertex 17.1211 -38.1997 0 - vertex 17.3825 -38.3101 0 - endloop - endfacet - facet normal 0.389172 0.921165 0 - outer loop - vertex 17.1211 -38.1997 0 - vertex 17.3825 -38.3101 -0.2 - vertex 17.1211 -38.1997 -0.2 - endloop - endfacet - facet normal 0.442006 0.897012 -0 - outer loop - vertex 17.1211 -38.1997 -0.2 - vertex 16.8529 -38.0675 0 - vertex 17.1211 -38.1997 0 - endloop - endfacet - facet normal 0.442006 0.897012 0 - outer loop - vertex 16.8529 -38.0675 0 - vertex 17.1211 -38.1997 -0.2 - vertex 16.8529 -38.0675 -0.2 - endloop - endfacet - facet normal 0.508496 0.861064 -0 - outer loop - vertex 16.8529 -38.0675 -0.2 - vertex 16.342 -37.7658 0 - vertex 16.8529 -38.0675 0 - endloop - endfacet - facet normal 0.508496 0.861064 0 - outer loop - vertex 16.342 -37.7658 0 - vertex 16.8529 -38.0675 -0.2 - vertex 16.342 -37.7658 -0.2 - endloop - endfacet - facet normal 0.581032 0.813881 -0 - outer loop - vertex 16.342 -37.7658 -0.2 - vertex 16.1153 -37.6039 0 - vertex 16.342 -37.7658 0 - endloop - endfacet - facet normal 0.581032 0.813881 0 - outer loop - vertex 16.1153 -37.6039 0 - vertex 16.342 -37.7658 -0.2 - vertex 16.1153 -37.6039 -0.2 - endloop - endfacet - facet normal 0.632987 0.774162 -0 - outer loop - vertex 16.1153 -37.6039 -0.2 - vertex 15.907 -37.4336 0 - vertex 16.1153 -37.6039 0 - endloop - endfacet - facet normal 0.632987 0.774162 0 - outer loop - vertex 15.907 -37.4336 0 - vertex 16.1153 -37.6039 -0.2 - vertex 15.907 -37.4336 -0.2 - endloop - endfacet - facet normal 0.68624 0.727375 -0 - outer loop - vertex 15.907 -37.4336 -0.2 - vertex 15.7167 -37.2541 0 - vertex 15.907 -37.4336 0 - endloop - endfacet - facet normal 0.68624 0.727375 0 - outer loop - vertex 15.7167 -37.2541 0 - vertex 15.907 -37.4336 -0.2 - vertex 15.7167 -37.2541 -0.2 - endloop - endfacet - facet normal 0.739053 0.673647 0 - outer loop - vertex 15.7167 -37.2541 0 - vertex 15.544 -37.0647 -0.2 - vertex 15.544 -37.0647 0 - endloop - endfacet - facet normal 0.739053 0.673647 0 - outer loop - vertex 15.544 -37.0647 -0.2 - vertex 15.7167 -37.2541 0 - vertex 15.7167 -37.2541 -0.2 - endloop - endfacet - facet normal 0.789576 0.613652 0 - outer loop - vertex 15.544 -37.0647 0 - vertex 15.3884 -36.8644 -0.2 - vertex 15.3884 -36.8644 0 - endloop - endfacet - facet normal 0.789576 0.613652 0 - outer loop - vertex 15.3884 -36.8644 -0.2 - vertex 15.544 -37.0647 0 - vertex 15.544 -37.0647 -0.2 - endloop - endfacet - facet normal 0.835985 0.548752 0 - outer loop - vertex 15.3884 -36.8644 0 - vertex 15.2493 -36.6526 -0.2 - vertex 15.2493 -36.6526 0 - endloop - endfacet - facet normal 0.835985 0.548752 0 - outer loop - vertex 15.2493 -36.6526 -0.2 - vertex 15.3884 -36.8644 0 - vertex 15.3884 -36.8644 -0.2 - endloop - endfacet - facet normal 0.876837 0.480788 0 - outer loop - vertex 15.2493 -36.6526 0 - vertex 15.1264 -36.4284 -0.2 - vertex 15.1264 -36.4284 0 - endloop - endfacet - facet normal 0.876837 0.480788 0 - outer loop - vertex 15.1264 -36.4284 -0.2 - vertex 15.2493 -36.6526 0 - vertex 15.2493 -36.6526 -0.2 - endloop - endfacet - facet normal 0.911228 0.411902 0 - outer loop - vertex 15.1264 -36.4284 0 - vertex 15.0191 -36.1911 -0.2 - vertex 15.0191 -36.1911 0 - endloop - endfacet - facet normal 0.911228 0.411902 0 - outer loop - vertex 15.0191 -36.1911 -0.2 - vertex 15.1264 -36.4284 0 - vertex 15.1264 -36.4284 -0.2 - endloop - endfacet - facet normal 0.938903 0.344183 0 - outer loop - vertex 15.0191 -36.1911 0 - vertex 14.927 -35.9398 -0.2 - vertex 14.927 -35.9398 0 - endloop - endfacet - facet normal 0.938903 0.344183 0 - outer loop - vertex 14.927 -35.9398 -0.2 - vertex 15.0191 -36.1911 0 - vertex 15.0191 -36.1911 -0.2 - endloop - endfacet - facet normal 0.960161 0.279447 0 - outer loop - vertex 14.927 -35.9398 0 - vertex 14.8496 -35.6738 -0.2 - vertex 14.8496 -35.6738 0 - endloop - endfacet - facet normal 0.960161 0.279447 0 - outer loop - vertex 14.8496 -35.6738 -0.2 - vertex 14.927 -35.9398 0 - vertex 14.927 -35.9398 -0.2 - endloop - endfacet - facet normal 0.981615 0.190873 0 - outer loop - vertex 14.8496 -35.6738 0 - vertex 14.7369 -35.0944 -0.2 - vertex 14.7369 -35.0944 0 - endloop - endfacet - facet normal 0.981615 0.190873 0 - outer loop - vertex 14.7369 -35.0944 -0.2 - vertex 14.8496 -35.6738 0 - vertex 14.8496 -35.6738 -0.2 - endloop - endfacet - facet normal 0.995797 0.0915901 0 - outer loop - vertex 14.7369 -35.0944 0 - vertex 14.6774 -34.4466 -0.2 - vertex 14.6774 -34.4466 0 - endloop - endfacet - facet normal 0.995797 0.0915901 0 - outer loop - vertex 14.6774 -34.4466 -0.2 - vertex 14.7369 -35.0944 0 - vertex 14.7369 -35.0944 -0.2 - endloop - endfacet - facet normal 0.999758 0.0220201 0 - outer loop - vertex 14.6774 -34.4466 0 - vertex 14.6656 -33.913 -0.2 - vertex 14.6656 -33.913 0 - endloop - endfacet - facet normal 0.999758 0.0220201 0 - outer loop - vertex 14.6656 -33.913 -0.2 - vertex 14.6774 -34.4466 0 - vertex 14.6774 -34.4466 -0.2 - endloop - endfacet - facet normal 0.999472 -0.03249 0 - outer loop - vertex 14.6656 -33.913 0 - vertex 14.6832 -33.3707 -0.2 - vertex 14.6832 -33.3707 0 - endloop - endfacet - facet normal 0.999472 -0.03249 0 - outer loop - vertex 14.6832 -33.3707 -0.2 - vertex 14.6656 -33.913 0 - vertex 14.6656 -33.913 -0.2 - endloop - endfacet - facet normal 0.996411 -0.0846524 0 - outer loop - vertex 14.6832 -33.3707 0 - vertex 14.73 -32.8205 -0.2 - vertex 14.73 -32.8205 0 - endloop - endfacet - facet normal 0.996411 -0.0846524 0 - outer loop - vertex 14.73 -32.8205 -0.2 - vertex 14.6832 -33.3707 0 - vertex 14.6832 -33.3707 -0.2 - endloop - endfacet - facet normal 0.990928 -0.134393 0 - outer loop - vertex 14.73 -32.8205 0 - vertex 14.8056 -32.2631 -0.2 - vertex 14.8056 -32.2631 0 - endloop - endfacet - facet normal 0.990928 -0.134393 0 - outer loop - vertex 14.8056 -32.2631 -0.2 - vertex 14.73 -32.8205 0 - vertex 14.73 -32.8205 -0.2 - endloop - endfacet - facet normal 0.983352 -0.181712 0 - outer loop - vertex 14.8056 -32.2631 0 - vertex 14.9098 -31.6993 -0.2 - vertex 14.9098 -31.6993 0 - endloop - endfacet - facet normal 0.983352 -0.181712 0 - outer loop - vertex 14.9098 -31.6993 -0.2 - vertex 14.8056 -32.2631 0 - vertex 14.8056 -32.2631 -0.2 - endloop - endfacet - facet normal 0.973979 -0.226639 0 - outer loop - vertex 14.9098 -31.6993 0 - vertex 15.0423 -31.1299 -0.2 - vertex 15.0423 -31.1299 0 - endloop - endfacet - facet normal 0.973979 -0.226639 0 - outer loop - vertex 15.0423 -31.1299 -0.2 - vertex 14.9098 -31.6993 0 - vertex 14.9098 -31.6993 -0.2 - endloop - endfacet - facet normal 0.963072 -0.269246 0 - outer loop - vertex 15.0423 -31.1299 0 - vertex 15.2028 -30.5555 -0.2 - vertex 15.2028 -30.5555 0 - endloop - endfacet - facet normal 0.963072 -0.269246 0 - outer loop - vertex 15.2028 -30.5555 -0.2 - vertex 15.0423 -31.1299 0 - vertex 15.0423 -31.1299 -0.2 - endloop - endfacet - facet normal 0.950861 -0.309619 0 - outer loop - vertex 15.2028 -30.5555 0 - vertex 15.3912 -29.9771 -0.2 - vertex 15.3912 -29.9771 0 - endloop - endfacet - facet normal 0.950861 -0.309619 0 - outer loop - vertex 15.3912 -29.9771 -0.2 - vertex 15.2028 -30.5555 0 - vertex 15.2028 -30.5555 -0.2 - endloop - endfacet - facet normal 0.93754 -0.347877 0 - outer loop - vertex 15.3912 -29.9771 0 - vertex 15.6071 -29.3953 -0.2 - vertex 15.6071 -29.3953 0 - endloop - endfacet - facet normal 0.93754 -0.347877 0 - outer loop - vertex 15.6071 -29.3953 -0.2 - vertex 15.3912 -29.9771 0 - vertex 15.3912 -29.9771 -0.2 - endloop - endfacet - facet normal 0.92328 -0.384128 0 - outer loop - vertex 15.6071 -29.3953 0 - vertex 15.8502 -28.8109 -0.2 - vertex 15.8502 -28.8109 0 - endloop - endfacet - facet normal 0.92328 -0.384128 0 - outer loop - vertex 15.8502 -28.8109 -0.2 - vertex 15.6071 -29.3953 0 - vertex 15.6071 -29.3953 -0.2 - endloop - endfacet - facet normal 0.908217 -0.418499 0 - outer loop - vertex 15.8502 -28.8109 0 - vertex 16.1203 -28.2246 -0.2 - vertex 16.1203 -28.2246 0 - endloop - endfacet - facet normal 0.908217 -0.418499 0 - outer loop - vertex 16.1203 -28.2246 -0.2 - vertex 15.8502 -28.8109 0 - vertex 15.8502 -28.8109 -0.2 - endloop - endfacet - facet normal 0.892471 -0.451106 0 - outer loop - vertex 16.1203 -28.2246 0 - vertex 16.4172 -27.6373 -0.2 - vertex 16.4172 -27.6373 0 - endloop - endfacet - facet normal 0.892471 -0.451106 0 - outer loop - vertex 16.4172 -27.6373 -0.2 - vertex 16.1203 -28.2246 0 - vertex 16.1203 -28.2246 -0.2 - endloop - endfacet - facet normal 0.876136 -0.482063 0 - outer loop - vertex 16.4172 -27.6373 0 - vertex 16.7406 -27.0496 -0.2 - vertex 16.7406 -27.0496 0 - endloop - endfacet - facet normal 0.876136 -0.482063 0 - outer loop - vertex 16.7406 -27.0496 -0.2 - vertex 16.4172 -27.6373 0 - vertex 16.4172 -27.6373 -0.2 - endloop - endfacet - facet normal 0.85929 -0.511489 0 - outer loop - vertex 16.7406 -27.0496 0 - vertex 17.0901 -26.4624 -0.2 - vertex 17.0901 -26.4624 0 - endloop - endfacet - facet normal 0.85929 -0.511489 0 - outer loop - vertex 17.0901 -26.4624 -0.2 - vertex 16.7406 -27.0496 0 - vertex 16.7406 -27.0496 -0.2 - endloop - endfacet - facet normal 0.841993 -0.539488 0 - outer loop - vertex 17.0901 -26.4624 0 - vertex 17.4656 -25.8764 -0.2 - vertex 17.4656 -25.8764 0 - endloop - endfacet - facet normal 0.841993 -0.539488 0 - outer loop - vertex 17.4656 -25.8764 -0.2 - vertex 17.0901 -26.4624 0 - vertex 17.0901 -26.4624 -0.2 - endloop - endfacet - facet normal 0.8243 -0.566153 0 - outer loop - vertex 17.4656 -25.8764 0 - vertex 17.8667 -25.2923 -0.2 - vertex 17.8667 -25.2923 0 - endloop - endfacet - facet normal 0.8243 -0.566153 0 - outer loop - vertex 17.8667 -25.2923 -0.2 - vertex 17.4656 -25.8764 0 - vertex 17.4656 -25.8764 -0.2 - endloop - endfacet - facet normal 0.801921 -0.59743 0 - outer loop - vertex 17.8667 -25.2923 0 - vertex 18.4501 -24.5093 -0.2 - vertex 18.4501 -24.5093 0 - endloop - endfacet - facet normal 0.801921 -0.59743 0 - outer loop - vertex 18.4501 -24.5093 -0.2 - vertex 17.8667 -25.2923 0 - vertex 17.8667 -25.2923 -0.2 - endloop - endfacet - facet normal 0.772213 -0.635364 0 - outer loop - vertex 18.4501 -24.5093 0 - vertex 19.0503 -23.7798 -0.2 - vertex 19.0503 -23.7798 0 - endloop - endfacet - facet normal 0.772213 -0.635364 0 - outer loop - vertex 19.0503 -23.7798 -0.2 - vertex 18.4501 -24.5093 0 - vertex 18.4501 -24.5093 -0.2 - endloop - endfacet - facet normal 0.738434 -0.674325 0 - outer loop - vertex 19.0503 -23.7798 0 - vertex 19.6689 -23.1024 -0.2 - vertex 19.6689 -23.1024 0 - endloop - endfacet - facet normal 0.738434 -0.674325 0 - outer loop - vertex 19.6689 -23.1024 -0.2 - vertex 19.0503 -23.7798 0 - vertex 19.0503 -23.7798 -0.2 - endloop - endfacet - facet normal 0.700496 -0.713656 0 - outer loop - vertex 19.6689 -23.1024 -0.2 - vertex 20.3071 -22.4759 0 - vertex 19.6689 -23.1024 0 - endloop - endfacet - facet normal 0.700496 -0.713656 0 - outer loop - vertex 20.3071 -22.4759 0 - vertex 19.6689 -23.1024 -0.2 - vertex 20.3071 -22.4759 -0.2 - endloop - endfacet - facet normal 0.658485 -0.752594 0 - outer loop - vertex 20.3071 -22.4759 -0.2 - vertex 20.9665 -21.899 0 - vertex 20.3071 -22.4759 0 - endloop - endfacet - facet normal 0.658485 -0.752594 0 - outer loop - vertex 20.9665 -21.899 0 - vertex 20.3071 -22.4759 -0.2 - vertex 20.9665 -21.899 -0.2 - endloop - endfacet - facet normal 0.612713 -0.790306 0 - outer loop - vertex 20.9665 -21.899 -0.2 - vertex 21.6485 -21.3703 0 - vertex 20.9665 -21.899 0 - endloop - endfacet - facet normal 0.612713 -0.790306 0 - outer loop - vertex 21.6485 -21.3703 0 - vertex 20.9665 -21.899 -0.2 - vertex 21.6485 -21.3703 -0.2 - endloop - endfacet - facet normal 0.563707 -0.825975 0 - outer loop - vertex 21.6485 -21.3703 -0.2 - vertex 22.3543 -20.8886 0 - vertex 21.6485 -21.3703 0 - endloop - endfacet - facet normal 0.563707 -0.825975 0 - outer loop - vertex 22.3543 -20.8886 0 - vertex 21.6485 -21.3703 -0.2 - vertex 22.3543 -20.8886 -0.2 - endloop - endfacet - facet normal 0.512208 -0.858861 0 - outer loop - vertex 22.3543 -20.8886 -0.2 - vertex 23.0854 -20.4525 0 - vertex 22.3543 -20.8886 0 - endloop - endfacet - facet normal 0.512208 -0.858861 0 - outer loop - vertex 23.0854 -20.4525 0 - vertex 22.3543 -20.8886 -0.2 - vertex 23.0854 -20.4525 -0.2 - endloop - endfacet - facet normal 0.471781 -0.881716 0 - outer loop - vertex 23.0854 -20.4525 -0.2 - vertex 23.7493 -20.0973 0 - vertex 23.0854 -20.4525 0 - endloop - endfacet - facet normal 0.471781 -0.881716 0 - outer loop - vertex 23.7493 -20.0973 0 - vertex 23.0854 -20.4525 -0.2 - vertex 23.7493 -20.0973 -0.2 - endloop - endfacet - facet normal 0.433016 -0.901386 0 - outer loop - vertex 23.7493 -20.0973 -0.2 - vertex 24.3497 -19.8089 0 - vertex 23.7493 -20.0973 0 - endloop - endfacet - facet normal 0.433016 -0.901386 0 - outer loop - vertex 24.3497 -19.8089 0 - vertex 23.7493 -20.0973 -0.2 - vertex 24.3497 -19.8089 -0.2 - endloop - endfacet - facet normal 0.377334 -0.926077 0 - outer loop - vertex 24.3497 -19.8089 -0.2 - vertex 24.9086 -19.5812 0 - vertex 24.3497 -19.8089 0 - endloop - endfacet - facet normal 0.377334 -0.926077 0 - outer loop - vertex 24.9086 -19.5812 0 - vertex 24.3497 -19.8089 -0.2 - vertex 24.9086 -19.5812 -0.2 - endloop - endfacet - facet normal 0.305529 -0.952183 0 - outer loop - vertex 24.9086 -19.5812 -0.2 - vertex 25.4477 -19.4082 0 - vertex 24.9086 -19.5812 0 - endloop - endfacet - facet normal 0.305529 -0.952183 0 - outer loop - vertex 25.4477 -19.4082 0 - vertex 24.9086 -19.5812 -0.2 - vertex 25.4477 -19.4082 -0.2 - endloop - endfacet - facet normal 0.223751 -0.974646 0 - outer loop - vertex 25.4477 -19.4082 -0.2 - vertex 25.9886 -19.284 0 - vertex 25.4477 -19.4082 0 - endloop - endfacet - facet normal 0.223751 -0.974646 0 - outer loop - vertex 25.9886 -19.284 0 - vertex 25.4477 -19.4082 -0.2 - vertex 25.9886 -19.284 -0.2 - endloop - endfacet - facet normal 0.142672 -0.98977 0 - outer loop - vertex 25.9886 -19.284 -0.2 - vertex 26.5531 -19.2026 0 - vertex 25.9886 -19.284 0 - endloop - endfacet - facet normal 0.142672 -0.98977 0 - outer loop - vertex 26.5531 -19.2026 0 - vertex 25.9886 -19.284 -0.2 - vertex 26.5531 -19.2026 -0.2 - endloop - endfacet - facet normal 0.072849 -0.997343 0 - outer loop - vertex 26.5531 -19.2026 -0.2 - vertex 27.1629 -19.1581 0 - vertex 26.5531 -19.2026 0 - endloop - endfacet - facet normal 0.072849 -0.997343 0 - outer loop - vertex 27.1629 -19.1581 0 - vertex 26.5531 -19.2026 -0.2 - vertex 27.1629 -19.1581 -0.2 - endloop - endfacet - facet normal 0.0202302 -0.999795 0 - outer loop - vertex 27.1629 -19.1581 -0.2 - vertex 27.8398 -19.1444 0 - vertex 27.1629 -19.1581 0 - endloop - endfacet - facet normal 0.0202302 -0.999795 0 - outer loop - vertex 27.8398 -19.1444 0 - vertex 27.1629 -19.1581 -0.2 - vertex 27.8398 -19.1444 -0.2 - endloop - endfacet - facet normal -0.0344796 -0.999405 0 - outer loop - vertex 27.8398 -19.1444 -0.2 - vertex 28.4483 -19.1654 0 - vertex 27.8398 -19.1444 0 - endloop - endfacet - facet normal -0.0344796 -0.999405 -0 - outer loop - vertex 28.4483 -19.1654 0 - vertex 27.8398 -19.1444 -0.2 - vertex 28.4483 -19.1654 -0.2 - endloop - endfacet - facet normal -0.149538 0.988756 0 - outer loop - vertex 25.51 -21.8307 -0.2 - vertex 25.181 -21.8805 0 - vertex 25.51 -21.8307 0 - endloop - endfacet - facet normal -0.149538 0.988756 0 - outer loop - vertex 25.181 -21.8805 0 - vertex 25.51 -21.8307 -0.2 - vertex 25.181 -21.8805 -0.2 - endloop - endfacet - facet normal -0.215553 0.976492 0 - outer loop - vertex 25.181 -21.8805 -0.2 - vertex 24.827 -21.9586 0 - vertex 25.181 -21.8805 0 - endloop - endfacet - facet normal -0.215553 0.976492 0 - outer loop - vertex 24.827 -21.9586 0 - vertex 25.181 -21.8805 -0.2 - vertex 24.827 -21.9586 -0.2 - endloop - endfacet - facet normal -0.27228 0.962218 0 - outer loop - vertex 24.827 -21.9586 -0.2 - vertex 24.5319 -22.0421 0 - vertex 24.827 -21.9586 0 - endloop - endfacet - facet normal -0.27228 0.962218 0 - outer loop - vertex 24.5319 -22.0421 0 - vertex 24.827 -21.9586 -0.2 - vertex 24.5319 -22.0421 -0.2 - endloop - endfacet - facet normal -0.339982 0.940432 0 - outer loop - vertex 24.5319 -22.0421 -0.2 - vertex 24.2621 -22.1397 0 - vertex 24.5319 -22.0421 0 - endloop - endfacet - facet normal -0.339982 0.940432 0 - outer loop - vertex 24.2621 -22.1397 0 - vertex 24.5319 -22.0421 -0.2 - vertex 24.2621 -22.1397 -0.2 - endloop - endfacet - facet normal -0.419841 0.907598 0 - outer loop - vertex 24.2621 -22.1397 -0.2 - vertex 24.0091 -22.2567 0 - vertex 24.2621 -22.1397 0 - endloop - endfacet - facet normal -0.419841 0.907598 0 - outer loop - vertex 24.0091 -22.2567 0 - vertex 24.2621 -22.1397 -0.2 - vertex 24.0091 -22.2567 -0.2 - endloop - endfacet - facet normal -0.501876 0.864939 0 - outer loop - vertex 24.0091 -22.2567 -0.2 - vertex 23.7644 -22.3987 0 - vertex 24.0091 -22.2567 0 - endloop - endfacet - facet normal -0.501876 0.864939 0 - outer loop - vertex 23.7644 -22.3987 0 - vertex 24.0091 -22.2567 -0.2 - vertex 23.7644 -22.3987 -0.2 - endloop - endfacet - facet normal -0.575619 0.817718 0 - outer loop - vertex 23.7644 -22.3987 -0.2 - vertex 23.5194 -22.5712 0 - vertex 23.7644 -22.3987 0 - endloop - endfacet - facet normal -0.575619 0.817718 0 - outer loop - vertex 23.5194 -22.5712 0 - vertex 23.7644 -22.3987 -0.2 - vertex 23.5194 -22.5712 -0.2 - endloop - endfacet - facet normal -0.634613 0.77283 0 - outer loop - vertex 23.5194 -22.5712 -0.2 - vertex 23.2657 -22.7795 0 - vertex 23.5194 -22.5712 0 - endloop - endfacet - facet normal -0.634613 0.77283 0 - outer loop - vertex 23.2657 -22.7795 0 - vertex 23.5194 -22.5712 -0.2 - vertex 23.2657 -22.7795 -0.2 - endloop - endfacet - facet normal -0.693326 0.720624 0 - outer loop - vertex 23.2657 -22.7795 -0.2 - vertex 22.6979 -23.3258 0 - vertex 23.2657 -22.7795 0 - endloop - endfacet - facet normal -0.693326 0.720624 0 - outer loop - vertex 22.6979 -23.3258 0 - vertex 23.2657 -22.7795 -0.2 - vertex 22.6979 -23.3258 -0.2 - endloop - endfacet - facet normal -0.729687 0.683781 0 - outer loop - vertex 22.2832 -23.7683 -0.2 - vertex 22.6979 -23.3258 0 - vertex 22.6979 -23.3258 -0.2 - endloop - endfacet - facet normal -0.729687 0.683781 0 - outer loop - vertex 22.6979 -23.3258 0 - vertex 22.2832 -23.7683 -0.2 - vertex 22.2832 -23.7683 0 - endloop - endfacet - facet normal -0.755777 0.65483 0 - outer loop - vertex 21.9437 -24.1601 -0.2 - vertex 22.2832 -23.7683 0 - vertex 22.2832 -23.7683 -0.2 - endloop - endfacet - facet normal -0.755777 0.65483 0 - outer loop - vertex 22.2832 -23.7683 0 - vertex 21.9437 -24.1601 -0.2 - vertex 21.9437 -24.1601 0 - endloop - endfacet - facet normal -0.793147 0.60903 0 - outer loop - vertex 21.7143 -24.4589 -0.2 - vertex 21.9437 -24.1601 0 - vertex 21.9437 -24.1601 -0.2 - endloop - endfacet - facet normal -0.793147 0.60903 0 - outer loop - vertex 21.9437 -24.1601 0 - vertex 21.7143 -24.4589 -0.2 - vertex 21.7143 -24.4589 0 - endloop - endfacet - facet normal -0.850912 0.525308 0 - outer loop - vertex 21.6518 -24.5601 -0.2 - vertex 21.7143 -24.4589 0 - vertex 21.7143 -24.4589 -0.2 - endloop - endfacet - facet normal -0.850912 0.525308 0 - outer loop - vertex 21.7143 -24.4589 0 - vertex 21.6518 -24.5601 -0.2 - vertex 21.6518 -24.5601 0 - endloop - endfacet - facet normal -0.943329 0.331858 0 - outer loop - vertex 21.63 -24.6221 -0.2 - vertex 21.6518 -24.5601 0 - vertex 21.6518 -24.5601 -0.2 - endloop - endfacet - facet normal -0.943329 0.331858 0 - outer loop - vertex 21.6518 -24.5601 0 - vertex 21.63 -24.6221 -0.2 - vertex 21.63 -24.6221 0 - endloop - endfacet - facet normal -0.568017 -0.823017 0 - outer loop - vertex 21.63 -24.6221 -0.2 - vertex 21.6873 -24.6616 0 - vertex 21.63 -24.6221 0 - endloop - endfacet - facet normal -0.568017 -0.823017 -0 - outer loop - vertex 21.6873 -24.6616 0 - vertex 21.63 -24.6221 -0.2 - vertex 21.6873 -24.6616 -0.2 - endloop - endfacet - facet normal -0.21919 -0.975682 0 - outer loop - vertex 21.6873 -24.6616 -0.2 - vertex 21.8514 -24.6984 0 - vertex 21.6873 -24.6616 0 - endloop - endfacet - facet normal -0.21919 -0.975682 -0 - outer loop - vertex 21.8514 -24.6984 0 - vertex 21.6873 -24.6616 -0.2 - vertex 21.8514 -24.6984 -0.2 - endloop - endfacet - facet normal -0.103226 -0.994658 0 - outer loop - vertex 21.8514 -24.6984 -0.2 - vertex 22.454 -24.761 0 - vertex 21.8514 -24.6984 0 - endloop - endfacet - facet normal -0.103226 -0.994658 -0 - outer loop - vertex 22.454 -24.761 0 - vertex 21.8514 -24.6984 -0.2 - vertex 22.454 -24.761 -0.2 - endloop - endfacet - facet normal -0.0473276 -0.998879 0 - outer loop - vertex 22.454 -24.761 -0.2 - vertex 23.3459 -24.8032 0 - vertex 22.454 -24.761 0 - endloop - endfacet - facet normal -0.0473276 -0.998879 -0 - outer loop - vertex 23.3459 -24.8032 0 - vertex 22.454 -24.761 -0.2 - vertex 23.3459 -24.8032 -0.2 - endloop - endfacet - facet normal -0.0142485 -0.999898 0 - outer loop - vertex 23.3459 -24.8032 -0.2 - vertex 24.435 -24.8188 0 - vertex 23.3459 -24.8032 0 - endloop - endfacet - facet normal -0.0142485 -0.999898 -0 - outer loop - vertex 24.435 -24.8188 0 - vertex 23.3459 -24.8032 -0.2 - vertex 24.435 -24.8188 -0.2 + vertex 24.4233 -24.8188 0 + vertex 21.6183 -24.6221 -3 + vertex 24.4233 -24.8188 -3 endloop endfacet facet normal 0 -1 0 outer loop - vertex 24.435 -24.8188 -0.2 - vertex 27.2401 -24.8188 0 - vertex 24.435 -24.8188 0 + vertex 24.4233 -24.8188 -3 + vertex 27.2283 -24.8188 0 + vertex 24.4233 -24.8188 0 endloop endfacet facet normal 0 -1 -0 outer loop - vertex 27.2401 -24.8188 0 - vertex 24.435 -24.8188 -0.2 - vertex 27.2401 -24.8188 -0.2 + vertex 27.2283 -24.8188 0 + vertex 24.4233 -24.8188 -3 + vertex 27.2283 -24.8188 -3 endloop endfacet facet normal 0.986418 -0.164252 0 outer loop - vertex 27.2401 -24.8188 0 - vertex 27.373 -24.0204 -0.2 - vertex 27.373 -24.0204 0 + vertex 27.2283 -24.8188 0 + vertex 27.3613 -24.0204 -3 + vertex 27.3613 -24.0204 0 endloop endfacet facet normal 0.986418 -0.164252 0 outer loop - vertex 27.373 -24.0204 -0.2 - vertex 27.2401 -24.8188 0 - vertex 27.2401 -24.8188 -0.2 + vertex 27.3613 -24.0204 -3 + vertex 27.2283 -24.8188 0 + vertex 27.2283 -24.8188 -3 endloop endfacet - facet normal 0.99159 -0.129416 0 + facet normal 0.999989 -0.00473466 0 outer loop - vertex 27.373 -24.0204 0 - vertex 27.4161 -23.6904 -0.2 - vertex 27.4161 -23.6904 0 + vertex 27.3613 -24.0204 0 + vertex 27.3668 -22.8574 -3 + vertex 27.3668 -22.8574 0 endloop endfacet - facet normal 0.99159 -0.129416 0 + facet normal 0.999989 -0.00473466 0 outer loop - vertex 27.4161 -23.6904 -0.2 - vertex 27.373 -24.0204 0 - vertex 27.373 -24.0204 -0.2 + vertex 27.3668 -22.8574 -3 + vertex 27.3613 -24.0204 0 + vertex 27.3613 -24.0204 -3 endloop endfacet - facet normal 0.998763 -0.0497285 0 + facet normal 0.863473 0.504395 0 outer loop - vertex 27.4161 -23.6904 0 - vertex 27.4312 -23.3865 -0.2 - vertex 27.4312 -23.3865 0 + vertex 27.3668 -22.8574 0 + vertex 26.9354 -22.1189 -3 + vertex 26.9354 -22.1189 0 endloop endfacet - facet normal 0.998763 -0.0497285 0 + facet normal 0.863473 0.504395 0 outer loop - vertex 27.4312 -23.3865 -0.2 - vertex 27.4161 -23.6904 0 - vertex 27.4161 -23.6904 -0.2 + vertex 26.9354 -22.1189 -3 + vertex 27.3668 -22.8574 0 + vertex 27.3668 -22.8574 -3 endloop endfacet - facet normal 0.998974 0.0452785 0 + facet normal 0.334224 0.942494 -0 outer loop - vertex 27.4312 -23.3865 0 - vertex 27.4186 -23.1088 -0.2 - vertex 27.4186 -23.1088 0 + vertex 26.9354 -22.1189 -3 + vertex 26.0804 -21.8157 0 + vertex 26.9354 -22.1189 0 endloop endfacet - facet normal 0.998974 0.0452785 0 + facet normal 0.334224 0.942494 0 outer loop - vertex 27.4186 -23.1088 -0.2 - vertex 27.4312 -23.3865 0 - vertex 27.4312 -23.3865 -0.2 + vertex 26.0804 -21.8157 0 + vertex 26.9354 -22.1189 -3 + vertex 26.0804 -21.8157 -3 endloop endfacet - facet normal 0.987512 0.157546 0 + facet normal -0.112261 0.993679 0 outer loop - vertex 27.4186 -23.1088 0 - vertex 27.3785 -22.8574 -0.2 - vertex 27.3785 -22.8574 0 + vertex 26.0804 -21.8157 -3 + vertex 24.8153 -21.9586 0 + vertex 26.0804 -21.8157 0 endloop endfacet - facet normal 0.987512 0.157546 0 + facet normal -0.112261 0.993679 0 outer loop - vertex 27.3785 -22.8574 -0.2 - vertex 27.4186 -23.1088 0 - vertex 27.4186 -23.1088 -0.2 - endloop - endfacet - facet normal 0.957877 0.287177 0 - outer loop - vertex 27.3785 -22.8574 0 - vertex 27.3111 -22.6325 -0.2 - vertex 27.3111 -22.6325 0 - endloop - endfacet - facet normal 0.957877 0.287177 0 - outer loop - vertex 27.3111 -22.6325 -0.2 - vertex 27.3785 -22.8574 0 - vertex 27.3785 -22.8574 -0.2 - endloop - endfacet - facet normal 0.902589 0.430503 0 - outer loop - vertex 27.3111 -22.6325 0 - vertex 27.2166 -22.4344 -0.2 - vertex 27.2166 -22.4344 0 - endloop - endfacet - facet normal 0.902589 0.430503 0 - outer loop - vertex 27.2166 -22.4344 -0.2 - vertex 27.3111 -22.6325 0 - vertex 27.3111 -22.6325 -0.2 - endloop - endfacet - facet normal 0.815851 0.578262 0 - outer loop - vertex 27.2166 -22.4344 0 - vertex 27.0952 -22.2631 -0.2 - vertex 27.0952 -22.2631 0 - endloop - endfacet - facet normal 0.815851 0.578262 0 - outer loop - vertex 27.0952 -22.2631 -0.2 - vertex 27.2166 -22.4344 0 - vertex 27.2166 -22.4344 -0.2 - endloop - endfacet - facet normal 0.697754 0.716337 -0 - outer loop - vertex 27.0952 -22.2631 -0.2 - vertex 26.9471 -22.1189 0 - vertex 27.0952 -22.2631 0 - endloop - endfacet - facet normal 0.697754 0.716337 0 - outer loop - vertex 26.9471 -22.1189 0 - vertex 27.0952 -22.2631 -0.2 - vertex 26.9471 -22.1189 -0.2 - endloop - endfacet - facet normal 0.556877 0.830595 -0 - outer loop - vertex 26.9471 -22.1189 -0.2 - vertex 26.7726 -22.0019 0 - vertex 26.9471 -22.1189 0 - endloop - endfacet - facet normal 0.556877 0.830595 0 - outer loop - vertex 26.7726 -22.0019 0 - vertex 26.9471 -22.1189 -0.2 - vertex 26.7726 -22.0019 -0.2 - endloop - endfacet - facet normal 0.40766 0.913134 -0 - outer loop - vertex 26.7726 -22.0019 -0.2 - vertex 26.5717 -21.9122 0 - vertex 26.7726 -22.0019 0 - endloop - endfacet - facet normal 0.40766 0.913134 0 - outer loop - vertex 26.5717 -21.9122 0 - vertex 26.7726 -22.0019 -0.2 - vertex 26.5717 -21.9122 -0.2 - endloop - endfacet - facet normal 0.264042 0.964511 -0 - outer loop - vertex 26.5717 -21.9122 -0.2 - vertex 26.3449 -21.8501 0 - vertex 26.5717 -21.9122 0 - endloop - endfacet - facet normal 0.264042 0.964511 0 - outer loop - vertex 26.3449 -21.8501 0 - vertex 26.5717 -21.9122 -0.2 - vertex 26.3449 -21.8501 -0.2 - endloop - endfacet - facet normal 0.134852 0.990866 -0 - outer loop - vertex 26.3449 -21.8501 -0.2 - vertex 26.0922 -21.8157 0 - vertex 26.3449 -21.8501 0 - endloop - endfacet - facet normal 0.134852 0.990866 0 - outer loop - vertex 26.0922 -21.8157 0 - vertex 26.3449 -21.8501 -0.2 - vertex 26.0922 -21.8157 -0.2 - endloop - endfacet - facet normal 0.0233803 0.999727 -0 - outer loop - vertex 26.0922 -21.8157 -0.2 - vertex 25.8138 -21.8092 0 - vertex 26.0922 -21.8157 0 - endloop - endfacet - facet normal 0.0233803 0.999727 0 - outer loop - vertex 25.8138 -21.8092 0 - vertex 26.0922 -21.8157 -0.2 - vertex 25.8138 -21.8092 -0.2 - endloop - endfacet - facet normal -0.0707205 0.997496 0 - outer loop - vertex 25.8138 -21.8092 -0.2 - vertex 25.51 -21.8307 0 - vertex 25.8138 -21.8092 0 - endloop - endfacet - facet normal -0.0707205 0.997496 0 - outer loop - vertex 25.51 -21.8307 0 - vertex 25.8138 -21.8092 -0.2 - vertex 25.51 -21.8307 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.0431 -18.7102 -0.2 - vertex -32.1476 -18.5412 -0.2 - vertex -36.5163 -17.3821 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.1476 -18.5412 -0.2 - vertex -37.0431 -18.7102 -0.2 - vertex -33.2902 -21.4299 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.2902 -21.4299 -0.2 - vertex -37.0431 -18.7102 -0.2 - vertex -33.4325 -21.7956 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.3469 -21.8682 -0.2 - vertex -33.4325 -21.7956 -0.2 - vertex -37.0431 -18.7102 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.4325 -21.7956 -0.2 - vertex -38.3469 -21.8682 -0.2 - vertex -33.503 -22.0719 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.503 -22.0719 -0.2 - vertex -38.3469 -21.8682 -0.2 - vertex -34.9509 -25.4747 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.8955 -25.4747 -0.2 - vertex -34.9509 -25.4747 -0.2 - vertex -38.3469 -21.8682 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.9509 -25.4747 -0.2 - vertex -39.8955 -25.4747 -0.2 - vertex -35.4707 -26.6225 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.4707 -26.6225 -0.2 - vertex -39.8955 -25.4747 -0.2 - vertex -36.4516 -28.8697 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -41.2695 -28.6585 -0.2 - vertex -36.4516 -28.8697 -0.2 - vertex -39.8955 -25.4747 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.4516 -28.8697 -0.2 - vertex -41.2695 -28.6585 -0.2 - vertex -37.5165 -31.4193 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -42.2252 -30.9405 -0.2 - vertex -37.5165 -31.4193 -0.2 - vertex -41.2695 -28.6585 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.5165 -31.4193 -0.2 - vertex -42.2252 -30.9405 -0.2 - vertex -38.3711 -33.5534 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4764 -11.5321 -0.2 - vertex -17.4002 -11.6639 -0.2 - vertex -17.4268 -11.5861 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 -0.2 - vertex -17.5514 -11.4978 -0.2 - vertex -17.3941 -11.77 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 -0.2 - vertex -17.4764 -11.5321 -0.2 - vertex -17.5514 -11.4978 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7876 -11.4712 -0.2 - vertex -17.3941 -11.77 -0.2 - vertex -17.5514 -11.4978 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.3941 -11.77 -0.2 - vertex -17.7876 -11.4712 -0.2 - vertex -17.4339 -12.0833 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4339 -12.0833 -0.2 - vertex -17.7876 -11.4712 -0.2 - vertex -17.5116 -12.3759 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5116 -12.3759 -0.2 - vertex -17.7876 -11.4712 -0.2 - vertex -17.6664 -12.8441 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.9412 -14.6683 -0.2 - vertex -17.6664 -12.8441 -0.2 - vertex -17.7876 -11.4712 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.6664 -12.8441 -0.2 - vertex -21.9412 -14.6683 -0.2 - vertex -18.1466 -14.1495 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -21.6284 -15.0493 -0.2 - vertex -18.1466 -14.1495 -0.2 - vertex -21.6966 -14.8935 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -21.5879 -15.2616 -0.2 - vertex -18.7537 -15.6836 -0.2 - vertex -21.6284 -15.0493 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -21.5693 -15.5508 -0.2 - vertex -18.7537 -15.6836 -0.2 - vertex -21.5879 -15.2616 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.5729 -16.4428 -0.2 - vertex -19.3667 -17.1305 -0.2 - vertex -21.5693 -15.5508 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.3667 -17.1305 -0.2 - vertex -21.5729 -16.4428 -0.2 - vertex -19.4996 -17.3696 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.4996 -17.3696 -0.2 - vertex -21.5729 -16.4428 -0.2 - vertex -19.6713 -17.584 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.5774 -17.3273 -0.2 - vertex -19.8743 -17.7693 -0.2 - vertex -21.5729 -16.4428 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.8743 -17.7693 -0.2 - vertex -21.5774 -17.3273 -0.2 - vertex -20.1009 -17.9213 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.1009 -17.9213 -0.2 - vertex -21.5774 -17.3273 -0.2 - vertex -20.3435 -18.0357 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.5945 -18.108 -0.2 - vertex -21.5774 -17.3273 -0.2 - vertex -20.8463 -18.1339 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -21.5614 -17.6077 -0.2 - vertex -20.8463 -18.1339 -0.2 - vertex -21.5774 -17.3273 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.8463 -18.1339 -0.2 - vertex -21.5614 -17.6077 -0.2 - vertex -21.0912 -18.1093 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.0912 -18.1093 -0.2 - vertex -21.5614 -17.6077 -0.2 - vertex -21.2545 -18.0693 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2545 -18.0693 -0.2 - vertex -21.5263 -17.8042 -0.2 - vertex -21.378 -18.0171 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.3435 -18.0357 -0.2 - vertex -21.5774 -17.3273 -0.2 - vertex -20.5945 -18.108 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.6713 -17.584 -0.2 - vertex -21.5729 -16.4428 -0.2 - vertex -19.8743 -17.7693 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.7537 -15.6836 -0.2 - vertex -21.5693 -15.5508 -0.2 - vertex -19.3667 -17.1305 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.1466 -14.1495 -0.2 - vertex -21.6284 -15.0493 -0.2 - vertex -18.7537 -15.6836 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.1466 -14.1495 -0.2 - vertex -21.7989 -14.7733 -0.2 - vertex -21.6966 -14.8935 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.1466 -14.1495 -0.2 - vertex -21.9412 -14.6683 -0.2 - vertex -21.7989 -14.7733 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7876 -11.4712 -0.2 - vertex -22.1296 -14.5577 -0.2 - vertex -21.9412 -14.6683 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7876 -11.4712 -0.2 - vertex -22.3213 -14.4724 -0.2 - vertex -22.1296 -14.5577 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7876 -11.4712 -0.2 - vertex -22.5778 -14.3998 -0.2 - vertex -22.3213 -14.4724 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7876 -11.4712 -0.2 - vertex -22.9103 -14.3386 -0.2 - vertex -22.5778 -14.3998 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7876 -11.4712 -0.2 - vertex -23.3301 -14.2877 -0.2 - vertex -22.9103 -14.3386 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.175 -11.3523 -0.2 - vertex -23.3301 -14.2877 -0.2 - vertex -17.7876 -11.4712 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.3301 -14.2877 -0.2 - vertex -27.175 -11.3523 -0.2 - vertex -24.4767 -14.2125 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.4767 -14.2125 -0.2 - vertex -27.175 -11.3523 -0.2 - vertex -26.1077 -14.1654 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.175 -11.3523 -0.2 - vertex -28.2448 -14.1442 -0.2 - vertex -26.1077 -14.1654 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.175 -11.3523 -0.2 - vertex -28.9898 -14.1579 -0.2 - vertex -28.2448 -14.1442 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.175 -11.3523 -0.2 - vertex -29.549 -14.1906 -0.2 - vertex -28.9898 -14.1579 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.0944 -11.3029 -0.2 - vertex -29.549 -14.1906 -0.2 - vertex -27.175 -11.3523 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.549 -14.1906 -0.2 - vertex -32.0944 -11.3029 -0.2 - vertex -29.9449 -14.2443 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.9449 -14.2443 -0.2 - vertex -32.0944 -11.3029 -0.2 - vertex -30.1999 -14.321 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3673 -14.4836 -0.2 - vertex -30.4158 -14.7057 -0.2 - vertex -30.377 -14.5514 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3673 -14.4836 -0.2 - vertex -30.5215 -14.964 -0.2 - vertex -30.4158 -14.7057 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.4754 -14.1281 -0.2 - vertex -30.5215 -14.964 -0.2 - vertex -30.3673 -14.4836 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.5215 -14.964 -0.2 - vertex -35.4754 -14.1281 -0.2 - vertex -30.678 -15.2903 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.678 -15.2903 -0.2 - vertex -35.4754 -14.1281 -0.2 - vertex -30.8691 -15.6487 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -35.5123 -14.4274 -0.2 - vertex -30.8691 -15.6487 -0.2 - vertex -35.4754 -14.1281 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1999 -14.321 -0.2 - vertex -32.0944 -11.3029 -0.2 - vertex -30.2816 -14.3686 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.0944 -11.3029 -0.2 - vertex -30.3364 -14.4227 -0.2 - vertex -30.2816 -14.3686 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.0944 -11.3029 -0.2 - vertex -30.3673 -14.4836 -0.2 - vertex -30.3364 -14.4227 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -35.4904 -13.894 -0.2 - vertex -30.3673 -14.4836 -0.2 - vertex -32.0944 -11.3029 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.8691 -15.6487 -0.2 - vertex -35.5123 -14.4274 -0.2 - vertex -31.1223 -16.1487 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -35.5964 -14.799 -0.2 - vertex -31.1223 -16.1487 -0.2 - vertex -35.5123 -14.4274 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.1223 -16.1487 -0.2 - vertex -35.5964 -14.799 -0.2 - vertex -31.4477 -16.8607 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -35.7796 -15.3934 -0.2 - vertex -31.4477 -16.8607 -0.2 - vertex -35.5964 -14.799 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.4477 -16.8607 -0.2 - vertex -35.7796 -15.3934 -0.2 - vertex -31.8034 -17.6899 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.4904 -13.894 -0.2 - vertex -32.0944 -11.3029 -0.2 - vertex -33.7011 -11.3017 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -21.5263 -17.8042 -0.2 - vertex -21.2545 -18.0693 -0.2 - vertex -21.5614 -17.6077 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.378 -18.0171 -0.2 - vertex -21.5263 -17.8042 -0.2 - vertex -21.4669 -17.9347 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.4624 -26.9141 -0.2 - vertex -27.8988 -26.2055 -0.2 - vertex -27.8924 -26.5154 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.2929 -22.2506 -0.2 - vertex -27.9236 -26.0946 -0.2 - vertex -27.8988 -26.2055 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.2929 -22.2506 -0.2 - vertex -27.9636 -26.0069 -0.2 - vertex -27.9236 -26.0946 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.2929 -22.2506 -0.2 - vertex -28.0195 -25.9379 -0.2 - vertex -27.9636 -26.0069 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.2929 -22.2506 -0.2 - vertex -28.0919 -25.8829 -0.2 - vertex -28.0195 -25.9379 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2888 -25.7968 -0.2 - vertex -27.6923 -22.3658 -0.2 - vertex -28.1242 -22.4577 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.6923 -22.3658 -0.2 - vertex -28.2888 -25.7968 -0.2 - vertex -28.0919 -25.8829 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.1242 -22.4577 -0.2 - vertex -28.5596 -25.7117 -0.2 - vertex -28.2888 -25.7968 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -28.5914 -22.5277 -0.2 - vertex -28.5596 -25.7117 -0.2 - vertex -28.1242 -22.4577 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.5914 -22.5277 -0.2 - vertex -28.7678 -25.6646 -0.2 - vertex -28.5596 -25.7117 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.5914 -22.5277 -0.2 - vertex -29.0734 -25.6205 -0.2 - vertex -28.7678 -25.6646 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -29.0966 -22.5767 -0.2 - vertex -29.0734 -25.6205 -0.2 - vertex -28.5914 -22.5277 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -29.6427 -22.606 -0.2 - vertex -29.0734 -25.6205 -0.2 - vertex -29.0966 -22.5767 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.6427 -22.606 -0.2 - vertex -29.9179 -25.5457 -0.2 - vertex -29.0734 -25.6205 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -30.2322 -22.6168 -0.2 - vertex -29.9179 -25.5457 -0.2 - vertex -29.6427 -22.606 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.9759 -25.4949 -0.2 - vertex -30.2322 -22.6168 -0.2 - vertex -30.868 -22.6102 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2322 -22.6168 -0.2 - vertex -30.9759 -25.4949 -0.2 - vertex -29.9179 -25.5457 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.8095 -22.5865 -0.2 - vertex -30.9759 -25.4949 -0.2 - vertex -30.868 -22.6102 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.8095 -22.5865 -0.2 - vertex -32.1303 -25.4759 -0.2 - vertex -30.9759 -25.4949 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.5132 -22.5543 -0.2 - vertex -32.1303 -25.4759 -0.2 - vertex -31.8095 -22.5865 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.0067 -22.5002 -0.2 - vertex -32.1303 -25.4759 -0.2 - vertex -32.5132 -22.5543 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.1833 -22.4608 -0.2 - vertex -32.1303 -25.4759 -0.2 - vertex -33.0067 -22.5002 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.9509 -25.4747 -0.2 - vertex -33.1833 -22.4608 -0.2 - vertex -33.3177 -22.4108 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.9509 -25.4747 -0.2 - vertex -33.3177 -22.4108 -0.2 - vertex -33.4135 -22.3486 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.9509 -25.4747 -0.2 - vertex -33.4135 -22.3486 -0.2 - vertex -33.4739 -22.2725 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -36.0907 -16.2655 -0.2 - vertex -31.8034 -17.6899 -0.2 - vertex -35.7796 -15.3934 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.5622 -13.718 -0.2 - vertex -33.7011 -11.3017 -0.2 - vertex -34.8583 -11.3197 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.1833 -22.4608 -0.2 - vertex -34.9509 -25.4747 -0.2 - vertex -32.1303 -25.4759 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.5026 -22.1809 -0.2 - vertex -34.9509 -25.4747 -0.2 - vertex -33.4739 -22.2725 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.8034 -17.6899 -0.2 - vertex -36.0907 -16.2655 -0.2 - vertex -32.1476 -18.5412 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.503 -22.0719 -0.2 - vertex -34.9509 -25.4747 -0.2 - vertex -33.5026 -22.1809 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -36.5163 -17.3821 -0.2 - vertex -32.1476 -18.5412 -0.2 - vertex -36.0907 -16.2655 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3673 -14.4836 -0.2 - vertex -35.4904 -13.894 -0.2 - vertex -35.4754 -14.1281 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.7011 -11.3017 -0.2 - vertex -35.5189 -13.7992 -0.2 - vertex -35.4904 -13.894 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.7011 -11.3017 -0.2 - vertex -35.5622 -13.718 -0.2 - vertex -35.5189 -13.7992 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.8583 -11.3197 -0.2 - vertex -35.6209 -13.6496 -0.2 - vertex -35.5622 -13.718 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.6956 -13.593 -0.2 - vertex -34.8583 -11.3197 -0.2 - vertex -35.6555 -11.3595 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.8583 -11.3197 -0.2 - vertex -35.6956 -13.593 -0.2 - vertex -35.6209 -13.6496 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.6555 -11.3595 -0.2 - vertex -35.8956 -13.512 -0.2 - vertex -35.6956 -13.593 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -36.1819 -11.4238 -0.2 - vertex -35.8956 -13.512 -0.2 - vertex -35.6555 -11.3595 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.8956 -13.512 -0.2 - vertex -36.1819 -11.4238 -0.2 - vertex -36.1669 -13.4677 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -36.527 -11.5152 -0.2 - vertex -36.1669 -13.4677 -0.2 - vertex -36.1819 -11.4238 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -36.7802 -11.6364 -0.2 - vertex -36.1669 -13.4677 -0.2 - vertex -36.527 -11.5152 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.1669 -13.4677 -0.2 - vertex -36.7802 -11.6364 -0.2 - vertex -36.5145 -13.4531 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -36.9755 -11.7636 -0.2 - vertex -36.5145 -13.4531 -0.2 - vertex -36.7802 -11.6364 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -37.1409 -11.9004 -0.2 - vertex -36.5145 -13.4531 -0.2 - vertex -36.9755 -11.7636 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.5145 -13.4531 -0.2 - vertex -37.1409 -11.9004 -0.2 - vertex -36.7305 -13.4387 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -37.2767 -12.0443 -0.2 - vertex -36.7305 -13.4387 -0.2 - vertex -37.1409 -11.9004 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.7305 -13.4387 -0.2 - vertex -37.2767 -12.0443 -0.2 - vertex -36.9216 -13.3997 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -37.3834 -12.1929 -0.2 - vertex -36.9216 -13.3997 -0.2 - vertex -37.2767 -12.0443 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -37.4611 -12.3438 -0.2 - vertex -36.9216 -13.3997 -0.2 - vertex -37.3834 -12.1929 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.9216 -13.3997 -0.2 - vertex -37.4611 -12.3438 -0.2 - vertex -37.0874 -13.3385 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -37.5104 -12.4945 -0.2 - vertex -37.0874 -13.3385 -0.2 - vertex -37.4611 -12.3438 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.0874 -13.3385 -0.2 - vertex -37.5104 -12.4945 -0.2 - vertex -37.2276 -13.2576 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -37.5315 -12.6425 -0.2 - vertex -37.2276 -13.2576 -0.2 - vertex -37.5104 -12.4945 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.2276 -13.2576 -0.2 - vertex -37.5315 -12.6425 -0.2 - vertex -37.3418 -13.1594 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.3418 -13.1594 -0.2 - vertex -37.5315 -12.6425 -0.2 - vertex -37.4296 -13.0463 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.4296 -13.0463 -0.2 - vertex -37.5315 -12.6425 -0.2 - vertex -37.4908 -12.9209 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.4908 -12.9209 -0.2 - vertex -37.5315 -12.6425 -0.2 - vertex -37.5249 -12.7854 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.9739 -18.9651 -0.2 - vertex -22.585 -19.4947 -0.2 - vertex -22.594 -19.3555 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.8524 -19.008 -0.2 - vertex -22.594 -19.3555 -0.2 - vertex -22.625 -19.2389 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.7539 -19.0668 -0.2 - vertex -22.625 -19.2389 -0.2 - vertex -22.6782 -19.1432 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.594 -19.3555 -0.2 - vertex -22.8524 -19.008 -0.2 - vertex -22.9739 -18.9651 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.625 -19.2389 -0.2 - vertex -22.7539 -19.0668 -0.2 - vertex -22.8524 -19.008 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.1186 -18.9365 -0.2 - vertex -22.585 -19.4947 -0.2 - vertex -22.9739 -18.9651 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.585 -19.4947 -0.2 - vertex -23.1186 -18.9365 -0.2 - vertex -22.5978 -19.6581 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4791 -18.9156 -0.2 - vertex -22.5978 -19.6581 -0.2 - vertex -23.1186 -18.9365 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.5978 -19.6581 -0.2 - vertex -23.4791 -18.9156 -0.2 - vertex -22.6874 -20.0641 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -23.6632 -18.9241 -0.2 - vertex -22.6874 -20.0641 -0.2 - vertex -23.4791 -18.9156 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.3738 -19.4278 -0.2 - vertex -22.6874 -20.0641 -0.2 - vertex -24.2328 -19.2424 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.6874 -20.0641 -0.2 - vertex -23.6632 -18.9241 -0.2 - vertex -24.2328 -19.2424 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.0993 -19.1062 -0.2 - vertex -23.6632 -18.9241 -0.2 - vertex -23.8226 -18.954 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.0993 -19.1062 -0.2 - vertex -23.8226 -18.954 -0.2 - vertex -23.9653 -19.0124 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.6632 -18.9241 -0.2 - vertex -24.0993 -19.1062 -0.2 - vertex -24.2328 -19.2424 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.6874 -20.0641 -0.2 - vertex -24.3738 -19.4278 -0.2 - vertex -22.8608 -20.5868 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.7108 -19.9745 -0.2 - vertex -22.8608 -20.5868 -0.2 - vertex -24.3738 -19.4278 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.8608 -20.5868 -0.2 - vertex -24.7108 -19.9745 -0.2 - vertex -23.116 -21.2395 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.9407 -20.3516 -0.2 - vertex -23.116 -21.2395 -0.2 - vertex -24.7108 -19.9745 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.1784 -20.695 -0.2 - vertex -23.116 -21.2395 -0.2 - vertex -24.9407 -20.3516 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.4267 -21.0057 -0.2 - vertex -23.116 -21.2395 -0.2 - vertex -25.1784 -20.695 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.6884 -21.2849 -0.2 - vertex -23.116 -21.2395 -0.2 - vertex -25.4267 -21.0057 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.116 -21.2395 -0.2 - vertex -25.6884 -21.2849 -0.2 - vertex -24.3958 -24.3815 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.9661 -21.5339 -0.2 - vertex -24.3958 -24.3815 -0.2 - vertex -25.6884 -21.2849 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.2627 -21.7538 -0.2 - vertex -24.3958 -24.3815 -0.2 - vertex -25.9661 -21.5339 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.5809 -21.9457 -0.2 - vertex -24.3958 -24.3815 -0.2 - vertex -26.2627 -21.7538 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.9234 -22.1109 -0.2 - vertex -24.3958 -24.3815 -0.2 - vertex -26.5809 -21.9457 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.2929 -22.2506 -0.2 - vertex -24.3958 -24.3815 -0.2 - vertex -26.9234 -22.1109 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3958 -24.3815 -0.2 - vertex -27.2929 -22.2506 -0.2 - vertex -24.9793 -25.8003 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.4624 -26.9141 -0.2 - vertex -27.8924 -26.5154 -0.2 - vertex -25.8688 -27.7587 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.8688 -27.7587 -0.2 - vertex -27.9393 -26.9734 -0.2 - vertex -26.0506 -28.0911 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.0506 -28.0911 -0.2 - vertex -27.9393 -26.9734 -0.2 - vertex -26.2221 -28.3696 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.9393 -26.9734 -0.2 - vertex -25.8688 -27.7587 -0.2 - vertex -27.8924 -26.5154 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.2221 -28.3696 -0.2 - vertex -27.9393 -26.9734 -0.2 - vertex -26.3861 -28.5987 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -28.1721 -28.4809 -0.2 - vertex -26.3861 -28.5987 -0.2 - vertex -27.9393 -26.9734 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.8988 -26.2055 -0.2 - vertex -24.9793 -25.8003 -0.2 - vertex -27.2929 -22.2506 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.3861 -28.5987 -0.2 - vertex -28.1721 -28.4809 -0.2 - vertex -26.5458 -28.7827 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.5458 -28.7827 -0.2 - vertex -28.1721 -28.4809 -0.2 - vertex -26.7039 -28.9262 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.8988 -26.2055 -0.2 - vertex -25.4624 -26.9141 -0.2 - vertex -24.9793 -25.8003 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.7039 -28.9262 -0.2 - vertex -28.1721 -28.4809 -0.2 - vertex -26.8635 -29.0336 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.8635 -29.0336 -0.2 - vertex -28.1721 -28.4809 -0.2 - vertex -27.0275 -29.1093 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.0919 -25.8829 -0.2 - vertex -27.2929 -22.2506 -0.2 - vertex -27.6923 -22.3658 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.0275 -29.1093 -0.2 - vertex -28.1721 -28.4809 -0.2 - vertex -27.1989 -29.1579 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.1989 -29.1579 -0.2 - vertex -28.1721 -28.4809 -0.2 - vertex -27.3805 -29.1838 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.3805 -29.1838 -0.2 - vertex -28.1721 -28.4809 -0.2 - vertex -27.5755 -29.1914 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -28.2235 -28.8853 -0.2 - vertex -27.5755 -29.1914 -0.2 - vertex -28.1721 -28.4809 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.5755 -29.1914 -0.2 - vertex -28.2235 -28.8853 -0.2 - vertex -27.9775 -29.1782 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.9775 -29.1782 -0.2 - vertex -28.2235 -28.8853 -0.2 - vertex -28.0989 -29.15 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -28.2154 -29.0113 -0.2 - vertex -28.0989 -29.15 -0.2 - vertex -28.2235 -28.8853 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.0989 -29.15 -0.2 - vertex -28.2154 -29.0113 -0.2 - vertex -28.176 -29.097 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4571 -30.6716 -0.2 - vertex -23.4513 -30.847 -0.2 - vertex -23.4345 -30.738 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.5012 -30.6026 -0.2 - vertex -23.4513 -30.847 -0.2 - vertex -23.4571 -30.6716 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.6433 -30.465 -0.2 - vertex -23.4513 -30.847 -0.2 - vertex -23.5012 -30.6026 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4513 -30.847 -0.2 - vertex -23.6433 -30.465 -0.2 - vertex -23.5218 -31.031 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.8399 -30.3412 -0.2 - vertex -23.5218 -31.031 -0.2 - vertex -23.6433 -30.465 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.0701 -30.2475 -0.2 - vertex -23.5218 -31.031 -0.2 - vertex -23.8399 -30.3412 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.5218 -31.031 -0.2 - vertex -24.0701 -30.2475 -0.2 - vertex -23.8031 -31.5911 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.8452 -30.2998 -0.2 - vertex -23.8031 -31.5911 -0.2 - vertex -24.0701 -30.2475 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.8452 -30.2998 -0.2 - vertex -24.0701 -30.2475 -0.2 - vertex -24.2803 -30.1833 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.6311 -30.1847 -0.2 - vertex -24.2803 -30.1833 -0.2 - vertex -24.455 -30.1541 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.6311 -30.1847 -0.2 - vertex -24.455 -30.1541 -0.2 - vertex -24.5406 -30.1604 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.2803 -30.1833 -0.2 - vertex -24.6311 -30.1847 -0.2 - vertex -24.8452 -30.2998 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.8031 -31.5911 -0.2 - vertex -24.8452 -30.2998 -0.2 - vertex -25.1341 -30.5242 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.5344 -30.8827 -0.2 - vertex -23.8031 -31.5911 -0.2 - vertex -25.1341 -30.5242 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.8031 -31.5911 -0.2 - vertex -25.5344 -30.8827 -0.2 - vertex -24.2375 -32.3527 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.2375 -32.3527 -0.2 - vertex -25.5344 -30.8827 -0.2 - vertex -24.7839 -33.2498 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.8166 -32.1012 -0.2 - vertex -24.7839 -33.2498 -0.2 - vertex -25.5344 -30.8827 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.7839 -33.2498 -0.2 - vertex -26.8166 -32.1012 -0.2 - vertex -25.4011 -34.2168 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.3602 -32.5933 -0.2 - vertex -25.4011 -34.2168 -0.2 - vertex -26.8166 -32.1012 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.924 -33.0516 -0.2 - vertex -25.4011 -34.2168 -0.2 - vertex -27.3602 -32.5933 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.4011 -34.2168 -0.2 - vertex -27.924 -33.0516 -0.2 - vertex -26.0482 -35.1877 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -28.5012 -33.4718 -0.2 - vertex -26.0482 -35.1877 -0.2 - vertex -27.924 -33.0516 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.0482 -35.1877 -0.2 - vertex -28.5012 -33.4718 -0.2 - vertex -26.6839 -36.0968 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -29.0852 -33.8499 -0.2 - vertex -26.6839 -36.0968 -0.2 - vertex -28.5012 -33.4718 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.6839 -36.0968 -0.2 - vertex -29.0852 -33.8499 -0.2 - vertex -27.2673 -36.8782 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -29.669 -34.1817 -0.2 - vertex -27.2673 -36.8782 -0.2 - vertex -29.0852 -33.8499 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -30.2461 -34.4632 -0.2 - vertex -27.2673 -36.8782 -0.2 - vertex -29.669 -34.1817 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.2673 -36.8782 -0.2 - vertex -30.2461 -34.4632 -0.2 - vertex -28.2718 -38.1638 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -30.8095 -34.6902 -0.2 - vertex -28.2718 -38.1638 -0.2 - vertex -30.2461 -34.4632 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -31.3526 -34.8586 -0.2 - vertex -28.2718 -38.1638 -0.2 - vertex -30.8095 -34.6902 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -31.5797 -34.902 -0.2 - vertex -28.2718 -38.1638 -0.2 - vertex -31.3526 -34.8586 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -31.9023 -34.9414 -0.2 - vertex -28.2718 -38.1638 -0.2 - vertex -31.5797 -34.902 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -32.7769 -35.0076 -0.2 - vertex -28.2718 -38.1638 -0.2 - vertex -31.9023 -34.9414 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.6203 -38.1325 -0.2 - vertex -32.7769 -35.0076 -0.2 - vertex -33.8615 -35.0556 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.6203 -38.1325 -0.2 - vertex -33.8615 -35.0556 -0.2 - vertex -35.0412 -35.0835 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.6203 -38.1325 -0.2 - vertex -35.0412 -35.0835 -0.2 - vertex -36.2012 -35.0898 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.6203 -38.1325 -0.2 - vertex -36.2012 -35.0898 -0.2 - vertex -37.2267 -35.0727 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.7769 -35.0076 -0.2 - vertex -37.6203 -38.1325 -0.2 - vertex -28.2718 -38.1638 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.0027 -35.0306 -0.2 - vertex -37.6203 -38.1325 -0.2 - vertex -37.2267 -35.0727 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.2613 -34.9997 -0.2 - vertex -37.6203 -38.1325 -0.2 - vertex -38.0027 -35.0306 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.4144 -34.9619 -0.2 - vertex -37.6203 -38.1325 -0.2 - vertex -38.2613 -34.9997 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -41.2883 -38.1087 -0.2 - vertex -38.4144 -34.9619 -0.2 - vertex -38.5336 -34.8886 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -41.2883 -38.1087 -0.2 - vertex -38.5336 -34.8886 -0.2 - vertex -38.6312 -34.7874 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -41.2883 -38.1087 -0.2 - vertex -38.6312 -34.7874 -0.2 - vertex -38.6971 -34.6715 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -42.7651 -32.2453 -0.2 - vertex -38.3711 -33.5534 -0.2 - vertex -42.2252 -30.9405 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.3711 -33.5534 -0.2 - vertex -42.7651 -32.2453 -0.2 - vertex -38.6277 -34.2404 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.6277 -34.2404 -0.2 - vertex -42.7651 -32.2453 -0.2 - vertex -38.7214 -34.5543 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -43.2426 -33.2915 -0.2 - vertex -38.7214 -34.5543 -0.2 - vertex -42.7651 -32.2453 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -43.4655 -33.7273 -0.2 - vertex -38.7214 -34.5543 -0.2 - vertex -43.2426 -33.2915 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.7214 -34.5543 -0.2 - vertex -43.4655 -33.7273 -0.2 - vertex -38.6971 -34.6715 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.4144 -34.9619 -0.2 - vertex -41.2883 -38.1087 -0.2 - vertex -37.6203 -38.1325 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -43.682 -34.1098 -0.2 - vertex -38.6971 -34.6715 -0.2 - vertex -43.4655 -33.7273 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.6971 -34.6715 -0.2 - vertex -43.682 -34.1098 -0.2 - vertex -41.2883 -38.1087 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -43.8952 -34.443 -0.2 - vertex -41.2883 -38.1087 -0.2 - vertex -43.682 -34.1098 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -44.108 -34.7306 -0.2 - vertex -41.2883 -38.1087 -0.2 - vertex -43.8952 -34.443 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -44.3237 -34.9765 -0.2 - vertex -41.2883 -38.1087 -0.2 - vertex -44.108 -34.7306 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -44.3237 -34.9765 -0.2 - vertex -44.3648 -38.0673 -0.2 - vertex -41.2883 -38.1087 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -44.5451 -35.1844 -0.2 - vertex -44.3648 -38.0673 -0.2 - vertex -44.3237 -34.9765 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -44.7755 -35.3583 -0.2 - vertex -44.3648 -38.0673 -0.2 - vertex -44.5451 -35.1844 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -45.0179 -35.5019 -0.2 - vertex -44.3648 -38.0673 -0.2 - vertex -44.7755 -35.3583 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -45.2753 -35.6191 -0.2 - vertex -44.3648 -38.0673 -0.2 - vertex -45.0179 -35.5019 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -45.5508 -35.7136 -0.2 - vertex -44.3648 -38.0673 -0.2 - vertex -45.2753 -35.6191 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -45.8475 -35.7893 -0.2 - vertex -44.3648 -38.0673 -0.2 - vertex -45.5508 -35.7136 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -46.5272 -38.014 -0.2 - vertex -45.8475 -35.7893 -0.2 - vertex -46.1684 -35.8499 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -46.5272 -38.014 -0.2 - vertex -46.1684 -35.8499 -0.2 - vertex -46.4544 -35.9117 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -45.8475 -35.7893 -0.2 - vertex -46.5272 -38.014 -0.2 - vertex -44.3648 -38.0673 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -46.7228 -35.999 -0.2 - vertex -46.5272 -38.014 -0.2 - vertex -46.4544 -35.9117 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -46.9715 -36.1082 -0.2 - vertex -46.5272 -38.014 -0.2 - vertex -46.7228 -35.999 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.1985 -36.2359 -0.2 - vertex -46.5272 -38.014 -0.2 - vertex -46.9715 -36.1082 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.4015 -36.3788 -0.2 - vertex -46.5272 -38.014 -0.2 - vertex -47.1985 -36.2359 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -46.5272 -38.014 -0.2 - vertex -47.4015 -36.3788 -0.2 - vertex -47.1648 -37.9848 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.5785 -36.5332 -0.2 - vertex -47.1648 -37.9848 -0.2 - vertex -47.4015 -36.3788 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.7274 -36.6957 -0.2 - vertex -47.1648 -37.9848 -0.2 - vertex -47.5785 -36.5332 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.846 -36.863 -0.2 - vertex -47.1648 -37.9848 -0.2 - vertex -47.7274 -36.6957 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.1648 -37.9848 -0.2 - vertex -47.846 -36.863 -0.2 - vertex -47.4529 -37.9547 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.9322 -37.0315 -0.2 - vertex -47.4529 -37.9547 -0.2 - vertex -47.846 -36.863 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.4529 -37.9547 -0.2 - vertex -47.9322 -37.0315 -0.2 - vertex -47.6522 -37.8745 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.984 -37.1977 -0.2 - vertex -47.6522 -37.8745 -0.2 - vertex -47.9322 -37.0315 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.6522 -37.8745 -0.2 - vertex -47.984 -37.1977 -0.2 - vertex -47.8044 -37.7712 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -47.9993 -37.3583 -0.2 - vertex -47.8044 -37.7712 -0.2 - vertex -47.984 -37.1977 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.8044 -37.7712 -0.2 - vertex -47.9993 -37.3583 -0.2 - vertex -47.9115 -37.6485 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.9115 -37.6485 -0.2 - vertex -47.9993 -37.3583 -0.2 - vertex -47.9758 -37.5097 -0.2 - endloop - endfacet - facet normal -0.0100487 -0.99995 0 - outer loop - vertex -32.0944 -11.3029 -0.2 - vertex -27.175 -11.3523 0 - vertex -32.0944 -11.3029 0 - endloop - endfacet - facet normal -0.0100487 -0.99995 -0 - outer loop - vertex -27.175 -11.3523 0 - vertex -32.0944 -11.3029 -0.2 - vertex -27.175 -11.3523 -0.2 + vertex 24.8153 -21.9586 0 + vertex 26.0804 -21.8157 -3 + vertex 24.8153 -21.9586 -3 endloop endfacet facet normal -0.0126654 -0.99992 0 outer loop - vertex -27.175 -11.3523 -0.2 - vertex -17.7876 -11.4712 0 - vertex -27.175 -11.3523 0 + vertex -27.1868 -11.3523 -3 + vertex -17.7993 -11.4712 0 + vertex -27.1868 -11.3523 0 endloop endfacet facet normal -0.0126654 -0.99992 -0 outer loop - vertex -17.7876 -11.4712 0 - vertex -27.175 -11.3523 -0.2 - vertex -17.7876 -11.4712 -0.2 + vertex -17.7993 -11.4712 0 + vertex -27.1868 -11.3523 -3 + vertex -17.7993 -11.4712 -3 endloop endfacet - facet normal -0.111827 -0.993728 0 + facet normal -0.303355 -0.952878 0 outer loop - vertex -17.7876 -11.4712 -0.2 - vertex -17.5514 -11.4978 0 - vertex -17.7876 -11.4712 0 + vertex -17.7993 -11.4712 -3 + vertex -17.4385 -11.5861 0 + vertex -17.7993 -11.4712 0 endloop endfacet - facet normal -0.111827 -0.993728 -0 + facet normal -0.303355 -0.952878 -0 outer loop - vertex -17.5514 -11.4978 0 - vertex -17.7876 -11.4712 -0.2 - vertex -17.5514 -11.4978 -0.2 + vertex -17.4385 -11.5861 0 + vertex -17.7993 -11.4712 -3 + vertex -17.4385 -11.5861 -3 endloop endfacet - facet normal -0.415864 -0.909427 0 + facet normal -0.999899 0.0142188 0 outer loop - vertex -17.5514 -11.4978 -0.2 - vertex -17.4764 -11.5321 0 - vertex -17.5514 -11.4978 0 + vertex -17.4456 -12.0833 -3 + vertex -17.4385 -11.5861 0 + vertex -17.4385 -11.5861 -3 endloop endfacet - facet normal -0.415864 -0.909427 -0 + facet normal -0.999899 0.0142188 0 outer loop - vertex -17.4764 -11.5321 0 - vertex -17.5514 -11.4978 -0.2 - vertex -17.4764 -11.5321 -0.2 + vertex -17.4385 -11.5861 0 + vertex -17.4456 -12.0833 -3 + vertex -17.4456 -12.0833 0 endloop endfacet - facet normal -0.736355 -0.676596 0 + facet normal -0.933863 0.35763 0 outer loop - vertex -17.4268 -11.5861 -0.2 - vertex -17.4764 -11.5321 0 - vertex -17.4764 -11.5321 -0.2 + vertex -19.3785 -17.1305 -3 + vertex -17.4456 -12.0833 0 + vertex -17.4456 -12.0833 -3 endloop endfacet - facet normal -0.736355 -0.676596 0 + facet normal -0.933863 0.35763 0 outer loop - vertex -17.4764 -11.5321 0 - vertex -17.4268 -11.5861 -0.2 - vertex -17.4268 -11.5861 0 + vertex -17.4456 -12.0833 0 + vertex -19.3785 -17.1305 -3 + vertex -19.3785 -17.1305 0 endloop endfacet - facet normal -0.946306 -0.323273 0 + facet normal -0.830148 0.557543 0 outer loop - vertex -17.4002 -11.6639 -0.2 - vertex -17.4268 -11.5861 0 - vertex -17.4268 -11.5861 -0.2 + vertex -19.683 -17.584 -3 + vertex -19.3785 -17.1305 0 + vertex -19.3785 -17.1305 -3 endloop endfacet - facet normal -0.946306 -0.323273 0 + facet normal -0.830148 0.557543 0 outer loop - vertex -17.4268 -11.5861 0 - vertex -17.4002 -11.6639 -0.2 - vertex -17.4002 -11.6639 0 + vertex -19.3785 -17.1305 0 + vertex -19.683 -17.584 -3 + vertex -19.683 -17.584 0 endloop endfacet - facet normal -0.998372 -0.057036 0 + facet normal -0.617609 0.786485 0 outer loop - vertex -17.3941 -11.77 -0.2 - vertex -17.4002 -11.6639 0 - vertex -17.4002 -11.6639 -0.2 + vertex -19.683 -17.584 -3 + vertex -20.1126 -17.9213 0 + vertex -19.683 -17.584 0 endloop endfacet - facet normal -0.998372 -0.057036 0 + facet normal -0.617609 0.786485 0 outer loop - vertex -17.4002 -11.6639 0 - vertex -17.3941 -11.77 -0.2 - vertex -17.3941 -11.77 0 + vertex -20.1126 -17.9213 0 + vertex -19.683 -17.584 -3 + vertex -20.1126 -17.9213 -3 endloop endfacet - facet normal -0.992058 0.125781 0 + facet normal -0.353642 0.935381 0 outer loop - vertex -17.4339 -12.0833 -0.2 - vertex -17.3941 -11.77 0 - vertex -17.3941 -11.77 -0.2 + vertex -20.1126 -17.9213 -3 + vertex -20.6062 -18.108 0 + vertex -20.1126 -17.9213 0 endloop endfacet - facet normal -0.992058 0.125781 0 + facet normal -0.353642 0.935381 0 outer loop - vertex -17.3941 -11.77 0 - vertex -17.4339 -12.0833 -0.2 - vertex -17.4339 -12.0833 0 + vertex -20.6062 -18.108 0 + vertex -20.1126 -17.9213 -3 + vertex -20.6062 -18.108 -3 endloop endfacet - facet normal -0.966487 0.256715 0 + facet normal -0.00259595 0.999997 0 outer loop - vertex -17.5116 -12.3759 -0.2 - vertex -17.4339 -12.0833 0 - vertex -17.4339 -12.0833 -0.2 + vertex -20.6062 -18.108 -3 + vertex -21.1029 -18.1093 0 + vertex -20.6062 -18.108 0 endloop endfacet - facet normal -0.966487 0.256715 0 + facet normal -0.00259595 0.999997 0 outer loop - vertex -17.4339 -12.0833 0 - vertex -17.5116 -12.3759 -0.2 - vertex -17.5116 -12.3759 0 + vertex -21.1029 -18.1093 0 + vertex -20.6062 -18.108 -3 + vertex -21.1029 -18.1093 -3 endloop endfacet - facet normal -0.949465 0.313873 0 + facet normal 0.306009 0.952029 -0 outer loop - vertex -17.6664 -12.8441 -0.2 - vertex -17.5116 -12.3759 0 - vertex -17.5116 -12.3759 -0.2 + vertex -21.1029 -18.1093 -3 + vertex -21.3898 -18.0171 0 + vertex -21.1029 -18.1093 0 endloop endfacet - facet normal -0.949465 0.313873 0 + facet normal 0.306009 0.952029 0 outer loop - vertex -17.5116 -12.3759 0 - vertex -17.6664 -12.8441 -0.2 - vertex -17.6664 -12.8441 0 + vertex -21.3898 -18.0171 0 + vertex -21.1029 -18.1093 -3 + vertex -21.3898 -18.0171 -3 endloop endfacet - facet normal -0.938494 0.345297 0 + facet normal 0.820593 0.571513 0 outer loop - vertex -18.1466 -14.1495 -0.2 - vertex -17.6664 -12.8441 0 - vertex -17.6664 -12.8441 -0.2 + vertex -21.3898 -18.0171 0 + vertex -21.538 -17.8042 -3 + vertex -21.538 -17.8042 0 endloop endfacet - facet normal -0.938494 0.345297 0 + facet normal 0.820593 0.571513 0 outer loop - vertex -17.6664 -12.8441 0 - vertex -18.1466 -14.1495 -0.2 - vertex -18.1466 -14.1495 0 + vertex -21.538 -17.8042 -3 + vertex -21.3898 -18.0171 0 + vertex -21.3898 -18.0171 -3 endloop endfacet - facet normal -0.929834 0.367979 0 + facet normal 0.999415 0.0341969 0 outer loop - vertex -18.7537 -15.6836 -0.2 - vertex -18.1466 -14.1495 0 - vertex -18.1466 -14.1495 -0.2 + vertex -21.538 -17.8042 0 + vertex -21.5846 -16.4428 -3 + vertex -21.5846 -16.4428 0 endloop endfacet - facet normal -0.929834 0.367979 0 + facet normal 0.999415 0.0341969 0 outer loop - vertex -18.1466 -14.1495 0 - vertex -18.7537 -15.6836 -0.2 - vertex -18.7537 -15.6836 0 + vertex -21.5846 -16.4428 -3 + vertex -21.538 -17.8042 0 + vertex -21.538 -17.8042 -3 endloop endfacet - facet normal -0.920782 0.390077 0 + facet normal 0.999208 0.039804 0 outer loop - vertex -19.3667 -17.1305 -0.2 - vertex -18.7537 -15.6836 0 - vertex -18.7537 -15.6836 -0.2 + vertex -21.5846 -16.4428 0 + vertex -21.6401 -15.0493 -3 + vertex -21.6401 -15.0493 0 endloop endfacet - facet normal -0.920782 0.390077 0 + facet normal 0.999208 0.039804 0 outer loop - vertex -18.7537 -15.6836 0 - vertex -19.3667 -17.1305 -0.2 - vertex -19.3667 -17.1305 0 + vertex -21.6401 -15.0493 -3 + vertex -21.5846 -16.4428 0 + vertex -21.5846 -16.4428 -3 endloop endfacet - facet normal -0.87414 0.485675 0 + facet normal 0.85074 0.525587 0 outer loop - vertex -19.4996 -17.3696 -0.2 - vertex -19.3667 -17.1305 0 - vertex -19.3667 -17.1305 -0.2 + vertex -21.6401 -15.0493 0 + vertex -21.8106 -14.7733 -3 + vertex -21.8106 -14.7733 0 endloop endfacet - facet normal -0.87414 0.485675 0 + facet normal 0.85074 0.525587 0 outer loop - vertex -19.3667 -17.1305 0 - vertex -19.4996 -17.3696 -0.2 - vertex -19.4996 -17.3696 0 + vertex -21.8106 -14.7733 -3 + vertex -21.6401 -15.0493 0 + vertex -21.6401 -15.0493 -3 endloop endfacet - facet normal -0.780486 0.625173 0 + facet normal 0.546243 0.837626 -0 outer loop - vertex -19.6713 -17.584 -0.2 - vertex -19.4996 -17.3696 0 - vertex -19.4996 -17.3696 -0.2 + vertex -21.8106 -14.7733 -3 + vertex -22.1413 -14.5577 0 + vertex -21.8106 -14.7733 0 endloop endfacet - facet normal -0.780486 0.625173 0 + facet normal 0.546243 0.837626 0 outer loop - vertex -19.4996 -17.3696 0 - vertex -19.6713 -17.584 -0.2 - vertex -19.6713 -17.584 0 + vertex -22.1413 -14.5577 0 + vertex -21.8106 -14.7733 -3 + vertex -22.1413 -14.5577 -3 endloop endfacet - facet normal -0.674318 0.738441 0 + facet normal 0.21941 0.975633 -0 outer loop - vertex -19.6713 -17.584 -0.2 - vertex -19.8743 -17.7693 0 - vertex -19.6713 -17.584 0 + vertex -22.1413 -14.5577 -3 + vertex -23.3419 -14.2877 0 + vertex -22.1413 -14.5577 0 endloop endfacet - facet normal -0.674318 0.738441 0 + facet normal 0.21941 0.975633 0 outer loop - vertex -19.8743 -17.7693 0 - vertex -19.6713 -17.584 -0.2 - vertex -19.8743 -17.7693 -0.2 + vertex -23.3419 -14.2877 0 + vertex -22.1413 -14.5577 -3 + vertex -23.3419 -14.2877 -3 endloop endfacet - facet normal -0.55704 0.830486 0 + facet normal 0.0439983 0.999032 -0 outer loop - vertex -19.8743 -17.7693 -0.2 - vertex -20.1009 -17.9213 0 - vertex -19.8743 -17.7693 0 + vertex -23.3419 -14.2877 -3 + vertex -26.1195 -14.1654 0 + vertex -23.3419 -14.2877 0 endloop endfacet - facet normal -0.55704 0.830486 0 + facet normal 0.0439983 0.999032 0 outer loop - vertex -20.1009 -17.9213 0 - vertex -19.8743 -17.7693 -0.2 - vertex -20.1009 -17.9213 -0.2 + vertex -26.1195 -14.1654 0 + vertex -23.3419 -14.2877 -3 + vertex -26.1195 -14.1654 -3 endloop endfacet - facet normal -0.42623 0.904615 0 + facet normal -0.00734919 0.999973 0 outer loop - vertex -20.1009 -17.9213 -0.2 - vertex -20.3435 -18.0357 0 - vertex -20.1009 -17.9213 0 + vertex -26.1195 -14.1654 -3 + vertex -29.5608 -14.1906 0 + vertex -26.1195 -14.1654 0 endloop endfacet - facet normal -0.42623 0.904615 0 + facet normal -0.00734919 0.999973 0 outer loop - vertex -20.3435 -18.0357 0 - vertex -20.1009 -17.9213 -0.2 - vertex -20.3435 -18.0357 -0.2 + vertex -29.5608 -14.1906 0 + vertex -26.1195 -14.1654 -3 + vertex -29.5608 -14.1906 -3 endloop endfacet - facet normal -0.276826 0.96092 0 + facet normal -0.196359 0.980532 0 outer loop - vertex -20.3435 -18.0357 -0.2 - vertex -20.5945 -18.108 0 - vertex -20.3435 -18.0357 0 + vertex -29.5608 -14.1906 -3 + vertex -30.2116 -14.321 0 + vertex -29.5608 -14.1906 0 endloop endfacet - facet normal -0.276826 0.96092 0 + facet normal -0.196359 0.980532 0 outer loop - vertex -20.5945 -18.108 0 - vertex -20.3435 -18.0357 -0.2 - vertex -20.5945 -18.108 -0.2 + vertex -30.2116 -14.321 0 + vertex -29.5608 -14.1906 -3 + vertex -30.2116 -14.321 -3 endloop endfacet - facet normal -0.102621 0.994721 0 + facet normal -0.792981 0.609246 0 outer loop - vertex -20.5945 -18.108 -0.2 - vertex -20.8463 -18.1339 0 - vertex -20.5945 -18.108 0 + vertex -30.3887 -14.5514 -3 + vertex -30.2116 -14.321 0 + vertex -30.2116 -14.321 -3 endloop endfacet - facet normal -0.102621 0.994721 0 + facet normal -0.792981 0.609246 0 outer loop - vertex -20.8463 -18.1339 0 - vertex -20.5945 -18.108 -0.2 - vertex -20.8463 -18.1339 -0.2 + vertex -30.2116 -14.321 0 + vertex -30.3887 -14.5514 -3 + vertex -30.3887 -14.5514 0 endloop endfacet - facet normal 0.100283 0.994959 -0 + facet normal -0.912409 0.409279 0 outer loop - vertex -20.8463 -18.1339 -0.2 - vertex -21.0912 -18.1093 0 - vertex -20.8463 -18.1339 0 + vertex -30.8809 -15.6487 -3 + vertex -30.3887 -14.5514 0 + vertex -30.3887 -14.5514 -3 endloop endfacet - facet normal 0.100283 0.994959 0 + facet normal -0.912409 0.409279 0 outer loop - vertex -21.0912 -18.1093 0 - vertex -20.8463 -18.1339 -0.2 - vertex -21.0912 -18.1093 -0.2 + vertex -30.3887 -14.5514 0 + vertex -30.8809 -15.6487 -3 + vertex -30.8809 -15.6487 0 endloop endfacet - facet normal 0.237758 0.971324 -0 + facet normal -0.91465 0.404247 0 outer loop - vertex -21.0912 -18.1093 -0.2 - vertex -21.2545 -18.0693 0 - vertex -21.0912 -18.1093 0 + vertex -32.1593 -18.5412 -3 + vertex -30.8809 -15.6487 0 + vertex -30.8809 -15.6487 -3 endloop endfacet - facet normal 0.237758 0.971324 0 + facet normal -0.91465 0.404247 0 outer loop - vertex -21.2545 -18.0693 0 - vertex -21.0912 -18.1093 -0.2 - vertex -21.2545 -18.0693 -0.2 - endloop - endfacet - facet normal 0.389432 0.921055 -0 - outer loop - vertex -21.2545 -18.0693 -0.2 - vertex -21.378 -18.0171 0 - vertex -21.2545 -18.0693 0 - endloop - endfacet - facet normal 0.389432 0.921055 0 - outer loop - vertex -21.378 -18.0171 0 - vertex -21.2545 -18.0693 -0.2 - vertex -21.378 -18.0171 -0.2 - endloop - endfacet - facet normal 0.679889 0.733315 -0 - outer loop - vertex -21.378 -18.0171 -0.2 - vertex -21.4669 -17.9347 0 - vertex -21.378 -18.0171 0 - endloop - endfacet - facet normal 0.679889 0.733315 0 - outer loop - vertex -21.4669 -17.9347 0 - vertex -21.378 -18.0171 -0.2 - vertex -21.4669 -17.9347 -0.2 - endloop - endfacet - facet normal 0.910139 0.414303 0 - outer loop - vertex -21.4669 -17.9347 0 - vertex -21.5263 -17.8042 -0.2 - vertex -21.5263 -17.8042 0 - endloop - endfacet - facet normal 0.910139 0.414303 0 - outer loop - vertex -21.5263 -17.8042 -0.2 - vertex -21.4669 -17.9347 0 - vertex -21.4669 -17.9347 -0.2 - endloop - endfacet - facet normal 0.984407 0.175905 0 - outer loop - vertex -21.5263 -17.8042 0 - vertex -21.5614 -17.6077 -0.2 - vertex -21.5614 -17.6077 0 - endloop - endfacet - facet normal 0.984407 0.175905 0 - outer loop - vertex -21.5614 -17.6077 -0.2 - vertex -21.5263 -17.8042 0 - vertex -21.5263 -17.8042 -0.2 - endloop - endfacet - facet normal 0.998374 0.057002 0 - outer loop - vertex -21.5614 -17.6077 0 - vertex -21.5774 -17.3273 -0.2 - vertex -21.5774 -17.3273 0 - endloop - endfacet - facet normal 0.998374 0.057002 0 - outer loop - vertex -21.5774 -17.3273 -0.2 - vertex -21.5614 -17.6077 0 - vertex -21.5614 -17.6077 -0.2 - endloop - endfacet - facet normal 0.999987 -0.00513458 0 - outer loop - vertex -21.5774 -17.3273 0 - vertex -21.5729 -16.4428 -0.2 - vertex -21.5729 -16.4428 0 - endloop - endfacet - facet normal 0.999987 -0.00513458 0 - outer loop - vertex -21.5729 -16.4428 -0.2 - vertex -21.5774 -17.3273 0 - vertex -21.5774 -17.3273 -0.2 - endloop - endfacet - facet normal 0.999992 -0.00401347 0 - outer loop - vertex -21.5729 -16.4428 0 - vertex -21.5693 -15.5508 -0.2 - vertex -21.5693 -15.5508 0 - endloop - endfacet - facet normal 0.999992 -0.00401347 0 - outer loop - vertex -21.5693 -15.5508 -0.2 - vertex -21.5729 -16.4428 0 - vertex -21.5729 -16.4428 -0.2 - endloop - endfacet - facet normal 0.997925 0.0643945 0 - outer loop - vertex -21.5693 -15.5508 0 - vertex -21.5879 -15.2616 -0.2 - vertex -21.5879 -15.2616 0 - endloop - endfacet - facet normal 0.997925 0.0643945 0 - outer loop - vertex -21.5879 -15.2616 -0.2 - vertex -21.5693 -15.5508 0 - vertex -21.5693 -15.5508 -0.2 - endloop - endfacet - facet normal 0.982338 0.187114 0 - outer loop - vertex -21.5879 -15.2616 0 - vertex -21.6284 -15.0493 -0.2 - vertex -21.6284 -15.0493 0 - endloop - endfacet - facet normal 0.982338 0.187114 0 - outer loop - vertex -21.6284 -15.0493 -0.2 - vertex -21.5879 -15.2616 0 - vertex -21.5879 -15.2616 -0.2 - endloop - endfacet - facet normal 0.915958 0.401274 0 - outer loop - vertex -21.6284 -15.0493 0 - vertex -21.6966 -14.8935 -0.2 - vertex -21.6966 -14.8935 0 - endloop - endfacet - facet normal 0.915958 0.401274 0 - outer loop - vertex -21.6966 -14.8935 -0.2 - vertex -21.6284 -15.0493 0 - vertex -21.6284 -15.0493 -0.2 - endloop - endfacet - facet normal 0.761577 0.648074 0 - outer loop - vertex -21.6966 -14.8935 0 - vertex -21.7989 -14.7733 -0.2 - vertex -21.7989 -14.7733 0 - endloop - endfacet - facet normal 0.761577 0.648074 0 - outer loop - vertex -21.7989 -14.7733 -0.2 - vertex -21.6966 -14.8935 0 - vertex -21.6966 -14.8935 -0.2 - endloop - endfacet - facet normal 0.593991 0.804472 -0 - outer loop - vertex -21.7989 -14.7733 -0.2 - vertex -21.9412 -14.6683 0 - vertex -21.7989 -14.7733 0 - endloop - endfacet - facet normal 0.593991 0.804472 0 - outer loop - vertex -21.9412 -14.6683 0 - vertex -21.7989 -14.7733 -0.2 - vertex -21.9412 -14.6683 -0.2 - endloop - endfacet - facet normal 0.506241 0.862392 -0 - outer loop - vertex -21.9412 -14.6683 -0.2 - vertex -22.1296 -14.5577 0 - vertex -21.9412 -14.6683 0 - endloop - endfacet - facet normal 0.506241 0.862392 0 - outer loop - vertex -22.1296 -14.5577 0 - vertex -21.9412 -14.6683 -0.2 - vertex -22.1296 -14.5577 -0.2 - endloop - endfacet - facet normal 0.406178 0.913794 -0 - outer loop - vertex -22.1296 -14.5577 -0.2 - vertex -22.3213 -14.4724 0 - vertex -22.1296 -14.5577 0 - endloop - endfacet - facet normal 0.406178 0.913794 0 - outer loop - vertex -22.3213 -14.4724 0 - vertex -22.1296 -14.5577 -0.2 - vertex -22.3213 -14.4724 -0.2 - endloop - endfacet - facet normal 0.272589 0.962131 -0 - outer loop - vertex -22.3213 -14.4724 -0.2 - vertex -22.5778 -14.3998 0 - vertex -22.3213 -14.4724 0 - endloop - endfacet - facet normal 0.272589 0.962131 0 - outer loop - vertex -22.5778 -14.3998 0 - vertex -22.3213 -14.4724 -0.2 - vertex -22.5778 -14.3998 -0.2 - endloop - endfacet - facet normal 0.181059 0.983472 -0 - outer loop - vertex -22.5778 -14.3998 -0.2 - vertex -22.9103 -14.3386 0 - vertex -22.5778 -14.3998 0 - endloop - endfacet - facet normal 0.181059 0.983472 0 - outer loop - vertex -22.9103 -14.3386 0 - vertex -22.5778 -14.3998 -0.2 - vertex -22.9103 -14.3386 -0.2 - endloop - endfacet - facet normal 0.120311 0.992736 -0 - outer loop - vertex -22.9103 -14.3386 -0.2 - vertex -23.3301 -14.2877 0 - vertex -22.9103 -14.3386 0 - endloop - endfacet - facet normal 0.120311 0.992736 0 - outer loop - vertex -23.3301 -14.2877 0 - vertex -22.9103 -14.3386 -0.2 - vertex -23.3301 -14.2877 -0.2 - endloop - endfacet - facet normal 0.0654234 0.997858 -0 - outer loop - vertex -23.3301 -14.2877 -0.2 - vertex -24.4767 -14.2125 0 - vertex -23.3301 -14.2877 0 - endloop - endfacet - facet normal 0.0654234 0.997858 0 - outer loop - vertex -24.4767 -14.2125 0 - vertex -23.3301 -14.2877 -0.2 - vertex -24.4767 -14.2125 -0.2 - endloop - endfacet - facet normal 0.0288976 0.999582 -0 - outer loop - vertex -24.4767 -14.2125 -0.2 - vertex -26.1077 -14.1654 0 - vertex -24.4767 -14.2125 0 - endloop - endfacet - facet normal 0.0288976 0.999582 0 - outer loop - vertex -26.1077 -14.1654 0 - vertex -24.4767 -14.2125 -0.2 - vertex -26.1077 -14.1654 -0.2 - endloop - endfacet - facet normal 0.0099076 0.999951 -0 - outer loop - vertex -26.1077 -14.1654 -0.2 - vertex -28.2448 -14.1442 0 - vertex -26.1077 -14.1654 0 - endloop - endfacet - facet normal 0.0099076 0.999951 0 - outer loop - vertex -28.2448 -14.1442 0 - vertex -26.1077 -14.1654 -0.2 - vertex -28.2448 -14.1442 -0.2 - endloop - endfacet - facet normal -0.0184714 0.999829 0 - outer loop - vertex -28.2448 -14.1442 -0.2 - vertex -28.9898 -14.1579 0 - vertex -28.2448 -14.1442 0 - endloop - endfacet - facet normal -0.0184714 0.999829 0 - outer loop - vertex -28.9898 -14.1579 0 - vertex -28.2448 -14.1442 -0.2 - vertex -28.9898 -14.1579 -0.2 - endloop - endfacet - facet normal -0.0583775 0.998295 0 - outer loop - vertex -28.9898 -14.1579 -0.2 - vertex -29.549 -14.1906 0 - vertex -28.9898 -14.1579 0 - endloop - endfacet - facet normal -0.0583775 0.998295 0 - outer loop - vertex -29.549 -14.1906 0 - vertex -28.9898 -14.1579 -0.2 - vertex -29.549 -14.1906 -0.2 - endloop - endfacet - facet normal -0.134346 0.990934 0 - outer loop - vertex -29.549 -14.1906 -0.2 - vertex -29.9449 -14.2443 0 - vertex -29.549 -14.1906 0 - endloop - endfacet - facet normal -0.134346 0.990934 0 - outer loop - vertex -29.9449 -14.2443 0 - vertex -29.549 -14.1906 -0.2 - vertex -29.9449 -14.2443 -0.2 - endloop - endfacet - facet normal -0.287948 0.957646 0 - outer loop - vertex -29.9449 -14.2443 -0.2 - vertex -30.1999 -14.321 0 - vertex -29.9449 -14.2443 0 - endloop - endfacet - facet normal -0.287948 0.957646 0 - outer loop - vertex -30.1999 -14.321 0 - vertex -29.9449 -14.2443 -0.2 - vertex -30.1999 -14.321 -0.2 - endloop - endfacet - facet normal -0.503498 0.863996 0 - outer loop - vertex -30.1999 -14.321 -0.2 - vertex -30.2816 -14.3686 0 - vertex -30.1999 -14.321 0 - endloop - endfacet - facet normal -0.503498 0.863996 0 - outer loop - vertex -30.2816 -14.3686 0 - vertex -30.1999 -14.321 -0.2 - vertex -30.2816 -14.3686 -0.2 - endloop - endfacet - facet normal -0.702151 0.712028 0 - outer loop - vertex -30.2816 -14.3686 -0.2 - vertex -30.3364 -14.4227 0 - vertex -30.2816 -14.3686 0 - endloop - endfacet - facet normal -0.702151 0.712028 0 - outer loop - vertex -30.3364 -14.4227 0 - vertex -30.2816 -14.3686 -0.2 - vertex -30.3364 -14.4227 -0.2 - endloop - endfacet - facet normal -0.891918 0.452198 0 - outer loop - vertex -30.3673 -14.4836 -0.2 - vertex -30.3364 -14.4227 0 - vertex -30.3364 -14.4227 -0.2 - endloop - endfacet - facet normal -0.891918 0.452198 0 - outer loop - vertex -30.3364 -14.4227 0 - vertex -30.3673 -14.4836 -0.2 - vertex -30.3673 -14.4836 0 - endloop - endfacet - facet normal -0.990022 0.140913 0 - outer loop - vertex -30.377 -14.5514 -0.2 - vertex -30.3673 -14.4836 0 - vertex -30.3673 -14.4836 -0.2 - endloop - endfacet - facet normal -0.990022 0.140913 0 - outer loop - vertex -30.3673 -14.4836 0 - vertex -30.377 -14.5514 -0.2 - vertex -30.377 -14.5514 0 - endloop - endfacet - facet normal -0.969743 0.244126 0 - outer loop - vertex -30.4158 -14.7057 -0.2 - vertex -30.377 -14.5514 0 - vertex -30.377 -14.5514 -0.2 - endloop - endfacet - facet normal -0.969743 0.244126 0 - outer loop - vertex -30.377 -14.5514 0 - vertex -30.4158 -14.7057 -0.2 - vertex -30.4158 -14.7057 0 - endloop - endfacet - facet normal -0.925454 0.378859 0 - outer loop - vertex -30.5215 -14.964 -0.2 - vertex -30.4158 -14.7057 0 - vertex -30.4158 -14.7057 -0.2 - endloop - endfacet - facet normal -0.925454 0.378859 0 - outer loop - vertex -30.4158 -14.7057 0 - vertex -30.5215 -14.964 -0.2 - vertex -30.5215 -14.964 0 - endloop - endfacet - facet normal -0.901668 0.432429 0 - outer loop - vertex -30.678 -15.2903 -0.2 - vertex -30.5215 -14.964 0 - vertex -30.5215 -14.964 -0.2 - endloop - endfacet - facet normal -0.901668 0.432429 0 - outer loop - vertex -30.5215 -14.964 0 - vertex -30.678 -15.2903 -0.2 - vertex -30.678 -15.2903 0 - endloop - endfacet - facet normal -0.882363 0.47057 0 - outer loop - vertex -30.8691 -15.6487 -0.2 - vertex -30.678 -15.2903 0 - vertex -30.678 -15.2903 -0.2 - endloop - endfacet - facet normal -0.882363 0.47057 0 - outer loop - vertex -30.678 -15.2903 0 - vertex -30.8691 -15.6487 -0.2 - vertex -30.8691 -15.6487 0 - endloop - endfacet - facet normal -0.892172 0.451696 0 - outer loop - vertex -31.1223 -16.1487 -0.2 - vertex -30.8691 -15.6487 0 - vertex -30.8691 -15.6487 -0.2 - endloop - endfacet - facet normal -0.892172 0.451696 0 - outer loop - vertex -30.8691 -15.6487 0 - vertex -31.1223 -16.1487 -0.2 - vertex -31.1223 -16.1487 0 - endloop - endfacet - facet normal -0.909515 0.415671 0 - outer loop - vertex -31.4477 -16.8607 -0.2 - vertex -31.1223 -16.1487 0 - vertex -31.1223 -16.1487 -0.2 - endloop - endfacet - facet normal -0.909515 0.415671 0 - outer loop - vertex -31.1223 -16.1487 0 - vertex -31.4477 -16.8607 -0.2 - vertex -31.4477 -16.8607 0 - endloop - endfacet - facet normal -0.918988 0.394285 0 - outer loop - vertex -31.8034 -17.6899 -0.2 - vertex -31.4477 -16.8607 0 - vertex -31.4477 -16.8607 -0.2 - endloop - endfacet - facet normal -0.918988 0.394285 0 - outer loop - vertex -31.4477 -16.8607 0 - vertex -31.8034 -17.6899 -0.2 - vertex -31.8034 -17.6899 0 - endloop - endfacet - facet normal -0.927129 0.374741 0 - outer loop - vertex -32.1476 -18.5412 -0.2 - vertex -31.8034 -17.6899 0 - vertex -31.8034 -17.6899 -0.2 - endloop - endfacet - facet normal -0.927129 0.374741 0 - outer loop - vertex -31.8034 -17.6899 0 - vertex -32.1476 -18.5412 -0.2 - vertex -32.1476 -18.5412 0 + vertex -30.8809 -15.6487 0 + vertex -32.1593 -18.5412 -3 + vertex -32.1593 -18.5412 0 endloop endfacet facet normal -0.929897 0.36782 0 outer loop - vertex -33.2902 -21.4299 -0.2 - vertex -32.1476 -18.5412 0 - vertex -32.1476 -18.5412 -0.2 + vertex -33.3019 -21.4299 -3 + vertex -32.1593 -18.5412 0 + vertex -32.1593 -18.5412 -3 endloop endfacet facet normal -0.929897 0.36782 0 outer loop - vertex -32.1476 -18.5412 0 - vertex -33.2902 -21.4299 -0.2 - vertex -33.2902 -21.4299 0 + vertex -32.1593 -18.5412 0 + vertex -33.3019 -21.4299 -3 + vertex -33.3019 -21.4299 0 endloop endfacet - facet normal -0.931897 0.362724 0 + facet normal -0.949218 0.314618 0 outer loop - vertex -33.4325 -21.7956 -0.2 - vertex -33.2902 -21.4299 0 - vertex -33.2902 -21.4299 -0.2 + vertex -33.5147 -22.0719 -3 + vertex -33.3019 -21.4299 0 + vertex -33.3019 -21.4299 -3 endloop endfacet - facet normal -0.931897 0.362724 0 + facet normal -0.949218 0.314618 0 outer loop - vertex -33.2902 -21.4299 0 - vertex -33.4325 -21.7956 -0.2 - vertex -33.4325 -21.7956 0 + vertex -33.3019 -21.4299 0 + vertex -33.5147 -22.0719 -3 + vertex -33.5147 -22.0719 0 endloop endfacet - facet normal -0.968991 0.247098 0 + facet normal -0.877443 -0.47968 0 outer loop - vertex -33.503 -22.0719 -0.2 - vertex -33.4325 -21.7956 0 - vertex -33.4325 -21.7956 -0.2 + vertex -33.3295 -22.4108 -3 + vertex -33.5147 -22.0719 0 + vertex -33.5147 -22.0719 -3 endloop endfacet - facet normal -0.968991 0.247098 0 + facet normal -0.877443 -0.47968 0 outer loop - vertex -33.4325 -21.7956 0 - vertex -33.503 -22.0719 -0.2 - vertex -33.503 -22.0719 0 + vertex -33.5147 -22.0719 0 + vertex -33.3295 -22.4108 -3 + vertex -33.3295 -22.4108 0 endloop endfacet - facet normal -0.999995 -0.00318704 0 + facet normal -0.175573 -0.984466 0 outer loop - vertex -33.5026 -22.1809 -0.2 - vertex -33.503 -22.0719 0 - vertex -33.503 -22.0719 -0.2 + vertex -33.3295 -22.4108 -3 + vertex -32.5249 -22.5543 0 + vertex -33.3295 -22.4108 0 endloop endfacet - facet normal -0.999995 -0.00318704 0 + facet normal -0.175573 -0.984466 -0 outer loop - vertex -33.503 -22.0719 0 - vertex -33.5026 -22.1809 -0.2 - vertex -33.5026 -22.1809 0 + vertex -32.5249 -22.5543 0 + vertex -33.3295 -22.4108 -3 + vertex -32.5249 -22.5543 -3 endloop endfacet - facet normal -0.954349 -0.298693 0 + facet normal -0.0340039 -0.999422 0 outer loop - vertex -33.4739 -22.2725 -0.2 - vertex -33.5026 -22.1809 0 - vertex -33.5026 -22.1809 -0.2 + vertex -32.5249 -22.5543 -3 + vertex -30.8797 -22.6102 0 + vertex -32.5249 -22.5543 0 endloop endfacet - facet normal -0.954349 -0.298693 0 + facet normal -0.0340039 -0.999422 -0 outer loop - vertex -33.5026 -22.1809 0 - vertex -33.4739 -22.2725 -0.2 - vertex -33.4739 -22.2725 0 + vertex -30.8797 -22.6102 0 + vertex -32.5249 -22.5543 -3 + vertex -30.8797 -22.6102 -3 endloop endfacet - facet normal -0.782807 -0.622265 0 + facet normal 0.0362533 -0.999343 0 outer loop - vertex -33.4135 -22.3486 -0.2 - vertex -33.4739 -22.2725 0 - vertex -33.4739 -22.2725 -0.2 + vertex -30.8797 -22.6102 -3 + vertex -28.6031 -22.5277 0 + vertex -30.8797 -22.6102 0 endloop endfacet - facet normal -0.782807 -0.622265 0 + facet normal 0.0362533 -0.999343 0 outer loop - vertex -33.4739 -22.2725 0 - vertex -33.4135 -22.3486 -0.2 - vertex -33.4135 -22.3486 0 + vertex -28.6031 -22.5277 0 + vertex -30.8797 -22.6102 -3 + vertex -28.6031 -22.5277 -3 endloop endfacet - facet normal -0.544751 -0.838598 0 + facet normal 0.242378 -0.970182 0 outer loop - vertex -33.4135 -22.3486 -0.2 - vertex -33.3177 -22.4108 0 - vertex -33.4135 -22.3486 0 + vertex -28.6031 -22.5277 -3 + vertex -26.9351 -22.1109 0 + vertex -28.6031 -22.5277 0 endloop endfacet - facet normal -0.544751 -0.838598 -0 + facet normal 0.242378 -0.970182 0 outer loop - vertex -33.3177 -22.4108 0 - vertex -33.4135 -22.3486 -0.2 - vertex -33.3177 -22.4108 -0.2 + vertex -26.9351 -22.1109 0 + vertex -28.6031 -22.5277 -3 + vertex -26.9351 -22.1109 -3 endloop endfacet - facet normal -0.348432 -0.937334 0 + facet normal 0.555939 -0.831223 0 outer loop - vertex -33.3177 -22.4108 -0.2 - vertex -33.1833 -22.4608 0 - vertex -33.3177 -22.4108 0 + vertex -26.9351 -22.1109 -3 + vertex -25.7001 -21.2849 0 + vertex -26.9351 -22.1109 0 endloop endfacet - facet normal -0.348432 -0.937334 -0 + facet normal 0.555939 -0.831223 0 outer loop - vertex -33.1833 -22.4608 0 - vertex -33.3177 -22.4108 -0.2 - vertex -33.1833 -22.4608 -0.2 + vertex -25.7001 -21.2849 0 + vertex -26.9351 -22.1109 -3 + vertex -25.7001 -21.2849 -3 endloop endfacet - facet normal -0.218014 -0.975946 0 + facet normal 0.801538 -0.597944 0 outer loop - vertex -33.1833 -22.4608 -0.2 - vertex -33.0067 -22.5002 0 - vertex -33.1833 -22.4608 0 + vertex -25.7001 -21.2849 0 + vertex -24.7225 -19.9745 -3 + vertex -24.7225 -19.9745 0 endloop endfacet - facet normal -0.218014 -0.975946 -0 + facet normal 0.801538 -0.597944 0 outer loop - vertex -33.0067 -22.5002 0 - vertex -33.1833 -22.4608 -0.2 - vertex -33.0067 -22.5002 -0.2 + vertex -24.7225 -19.9745 -3 + vertex -25.7001 -21.2849 0 + vertex -25.7001 -21.2849 -3 endloop endfacet - facet normal -0.108894 -0.994053 0 + facet normal 0.817601 -0.575785 0 outer loop - vertex -33.0067 -22.5002 -0.2 - vertex -32.5132 -22.5543 0 - vertex -33.0067 -22.5002 0 + vertex -24.7225 -19.9745 0 + vertex -24.1111 -19.1062 -3 + vertex -24.1111 -19.1062 0 endloop endfacet - facet normal -0.108894 -0.994053 -0 + facet normal 0.817601 -0.575785 0 outer loop - vertex -32.5132 -22.5543 0 - vertex -33.0067 -22.5002 -0.2 - vertex -32.5132 -22.5543 -0.2 + vertex -24.1111 -19.1062 -3 + vertex -24.7225 -19.9745 0 + vertex -24.7225 -19.9745 -3 endloop endfacet - facet normal -0.0456949 -0.998955 0 + facet normal 0.293726 -0.95589 0 outer loop - vertex -32.5132 -22.5543 -0.2 - vertex -31.8095 -22.5865 0 - vertex -32.5132 -22.5543 0 + vertex -24.1111 -19.1062 -3 + vertex -23.4908 -18.9156 0 + vertex -24.1111 -19.1062 0 endloop endfacet - facet normal -0.0456949 -0.998955 -0 + facet normal 0.293726 -0.95589 0 outer loop - vertex -31.8095 -22.5865 0 - vertex -32.5132 -22.5543 -0.2 - vertex -31.8095 -22.5865 -0.2 + vertex -23.4908 -18.9156 0 + vertex -24.1111 -19.1062 -3 + vertex -23.4908 -18.9156 -3 endloop endfacet - facet normal -0.0252584 -0.999681 0 + facet normal -0.145773 -0.989318 0 outer loop - vertex -31.8095 -22.5865 -0.2 - vertex -30.868 -22.6102 0 - vertex -31.8095 -22.5865 0 + vertex -23.4908 -18.9156 -3 + vertex -22.8641 -19.008 0 + vertex -23.4908 -18.9156 0 endloop endfacet - facet normal -0.0252584 -0.999681 -0 + facet normal -0.145773 -0.989318 -0 outer loop - vertex -30.868 -22.6102 0 - vertex -31.8095 -22.5865 -0.2 - vertex -30.868 -22.6102 -0.2 + vertex -22.8641 -19.008 0 + vertex -23.4908 -18.9156 -3 + vertex -22.8641 -19.008 -3 endloop endfacet - facet normal -0.0103281 -0.999947 0 + facet normal -0.802531 -0.59661 0 outer loop - vertex -30.868 -22.6102 -0.2 - vertex -30.2322 -22.6168 0 - vertex -30.868 -22.6102 0 + vertex -22.6057 -19.3555 -3 + vertex -22.8641 -19.008 0 + vertex -22.8641 -19.008 -3 endloop endfacet - facet normal -0.0103281 -0.999947 -0 + facet normal -0.802531 -0.59661 0 outer loop - vertex -30.2322 -22.6168 0 - vertex -30.868 -22.6102 -0.2 - vertex -30.2322 -22.6168 -0.2 + vertex -22.8641 -19.008 0 + vertex -22.6057 -19.3555 -3 + vertex -22.6057 -19.3555 0 endloop endfacet - facet normal 0.0183057 -0.999832 0 + facet normal -0.991425 0.130676 0 outer loop - vertex -30.2322 -22.6168 -0.2 - vertex -29.6427 -22.606 0 - vertex -30.2322 -22.6168 0 + vertex -22.6991 -20.0641 -3 + vertex -22.6057 -19.3555 0 + vertex -22.6057 -19.3555 -3 endloop endfacet - facet normal 0.0183057 -0.999832 0 + facet normal -0.991425 0.130676 0 outer loop - vertex -29.6427 -22.606 0 - vertex -30.2322 -22.6168 -0.2 - vertex -29.6427 -22.606 -0.2 + vertex -22.6057 -19.3555 0 + vertex -22.6991 -20.0641 -3 + vertex -22.6991 -20.0641 0 endloop endfacet - facet normal 0.0536309 -0.998561 0 + facet normal -0.939482 0.342598 0 outer loop - vertex -29.6427 -22.606 -0.2 - vertex -29.0966 -22.5767 0 - vertex -29.6427 -22.606 0 + vertex -23.1278 -21.2395 -3 + vertex -22.6991 -20.0641 0 + vertex -22.6991 -20.0641 -3 endloop endfacet - facet normal 0.0536309 -0.998561 0 + facet normal -0.939482 0.342598 0 outer loop - vertex -29.0966 -22.5767 0 - vertex -29.6427 -22.606 -0.2 - vertex -29.0966 -22.5767 -0.2 + vertex -22.6991 -20.0641 0 + vertex -23.1278 -21.2395 -3 + vertex -23.1278 -21.2395 0 endloop endfacet - facet normal 0.0966018 -0.995323 0 + facet normal -0.926121 0.377226 0 outer loop - vertex -29.0966 -22.5767 -0.2 - vertex -28.5914 -22.5277 0 - vertex -29.0966 -22.5767 0 + vertex -24.4076 -24.3815 -3 + vertex -23.1278 -21.2395 0 + vertex -23.1278 -21.2395 -3 endloop endfacet - facet normal 0.0966018 -0.995323 0 + facet normal -0.926121 0.377226 0 outer loop - vertex -28.5914 -22.5277 0 - vertex -29.0966 -22.5767 -0.2 - vertex -28.5914 -22.5277 -0.2 + vertex -23.1278 -21.2395 0 + vertex -24.4076 -24.3815 -3 + vertex -24.4076 -24.3815 0 endloop endfacet - facet normal 0.148005 -0.988987 0 + facet normal -0.921607 0.388125 0 outer loop - vertex -28.5914 -22.5277 -0.2 - vertex -28.1242 -22.4577 0 - vertex -28.5914 -22.5277 0 + vertex -25.4741 -26.9141 -3 + vertex -24.4076 -24.3815 0 + vertex -24.4076 -24.3815 -3 endloop endfacet - facet normal 0.148005 -0.988987 0 + facet normal -0.921607 0.388125 0 outer loop - vertex -28.1242 -22.4577 0 - vertex -28.5914 -22.5277 -0.2 - vertex -28.1242 -22.4577 -0.2 + vertex -24.4076 -24.3815 0 + vertex -25.4741 -26.9141 -3 + vertex -25.4741 -26.9141 0 endloop endfacet - facet normal 0.208284 -0.978068 0 + facet normal -0.886525 0.462682 0 outer loop - vertex -28.1242 -22.4577 -0.2 - vertex -27.6923 -22.3658 0 - vertex -28.1242 -22.4577 0 + vertex -26.2338 -28.3696 -3 + vertex -25.4741 -26.9141 0 + vertex -25.4741 -26.9141 -3 endloop endfacet - facet normal 0.208284 -0.978068 0 + facet normal -0.886525 0.462682 0 outer loop - vertex -27.6923 -22.3658 0 - vertex -28.1242 -22.4577 -0.2 - vertex -27.6923 -22.3658 -0.2 + vertex -25.4741 -26.9141 0 + vertex -26.2338 -28.3696 -3 + vertex -26.2338 -28.3696 0 endloop endfacet - facet normal 0.277178 -0.960818 0 + facet normal -0.719187 0.694816 0 outer loop - vertex -27.6923 -22.3658 -0.2 - vertex -27.2929 -22.2506 0 - vertex -27.6923 -22.3658 0 + vertex -26.8752 -29.0336 -3 + vertex -26.2338 -28.3696 0 + vertex -26.2338 -28.3696 -3 endloop endfacet - facet normal 0.277178 -0.960818 0 + facet normal -0.719187 0.694816 0 outer loop - vertex -27.2929 -22.2506 0 - vertex -27.6923 -22.3658 -0.2 - vertex -27.2929 -22.2506 -0.2 + vertex -26.2338 -28.3696 0 + vertex -26.8752 -29.0336 -3 + vertex -26.8752 -29.0336 0 endloop endfacet - facet normal 0.353412 -0.935468 0 + facet normal -0.216473 0.976289 0 outer loop - vertex -27.2929 -22.2506 -0.2 - vertex -26.9234 -22.1109 0 - vertex -27.2929 -22.2506 0 + vertex -26.8752 -29.0336 -3 + vertex -27.5872 -29.1914 0 + vertex -26.8752 -29.0336 0 endloop endfacet - facet normal 0.353412 -0.935468 0 + facet normal -0.216473 0.976289 0 outer loop - vertex -26.9234 -22.1109 0 - vertex -27.2929 -22.2506 -0.2 - vertex -26.9234 -22.1109 -0.2 + vertex -27.5872 -29.1914 0 + vertex -26.8752 -29.0336 -3 + vertex -27.5872 -29.1914 -3 endloop endfacet - facet normal 0.434442 -0.9007 0 + facet normal 0.155401 0.987851 -0 outer loop - vertex -26.9234 -22.1109 -0.2 - vertex -26.5809 -21.9457 0 - vertex -26.9234 -22.1109 0 + vertex -27.5872 -29.1914 -3 + vertex -28.1878 -29.097 0 + vertex -27.5872 -29.1914 0 endloop endfacet - facet normal 0.434442 -0.9007 0 + facet normal 0.155401 0.987851 0 outer loop - vertex -26.5809 -21.9457 0 - vertex -26.9234 -22.1109 -0.2 - vertex -26.5809 -21.9457 -0.2 + vertex -28.1878 -29.097 0 + vertex -27.5872 -29.1914 -3 + vertex -28.1878 -29.097 -3 endloop endfacet - facet normal 0.516567 -0.856247 0 + facet normal 0.99998 -0.00638056 0 outer loop - vertex -26.5809 -21.9457 -0.2 - vertex -26.2627 -21.7538 0 - vertex -26.5809 -21.9457 0 + vertex -28.1878 -29.097 0 + vertex -28.1838 -28.4809 -3 + vertex -28.1838 -28.4809 0 endloop endfacet - facet normal 0.516567 -0.856247 0 + facet normal 0.99998 -0.00638056 0 outer loop - vertex -26.2627 -21.7538 0 - vertex -26.5809 -21.9457 -0.2 - vertex -26.2627 -21.7538 -0.2 + vertex -28.1838 -28.4809 -3 + vertex -28.1878 -29.097 0 + vertex -28.1878 -29.097 -3 endloop endfacet - facet normal 0.595538 -0.803327 0 + facet normal 0.992864 -0.119255 0 outer loop - vertex -26.2627 -21.7538 -0.2 - vertex -25.9661 -21.5339 0 - vertex -26.2627 -21.7538 0 + vertex -28.1838 -28.4809 0 + vertex -27.9105 -26.2055 -3 + vertex -27.9105 -26.2055 0 endloop endfacet - facet normal 0.595538 -0.803327 0 + facet normal 0.992864 -0.119255 0 outer loop - vertex -25.9661 -21.5339 0 - vertex -26.2627 -21.7538 -0.2 - vertex -25.9661 -21.5339 -0.2 + vertex -27.9105 -26.2055 -3 + vertex -28.1838 -28.4809 0 + vertex -28.1838 -28.4809 -3 endloop endfacet - facet normal 0.667477 -0.744631 0 + facet normal 0.858031 0.513598 0 outer loop - vertex -25.9661 -21.5339 -0.2 - vertex -25.6884 -21.2849 0 - vertex -25.9661 -21.5339 0 + vertex -27.9105 -26.2055 0 + vertex -28.1036 -25.8829 -3 + vertex -28.1036 -25.8829 0 endloop endfacet - facet normal 0.667477 -0.744631 0 + facet normal 0.858031 0.513598 0 outer loop - vertex -25.6884 -21.2849 0 - vertex -25.9661 -21.5339 -0.2 - vertex -25.6884 -21.2849 -0.2 + vertex -28.1036 -25.8829 -3 + vertex -27.9105 -26.2055 0 + vertex -27.9105 -26.2055 -3 endloop endfacet - facet normal 0.729709 -0.683757 0 + facet normal 0.343726 0.93907 -0 outer loop - vertex -25.6884 -21.2849 0 - vertex -25.4267 -21.0057 -0.2 - vertex -25.4267 -21.0057 0 + vertex -28.1036 -25.8829 -3 + vertex -28.5713 -25.7117 0 + vertex -28.1036 -25.8829 0 endloop endfacet - facet normal 0.729709 -0.683757 0 + facet normal 0.343726 0.93907 0 outer loop - vertex -25.4267 -21.0057 -0.2 - vertex -25.6884 -21.2849 0 - vertex -25.6884 -21.2849 -0.2 + vertex -28.5713 -25.7117 0 + vertex -28.1036 -25.8829 -3 + vertex -28.5713 -25.7117 -3 endloop endfacet - facet normal 0.781167 -0.624322 0 + facet normal 0.0659122 0.997825 -0 outer loop - vertex -25.4267 -21.0057 0 - vertex -25.1784 -20.695 -0.2 - vertex -25.1784 -20.695 0 + vertex -28.5713 -25.7117 -3 + vertex -32.142 -25.4759 0 + vertex -28.5713 -25.7117 0 endloop endfacet - facet normal 0.781167 -0.624322 0 + facet normal 0.0659122 0.997825 0 outer loop - vertex -25.1784 -20.695 -0.2 - vertex -25.4267 -21.0057 0 - vertex -25.4267 -21.0057 -0.2 + vertex -32.142 -25.4759 0 + vertex -28.5713 -25.7117 -3 + vertex -32.142 -25.4759 -3 endloop endfacet - facet normal 0.82216 -0.569257 0 + facet normal 0.000432103 1 -0 outer loop - vertex -25.1784 -20.695 0 - vertex -24.9407 -20.3516 -0.2 - vertex -24.9407 -20.3516 0 + vertex -32.142 -25.4759 -3 + vertex -34.9626 -25.4747 0 + vertex -32.142 -25.4759 0 endloop endfacet - facet normal 0.82216 -0.569257 0 + facet normal 0.000432103 1 0 outer loop - vertex -24.9407 -20.3516 -0.2 - vertex -25.1784 -20.695 0 - vertex -25.1784 -20.695 -0.2 - endloop - endfacet - facet normal 0.853894 -0.520447 0 - outer loop - vertex -24.9407 -20.3516 0 - vertex -24.7108 -19.9745 -0.2 - vertex -24.7108 -19.9745 0 - endloop - endfacet - facet normal 0.853894 -0.520447 0 - outer loop - vertex -24.7108 -19.9745 -0.2 - vertex -24.9407 -20.3516 0 - vertex -24.9407 -20.3516 -0.2 - endloop - endfacet - facet normal 0.85126 -0.524745 0 - outer loop - vertex -24.7108 -19.9745 0 - vertex -24.3738 -19.4278 -0.2 - vertex -24.3738 -19.4278 0 - endloop - endfacet - facet normal 0.85126 -0.524745 0 - outer loop - vertex -24.3738 -19.4278 -0.2 - vertex -24.7108 -19.9745 0 - vertex -24.7108 -19.9745 -0.2 - endloop - endfacet - facet normal 0.796036 -0.60525 0 - outer loop - vertex -24.3738 -19.4278 0 - vertex -24.2328 -19.2424 -0.2 - vertex -24.2328 -19.2424 0 - endloop - endfacet - facet normal 0.796036 -0.60525 0 - outer loop - vertex -24.2328 -19.2424 -0.2 - vertex -24.3738 -19.4278 0 - vertex -24.3738 -19.4278 -0.2 - endloop - endfacet - facet normal 0.714094 -0.70005 0 - outer loop - vertex -24.2328 -19.2424 0 - vertex -24.0993 -19.1062 -0.2 - vertex -24.0993 -19.1062 0 - endloop - endfacet - facet normal 0.714094 -0.70005 0 - outer loop - vertex -24.0993 -19.1062 -0.2 - vertex -24.2328 -19.2424 0 - vertex -24.2328 -19.2424 -0.2 - endloop - endfacet - facet normal 0.573399 -0.819276 0 - outer loop - vertex -24.0993 -19.1062 -0.2 - vertex -23.9653 -19.0124 0 - vertex -24.0993 -19.1062 0 - endloop - endfacet - facet normal 0.573399 -0.819276 0 - outer loop - vertex -23.9653 -19.0124 0 - vertex -24.0993 -19.1062 -0.2 - vertex -23.9653 -19.0124 -0.2 - endloop - endfacet - facet normal 0.378849 -0.925458 0 - outer loop - vertex -23.9653 -19.0124 -0.2 - vertex -23.8226 -18.954 0 - vertex -23.9653 -19.0124 0 - endloop - endfacet - facet normal 0.378849 -0.925458 0 - outer loop - vertex -23.8226 -18.954 0 - vertex -23.9653 -19.0124 -0.2 - vertex -23.8226 -18.954 -0.2 - endloop - endfacet - facet normal 0.184661 -0.982802 0 - outer loop - vertex -23.8226 -18.954 -0.2 - vertex -23.6632 -18.9241 0 - vertex -23.8226 -18.954 0 - endloop - endfacet - facet normal 0.184661 -0.982802 0 - outer loop - vertex -23.6632 -18.9241 0 - vertex -23.8226 -18.954 -0.2 - vertex -23.6632 -18.9241 -0.2 - endloop - endfacet - facet normal 0.0457652 -0.998952 0 - outer loop - vertex -23.6632 -18.9241 -0.2 - vertex -23.4791 -18.9156 0 - vertex -23.6632 -18.9241 0 - endloop - endfacet - facet normal 0.0457652 -0.998952 0 - outer loop - vertex -23.4791 -18.9156 0 - vertex -23.6632 -18.9241 -0.2 - vertex -23.4791 -18.9156 -0.2 - endloop - endfacet - facet normal -0.0578368 -0.998326 0 - outer loop - vertex -23.4791 -18.9156 -0.2 - vertex -23.1186 -18.9365 0 - vertex -23.4791 -18.9156 0 - endloop - endfacet - facet normal -0.0578368 -0.998326 -0 - outer loop - vertex -23.1186 -18.9365 0 - vertex -23.4791 -18.9156 -0.2 - vertex -23.1186 -18.9365 -0.2 - endloop - endfacet - facet normal -0.193675 -0.981066 0 - outer loop - vertex -23.1186 -18.9365 -0.2 - vertex -22.9739 -18.9651 0 - vertex -23.1186 -18.9365 0 - endloop - endfacet - facet normal -0.193675 -0.981066 -0 - outer loop - vertex -22.9739 -18.9651 0 - vertex -23.1186 -18.9365 -0.2 - vertex -22.9739 -18.9651 -0.2 - endloop - endfacet - facet normal -0.332798 -0.942998 0 - outer loop - vertex -22.9739 -18.9651 -0.2 - vertex -22.8524 -19.008 0 - vertex -22.9739 -18.9651 0 - endloop - endfacet - facet normal -0.332798 -0.942998 -0 - outer loop - vertex -22.8524 -19.008 0 - vertex -22.9739 -18.9651 -0.2 - vertex -22.8524 -19.008 -0.2 - endloop - endfacet - facet normal -0.512852 -0.858477 0 - outer loop - vertex -22.8524 -19.008 -0.2 - vertex -22.7539 -19.0668 0 - vertex -22.8524 -19.008 0 - endloop - endfacet - facet normal -0.512852 -0.858477 -0 - outer loop - vertex -22.7539 -19.0668 0 - vertex -22.8524 -19.008 -0.2 - vertex -22.7539 -19.0668 -0.2 - endloop - endfacet - facet normal -0.710432 -0.703766 0 - outer loop - vertex -22.6782 -19.1432 -0.2 - vertex -22.7539 -19.0668 0 - vertex -22.7539 -19.0668 -0.2 - endloop - endfacet - facet normal -0.710432 -0.703766 0 - outer loop - vertex -22.7539 -19.0668 0 - vertex -22.6782 -19.1432 -0.2 - vertex -22.6782 -19.1432 0 - endloop - endfacet - facet normal -0.873955 -0.486007 0 - outer loop - vertex -22.625 -19.2389 -0.2 - vertex -22.6782 -19.1432 0 - vertex -22.6782 -19.1432 -0.2 - endloop - endfacet - facet normal -0.873955 -0.486007 0 - outer loop - vertex -22.6782 -19.1432 0 - vertex -22.625 -19.2389 -0.2 - vertex -22.625 -19.2389 0 - endloop - endfacet - facet normal -0.966491 -0.256701 0 - outer loop - vertex -22.594 -19.3555 -0.2 - vertex -22.625 -19.2389 0 - vertex -22.625 -19.2389 -0.2 - endloop - endfacet - facet normal -0.966491 -0.256701 0 - outer loop - vertex -22.625 -19.2389 0 - vertex -22.594 -19.3555 -0.2 - vertex -22.594 -19.3555 0 - endloop - endfacet - facet normal -0.997923 -0.0644192 0 - outer loop - vertex -22.585 -19.4947 -0.2 - vertex -22.594 -19.3555 0 - vertex -22.594 -19.3555 -0.2 - endloop - endfacet - facet normal -0.997923 -0.0644192 0 - outer loop - vertex -22.594 -19.3555 0 - vertex -22.585 -19.4947 -0.2 - vertex -22.585 -19.4947 0 - endloop - endfacet - facet normal -0.996972 0.0777592 0 - outer loop - vertex -22.5978 -19.6581 -0.2 - vertex -22.585 -19.4947 0 - vertex -22.585 -19.4947 -0.2 - endloop - endfacet - facet normal -0.996972 0.0777592 0 - outer loop - vertex -22.585 -19.4947 0 - vertex -22.5978 -19.6581 -0.2 - vertex -22.5978 -19.6581 0 - endloop - endfacet - facet normal -0.976488 0.215571 0 - outer loop - vertex -22.6874 -20.0641 -0.2 - vertex -22.5978 -19.6581 0 - vertex -22.5978 -19.6581 -0.2 - endloop - endfacet - facet normal -0.976488 0.215571 0 - outer loop - vertex -22.5978 -19.6581 0 - vertex -22.6874 -20.0641 -0.2 - vertex -22.6874 -20.0641 0 - endloop - endfacet - facet normal -0.949119 0.314918 0 - outer loop - vertex -22.8608 -20.5868 -0.2 - vertex -22.6874 -20.0641 0 - vertex -22.6874 -20.0641 -0.2 - endloop - endfacet - facet normal -0.949119 0.314918 0 - outer loop - vertex -22.6874 -20.0641 0 - vertex -22.8608 -20.5868 -0.2 - vertex -22.8608 -20.5868 0 - endloop - endfacet - facet normal -0.931342 0.364145 0 - outer loop - vertex -23.116 -21.2395 -0.2 - vertex -22.8608 -20.5868 0 - vertex -22.8608 -20.5868 -0.2 - endloop - endfacet - facet normal -0.931342 0.364145 0 - outer loop - vertex -22.8608 -20.5868 0 - vertex -23.116 -21.2395 -0.2 - vertex -23.116 -21.2395 0 - endloop - endfacet - facet normal -0.926122 0.377225 0 - outer loop - vertex -24.3958 -24.3815 -0.2 - vertex -23.116 -21.2395 0 - vertex -23.116 -21.2395 -0.2 - endloop - endfacet - facet normal -0.926122 0.377225 0 - outer loop - vertex -23.116 -21.2395 0 - vertex -24.3958 -24.3815 -0.2 - vertex -24.3958 -24.3815 0 - endloop - endfacet - facet normal -0.92485 0.380332 0 - outer loop - vertex -24.9793 -25.8003 -0.2 - vertex -24.3958 -24.3815 0 - vertex -24.3958 -24.3815 -0.2 - endloop - endfacet - facet normal -0.92485 0.380332 0 - outer loop - vertex -24.3958 -24.3815 0 - vertex -24.9793 -25.8003 -0.2 - vertex -24.9793 -25.8003 0 - endloop - endfacet - facet normal -0.917414 0.397935 0 - outer loop - vertex -25.4624 -26.9141 -0.2 - vertex -24.9793 -25.8003 0 - vertex -24.9793 -25.8003 -0.2 - endloop - endfacet - facet normal -0.917414 0.397935 0 - outer loop - vertex -24.9793 -25.8003 0 - vertex -25.4624 -26.9141 -0.2 - vertex -25.4624 -26.9141 0 - endloop - endfacet - facet normal -0.901103 0.433605 0 - outer loop - vertex -25.8688 -27.7587 -0.2 - vertex -25.4624 -26.9141 0 - vertex -25.4624 -26.9141 -0.2 - endloop - endfacet - facet normal -0.901103 0.433605 0 - outer loop - vertex -25.4624 -26.9141 0 - vertex -25.8688 -27.7587 -0.2 - vertex -25.8688 -27.7587 0 - endloop - endfacet - facet normal -0.87739 0.479778 0 - outer loop - vertex -26.0506 -28.0911 -0.2 - vertex -25.8688 -27.7587 0 - vertex -25.8688 -27.7587 -0.2 - endloop - endfacet - facet normal -0.87739 0.479778 0 - outer loop - vertex -25.8688 -27.7587 0 - vertex -26.0506 -28.0911 -0.2 - vertex -26.0506 -28.0911 0 - endloop - endfacet - facet normal -0.851572 0.524237 0 - outer loop - vertex -26.2221 -28.3696 -0.2 - vertex -26.0506 -28.0911 0 - vertex -26.0506 -28.0911 -0.2 - endloop - endfacet - facet normal -0.851572 0.524237 0 - outer loop - vertex -26.0506 -28.0911 0 - vertex -26.2221 -28.3696 -0.2 - vertex -26.2221 -28.3696 0 - endloop - endfacet - facet normal -0.812951 0.582331 0 - outer loop - vertex -26.3861 -28.5987 -0.2 - vertex -26.2221 -28.3696 0 - vertex -26.2221 -28.3696 -0.2 - endloop - endfacet - facet normal -0.812951 0.582331 0 - outer loop - vertex -26.2221 -28.3696 0 - vertex -26.3861 -28.5987 -0.2 - vertex -26.3861 -28.5987 0 - endloop - endfacet - facet normal -0.755407 0.655255 0 - outer loop - vertex -26.5458 -28.7827 -0.2 - vertex -26.3861 -28.5987 0 - vertex -26.3861 -28.5987 -0.2 - endloop - endfacet - facet normal -0.755407 0.655255 0 - outer loop - vertex -26.3861 -28.5987 0 - vertex -26.5458 -28.7827 -0.2 - vertex -26.5458 -28.7827 0 - endloop - endfacet - facet normal -0.671936 0.740609 0 - outer loop - vertex -26.5458 -28.7827 -0.2 - vertex -26.7039 -28.9262 0 - vertex -26.5458 -28.7827 0 - endloop - endfacet - facet normal -0.671936 0.740609 0 - outer loop - vertex -26.7039 -28.9262 0 - vertex -26.5458 -28.7827 -0.2 - vertex -26.7039 -28.9262 -0.2 - endloop - endfacet - facet normal -0.558253 0.829671 0 - outer loop - vertex -26.7039 -28.9262 -0.2 - vertex -26.8635 -29.0336 0 - vertex -26.7039 -28.9262 0 - endloop - endfacet - facet normal -0.558253 0.829671 0 - outer loop - vertex -26.8635 -29.0336 0 - vertex -26.7039 -28.9262 -0.2 - vertex -26.8635 -29.0336 -0.2 - endloop - endfacet - facet normal -0.419339 0.90783 0 - outer loop - vertex -26.8635 -29.0336 -0.2 - vertex -27.0275 -29.1093 0 - vertex -26.8635 -29.0336 0 - endloop - endfacet - facet normal -0.419339 0.90783 0 - outer loop - vertex -27.0275 -29.1093 0 - vertex -26.8635 -29.0336 -0.2 - vertex -27.0275 -29.1093 -0.2 - endloop - endfacet - facet normal -0.272797 0.962072 0 - outer loop - vertex -27.0275 -29.1093 -0.2 - vertex -27.1989 -29.1579 0 - vertex -27.0275 -29.1093 0 - endloop - endfacet - facet normal -0.272797 0.962072 0 - outer loop - vertex -27.1989 -29.1579 0 - vertex -27.0275 -29.1093 -0.2 - vertex -27.1989 -29.1579 -0.2 - endloop - endfacet - facet normal -0.141044 0.990003 0 - outer loop - vertex -27.1989 -29.1579 -0.2 - vertex -27.3805 -29.1838 0 - vertex -27.1989 -29.1579 0 - endloop - endfacet - facet normal -0.141044 0.990003 0 - outer loop - vertex -27.3805 -29.1838 0 - vertex -27.1989 -29.1579 -0.2 - vertex -27.3805 -29.1838 -0.2 - endloop - endfacet - facet normal -0.0391387 0.999234 0 - outer loop - vertex -27.3805 -29.1838 -0.2 - vertex -27.5755 -29.1914 0 - vertex -27.3805 -29.1838 0 - endloop - endfacet - facet normal -0.0391387 0.999234 0 - outer loop - vertex -27.5755 -29.1914 0 - vertex -27.3805 -29.1838 -0.2 - vertex -27.5755 -29.1914 -0.2 - endloop - endfacet - facet normal 0.0328742 0.999459 -0 - outer loop - vertex -27.5755 -29.1914 -0.2 - vertex -27.9775 -29.1782 0 - vertex -27.5755 -29.1914 0 - endloop - endfacet - facet normal 0.0328742 0.999459 0 - outer loop - vertex -27.9775 -29.1782 0 - vertex -27.5755 -29.1914 -0.2 - vertex -27.9775 -29.1782 -0.2 - endloop - endfacet - facet normal 0.226397 0.974035 -0 - outer loop - vertex -27.9775 -29.1782 -0.2 - vertex -28.0989 -29.15 0 - vertex -27.9775 -29.1782 0 - endloop - endfacet - facet normal 0.226397 0.974035 0 - outer loop - vertex -28.0989 -29.15 0 - vertex -27.9775 -29.1782 -0.2 - vertex -28.0989 -29.15 -0.2 - endloop - endfacet - facet normal 0.566674 0.823942 -0 - outer loop - vertex -28.0989 -29.15 -0.2 - vertex -28.176 -29.097 0 - vertex -28.0989 -29.15 0 - endloop - endfacet - facet normal 0.566674 0.823942 0 - outer loop - vertex -28.176 -29.097 0 - vertex -28.0989 -29.15 -0.2 - vertex -28.176 -29.097 -0.2 - endloop - endfacet - facet normal 0.908757 0.417326 0 - outer loop - vertex -28.176 -29.097 0 - vertex -28.2154 -29.0113 -0.2 - vertex -28.2154 -29.0113 0 - endloop - endfacet - facet normal 0.908757 0.417326 0 - outer loop - vertex -28.2154 -29.0113 -0.2 - vertex -28.176 -29.097 0 - vertex -28.176 -29.097 -0.2 - endloop - endfacet - facet normal 0.997947 0.0640397 0 - outer loop - vertex -28.2154 -29.0113 0 - vertex -28.2235 -28.8853 -0.2 - vertex -28.2235 -28.8853 0 - endloop - endfacet - facet normal 0.997947 0.0640397 0 - outer loop - vertex -28.2235 -28.8853 -0.2 - vertex -28.2154 -29.0113 0 - vertex -28.2154 -29.0113 -0.2 - endloop - endfacet - facet normal 0.992038 -0.125943 0 - outer loop - vertex -28.2235 -28.8853 0 - vertex -28.1721 -28.4809 -0.2 - vertex -28.1721 -28.4809 0 - endloop - endfacet - facet normal 0.992038 -0.125943 0 - outer loop - vertex -28.1721 -28.4809 -0.2 - vertex -28.2235 -28.8853 0 - vertex -28.2235 -28.8853 -0.2 - endloop - endfacet - facet normal 0.988281 -0.152644 0 - outer loop - vertex -28.1721 -28.4809 0 - vertex -27.9393 -26.9734 -0.2 - vertex -27.9393 -26.9734 0 - endloop - endfacet - facet normal 0.988281 -0.152644 0 - outer loop - vertex -27.9393 -26.9734 -0.2 - vertex -28.1721 -28.4809 0 - vertex -28.1721 -28.4809 -0.2 - endloop - endfacet - facet normal 0.994809 -0.101759 0 - outer loop - vertex -27.9393 -26.9734 0 - vertex -27.8924 -26.5154 -0.2 - vertex -27.8924 -26.5154 0 - endloop - endfacet - facet normal 0.994809 -0.101759 0 - outer loop - vertex -27.8924 -26.5154 -0.2 - vertex -27.9393 -26.9734 0 - vertex -27.9393 -26.9734 -0.2 - endloop - endfacet - facet normal 0.999788 0.0205947 0 - outer loop - vertex -27.8924 -26.5154 0 - vertex -27.8988 -26.2055 -0.2 - vertex -27.8988 -26.2055 0 - endloop - endfacet - facet normal 0.999788 0.0205947 0 - outer loop - vertex -27.8988 -26.2055 -0.2 - vertex -27.8924 -26.5154 0 - vertex -27.8924 -26.5154 -0.2 - endloop - endfacet - facet normal 0.975965 0.217927 0 - outer loop - vertex -27.8988 -26.2055 0 - vertex -27.9236 -26.0946 -0.2 - vertex -27.9236 -26.0946 0 - endloop - endfacet - facet normal 0.975965 0.217927 0 - outer loop - vertex -27.9236 -26.0946 -0.2 - vertex -27.8988 -26.2055 0 - vertex -27.8988 -26.2055 -0.2 - endloop - endfacet - facet normal 0.909758 0.415139 0 - outer loop - vertex -27.9236 -26.0946 0 - vertex -27.9636 -26.0069 -0.2 - vertex -27.9636 -26.0069 0 - endloop - endfacet - facet normal 0.909758 0.415139 0 - outer loop - vertex -27.9636 -26.0069 -0.2 - vertex -27.9236 -26.0946 0 - vertex -27.9236 -26.0946 -0.2 - endloop - endfacet - facet normal 0.777135 0.629334 0 - outer loop - vertex -27.9636 -26.0069 0 - vertex -28.0195 -25.9379 -0.2 - vertex -28.0195 -25.9379 0 - endloop - endfacet - facet normal 0.777135 0.629334 0 - outer loop - vertex -28.0195 -25.9379 -0.2 - vertex -27.9636 -26.0069 0 - vertex -27.9636 -26.0069 -0.2 - endloop - endfacet - facet normal 0.604573 0.79655 -0 - outer loop - vertex -28.0195 -25.9379 -0.2 - vertex -28.0919 -25.8829 0 - vertex -28.0195 -25.9379 0 - endloop - endfacet - facet normal 0.604573 0.79655 0 - outer loop - vertex -28.0919 -25.8829 0 - vertex -28.0195 -25.9379 -0.2 - vertex -28.0919 -25.8829 -0.2 - endloop - endfacet - facet normal 0.400676 0.91622 -0 - outer loop - vertex -28.0919 -25.8829 -0.2 - vertex -28.2888 -25.7968 0 - vertex -28.0919 -25.8829 0 - endloop - endfacet - facet normal 0.400676 0.91622 0 - outer loop - vertex -28.2888 -25.7968 0 - vertex -28.0919 -25.8829 -0.2 - vertex -28.2888 -25.7968 -0.2 - endloop - endfacet - facet normal 0.299723 0.954026 -0 - outer loop - vertex -28.2888 -25.7968 -0.2 - vertex -28.5596 -25.7117 0 - vertex -28.2888 -25.7968 0 - endloop - endfacet - facet normal 0.299723 0.954026 0 - outer loop - vertex -28.5596 -25.7117 0 - vertex -28.2888 -25.7968 -0.2 - vertex -28.5596 -25.7117 -0.2 - endloop - endfacet - facet normal 0.220879 0.975301 -0 - outer loop - vertex -28.5596 -25.7117 -0.2 - vertex -28.7678 -25.6646 0 - vertex -28.5596 -25.7117 0 - endloop - endfacet - facet normal 0.220879 0.975301 0 - outer loop - vertex -28.7678 -25.6646 0 - vertex -28.5596 -25.7117 -0.2 - vertex -28.7678 -25.6646 -0.2 - endloop - endfacet - facet normal 0.142669 0.98977 -0 - outer loop - vertex -28.7678 -25.6646 -0.2 - vertex -29.0734 -25.6205 0 - vertex -28.7678 -25.6646 0 - endloop - endfacet - facet normal 0.142669 0.98977 0 - outer loop - vertex -29.0734 -25.6205 0 - vertex -28.7678 -25.6646 -0.2 - vertex -29.0734 -25.6205 -0.2 - endloop - endfacet - facet normal 0.0883121 0.996093 -0 - outer loop - vertex -29.0734 -25.6205 -0.2 - vertex -29.9179 -25.5457 0 - vertex -29.0734 -25.6205 0 - endloop - endfacet - facet normal 0.0883121 0.996093 0 - outer loop - vertex -29.9179 -25.5457 0 - vertex -29.0734 -25.6205 -0.2 - vertex -29.9179 -25.5457 -0.2 - endloop - endfacet - facet normal 0.0479595 0.998849 -0 - outer loop - vertex -29.9179 -25.5457 -0.2 - vertex -30.9759 -25.4949 0 - vertex -29.9179 -25.5457 0 - endloop - endfacet - facet normal 0.0479595 0.998849 0 - outer loop - vertex -30.9759 -25.4949 0 - vertex -29.9179 -25.5457 -0.2 - vertex -30.9759 -25.4949 -0.2 - endloop - endfacet - facet normal 0.0164478 0.999865 -0 - outer loop - vertex -30.9759 -25.4949 -0.2 - vertex -32.1303 -25.4759 0 - vertex -30.9759 -25.4949 0 - endloop - endfacet - facet normal 0.0164478 0.999865 0 - outer loop - vertex -32.1303 -25.4759 0 - vertex -30.9759 -25.4949 -0.2 - vertex -32.1303 -25.4759 -0.2 - endloop - endfacet - facet normal 0.000432102 1 -0 - outer loop - vertex -32.1303 -25.4759 -0.2 - vertex -34.9509 -25.4747 0 - vertex -32.1303 -25.4759 0 - endloop - endfacet - facet normal 0.000432102 1 0 - outer loop - vertex -34.9509 -25.4747 0 - vertex -32.1303 -25.4759 -0.2 - vertex -34.9509 -25.4747 -0.2 + vertex -34.9626 -25.4747 0 + vertex -32.142 -25.4759 -3 + vertex -34.9626 -25.4747 -3 endloop endfacet facet normal -0.910935 0.41255 0 outer loop - vertex -35.4707 -26.6225 -0.2 - vertex -34.9509 -25.4747 0 - vertex -34.9509 -25.4747 -0.2 + vertex -35.4824 -26.6225 -3 + vertex -34.9626 -25.4747 0 + vertex -34.9626 -25.4747 -3 endloop endfacet facet normal -0.910935 0.41255 0 outer loop - vertex -34.9509 -25.4747 0 - vertex -35.4707 -26.6225 -0.2 - vertex -35.4707 -26.6225 0 + vertex -34.9626 -25.4747 0 + vertex -35.4824 -26.6225 -3 + vertex -35.4824 -26.6225 0 endloop endfacet - facet normal -0.916492 0.400054 0 + facet normal -0.92531 0.379212 0 outer loop - vertex -36.4516 -28.8697 -0.2 - vertex -35.4707 -26.6225 0 - vertex -35.4707 -26.6225 -0.2 + vertex -38.7331 -34.5543 -3 + vertex -35.4824 -26.6225 0 + vertex -35.4824 -26.6225 -3 endloop endfacet - facet normal -0.916492 0.400054 0 + facet normal -0.92531 0.379212 0 outer loop - vertex -35.4707 -26.6225 0 - vertex -36.4516 -28.8697 -0.2 - vertex -36.4516 -28.8697 0 + vertex -35.4824 -26.6225 0 + vertex -38.7331 -34.5543 -3 + vertex -38.7331 -34.5543 0 endloop endfacet - facet normal -0.92275 0.385399 0 + facet normal -0.798774 -0.601632 0 outer loop - vertex -37.5165 -31.4193 -0.2 - vertex -36.4516 -28.8697 0 - vertex -36.4516 -28.8697 -0.2 + vertex -38.4261 -34.9619 -3 + vertex -38.7331 -34.5543 0 + vertex -38.7331 -34.5543 -3 endloop endfacet - facet normal -0.92275 0.385399 0 + facet normal -0.798774 -0.601632 0 outer loop - vertex -36.4516 -28.8697 0 - vertex -37.5165 -31.4193 -0.2 - vertex -37.5165 -31.4193 0 + vertex -38.7331 -34.5543 0 + vertex -38.4261 -34.9619 -3 + vertex -38.4261 -34.9619 0 endloop endfacet - facet normal -0.928331 0.371754 0 + facet normal -0.0360382 -0.99935 0 outer loop - vertex -38.3711 -33.5534 -0.2 - vertex -37.5165 -31.4193 0 - vertex -37.5165 -31.4193 -0.2 + vertex -38.4261 -34.9619 -3 + vertex -35.0529 -35.0835 0 + vertex -38.4261 -34.9619 0 endloop endfacet - facet normal -0.928331 0.371754 0 + facet normal -0.0360382 -0.99935 -0 outer loop - vertex -37.5165 -31.4193 0 - vertex -38.3711 -33.5534 -0.2 - vertex -38.3711 -33.5534 0 + vertex -35.0529 -35.0835 0 + vertex -38.4261 -34.9619 -3 + vertex -35.0529 -35.0835 -3 endloop endfacet - facet normal -0.936805 0.349851 0 + facet normal 0.0608671 -0.998146 0 outer loop - vertex -38.6277 -34.2404 -0.2 - vertex -38.3711 -33.5534 0 - vertex -38.3711 -33.5534 -0.2 + vertex -35.0529 -35.0835 -3 + vertex -31.3644 -34.8586 0 + vertex -35.0529 -35.0835 0 endloop endfacet - facet normal -0.936805 0.349851 0 + facet normal 0.0608671 -0.998146 0 outer loop - vertex -38.3711 -33.5534 0 - vertex -38.6277 -34.2404 -0.2 - vertex -38.6277 -34.2404 0 + vertex -31.3644 -34.8586 0 + vertex -35.0529 -35.0835 -3 + vertex -31.3644 -34.8586 -3 endloop endfacet - facet normal -0.958246 0.285946 0 + facet normal 0.33651 -0.94168 0 outer loop - vertex -38.7214 -34.5543 -0.2 - vertex -38.6277 -34.2404 0 - vertex -38.6277 -34.2404 -0.2 + vertex -31.3644 -34.8586 -3 + vertex -30.2578 -34.4631 0 + vertex -31.3644 -34.8586 0 endloop endfacet - facet normal -0.958246 0.285946 0 + facet normal 0.33651 -0.94168 0 outer loop - vertex -38.6277 -34.2404 0 - vertex -38.7214 -34.5543 -0.2 - vertex -38.7214 -34.5543 0 + vertex -30.2578 -34.4631 0 + vertex -31.3644 -34.8586 -3 + vertex -30.2578 -34.4631 -3 endloop endfacet - facet normal -0.979296 -0.202433 0 + facet normal 0.467106 -0.884201 0 outer loop - vertex -38.6971 -34.6715 -0.2 - vertex -38.7214 -34.5543 0 - vertex -38.7214 -34.5543 -0.2 + vertex -30.2578 -34.4631 -3 + vertex -29.0969 -33.8499 0 + vertex -30.2578 -34.4631 0 endloop endfacet - facet normal -0.979296 -0.202433 0 + facet normal 0.467106 -0.884201 0 outer loop - vertex -38.7214 -34.5543 0 - vertex -38.6971 -34.6715 -0.2 - vertex -38.6971 -34.6715 0 + vertex -29.0969 -33.8499 0 + vertex -30.2578 -34.4631 -3 + vertex -29.0969 -33.8499 -3 endloop endfacet - facet normal -0.869155 -0.494539 0 + facet normal 0.610499 -0.792017 0 outer loop - vertex -38.6312 -34.7874 -0.2 - vertex -38.6971 -34.6715 0 - vertex -38.6971 -34.6715 -0.2 + vertex -29.0969 -33.8499 -3 + vertex -26.8283 -32.1012 0 + vertex -29.0969 -33.8499 0 endloop endfacet - facet normal -0.869155 -0.494539 0 + facet normal 0.610499 -0.792017 0 outer loop - vertex -38.6971 -34.6715 0 - vertex -38.6312 -34.7874 -0.2 - vertex -38.6312 -34.7874 0 + vertex -26.8283 -32.1012 0 + vertex -29.0969 -33.8499 -3 + vertex -26.8283 -32.1012 -3 endloop endfacet - facet normal -0.719928 -0.694049 0 + facet normal 0.674561 -0.738219 0 outer loop - vertex -38.5336 -34.8886 -0.2 - vertex -38.6312 -34.7874 0 - vertex -38.6312 -34.7874 -0.2 + vertex -26.8283 -32.1012 -3 + vertex -24.8569 -30.2998 0 + vertex -26.8283 -32.1012 0 endloop endfacet - facet normal -0.719928 -0.694049 0 + facet normal 0.674561 -0.738219 0 outer loop - vertex -38.6312 -34.7874 0 - vertex -38.5336 -34.8886 -0.2 - vertex -38.5336 -34.8886 0 + vertex -24.8569 -30.2998 0 + vertex -26.8283 -32.1012 -3 + vertex -24.8569 -30.2998 -3 endloop endfacet - facet normal -0.523423 -0.852073 0 + facet normal 0.349743 -0.936846 0 outer loop - vertex -38.5336 -34.8886 -0.2 - vertex -38.4144 -34.9619 0 - vertex -38.5336 -34.8886 0 + vertex -24.8569 -30.2998 -3 + vertex -24.4667 -30.1541 0 + vertex -24.8569 -30.2998 0 endloop endfacet - facet normal -0.523423 -0.852073 -0 + facet normal 0.349743 -0.936846 0 outer loop - vertex -38.4144 -34.9619 0 - vertex -38.5336 -34.8886 -0.2 - vertex -38.4144 -34.9619 -0.2 + vertex -24.4667 -30.1541 0 + vertex -24.8569 -30.2998 -3 + vertex -24.4667 -30.1541 -3 endloop endfacet - facet normal -0.239855 -0.970809 0 + facet normal -0.235678 -0.971831 0 outer loop - vertex -38.4144 -34.9619 -0.2 - vertex -38.2613 -34.9997 0 - vertex -38.4144 -34.9619 0 + vertex -24.4667 -30.1541 -3 + vertex -24.0819 -30.2475 0 + vertex -24.4667 -30.1541 0 endloop endfacet - facet normal -0.239855 -0.970809 -0 + facet normal -0.235678 -0.971831 -0 outer loop - vertex -38.2613 -34.9997 0 - vertex -38.4144 -34.9619 -0.2 - vertex -38.2613 -34.9997 -0.2 + vertex -24.0819 -30.2475 0 + vertex -24.4667 -30.1541 -3 + vertex -24.0819 -30.2475 -3 endloop endfacet - facet normal -0.118843 -0.992913 0 + facet normal -0.453986 -0.891009 0 outer loop - vertex -38.2613 -34.9997 -0.2 - vertex -38.0027 -35.0306 0 - vertex -38.2613 -34.9997 0 + vertex -24.0819 -30.2475 -3 + vertex -23.655 -30.4649 0 + vertex -24.0819 -30.2475 0 endloop endfacet - facet normal -0.118843 -0.992913 -0 + facet normal -0.453986 -0.891009 -0 outer loop - vertex -38.0027 -35.0306 0 - vertex -38.2613 -34.9997 -0.2 - vertex -38.0027 -35.0306 -0.2 + vertex -23.655 -30.4649 0 + vertex -24.0819 -30.2475 -3 + vertex -23.655 -30.4649 -3 endloop endfacet - facet normal -0.0541463 -0.998533 0 + facet normal -0.79441 -0.607382 0 outer loop - vertex -38.0027 -35.0306 -0.2 - vertex -37.2267 -35.0727 0 - vertex -38.0027 -35.0306 0 + vertex -23.4462 -30.738 -3 + vertex -23.655 -30.4649 0 + vertex -23.655 -30.4649 -3 endloop endfacet - facet normal -0.0541463 -0.998533 -0 + facet normal -0.79441 -0.607382 0 outer loop - vertex -37.2267 -35.0727 0 - vertex -38.0027 -35.0306 -0.2 - vertex -37.2267 -35.0727 -0.2 + vertex -23.655 -30.4649 0 + vertex -23.4462 -30.738 -3 + vertex -23.4462 -30.738 0 endloop endfacet - facet normal -0.0166336 -0.999862 0 + facet normal -0.917968 0.396655 0 outer loop - vertex -37.2267 -35.0727 -0.2 - vertex -36.2012 -35.0898 0 - vertex -37.2267 -35.0727 0 + vertex -23.8149 -31.5911 -3 + vertex -23.4462 -30.738 0 + vertex -23.4462 -30.738 -3 endloop endfacet - facet normal -0.0166336 -0.999862 -0 + facet normal -0.917968 0.396655 0 outer loop - vertex -36.2012 -35.0898 0 - vertex -37.2267 -35.0727 -0.2 - vertex -36.2012 -35.0898 -0.2 + vertex -23.4462 -30.738 0 + vertex -23.8149 -31.5911 -3 + vertex -23.8149 -31.5911 0 endloop endfacet - facet normal 0.00541272 -0.999985 0 + facet normal -0.860785 0.508968 0 outer loop - vertex -36.2012 -35.0898 -0.2 - vertex -35.0412 -35.0835 0 - vertex -36.2012 -35.0898 0 + vertex -24.7956 -33.2498 -3 + vertex -23.8149 -31.5911 0 + vertex -23.8149 -31.5911 -3 endloop endfacet - facet normal 0.00541272 -0.999985 0 + facet normal -0.860785 0.508968 0 outer loop - vertex -35.0412 -35.0835 0 - vertex -36.2012 -35.0898 -0.2 - vertex -35.0412 -35.0835 -0.2 + vertex -23.8149 -31.5911 0 + vertex -24.7956 -33.2498 -3 + vertex -24.7956 -33.2498 0 endloop endfacet - facet normal 0.0236788 -0.99972 0 + facet normal -0.825216 0.564817 0 outer loop - vertex -35.0412 -35.0835 -0.2 - vertex -33.8615 -35.0556 0 - vertex -35.0412 -35.0835 0 + vertex -27.2791 -36.8782 -3 + vertex -24.7956 -33.2498 0 + vertex -24.7956 -33.2498 -3 endloop endfacet - facet normal 0.0236788 -0.99972 0 + facet normal -0.825216 0.564817 0 outer loop - vertex -33.8615 -35.0556 0 - vertex -35.0412 -35.0835 -0.2 - vertex -33.8615 -35.0556 -0.2 - endloop - endfacet - facet normal 0.0441434 -0.999025 0 - outer loop - vertex -33.8615 -35.0556 -0.2 - vertex -32.7769 -35.0076 0 - vertex -33.8615 -35.0556 0 - endloop - endfacet - facet normal 0.0441434 -0.999025 0 - outer loop - vertex -32.7769 -35.0076 0 - vertex -33.8615 -35.0556 -0.2 - vertex -32.7769 -35.0076 -0.2 - endloop - endfacet - facet normal 0.0755008 -0.997146 0 - outer loop - vertex -32.7769 -35.0076 -0.2 - vertex -31.9023 -34.9414 0 - vertex -32.7769 -35.0076 0 - endloop - endfacet - facet normal 0.0755008 -0.997146 0 - outer loop - vertex -31.9023 -34.9414 0 - vertex -32.7769 -35.0076 -0.2 - vertex -31.9023 -34.9414 -0.2 - endloop - endfacet - facet normal 0.121377 -0.992606 0 - outer loop - vertex -31.9023 -34.9414 -0.2 - vertex -31.5797 -34.902 0 - vertex -31.9023 -34.9414 0 - endloop - endfacet - facet normal 0.121377 -0.992606 0 - outer loop - vertex -31.5797 -34.902 0 - vertex -31.9023 -34.9414 -0.2 - vertex -31.5797 -34.902 -0.2 - endloop - endfacet - facet normal 0.187713 -0.982224 0 - outer loop - vertex -31.5797 -34.902 -0.2 - vertex -31.3526 -34.8586 0 - vertex -31.5797 -34.902 0 - endloop - endfacet - facet normal 0.187713 -0.982224 0 - outer loop - vertex -31.3526 -34.8586 0 - vertex -31.5797 -34.902 -0.2 - vertex -31.3526 -34.8586 -0.2 - endloop - endfacet - facet normal 0.296204 -0.955125 0 - outer loop - vertex -31.3526 -34.8586 -0.2 - vertex -30.8095 -34.6902 0 - vertex -31.3526 -34.8586 0 - endloop - endfacet - facet normal 0.296204 -0.955125 0 - outer loop - vertex -30.8095 -34.6902 0 - vertex -31.3526 -34.8586 -0.2 - vertex -30.8095 -34.6902 -0.2 - endloop - endfacet - facet normal 0.373689 -0.927554 0 - outer loop - vertex -30.8095 -34.6902 -0.2 - vertex -30.2461 -34.4632 0 - vertex -30.8095 -34.6902 0 - endloop - endfacet - facet normal 0.373689 -0.927554 0 - outer loop - vertex -30.2461 -34.4632 0 - vertex -30.8095 -34.6902 -0.2 - vertex -30.2461 -34.4632 -0.2 - endloop - endfacet - facet normal 0.438403 -0.898778 0 - outer loop - vertex -30.2461 -34.4632 -0.2 - vertex -29.669 -34.1817 0 - vertex -30.2461 -34.4632 0 - endloop - endfacet - facet normal 0.438403 -0.898778 0 - outer loop - vertex -29.669 -34.1817 0 - vertex -30.2461 -34.4632 -0.2 - vertex -29.669 -34.1817 -0.2 - endloop - endfacet - facet normal 0.494095 -0.869408 0 - outer loop - vertex -29.669 -34.1817 -0.2 - vertex -29.0852 -33.8499 0 - vertex -29.669 -34.1817 0 - endloop - endfacet - facet normal 0.494095 -0.869408 0 - outer loop - vertex -29.0852 -33.8499 0 - vertex -29.669 -34.1817 -0.2 - vertex -29.0852 -33.8499 -0.2 - endloop - endfacet - facet normal 0.543479 -0.839423 0 - outer loop - vertex -29.0852 -33.8499 -0.2 - vertex -28.5012 -33.4718 0 - vertex -29.0852 -33.8499 0 - endloop - endfacet - facet normal 0.543479 -0.839423 0 - outer loop - vertex -28.5012 -33.4718 0 - vertex -29.0852 -33.8499 -0.2 - vertex -28.5012 -33.4718 -0.2 - endloop - endfacet - facet normal 0.588526 -0.808478 0 - outer loop - vertex -28.5012 -33.4718 -0.2 - vertex -27.924 -33.0516 0 - vertex -28.5012 -33.4718 0 - endloop - endfacet - facet normal 0.588526 -0.808478 0 - outer loop - vertex -27.924 -33.0516 0 - vertex -28.5012 -33.4718 -0.2 - vertex -27.924 -33.0516 -0.2 - endloop - endfacet - facet normal 0.630713 -0.776016 0 - outer loop - vertex -27.924 -33.0516 -0.2 - vertex -27.3602 -32.5933 0 - vertex -27.924 -33.0516 0 - endloop - endfacet - facet normal 0.630713 -0.776016 0 - outer loop - vertex -27.3602 -32.5933 0 - vertex -27.924 -33.0516 -0.2 - vertex -27.3602 -32.5933 -0.2 - endloop - endfacet - facet normal 0.671162 -0.741311 0 - outer loop - vertex -27.3602 -32.5933 -0.2 - vertex -26.8166 -32.1012 0 - vertex -27.3602 -32.5933 0 - endloop - endfacet - facet normal 0.671162 -0.741311 0 - outer loop - vertex -26.8166 -32.1012 0 - vertex -27.3602 -32.5933 -0.2 - vertex -26.8166 -32.1012 -0.2 - endloop - endfacet - facet normal 0.688884 -0.724872 0 - outer loop - vertex -26.8166 -32.1012 -0.2 - vertex -25.5344 -30.8827 0 - vertex -26.8166 -32.1012 0 - endloop - endfacet - facet normal 0.688884 -0.724872 0 - outer loop - vertex -25.5344 -30.8827 0 - vertex -26.8166 -32.1012 -0.2 - vertex -25.5344 -30.8827 -0.2 - endloop - endfacet - facet normal 0.667079 -0.744987 0 - outer loop - vertex -25.5344 -30.8827 -0.2 - vertex -25.1341 -30.5242 0 - vertex -25.5344 -30.8827 0 - endloop - endfacet - facet normal 0.667079 -0.744987 0 - outer loop - vertex -25.1341 -30.5242 0 - vertex -25.5344 -30.8827 -0.2 - vertex -25.1341 -30.5242 -0.2 - endloop - endfacet - facet normal 0.613469 -0.789718 0 - outer loop - vertex -25.1341 -30.5242 -0.2 - vertex -24.8452 -30.2998 0 - vertex -25.1341 -30.5242 0 - endloop - endfacet - facet normal 0.613469 -0.789718 0 - outer loop - vertex -24.8452 -30.2998 0 - vertex -25.1341 -30.5242 -0.2 - vertex -24.8452 -30.2998 -0.2 - endloop - endfacet - facet normal 0.473466 -0.880812 0 - outer loop - vertex -24.8452 -30.2998 -0.2 - vertex -24.6311 -30.1847 0 - vertex -24.8452 -30.2998 0 - endloop - endfacet - facet normal 0.473466 -0.880812 0 - outer loop - vertex -24.6311 -30.1847 0 - vertex -24.8452 -30.2998 -0.2 - vertex -24.6311 -30.1847 -0.2 - endloop - endfacet - facet normal 0.259354 -0.965782 0 - outer loop - vertex -24.6311 -30.1847 -0.2 - vertex -24.5406 -30.1604 0 - vertex -24.6311 -30.1847 0 - endloop - endfacet - facet normal 0.259354 -0.965782 0 - outer loop - vertex -24.5406 -30.1604 0 - vertex -24.6311 -30.1847 -0.2 - vertex -24.5406 -30.1604 -0.2 - endloop - endfacet - facet normal 0.0730053 -0.997332 0 - outer loop - vertex -24.5406 -30.1604 -0.2 - vertex -24.455 -30.1541 0 - vertex -24.5406 -30.1604 0 - endloop - endfacet - facet normal 0.0730053 -0.997332 0 - outer loop - vertex -24.455 -30.1541 0 - vertex -24.5406 -30.1604 -0.2 - vertex -24.455 -30.1541 -0.2 - endloop - endfacet - facet normal -0.164732 -0.986338 0 - outer loop - vertex -24.455 -30.1541 -0.2 - vertex -24.2803 -30.1833 0 - vertex -24.455 -30.1541 0 - endloop - endfacet - facet normal -0.164732 -0.986338 -0 - outer loop - vertex -24.2803 -30.1833 0 - vertex -24.455 -30.1541 -0.2 - vertex -24.2803 -30.1833 -0.2 - endloop - endfacet - facet normal -0.291983 -0.956423 0 - outer loop - vertex -24.2803 -30.1833 -0.2 - vertex -24.0701 -30.2475 0 - vertex -24.2803 -30.1833 0 - endloop - endfacet - facet normal -0.291983 -0.956423 -0 - outer loop - vertex -24.0701 -30.2475 0 - vertex -24.2803 -30.1833 -0.2 - vertex -24.0701 -30.2475 -0.2 - endloop - endfacet - facet normal -0.377094 -0.926175 0 - outer loop - vertex -24.0701 -30.2475 -0.2 - vertex -23.8399 -30.3412 0 - vertex -24.0701 -30.2475 0 - endloop - endfacet - facet normal -0.377094 -0.926175 -0 - outer loop - vertex -23.8399 -30.3412 0 - vertex -24.0701 -30.2475 -0.2 - vertex -23.8399 -30.3412 -0.2 - endloop - endfacet - facet normal -0.532683 -0.846315 0 - outer loop - vertex -23.8399 -30.3412 -0.2 - vertex -23.6433 -30.465 0 - vertex -23.8399 -30.3412 0 - endloop - endfacet - facet normal -0.532683 -0.846315 -0 - outer loop - vertex -23.6433 -30.465 0 - vertex -23.8399 -30.3412 -0.2 - vertex -23.6433 -30.465 -0.2 - endloop - endfacet - facet normal -0.695789 -0.718246 0 - outer loop - vertex -23.6433 -30.465 -0.2 - vertex -23.5012 -30.6026 0 - vertex -23.6433 -30.465 0 - endloop - endfacet - facet normal -0.695789 -0.718246 -0 - outer loop - vertex -23.5012 -30.6026 0 - vertex -23.6433 -30.465 -0.2 - vertex -23.5012 -30.6026 -0.2 - endloop - endfacet - facet normal -0.84273 -0.538337 0 - outer loop - vertex -23.4571 -30.6716 -0.2 - vertex -23.5012 -30.6026 0 - vertex -23.5012 -30.6026 -0.2 - endloop - endfacet - facet normal -0.84273 -0.538337 0 - outer loop - vertex -23.5012 -30.6026 0 - vertex -23.4571 -30.6716 -0.2 - vertex -23.4571 -30.6716 0 - endloop - endfacet - facet normal -0.946617 -0.322361 0 - outer loop - vertex -23.4345 -30.738 -0.2 - vertex -23.4571 -30.6716 0 - vertex -23.4571 -30.6716 -0.2 - endloop - endfacet - facet normal -0.946617 -0.322361 0 - outer loop - vertex -23.4571 -30.6716 0 - vertex -23.4345 -30.738 -0.2 - vertex -23.4345 -30.738 0 - endloop - endfacet - facet normal -0.988328 0.152339 0 - outer loop - vertex -23.4513 -30.847 -0.2 - vertex -23.4345 -30.738 0 - vertex -23.4345 -30.738 -0.2 - endloop - endfacet - facet normal -0.988328 0.152339 0 - outer loop - vertex -23.4345 -30.738 0 - vertex -23.4513 -30.847 -0.2 - vertex -23.4513 -30.847 0 - endloop - endfacet - facet normal -0.933862 0.357635 0 - outer loop - vertex -23.5218 -31.031 -0.2 - vertex -23.4513 -30.847 0 - vertex -23.4513 -30.847 -0.2 - endloop - endfacet - facet normal -0.933862 0.357635 0 - outer loop - vertex -23.4513 -30.847 0 - vertex -23.5218 -31.031 -0.2 - vertex -23.5218 -31.031 0 - endloop - endfacet - facet normal -0.893602 0.44886 0 - outer loop - vertex -23.8031 -31.5911 -0.2 - vertex -23.5218 -31.031 0 - vertex -23.5218 -31.031 -0.2 - endloop - endfacet - facet normal -0.893602 0.44886 0 - outer loop - vertex -23.5218 -31.031 0 - vertex -23.8031 -31.5911 -0.2 - vertex -23.8031 -31.5911 0 - endloop - endfacet - facet normal -0.86862 0.495478 0 - outer loop - vertex -24.2375 -32.3527 -0.2 - vertex -23.8031 -31.5911 0 - vertex -23.8031 -31.5911 -0.2 - endloop - endfacet - facet normal -0.86862 0.495478 0 - outer loop - vertex -23.8031 -31.5911 0 - vertex -24.2375 -32.3527 -0.2 - vertex -24.2375 -32.3527 0 - endloop - endfacet - facet normal -0.854086 0.520132 0 - outer loop - vertex -24.7839 -33.2498 -0.2 - vertex -24.2375 -32.3527 0 - vertex -24.2375 -32.3527 -0.2 - endloop - endfacet - facet normal -0.854086 0.520132 0 - outer loop - vertex -24.2375 -32.3527 0 - vertex -24.7839 -33.2498 -0.2 - vertex -24.7839 -33.2498 0 - endloop - endfacet - facet normal -0.842904 0.538064 0 - outer loop - vertex -25.4011 -34.2168 -0.2 - vertex -24.7839 -33.2498 0 - vertex -24.7839 -33.2498 -0.2 - endloop - endfacet - facet normal -0.842904 0.538064 0 - outer loop - vertex -24.7839 -33.2498 0 - vertex -25.4011 -34.2168 -0.2 - vertex -25.4011 -34.2168 0 - endloop - endfacet - facet normal -0.832144 0.55456 0 - outer loop - vertex -26.0482 -35.1877 -0.2 - vertex -25.4011 -34.2168 0 - vertex -25.4011 -34.2168 -0.2 - endloop - endfacet - facet normal -0.832144 0.55456 0 - outer loop - vertex -25.4011 -34.2168 0 - vertex -26.0482 -35.1877 -0.2 - vertex -26.0482 -35.1877 0 - endloop - endfacet - facet normal -0.819486 0.573099 0 - outer loop - vertex -26.6839 -36.0968 -0.2 - vertex -26.0482 -35.1877 0 - vertex -26.0482 -35.1877 -0.2 - endloop - endfacet - facet normal -0.819486 0.573099 0 - outer loop - vertex -26.0482 -35.1877 0 - vertex -26.6839 -36.0968 -0.2 - vertex -26.6839 -36.0968 0 - endloop - endfacet - facet normal -0.801319 0.598238 0 - outer loop - vertex -27.2673 -36.8782 -0.2 - vertex -26.6839 -36.0968 0 - vertex -26.6839 -36.0968 -0.2 - endloop - endfacet - facet normal -0.801319 0.598238 0 - outer loop - vertex -26.6839 -36.0968 0 - vertex -27.2673 -36.8782 -0.2 - vertex -27.2673 -36.8782 0 + vertex -24.7956 -33.2498 0 + vertex -27.2791 -36.8782 -3 + vertex -27.2791 -36.8782 0 endloop endfacet facet normal -0.788011 0.615661 0 outer loop - vertex -28.2718 -38.1638 -0.2 - vertex -27.2673 -36.8782 0 - vertex -27.2673 -36.8782 -0.2 + vertex -28.2835 -38.1638 -3 + vertex -27.2791 -36.8782 0 + vertex -27.2791 -36.8782 -3 endloop endfacet facet normal -0.788011 0.615661 0 outer loop - vertex -27.2673 -36.8782 0 - vertex -28.2718 -38.1638 -0.2 - vertex -28.2718 -38.1638 0 + vertex -27.2791 -36.8782 0 + vertex -28.2835 -38.1638 -3 + vertex -28.2835 -38.1638 0 endloop endfacet - facet normal 0.00335501 0.999994 -0 + facet normal 0.0033546 0.999994 -0 outer loop - vertex -28.2718 -38.1638 -0.2 - vertex -37.6203 -38.1325 0 - vertex -28.2718 -38.1638 0 + vertex -28.2835 -38.1638 -3 + vertex -37.632 -38.1325 0 + vertex -28.2835 -38.1638 0 endloop endfacet - facet normal 0.00335501 0.999994 0 + facet normal 0.0033546 0.999994 0 outer loop - vertex -37.6203 -38.1325 0 - vertex -28.2718 -38.1638 -0.2 - vertex -37.6203 -38.1325 -0.2 + vertex -37.632 -38.1325 0 + vertex -28.2835 -38.1638 -3 + vertex -37.632 -38.1325 -3 endloop endfacet - facet normal 0.00646856 0.999979 -0 + facet normal 0.018075 0.999837 -0 outer loop - vertex -37.6203 -38.1325 -0.2 - vertex -41.2883 -38.1087 0 - vertex -37.6203 -38.1325 0 + vertex -37.632 -38.1325 -3 + vertex -47.4646 -37.9547 0 + vertex -37.632 -38.1325 0 endloop endfacet - facet normal 0.00646856 0.999979 0 + facet normal 0.018075 0.999837 0 outer loop - vertex -41.2883 -38.1087 0 - vertex -37.6203 -38.1325 -0.2 - vertex -41.2883 -38.1087 -0.2 + vertex -47.4646 -37.9547 0 + vertex -37.632 -38.1325 -3 + vertex -47.4646 -37.9547 -3 endloop endfacet - facet normal 0.013462 0.999909 -0 + facet normal 0.462743 0.886493 -0 outer loop - vertex -41.2883 -38.1087 -0.2 - vertex -44.3648 -38.0673 0 - vertex -41.2883 -38.1087 0 + vertex -47.4646 -37.9547 -3 + vertex -47.8161 -37.7712 0 + vertex -47.4646 -37.9547 0 endloop endfacet - facet normal 0.013462 0.999909 0 + facet normal 0.462743 0.886493 0 outer loop - vertex -44.3648 -38.0673 0 - vertex -41.2883 -38.1087 -0.2 - vertex -44.3648 -38.0673 -0.2 + vertex -47.8161 -37.7712 0 + vertex -47.4646 -37.9547 -3 + vertex -47.8161 -37.7712 -3 endloop endfacet - facet normal 0.0246353 0.999697 -0 + facet normal 0.836367 0.54817 0 outer loop - vertex -44.3648 -38.0673 -0.2 - vertex -46.5272 -38.014 0 - vertex -44.3648 -38.0673 0 + vertex -47.8161 -37.7712 0 + vertex -47.9875 -37.5097 -3 + vertex -47.9875 -37.5097 0 endloop endfacet - facet normal 0.0246353 0.999697 0 + facet normal 0.836367 0.54817 0 outer loop - vertex -46.5272 -38.014 0 - vertex -44.3648 -38.0673 -0.2 - vertex -46.5272 -38.014 -0.2 + vertex -47.9875 -37.5097 -3 + vertex -47.8161 -37.7712 0 + vertex -47.8161 -37.7712 -3 endloop endfacet - facet normal 0.0458604 0.998948 -0 + facet normal 0.980441 -0.196811 0 outer loop - vertex -46.5272 -38.014 -0.2 - vertex -47.1648 -37.9848 0 - vertex -46.5272 -38.014 0 + vertex -47.9875 -37.5097 0 + vertex -47.8577 -36.863 -3 + vertex -47.8577 -36.863 0 endloop endfacet - facet normal 0.0458604 0.998948 0 + facet normal 0.980441 -0.196811 0 outer loop - vertex -47.1648 -37.9848 0 - vertex -46.5272 -38.014 -0.2 - vertex -47.1648 -37.9848 -0.2 + vertex -47.8577 -36.863 -3 + vertex -47.9875 -37.5097 0 + vertex -47.9875 -37.5097 -3 endloop endfacet - facet normal 0.103752 0.994603 -0 + facet normal 0.695658 -0.718373 0 outer loop - vertex -47.1648 -37.9848 -0.2 - vertex -47.4529 -37.9547 0 - vertex -47.1648 -37.9848 0 + vertex -47.8577 -36.863 -3 + vertex -47.2102 -36.2359 0 + vertex -47.8577 -36.863 0 endloop endfacet - facet normal 0.103752 0.994603 0 + facet normal 0.695658 -0.718373 0 outer loop - vertex -47.4529 -37.9547 0 - vertex -47.1648 -37.9848 -0.2 - vertex -47.4529 -37.9547 -0.2 + vertex -47.2102 -36.2359 0 + vertex -47.8577 -36.863 -3 + vertex -47.2102 -36.2359 -3 endloop endfacet - facet normal 0.373487 0.927636 -0 + facet normal 0.350904 -0.936412 0 outer loop - vertex -47.4529 -37.9547 -0.2 - vertex -47.6522 -37.8745 0 - vertex -47.4529 -37.9547 0 + vertex -47.2102 -36.2359 -3 + vertex -46.1801 -35.8499 0 + vertex -47.2102 -36.2359 0 endloop endfacet - facet normal 0.373487 0.927636 0 + facet normal 0.350904 -0.936412 0 outer loop - vertex -47.6522 -37.8745 0 - vertex -47.4529 -37.9547 -0.2 - vertex -47.6522 -37.8745 -0.2 + vertex -46.1801 -35.8499 0 + vertex -47.2102 -36.2359 -3 + vertex -46.1801 -35.8499 -3 endloop endfacet - facet normal 0.561365 0.827568 -0 + facet normal 0.289535 -0.957168 0 outer loop - vertex -47.6522 -37.8745 -0.2 - vertex -47.8044 -37.7712 0 - vertex -47.6522 -37.8745 0 + vertex -46.1801 -35.8499 -3 + vertex -45.0296 -35.5019 0 + vertex -46.1801 -35.8499 0 endloop endfacet - facet normal 0.561365 0.827568 0 + facet normal 0.289535 -0.957168 0 outer loop - vertex -47.8044 -37.7712 0 - vertex -47.6522 -37.8745 -0.2 - vertex -47.8044 -37.7712 -0.2 + vertex -45.0296 -35.5019 0 + vertex -46.1801 -35.8499 -3 + vertex -45.0296 -35.5019 -3 endloop endfacet - facet normal 0.753293 0.657685 0 + facet normal 0.646662 -0.762777 0 outer loop - vertex -47.8044 -37.7712 0 - vertex -47.9115 -37.6485 -0.2 - vertex -47.9115 -37.6485 0 + vertex -45.0296 -35.5019 -3 + vertex -44.1198 -34.7306 0 + vertex -45.0296 -35.5019 0 endloop endfacet - facet normal 0.753293 0.657685 0 + facet normal 0.646662 -0.762777 0 outer loop - vertex -47.9115 -37.6485 -0.2 - vertex -47.8044 -37.7712 0 - vertex -47.8044 -37.7712 -0.2 + vertex -44.1198 -34.7306 0 + vertex -45.0296 -35.5019 -3 + vertex -44.1198 -34.7306 -3 endloop endfacet - facet normal 0.907474 0.420108 0 + facet normal 0.856952 -0.515395 0 outer loop - vertex -47.9115 -37.6485 0 - vertex -47.9758 -37.5097 -0.2 - vertex -47.9758 -37.5097 0 + vertex -44.1198 -34.7306 0 + vertex -43.2543 -33.2915 -3 + vertex -43.2543 -33.2915 0 endloop endfacet - facet normal 0.907474 0.420108 0 + facet normal 0.856952 -0.515395 0 outer loop - vertex -47.9758 -37.5097 -0.2 - vertex -47.9115 -37.6485 0 - vertex -47.9115 -37.6485 -0.2 + vertex -43.2543 -33.2915 -3 + vertex -44.1198 -34.7306 0 + vertex -44.1198 -34.7306 -3 endloop endfacet - facet normal 0.988205 0.153137 0 + facet normal 0.917761 -0.397133 0 outer loop - vertex -47.9758 -37.5097 0 - vertex -47.9993 -37.3583 -0.2 - vertex -47.9993 -37.3583 0 + vertex -43.2543 -33.2915 0 + vertex -42.237 -30.9405 -3 + vertex -42.237 -30.9405 0 endloop endfacet - facet normal 0.988205 0.153137 0 + facet normal 0.917761 -0.397133 0 outer loop - vertex -47.9993 -37.3583 -0.2 - vertex -47.9758 -37.5097 0 - vertex -47.9758 -37.5097 -0.2 + vertex -42.237 -30.9405 -3 + vertex -43.2543 -33.2915 0 + vertex -43.2543 -33.2915 -3 endloop endfacet - facet normal 0.995535 -0.0943972 0 + facet normal 0.919921 -0.392104 0 outer loop - vertex -47.9993 -37.3583 0 - vertex -47.984 -37.1977 -0.2 - vertex -47.984 -37.1977 0 + vertex -42.237 -30.9405 0 + vertex -39.9072 -25.4747 -3 + vertex -39.9072 -25.4747 0 endloop endfacet - facet normal 0.995535 -0.0943972 0 + facet normal 0.919921 -0.392104 0 outer loop - vertex -47.984 -37.1977 -0.2 - vertex -47.9993 -37.3583 0 - vertex -47.9993 -37.3583 -0.2 + vertex -39.9072 -25.4747 -3 + vertex -42.237 -30.9405 0 + vertex -42.237 -30.9405 -3 endloop endfacet - facet normal 0.954736 -0.297455 0 + facet normal 0.92143 -0.388544 0 outer loop - vertex -47.984 -37.1977 0 - vertex -47.9322 -37.0315 -0.2 - vertex -47.9322 -37.0315 0 + vertex -39.9072 -25.4747 0 + vertex -37.0548 -18.7102 -3 + vertex -37.0548 -18.7102 0 endloop endfacet - facet normal 0.954736 -0.297455 0 + facet normal 0.92143 -0.388544 0 outer loop - vertex -47.9322 -37.0315 -0.2 - vertex -47.984 -37.1977 0 - vertex -47.984 -37.1977 -0.2 + vertex -37.0548 -18.7102 -3 + vertex -39.9072 -25.4747 0 + vertex -39.9072 -25.4747 -3 endloop endfacet - facet normal 0.890101 -0.455763 0 + facet normal 0.937894 -0.346922 0 outer loop - vertex -47.9322 -37.0315 0 - vertex -47.846 -36.863 -0.2 - vertex -47.846 -36.863 0 + vertex -37.0548 -18.7102 0 + vertex -35.6081 -14.799 -3 + vertex -35.6081 -14.799 0 endloop endfacet - facet normal 0.890101 -0.455763 0 + facet normal 0.937894 -0.346922 0 outer loop - vertex -47.846 -36.863 -0.2 - vertex -47.9322 -37.0315 0 - vertex -47.9322 -37.0315 -0.2 + vertex -35.6081 -14.799 -3 + vertex -37.0548 -18.7102 0 + vertex -37.0548 -18.7102 -3 endloop endfacet - facet normal 0.815677 -0.578507 0 + facet normal 0.984127 -0.177463 0 outer loop - vertex -47.846 -36.863 0 - vertex -47.7274 -36.6957 -0.2 - vertex -47.7274 -36.6957 0 + vertex -35.6081 -14.799 0 + vertex -35.4871 -14.1281 -3 + vertex -35.4871 -14.1281 0 endloop endfacet - facet normal 0.815677 -0.578507 0 + facet normal 0.984127 -0.177463 0 outer loop - vertex -47.7274 -36.6957 -0.2 - vertex -47.846 -36.863 0 - vertex -47.846 -36.863 -0.2 + vertex -35.4871 -14.1281 -3 + vertex -35.6081 -14.799 0 + vertex -35.6081 -14.799 -3 endloop endfacet - facet normal 0.737497 -0.67535 0 + facet normal 0.978316 0.207116 0 outer loop - vertex -47.7274 -36.6957 0 - vertex -47.5785 -36.5332 -0.2 - vertex -47.5785 -36.5332 0 + vertex -35.4871 -14.1281 0 + vertex -35.5739 -13.718 -3 + vertex -35.5739 -13.718 0 endloop endfacet - facet normal 0.737497 -0.67535 0 + facet normal 0.978316 0.207116 0 outer loop - vertex -47.5785 -36.5332 -0.2 - vertex -47.7274 -36.6957 0 - vertex -47.7274 -36.6957 -0.2 + vertex -35.5739 -13.718 -3 + vertex -35.4871 -14.1281 0 + vertex -35.4871 -14.1281 -3 endloop endfacet - facet normal 0.65739 -0.753551 0 + facet normal 0.525627 0.850715 -0 outer loop - vertex -47.5785 -36.5332 -0.2 - vertex -47.4015 -36.3788 0 - vertex -47.5785 -36.5332 0 + vertex -35.5739 -13.718 -3 + vertex -35.9073 -13.512 0 + vertex -35.5739 -13.718 0 endloop endfacet - facet normal 0.65739 -0.753551 0 + facet normal 0.525627 0.850715 0 outer loop - vertex -47.4015 -36.3788 0 - vertex -47.5785 -36.5332 -0.2 - vertex -47.4015 -36.3788 -0.2 + vertex -35.9073 -13.512 0 + vertex -35.5739 -13.718 -3 + vertex -35.9073 -13.512 -3 endloop endfacet - facet normal 0.575341 -0.817914 0 + facet normal 0.0947129 0.995505 -0 outer loop - vertex -47.4015 -36.3788 -0.2 - vertex -47.1985 -36.2359 0 - vertex -47.4015 -36.3788 0 + vertex -35.9073 -13.512 -3 + vertex -36.5262 -13.4531 0 + vertex -35.9073 -13.512 0 endloop endfacet - facet normal 0.575341 -0.817914 0 + facet normal 0.0947129 0.995505 0 outer loop - vertex -47.1985 -36.2359 0 - vertex -47.4015 -36.3788 -0.2 - vertex -47.1985 -36.2359 -0.2 + vertex -36.5262 -13.4531 0 + vertex -35.9073 -13.512 -3 + vertex -36.5262 -13.4531 -3 endloop endfacet - facet normal 0.490533 -0.871423 0 + facet normal 0.264376 0.96442 -0 outer loop - vertex -47.1985 -36.2359 -0.2 - vertex -46.9715 -36.1082 0 - vertex -47.1985 -36.2359 0 + vertex -36.5262 -13.4531 -3 + vertex -37.2393 -13.2576 0 + vertex -36.5262 -13.4531 0 endloop endfacet - facet normal 0.490533 -0.871423 0 + facet normal 0.264376 0.96442 0 outer loop - vertex -46.9715 -36.1082 0 - vertex -47.1985 -36.2359 -0.2 - vertex -46.9715 -36.1082 -0.2 + vertex -37.2393 -13.2576 0 + vertex -36.5262 -13.4531 -3 + vertex -37.2393 -13.2576 -3 endloop endfacet - facet normal 0.402049 -0.915618 0 + facet normal 0.846268 0.532757 0 outer loop - vertex -46.9715 -36.1082 -0.2 - vertex -46.7228 -35.999 0 - vertex -46.9715 -36.1082 0 + vertex -37.2393 -13.2576 0 + vertex -37.5366 -12.7854 -3 + vertex -37.5366 -12.7854 0 endloop endfacet - facet normal 0.402049 -0.915618 0 + facet normal 0.846268 0.532757 0 outer loop - vertex -46.7228 -35.999 0 - vertex -46.9715 -36.1082 -0.2 - vertex -46.7228 -35.999 -0.2 + vertex -37.5366 -12.7854 -3 + vertex -37.2393 -13.2576 0 + vertex -37.2393 -13.2576 -3 endloop endfacet - facet normal 0.309107 -0.951027 0 + facet normal 0.972647 -0.232287 0 outer loop - vertex -46.7228 -35.999 -0.2 - vertex -46.4544 -35.9117 0 - vertex -46.7228 -35.999 0 + vertex -37.5366 -12.7854 0 + vertex -37.3951 -12.1929 -3 + vertex -37.3951 -12.1929 0 endloop endfacet - facet normal 0.309107 -0.951027 0 + facet normal 0.972647 -0.232287 0 outer loop - vertex -46.4544 -35.9117 0 - vertex -46.7228 -35.999 -0.2 - vertex -46.4544 -35.9117 -0.2 + vertex -37.3951 -12.1929 -3 + vertex -37.5366 -12.7854 0 + vertex -37.5366 -12.7854 -3 endloop endfacet - facet normal 0.211211 -0.977441 0 + facet normal 0.678121 -0.73495 0 outer loop - vertex -46.4544 -35.9117 -0.2 - vertex -46.1684 -35.8499 0 - vertex -46.4544 -35.9117 0 + vertex -37.3951 -12.1929 -3 + vertex -36.792 -11.6364 0 + vertex -37.3951 -12.1929 0 endloop endfacet - facet normal 0.211211 -0.977441 0 + facet normal 0.678121 -0.73495 0 outer loop - vertex -46.1684 -35.8499 0 - vertex -46.4544 -35.9117 -0.2 - vertex -46.1684 -35.8499 -0.2 + vertex -36.792 -11.6364 0 + vertex -37.3951 -12.1929 -3 + vertex -36.792 -11.6364 -3 endloop endfacet - facet normal 0.185786 -0.98259 0 + facet normal 0.33489 -0.942257 0 outer loop - vertex -46.1684 -35.8499 -0.2 - vertex -45.8475 -35.7893 0 - vertex -46.1684 -35.8499 0 + vertex -36.792 -11.6364 -3 + vertex -36.1936 -11.4238 0 + vertex -36.792 -11.6364 0 endloop endfacet - facet normal 0.185786 -0.98259 0 + facet normal 0.33489 -0.942257 0 outer loop - vertex -45.8475 -35.7893 0 - vertex -46.1684 -35.8499 -0.2 - vertex -45.8475 -35.7893 -0.2 + vertex -36.1936 -11.4238 0 + vertex -36.792 -11.6364 -3 + vertex -36.1936 -11.4238 -3 endloop endfacet - facet normal 0.247179 -0.96897 0 + facet normal 0.0784345 -0.996919 0 outer loop - vertex -45.8475 -35.7893 -0.2 - vertex -45.5508 -35.7136 0 - vertex -45.8475 -35.7893 0 + vertex -36.1936 -11.4238 -3 + vertex -34.87 -11.3196 0 + vertex -36.1936 -11.4238 0 endloop endfacet - facet normal 0.247179 -0.96897 0 + facet normal 0.0784345 -0.996919 0 outer loop - vertex -45.5508 -35.7136 0 - vertex -45.8475 -35.7893 -0.2 - vertex -45.5508 -35.7136 -0.2 + vertex -34.87 -11.3196 0 + vertex -36.1936 -11.4238 -3 + vertex -34.87 -11.3196 -3 endloop endfacet - facet normal 0.324475 -0.945894 0 + facet normal -0.00425069 -0.999991 0 outer loop - vertex -45.5508 -35.7136 -0.2 - vertex -45.2753 -35.6191 0 - vertex -45.5508 -35.7136 0 + vertex -34.87 -11.3196 -3 + vertex -27.1868 -11.3523 0 + vertex -34.87 -11.3196 0 endloop endfacet - facet normal 0.324475 -0.945894 0 + facet normal -0.00425069 -0.999991 -0 outer loop - vertex -45.2753 -35.6191 0 - vertex -45.5508 -35.7136 -0.2 - vertex -45.2753 -35.6191 -0.2 + vertex -27.1868 -11.3523 0 + vertex -34.87 -11.3196 -3 + vertex -27.1868 -11.3523 -3 endloop endfacet - facet normal 0.414245 -0.910165 0 + facet normal -0.778969 -0.627062 0 outer loop - vertex -45.2753 -35.6191 -0.2 - vertex -45.0179 -35.5019 0 - vertex -45.2753 -35.6191 0 + vertex -11.7016 -19.4898 -3 + vertex -11.9141 -19.2259 0 + vertex -11.9141 -19.2259 -3 endloop endfacet - facet normal 0.414245 -0.910165 0 + facet normal -0.778969 -0.627062 0 outer loop - vertex -45.0179 -35.5019 0 - vertex -45.2753 -35.6191 -0.2 - vertex -45.0179 -35.5019 -0.2 + vertex -11.9141 -19.2259 0 + vertex -11.7016 -19.4898 -3 + vertex -11.7016 -19.4898 0 endloop endfacet - facet normal 0.509766 -0.860313 0 + facet normal -0.998948 -0.0458637 0 outer loop - vertex -45.0179 -35.5019 -0.2 - vertex -44.7755 -35.3583 0 - vertex -45.0179 -35.5019 0 + vertex -11.6824 -19.9072 -3 + vertex -11.7016 -19.4898 0 + vertex -11.7016 -19.4898 -3 endloop endfacet - facet normal 0.509766 -0.860313 0 + facet normal -0.998948 -0.0458637 0 outer loop - vertex -44.7755 -35.3583 0 - vertex -45.0179 -35.5019 -0.2 - vertex -44.7755 -35.3583 -0.2 + vertex -11.7016 -19.4898 0 + vertex -11.6824 -19.9072 -3 + vertex -11.6824 -19.9072 0 endloop endfacet - facet normal 0.602421 -0.798179 0 + facet normal -0.950718 0.310058 0 outer loop - vertex -44.7755 -35.3583 -0.2 - vertex -44.5451 -35.1844 0 - vertex -44.7755 -35.3583 0 + vertex -11.8627 -20.4599 -3 + vertex -11.6824 -19.9072 0 + vertex -11.6824 -19.9072 -3 endloop endfacet - facet normal 0.602421 -0.798179 0 + facet normal -0.950718 0.310058 0 outer loop - vertex -44.5451 -35.1844 0 - vertex -44.7755 -35.3583 -0.2 - vertex -44.5451 -35.1844 -0.2 + vertex -11.6824 -19.9072 0 + vertex -11.8627 -20.4599 -3 + vertex -11.8627 -20.4599 0 endloop endfacet - facet normal 0.684546 -0.728969 0 + facet normal -0.958208 0.286074 0 outer loop - vertex -44.5451 -35.1844 -0.2 - vertex -44.3237 -34.9765 0 - vertex -44.5451 -35.1844 0 + vertex -12.0544 -21.102 -3 + vertex -11.8627 -20.4599 0 + vertex -11.8627 -20.4599 -3 endloop endfacet - facet normal 0.684546 -0.728969 0 + facet normal -0.958208 0.286074 0 outer loop - vertex -44.3237 -34.9765 0 - vertex -44.5451 -35.1844 -0.2 - vertex -44.3237 -34.9765 -0.2 + vertex -11.8627 -20.4599 0 + vertex -12.0544 -21.102 -3 + vertex -12.0544 -21.102 0 endloop endfacet - facet normal 0.751841 -0.659345 0 + facet normal 0.484491 -0.874796 0 outer loop - vertex -44.3237 -34.9765 0 - vertex -44.108 -34.7306 -0.2 - vertex -44.108 -34.7306 0 + vertex -12.0544 -21.102 -3 + vertex -10.3766 -20.1728 0 + vertex -12.0544 -21.102 0 endloop endfacet - facet normal 0.751841 -0.659345 0 + facet normal 0.484491 -0.874796 0 outer loop - vertex -44.108 -34.7306 -0.2 - vertex -44.3237 -34.9765 0 - vertex -44.3237 -34.9765 -0.2 + vertex -10.3766 -20.1728 0 + vertex -12.0544 -21.102 -3 + vertex -10.3766 -20.1728 -3 endloop endfacet - facet normal 0.803805 -0.594893 0 + facet normal 0.447022 -0.894523 0 outer loop - vertex -44.108 -34.7306 0 - vertex -43.8952 -34.443 -0.2 - vertex -43.8952 -34.443 0 + vertex -10.3766 -20.1728 -3 + vertex -8.78621 -19.378 0 + vertex -10.3766 -20.1728 0 endloop endfacet - facet normal 0.803805 -0.594893 0 + facet normal 0.447022 -0.894523 0 outer loop - vertex -43.8952 -34.443 -0.2 - vertex -44.108 -34.7306 0 - vertex -44.108 -34.7306 -0.2 + vertex -8.78621 -19.378 0 + vertex -10.3766 -20.1728 -3 + vertex -8.78621 -19.378 -3 endloop endfacet - facet normal 0.842352 -0.538928 0 + facet normal 0.124012 -0.992281 0 outer loop - vertex -43.8952 -34.443 0 - vertex -43.682 -34.1098 -0.2 - vertex -43.682 -34.1098 0 + vertex -8.78621 -19.378 -3 + vertex -7.1272 -19.1706 0 + vertex -8.78621 -19.378 0 endloop endfacet - facet normal 0.842352 -0.538928 0 + facet normal 0.124012 -0.992281 0 outer loop - vertex -43.682 -34.1098 -0.2 - vertex -43.8952 -34.443 0 - vertex -43.8952 -34.443 -0.2 + vertex -7.1272 -19.1706 0 + vertex -8.78621 -19.378 -3 + vertex -7.1272 -19.1706 -3 endloop endfacet - facet normal 0.870266 -0.492581 0 + facet normal -0.019656 -0.999807 0 outer loop - vertex -43.682 -34.1098 0 - vertex -43.4655 -33.7273 -0.2 - vertex -43.4655 -33.7273 0 + vertex -7.1272 -19.1706 -3 + vertex -5.57075 -19.2012 0 + vertex -7.1272 -19.1706 0 endloop endfacet - facet normal 0.870266 -0.492581 0 + facet normal -0.019656 -0.999807 -0 outer loop - vertex -43.4655 -33.7273 -0.2 - vertex -43.682 -34.1098 0 - vertex -43.682 -34.1098 -0.2 + vertex -5.57075 -19.2012 0 + vertex -7.1272 -19.1706 -3 + vertex -5.57075 -19.2012 -3 endloop endfacet - facet normal 0.890236 -0.4555 0 + facet normal -0.587249 -0.809407 0 outer loop - vertex -43.4655 -33.7273 0 - vertex -43.2426 -33.2915 -0.2 - vertex -43.2426 -33.2915 0 + vertex -5.57075 -19.2012 -3 + vertex -4.70045 -19.8327 0 + vertex -5.57075 -19.2012 0 endloop endfacet - facet normal 0.890236 -0.4555 0 + facet normal -0.587249 -0.809407 -0 outer loop - vertex -43.2426 -33.2915 -0.2 - vertex -43.4655 -33.7273 0 - vertex -43.4655 -33.7273 -0.2 + vertex -4.70045 -19.8327 0 + vertex -5.57075 -19.2012 -3 + vertex -4.70045 -19.8327 -3 endloop endfacet - facet normal 0.909757 -0.41514 0 + facet normal -0.783181 -0.621793 0 outer loop - vertex -43.2426 -33.2915 0 - vertex -42.7651 -32.2453 -0.2 - vertex -42.7651 -32.2453 0 + vertex -4.06681 -20.6308 -3 + vertex -4.70045 -19.8327 0 + vertex -4.70045 -19.8327 -3 endloop endfacet - facet normal 0.909757 -0.41514 0 + facet normal -0.783181 -0.621793 0 outer loop - vertex -42.7651 -32.2453 -0.2 - vertex -43.2426 -33.2915 0 - vertex -43.2426 -33.2915 -0.2 + vertex -4.70045 -19.8327 0 + vertex -4.06681 -20.6308 -3 + vertex -4.06681 -20.6308 0 endloop endfacet - facet normal 0.924016 -0.382355 0 + facet normal -0.979543 -0.201235 0 outer loop - vertex -42.7651 -32.2453 0 - vertex -42.2252 -30.9405 -0.2 - vertex -42.2252 -30.9405 0 + vertex -3.85646 -21.6547 -3 + vertex -4.06681 -20.6308 0 + vertex -4.06681 -20.6308 -3 endloop endfacet - facet normal 0.924016 -0.382355 0 + facet normal -0.979543 -0.201235 0 outer loop - vertex -42.2252 -30.9405 -0.2 - vertex -42.7651 -32.2453 0 - vertex -42.7651 -32.2453 -0.2 + vertex -4.06681 -20.6308 0 + vertex -3.85646 -21.6547 -3 + vertex -3.85646 -21.6547 0 endloop endfacet - facet normal 0.922377 -0.38629 0 + facet normal -0.999487 0.0320236 0 outer loop - vertex -42.2252 -30.9405 0 - vertex -41.2695 -28.6585 -0.2 - vertex -41.2695 -28.6585 0 + vertex -3.89417 -22.8317 -3 + vertex -3.85646 -21.6547 0 + vertex -3.85646 -21.6547 -3 endloop endfacet - facet normal 0.922377 -0.38629 0 + facet normal -0.999487 0.0320236 0 outer loop - vertex -41.2695 -28.6585 -0.2 - vertex -42.2252 -30.9405 0 - vertex -42.2252 -30.9405 -0.2 + vertex -3.85646 -21.6547 0 + vertex -3.89417 -22.8317 -3 + vertex -3.89417 -22.8317 0 endloop endfacet - facet normal 0.918146 -0.396243 0 + facet normal -0.971741 0.236051 0 outer loop - vertex -41.2695 -28.6585 0 - vertex -39.8955 -25.4747 -0.2 - vertex -39.8955 -25.4747 0 + vertex -4.26405 -24.3543 -3 + vertex -3.89417 -22.8317 0 + vertex -3.89417 -22.8317 -3 endloop endfacet - facet normal 0.918146 -0.396243 0 + facet normal -0.971741 0.236051 0 outer loop - vertex -39.8955 -25.4747 -0.2 - vertex -41.2695 -28.6585 0 - vertex -41.2695 -28.6585 -0.2 + vertex -3.89417 -22.8317 0 + vertex -4.26405 -24.3543 -3 + vertex -4.26405 -24.3543 0 endloop endfacet - facet normal 0.918872 -0.394555 0 + facet normal -0.928824 0.370521 0 outer loop - vertex -39.8955 -25.4747 0 - vertex -38.3469 -21.8682 -0.2 - vertex -38.3469 -21.8682 0 + vertex -6.41168 -29.738 -3 + vertex -4.26405 -24.3543 0 + vertex -4.26405 -24.3543 -3 endloop endfacet - facet normal 0.918872 -0.394555 0 + facet normal -0.928824 0.370521 0 outer loop - vertex -38.3469 -21.8682 -0.2 - vertex -39.8955 -25.4747 0 - vertex -39.8955 -25.4747 -0.2 + vertex -4.26405 -24.3543 0 + vertex -6.41168 -29.738 -3 + vertex -6.41168 -29.738 0 endloop endfacet - facet normal 0.92432 -0.381618 0 + facet normal -0.923854 0.382746 0 outer loop - vertex -38.3469 -21.8682 0 - vertex -37.0431 -18.7102 -0.2 - vertex -37.0431 -18.7102 0 + vertex -8.33648 -34.384 -3 + vertex -6.41168 -29.738 0 + vertex -6.41168 -29.738 -3 endloop endfacet - facet normal 0.92432 -0.381618 0 + facet normal -0.923854 0.382746 0 outer loop - vertex -37.0431 -18.7102 -0.2 - vertex -38.3469 -21.8682 0 - vertex -38.3469 -21.8682 -0.2 + vertex -6.41168 -29.738 0 + vertex -8.33648 -34.384 -3 + vertex -8.33648 -34.384 0 endloop endfacet - facet normal 0.929541 -0.368719 0 + facet normal -0.969782 0.243973 0 outer loop - vertex -37.0431 -18.7102 0 - vertex -36.5163 -17.3821 -0.2 - vertex -36.5163 -17.3821 0 + vertex -8.56822 -35.3052 -3 + vertex -8.33648 -34.384 0 + vertex -8.33648 -34.384 -3 endloop endfacet - facet normal 0.929541 -0.368719 0 + facet normal -0.969782 0.243973 0 outer loop - vertex -36.5163 -17.3821 -0.2 - vertex -37.0431 -18.7102 0 - vertex -37.0431 -18.7102 -0.2 + vertex -8.33648 -34.384 0 + vertex -8.56822 -35.3052 -3 + vertex -8.56822 -35.3052 0 endloop endfacet - facet normal 0.934424 -0.356162 0 + facet normal -0.990389 -0.138307 0 outer loop - vertex -36.5163 -17.3821 0 - vertex -36.0907 -16.2655 -0.2 - vertex -36.0907 -16.2655 0 + vertex -8.51129 -35.7129 -3 + vertex -8.56822 -35.3052 0 + vertex -8.56822 -35.3052 -3 endloop endfacet - facet normal 0.934424 -0.356162 0 + facet normal -0.990389 -0.138307 0 outer loop - vertex -36.0907 -16.2655 -0.2 - vertex -36.5163 -17.3821 0 - vertex -36.5163 -17.3821 -0.2 + vertex -8.56822 -35.3052 0 + vertex -8.51129 -35.7129 -3 + vertex -8.51129 -35.7129 0 endloop endfacet - facet normal 0.941869 -0.335981 0 + facet normal -0.550548 -0.834803 0 outer loop - vertex -36.0907 -16.2655 0 - vertex -35.7796 -15.3934 -0.2 - vertex -35.7796 -15.3934 0 + vertex -8.51129 -35.7129 -3 + vertex -7.98605 -36.0592 0 + vertex -8.51129 -35.7129 0 endloop endfacet - facet normal 0.941869 -0.335981 0 + facet normal -0.550548 -0.834803 -0 outer loop - vertex -35.7796 -15.3934 -0.2 - vertex -36.0907 -16.2655 0 - vertex -36.0907 -16.2655 -0.2 + vertex -7.98605 -36.0592 0 + vertex -8.51129 -35.7129 -3 + vertex -7.98605 -36.0592 -3 endloop endfacet - facet normal 0.955627 -0.294578 0 + facet normal -0.557022 -0.830498 0 outer loop - vertex -35.7796 -15.3934 0 - vertex -35.5964 -14.799 -0.2 - vertex -35.5964 -14.799 0 + vertex -7.98605 -36.0592 -3 + vertex -7.51249 -36.3769 0 + vertex -7.98605 -36.0592 0 endloop endfacet - facet normal 0.955627 -0.294578 0 + facet normal -0.557022 -0.830498 -0 outer loop - vertex -35.5964 -14.799 -0.2 - vertex -35.7796 -15.3934 0 - vertex -35.7796 -15.3934 -0.2 + vertex -7.51249 -36.3769 0 + vertex -7.98605 -36.0592 -3 + vertex -7.51249 -36.3769 -3 endloop endfacet - facet normal 0.97537 -0.220574 0 + facet normal -0.885076 -0.465446 0 outer loop - vertex -35.5964 -14.799 0 - vertex -35.5123 -14.4274 -0.2 - vertex -35.5123 -14.4274 0 + vertex -7.31439 -36.7536 -3 + vertex -7.51249 -36.3769 0 + vertex -7.51249 -36.3769 -3 endloop endfacet - facet normal 0.97537 -0.220574 0 + facet normal -0.885076 -0.465446 0 outer loop - vertex -35.5123 -14.4274 -0.2 - vertex -35.5964 -14.799 0 - vertex -35.5964 -14.799 -0.2 + vertex -7.51249 -36.3769 0 + vertex -7.31439 -36.7536 -3 + vertex -7.31439 -36.7536 0 endloop endfacet - facet normal 0.992467 -0.122514 0 + facet normal -0.984477 0.175514 0 outer loop - vertex -35.5123 -14.4274 0 - vertex -35.4754 -14.1281 -0.2 - vertex -35.4754 -14.1281 0 + vertex -7.3919 -37.1883 -3 + vertex -7.31439 -36.7536 0 + vertex -7.31439 -36.7536 -3 endloop endfacet - facet normal 0.992467 -0.122514 0 + facet normal -0.984477 0.175514 0 outer loop - vertex -35.4754 -14.1281 -0.2 - vertex -35.5123 -14.4274 0 - vertex -35.5123 -14.4274 -0.2 + vertex -7.31439 -36.7536 0 + vertex -7.3919 -37.1883 -3 + vertex -7.3919 -37.1883 0 endloop endfacet - facet normal 0.997952 0.0639612 0 + facet normal -0.812154 0.583443 0 outer loop - vertex -35.4754 -14.1281 0 - vertex -35.4904 -13.894 -0.2 - vertex -35.4904 -13.894 0 + vertex -7.74517 -37.6801 -3 + vertex -7.3919 -37.1883 0 + vertex -7.3919 -37.1883 -3 endloop endfacet - facet normal 0.997952 0.0639612 0 + facet normal -0.812154 0.583443 0 outer loop - vertex -35.4904 -13.894 -0.2 - vertex -35.4754 -14.1281 0 - vertex -35.4754 -14.1281 -0.2 + vertex -7.3919 -37.1883 0 + vertex -7.74517 -37.6801 -3 + vertex -7.74517 -37.6801 0 endloop endfacet - facet normal 0.957653 0.287925 0 + facet normal -0.622963 0.782251 0 outer loop - vertex -35.4904 -13.894 0 - vertex -35.5189 -13.7992 -0.2 - vertex -35.5189 -13.7992 0 + vertex -7.74517 -37.6801 -3 + vertex -8.07933 -37.9462 0 + vertex -7.74517 -37.6801 0 endloop endfacet - facet normal 0.957653 0.287925 0 + facet normal -0.622963 0.782251 0 outer loop - vertex -35.5189 -13.7992 -0.2 - vertex -35.4904 -13.894 0 - vertex -35.4904 -13.894 -0.2 + vertex -8.07933 -37.9462 0 + vertex -7.74517 -37.6801 -3 + vertex -8.07933 -37.9462 -3 endloop endfacet - facet normal 0.882255 0.470771 0 + facet normal -0.234375 0.972146 0 outer loop - vertex -35.5189 -13.7992 0 - vertex -35.5622 -13.718 -0.2 - vertex -35.5622 -13.718 0 + vertex -8.07933 -37.9462 -3 + vertex -8.66873 -38.0883 0 + vertex -8.07933 -37.9462 0 endloop endfacet - facet normal 0.882255 0.470771 0 + facet normal -0.234375 0.972146 0 outer loop - vertex -35.5622 -13.718 -0.2 - vertex -35.5189 -13.7992 0 - vertex -35.5189 -13.7992 -0.2 + vertex -8.66873 -38.0883 0 + vertex -8.07933 -37.9462 -3 + vertex -8.66873 -38.0883 -3 endloop endfacet - facet normal 0.758808 0.651314 0 + facet normal -0.02015 0.999797 0 outer loop - vertex -35.5622 -13.718 0 - vertex -35.6209 -13.6496 -0.2 - vertex -35.6209 -13.6496 0 + vertex -8.66873 -38.0883 -3 + vertex -12.0013 -38.1555 0 + vertex -8.66873 -38.0883 0 endloop endfacet - facet normal 0.758808 0.651314 0 + facet normal -0.02015 0.999797 0 outer loop - vertex -35.6209 -13.6496 -0.2 - vertex -35.5622 -13.718 0 - vertex -35.5622 -13.718 -0.2 + vertex -12.0013 -38.1555 0 + vertex -8.66873 -38.0883 -3 + vertex -12.0013 -38.1555 -3 endloop endfacet - facet normal 0.603335 0.797487 -0 + facet normal 0.0188466 0.999822 -0 outer loop - vertex -35.6209 -13.6496 -0.2 - vertex -35.6956 -13.593 0 - vertex -35.6209 -13.6496 0 + vertex -12.0013 -38.1555 -3 + vertex -15.3277 -38.0928 0 + vertex -12.0013 -38.1555 0 endloop endfacet - facet normal 0.603335 0.797487 0 + facet normal 0.0188466 0.999822 0 outer loop - vertex -35.6956 -13.593 0 - vertex -35.6209 -13.6496 -0.2 - vertex -35.6956 -13.593 -0.2 + vertex -15.3277 -38.0928 0 + vertex -12.0013 -38.1555 -3 + vertex -15.3277 -38.0928 -3 endloop endfacet - facet normal 0.375678 0.92675 -0 + facet normal 0.289952 0.957041 -0 outer loop - vertex -35.6956 -13.593 -0.2 - vertex -35.8956 -13.512 0 - vertex -35.6956 -13.593 0 + vertex -15.3277 -38.0928 -3 + vertex -15.7983 -37.9502 0 + vertex -15.3277 -38.0928 0 endloop endfacet - facet normal 0.375678 0.92675 0 + facet normal 0.289952 0.957041 0 outer loop - vertex -35.8956 -13.512 0 - vertex -35.6956 -13.593 -0.2 - vertex -35.8956 -13.512 -0.2 + vertex -15.7983 -37.9502 0 + vertex -15.3277 -38.0928 -3 + vertex -15.7983 -37.9502 -3 endloop endfacet - facet normal 0.161053 0.986946 -0 + facet normal 0.88368 0.468092 0 outer loop - vertex -35.8956 -13.512 -0.2 - vertex -36.1669 -13.4677 0 - vertex -35.8956 -13.512 0 + vertex -15.7983 -37.9502 0 + vertex -15.9433 -37.6764 -3 + vertex -15.9433 -37.6764 0 endloop endfacet - facet normal 0.161053 0.986946 0 + facet normal 0.88368 0.468092 0 outer loop - vertex -36.1669 -13.4677 0 - vertex -35.8956 -13.512 -0.2 - vertex -36.1669 -13.4677 -0.2 + vertex -15.9433 -37.6764 -3 + vertex -15.7983 -37.9502 0 + vertex -15.7983 -37.9502 -3 endloop endfacet - facet normal 0.0419804 0.999118 -0 + facet normal 0.999065 -0.0432335 0 outer loop - vertex -36.1669 -13.4677 -0.2 - vertex -36.5145 -13.4531 0 - vertex -36.1669 -13.4677 0 + vertex -15.9433 -37.6764 0 + vertex -15.9213 -37.1689 -3 + vertex -15.9213 -37.1689 0 endloop endfacet - facet normal 0.0419804 0.999118 0 + facet normal 0.999065 -0.0432335 0 outer loop - vertex -36.5145 -13.4531 0 - vertex -36.1669 -13.4677 -0.2 - vertex -36.5145 -13.4531 -0.2 + vertex -15.9213 -37.1689 -3 + vertex -15.9433 -37.6764 0 + vertex -15.9433 -37.6764 -3 endloop endfacet - facet normal 0.0664354 0.997791 -0 + facet normal 0.790901 -0.611944 0 outer loop - vertex -36.5145 -13.4531 -0.2 - vertex -36.7305 -13.4387 0 - vertex -36.5145 -13.4531 0 + vertex -15.9213 -37.1689 0 + vertex -15.4682 -36.5832 -3 + vertex -15.4682 -36.5832 0 endloop endfacet - facet normal 0.0664354 0.997791 0 + facet normal 0.790901 -0.611944 0 outer loop - vertex -36.7305 -13.4387 0 - vertex -36.5145 -13.4531 -0.2 - vertex -36.7305 -13.4387 -0.2 + vertex -15.4682 -36.5832 -3 + vertex -15.9213 -37.1689 0 + vertex -15.9213 -37.1689 -3 endloop endfacet - facet normal 0.199985 0.979799 -0 + facet normal 0.603331 -0.797491 0 outer loop - vertex -36.7305 -13.4387 -0.2 - vertex -36.9216 -13.3997 0 - vertex -36.7305 -13.4387 0 + vertex -15.4682 -36.5832 -3 + vertex -14.8949 -36.1495 0 + vertex -15.4682 -36.5832 0 endloop endfacet - facet normal 0.199985 0.979799 0 + facet normal 0.603331 -0.797491 0 outer loop - vertex -36.9216 -13.3997 0 - vertex -36.7305 -13.4387 -0.2 - vertex -36.9216 -13.3997 -0.2 + vertex -14.8949 -36.1495 0 + vertex -15.4682 -36.5832 -3 + vertex -14.8949 -36.1495 -3 endloop endfacet - facet normal 0.346161 0.938175 -0 + facet normal 0.32682 -0.945087 0 outer loop - vertex -36.9216 -13.3997 -0.2 - vertex -37.0874 -13.3385 0 - vertex -36.9216 -13.3997 0 + vertex -14.8949 -36.1495 -3 + vertex -14.3732 -35.9691 0 + vertex -14.8949 -36.1495 0 endloop endfacet - facet normal 0.346161 0.938175 0 + facet normal 0.32682 -0.945087 0 outer loop - vertex -37.0874 -13.3385 0 - vertex -36.9216 -13.3997 -0.2 - vertex -37.0874 -13.3385 -0.2 + vertex -14.3732 -35.9691 0 + vertex -14.8949 -36.1495 -3 + vertex -14.3732 -35.9691 -3 endloop endfacet - facet normal 0.49992 0.866072 -0 + facet normal 0.336732 -0.941601 0 outer loop - vertex -37.0874 -13.3385 -0.2 - vertex -37.2276 -13.2576 0 - vertex -37.0874 -13.3385 0 + vertex -14.3732 -35.9691 -3 + vertex -13.7203 -35.7356 0 + vertex -14.3732 -35.9691 0 endloop endfacet - facet normal 0.49992 0.866072 0 + facet normal 0.336732 -0.941601 0 outer loop - vertex -37.2276 -13.2576 0 - vertex -37.0874 -13.3385 -0.2 - vertex -37.2276 -13.2576 -0.2 + vertex -13.7203 -35.7356 0 + vertex -14.3732 -35.9691 -3 + vertex -13.7203 -35.7356 -3 endloop endfacet - facet normal 0.652051 0.758175 -0 + facet normal 0.723518 -0.690305 0 outer loop - vertex -37.2276 -13.2576 -0.2 - vertex -37.3418 -13.1594 0 - vertex -37.2276 -13.2576 0 + vertex -13.7203 -35.7356 0 + vertex -13.0448 -35.0276 -3 + vertex -13.0448 -35.0276 0 endloop endfacet - facet normal 0.652051 0.758175 0 + facet normal 0.723518 -0.690305 0 outer loop - vertex -37.3418 -13.1594 0 - vertex -37.2276 -13.2576 -0.2 - vertex -37.3418 -13.1594 -0.2 + vertex -13.0448 -35.0276 -3 + vertex -13.7203 -35.7356 0 + vertex -13.7203 -35.7356 -3 endloop endfacet - facet normal 0.789664 0.613539 0 + facet normal 0.860653 -0.509193 0 outer loop - vertex -37.3418 -13.1594 0 - vertex -37.4296 -13.0463 -0.2 - vertex -37.4296 -13.0463 0 + vertex -13.0448 -35.0276 0 + vertex -12.3385 -33.8339 -3 + vertex -12.3385 -33.8339 0 endloop endfacet - facet normal 0.789664 0.613539 0 + facet normal 0.860653 -0.509193 0 outer loop - vertex -37.4296 -13.0463 -0.2 - vertex -37.3418 -13.1594 0 - vertex -37.3418 -13.1594 -0.2 + vertex -12.3385 -33.8339 -3 + vertex -13.0448 -35.0276 0 + vertex -13.0448 -35.0276 -3 endloop endfacet - facet normal 0.898957 0.438037 0 + facet normal 0.915054 -0.403331 0 outer loop - vertex -37.4296 -13.0463 0 - vertex -37.4908 -12.9209 -0.2 - vertex -37.4908 -12.9209 0 + vertex -12.3385 -33.8339 0 + vertex -11.5932 -32.143 -3 + vertex -11.5932 -32.143 0 endloop endfacet - facet normal 0.898957 0.438037 0 + facet normal 0.915054 -0.403331 0 outer loop - vertex -37.4908 -12.9209 -0.2 - vertex -37.4296 -13.0463 0 - vertex -37.4296 -13.0463 -0.2 - endloop - endfacet - facet normal 0.969773 0.244009 0 - outer loop - vertex -37.4908 -12.9209 0 - vertex -37.5249 -12.7854 -0.2 - vertex -37.5249 -12.7854 0 - endloop - endfacet - facet normal 0.969773 0.244009 0 - outer loop - vertex -37.5249 -12.7854 -0.2 - vertex -37.4908 -12.9209 0 - vertex -37.4908 -12.9209 -0.2 - endloop - endfacet - facet normal 0.99892 0.0464614 0 - outer loop - vertex -37.5249 -12.7854 0 - vertex -37.5315 -12.6425 -0.2 - vertex -37.5315 -12.6425 0 - endloop - endfacet - facet normal 0.99892 0.0464614 0 - outer loop - vertex -37.5315 -12.6425 -0.2 - vertex -37.5249 -12.7854 0 - vertex -37.5249 -12.7854 -0.2 - endloop - endfacet - facet normal 0.989966 -0.141306 0 - outer loop - vertex -37.5315 -12.6425 0 - vertex -37.5104 -12.4945 -0.2 - vertex -37.5104 -12.4945 0 - endloop - endfacet - facet normal 0.989966 -0.141306 0 - outer loop - vertex -37.5104 -12.4945 -0.2 - vertex -37.5315 -12.6425 0 - vertex -37.5315 -12.6425 -0.2 - endloop - endfacet - facet normal 0.950483 -0.310777 0 - outer loop - vertex -37.5104 -12.4945 0 - vertex -37.4611 -12.3438 -0.2 - vertex -37.4611 -12.3438 0 - endloop - endfacet - facet normal 0.950483 -0.310777 0 - outer loop - vertex -37.4611 -12.3438 -0.2 - vertex -37.5104 -12.4945 0 - vertex -37.5104 -12.4945 -0.2 - endloop - endfacet - facet normal 0.888869 -0.458162 0 - outer loop - vertex -37.4611 -12.3438 0 - vertex -37.3834 -12.1929 -0.2 - vertex -37.3834 -12.1929 0 - endloop - endfacet - facet normal 0.888869 -0.458162 0 - outer loop - vertex -37.3834 -12.1929 -0.2 - vertex -37.4611 -12.3438 0 - vertex -37.4611 -12.3438 -0.2 - endloop - endfacet - facet normal 0.812527 -0.582923 0 - outer loop - vertex -37.3834 -12.1929 0 - vertex -37.2767 -12.0443 -0.2 - vertex -37.2767 -12.0443 0 - endloop - endfacet - facet normal 0.812527 -0.582923 0 - outer loop - vertex -37.2767 -12.0443 -0.2 - vertex -37.3834 -12.1929 0 - vertex -37.3834 -12.1929 -0.2 - endloop - endfacet - facet normal 0.727267 -0.686355 0 - outer loop - vertex -37.2767 -12.0443 0 - vertex -37.1409 -11.9004 -0.2 - vertex -37.1409 -11.9004 0 - endloop - endfacet - facet normal 0.727267 -0.686355 0 - outer loop - vertex -37.1409 -11.9004 -0.2 - vertex -37.2767 -12.0443 0 - vertex -37.2767 -12.0443 -0.2 - endloop - endfacet - facet normal 0.637301 -0.770615 0 - outer loop - vertex -37.1409 -11.9004 -0.2 - vertex -36.9755 -11.7636 0 - vertex -37.1409 -11.9004 0 - endloop - endfacet - facet normal 0.637301 -0.770615 0 - outer loop - vertex -36.9755 -11.7636 0 - vertex -37.1409 -11.9004 -0.2 - vertex -36.9755 -11.7636 -0.2 - endloop - endfacet - facet normal 0.545722 -0.837967 0 - outer loop - vertex -36.9755 -11.7636 -0.2 - vertex -36.7802 -11.6364 0 - vertex -36.9755 -11.7636 0 - endloop - endfacet - facet normal 0.545722 -0.837967 0 - outer loop - vertex -36.7802 -11.6364 0 - vertex -36.9755 -11.7636 -0.2 - vertex -36.7802 -11.6364 -0.2 - endloop - endfacet - facet normal 0.431805 -0.901967 0 - outer loop - vertex -36.7802 -11.6364 -0.2 - vertex -36.527 -11.5152 0 - vertex -36.7802 -11.6364 0 - endloop - endfacet - facet normal 0.431805 -0.901967 0 - outer loop - vertex -36.527 -11.5152 0 - vertex -36.7802 -11.6364 -0.2 - vertex -36.527 -11.5152 -0.2 - endloop - endfacet - facet normal 0.256105 -0.966649 0 - outer loop - vertex -36.527 -11.5152 -0.2 - vertex -36.1819 -11.4238 0 - vertex -36.527 -11.5152 0 - endloop - endfacet - facet normal 0.256105 -0.966649 0 - outer loop - vertex -36.1819 -11.4238 0 - vertex -36.527 -11.5152 -0.2 - vertex -36.1819 -11.4238 -0.2 - endloop - endfacet - facet normal 0.121259 -0.992621 0 - outer loop - vertex -36.1819 -11.4238 -0.2 - vertex -35.6555 -11.3595 0 - vertex -36.1819 -11.4238 0 - endloop - endfacet - facet normal 0.121259 -0.992621 0 - outer loop - vertex -35.6555 -11.3595 0 - vertex -36.1819 -11.4238 -0.2 - vertex -35.6555 -11.3595 -0.2 - endloop - endfacet - facet normal 0.0498988 -0.998754 0 - outer loop - vertex -35.6555 -11.3595 -0.2 - vertex -34.8583 -11.3197 0 - vertex -35.6555 -11.3595 0 - endloop - endfacet - facet normal 0.0498988 -0.998754 0 - outer loop - vertex -34.8583 -11.3197 0 - vertex -35.6555 -11.3595 -0.2 - vertex -34.8583 -11.3197 -0.2 - endloop - endfacet - facet normal 0.0155398 -0.999879 0 - outer loop - vertex -34.8583 -11.3197 -0.2 - vertex -33.7011 -11.3017 0 - vertex -34.8583 -11.3197 0 - endloop - endfacet - facet normal 0.0155398 -0.999879 0 - outer loop - vertex -33.7011 -11.3017 0 - vertex -34.8583 -11.3197 -0.2 - vertex -33.7011 -11.3017 -0.2 - endloop - endfacet - facet normal -0.000753226 -1 0 - outer loop - vertex -33.7011 -11.3017 -0.2 - vertex -32.0944 -11.3029 0 - vertex -33.7011 -11.3017 0 - endloop - endfacet - facet normal -0.000753226 -1 -0 - outer loop - vertex -32.0944 -11.3029 0 - vertex -33.7011 -11.3017 -0.2 - vertex -32.0944 -11.3029 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0792 -19.1571 -0.2 - vertex -11.6557 -19.6804 -0.2 - vertex -11.6899 -19.4898 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.302 -19.1333 -0.2 - vertex -11.6557 -19.6804 -0.2 - vertex -12.0792 -19.1571 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.9023 -19.2259 -0.2 - vertex -11.6899 -19.4898 -0.2 - vertex -11.7723 -19.3375 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.6557 -19.6804 -0.2 - vertex -12.302 -19.1333 -0.2 - vertex -11.6707 -19.9072 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.6899 -19.4898 -0.2 - vertex -11.9023 -19.2259 -0.2 - vertex -12.0792 -19.1571 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -12.6849 -19.1929 -0.2 - vertex -11.6707 -19.9072 -0.2 - vertex -12.302 -19.1333 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.7355 -20.1677 -0.2 - vertex -12.6849 -19.1929 -0.2 - vertex -11.851 -20.4599 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.6707 -19.9072 -0.2 - vertex -12.6849 -19.1929 -0.2 - vertex -11.7355 -20.1677 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.01943 -23.5295 -0.2 - vertex -8.48242 -23.1923 -0.2 - vertex -8.45645 -23.4267 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.06691 -19.2358 -0.2 - vertex -8.54451 -22.9989 -0.2 - vertex -8.48242 -23.1923 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.06691 -19.2358 -0.2 - vertex -8.64279 -22.8439 -0.2 - vertex -8.54451 -22.9989 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.94827 -22.6394 -0.2 - vertex -8.43701 -19.2929 -0.2 - vertex -8.77447 -19.378 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.06691 -19.2358 -0.2 - vertex -8.77736 -22.7249 -0.2 - vertex -8.64279 -22.8439 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.43701 -19.2929 -0.2 - vertex -8.94827 -22.6394 -0.2 - vertex -8.77736 -22.7249 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -9.10766 -19.4997 -0.2 - vertex -8.94827 -22.6394 -0.2 - vertex -8.77447 -19.378 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -9.46489 -19.667 -0.2 - vertex -8.94827 -22.6394 -0.2 - vertex -9.10766 -19.4997 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.94827 -22.6394 -0.2 - vertex -9.46489 -19.667 -0.2 - vertex -9.15561 -22.5851 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -9.87453 -19.8884 -0.2 - vertex -9.15561 -22.5851 -0.2 - vertex -9.46489 -19.667 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.15561 -22.5851 -0.2 - vertex -9.87453 -19.8884 -0.2 - vertex -9.39946 -22.5595 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.3649 -20.1728 -0.2 - vertex -9.39946 -22.5595 -0.2 - vertex -9.87453 -19.8884 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.39946 -22.5595 -0.2 - vertex -10.3649 -20.1728 -0.2 - vertex -9.67988 -22.56 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.67988 -22.56 -0.2 - vertex -10.3649 -20.1728 -0.2 - vertex -10.0796 -22.6123 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.5073 -20.829 -0.2 - vertex -10.0796 -22.6123 -0.2 - vertex -10.3649 -20.1728 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.0796 -22.6123 -0.2 - vertex -11.5073 -20.829 -0.2 - vertex -10.5344 -22.7271 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5344 -22.7271 -0.2 - vertex -11.5073 -20.829 -0.2 - vertex -10.9881 -22.8877 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.8784 -21.0286 -0.2 - vertex -10.9881 -22.8877 -0.2 - vertex -11.5073 -20.829 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -12.0427 -21.102 -0.2 - vertex -10.9881 -22.8877 -0.2 - vertex -11.8784 -21.0286 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.9881 -22.8877 -0.2 - vertex -12.0427 -21.102 -0.2 - vertex -11.3849 -23.0769 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.3849 -23.0769 -0.2 - vertex -12.0427 -21.102 -0.2 - vertex -11.9359 -23.4045 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.4007 -23.7203 -0.2 - vertex -12.0427 -21.102 -0.2 - vertex -12.0573 -21.0889 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1989 -19.5967 -0.2 - vertex -12.0573 -21.0889 -0.2 - vertex -12.0594 -21.0513 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.3483 -19.3556 -0.2 - vertex -11.851 -20.4599 -0.2 - vertex -12.6849 -19.1929 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.851 -20.4599 -0.2 - vertex -13.3483 -19.3556 -0.2 - vertex -12.0288 -20.9134 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0288 -20.9134 -0.2 - vertex -13.3483 -19.3556 -0.2 - vertex -12.0594 -21.0513 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.1989 -19.5967 -0.2 - vertex -12.0594 -21.0513 -0.2 - vertex -13.3483 -19.3556 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0573 -21.0889 -0.2 - vertex -14.1989 -19.5967 -0.2 - vertex -15.1436 -19.8912 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0427 -21.102 -0.2 - vertex -12.4007 -23.7203 -0.2 - vertex -11.9359 -23.4045 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0573 -21.0889 -0.2 - vertex -15.1436 -19.8912 -0.2 - vertex -12.7941 -24.0414 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0573 -21.0889 -0.2 - vertex -12.7941 -24.0414 -0.2 - vertex -12.4007 -23.7203 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.2249 -22.8126 -0.2 - vertex -12.7941 -24.0414 -0.2 - vertex -15.1436 -19.8912 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.7941 -24.0414 -0.2 - vertex -17.2249 -22.8126 -0.2 - vertex -13.131 -24.3848 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -17.2226 -22.9371 -0.2 - vertex -13.131 -24.3848 -0.2 - vertex -17.2249 -22.8126 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.131 -24.3848 -0.2 - vertex -17.2226 -22.9371 -0.2 - vertex -13.4262 -24.7676 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.2873 -23.335 -0.2 - vertex -13.4262 -24.7676 -0.2 - vertex -17.2226 -22.9371 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.4084 -23.7485 -0.2 - vertex -13.6945 -25.2068 -0.2 - vertex -17.2873 -23.335 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.6656 -24.469 -0.2 - vertex -13.9508 -25.7195 -0.2 - vertex -17.4084 -23.7485 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.2578 -22.7276 -0.2 - vertex -15.1436 -19.8912 -0.2 - vertex -16.9393 -20.461 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.6945 -25.2068 -0.2 - vertex -17.4084 -23.7485 -0.2 - vertex -13.9508 -25.7195 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.9508 -25.7195 -0.2 - vertex -17.6656 -24.469 -0.2 - vertex -14.2098 -26.3227 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.4262 -24.7676 -0.2 - vertex -17.2873 -23.335 -0.2 - vertex -13.6945 -25.2068 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.1436 -19.8912 -0.2 - vertex -17.2578 -22.7276 -0.2 - vertex -17.2249 -22.8126 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9393 -20.461 -0.2 - vertex -17.3267 -22.6747 -0.2 - vertex -17.2578 -22.7276 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9393 -20.461 -0.2 - vertex -17.4374 -22.6462 -0.2 - vertex -17.3267 -22.6747 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.9865 -20.7653 -0.2 - vertex -17.4374 -22.6462 -0.2 - vertex -16.9393 -20.461 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4374 -22.6462 -0.2 - vertex -17.9865 -20.7653 -0.2 - vertex -17.8061 -22.6324 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.5788 -21.2283 -0.2 - vertex -17.8061 -22.6324 -0.2 - vertex -17.9865 -20.7653 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5053 -21.1105 -0.2 - vertex -17.9865 -20.7653 -0.2 - vertex -18.1109 -20.8023 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5053 -21.1105 -0.2 - vertex -18.1109 -20.8023 -0.2 - vertex -18.2248 -20.8552 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5053 -21.1105 -0.2 - vertex -18.2248 -20.8552 -0.2 - vertex -18.3284 -20.924 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.6967 -21.5139 -0.2 - vertex -17.8061 -22.6324 -0.2 - vertex -18.5788 -21.2283 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5053 -21.1105 -0.2 - vertex -18.3284 -20.924 -0.2 - vertex -18.4218 -21.0091 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.9865 -20.7653 -0.2 - vertex -18.5053 -21.1105 -0.2 - vertex -18.5788 -21.2283 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.8061 -22.6324 -0.2 - vertex -18.6967 -21.5139 -0.2 - vertex -18.1091 -22.6172 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.766 -21.7922 -0.2 - vertex -18.1091 -22.6172 -0.2 - vertex -18.6967 -21.5139 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.1091 -22.6172 -0.2 - vertex -18.766 -21.7922 -0.2 - vertex -18.3541 -22.5704 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.7869 -22.0269 -0.2 - vertex -18.3541 -22.5704 -0.2 - vertex -18.766 -21.7922 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.3541 -22.5704 -0.2 - vertex -18.7869 -22.0269 -0.2 - vertex -18.5429 -22.4899 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -18.7577 -22.2202 -0.2 - vertex -18.5429 -22.4899 -0.2 - vertex -18.7869 -22.0269 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5429 -22.4899 -0.2 - vertex -18.7577 -22.2202 -0.2 - vertex -18.6769 -22.3738 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -3.82849 -22.2203 -0.2 - vertex -3.84473 -21.6547 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -3.84473 -21.6547 -0.2 - vertex -3.87719 -21.3353 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -3.84589 -22.5177 -0.2 - vertex -3.82849 -22.2203 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.47107 -20.0532 -0.2 - vertex -3.87719 -21.3353 -0.2 - vertex -3.91934 -21.0662 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -3.88244 -22.8317 -0.2 - vertex -3.84589 -22.5177 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.29663 -20.2518 -0.2 - vertex -3.91934 -21.0662 -0.2 - vertex -3.97677 -20.8354 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -3.93975 -23.1672 -0.2 - vertex -3.88244 -22.8317 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.15983 -20.4402 -0.2 - vertex -3.97677 -20.8354 -0.2 - vertex -4.05507 -20.6308 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.97677 -20.8354 -0.2 - vertex -4.15983 -20.4402 -0.2 - vertex -4.29663 -20.2518 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -4.01943 -23.5295 -0.2 - vertex -3.93975 -23.1672 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.91934 -21.0662 -0.2 - vertex -4.29663 -20.2518 -0.2 - vertex -4.47107 -20.0532 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.68872 -19.8327 -0.2 - vertex -3.87719 -21.3353 -0.2 - vertex -4.47107 -20.0532 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.01943 -23.5295 -0.2 - vertex -8.45645 -23.4267 -0.2 - vertex -4.25232 -24.3543 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -3.87719 -21.3353 -0.2 - vertex -4.68872 -19.8327 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.14058 -19.1411 -0.2 - vertex -4.68872 -19.8327 -0.2 - vertex -4.93899 -19.592 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -8.46654 -23.7044 -0.2 - vertex -4.25232 -24.3543 -0.2 - vertex -8.45645 -23.4267 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.8145 -19.1562 -0.2 - vertex -4.93899 -19.592 -0.2 - vertex -5.14898 -19.4116 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.55901 -19.2012 -0.2 - vertex -5.14898 -19.4116 -0.2 - vertex -5.34642 -19.2839 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.14898 -19.4116 -0.2 - vertex -5.55901 -19.2012 -0.2 - vertex -5.8145 -19.1562 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.25232 -24.3543 -0.2 - vertex -8.46654 -23.7044 -0.2 - vertex -4.59396 -25.347 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.93899 -19.592 -0.2 - vertex -5.8145 -19.1562 -0.2 - vertex -6.14058 -19.1411 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -4.68872 -19.8327 -0.2 - vertex -6.14058 -19.1411 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -8.51259 -24.0278 -0.2 - vertex -4.59396 -25.347 -0.2 - vertex -8.46654 -23.7044 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -6.14058 -19.1411 -0.2 - vertex -7.11547 -19.1706 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -7.11547 -19.1706 -0.2 - vertex -7.63584 -19.198 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -8.59455 -24.3995 -0.2 - vertex -4.59396 -25.347 -0.2 - vertex -8.51259 -24.0278 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -7.63584 -19.198 -0.2 - vertex -8.06691 -19.2358 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.59396 -25.347 -0.2 - vertex -8.71232 -24.8218 -0.2 - vertex -5.05721 -26.548 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -9.05502 -25.8283 -0.2 - vertex -5.05721 -26.548 -0.2 - vertex -8.71232 -24.8218 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.77736 -22.7249 -0.2 - vertex -8.06691 -19.2358 -0.2 - vertex -8.43701 -19.2929 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -8.71232 -24.8218 -0.2 - vertex -4.59396 -25.347 -0.2 - vertex -8.59455 -24.3995 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.05721 -26.548 -0.2 - vertex -9.05502 -25.8283 -0.2 - vertex -5.65492 -27.9982 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -9.5401 -27.0667 -0.2 - vertex -5.65492 -27.9982 -0.2 - vertex -9.05502 -25.8283 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.65492 -27.9982 -0.2 - vertex -9.5401 -27.0667 -0.2 - vertex -6.39994 -29.738 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5815 -32.143 -0.2 - vertex -6.39994 -29.738 -0.2 - vertex -9.5401 -27.0667 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.39994 -29.738 -0.2 - vertex -11.5815 -32.143 -0.2 - vertex -7.70823 -32.8163 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 -0.2 - vertex -7.30695 -36.9638 -0.2 - vertex -7.29619 -36.8569 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.32635 -36.6539 -0.2 - vertex -7.30695 -36.9638 -0.2 - vertex -7.30266 -36.7536 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.36727 -36.5579 -0.2 - vertex -7.30695 -36.9638 -0.2 - vertex -7.32635 -36.6539 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.50076 -36.3769 -0.2 - vertex -7.30695 -36.9638 -0.2 - vertex -7.36727 -36.5579 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30695 -36.9638 -0.2 - vertex -7.50076 -36.3769 -0.2 - vertex -7.38017 -37.1883 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.70312 -36.2106 -0.2 - vertex -7.38017 -37.1883 -0.2 - vertex -7.50076 -36.3769 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.38017 -37.1883 -0.2 - vertex -7.70312 -36.2106 -0.2 - vertex -7.52232 -37.4271 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.97432 -36.0592 -0.2 - vertex -7.52232 -37.4271 -0.2 - vertex -7.70312 -36.2106 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.52232 -37.4271 -0.2 - vertex -7.97432 -36.0592 -0.2 - vertex -7.73344 -37.6801 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.73344 -37.6801 -0.2 - vertex -7.97432 -36.0592 -0.2 - vertex -7.8903 -37.8311 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.30871 -38.0303 -0.2 - vertex -7.8903 -37.8311 -0.2 - vertex -7.97432 -36.0592 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.30871 -38.0303 -0.2 - vertex -7.97432 -36.0592 -0.2 - vertex -8.30497 -35.8814 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.8903 -37.8311 -0.2 - vertex -8.30871 -38.0303 -0.2 - vertex -8.0676 -37.9462 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.15585 -38.1249 -0.2 - vertex -8.30497 -35.8814 -0.2 - vertex -8.41808 -35.7975 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.15585 -38.1249 -0.2 - vertex -8.41808 -35.7975 -0.2 - vertex -8.49955 -35.7129 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.84865 -38.1451 -0.2 - vertex -8.49955 -35.7129 -0.2 - vertex -8.55176 -35.6244 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.84865 -38.1451 -0.2 - vertex -8.55176 -35.6244 -0.2 - vertex -8.57707 -35.529 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.30497 -35.8814 -0.2 - vertex -8.657 -38.0883 -0.2 - vertex -8.30871 -38.0303 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.6843 -34.4922 -0.2 - vertex -8.57707 -35.529 -0.2 - vertex -8.57785 -35.4236 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.70823 -32.8163 -0.2 - vertex -11.5815 -32.143 -0.2 - vertex -8.13453 -33.8652 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.9595 -33.0513 -0.2 - vertex -8.13453 -33.8652 -0.2 - vertex -11.5815 -32.143 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.13453 -33.8652 -0.2 - vertex -11.9595 -33.0513 -0.2 - vertex -8.32474 -34.384 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -12.3268 -33.8339 -0.2 - vertex -8.32474 -34.384 -0.2 - vertex -11.9595 -33.0513 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.32474 -34.384 -0.2 - vertex -12.3268 -33.8339 -0.2 - vertex -8.55649 -35.3052 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.55649 -35.3052 -0.2 - vertex -12.3268 -33.8339 -0.2 - vertex -8.57785 -35.4236 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.30497 -35.8814 -0.2 - vertex -9.15585 -38.1249 -0.2 - vertex -8.657 -38.0883 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -12.6843 -34.4922 -0.2 - vertex -8.57785 -35.4236 -0.2 - vertex -12.3268 -33.8339 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.49955 -35.7129 -0.2 - vertex -9.84865 -38.1451 -0.2 - vertex -9.15585 -38.1249 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.57707 -35.529 -0.2 - vertex -12.6843 -34.4922 -0.2 - vertex -9.84865 -38.1451 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.0331 -35.0276 -0.2 - vertex -9.84865 -38.1451 -0.2 - vertex -12.6843 -34.4922 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.84865 -38.1451 -0.2 - vertex -13.0331 -35.0276 -0.2 - vertex -11.9896 -38.1555 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.2045 -35.2497 -0.2 - vertex -11.9896 -38.1555 -0.2 - vertex -13.0331 -35.0276 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.3741 -35.4417 -0.2 - vertex -11.9896 -38.1555 -0.2 - vertex -13.2045 -35.2497 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.5421 -35.6036 -0.2 - vertex -11.9896 -38.1555 -0.2 - vertex -13.3741 -35.4417 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.7085 -35.7356 -0.2 - vertex -11.9896 -38.1555 -0.2 - vertex -13.5421 -35.6036 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.8736 -35.838 -0.2 - vertex -11.9896 -38.1555 -0.2 - vertex -13.7085 -35.7356 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1677 -38.1469 -0.2 - vertex -13.8736 -35.838 -0.2 - vertex -14.0373 -35.911 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.8736 -35.838 -0.2 - vertex -14.1677 -38.1469 -0.2 - vertex -11.9896 -38.1555 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.1999 -35.9546 -0.2 - vertex -14.1677 -38.1469 -0.2 - vertex -14.0373 -35.911 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.3614 -35.9691 -0.2 - vertex -14.1677 -38.1469 -0.2 - vertex -14.1999 -35.9546 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.5979 -36.0176 -0.2 - vertex -14.3614 -35.9691 -0.2 - vertex -14.4713 -35.9816 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.3614 -35.9691 -0.2 - vertex -14.5979 -36.0176 -0.2 - vertex -14.1677 -38.1469 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.8831 -36.1495 -0.2 - vertex -14.1677 -38.1469 -0.2 - vertex -14.5979 -36.0176 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.1813 -36.3448 -0.2 - vertex -14.1677 -38.1469 -0.2 - vertex -14.8831 -36.1495 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1677 -38.1469 -0.2 - vertex -15.1813 -36.3448 -0.2 - vertex -14.8486 -38.1282 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.4564 -36.5832 -0.2 - vertex -14.8486 -38.1282 -0.2 - vertex -15.1813 -36.3448 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.7439 -36.902 -0.2 - vertex -14.8486 -38.1282 -0.2 - vertex -15.4564 -36.5832 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.8486 -38.1282 -0.2 - vertex -15.7439 -36.902 -0.2 - vertex -15.316 -38.0928 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.8411 -37.0399 -0.2 - vertex -15.316 -38.0928 -0.2 - vertex -15.7439 -36.902 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.9096 -37.1689 -0.2 - vertex -15.316 -38.0928 -0.2 - vertex -15.8411 -37.0399 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.9604 -37.5428 -0.2 - vertex -15.316 -38.0928 -0.2 - vertex -15.9096 -37.1689 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.316 -38.0928 -0.2 - vertex -15.9604 -37.5428 -0.2 - vertex -15.614 -38.0352 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.614 -38.0352 -0.2 - vertex -15.8777 -37.8324 -0.2 - vertex -15.7132 -37.9965 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.7132 -37.9965 -0.2 - vertex -15.8777 -37.8324 -0.2 - vertex -15.7865 -37.9502 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -15.9316 -37.6764 -0.2 - vertex -15.614 -38.0352 -0.2 - vertex -15.9604 -37.5428 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.7865 -37.9502 -0.2 - vertex -15.8777 -37.8324 -0.2 - vertex -15.8396 -37.8957 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.9604 -37.5428 -0.2 - vertex -15.9096 -37.1689 -0.2 - vertex -15.9511 -37.293 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -15.8777 -37.8324 -0.2 - vertex -15.614 -38.0352 -0.2 - vertex -15.9316 -37.6764 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -15.9604 -37.5428 -0.2 - vertex -15.9511 -37.293 -0.2 - vertex -15.9675 -37.4163 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5311 -26.6889 -0.2 - vertex -14.2098 -26.3227 -0.2 - vertex -17.6656 -24.469 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.2098 -26.3227 -0.2 - vertex -18.5311 -26.6889 -0.2 - vertex -15.3777 -29.1914 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.7699 -29.7113 -0.2 - vertex -15.3777 -29.1914 -0.2 - vertex -18.5311 -26.6889 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.3777 -29.1914 -0.2 - vertex -19.7699 -29.7113 -0.2 - vertex -16.8163 -32.7116 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2682 -33.2523 -0.2 - vertex -16.8163 -32.7116 -0.2 - vertex -19.7699 -29.7113 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.8163 -32.7116 -0.2 - vertex -21.2682 -33.2523 -0.2 - vertex -17.1674 -33.591 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.1674 -33.591 -0.2 - vertex -21.2682 -33.2523 -0.2 - vertex -17.4329 -34.3072 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4329 -34.3072 -0.2 - vertex -21.2682 -33.2523 -0.2 - vertex -17.6153 -34.8741 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.6072 -34.0169 -0.2 - vertex -17.6153 -34.8741 -0.2 - vertex -21.2682 -33.2523 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.6153 -34.8741 -0.2 - vertex -21.6072 -34.0169 -0.2 - vertex -17.7168 -35.3062 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7168 -35.3062 -0.2 - vertex -21.6072 -34.0169 -0.2 - vertex -17.738 -35.4761 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.9074 -34.6287 -0.2 - vertex -17.738 -35.4761 -0.2 - vertex -21.6072 -34.0169 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7399 -35.6175 -0.2 - vertex -18.7028 -38.1359 -0.2 - vertex -18.0369 -38.1201 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.738 -35.4761 -0.2 - vertex -21.9074 -34.6287 -0.2 - vertex -17.7399 -35.6175 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -20.8109 -38.1301 -0.2 - vertex -17.7399 -35.6175 -0.2 - vertex -21.9074 -34.6287 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.7399 -35.6175 -0.2 - vertex -20.8109 -38.1301 -0.2 - vertex -18.7028 -38.1359 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.1824 -35.1035 -0.2 - vertex -20.8109 -38.1301 -0.2 - vertex -21.9074 -34.6287 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.4463 -35.4568 -0.2 - vertex -20.8109 -38.1301 -0.2 - vertex -22.1824 -35.1035 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.5782 -35.5929 -0.2 - vertex -20.8109 -38.1301 -0.2 - vertex -22.4463 -35.4568 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.7126 -35.7044 -0.2 - vertex -20.8109 -38.1301 -0.2 - vertex -22.5782 -35.5929 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.8511 -35.7934 -0.2 - vertex -20.8109 -38.1301 -0.2 - vertex -22.7126 -35.7044 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4866 -38.0828 -0.2 - vertex -22.8511 -35.7934 -0.2 - vertex -22.9953 -35.8619 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4866 -38.0828 -0.2 - vertex -22.9953 -35.8619 -0.2 - vertex -23.1471 -35.9117 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4866 -38.0828 -0.2 - vertex -23.1471 -35.9117 -0.2 - vertex -23.3082 -35.9449 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.8511 -35.7934 -0.2 - vertex -23.4866 -38.0828 -0.2 - vertex -20.8109 -38.1301 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -23.665 -35.9691 -0.2 - vertex -23.4866 -38.0828 -0.2 - vertex -23.3082 -35.9449 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -23.8593 -35.9891 -0.2 - vertex -23.4866 -38.0828 -0.2 - vertex -23.665 -35.9691 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.0497 -36.0458 -0.2 - vertex -23.4866 -38.0828 -0.2 - vertex -23.8593 -35.9891 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.2334 -36.1344 -0.2 - vertex -23.4866 -38.0828 -0.2 - vertex -24.0497 -36.0458 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.4077 -36.2501 -0.2 - vertex -23.4866 -38.0828 -0.2 - vertex -24.2334 -36.1344 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.57 -36.3881 -0.2 - vertex -23.4866 -38.0828 -0.2 - vertex -24.4077 -36.2501 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4866 -38.0828 -0.2 - vertex -24.57 -36.3881 -0.2 - vertex -24.3782 -38.0456 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.7177 -36.5437 -0.2 - vertex -24.3782 -38.0456 -0.2 - vertex -24.57 -36.3881 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.8479 -36.7119 -0.2 - vertex -24.3782 -38.0456 -0.2 - vertex -24.7177 -36.5437 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.9582 -36.888 -0.2 - vertex -24.3782 -38.0456 -0.2 - vertex -24.8479 -36.7119 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.0457 -37.0673 -0.2 - vertex -24.3782 -38.0456 -0.2 - vertex -24.9582 -36.888 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.1078 -37.2448 -0.2 - vertex -24.3782 -38.0456 -0.2 - vertex -25.0457 -37.0673 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3782 -38.0456 -0.2 - vertex -25.1078 -37.2448 -0.2 - vertex -24.7978 -38.0047 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.1419 -37.4158 -0.2 - vertex -24.7978 -38.0047 -0.2 - vertex -25.1078 -37.2448 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.1453 -37.5754 -0.2 - vertex -24.7978 -38.0047 -0.2 - vertex -25.1419 -37.4158 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.7978 -38.0047 -0.2 - vertex -25.1453 -37.5754 -0.2 - vertex -24.9442 -37.9384 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -25.1152 -37.719 -0.2 - vertex -24.9442 -37.9384 -0.2 - vertex -25.1453 -37.5754 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.9442 -37.9384 -0.2 - vertex -25.1152 -37.719 -0.2 - vertex -25.0491 -37.8416 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.237 -36.6071 -0.2 - vertex -16.2485 -36.9225 -0.2 - vertex -16.2109 -36.752 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.3106 -36.4662 -0.2 - vertex -16.2485 -36.9225 -0.2 - vertex -16.237 -36.6071 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.4249 -36.334 -0.2 - vertex -16.2485 -36.9225 -0.2 - vertex -16.3106 -36.4662 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.2485 -36.9225 -0.2 - vertex -16.4249 -36.334 -0.2 - vertex -16.3508 -37.1428 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.5729 -36.2152 -0.2 - vertex -16.3508 -37.1428 -0.2 - vertex -16.4249 -36.334 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.7476 -36.1146 -0.2 - vertex -16.3508 -37.1428 -0.2 - vertex -16.5729 -36.2152 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.3508 -37.1428 -0.2 - vertex -16.7476 -36.1146 -0.2 - vertex -16.5023 -37.3844 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.942 -36.0369 -0.2 - vertex -16.5023 -37.3844 -0.2 - vertex -16.7476 -36.1146 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.1493 -35.9869 -0.2 - vertex -16.5023 -37.3844 -0.2 - vertex -16.942 -36.0369 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.5023 -37.3844 -0.2 - vertex -17.1493 -35.9869 -0.2 - vertex -16.6872 -37.6188 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.3625 -35.9691 -0.2 - vertex -16.6872 -37.6188 -0.2 - vertex -17.1493 -35.9869 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4702 -35.9608 -0.2 - vertex -16.6872 -37.6188 -0.2 - vertex -17.3625 -35.9691 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.6872 -37.6188 -0.2 - vertex -17.4702 -35.9608 -0.2 - vertex -16.8516 -37.795 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -17.2437 -38.0218 -0.2 - vertex -16.8516 -37.795 -0.2 - vertex -17.4702 -35.9608 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.8516 -37.795 -0.2 - vertex -17.2437 -38.0218 -0.2 - vertex -17.0213 -37.9274 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5664 -38.0841 -0.2 - vertex -17.4702 -35.9608 -0.2 - vertex -17.5603 -35.9348 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4702 -35.9608 -0.2 - vertex -17.5664 -38.0841 -0.2 - vertex -17.2437 -38.0218 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.0369 -38.1201 -0.2 - vertex -17.5603 -35.9348 -0.2 - vertex -17.6327 -35.8892 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.0369 -38.1201 -0.2 - vertex -17.6327 -35.8892 -0.2 - vertex -17.6869 -35.8223 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.0369 -38.1201 -0.2 - vertex -17.6869 -35.8223 -0.2 - vertex -17.7228 -35.7323 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.0369 -38.1201 -0.2 - vertex -17.7228 -35.7323 -0.2 - vertex -17.7399 -35.6175 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5603 -35.9348 -0.2 - vertex -18.0369 -38.1201 -0.2 - vertex -17.5664 -38.0841 -0.2 - endloop - endfacet - facet normal -0.362708 -0.931903 0 - outer loop - vertex -12.0792 -19.1571 -0.2 - vertex -11.9023 -19.2259 0 - vertex -12.0792 -19.1571 0 - endloop - endfacet - facet normal -0.362708 -0.931903 -0 - outer loop - vertex -11.9023 -19.2259 0 - vertex -12.0792 -19.1571 -0.2 - vertex -11.9023 -19.2259 -0.2 - endloop - endfacet - facet normal -0.651552 -0.758604 0 - outer loop - vertex -11.9023 -19.2259 -0.2 - vertex -11.7723 -19.3375 0 - vertex -11.9023 -19.2259 0 - endloop - endfacet - facet normal -0.651552 -0.758604 -0 - outer loop - vertex -11.7723 -19.3375 0 - vertex -11.9023 -19.2259 -0.2 - vertex -11.7723 -19.3375 -0.2 - endloop - endfacet - facet normal -0.879356 -0.476164 0 - outer loop - vertex -11.6899 -19.4898 -0.2 - vertex -11.7723 -19.3375 0 - vertex -11.7723 -19.3375 -0.2 - endloop - endfacet - facet normal -0.879356 -0.476164 0 - outer loop - vertex -11.7723 -19.3375 0 - vertex -11.6899 -19.4898 -0.2 - vertex -11.6899 -19.4898 0 - endloop - endfacet - facet normal -0.98435 -0.176224 0 - outer loop - vertex -11.6557 -19.6804 -0.2 - vertex -11.6899 -19.4898 0 - vertex -11.6899 -19.4898 -0.2 - endloop - endfacet - facet normal -0.98435 -0.176224 0 - outer loop - vertex -11.6899 -19.4898 0 - vertex -11.6557 -19.6804 -0.2 - vertex -11.6557 -19.6804 0 - endloop - endfacet - facet normal -0.997828 0.0658663 0 - outer loop - vertex -11.6707 -19.9072 -0.2 - vertex -11.6557 -19.6804 0 - vertex -11.6557 -19.6804 -0.2 - endloop - endfacet - facet normal -0.997828 0.0658663 0 - outer loop - vertex -11.6557 -19.6804 0 - vertex -11.6707 -19.9072 -0.2 - vertex -11.6707 -19.9072 0 - endloop - endfacet - facet normal -0.970423 0.241411 0 - outer loop - vertex -11.7355 -20.1677 -0.2 - vertex -11.6707 -19.9072 0 - vertex -11.6707 -19.9072 -0.2 - endloop - endfacet - facet normal -0.970423 0.241411 0 - outer loop - vertex -11.6707 -19.9072 0 - vertex -11.7355 -20.1677 -0.2 - vertex -11.7355 -20.1677 0 - endloop - endfacet - facet normal -0.930032 0.367479 0 - outer loop - vertex -11.851 -20.4599 -0.2 - vertex -11.7355 -20.1677 0 - vertex -11.7355 -20.1677 -0.2 - endloop - endfacet - facet normal -0.930032 0.367479 0 - outer loop - vertex -11.7355 -20.1677 0 - vertex -11.851 -20.4599 -0.2 - vertex -11.851 -20.4599 0 - endloop - endfacet - facet normal -0.930941 0.365169 0 - outer loop - vertex -12.0288 -20.9134 -0.2 - vertex -11.851 -20.4599 0 - vertex -11.851 -20.4599 -0.2 - endloop - endfacet - facet normal -0.930941 0.365169 0 - outer loop - vertex -11.851 -20.4599 0 - vertex -12.0288 -20.9134 -0.2 - vertex -12.0288 -20.9134 0 - endloop - endfacet - facet normal -0.976329 0.216289 0 - outer loop - vertex -12.0594 -21.0513 -0.2 - vertex -12.0288 -20.9134 0 - vertex -12.0288 -20.9134 -0.2 - endloop - endfacet - facet normal -0.976329 0.216289 0 - outer loop - vertex -12.0288 -20.9134 0 - vertex -12.0594 -21.0513 -0.2 - vertex -12.0594 -21.0513 0 - endloop - endfacet - facet normal -0.998491 -0.0549167 0 - outer loop - vertex -12.0573 -21.0889 -0.2 - vertex -12.0594 -21.0513 0 - vertex -12.0594 -21.0513 -0.2 - endloop - endfacet - facet normal -0.998491 -0.0549167 0 - outer loop - vertex -12.0594 -21.0513 0 - vertex -12.0573 -21.0889 -0.2 - vertex -12.0573 -21.0889 0 - endloop - endfacet - facet normal -0.666017 -0.745937 0 - outer loop - vertex -12.0573 -21.0889 -0.2 - vertex -12.0427 -21.102 0 - vertex -12.0573 -21.0889 0 - endloop - endfacet - facet normal -0.666017 -0.745937 -0 - outer loop - vertex -12.0427 -21.102 0 - vertex -12.0573 -21.0889 -0.2 - vertex -12.0427 -21.102 -0.2 - endloop - endfacet - facet normal 0.407619 -0.913152 0 - outer loop - vertex -12.0427 -21.102 -0.2 - vertex -11.8784 -21.0286 0 - vertex -12.0427 -21.102 0 - endloop - endfacet - facet normal 0.407619 -0.913152 0 - outer loop - vertex -11.8784 -21.0286 0 - vertex -12.0427 -21.102 -0.2 - vertex -11.8784 -21.0286 -0.2 - endloop - endfacet - facet normal 0.473772 -0.880648 0 - outer loop - vertex -11.8784 -21.0286 -0.2 - vertex -11.5073 -20.829 0 - vertex -11.8784 -21.0286 0 - endloop - endfacet - facet normal 0.473772 -0.880648 0 - outer loop - vertex -11.5073 -20.829 0 - vertex -11.8784 -21.0286 -0.2 - vertex -11.5073 -20.829 -0.2 - endloop - endfacet - facet normal 0.498101 -0.867119 0 - outer loop - vertex -11.5073 -20.829 -0.2 - vertex -10.3649 -20.1728 0 - vertex -11.5073 -20.829 0 - endloop - endfacet - facet normal 0.498101 -0.867119 0 - outer loop - vertex -10.3649 -20.1728 0 - vertex -11.5073 -20.829 -0.2 - vertex -10.3649 -20.1728 -0.2 - endloop - endfacet - facet normal 0.501647 -0.865072 0 - outer loop - vertex -10.3649 -20.1728 -0.2 - vertex -9.87453 -19.8884 0 - vertex -10.3649 -20.1728 0 - endloop - endfacet - facet normal 0.501647 -0.865072 0 - outer loop - vertex -9.87453 -19.8884 0 - vertex -10.3649 -20.1728 -0.2 - vertex -9.87453 -19.8884 -0.2 - endloop - endfacet - facet normal 0.475521 -0.879704 0 - outer loop - vertex -9.87453 -19.8884 -0.2 - vertex -9.46489 -19.667 0 - vertex -9.87453 -19.8884 0 - endloop - endfacet - facet normal 0.475521 -0.879704 0 - outer loop - vertex -9.46489 -19.667 0 - vertex -9.87453 -19.8884 -0.2 - vertex -9.46489 -19.667 -0.2 - endloop - endfacet - facet normal 0.423964 -0.905679 0 - outer loop - vertex -9.46489 -19.667 -0.2 - vertex -9.10766 -19.4997 0 - vertex -9.46489 -19.667 0 - endloop - endfacet - facet normal 0.423964 -0.905679 0 - outer loop - vertex -9.10766 -19.4997 0 - vertex -9.46489 -19.667 -0.2 - vertex -9.10766 -19.4997 -0.2 - endloop - endfacet - facet normal 0.343275 -0.939235 0 - outer loop - vertex -9.10766 -19.4997 -0.2 - vertex -8.77447 -19.378 0 - vertex -9.10766 -19.4997 0 - endloop - endfacet - facet normal 0.343275 -0.939235 0 - outer loop - vertex -8.77447 -19.378 0 - vertex -9.10766 -19.4997 -0.2 - vertex -8.77447 -19.378 -0.2 - endloop - endfacet - facet normal 0.244399 -0.969675 0 - outer loop - vertex -8.77447 -19.378 -0.2 - vertex -8.43701 -19.2929 0 - vertex -8.77447 -19.378 0 - endloop - endfacet - facet normal 0.244399 -0.969675 0 - outer loop - vertex -8.43701 -19.2929 0 - vertex -8.77447 -19.378 -0.2 - vertex -8.43701 -19.2929 -0.2 - endloop - endfacet - facet normal 0.152431 -0.988314 0 - outer loop - vertex -8.43701 -19.2929 -0.2 - vertex -8.06691 -19.2358 0 - vertex -8.43701 -19.2929 0 - endloop - endfacet - facet normal 0.152431 -0.988314 0 - outer loop - vertex -8.06691 -19.2358 0 - vertex -8.43701 -19.2929 -0.2 - vertex -8.06691 -19.2358 -0.2 - endloop - endfacet - facet normal 0.0874592 -0.996168 0 - outer loop - vertex -8.06691 -19.2358 -0.2 - vertex -7.63584 -19.198 0 - vertex -8.06691 -19.2358 0 - endloop - endfacet - facet normal 0.0874592 -0.996168 0 - outer loop - vertex -7.63584 -19.198 0 - vertex -8.06691 -19.2358 -0.2 - vertex -7.63584 -19.198 -0.2 - endloop - endfacet - facet normal 0.0524883 -0.998622 0 - outer loop - vertex -7.63584 -19.198 -0.2 - vertex -7.11547 -19.1706 0 - vertex -7.63584 -19.198 0 - endloop - endfacet - facet normal 0.0524883 -0.998622 0 - outer loop - vertex -7.11547 -19.1706 0 - vertex -7.63584 -19.198 -0.2 - vertex -7.11547 -19.1706 -0.2 - endloop - endfacet - facet normal 0.0303019 -0.999541 0 - outer loop - vertex -7.11547 -19.1706 -0.2 - vertex -6.14058 -19.1411 0 - vertex -7.11547 -19.1706 0 - endloop - endfacet - facet normal 0.0303019 -0.999541 0 - outer loop - vertex -6.14058 -19.1411 0 - vertex -7.11547 -19.1706 -0.2 - vertex -6.14058 -19.1411 -0.2 - endloop - endfacet - facet normal -0.0462057 -0.998932 0 - outer loop - vertex -6.14058 -19.1411 -0.2 - vertex -5.8145 -19.1562 0 - vertex -6.14058 -19.1411 0 - endloop - endfacet - facet normal -0.0462057 -0.998932 -0 - outer loop - vertex -5.8145 -19.1562 0 - vertex -6.14058 -19.1411 -0.2 - vertex -5.8145 -19.1562 -0.2 - endloop - endfacet - facet normal -0.173732 -0.984793 0 - outer loop - vertex -5.8145 -19.1562 -0.2 - vertex -5.55901 -19.2012 0 - vertex -5.8145 -19.1562 0 - endloop - endfacet - facet normal -0.173732 -0.984793 -0 - outer loop - vertex -5.55901 -19.2012 0 - vertex -5.8145 -19.1562 -0.2 - vertex -5.55901 -19.2012 -0.2 - endloop - endfacet - facet normal -0.362239 -0.932085 0 - outer loop - vertex -5.55901 -19.2012 -0.2 - vertex -5.34642 -19.2839 0 - vertex -5.55901 -19.2012 0 - endloop - endfacet - facet normal -0.362239 -0.932085 -0 - outer loop - vertex -5.34642 -19.2839 0 - vertex -5.55901 -19.2012 -0.2 - vertex -5.34642 -19.2839 -0.2 - endloop - endfacet - facet normal -0.543204 -0.8396 0 - outer loop - vertex -5.34642 -19.2839 -0.2 - vertex -5.14898 -19.4116 0 - vertex -5.34642 -19.2839 0 - endloop - endfacet - facet normal -0.543204 -0.8396 -0 - outer loop - vertex -5.14898 -19.4116 0 - vertex -5.34642 -19.2839 -0.2 - vertex -5.14898 -19.4116 -0.2 - endloop - endfacet - facet normal -0.651669 -0.758504 0 - outer loop - vertex -5.14898 -19.4116 -0.2 - vertex -4.93899 -19.592 0 - vertex -5.14898 -19.4116 0 - endloop - endfacet - facet normal -0.651669 -0.758504 -0 - outer loop - vertex -4.93899 -19.592 0 - vertex -5.14898 -19.4116 -0.2 - vertex -4.93899 -19.592 -0.2 - endloop - endfacet - facet normal -0.693118 -0.720824 0 - outer loop - vertex -4.93899 -19.592 -0.2 - vertex -4.68872 -19.8327 0 - vertex -4.93899 -19.592 0 - endloop - endfacet - facet normal -0.693118 -0.720824 -0 - outer loop - vertex -4.68872 -19.8327 0 - vertex -4.93899 -19.592 -0.2 - vertex -4.68872 -19.8327 -0.2 - endloop - endfacet - facet normal -0.711815 -0.702367 0 - outer loop - vertex -4.47107 -20.0532 -0.2 - vertex -4.68872 -19.8327 0 - vertex -4.68872 -19.8327 -0.2 - endloop - endfacet - facet normal -0.711815 -0.702367 0 - outer loop - vertex -4.68872 -19.8327 0 - vertex -4.47107 -20.0532 -0.2 - vertex -4.47107 -20.0532 0 - endloop - endfacet - facet normal -0.751184 -0.660092 0 - outer loop - vertex -4.29663 -20.2518 -0.2 - vertex -4.47107 -20.0532 0 - vertex -4.47107 -20.0532 -0.2 - endloop - endfacet - facet normal -0.751184 -0.660092 0 - outer loop - vertex -4.47107 -20.0532 0 - vertex -4.29663 -20.2518 -0.2 - vertex -4.29663 -20.2518 0 - endloop - endfacet - facet normal -0.80931 -0.587382 0 - outer loop - vertex -4.15983 -20.4402 -0.2 - vertex -4.29663 -20.2518 0 - vertex -4.29663 -20.2518 -0.2 - endloop - endfacet - facet normal -0.80931 -0.587382 0 - outer loop - vertex -4.29663 -20.2518 0 - vertex -4.15983 -20.4402 -0.2 - vertex -4.15983 -20.4402 0 - endloop - endfacet - facet normal -0.876288 -0.481787 0 - outer loop - vertex -4.05507 -20.6308 -0.2 - vertex -4.15983 -20.4402 0 - vertex -4.15983 -20.4402 -0.2 - endloop - endfacet - facet normal -0.876288 -0.481787 0 - outer loop - vertex -4.15983 -20.4402 0 - vertex -4.05507 -20.6308 -0.2 - vertex -4.05507 -20.6308 0 - endloop - endfacet - facet normal -0.93397 -0.357351 0 - outer loop - vertex -3.97677 -20.8354 -0.2 - vertex -4.05507 -20.6308 0 - vertex -4.05507 -20.6308 -0.2 - endloop - endfacet - facet normal -0.93397 -0.357351 0 - outer loop - vertex -4.05507 -20.6308 0 - vertex -3.97677 -20.8354 -0.2 - vertex -3.97677 -20.8354 0 - endloop - endfacet - facet normal -0.970412 -0.241456 0 - outer loop - vertex -3.91934 -21.0662 -0.2 - vertex -3.97677 -20.8354 0 - vertex -3.97677 -20.8354 -0.2 - endloop - endfacet - facet normal -0.970412 -0.241456 0 - outer loop - vertex -3.97677 -20.8354 0 - vertex -3.91934 -21.0662 -0.2 - vertex -3.91934 -21.0662 0 - endloop - endfacet - facet normal -0.987949 -0.154777 0 - outer loop - vertex -3.87719 -21.3353 -0.2 - vertex -3.91934 -21.0662 0 - vertex -3.91934 -21.0662 -0.2 - endloop - endfacet - facet normal -0.987949 -0.154777 0 - outer loop - vertex -3.91934 -21.0662 0 - vertex -3.87719 -21.3353 -0.2 - vertex -3.87719 -21.3353 0 - endloop - endfacet - facet normal -0.994874 -0.10112 0 - outer loop - vertex -3.84473 -21.6547 -0.2 - vertex -3.87719 -21.3353 0 - vertex -3.87719 -21.3353 -0.2 - endloop - endfacet - facet normal -0.994874 -0.10112 0 - outer loop - vertex -3.87719 -21.3353 0 - vertex -3.84473 -21.6547 -0.2 - vertex -3.84473 -21.6547 0 - endloop - endfacet - facet normal -0.999588 -0.0286991 0 - outer loop - vertex -3.82849 -22.2203 -0.2 - vertex -3.84473 -21.6547 0 - vertex -3.84473 -21.6547 -0.2 - endloop - endfacet - facet normal -0.999588 -0.0286991 0 - outer loop - vertex -3.84473 -21.6547 0 - vertex -3.82849 -22.2203 -0.2 - vertex -3.82849 -22.2203 0 - endloop - endfacet - facet normal -0.998294 0.058395 0 - outer loop - vertex -3.84589 -22.5177 -0.2 - vertex -3.82849 -22.2203 0 - vertex -3.82849 -22.2203 -0.2 - endloop - endfacet - facet normal -0.998294 0.058395 0 - outer loop - vertex -3.82849 -22.2203 0 - vertex -3.84589 -22.5177 -0.2 - vertex -3.84589 -22.5177 0 - endloop - endfacet - facet normal -0.99329 0.115647 0 - outer loop - vertex -3.88244 -22.8317 -0.2 - vertex -3.84589 -22.5177 0 - vertex -3.84589 -22.5177 -0.2 - endloop - endfacet - facet normal -0.99329 0.115647 0 - outer loop - vertex -3.84589 -22.5177 0 - vertex -3.88244 -22.8317 -0.2 - vertex -3.88244 -22.8317 0 - endloop - endfacet - facet normal -0.985725 0.168361 0 - outer loop - vertex -3.93975 -23.1672 -0.2 - vertex -3.88244 -22.8317 0 - vertex -3.88244 -22.8317 -0.2 - endloop - endfacet - facet normal -0.985725 0.168361 0 - outer loop - vertex -3.88244 -22.8317 0 - vertex -3.93975 -23.1672 -0.2 - vertex -3.93975 -23.1672 0 - endloop - endfacet - facet normal -0.976652 0.214827 0 - outer loop - vertex -4.01943 -23.5295 -0.2 - vertex -3.93975 -23.1672 0 - vertex -3.93975 -23.1672 -0.2 - endloop - endfacet - facet normal -0.976652 0.214827 0 - outer loop - vertex -3.93975 -23.1672 0 - vertex -4.01943 -23.5295 -0.2 - vertex -4.01943 -23.5295 0 - endloop - endfacet - facet normal -0.962379 0.27171 0 - outer loop - vertex -4.25232 -24.3543 -0.2 - vertex -4.01943 -23.5295 0 - vertex -4.01943 -23.5295 -0.2 - endloop - endfacet - facet normal -0.962379 0.27171 0 - outer loop - vertex -4.01943 -23.5295 0 - vertex -4.25232 -24.3543 -0.2 - vertex -4.25232 -24.3543 0 - endloop - endfacet - facet normal -0.945562 0.325441 0 - outer loop - vertex -4.59396 -25.347 -0.2 - vertex -4.25232 -24.3543 0 - vertex -4.25232 -24.3543 -0.2 - endloop - endfacet - facet normal -0.945562 0.325441 0 - outer loop - vertex -4.25232 -24.3543 0 - vertex -4.59396 -25.347 -0.2 - vertex -4.59396 -25.347 0 - endloop - endfacet - facet normal -0.933005 0.359863 0 - outer loop - vertex -5.05721 -26.548 -0.2 - vertex -4.59396 -25.347 0 - vertex -4.59396 -25.347 -0.2 - endloop - endfacet - facet normal -0.933005 0.359863 0 - outer loop - vertex -4.59396 -25.347 0 - vertex -5.05721 -26.548 -0.2 - vertex -5.05721 -26.548 0 - endloop - endfacet - facet normal -0.924544 0.381075 0 - outer loop - vertex -5.65492 -27.9982 -0.2 - vertex -5.05721 -26.548 0 - vertex -5.05721 -26.548 -0.2 - endloop - endfacet - facet normal -0.924544 0.381075 0 - outer loop - vertex -5.05721 -26.548 0 - vertex -5.65492 -27.9982 -0.2 - vertex -5.65492 -27.9982 0 - endloop - endfacet - facet normal -0.919267 0.393635 0 - outer loop - vertex -6.39994 -29.738 -0.2 - vertex -5.65492 -27.9982 0 - vertex -5.65492 -27.9982 -0.2 - endloop - endfacet - facet normal -0.919267 0.393635 0 - outer loop - vertex -5.65492 -27.9982 0 - vertex -6.39994 -29.738 -0.2 - vertex -6.39994 -29.738 0 - endloop - endfacet - facet normal -0.920331 0.391141 0 - outer loop - vertex -7.70823 -32.8163 -0.2 - vertex -6.39994 -29.738 0 - vertex -6.39994 -29.738 -0.2 - endloop - endfacet - facet normal -0.920331 0.391141 0 - outer loop - vertex -6.39994 -29.738 0 - vertex -7.70823 -32.8163 -0.2 - vertex -7.70823 -32.8163 0 - endloop - endfacet - facet normal -0.926406 0.376526 0 - outer loop - vertex -8.13453 -33.8652 -0.2 - vertex -7.70823 -32.8163 0 - vertex -7.70823 -32.8163 -0.2 - endloop - endfacet - facet normal -0.926406 0.376526 0 - outer loop - vertex -7.70823 -32.8163 0 - vertex -8.13453 -33.8652 -0.2 - vertex -8.13453 -33.8652 0 - endloop - endfacet - facet normal -0.938884 0.344234 0 - outer loop - vertex -8.32474 -34.384 -0.2 - vertex -8.13453 -33.8652 0 - vertex -8.13453 -33.8652 -0.2 - endloop - endfacet - facet normal -0.938884 0.344234 0 - outer loop - vertex -8.13453 -33.8652 0 - vertex -8.32474 -34.384 -0.2 - vertex -8.32474 -34.384 0 - endloop - endfacet - facet normal -0.969782 0.243972 0 - outer loop - vertex -8.55649 -35.3052 -0.2 - vertex -8.32474 -34.384 0 - vertex -8.32474 -34.384 -0.2 - endloop - endfacet - facet normal -0.969782 0.243972 0 - outer loop - vertex -8.32474 -34.384 0 - vertex -8.55649 -35.3052 -0.2 - vertex -8.55649 -35.3052 0 - endloop - endfacet - facet normal -0.98411 0.17756 0 - outer loop - vertex -8.57785 -35.4236 -0.2 - vertex -8.55649 -35.3052 0 - vertex -8.55649 -35.3052 -0.2 - endloop - endfacet - facet normal -0.98411 0.17756 0 - outer loop - vertex -8.55649 -35.3052 0 - vertex -8.57785 -35.4236 -0.2 - vertex -8.57785 -35.4236 0 - endloop - endfacet - facet normal -0.999972 -0.00745735 0 - outer loop - vertex -8.57707 -35.529 -0.2 - vertex -8.57785 -35.4236 0 - vertex -8.57785 -35.4236 -0.2 - endloop - endfacet - facet normal -0.999972 -0.00745735 0 - outer loop - vertex -8.57785 -35.4236 0 - vertex -8.57707 -35.529 -0.2 - vertex -8.57707 -35.529 0 - endloop - endfacet - facet normal -0.966564 -0.256425 0 - outer loop - vertex -8.55176 -35.6244 -0.2 - vertex -8.57707 -35.529 0 - vertex -8.57707 -35.529 -0.2 - endloop - endfacet - facet normal -0.966564 -0.256425 0 - outer loop - vertex -8.57707 -35.529 0 - vertex -8.55176 -35.6244 -0.2 - vertex -8.55176 -35.6244 0 - endloop - endfacet - facet normal -0.861289 -0.508115 0 - outer loop - vertex -8.49955 -35.7129 -0.2 - vertex -8.55176 -35.6244 0 - vertex -8.55176 -35.6244 -0.2 - endloop - endfacet - facet normal -0.861289 -0.508115 0 - outer loop - vertex -8.55176 -35.6244 0 - vertex -8.49955 -35.7129 -0.2 - vertex -8.49955 -35.7129 0 - endloop - endfacet - facet normal -0.720516 -0.693438 0 - outer loop - vertex -8.41808 -35.7975 -0.2 - vertex -8.49955 -35.7129 0 - vertex -8.49955 -35.7129 -0.2 - endloop - endfacet - facet normal -0.720516 -0.693438 0 - outer loop - vertex -8.49955 -35.7129 0 - vertex -8.41808 -35.7975 -0.2 - vertex -8.41808 -35.7975 0 - endloop - endfacet - facet normal -0.595759 -0.803164 0 - outer loop - vertex -8.41808 -35.7975 -0.2 - vertex -8.30497 -35.8814 0 - vertex -8.41808 -35.7975 0 - endloop - endfacet - facet normal -0.595759 -0.803164 -0 - outer loop - vertex -8.30497 -35.8814 0 - vertex -8.41808 -35.7975 -0.2 - vertex -8.30497 -35.8814 -0.2 - endloop - endfacet - facet normal -0.473656 -0.88071 0 - outer loop - vertex -8.30497 -35.8814 -0.2 - vertex -7.97432 -36.0592 0 - vertex -8.30497 -35.8814 0 - endloop - endfacet - facet normal -0.473656 -0.88071 -0 - outer loop - vertex -7.97432 -36.0592 0 - vertex -8.30497 -35.8814 -0.2 - vertex -7.97432 -36.0592 -0.2 - endloop - endfacet - facet normal -0.487345 -0.873209 0 - outer loop - vertex -7.97432 -36.0592 -0.2 - vertex -7.70312 -36.2106 0 - vertex -7.97432 -36.0592 0 - endloop - endfacet - facet normal -0.487345 -0.873209 -0 - outer loop - vertex -7.70312 -36.2106 0 - vertex -7.97432 -36.0592 -0.2 - vertex -7.70312 -36.2106 -0.2 - endloop - endfacet - facet normal -0.634834 -0.772648 0 - outer loop - vertex -7.70312 -36.2106 -0.2 - vertex -7.50076 -36.3769 0 - vertex -7.70312 -36.2106 0 - endloop - endfacet - facet normal -0.634834 -0.772648 -0 - outer loop - vertex -7.50076 -36.3769 0 - vertex -7.70312 -36.2106 -0.2 - vertex -7.50076 -36.3769 -0.2 - endloop - endfacet - facet normal -0.80484 -0.593492 0 - outer loop - vertex -7.36727 -36.5579 -0.2 - vertex -7.50076 -36.3769 0 - vertex -7.50076 -36.3769 -0.2 - endloop - endfacet - facet normal -0.80484 -0.593492 0 - outer loop - vertex -7.50076 -36.3769 0 - vertex -7.36727 -36.5579 -0.2 - vertex -7.36727 -36.5579 0 - endloop - endfacet - facet normal -0.919952 -0.39203 0 - outer loop - vertex -7.32635 -36.6539 -0.2 - vertex -7.36727 -36.5579 0 - vertex -7.36727 -36.5579 -0.2 - endloop - endfacet - facet normal -0.919952 -0.39203 0 - outer loop - vertex -7.36727 -36.5579 0 - vertex -7.32635 -36.6539 -0.2 - vertex -7.32635 -36.6539 0 - endloop - endfacet - facet normal -0.972883 -0.231299 0 - outer loop - vertex -7.30266 -36.7536 -0.2 - vertex -7.32635 -36.6539 0 - vertex -7.32635 -36.6539 -0.2 - endloop - endfacet - facet normal -0.972883 -0.231299 0 - outer loop - vertex -7.32635 -36.6539 0 - vertex -7.30266 -36.7536 -0.2 - vertex -7.30266 -36.7536 0 - endloop - endfacet - facet normal -0.998045 -0.0625022 0 - outer loop - vertex -7.29619 -36.8569 -0.2 - vertex -7.30266 -36.7536 0 - vertex -7.30266 -36.7536 -0.2 - endloop - endfacet - facet normal -0.998045 -0.0625022 0 - outer loop - vertex -7.30266 -36.7536 0 - vertex -7.29619 -36.8569 -0.2 - vertex -7.29619 -36.8569 0 - endloop - endfacet - facet normal -0.994972 0.100157 0 - outer loop - vertex -7.30695 -36.9638 -0.2 - vertex -7.29619 -36.8569 0 - vertex -7.29619 -36.8569 -0.2 - endloop - endfacet - facet normal -0.994972 0.100157 0 - outer loop - vertex -7.29619 -36.8569 0 - vertex -7.30695 -36.9638 -0.2 - vertex -7.30695 -36.9638 0 - endloop - endfacet - facet normal -0.950745 0.309974 0 - outer loop - vertex -7.38017 -37.1883 -0.2 - vertex -7.30695 -36.9638 0 - vertex -7.30695 -36.9638 -0.2 - endloop - endfacet - facet normal -0.950745 0.309974 0 - outer loop - vertex -7.30695 -36.9638 0 - vertex -7.38017 -37.1883 -0.2 - vertex -7.38017 -37.1883 0 - endloop - endfacet - facet normal -0.859288 0.511491 0 - outer loop - vertex -7.52232 -37.4271 -0.2 - vertex -7.38017 -37.1883 0 - vertex -7.38017 -37.1883 -0.2 - endloop - endfacet - facet normal -0.859288 0.511491 0 - outer loop - vertex -7.38017 -37.1883 0 - vertex -7.52232 -37.4271 -0.2 - vertex -7.52232 -37.4271 0 - endloop - endfacet - facet normal -0.767721 0.640785 0 - outer loop - vertex -7.73344 -37.6801 -0.2 - vertex -7.52232 -37.4271 0 - vertex -7.52232 -37.4271 -0.2 - endloop - endfacet - facet normal -0.767721 0.640785 0 - outer loop - vertex -7.52232 -37.4271 0 - vertex -7.73344 -37.6801 -0.2 - vertex -7.73344 -37.6801 0 - endloop - endfacet - facet normal -0.693467 0.720489 0 - outer loop - vertex -7.73344 -37.6801 -0.2 - vertex -7.8903 -37.8311 0 - vertex -7.73344 -37.6801 0 - endloop - endfacet - facet normal -0.693467 0.720489 0 - outer loop - vertex -7.8903 -37.8311 0 - vertex -7.73344 -37.6801 -0.2 - vertex -7.8903 -37.8311 -0.2 - endloop - endfacet - facet normal -0.544632 0.838675 0 - outer loop - vertex -7.8903 -37.8311 -0.2 - vertex -8.0676 -37.9462 0 - vertex -7.8903 -37.8311 0 - endloop - endfacet - facet normal -0.544632 0.838675 0 - outer loop - vertex -8.0676 -37.9462 0 - vertex -7.8903 -37.8311 -0.2 - vertex -8.0676 -37.9462 -0.2 - endloop - endfacet - facet normal -0.329452 0.944172 0 - outer loop - vertex -8.0676 -37.9462 -0.2 - vertex -8.30871 -38.0303 0 - vertex -8.0676 -37.9462 0 - endloop - endfacet - facet normal -0.329452 0.944172 0 - outer loop - vertex -8.30871 -38.0303 0 - vertex -8.0676 -37.9462 -0.2 - vertex -8.30871 -38.0303 -0.2 - endloop - endfacet - facet normal -0.164178 0.986431 0 - outer loop - vertex -8.30871 -38.0303 -0.2 - vertex -8.657 -38.0883 0 - vertex -8.30871 -38.0303 0 - endloop - endfacet - facet normal -0.164178 0.986431 0 - outer loop - vertex -8.657 -38.0883 0 - vertex -8.30871 -38.0303 -0.2 - vertex -8.657 -38.0883 -0.2 - endloop - endfacet - facet normal -0.0732736 0.997312 0 - outer loop - vertex -8.657 -38.0883 -0.2 - vertex -9.15585 -38.1249 0 - vertex -8.657 -38.0883 0 - endloop - endfacet - facet normal -0.0732736 0.997312 0 - outer loop - vertex -9.15585 -38.1249 0 - vertex -8.657 -38.0883 -0.2 - vertex -9.15585 -38.1249 -0.2 - endloop - endfacet - facet normal -0.0291211 0.999576 0 - outer loop - vertex -9.15585 -38.1249 -0.2 - vertex -9.84865 -38.1451 0 - vertex -9.15585 -38.1249 0 - endloop - endfacet - facet normal -0.0291211 0.999576 0 - outer loop - vertex -9.84865 -38.1451 0 - vertex -9.15585 -38.1249 -0.2 - vertex -9.84865 -38.1451 -0.2 - endloop - endfacet - facet normal -0.00482502 0.999988 0 - outer loop - vertex -9.84865 -38.1451 -0.2 - vertex -11.9896 -38.1555 0 - vertex -9.84865 -38.1451 0 - endloop - endfacet - facet normal -0.00482502 0.999988 0 - outer loop - vertex -11.9896 -38.1555 0 - vertex -9.84865 -38.1451 -0.2 - vertex -11.9896 -38.1555 -0.2 - endloop - endfacet - facet normal 0.0039213 0.999992 -0 - outer loop - vertex -11.9896 -38.1555 -0.2 - vertex -14.1677 -38.1469 0 - vertex -11.9896 -38.1555 0 - endloop - endfacet - facet normal 0.0039213 0.999992 0 - outer loop - vertex -14.1677 -38.1469 0 - vertex -11.9896 -38.1555 -0.2 - vertex -14.1677 -38.1469 -0.2 - endloop - endfacet - facet normal 0.0274602 0.999623 -0 - outer loop - vertex -14.1677 -38.1469 -0.2 - vertex -14.8486 -38.1282 0 - vertex -14.1677 -38.1469 0 - endloop - endfacet - facet normal 0.0274602 0.999623 0 - outer loop - vertex -14.8486 -38.1282 0 - vertex -14.1677 -38.1469 -0.2 - vertex -14.8486 -38.1282 -0.2 - endloop - endfacet - facet normal 0.0756421 0.997135 -0 - outer loop - vertex -14.8486 -38.1282 -0.2 - vertex -15.316 -38.0928 0 - vertex -14.8486 -38.1282 0 - endloop - endfacet - facet normal 0.0756421 0.997135 0 - outer loop - vertex -15.316 -38.0928 0 - vertex -14.8486 -38.1282 -0.2 - vertex -15.316 -38.0928 -0.2 - endloop - endfacet - facet normal 0.189644 0.981853 -0 - outer loop - vertex -15.316 -38.0928 -0.2 - vertex -15.614 -38.0352 0 - vertex -15.316 -38.0928 0 - endloop - endfacet - facet normal 0.189644 0.981853 0 - outer loop - vertex -15.614 -38.0352 0 - vertex -15.316 -38.0928 -0.2 - vertex -15.614 -38.0352 -0.2 - endloop - endfacet - facet normal 0.363705 0.931514 -0 - outer loop - vertex -15.614 -38.0352 -0.2 - vertex -15.7132 -37.9965 0 - vertex -15.614 -38.0352 0 - endloop - endfacet - facet normal 0.363705 0.931514 0 - outer loop - vertex -15.7132 -37.9965 0 - vertex -15.614 -38.0352 -0.2 - vertex -15.7132 -37.9965 -0.2 - endloop - endfacet - facet normal 0.533432 0.845843 -0 - outer loop - vertex -15.7132 -37.9965 -0.2 - vertex -15.7865 -37.9502 0 - vertex -15.7132 -37.9965 0 - endloop - endfacet - facet normal 0.533432 0.845843 0 - outer loop - vertex -15.7865 -37.9502 0 - vertex -15.7132 -37.9965 -0.2 - vertex -15.7865 -37.9502 -0.2 - endloop - endfacet - facet normal 0.71659 0.697495 0 - outer loop - vertex -15.7865 -37.9502 0 - vertex -15.8396 -37.8957 -0.2 - vertex -15.8396 -37.8957 0 - endloop - endfacet - facet normal 0.71659 0.697495 0 - outer loop - vertex -15.8396 -37.8957 -0.2 - vertex -15.7865 -37.9502 0 - vertex -15.7865 -37.9502 -0.2 - endloop - endfacet - facet normal 0.856476 0.516186 0 - outer loop - vertex -15.8396 -37.8957 0 - vertex -15.8777 -37.8324 -0.2 - vertex -15.8777 -37.8324 0 - endloop - endfacet - facet normal 0.856476 0.516186 0 - outer loop - vertex -15.8777 -37.8324 -0.2 - vertex -15.8396 -37.8957 0 - vertex -15.8396 -37.8957 -0.2 - endloop - endfacet - facet normal 0.945292 0.326225 0 - outer loop - vertex -15.8777 -37.8324 0 - vertex -15.9316 -37.6764 -0.2 - vertex -15.9316 -37.6764 0 - endloop - endfacet - facet normal 0.945292 0.326225 0 - outer loop - vertex -15.9316 -37.6764 -0.2 - vertex -15.8777 -37.8324 0 - vertex -15.8777 -37.8324 -0.2 - endloop - endfacet - facet normal 0.977576 0.210582 0 - outer loop - vertex -15.9316 -37.6764 0 - vertex -15.9604 -37.5428 -0.2 - vertex -15.9604 -37.5428 0 - endloop - endfacet - facet normal 0.977576 0.210582 0 - outer loop - vertex -15.9604 -37.5428 -0.2 - vertex -15.9316 -37.6764 0 - vertex -15.9316 -37.6764 -0.2 - endloop - endfacet - facet normal 0.998424 0.0561231 0 - outer loop - vertex -15.9604 -37.5428 0 - vertex -15.9675 -37.4163 -0.2 - vertex -15.9675 -37.4163 0 - endloop - endfacet - facet normal 0.998424 0.0561231 0 - outer loop - vertex -15.9675 -37.4163 -0.2 - vertex -15.9604 -37.5428 0 - vertex -15.9604 -37.5428 -0.2 - endloop - endfacet - facet normal 0.991334 -0.131364 0 - outer loop - vertex -15.9675 -37.4163 0 - vertex -15.9511 -37.293 -0.2 - vertex -15.9511 -37.293 0 - endloop - endfacet - facet normal 0.991334 -0.131364 0 - outer loop - vertex -15.9511 -37.293 -0.2 - vertex -15.9675 -37.4163 0 - vertex -15.9675 -37.4163 -0.2 - endloop - endfacet - facet normal 0.94832 -0.317316 0 - outer loop - vertex -15.9511 -37.293 0 - vertex -15.9096 -37.1689 -0.2 - vertex -15.9096 -37.1689 0 - endloop - endfacet - facet normal 0.94832 -0.317316 0 - outer loop - vertex -15.9096 -37.1689 -0.2 - vertex -15.9511 -37.293 0 - vertex -15.9511 -37.293 -0.2 - endloop - endfacet - facet normal 0.883259 -0.468885 0 - outer loop - vertex -15.9096 -37.1689 0 - vertex -15.8411 -37.0399 -0.2 - vertex -15.8411 -37.0399 0 - endloop - endfacet - facet normal 0.883259 -0.468885 0 - outer loop - vertex -15.8411 -37.0399 -0.2 - vertex -15.9096 -37.1689 0 - vertex -15.9096 -37.1689 -0.2 - endloop - endfacet - facet normal 0.817454 -0.575994 0 - outer loop - vertex -15.8411 -37.0399 0 - vertex -15.7439 -36.902 -0.2 - vertex -15.7439 -36.902 0 - endloop - endfacet - facet normal 0.817454 -0.575994 0 - outer loop - vertex -15.7439 -36.902 -0.2 - vertex -15.8411 -37.0399 0 - vertex -15.8411 -37.0399 -0.2 - endloop - endfacet - facet normal 0.742584 -0.669753 0 - outer loop - vertex -15.7439 -36.902 0 - vertex -15.4564 -36.5832 -0.2 - vertex -15.4564 -36.5832 0 - endloop - endfacet - facet normal 0.742584 -0.669753 0 - outer loop - vertex -15.4564 -36.5832 -0.2 - vertex -15.7439 -36.902 0 - vertex -15.7439 -36.902 -0.2 - endloop - endfacet - facet normal 0.654929 -0.755691 0 - outer loop - vertex -15.4564 -36.5832 -0.2 - vertex -15.1813 -36.3448 0 - vertex -15.4564 -36.5832 0 - endloop - endfacet - facet normal 0.654929 -0.755691 0 - outer loop - vertex -15.1813 -36.3448 0 - vertex -15.4564 -36.5832 -0.2 - vertex -15.1813 -36.3448 -0.2 - endloop - endfacet - facet normal 0.547883 -0.836555 0 - outer loop - vertex -15.1813 -36.3448 -0.2 - vertex -14.8831 -36.1495 0 - vertex -15.1813 -36.3448 0 - endloop - endfacet - facet normal 0.547883 -0.836555 0 - outer loop - vertex -14.8831 -36.1495 0 - vertex -15.1813 -36.3448 -0.2 - vertex -14.8831 -36.1495 -0.2 - endloop - endfacet - facet normal 0.419801 -0.907616 0 - outer loop - vertex -14.8831 -36.1495 -0.2 - vertex -14.5979 -36.0176 0 - vertex -14.8831 -36.1495 0 - endloop - endfacet - facet normal 0.419801 -0.907616 0 - outer loop - vertex -14.5979 -36.0176 0 - vertex -14.8831 -36.1495 -0.2 - vertex -14.5979 -36.0176 -0.2 - endloop - endfacet - facet normal 0.273076 -0.961992 0 - outer loop - vertex -14.5979 -36.0176 -0.2 - vertex -14.4713 -35.9816 0 - vertex -14.5979 -36.0176 0 - endloop - endfacet - facet normal 0.273076 -0.961992 0 - outer loop - vertex -14.4713 -35.9816 0 - vertex -14.5979 -36.0176 -0.2 - vertex -14.4713 -35.9816 -0.2 - endloop - endfacet - facet normal 0.113362 -0.993554 0 - outer loop - vertex -14.4713 -35.9816 -0.2 - vertex -14.3614 -35.9691 0 - vertex -14.4713 -35.9816 0 - endloop - endfacet - facet normal 0.113362 -0.993554 0 - outer loop - vertex -14.3614 -35.9691 0 - vertex -14.4713 -35.9816 -0.2 - vertex -14.3614 -35.9691 -0.2 - endloop - endfacet - facet normal 0.0894161 -0.995994 0 - outer loop - vertex -14.3614 -35.9691 -0.2 - vertex -14.1999 -35.9546 0 - vertex -14.3614 -35.9691 0 - endloop - endfacet - facet normal 0.0894161 -0.995994 0 - outer loop - vertex -14.1999 -35.9546 0 - vertex -14.3614 -35.9691 -0.2 - vertex -14.1999 -35.9546 -0.2 - endloop - endfacet - facet normal 0.259204 -0.965823 0 - outer loop - vertex -14.1999 -35.9546 -0.2 - vertex -14.0373 -35.911 0 - vertex -14.1999 -35.9546 0 - endloop - endfacet - facet normal 0.259204 -0.965823 0 - outer loop - vertex -14.0373 -35.911 0 - vertex -14.1999 -35.9546 -0.2 - vertex -14.0373 -35.911 -0.2 - endloop - endfacet - facet normal 0.406893 -0.913476 0 - outer loop - vertex -14.0373 -35.911 -0.2 - vertex -13.8736 -35.838 0 - vertex -14.0373 -35.911 0 - endloop - endfacet - facet normal 0.406893 -0.913476 0 - outer loop - vertex -13.8736 -35.838 0 - vertex -14.0373 -35.911 -0.2 - vertex -13.8736 -35.838 -0.2 - endloop - endfacet - facet normal 0.527319 -0.849667 0 - outer loop - vertex -13.8736 -35.838 -0.2 - vertex -13.7085 -35.7356 0 - vertex -13.8736 -35.838 0 - endloop - endfacet - facet normal 0.527319 -0.849667 0 - outer loop - vertex -13.7085 -35.7356 0 - vertex -13.8736 -35.838 -0.2 - vertex -13.7085 -35.7356 -0.2 - endloop - endfacet - facet normal 0.621601 -0.783334 0 - outer loop - vertex -13.7085 -35.7356 -0.2 - vertex -13.5421 -35.6036 0 - vertex -13.7085 -35.7356 0 - endloop - endfacet - facet normal 0.621601 -0.783334 0 - outer loop - vertex -13.5421 -35.6036 0 - vertex -13.7085 -35.7356 -0.2 - vertex -13.5421 -35.6036 -0.2 - endloop - endfacet - facet normal 0.693973 -0.720001 0 - outer loop - vertex -13.5421 -35.6036 -0.2 - vertex -13.3741 -35.4417 0 - vertex -13.5421 -35.6036 0 - endloop - endfacet - facet normal 0.693973 -0.720001 0 - outer loop - vertex -13.3741 -35.4417 0 - vertex -13.5421 -35.6036 -0.2 - vertex -13.3741 -35.4417 -0.2 - endloop - endfacet - facet normal 0.74925 -0.662287 0 - outer loop - vertex -13.3741 -35.4417 0 - vertex -13.2045 -35.2497 -0.2 - vertex -13.2045 -35.2497 0 - endloop - endfacet - facet normal 0.74925 -0.662287 0 - outer loop - vertex -13.2045 -35.2497 -0.2 - vertex -13.3741 -35.4417 0 - vertex -13.3741 -35.4417 -0.2 - endloop - endfacet - facet normal 0.791599 -0.611041 0 - outer loop - vertex -13.2045 -35.2497 0 - vertex -13.0331 -35.0276 -0.2 - vertex -13.0331 -35.0276 0 - endloop - endfacet - facet normal 0.791599 -0.611041 0 - outer loop - vertex -13.0331 -35.0276 -0.2 - vertex -13.2045 -35.2497 0 - vertex -13.2045 -35.2497 -0.2 - endloop - endfacet - facet normal 0.837921 -0.545792 0 - outer loop - vertex -13.0331 -35.0276 0 - vertex -12.6843 -34.4922 -0.2 - vertex -12.6843 -34.4922 0 - endloop - endfacet - facet normal 0.837921 -0.545792 0 - outer loop - vertex -12.6843 -34.4922 -0.2 - vertex -13.0331 -35.0276 0 - vertex -13.0331 -35.0276 -0.2 - endloop - endfacet - facet normal 0.878782 -0.477224 0 - outer loop - vertex -12.6843 -34.4922 0 - vertex -12.3268 -33.8339 -0.2 - vertex -12.3268 -33.8339 0 - endloop - endfacet - facet normal 0.878782 -0.477224 0 - outer loop - vertex -12.3268 -33.8339 -0.2 - vertex -12.6843 -34.4922 0 - vertex -12.6843 -34.4922 -0.2 - endloop - endfacet - facet normal 0.905274 -0.424829 0 - outer loop - vertex -12.3268 -33.8339 0 - vertex -11.9595 -33.0513 -0.2 - vertex -11.9595 -33.0513 0 - endloop - endfacet - facet normal 0.905274 -0.424829 0 - outer loop - vertex -11.9595 -33.0513 -0.2 - vertex -12.3268 -33.8339 0 - vertex -12.3268 -33.8339 -0.2 - endloop - endfacet - facet normal 0.923227 -0.384256 0 - outer loop - vertex -11.9595 -33.0513 0 - vertex -11.5815 -32.143 -0.2 - vertex -11.5815 -32.143 0 - endloop - endfacet - facet normal 0.923227 -0.384256 0 - outer loop - vertex -11.5815 -32.143 -0.2 - vertex -11.9595 -33.0513 0 - vertex -11.9595 -33.0513 -0.2 + vertex -11.5932 -32.143 -3 + vertex -12.3385 -33.8339 0 + vertex -12.3385 -33.8339 -3 endloop endfacet facet normal 0.927789 -0.373105 0 outer loop - vertex -11.5815 -32.143 0 - vertex -9.5401 -27.0667 -0.2 - vertex -9.5401 -27.0667 0 + vertex -11.5932 -32.143 0 + vertex -9.55184 -27.0667 -3 + vertex -9.55184 -27.0667 0 endloop endfacet facet normal 0.927789 -0.373105 0 outer loop - vertex -9.5401 -27.0667 -0.2 - vertex -11.5815 -32.143 0 - vertex -11.5815 -32.143 -0.2 + vertex -9.55184 -27.0667 -3 + vertex -11.5932 -32.143 0 + vertex -11.5932 -32.143 -3 endloop endfacet - facet normal 0.931122 -0.364709 0 + facet normal 0.938245 -0.345971 0 outer loop - vertex -9.5401 -27.0667 0 - vertex -9.05502 -25.8283 -0.2 - vertex -9.05502 -25.8283 0 + vertex -9.55184 -27.0667 0 + vertex -8.72405 -24.8218 -3 + vertex -8.72405 -24.8218 0 endloop endfacet - facet normal 0.931122 -0.364709 0 + facet normal 0.938245 -0.345971 0 outer loop - vertex -9.05502 -25.8283 -0.2 - vertex -9.5401 -27.0667 0 - vertex -9.5401 -27.0667 -0.2 + vertex -8.72405 -24.8218 -3 + vertex -9.55184 -27.0667 0 + vertex -9.55184 -27.0667 -3 endloop endfacet - facet normal 0.946626 -0.322334 0 + facet normal 0.983596 -0.180388 0 outer loop - vertex -9.05502 -25.8283 0 - vertex -8.71232 -24.8218 -0.2 - vertex -8.71232 -24.8218 0 + vertex -8.72405 -24.8218 0 + vertex -8.46819 -23.4267 -3 + vertex -8.46819 -23.4267 0 endloop endfacet - facet normal 0.946626 -0.322334 0 + facet normal 0.983596 -0.180388 0 outer loop - vertex -8.71232 -24.8218 -0.2 - vertex -9.05502 -25.8283 0 - vertex -9.05502 -25.8283 -0.2 + vertex -8.46819 -23.4267 -3 + vertex -8.72405 -24.8218 0 + vertex -8.72405 -24.8218 -3 endloop endfacet - facet normal 0.963249 -0.26861 0 + facet normal 0.979467 0.201603 0 outer loop - vertex -8.71232 -24.8218 0 - vertex -8.59455 -24.3995 -0.2 - vertex -8.59455 -24.3995 0 + vertex -8.46819 -23.4267 0 + vertex -8.55624 -22.9989 -3 + vertex -8.55624 -22.9989 0 endloop endfacet - facet normal 0.963249 -0.26861 0 + facet normal 0.979467 0.201603 0 outer loop - vertex -8.59455 -24.3995 -0.2 - vertex -8.71232 -24.8218 0 - vertex -8.71232 -24.8218 -0.2 + vertex -8.55624 -22.9989 -3 + vertex -8.46819 -23.4267 0 + vertex -8.46819 -23.4267 -3 endloop endfacet - facet normal 0.976543 -0.215323 0 + facet normal 0.762012 0.647563 0 outer loop - vertex -8.59455 -24.3995 0 - vertex -8.51259 -24.0278 -0.2 - vertex -8.51259 -24.0278 0 + vertex -8.55624 -22.9989 0 + vertex -8.78909 -22.7249 -3 + vertex -8.78909 -22.7249 0 endloop endfacet - facet normal 0.976543 -0.215323 0 + facet normal 0.762012 0.647563 0 outer loop - vertex -8.51259 -24.0278 -0.2 - vertex -8.59455 -24.3995 0 - vertex -8.59455 -24.3995 -0.2 + vertex -8.78909 -22.7249 -3 + vertex -8.55624 -22.9989 0 + vertex -8.55624 -22.9989 -3 endloop endfacet - facet normal 0.990015 -0.140965 0 + facet normal 0.179668 0.983727 -0 outer loop - vertex -8.51259 -24.0278 0 - vertex -8.46654 -23.7044 -0.2 - vertex -8.46654 -23.7044 0 + vertex -8.78909 -22.7249 -3 + vertex -9.69161 -22.56 0 + vertex -8.78909 -22.7249 0 endloop endfacet - facet normal 0.990015 -0.140965 0 + facet normal 0.179668 0.983727 0 outer loop - vertex -8.46654 -23.7044 -0.2 - vertex -8.51259 -24.0278 0 - vertex -8.51259 -24.0278 -0.2 + vertex -9.69161 -22.56 0 + vertex -8.78909 -22.7249 -3 + vertex -9.69161 -22.56 -3 endloop endfacet - facet normal 0.999341 -0.0362924 0 + facet normal -0.191908 0.981413 0 outer loop - vertex -8.46654 -23.7044 0 - vertex -8.45645 -23.4267 -0.2 - vertex -8.45645 -23.4267 0 + vertex -9.69161 -22.56 -3 + vertex -10.5461 -22.7271 0 + vertex -9.69161 -22.56 0 endloop endfacet - facet normal 0.999341 -0.0362924 0 + facet normal -0.191908 0.981413 0 outer loop - vertex -8.45645 -23.4267 -0.2 - vertex -8.46654 -23.7044 0 - vertex -8.46654 -23.7044 -0.2 + vertex -10.5461 -22.7271 0 + vertex -9.69161 -22.56 -3 + vertex -10.5461 -22.7271 -3 endloop endfacet - facet normal 0.993917 0.110127 0 + facet normal -0.380356 0.92484 0 outer loop - vertex -8.45645 -23.4267 0 - vertex -8.48242 -23.1923 -0.2 - vertex -8.48242 -23.1923 0 + vertex -10.5461 -22.7271 -3 + vertex -11.3967 -23.0769 0 + vertex -10.5461 -22.7271 0 endloop endfacet - facet normal 0.993917 0.110127 0 + facet normal -0.380356 0.92484 0 outer loop - vertex -8.48242 -23.1923 -0.2 - vertex -8.45645 -23.4267 0 - vertex -8.45645 -23.4267 -0.2 + vertex -11.3967 -23.0769 0 + vertex -10.5461 -22.7271 -3 + vertex -11.3967 -23.0769 -3 endloop endfacet - facet normal 0.952162 0.305593 0 + facet normal -0.535069 0.844808 0 outer loop - vertex -8.48242 -23.1923 0 - vertex -8.54451 -22.9989 -0.2 - vertex -8.54451 -22.9989 0 + vertex -11.3967 -23.0769 -3 + vertex -12.4124 -23.7203 0 + vertex -11.3967 -23.0769 0 endloop endfacet - facet normal 0.952162 0.305593 0 + facet normal -0.535069 0.844808 0 outer loop - vertex -8.54451 -22.9989 -0.2 - vertex -8.48242 -23.1923 0 - vertex -8.48242 -23.1923 -0.2 + vertex -12.4124 -23.7203 0 + vertex -11.3967 -23.0769 -3 + vertex -12.4124 -23.7203 -3 endloop endfacet - facet normal 0.844525 0.535516 0 + facet normal -0.673005 0.739638 0 outer loop - vertex -8.54451 -22.9989 0 - vertex -8.64279 -22.8439 -0.2 - vertex -8.64279 -22.8439 0 + vertex -12.4124 -23.7203 -3 + vertex -13.1427 -24.3848 0 + vertex -12.4124 -23.7203 0 endloop endfacet - facet normal 0.844525 0.535516 0 + facet normal -0.673005 0.739638 0 outer loop - vertex -8.64279 -22.8439 -0.2 - vertex -8.54451 -22.9989 0 - vertex -8.54451 -22.9989 -0.2 + vertex -13.1427 -24.3848 0 + vertex -12.4124 -23.7203 -3 + vertex -13.1427 -24.3848 -3 endloop endfacet - facet normal 0.662463 0.749095 -0 + facet normal -0.824808 0.565412 0 outer loop - vertex -8.64279 -22.8439 -0.2 - vertex -8.77736 -22.7249 0 - vertex -8.64279 -22.8439 0 + vertex -13.7062 -25.2068 -3 + vertex -13.1427 -24.3848 0 + vertex -13.1427 -24.3848 -3 endloop endfacet - facet normal 0.662463 0.749095 0 + facet normal -0.824808 0.565412 0 outer loop - vertex -8.77736 -22.7249 0 - vertex -8.64279 -22.8439 -0.2 - vertex -8.77736 -22.7249 -0.2 + vertex -13.1427 -24.3848 0 + vertex -13.7062 -25.2068 -3 + vertex -13.7062 -25.2068 0 endloop endfacet - facet normal 0.447148 0.89446 -0 + facet normal -0.907849 0.419297 0 outer loop - vertex -8.77736 -22.7249 -0.2 - vertex -8.94827 -22.6394 0 - vertex -8.77736 -22.7249 0 + vertex -14.2216 -26.3227 -3 + vertex -13.7062 -25.2068 0 + vertex -13.7062 -25.2068 -3 endloop endfacet - facet normal 0.447148 0.89446 0 + facet normal -0.907849 0.419297 0 outer loop - vertex -8.94827 -22.6394 0 - vertex -8.77736 -22.7249 -0.2 - vertex -8.94827 -22.6394 -0.2 + vertex -13.7062 -25.2068 0 + vertex -14.2216 -26.3227 -3 + vertex -14.2216 -26.3227 0 endloop endfacet - facet normal 0.253452 0.967348 -0 + facet normal -0.926196 0.377043 0 outer loop - vertex -8.94827 -22.6394 -0.2 - vertex -9.15561 -22.5851 0 - vertex -8.94827 -22.6394 0 + vertex -15.3894 -29.1914 -3 + vertex -14.2216 -26.3227 0 + vertex -14.2216 -26.3227 -3 endloop endfacet - facet normal 0.253452 0.967348 0 + facet normal -0.926196 0.377043 0 outer loop - vertex -9.15561 -22.5851 0 - vertex -8.94827 -22.6394 -0.2 - vertex -9.15561 -22.5851 -0.2 - endloop - endfacet - facet normal 0.104613 0.994513 -0 - outer loop - vertex -9.15561 -22.5851 -0.2 - vertex -9.39946 -22.5595 0 - vertex -9.15561 -22.5851 0 - endloop - endfacet - facet normal 0.104613 0.994513 0 - outer loop - vertex -9.39946 -22.5595 0 - vertex -9.15561 -22.5851 -0.2 - vertex -9.39946 -22.5595 -0.2 - endloop - endfacet - facet normal -0.0020677 0.999998 0 - outer loop - vertex -9.39946 -22.5595 -0.2 - vertex -9.67988 -22.56 0 - vertex -9.39946 -22.5595 0 - endloop - endfacet - facet normal -0.0020677 0.999998 0 - outer loop - vertex -9.67988 -22.56 0 - vertex -9.39946 -22.5595 -0.2 - vertex -9.67988 -22.56 -0.2 - endloop - endfacet - facet normal -0.129535 0.991575 0 - outer loop - vertex -9.67988 -22.56 -0.2 - vertex -10.0796 -22.6123 0 - vertex -9.67988 -22.56 0 - endloop - endfacet - facet normal -0.129535 0.991575 0 - outer loop - vertex -10.0796 -22.6123 0 - vertex -9.67988 -22.56 -0.2 - vertex -10.0796 -22.6123 -0.2 - endloop - endfacet - facet normal -0.24491 0.969546 0 - outer loop - vertex -10.0796 -22.6123 -0.2 - vertex -10.5344 -22.7271 0 - vertex -10.0796 -22.6123 0 - endloop - endfacet - facet normal -0.24491 0.969546 0 - outer loop - vertex -10.5344 -22.7271 0 - vertex -10.0796 -22.6123 -0.2 - vertex -10.5344 -22.7271 -0.2 - endloop - endfacet - facet normal -0.333557 0.94273 0 - outer loop - vertex -10.5344 -22.7271 -0.2 - vertex -10.9881 -22.8877 0 - vertex -10.5344 -22.7271 0 - endloop - endfacet - facet normal -0.333557 0.94273 0 - outer loop - vertex -10.9881 -22.8877 0 - vertex -10.5344 -22.7271 -0.2 - vertex -10.9881 -22.8877 -0.2 - endloop - endfacet - facet normal -0.430494 0.902594 0 - outer loop - vertex -10.9881 -22.8877 -0.2 - vertex -11.3849 -23.0769 0 - vertex -10.9881 -22.8877 0 - endloop - endfacet - facet normal -0.430494 0.902594 0 - outer loop - vertex -11.3849 -23.0769 0 - vertex -10.9881 -22.8877 -0.2 - vertex -11.3849 -23.0769 -0.2 - endloop - endfacet - facet normal -0.511004 0.859578 0 - outer loop - vertex -11.3849 -23.0769 -0.2 - vertex -11.9359 -23.4045 0 - vertex -11.3849 -23.0769 0 - endloop - endfacet - facet normal -0.511004 0.859578 0 - outer loop - vertex -11.9359 -23.4045 0 - vertex -11.3849 -23.0769 -0.2 - vertex -11.9359 -23.4045 -0.2 - endloop - endfacet - facet normal -0.561997 0.827139 0 - outer loop - vertex -11.9359 -23.4045 -0.2 - vertex -12.4007 -23.7203 0 - vertex -11.9359 -23.4045 0 - endloop - endfacet - facet normal -0.561997 0.827139 0 - outer loop - vertex -12.4007 -23.7203 0 - vertex -11.9359 -23.4045 -0.2 - vertex -12.4007 -23.7203 -0.2 - endloop - endfacet - facet normal -0.632295 0.774728 0 - outer loop - vertex -12.4007 -23.7203 -0.2 - vertex -12.7941 -24.0414 0 - vertex -12.4007 -23.7203 0 - endloop - endfacet - facet normal -0.632295 0.774728 0 - outer loop - vertex -12.7941 -24.0414 0 - vertex -12.4007 -23.7203 -0.2 - vertex -12.7941 -24.0414 -0.2 - endloop - endfacet - facet normal -0.713871 0.700277 0 - outer loop - vertex -13.131 -24.3848 -0.2 - vertex -12.7941 -24.0414 0 - vertex -12.7941 -24.0414 -0.2 - endloop - endfacet - facet normal -0.713871 0.700277 0 - outer loop - vertex -12.7941 -24.0414 0 - vertex -13.131 -24.3848 -0.2 - vertex -13.131 -24.3848 0 - endloop - endfacet - facet normal -0.791901 0.61065 0 - outer loop - vertex -13.4262 -24.7676 -0.2 - vertex -13.131 -24.3848 0 - vertex -13.131 -24.3848 -0.2 - endloop - endfacet - facet normal -0.791901 0.61065 0 - outer loop - vertex -13.131 -24.3848 0 - vertex -13.4262 -24.7676 -0.2 - vertex -13.4262 -24.7676 0 - endloop - endfacet - facet normal -0.853364 0.521315 0 - outer loop - vertex -13.6945 -25.2068 -0.2 - vertex -13.4262 -24.7676 0 - vertex -13.4262 -24.7676 -0.2 - endloop - endfacet - facet normal -0.853364 0.521315 0 - outer loop - vertex -13.4262 -24.7676 0 - vertex -13.6945 -25.2068 -0.2 - vertex -13.6945 -25.2068 0 - endloop - endfacet - facet normal -0.894467 0.447134 0 - outer loop - vertex -13.9508 -25.7195 -0.2 - vertex -13.6945 -25.2068 0 - vertex -13.6945 -25.2068 -0.2 - endloop - endfacet - facet normal -0.894467 0.447134 0 - outer loop - vertex -13.6945 -25.2068 0 - vertex -13.9508 -25.7195 -0.2 - vertex -13.9508 -25.7195 0 - endloop - endfacet - facet normal -0.918824 0.394667 0 - outer loop - vertex -14.2098 -26.3227 -0.2 - vertex -13.9508 -25.7195 0 - vertex -13.9508 -25.7195 -0.2 - endloop - endfacet - facet normal -0.918824 0.394667 0 - outer loop - vertex -13.9508 -25.7195 0 - vertex -14.2098 -26.3227 -0.2 - vertex -14.2098 -26.3227 0 - endloop - endfacet - facet normal -0.926196 0.377042 0 - outer loop - vertex -15.3777 -29.1914 -0.2 - vertex -14.2098 -26.3227 0 - vertex -14.2098 -26.3227 -0.2 - endloop - endfacet - facet normal -0.926196 0.377042 0 - outer loop - vertex -14.2098 -26.3227 0 - vertex -15.3777 -29.1914 -0.2 - vertex -15.3777 -29.1914 0 + vertex -14.2216 -26.3227 0 + vertex -15.3894 -29.1914 -3 + vertex -15.3894 -29.1914 0 endloop endfacet facet normal -0.925675 0.37832 0 outer loop - vertex -16.8163 -32.7116 -0.2 - vertex -15.3777 -29.1914 0 - vertex -15.3777 -29.1914 -0.2 + vertex -16.8281 -32.7116 -3 + vertex -15.3894 -29.1914 0 + vertex -15.3894 -29.1914 -3 endloop endfacet facet normal -0.925675 0.37832 0 outer loop - vertex -15.3777 -29.1914 0 - vertex -16.8163 -32.7116 -0.2 - vertex -16.8163 -32.7116 0 + vertex -15.3894 -29.1914 0 + vertex -16.8281 -32.7116 -3 + vertex -16.8281 -32.7116 0 endloop endfacet - facet normal -0.928735 0.370745 0 + facet normal -0.944728 0.327855 0 outer loop - vertex -17.1674 -33.591 -0.2 - vertex -16.8163 -32.7116 0 - vertex -16.8163 -32.7116 -0.2 + vertex -17.7285 -35.3062 -3 + vertex -16.8281 -32.7116 0 + vertex -16.8281 -32.7116 -3 endloop endfacet - facet normal -0.928735 0.370745 0 + facet normal -0.944728 0.327855 0 outer loop - vertex -16.8163 -32.7116 0 - vertex -17.1674 -33.591 -0.2 - vertex -17.1674 -33.591 0 + vertex -16.8281 -32.7116 0 + vertex -17.7285 -35.3062 -3 + vertex -17.7285 -35.3062 0 endloop endfacet - facet normal -0.937631 0.347632 0 + facet normal -0.998333 -0.0577213 0 outer loop - vertex -17.4329 -34.3072 -0.2 - vertex -17.1674 -33.591 0 - vertex -17.1674 -33.591 -0.2 + vertex -17.6987 -35.8223 -3 + vertex -17.7285 -35.3062 0 + vertex -17.7285 -35.3062 -3 endloop endfacet - facet normal -0.937631 0.347632 0 + facet normal -0.998333 -0.0577213 0 outer loop - vertex -17.1674 -33.591 0 - vertex -17.4329 -34.3072 -0.2 - vertex -17.4329 -34.3072 0 + vertex -17.7285 -35.3062 0 + vertex -17.6987 -35.8223 -3 + vertex -17.6987 -35.8223 0 endloop endfacet - facet normal -0.951989 0.306132 0 + facet normal -0.412173 -0.911106 0 outer loop - vertex -17.6153 -34.8741 -0.2 - vertex -17.4329 -34.3072 0 - vertex -17.4329 -34.3072 -0.2 + vertex -17.6987 -35.8223 -3 + vertex -17.3742 -35.9691 0 + vertex -17.6987 -35.8223 0 endloop endfacet - facet normal -0.951989 0.306132 0 + facet normal -0.412173 -0.911106 -0 outer loop - vertex -17.4329 -34.3072 0 - vertex -17.6153 -34.8741 -0.2 - vertex -17.6153 -34.8741 0 + vertex -17.3742 -35.9691 0 + vertex -17.6987 -35.8223 -3 + vertex -17.3742 -35.9691 -3 endloop endfacet - facet normal -0.973485 0.228749 0 + facet normal -0.297585 -0.954695 0 outer loop - vertex -17.7168 -35.3062 -0.2 - vertex -17.6153 -34.8741 0 - vertex -17.6153 -34.8741 -0.2 + vertex -17.3742 -35.9691 -3 + vertex -16.5846 -36.2152 0 + vertex -17.3742 -35.9691 0 endloop endfacet - facet normal -0.973485 0.228749 0 + facet normal -0.297585 -0.954695 -0 outer loop - vertex -17.6153 -34.8741 0 - vertex -17.7168 -35.3062 -0.2 - vertex -17.7168 -35.3062 0 + vertex -16.5846 -36.2152 0 + vertex -17.3742 -35.9691 -3 + vertex -16.5846 -36.2152 -3 endloop endfacet - facet normal -0.992299 0.123865 0 + facet normal -0.829044 -0.559183 0 outer loop - vertex -17.738 -35.4761 -0.2 - vertex -17.7168 -35.3062 0 - vertex -17.7168 -35.3062 -0.2 + vertex -16.2226 -36.752 -3 + vertex -16.5846 -36.2152 0 + vertex -16.5846 -36.2152 -3 endloop endfacet - facet normal -0.992299 0.123865 0 + facet normal -0.829044 -0.559183 0 outer loop - vertex -17.7168 -35.3062 0 - vertex -17.738 -35.4761 -0.2 - vertex -17.738 -35.4761 0 + vertex -16.5846 -36.2152 0 + vertex -16.2226 -36.752 -3 + vertex -16.2226 -36.752 0 endloop endfacet - facet normal -0.99991 0.0134015 0 + facet normal -0.876406 0.481572 0 outer loop - vertex -17.7399 -35.6175 -0.2 - vertex -17.738 -35.4761 0 - vertex -17.738 -35.4761 -0.2 + vertex -16.6989 -37.6188 -3 + vertex -16.2226 -36.752 0 + vertex -16.2226 -36.752 -3 endloop endfacet - facet normal -0.99991 0.0134015 0 + facet normal -0.876406 0.481572 0 outer loop - vertex -17.738 -35.4761 0 - vertex -17.7399 -35.6175 -0.2 - vertex -17.7399 -35.6175 0 + vertex -16.2226 -36.752 0 + vertex -16.6989 -37.6188 -3 + vertex -16.6989 -37.6188 0 endloop endfacet - facet normal -0.989073 -0.147424 0 + facet normal -0.678562 0.734543 0 outer loop - vertex -17.7228 -35.7323 -0.2 - vertex -17.7399 -35.6175 0 - vertex -17.7399 -35.6175 -0.2 + vertex -16.6989 -37.6188 -3 + vertex -17.033 -37.9274 0 + vertex -16.6989 -37.6188 0 endloop endfacet - facet normal -0.989073 -0.147424 0 + facet normal -0.678562 0.734543 0 outer loop - vertex -17.7399 -35.6175 0 - vertex -17.7228 -35.7323 -0.2 - vertex -17.7228 -35.7323 0 + vertex -17.033 -37.9274 0 + vertex -16.6989 -37.6188 -3 + vertex -17.033 -37.9274 -3 endloop endfacet - facet normal -0.929053 -0.369947 0 + facet normal -0.276188 0.961104 0 outer loop - vertex -17.6869 -35.8223 -0.2 - vertex -17.7228 -35.7323 0 - vertex -17.7228 -35.7323 -0.2 + vertex -17.033 -37.9274 -3 + vertex -17.5781 -38.0841 0 + vertex -17.033 -37.9274 0 endloop endfacet - facet normal -0.929053 -0.369947 0 + facet normal -0.276188 0.961104 0 outer loop - vertex -17.7228 -35.7323 0 - vertex -17.6869 -35.8223 -0.2 - vertex -17.6869 -35.8223 0 + vertex -17.5781 -38.0841 0 + vertex -17.033 -37.9274 -3 + vertex -17.5781 -38.0841 -3 endloop endfacet - facet normal -0.776679 -0.629897 0 + facet normal -0.0141874 0.999899 0 outer loop - vertex -17.6327 -35.8892 -0.2 - vertex -17.6869 -35.8223 0 - vertex -17.6869 -35.8223 -0.2 + vertex -17.5781 -38.0841 -3 + vertex -20.8226 -38.1301 0 + vertex -17.5781 -38.0841 0 endloop endfacet - facet normal -0.776679 -0.629897 0 + facet normal -0.0141874 0.999899 0 outer loop - vertex -17.6869 -35.8223 0 - vertex -17.6327 -35.8892 -0.2 - vertex -17.6327 -35.8892 0 + vertex -20.8226 -38.1301 0 + vertex -17.5781 -38.0841 -3 + vertex -20.8226 -38.1301 -3 endloop endfacet - facet normal -0.532937 -0.846155 0 + facet normal 0.0314237 0.999506 -0 outer loop - vertex -17.6327 -35.8892 -0.2 - vertex -17.5603 -35.9348 0 - vertex -17.6327 -35.8892 0 + vertex -20.8226 -38.1301 -3 + vertex -24.8096 -38.0047 0 + vertex -20.8226 -38.1301 0 endloop endfacet - facet normal -0.532937 -0.846155 -0 + facet normal 0.0314237 0.999506 0 outer loop - vertex -17.5603 -35.9348 0 - vertex -17.6327 -35.8892 -0.2 - vertex -17.5603 -35.9348 -0.2 + vertex -24.8096 -38.0047 0 + vertex -20.8226 -38.1301 -3 + vertex -24.8096 -38.0047 -3 endloop endfacet - facet normal -0.277484 -0.96073 0 + facet normal 0.544713 0.838623 -0 outer loop - vertex -17.5603 -35.9348 -0.2 - vertex -17.4702 -35.9608 0 - vertex -17.5603 -35.9348 0 + vertex -24.8096 -38.0047 -3 + vertex -25.0608 -37.8416 0 + vertex -24.8096 -38.0047 0 endloop endfacet - facet normal -0.277484 -0.96073 -0 + facet normal 0.544713 0.838623 0 outer loop - vertex -17.4702 -35.9608 0 - vertex -17.5603 -35.9348 -0.2 - vertex -17.4702 -35.9608 -0.2 + vertex -25.0608 -37.8416 0 + vertex -24.8096 -38.0047 -3 + vertex -25.0608 -37.8416 -3 endloop endfacet - facet normal -0.0767033 -0.997054 0 + facet normal 0.940452 0.339927 0 outer loop - vertex -17.4702 -35.9608 -0.2 - vertex -17.3625 -35.9691 0 - vertex -17.4702 -35.9608 0 + vertex -25.0608 -37.8416 0 + vertex -25.157 -37.5754 -3 + vertex -25.157 -37.5754 0 endloop endfacet - facet normal -0.0767033 -0.997054 -0 + facet normal 0.940452 0.339927 0 outer loop - vertex -17.3625 -35.9691 0 - vertex -17.4702 -35.9608 -0.2 - vertex -17.3625 -35.9691 -0.2 + vertex -25.157 -37.5754 -3 + vertex -25.0608 -37.8416 0 + vertex -25.0608 -37.8416 -3 endloop endfacet - facet normal -0.0829709 -0.996552 0 + facet normal 0.964896 -0.262631 0 outer loop - vertex -17.3625 -35.9691 -0.2 - vertex -17.1493 -35.9869 0 - vertex -17.3625 -35.9691 0 + vertex -25.157 -37.5754 0 + vertex -24.9699 -36.888 -3 + vertex -24.9699 -36.888 0 endloop endfacet - facet normal -0.0829709 -0.996552 -0 + facet normal 0.964896 -0.262631 0 outer loop - vertex -17.1493 -35.9869 0 - vertex -17.3625 -35.9691 -0.2 - vertex -17.1493 -35.9869 -0.2 + vertex -24.9699 -36.888 -3 + vertex -25.157 -37.5754 0 + vertex -25.157 -37.5754 -3 endloop endfacet - facet normal -0.234852 -0.972031 0 + facet normal 0.757107 -0.653291 0 outer loop - vertex -17.1493 -35.9869 -0.2 - vertex -16.942 -36.0369 0 - vertex -17.1493 -35.9869 0 + vertex -24.9699 -36.888 0 + vertex -24.4194 -36.2501 -3 + vertex -24.4194 -36.2501 0 endloop endfacet - facet normal -0.234852 -0.972031 -0 + facet normal 0.757107 -0.653291 0 outer loop - vertex -16.942 -36.0369 0 - vertex -17.1493 -35.9869 -0.2 - vertex -16.942 -36.0369 -0.2 + vertex -24.4194 -36.2501 -3 + vertex -24.9699 -36.888 0 + vertex -24.9699 -36.888 -3 endloop endfacet - facet normal -0.371048 -0.928614 0 + facet normal 0.353851 -0.935302 0 outer loop - vertex -16.942 -36.0369 -0.2 - vertex -16.7476 -36.1146 0 - vertex -16.942 -36.0369 0 + vertex -24.4194 -36.2501 -3 + vertex -23.6767 -35.9691 0 + vertex -24.4194 -36.2501 0 endloop endfacet - facet normal -0.371048 -0.928614 -0 + facet normal 0.353851 -0.935302 0 outer loop - vertex -16.7476 -36.1146 0 - vertex -16.942 -36.0369 -0.2 - vertex -16.7476 -36.1146 -0.2 + vertex -23.6767 -35.9691 0 + vertex -24.4194 -36.2501 -3 + vertex -23.6767 -35.9691 -3 endloop endfacet - facet normal -0.499006 -0.866599 0 + facet normal 0.158077 -0.987427 0 outer loop - vertex -16.7476 -36.1146 -0.2 - vertex -16.5729 -36.2152 0 - vertex -16.7476 -36.1146 0 + vertex -23.6767 -35.9691 -3 + vertex -23.007 -35.8619 0 + vertex -23.6767 -35.9691 0 endloop endfacet - facet normal -0.499006 -0.866599 -0 + facet normal 0.158077 -0.987427 0 outer loop - vertex -16.5729 -36.2152 0 - vertex -16.7476 -36.1146 -0.2 - vertex -16.5729 -36.2152 -0.2 + vertex -23.007 -35.8619 0 + vertex -23.6767 -35.9691 -3 + vertex -23.007 -35.8619 -3 endloop endfacet - facet normal -0.625925 -0.779883 0 + facet normal 0.593681 -0.8047 0 outer loop - vertex -16.5729 -36.2152 -0.2 - vertex -16.4249 -36.334 0 - vertex -16.5729 -36.2152 0 + vertex -23.007 -35.8619 -3 + vertex -22.458 -35.4568 0 + vertex -23.007 -35.8619 0 endloop endfacet - facet normal -0.625925 -0.779883 -0 + facet normal 0.593681 -0.8047 0 outer loop - vertex -16.4249 -36.334 0 - vertex -16.5729 -36.2152 -0.2 - vertex -16.4249 -36.334 -0.2 + vertex -22.458 -35.4568 0 + vertex -23.007 -35.8619 -3 + vertex -22.458 -35.4568 -3 endloop endfacet - facet normal -0.756453 -0.654048 0 + facet normal 0.83817 -0.545409 0 outer loop - vertex -16.3106 -36.4662 -0.2 - vertex -16.4249 -36.334 0 - vertex -16.4249 -36.334 -0.2 + vertex -22.458 -35.4568 0 + vertex -21.9191 -34.6287 -3 + vertex -21.9191 -34.6287 0 endloop endfacet - facet normal -0.756453 -0.654048 0 + facet normal 0.83817 -0.545409 0 outer loop - vertex -16.4249 -36.334 0 - vertex -16.3106 -36.4662 -0.2 - vertex -16.3106 -36.4662 0 + vertex -21.9191 -34.6287 -3 + vertex -22.458 -35.4568 0 + vertex -22.458 -35.4568 -3 endloop endfacet - facet normal -0.886186 -0.46333 0 + facet normal 0.906982 -0.42117 0 outer loop - vertex -16.237 -36.6071 -0.2 - vertex -16.3106 -36.4662 0 - vertex -16.3106 -36.4662 -0.2 + vertex -21.9191 -34.6287 0 + vertex -21.28 -33.2523 -3 + vertex -21.28 -33.2523 0 endloop endfacet - facet normal -0.886186 -0.46333 0 + facet normal 0.906982 -0.42117 0 outer loop - vertex -16.3106 -36.4662 0 - vertex -16.237 -36.6071 -0.2 - vertex -16.237 -36.6071 0 + vertex -21.28 -33.2523 -3 + vertex -21.9191 -34.6287 0 + vertex -21.9191 -34.6287 -3 endloop endfacet - facet normal -0.984159 -0.177288 0 + facet normal 0.922958 -0.384901 0 outer loop - vertex -16.2109 -36.752 -0.2 - vertex -16.237 -36.6071 0 - vertex -16.237 -36.6071 -0.2 + vertex -21.28 -33.2523 0 + vertex -18.5428 -26.6889 -3 + vertex -18.5428 -26.6889 0 endloop endfacet - facet normal -0.984159 -0.177288 0 + facet normal 0.922958 -0.384901 0 outer loop - vertex -16.237 -36.6071 0 - vertex -16.2109 -36.752 -0.2 - vertex -16.2109 -36.752 0 + vertex -18.5428 -26.6889 -3 + vertex -21.28 -33.2523 0 + vertex -21.28 -33.2523 -3 endloop endfacet - facet normal -0.97657 0.215201 0 + facet normal 0.9376 -0.347716 0 outer loop - vertex -16.2485 -36.9225 -0.2 - vertex -16.2109 -36.752 0 - vertex -16.2109 -36.752 -0.2 + vertex -18.5428 -26.6889 0 + vertex -17.299 -23.335 -3 + vertex -17.299 -23.335 0 endloop endfacet - facet normal -0.97657 0.215201 0 + facet normal 0.9376 -0.347716 0 outer loop - vertex -16.2109 -36.752 0 - vertex -16.2485 -36.9225 -0.2 - vertex -16.2485 -36.9225 0 + vertex -17.299 -23.335 -3 + vertex -18.5428 -26.6889 0 + vertex -18.5428 -26.6889 -3 endloop endfacet - facet normal -0.906917 0.42131 0 + facet normal 0.99882 -0.0485627 0 outer loop - vertex -16.3508 -37.1428 -0.2 - vertex -16.2485 -36.9225 0 - vertex -16.2485 -36.9225 -0.2 + vertex -17.299 -23.335 0 + vertex -17.2695 -22.7276 -3 + vertex -17.2695 -22.7276 0 endloop endfacet - facet normal -0.906917 0.42131 0 + facet normal 0.99882 -0.0485627 0 outer loop - vertex -16.2485 -36.9225 0 - vertex -16.3508 -37.1428 -0.2 - vertex -16.3508 -37.1428 0 + vertex -17.2695 -22.7276 -3 + vertex -17.299 -23.335 0 + vertex -17.299 -23.335 -3 endloop endfacet - facet normal -0.847258 0.531182 0 + facet normal 0.171081 0.985257 -0 outer loop - vertex -16.5023 -37.3844 -0.2 - vertex -16.3508 -37.1428 0 - vertex -16.3508 -37.1428 -0.2 + vertex -17.2695 -22.7276 -3 + vertex -17.8179 -22.6324 0 + vertex -17.2695 -22.7276 0 endloop endfacet - facet normal -0.847258 0.531182 0 + facet normal 0.171081 0.985257 0 outer loop - vertex -16.3508 -37.1428 0 - vertex -16.5023 -37.3844 -0.2 - vertex -16.5023 -37.3844 0 + vertex -17.8179 -22.6324 0 + vertex -17.2695 -22.7276 -3 + vertex -17.8179 -22.6324 -3 endloop endfacet - facet normal -0.785088 0.619384 0 + facet normal 0.112446 0.993658 -0 outer loop - vertex -16.6872 -37.6188 -0.2 - vertex -16.5023 -37.3844 0 - vertex -16.5023 -37.3844 -0.2 + vertex -17.8179 -22.6324 -3 + vertex -18.3659 -22.5704 0 + vertex -17.8179 -22.6324 0 endloop endfacet - facet normal -0.785088 0.619384 0 + facet normal 0.112446 0.993658 0 outer loop - vertex -16.5023 -37.3844 0 - vertex -16.6872 -37.6188 -0.2 - vertex -16.6872 -37.6188 0 + vertex -18.3659 -22.5704 0 + vertex -17.8179 -22.6324 -3 + vertex -18.3659 -22.5704 -3 endloop endfacet - facet normal -0.731213 0.68215 0 + facet normal 0.520189 0.854051 -0 outer loop - vertex -16.8516 -37.795 -0.2 - vertex -16.6872 -37.6188 0 - vertex -16.6872 -37.6188 -0.2 + vertex -18.3659 -22.5704 -3 + vertex -18.6886 -22.3738 0 + vertex -18.3659 -22.5704 0 endloop endfacet - facet normal -0.731213 0.68215 0 + facet normal 0.520189 0.854051 0 outer loop - vertex -16.6872 -37.6188 0 - vertex -16.8516 -37.795 -0.2 - vertex -16.8516 -37.795 0 + vertex -18.6886 -22.3738 0 + vertex -18.3659 -22.5704 -3 + vertex -18.6886 -22.3738 -3 endloop endfacet - facet normal -0.615138 0.78842 0 + facet normal 0.953226 0.302258 0 outer loop - vertex -16.8516 -37.795 -0.2 - vertex -17.0213 -37.9274 0 - vertex -16.8516 -37.795 0 + vertex -18.6886 -22.3738 0 + vertex -18.7986 -22.0269 -3 + vertex -18.7986 -22.0269 0 endloop endfacet - facet normal -0.615138 0.78842 0 + facet normal 0.953226 0.302258 0 outer loop - vertex -17.0213 -37.9274 0 - vertex -16.8516 -37.795 -0.2 - vertex -17.0213 -37.9274 -0.2 + vertex -18.7986 -22.0269 -3 + vertex -18.6886 -22.3738 0 + vertex -18.6886 -22.3738 -3 endloop endfacet - facet normal -0.390611 0.920556 0 + facet normal 0.984904 -0.1731 0 outer loop - vertex -17.0213 -37.9274 -0.2 - vertex -17.2437 -38.0218 0 - vertex -17.0213 -37.9274 0 + vertex -18.7986 -22.0269 0 + vertex -18.7084 -21.5139 -3 + vertex -18.7084 -21.5139 0 endloop endfacet - facet normal -0.390611 0.920556 0 + facet normal 0.984904 -0.1731 0 outer loop - vertex -17.2437 -38.0218 0 - vertex -17.0213 -37.9274 -0.2 - vertex -17.2437 -38.0218 -0.2 + vertex -18.7084 -21.5139 -3 + vertex -18.7986 -22.0269 0 + vertex -18.7986 -22.0269 -3 endloop endfacet - facet normal -0.189492 0.981882 0 + facet normal 0.878265 -0.478174 0 outer loop - vertex -17.2437 -38.0218 -0.2 - vertex -17.5664 -38.0841 0 - vertex -17.2437 -38.0218 0 + vertex -18.7084 -21.5139 0 + vertex -18.4336 -21.0091 -3 + vertex -18.4336 -21.0091 0 endloop endfacet - facet normal -0.189492 0.981882 0 + facet normal 0.878265 -0.478174 0 outer loop - vertex -17.5664 -38.0841 0 - vertex -17.2437 -38.0218 -0.2 - vertex -17.5664 -38.0841 -0.2 + vertex -18.4336 -21.0091 -3 + vertex -18.7084 -21.5139 0 + vertex -18.7084 -21.5139 -3 endloop endfacet - facet normal -0.0764443 0.997074 0 + facet normal 0.488581 -0.872518 0 outer loop - vertex -17.5664 -38.0841 -0.2 - vertex -18.0369 -38.1201 0 - vertex -17.5664 -38.0841 0 + vertex -18.4336 -21.0091 -3 + vertex -17.9982 -20.7653 0 + vertex -18.4336 -21.0091 0 endloop endfacet - facet normal -0.0764443 0.997074 0 + facet normal 0.488581 -0.872518 0 outer loop - vertex -18.0369 -38.1201 0 - vertex -17.5664 -38.0841 -0.2 - vertex -18.0369 -38.1201 -0.2 + vertex -17.9982 -20.7653 0 + vertex -18.4336 -21.0091 -3 + vertex -17.9982 -20.7653 -3 endloop endfacet - facet normal -0.0236695 0.99972 0 + facet normal 0.293895 -0.955838 0 outer loop - vertex -18.0369 -38.1201 -0.2 - vertex -18.7028 -38.1359 0 - vertex -18.0369 -38.1201 0 + vertex -17.9982 -20.7653 -3 + vertex -15.1553 -19.8912 0 + vertex -17.9982 -20.7653 0 endloop endfacet - facet normal -0.0236695 0.99972 0 + facet normal 0.293895 -0.955838 0 outer loop - vertex -18.7028 -38.1359 0 - vertex -18.0369 -38.1201 -0.2 - vertex -18.7028 -38.1359 -0.2 + vertex -15.1553 -19.8912 0 + vertex -17.9982 -20.7653 -3 + vertex -15.1553 -19.8912 -3 endloop endfacet - facet normal 0.00275597 0.999996 -0 + facet normal 0.257693 -0.966227 0 outer loop - vertex -18.7028 -38.1359 -0.2 - vertex -20.8109 -38.1301 0 - vertex -18.7028 -38.1359 0 + vertex -15.1553 -19.8912 -3 + vertex -12.3137 -19.1333 0 + vertex -15.1553 -19.8912 0 endloop endfacet - facet normal 0.00275597 0.999996 0 + facet normal 0.257693 -0.966227 0 outer loop - vertex -20.8109 -38.1301 0 - vertex -18.7028 -38.1359 -0.2 - vertex -20.8109 -38.1301 -0.2 + vertex -12.3137 -19.1333 0 + vertex -15.1553 -19.8912 -3 + vertex -12.3137 -19.1333 -3 endloop endfacet - facet normal 0.0176671 0.999844 -0 + facet normal -0.225556 -0.97423 0 outer loop - vertex -20.8109 -38.1301 -0.2 - vertex -23.4866 -38.0828 0 - vertex -20.8109 -38.1301 0 + vertex -12.3137 -19.1333 -3 + vertex -11.9141 -19.2259 0 + vertex -12.3137 -19.1333 0 endloop endfacet - facet normal 0.0176671 0.999844 0 + facet normal -0.225556 -0.97423 -0 outer loop - vertex -23.4866 -38.0828 0 - vertex -20.8109 -38.1301 -0.2 - vertex -23.4866 -38.0828 -0.2 + vertex -11.9141 -19.2259 0 + vertex -12.3137 -19.1333 -3 + vertex -11.9141 -19.2259 -3 endloop endfacet - facet normal 0.0417305 0.999129 -0 + facet normal -0.569265 -0.822154 0 outer loop - vertex -23.4866 -38.0828 -0.2 - vertex -24.3782 -38.0456 0 - vertex -23.4866 -38.0828 0 + vertex 47.2139 -19.2263 -3 + vertex 47.7267 -19.5813 0 + vertex 47.2139 -19.2263 0 endloop endfacet - facet normal 0.0417305 0.999129 0 + facet normal -0.569265 -0.822154 -0 outer loop - vertex -24.3782 -38.0456 0 - vertex -23.4866 -38.0828 -0.2 - vertex -24.3782 -38.0456 -0.2 + vertex 47.7267 -19.5813 0 + vertex 47.2139 -19.2263 -3 + vertex 47.7267 -19.5813 -3 endloop endfacet - facet normal 0.0968237 0.995302 -0 + facet normal -0.900824 -0.434184 0 outer loop - vertex -24.3782 -38.0456 -0.2 - vertex -24.7978 -38.0047 0 - vertex -24.3782 -38.0456 0 + vertex 47.9875 -20.1225 -3 + vertex 47.7267 -19.5813 0 + vertex 47.7267 -19.5813 -3 endloop endfacet - facet normal 0.0968237 0.995302 0 + facet normal -0.900824 -0.434184 0 outer loop - vertex -24.7978 -38.0047 0 - vertex -24.3782 -38.0456 -0.2 - vertex -24.7978 -38.0047 -0.2 + vertex 47.7267 -19.5813 0 + vertex 47.9875 -20.1225 -3 + vertex 47.9875 -20.1225 0 endloop endfacet - facet normal 0.412814 0.910815 -0 + facet normal -0.988067 0.154023 0 outer loop - vertex -24.7978 -38.0047 -0.2 - vertex -24.9442 -37.9384 0 - vertex -24.7978 -38.0047 0 + vertex 47.8425 -21.0531 -3 + vertex 47.9875 -20.1225 0 + vertex 47.9875 -20.1225 -3 endloop endfacet - facet normal 0.412814 0.910815 0 + facet normal -0.988067 0.154023 0 outer loop - vertex -24.9442 -37.9384 0 - vertex -24.7978 -38.0047 -0.2 - vertex -24.9442 -37.9384 -0.2 + vertex 47.9875 -20.1225 0 + vertex 47.8425 -21.0531 -3 + vertex 47.8425 -21.0531 0 endloop endfacet - facet normal 0.678412 0.734682 -0 + facet normal -0.94959 0.313495 0 outer loop - vertex -24.9442 -37.9384 -0.2 - vertex -25.0491 -37.8416 0 - vertex -24.9442 -37.9384 0 + vertex 47.5305 -21.9981 -3 + vertex 47.8425 -21.0531 0 + vertex 47.8425 -21.0531 -3 endloop endfacet - facet normal 0.678412 0.734682 0 + facet normal -0.94959 0.313495 0 outer loop - vertex -25.0491 -37.8416 0 - vertex -24.9442 -37.9384 -0.2 - vertex -25.0491 -37.8416 -0.2 + vertex 47.8425 -21.0531 0 + vertex 47.5305 -21.9981 -3 + vertex 47.5305 -21.9981 0 endloop endfacet - facet normal 0.880101 0.474787 0 + facet normal -0.87808 0.478513 0 outer loop - vertex -25.0491 -37.8416 0 - vertex -25.1152 -37.719 -0.2 - vertex -25.1152 -37.719 0 + vertex 47.0957 -22.796 -3 + vertex 47.5305 -21.9981 0 + vertex 47.5305 -21.9981 -3 endloop endfacet - facet normal 0.880101 0.474787 0 + facet normal -0.87808 0.478513 0 outer loop - vertex -25.1152 -37.719 -0.2 - vertex -25.0491 -37.8416 0 - vertex -25.0491 -37.8416 -0.2 + vertex 47.5305 -21.9981 0 + vertex 47.0957 -22.796 -3 + vertex 47.0957 -22.796 0 endloop endfacet - facet normal 0.978769 0.204965 0 + facet normal -0.768497 0.639853 0 outer loop - vertex -25.1152 -37.719 0 - vertex -25.1453 -37.5754 -0.2 - vertex -25.1453 -37.5754 0 + vertex 46.5684 -23.4293 -3 + vertex 47.0957 -22.796 0 + vertex 47.0957 -22.796 -3 endloop endfacet - facet normal 0.978769 0.204965 0 + facet normal -0.768497 0.639853 0 outer loop - vertex -25.1453 -37.5754 -0.2 - vertex -25.1152 -37.719 0 - vertex -25.1152 -37.719 -0.2 + vertex 47.0957 -22.796 0 + vertex 46.5684 -23.4293 -3 + vertex 46.5684 -23.4293 0 endloop endfacet - facet normal 0.99978 -0.0209726 0 + facet normal -0.607748 0.79413 0 outer loop - vertex -25.1453 -37.5754 0 - vertex -25.1419 -37.4158 -0.2 - vertex -25.1419 -37.4158 0 + vertex 46.5684 -23.4293 -3 + vertex 45.9792 -23.8802 0 + vertex 46.5684 -23.4293 0 endloop endfacet - facet normal 0.99978 -0.0209726 0 + facet normal -0.607748 0.79413 0 outer loop - vertex -25.1419 -37.4158 -0.2 - vertex -25.1453 -37.5754 0 - vertex -25.1453 -37.5754 -0.2 + vertex 45.9792 -23.8802 0 + vertex 46.5684 -23.4293 -3 + vertex 45.9792 -23.8802 -3 endloop endfacet - facet normal 0.980708 -0.195479 0 + facet normal -0.374765 0.92712 0 outer loop - vertex -25.1419 -37.4158 0 - vertex -25.1078 -37.2448 -0.2 - vertex -25.1078 -37.2448 0 + vertex 45.9792 -23.8802 -3 + vertex 45.3585 -24.1311 0 + vertex 45.9792 -23.8802 0 endloop endfacet - facet normal 0.980708 -0.195479 0 + facet normal -0.374765 0.92712 0 outer loop - vertex -25.1078 -37.2448 -0.2 - vertex -25.1419 -37.4158 0 - vertex -25.1419 -37.4158 -0.2 + vertex 45.3585 -24.1311 0 + vertex 45.9792 -23.8802 -3 + vertex 45.3585 -24.1311 -3 endloop endfacet - facet normal 0.94384 -0.330404 0 + facet normal -0.0533306 0.998577 0 outer loop - vertex -25.1078 -37.2448 0 - vertex -25.0457 -37.0673 -0.2 - vertex -25.0457 -37.0673 0 + vertex 45.3585 -24.1311 -3 + vertex 44.7368 -24.1643 0 + vertex 45.3585 -24.1311 0 endloop endfacet - facet normal 0.94384 -0.330404 0 + facet normal -0.0533306 0.998577 0 outer loop - vertex -25.0457 -37.0673 -0.2 - vertex -25.1078 -37.2448 0 - vertex -25.1078 -37.2448 -0.2 + vertex 44.7368 -24.1643 0 + vertex 45.3585 -24.1311 -3 + vertex 44.7368 -24.1643 -3 endloop endfacet - facet normal 0.898573 -0.438825 0 + facet normal 0.323025 0.94639 -0 outer loop - vertex -25.0457 -37.0673 0 - vertex -24.9582 -36.888 -0.2 - vertex -24.9582 -36.888 0 + vertex 44.7368 -24.1643 -3 + vertex 44.1445 -23.9621 0 + vertex 44.7368 -24.1643 0 endloop endfacet - facet normal 0.898573 -0.438825 0 + facet normal 0.323025 0.94639 0 outer loop - vertex -24.9582 -36.888 -0.2 - vertex -25.0457 -37.0673 0 - vertex -25.0457 -37.0673 -0.2 + vertex 44.1445 -23.9621 0 + vertex 44.7368 -24.1643 -3 + vertex 44.1445 -23.9621 -3 endloop endfacet - facet normal 0.847669 -0.530525 0 + facet normal 0.649875 0.760041 -0 outer loop - vertex -24.9582 -36.888 0 - vertex -24.8479 -36.7119 -0.2 - vertex -24.8479 -36.7119 0 + vertex 44.1445 -23.9621 -3 + vertex 43.6122 -23.5069 0 + vertex 44.1445 -23.9621 0 endloop endfacet - facet normal 0.847669 -0.530525 0 + facet normal 0.649875 0.760041 0 outer loop - vertex -24.8479 -36.7119 -0.2 - vertex -24.9582 -36.888 0 - vertex -24.9582 -36.888 -0.2 + vertex 43.6122 -23.5069 0 + vertex 44.1445 -23.9621 -3 + vertex 43.6122 -23.5069 -3 endloop endfacet - facet normal 0.790663 -0.612252 0 + facet normal 0.613628 0.789596 -0 outer loop - vertex -24.8479 -36.7119 0 - vertex -24.7177 -36.5437 -0.2 - vertex -24.7177 -36.5437 0 + vertex 43.6122 -23.5069 -3 + vertex 42.7682 -22.851 0 + vertex 43.6122 -23.5069 0 endloop endfacet - facet normal 0.790663 -0.612252 0 + facet normal 0.613628 0.789596 0 outer loop - vertex -24.7177 -36.5437 -0.2 - vertex -24.8479 -36.7119 0 - vertex -24.8479 -36.7119 -0.2 + vertex 42.7682 -22.851 0 + vertex 43.6122 -23.5069 -3 + vertex 42.7682 -22.851 -3 endloop endfacet - facet normal 0.7253 -0.688433 0 + facet normal -0.589043 0.808102 0 outer loop - vertex -24.7177 -36.5437 0 - vertex -24.57 -36.3881 -0.2 - vertex -24.57 -36.3881 0 + vertex 42.7682 -22.851 -3 + vertex 41.2986 -23.9223 0 + vertex 42.7682 -22.851 0 endloop endfacet - facet normal 0.7253 -0.688433 0 + facet normal -0.589043 0.808102 0 outer loop - vertex -24.57 -36.3881 -0.2 - vertex -24.7177 -36.5437 0 - vertex -24.7177 -36.5437 -0.2 + vertex 41.2986 -23.9223 0 + vertex 42.7682 -22.851 -3 + vertex 41.2986 -23.9223 -3 endloop endfacet - facet normal 0.647808 -0.761803 0 + facet normal -0.701303 0.712864 0 outer loop - vertex -24.57 -36.3881 -0.2 - vertex -24.4077 -36.2501 0 - vertex -24.57 -36.3881 0 + vertex 41.2986 -23.9223 -3 + vertex 40.5923 -24.6171 0 + vertex 41.2986 -23.9223 0 endloop endfacet - facet normal 0.647808 -0.761803 0 + facet normal -0.701303 0.712864 0 outer loop - vertex -24.4077 -36.2501 0 - vertex -24.57 -36.3881 -0.2 - vertex -24.4077 -36.2501 -0.2 + vertex 40.5923 -24.6171 0 + vertex 41.2986 -23.9223 -3 + vertex 40.5923 -24.6171 -3 endloop endfacet - facet normal 0.553033 -0.833159 0 + facet normal -0.831353 0.555744 0 outer loop - vertex -24.4077 -36.2501 -0.2 - vertex -24.2334 -36.1344 0 - vertex -24.4077 -36.2501 0 + vertex 40.0289 -25.46 -3 + vertex 40.5923 -24.6171 0 + vertex 40.5923 -24.6171 -3 endloop endfacet - facet normal 0.553033 -0.833159 0 + facet normal -0.831353 0.555744 0 outer loop - vertex -24.2334 -36.1344 0 - vertex -24.4077 -36.2501 -0.2 - vertex -24.2334 -36.1344 -0.2 + vertex 40.5923 -24.6171 0 + vertex 40.0289 -25.46 -3 + vertex 40.0289 -25.46 0 endloop endfacet - facet normal 0.434505 -0.900669 0 + facet normal -0.918395 0.395664 0 outer loop - vertex -24.2334 -36.1344 -0.2 - vertex -24.0497 -36.0458 0 - vertex -24.2334 -36.1344 0 + vertex 38.2188 -29.6614 -3 + vertex 40.0289 -25.46 0 + vertex 40.0289 -25.46 -3 endloop endfacet - facet normal 0.434505 -0.900669 0 + facet normal -0.918395 0.395664 0 outer loop - vertex -24.0497 -36.0458 0 - vertex -24.2334 -36.1344 -0.2 - vertex -24.0497 -36.0458 -0.2 + vertex 40.0289 -25.46 0 + vertex 38.2188 -29.6614 -3 + vertex 38.2188 -29.6614 0 endloop endfacet - facet normal 0.285417 -0.958403 0 + facet normal -0.932877 0.360196 0 outer loop - vertex -24.0497 -36.0458 -0.2 - vertex -23.8593 -35.9891 0 - vertex -24.0497 -36.0458 0 + vertex 36.8272 -33.2656 -3 + vertex 38.2188 -29.6614 0 + vertex 38.2188 -29.6614 -3 endloop endfacet - facet normal 0.285417 -0.958403 0 + facet normal -0.932877 0.360196 0 outer loop - vertex -23.8593 -35.9891 0 - vertex -24.0497 -36.0458 -0.2 - vertex -23.8593 -35.9891 -0.2 + vertex 38.2188 -29.6614 0 + vertex 36.8272 -33.2656 -3 + vertex 36.8272 -33.2656 0 endloop endfacet - facet normal 0.1022 -0.994764 0 + facet normal -0.959728 0.28093 0 outer loop - vertex -23.8593 -35.9891 -0.2 - vertex -23.665 -35.9691 0 - vertex -23.8593 -35.9891 0 + vertex 36.2918 -35.0946 -3 + vertex 36.8272 -33.2656 0 + vertex 36.8272 -33.2656 -3 endloop endfacet - facet normal 0.1022 -0.994764 0 + facet normal -0.959728 0.28093 0 outer loop - vertex -23.665 -35.9691 0 - vertex -23.8593 -35.9891 -0.2 - vertex -23.665 -35.9691 -0.2 + vertex 36.8272 -33.2656 0 + vertex 36.2918 -35.0946 -3 + vertex 36.2918 -35.0946 0 endloop endfacet - facet normal 0.0676467 -0.997709 0 + facet normal -0.988492 -0.151276 0 outer loop - vertex -23.665 -35.9691 -0.2 - vertex -23.3082 -35.9449 0 - vertex -23.665 -35.9691 0 + vertex 36.3972 -35.7834 -3 + vertex 36.2918 -35.0946 0 + vertex 36.2918 -35.0946 -3 endloop endfacet - facet normal 0.0676467 -0.997709 0 + facet normal -0.988492 -0.151276 0 outer loop - vertex -23.3082 -35.9449 0 - vertex -23.665 -35.9691 -0.2 - vertex -23.3082 -35.9449 -0.2 + vertex 36.2918 -35.0946 0 + vertex 36.3972 -35.7834 -3 + vertex 36.3972 -35.7834 0 endloop endfacet - facet normal 0.201749 -0.979437 0 + facet normal -0.329373 -0.9442 0 outer loop - vertex -23.3082 -35.9449 -0.2 - vertex -23.1471 -35.9117 0 - vertex -23.3082 -35.9449 0 + vertex 36.3972 -35.7834 -3 + vertex 37.1913 -36.0604 0 + vertex 36.3972 -35.7834 0 endloop endfacet - facet normal 0.201749 -0.979437 0 + facet normal -0.329373 -0.9442 -0 outer loop - vertex -23.1471 -35.9117 0 - vertex -23.3082 -35.9449 -0.2 - vertex -23.1471 -35.9117 -0.2 + vertex 37.1913 -36.0604 0 + vertex 36.3972 -35.7834 -3 + vertex 37.1913 -36.0604 -3 endloop endfacet - facet normal 0.311945 -0.9501 0 + facet normal -0.323821 -0.946118 0 outer loop - vertex -23.1471 -35.9117 -0.2 - vertex -22.9953 -35.8619 0 - vertex -23.1471 -35.9117 0 + vertex 37.1913 -36.0604 -3 + vertex 37.9618 -36.3241 0 + vertex 37.1913 -36.0604 0 endloop endfacet - facet normal 0.311945 -0.9501 0 + facet normal -0.323821 -0.946118 -0 outer loop - vertex -22.9953 -35.8619 0 - vertex -23.1471 -35.9117 -0.2 - vertex -22.9953 -35.8619 -0.2 + vertex 37.9618 -36.3241 0 + vertex 37.1913 -36.0604 -3 + vertex 37.9618 -36.3241 -3 endloop endfacet - facet normal 0.428709 -0.903443 0 + facet normal -0.960551 -0.278105 0 outer loop - vertex -22.9953 -35.8619 -0.2 - vertex -22.8511 -35.7934 0 - vertex -22.9953 -35.8619 0 + vertex 38.113 -36.8464 -3 + vertex 37.9618 -36.3241 0 + vertex 37.9618 -36.3241 -3 endloop endfacet - facet normal 0.428709 -0.903443 0 + facet normal -0.960551 -0.278105 0 outer loop - vertex -22.8511 -35.7934 0 - vertex -22.9953 -35.8619 -0.2 - vertex -22.8511 -35.7934 -0.2 + vertex 37.9618 -36.3241 0 + vertex 38.113 -36.8464 -3 + vertex 38.113 -36.8464 0 endloop endfacet - facet normal 0.540869 -0.841107 0 + facet normal -0.986742 0.162295 0 outer loop - vertex -22.8511 -35.7934 -0.2 - vertex -22.7126 -35.7044 0 - vertex -22.8511 -35.7934 0 + vertex 37.9939 -37.5705 -3 + vertex 38.113 -36.8464 0 + vertex 38.113 -36.8464 -3 endloop endfacet - facet normal 0.540869 -0.841107 0 + facet normal -0.986742 0.162295 0 outer loop - vertex -22.7126 -35.7044 0 - vertex -22.8511 -35.7934 -0.2 - vertex -22.7126 -35.7044 -0.2 + vertex 38.113 -36.8464 0 + vertex 37.9939 -37.5705 -3 + vertex 37.9939 -37.5705 0 endloop endfacet - facet normal 0.638801 -0.769372 0 + facet normal -0.539022 0.842292 0 outer loop - vertex -22.7126 -35.7044 -0.2 - vertex -22.5782 -35.5929 0 - vertex -22.7126 -35.7044 0 + vertex 37.9939 -37.5705 -3 + vertex 37.381 -37.9628 0 + vertex 37.9939 -37.5705 0 endloop endfacet - facet normal 0.638801 -0.769372 0 + facet normal -0.539022 0.842292 0 outer loop - vertex -22.5782 -35.5929 0 - vertex -22.7126 -35.7044 -0.2 - vertex -22.5782 -35.5929 -0.2 + vertex 37.381 -37.9628 0 + vertex 37.9939 -37.5705 -3 + vertex 37.381 -37.9628 -3 endloop endfacet - facet normal 0.717693 -0.69636 0 + facet normal -0.10763 0.994191 0 outer loop - vertex -22.5782 -35.5929 0 - vertex -22.4463 -35.4568 -0.2 - vertex -22.4463 -35.4568 0 + vertex 37.381 -37.9628 -3 + vertex 35.8907 -38.1241 0 + vertex 37.381 -37.9628 0 endloop endfacet - facet normal 0.717693 -0.69636 0 + facet normal -0.10763 0.994191 0 outer loop - vertex -22.4463 -35.4568 -0.2 - vertex -22.5782 -35.5929 0 - vertex -22.5782 -35.5929 -0.2 + vertex 35.8907 -38.1241 0 + vertex 37.381 -37.9628 -3 + vertex 35.8907 -38.1241 -3 endloop endfacet - facet normal 0.801318 -0.598238 0 + facet normal -0.0113945 0.999935 0 outer loop - vertex -22.4463 -35.4568 0 - vertex -22.1824 -35.1035 -0.2 - vertex -22.1824 -35.1035 0 + vertex 35.8907 -38.1241 -3 + vertex 33.1396 -38.1555 0 + vertex 35.8907 -38.1241 0 endloop endfacet - facet normal 0.801318 -0.598238 0 + facet normal -0.0113945 0.999935 0 outer loop - vertex -22.1824 -35.1035 -0.2 - vertex -22.4463 -35.4568 0 - vertex -22.4463 -35.4568 -0.2 + vertex 33.1396 -38.1555 0 + vertex 35.8907 -38.1241 -3 + vertex 33.1396 -38.1555 -3 endloop endfacet - facet normal 0.865265 -0.501314 0 + facet normal 0.0181925 0.999835 -0 outer loop - vertex -22.1824 -35.1035 0 - vertex -21.9074 -34.6287 -0.2 - vertex -21.9074 -34.6287 0 + vertex 33.1396 -38.1555 -3 + vertex 29.8074 -38.0948 0 + vertex 33.1396 -38.1555 0 endloop endfacet - facet normal 0.865265 -0.501314 0 + facet normal 0.0181925 0.999835 0 outer loop - vertex -21.9074 -34.6287 -0.2 - vertex -22.1824 -35.1035 0 - vertex -22.1824 -35.1035 -0.2 + vertex 29.8074 -38.0948 0 + vertex 33.1396 -38.1555 -3 + vertex 29.8074 -38.0948 -3 endloop endfacet - facet normal 0.897795 -0.440414 0 + facet normal 0.170719 0.98532 -0 outer loop - vertex -21.9074 -34.6287 0 - vertex -21.6072 -34.0169 -0.2 - vertex -21.6072 -34.0169 0 + vertex 29.8074 -38.0948 -3 + vertex 28.6431 -37.8931 0 + vertex 29.8074 -38.0948 0 endloop endfacet - facet normal 0.897795 -0.440414 0 + facet normal 0.170719 0.98532 0 outer loop - vertex -21.6072 -34.0169 -0.2 - vertex -21.9074 -34.6287 0 - vertex -21.9074 -34.6287 -0.2 + vertex 28.6431 -37.8931 0 + vertex 29.8074 -38.0948 -3 + vertex 28.6431 -37.8931 -3 endloop endfacet - facet normal 0.914162 -0.405349 0 + facet normal 0.913427 0.407002 0 outer loop - vertex -21.6072 -34.0169 0 - vertex -21.2682 -33.2523 -0.2 - vertex -21.2682 -33.2523 0 + vertex 28.6431 -37.8931 0 + vertex 28.4102 -37.3704 -3 + vertex 28.4102 -37.3704 0 endloop endfacet - facet normal 0.914162 -0.405349 0 + facet normal 0.913427 0.407002 0 outer loop - vertex -21.2682 -33.2523 -0.2 - vertex -21.6072 -34.0169 0 - vertex -21.6072 -34.0169 -0.2 + vertex 28.4102 -37.3704 -3 + vertex 28.6431 -37.8931 0 + vertex 28.6431 -37.8931 -3 endloop endfacet - facet normal 0.920953 -0.389675 0 + facet normal 0.965523 -0.260316 0 outer loop - vertex -21.2682 -33.2523 0 - vertex -19.7699 -29.7113 -0.2 - vertex -19.7699 -29.7113 0 + vertex 28.4102 -37.3704 0 + vertex 28.553 -36.8405 -3 + vertex 28.553 -36.8405 0 endloop endfacet - facet normal 0.920953 -0.389675 0 + facet normal 0.965523 -0.260316 0 outer loop - vertex -19.7699 -29.7113 -0.2 - vertex -21.2682 -33.2523 0 - vertex -21.2682 -33.2523 -0.2 + vertex 28.553 -36.8405 -3 + vertex 28.4102 -37.3704 0 + vertex 28.4102 -37.3704 -3 endloop endfacet - facet normal 0.925287 -0.379267 0 + facet normal 0.697974 -0.716123 0 outer loop - vertex -19.7699 -29.7113 0 - vertex -18.5311 -26.6889 -0.2 - vertex -18.5311 -26.6889 0 + vertex 28.553 -36.8405 -3 + vertex 29.0223 -36.3831 0 + vertex 28.553 -36.8405 0 endloop endfacet - facet normal 0.925287 -0.379267 0 + facet normal 0.697974 -0.716123 0 outer loop - vertex -18.5311 -26.6889 -0.2 - vertex -19.7699 -29.7113 0 - vertex -19.7699 -29.7113 -0.2 + vertex 29.0223 -36.3831 0 + vertex 28.553 -36.8405 -3 + vertex 29.0223 -36.3831 -3 endloop endfacet - facet normal 0.931695 -0.363243 0 + facet normal 0.378617 -0.925554 0 outer loop - vertex -18.5311 -26.6889 0 - vertex -17.6656 -24.469 -0.2 - vertex -17.6656 -24.469 0 + vertex 29.0223 -36.3831 -3 + vertex 29.7686 -36.0779 0 + vertex 29.0223 -36.3831 0 endloop endfacet - facet normal 0.931695 -0.363243 0 + facet normal 0.378617 -0.925554 0 outer loop - vertex -17.6656 -24.469 -0.2 - vertex -18.5311 -26.6889 0 - vertex -18.5311 -26.6889 -0.2 + vertex 29.7686 -36.0779 0 + vertex 29.0223 -36.3831 -3 + vertex 29.7686 -36.0779 -3 endloop endfacet - facet normal 0.941797 -0.336183 0 + facet normal 0.28314 -0.959079 0 outer loop - vertex -17.6656 -24.469 0 - vertex -17.4084 -23.7485 -0.2 - vertex -17.4084 -23.7485 0 + vertex 29.7686 -36.0779 -3 + vertex 30.8837 -35.7486 0 + vertex 29.7686 -36.0779 0 endloop endfacet - facet normal 0.941797 -0.336183 0 + facet normal 0.28314 -0.959079 0 outer loop - vertex -17.4084 -23.7485 -0.2 - vertex -17.6656 -24.469 0 - vertex -17.6656 -24.469 -0.2 + vertex 30.8837 -35.7486 0 + vertex 29.7686 -36.0779 -3 + vertex 30.8837 -35.7486 -3 endloop endfacet - facet normal 0.959662 -0.281158 0 + facet normal 0.670445 -0.741959 0 outer loop - vertex -17.4084 -23.7485 0 - vertex -17.2873 -23.335 -0.2 - vertex -17.2873 -23.335 0 + vertex 30.8837 -35.7486 -3 + vertex 31.6707 -35.0376 0 + vertex 30.8837 -35.7486 0 endloop endfacet - facet normal 0.959662 -0.281158 0 + facet normal 0.670445 -0.741959 0 outer loop - vertex -17.2873 -23.335 -0.2 - vertex -17.4084 -23.7485 0 - vertex -17.4084 -23.7485 -0.2 + vertex 31.6707 -35.0376 0 + vertex 30.8837 -35.7486 -3 + vertex 31.6707 -35.0376 -3 endloop endfacet - facet normal 0.987024 -0.160575 0 + facet normal 0.889774 -0.456402 0 outer loop - vertex -17.2873 -23.335 0 - vertex -17.2226 -22.9371 -0.2 - vertex -17.2226 -22.9371 0 + vertex 31.6707 -35.0376 0 + vertex 32.5255 -33.371 -3 + vertex 32.5255 -33.371 0 endloop endfacet - facet normal 0.987024 -0.160575 0 + facet normal 0.889774 -0.456402 0 outer loop - vertex -17.2226 -22.9371 -0.2 - vertex -17.2873 -23.335 0 - vertex -17.2873 -23.335 -0.2 + vertex 32.5255 -33.371 -3 + vertex 31.6707 -35.0376 0 + vertex 31.6707 -35.0376 -3 endloop endfacet - facet normal 0.999826 0.0186517 0 + facet normal 0.924374 -0.381489 0 outer loop - vertex -17.2226 -22.9371 0 - vertex -17.2249 -22.8126 -0.2 - vertex -17.2249 -22.8126 0 + vertex 32.5255 -33.371 0 + vertex 33.8444 -30.1753 -3 + vertex 33.8444 -30.1753 0 endloop endfacet - facet normal 0.999826 0.0186517 0 + facet normal 0.924374 -0.381489 0 outer loop - vertex -17.2249 -22.8126 -0.2 - vertex -17.2226 -22.9371 0 - vertex -17.2226 -22.9371 -0.2 + vertex 33.8444 -30.1753 -3 + vertex 32.5255 -33.371 0 + vertex 32.5255 -33.371 -3 endloop endfacet - facet normal 0.932644 0.360799 0 + facet normal 0.926524 -0.376236 0 outer loop - vertex -17.2249 -22.8126 0 - vertex -17.2578 -22.7276 -0.2 - vertex -17.2578 -22.7276 0 + vertex 33.8444 -30.1753 0 + vertex 35.3305 -26.5156 -3 + vertex 35.3305 -26.5156 0 endloop endfacet - facet normal 0.932644 0.360799 0 + facet normal 0.926524 -0.376236 0 outer loop - vertex -17.2578 -22.7276 -0.2 - vertex -17.2249 -22.8126 0 - vertex -17.2249 -22.8126 -0.2 + vertex 35.3305 -26.5156 -3 + vertex 33.8444 -30.1753 0 + vertex 33.8444 -30.1753 -3 endloop endfacet - facet normal 0.608972 0.793192 -0 + facet normal 0.946541 -0.322585 0 outer loop - vertex -17.2578 -22.7276 -0.2 - vertex -17.3267 -22.6747 0 - vertex -17.2578 -22.7276 0 + vertex 35.3305 -26.5156 0 + vertex 36.2859 -23.7121 -3 + vertex 36.2859 -23.7121 0 endloop endfacet - facet normal 0.608972 0.793192 0 + facet normal 0.946541 -0.322585 0 outer loop - vertex -17.3267 -22.6747 0 - vertex -17.2578 -22.7276 -0.2 - vertex -17.3267 -22.6747 -0.2 + vertex 36.2859 -23.7121 -3 + vertex 35.3305 -26.5156 0 + vertex 35.3305 -26.5156 -3 endloop endfacet - facet normal 0.249366 0.968409 -0 + facet normal 0.99651 -0.0834774 0 outer loop - vertex -17.3267 -22.6747 -0.2 - vertex -17.4374 -22.6462 0 - vertex -17.3267 -22.6747 0 + vertex 36.2859 -23.7121 0 + vertex 36.3422 -23.0402 -3 + vertex 36.3422 -23.0402 0 endloop endfacet - facet normal 0.249366 0.968409 0 + facet normal 0.99651 -0.0834774 0 outer loop - vertex -17.4374 -22.6462 0 - vertex -17.3267 -22.6747 -0.2 - vertex -17.4374 -22.6462 -0.2 + vertex 36.3422 -23.0402 -3 + vertex 36.2859 -23.7121 0 + vertex 36.2859 -23.7121 -3 endloop endfacet - facet normal 0.0372683 0.999305 -0 + facet normal 0.457043 0.889445 -0 outer loop - vertex -17.4374 -22.6462 -0.2 - vertex -17.8061 -22.6324 0 - vertex -17.4374 -22.6462 0 + vertex 36.3422 -23.0402 -3 + vertex 36.104 -22.9178 0 + vertex 36.3422 -23.0402 0 endloop endfacet - facet normal 0.0372683 0.999305 0 + facet normal 0.457043 0.889445 0 outer loop - vertex -17.8061 -22.6324 0 - vertex -17.4374 -22.6462 -0.2 - vertex -17.8061 -22.6324 -0.2 + vertex 36.104 -22.9178 0 + vertex 36.3422 -23.0402 -3 + vertex 36.104 -22.9178 -3 endloop endfacet - facet normal 0.050033 0.998748 -0 + facet normal -0.010303 0.999947 0 outer loop - vertex -17.8061 -22.6324 -0.2 - vertex -18.1091 -22.6172 0 - vertex -17.8061 -22.6324 0 + vertex 36.104 -22.9178 -3 + vertex 35.2001 -22.9271 0 + vertex 36.104 -22.9178 0 endloop endfacet - facet normal 0.050033 0.998748 0 + facet normal -0.010303 0.999947 0 outer loop - vertex -18.1091 -22.6172 0 - vertex -17.8061 -22.6324 -0.2 - vertex -18.1091 -22.6172 -0.2 + vertex 35.2001 -22.9271 0 + vertex 36.104 -22.9178 -3 + vertex 35.2001 -22.9271 -3 endloop endfacet - facet normal 0.187734 0.98222 -0 + facet normal 0.419058 0.907959 -0 outer loop - vertex -18.1091 -22.6172 -0.2 - vertex -18.3541 -22.5704 0 - vertex -18.1091 -22.6172 0 + vertex 35.2001 -22.9271 -3 + vertex 34.7441 -22.7166 0 + vertex 35.2001 -22.9271 0 endloop endfacet - facet normal 0.187734 0.98222 0 + facet normal 0.419058 0.907959 0 outer loop - vertex -18.3541 -22.5704 0 - vertex -18.1091 -22.6172 -0.2 - vertex -18.3541 -22.5704 -0.2 + vertex 34.7441 -22.7166 0 + vertex 35.2001 -22.9271 -3 + vertex 34.7441 -22.7166 -3 endloop endfacet - facet normal 0.392235 0.919865 -0 + facet normal 0.959742 0.280882 0 outer loop - vertex -18.3541 -22.5704 -0.2 - vertex -18.5429 -22.4899 0 - vertex -18.3541 -22.5704 0 + vertex 34.7441 -22.7166 0 + vertex 34.62 -22.2927 -3 + vertex 34.62 -22.2927 0 endloop endfacet - facet normal 0.392235 0.919865 0 + facet normal 0.959742 0.280882 0 outer loop - vertex -18.5429 -22.4899 0 - vertex -18.3541 -22.5704 -0.2 - vertex -18.5429 -22.4899 -0.2 + vertex 34.62 -22.2927 -3 + vertex 34.7441 -22.7166 0 + vertex 34.7441 -22.7166 -3 endloop endfacet - facet normal 0.654816 0.755788 -0 + facet normal 0.94057 -0.3396 0 outer loop - vertex -18.5429 -22.4899 -0.2 - vertex -18.6769 -22.3738 0 - vertex -18.5429 -22.4899 0 + vertex 34.62 -22.2927 0 + vertex 34.9156 -21.474 -3 + vertex 34.9156 -21.474 0 endloop endfacet - facet normal 0.654816 0.755788 0 + facet normal 0.94057 -0.3396 0 outer loop - vertex -18.6769 -22.3738 0 - vertex -18.5429 -22.4899 -0.2 - vertex -18.6769 -22.3738 -0.2 + vertex 34.9156 -21.474 -3 + vertex 34.62 -22.2927 0 + vertex 34.62 -22.2927 -3 endloop endfacet - facet normal 0.885096 0.465409 0 + facet normal 0.664894 -0.746938 0 outer loop - vertex -18.6769 -22.3738 0 - vertex -18.7577 -22.2202 -0.2 - vertex -18.7577 -22.2202 0 + vertex 34.9156 -21.474 -3 + vertex 35.2187 -21.2043 0 + vertex 34.9156 -21.474 0 endloop endfacet - facet normal 0.885096 0.465409 0 + facet normal 0.664894 -0.746938 0 outer loop - vertex -18.7577 -22.2202 -0.2 - vertex -18.6769 -22.3738 0 - vertex -18.6769 -22.3738 -0.2 + vertex 35.2187 -21.2043 0 + vertex 34.9156 -21.474 -3 + vertex 35.2187 -21.2043 -3 endloop endfacet - facet normal 0.988779 0.149383 0 + facet normal 0.282474 -0.959275 0 outer loop - vertex -18.7577 -22.2202 0 - vertex -18.7869 -22.0269 -0.2 - vertex -18.7869 -22.0269 0 + vertex 35.2187 -21.2043 -3 + vertex 35.5661 -21.102 0 + vertex 35.2187 -21.2043 0 endloop endfacet - facet normal 0.988779 0.149383 0 + facet normal 0.282474 -0.959275 0 outer loop - vertex -18.7869 -22.0269 -0.2 - vertex -18.7577 -22.2202 0 - vertex -18.7577 -22.2202 -0.2 + vertex 35.5661 -21.102 0 + vertex 35.2187 -21.2043 -3 + vertex 35.5661 -21.102 -3 endloop endfacet - facet normal 0.99608 -0.0884566 0 + facet normal 0.319916 -0.947446 0 outer loop - vertex -18.7869 -22.0269 0 - vertex -18.766 -21.7922 -0.2 - vertex -18.766 -21.7922 0 + vertex 35.5661 -21.102 -3 + vertex 38.4798 -20.1181 0 + vertex 35.5661 -21.102 0 endloop endfacet - facet normal 0.99608 -0.0884566 0 + facet normal 0.319916 -0.947446 0 outer loop - vertex -18.766 -21.7922 -0.2 - vertex -18.7869 -22.0269 0 - vertex -18.7869 -22.0269 -0.2 + vertex 38.4798 -20.1181 0 + vertex 35.5661 -21.102 -3 + vertex 38.4798 -20.1181 -3 endloop endfacet - facet normal 0.970344 -0.241728 0 + facet normal 0.306814 -0.951769 0 outer loop - vertex -18.766 -21.7922 0 - vertex -18.6967 -21.5139 -0.2 - vertex -18.6967 -21.5139 0 + vertex 38.4798 -20.1181 -3 + vertex 41.5319 -19.1343 0 + vertex 38.4798 -20.1181 0 endloop endfacet - facet normal 0.970344 -0.241728 0 + facet normal 0.306814 -0.951769 0 outer loop - vertex -18.6967 -21.5139 -0.2 - vertex -18.766 -21.7922 0 - vertex -18.766 -21.7922 -0.2 + vertex 41.5319 -19.1343 0 + vertex 38.4798 -20.1181 -3 + vertex 41.5319 -19.1343 -3 endloop endfacet - facet normal 0.92433 -0.381593 0 + facet normal -0.240332 -0.970691 0 outer loop - vertex -18.6967 -21.5139 0 - vertex -18.5788 -21.2283 -0.2 - vertex -18.5788 -21.2283 0 + vertex 41.5319 -19.1343 -3 + vertex 41.8934 -19.2238 0 + vertex 41.5319 -19.1343 0 endloop endfacet - facet normal 0.92433 -0.381593 0 + facet normal -0.240332 -0.970691 -0 outer loop - vertex -18.5788 -21.2283 -0.2 - vertex -18.6967 -21.5139 0 - vertex -18.6967 -21.5139 -0.2 + vertex 41.8934 -19.2238 0 + vertex 41.5319 -19.1343 -3 + vertex 41.8934 -19.2238 -3 endloop endfacet - facet normal 0.848388 -0.529374 0 + facet normal -0.766739 -0.641959 0 outer loop - vertex -18.5788 -21.2283 0 - vertex -18.5053 -21.1105 -0.2 - vertex -18.5053 -21.1105 0 + vertex 42.1032 -19.4743 -3 + vertex 41.8934 -19.2238 0 + vertex 41.8934 -19.2238 -3 endloop endfacet - facet normal 0.848388 -0.529374 0 + facet normal -0.766739 -0.641959 0 outer loop - vertex -18.5053 -21.1105 -0.2 - vertex -18.5788 -21.2283 0 - vertex -18.5788 -21.2283 -0.2 + vertex 41.8934 -19.2238 0 + vertex 42.1032 -19.4743 -3 + vertex 42.1032 -19.4743 0 endloop endfacet - facet normal 0.772185 -0.635398 0 + facet normal -0.995926 0.090175 0 outer loop - vertex -18.5053 -21.1105 0 - vertex -18.4218 -21.0091 -0.2 - vertex -18.4218 -21.0091 0 + vertex 42.0238 -20.3507 -3 + vertex 42.1032 -19.4743 0 + vertex 42.1032 -19.4743 -3 endloop endfacet - facet normal 0.772185 -0.635398 0 + facet normal -0.995926 0.090175 0 outer loop - vertex -18.4218 -21.0091 -0.2 - vertex -18.5053 -21.1105 0 - vertex -18.5053 -21.1105 -0.2 + vertex 42.1032 -19.4743 0 + vertex 42.0238 -20.3507 -3 + vertex 42.0238 -20.3507 0 endloop endfacet - facet normal 0.673134 -0.739521 0 + facet normal -0.949137 0.314864 0 outer loop - vertex -18.4218 -21.0091 -0.2 - vertex -18.3284 -20.924 0 - vertex -18.4218 -21.0091 0 + vertex 41.8981 -20.7296 -3 + vertex 42.0238 -20.3507 0 + vertex 42.0238 -20.3507 -3 endloop endfacet - facet normal 0.673134 -0.739521 0 + facet normal -0.949137 0.314864 0 outer loop - vertex -18.3284 -20.924 0 - vertex -18.4218 -21.0091 -0.2 - vertex -18.3284 -20.924 -0.2 + vertex 42.0238 -20.3507 0 + vertex 41.8981 -20.7296 -3 + vertex 41.8981 -20.7296 0 endloop endfacet - facet normal 0.553635 -0.832759 0 + facet normal -0.846258 -0.532773 0 outer loop - vertex -18.3284 -20.924 -0.2 - vertex -18.2248 -20.8552 0 - vertex -18.3284 -20.924 0 + vertex 41.971 -20.8453 -3 + vertex 41.8981 -20.7296 0 + vertex 41.8981 -20.7296 -3 endloop endfacet - facet normal 0.553635 -0.832759 0 + facet normal -0.846258 -0.532773 0 outer loop - vertex -18.2248 -20.8552 0 - vertex -18.3284 -20.924 -0.2 - vertex -18.2248 -20.8552 -0.2 + vertex 41.8981 -20.7296 0 + vertex 41.971 -20.8453 -3 + vertex 41.971 -20.8453 0 endloop endfacet - facet normal 0.4209 -0.907107 0 + facet normal 0.512131 -0.858907 0 outer loop - vertex -18.2248 -20.8552 -0.2 - vertex -18.1109 -20.8023 0 - vertex -18.2248 -20.8552 0 + vertex 41.971 -20.8453 -3 + vertex 42.943 -20.2657 0 + vertex 41.971 -20.8453 0 endloop endfacet - facet normal 0.4209 -0.907107 0 + facet normal 0.512131 -0.858907 0 outer loop - vertex -18.1109 -20.8023 0 - vertex -18.2248 -20.8552 -0.2 - vertex -18.1109 -20.8023 -0.2 + vertex 42.943 -20.2657 0 + vertex 41.971 -20.8453 -3 + vertex 42.943 -20.2657 -3 endloop endfacet - facet normal 0.284987 -0.958531 0 + facet normal 0.474768 -0.880111 0 outer loop - vertex -18.1109 -20.8023 -0.2 - vertex -17.9865 -20.7653 0 - vertex -18.1109 -20.8023 0 + vertex 42.943 -20.2657 -3 + vertex 44.5909 -19.3768 0 + vertex 42.943 -20.2657 0 endloop endfacet - facet normal 0.284987 -0.958531 0 + facet normal 0.474768 -0.880111 0 outer loop - vertex -17.9865 -20.7653 0 - vertex -18.1109 -20.8023 -0.2 - vertex -17.9865 -20.7653 -0.2 + vertex 44.5909 -19.3768 0 + vertex 42.943 -20.2657 -3 + vertex 44.5909 -19.3768 -3 endloop endfacet - facet normal 0.279088 -0.960266 0 + facet normal 0.143592 -0.989637 0 outer loop - vertex -17.9865 -20.7653 -0.2 - vertex -16.9393 -20.461 0 - vertex -17.9865 -20.7653 0 + vertex 44.5909 -19.3768 -3 + vertex 46.2623 -19.1343 0 + vertex 44.5909 -19.3768 0 endloop endfacet - facet normal 0.279088 -0.960266 0 + facet normal 0.143592 -0.989637 0 outer loop - vertex -16.9393 -20.461 0 - vertex -17.9865 -20.7653 -0.2 - vertex -16.9393 -20.461 -0.2 + vertex 46.2623 -19.1343 0 + vertex 44.5909 -19.3768 -3 + vertex 46.2623 -19.1343 -3 endloop endfacet - facet normal 0.302435 -0.95317 0 + facet normal -0.096262 -0.995356 0 outer loop - vertex -16.9393 -20.461 -0.2 - vertex -15.1436 -19.8912 0 - vertex -16.9393 -20.461 0 + vertex 46.2623 -19.1343 -3 + vertex 47.2139 -19.2263 0 + vertex 46.2623 -19.1343 0 endloop endfacet - facet normal 0.302435 -0.95317 0 + facet normal -0.096262 -0.995356 -0 outer loop - vertex -15.1436 -19.8912 0 - vertex -16.9393 -20.461 -0.2 - vertex -15.1436 -19.8912 -0.2 + vertex 47.2139 -19.2263 0 + vertex 46.2623 -19.1343 -3 + vertex 47.2139 -19.2263 -3 endloop endfacet - facet normal 0.297661 -0.954672 0 + facet normal -0.989139 0.146981 0 outer loop - vertex -15.1436 -19.8912 -0.2 - vertex -14.1989 -19.5967 0 - vertex -15.1436 -19.8912 0 + vertex 5.19939 38.083 -3 + vertex 5.25321 38.4452 0 + vertex 5.25321 38.4452 -3 endloop endfacet - facet normal 0.297661 -0.954672 0 + facet normal -0.989139 0.146981 0 outer loop - vertex -14.1989 -19.5967 0 - vertex -15.1436 -19.8912 -0.2 - vertex -14.1989 -19.5967 -0.2 + vertex 5.25321 38.4452 0 + vertex 5.19939 38.083 -3 + vertex 5.19939 38.083 0 endloop endfacet - facet normal 0.272658 -0.962111 0 + facet normal -0.909259 0.41623 0 outer loop - vertex -14.1989 -19.5967 -0.2 - vertex -13.3483 -19.3556 0 - vertex -14.1989 -19.5967 0 + vertex 4.72188 37.0399 -3 + vertex 5.19939 38.083 0 + vertex 5.19939 38.083 -3 endloop endfacet - facet normal 0.272658 -0.962111 0 + facet normal -0.909259 0.41623 0 outer loop - vertex -13.3483 -19.3556 0 - vertex -14.1989 -19.5967 -0.2 - vertex -13.3483 -19.3556 -0.2 + vertex 5.19939 38.083 0 + vertex 4.72188 37.0399 -3 + vertex 4.72188 37.0399 0 endloop endfacet - facet normal 0.238231 -0.971209 0 + facet normal -0.923768 0.382952 0 outer loop - vertex -13.3483 -19.3556 -0.2 - vertex -12.6849 -19.1929 0 - vertex -13.3483 -19.3556 0 + vertex 4.30515 36.0346 -3 + vertex 4.72188 37.0399 0 + vertex 4.72188 37.0399 -3 endloop endfacet - facet normal 0.238231 -0.971209 0 + facet normal -0.923768 0.382952 0 outer loop - vertex -12.6849 -19.1929 0 - vertex -13.3483 -19.3556 -0.2 - vertex -12.6849 -19.1929 -0.2 + vertex 4.72188 37.0399 0 + vertex 4.30515 36.0346 -3 + vertex 4.30515 36.0346 0 endloop endfacet - facet normal 0.153595 -0.988134 0 + facet normal -0.970112 0.242658 0 outer loop - vertex -12.6849 -19.1929 -0.2 - vertex -12.302 -19.1333 0 - vertex -12.6849 -19.1929 0 + vertex 3.93589 34.5584 -3 + vertex 4.30515 36.0346 0 + vertex 4.30515 36.0346 -3 endloop endfacet - facet normal 0.153595 -0.988134 0 + facet normal -0.970112 0.242658 0 outer loop - vertex -12.302 -19.1333 0 - vertex -12.6849 -19.1929 -0.2 - vertex -12.302 -19.1333 -0.2 + vertex 4.30515 36.0346 0 + vertex 3.93589 34.5584 -3 + vertex 3.93589 34.5584 0 endloop endfacet - facet normal -0.105808 -0.994387 0 + facet normal -0.993642 0.112587 0 outer loop - vertex -12.302 -19.1333 -0.2 - vertex -12.0792 -19.1571 0 - vertex -12.302 -19.1333 0 + vertex 3.57109 31.3388 -3 + vertex 3.93589 34.5584 0 + vertex 3.93589 34.5584 -3 endloop endfacet - facet normal -0.105808 -0.994387 -0 + facet normal -0.993642 0.112587 0 outer loop - vertex -12.0792 -19.1571 0 - vertex -12.302 -19.1333 -0.2 - vertex -12.0792 -19.1571 -0.2 + vertex 3.93589 34.5584 0 + vertex 3.57109 31.3388 -3 + vertex 3.57109 31.3388 0 endloop endfacet - facet normal -0 0 1 + facet normal -0.99786 -0.0653884 0 outer loop - vertex 35.6833 -25.6471 -0.2 - vertex 39.342 -26.9688 -0.2 - vertex 35.957 -24.8864 -0.2 + vertex 3.67763 29.7129 -3 + vertex 3.57109 31.3388 0 + vertex 3.57109 31.3388 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0.99786 -0.0653884 0 outer loop - vertex 35.3422 -26.5156 -0.2 - vertex 39.342 -26.9688 -0.2 - vertex 35.6833 -25.6471 -0.2 + vertex 3.57109 31.3388 0 + vertex 3.67763 29.7129 -3 + vertex 3.67763 29.7129 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.893644 -0.448776 0 outer loop - vertex 39.342 -26.9688 -0.2 - vertex 35.3422 -26.5156 -0.2 - vertex 38.2305 -29.6614 -0.2 + vertex 4.3138 28.4461 -3 + vertex 3.67763 29.7129 0 + vertex 3.67763 29.7129 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.893644 -0.448776 0 outer loop - vertex 33.8561 -30.1753 -0.2 - vertex 38.2305 -29.6614 -0.2 - vertex 35.3422 -26.5156 -0.2 + vertex 3.67763 29.7129 0 + vertex 4.3138 28.4461 -3 + vertex 4.3138 28.4461 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.787428 -0.616407 0 outer loop - vertex 38.2305 -29.6614 -0.2 - vertex 33.8561 -30.1753 -0.2 - vertex 37.444 -31.6395 -0.2 + vertex 5.72413 26.6445 -3 + vertex 4.3138 28.4461 0 + vertex 4.3138 28.4461 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.787428 -0.616407 0 outer loop - vertex 41.3957 -19.1543 -0.2 - vertex 42.162 -19.859 -0.2 - vertex 42.1595 -19.6516 -0.2 + vertex 4.3138 28.4461 0 + vertex 5.72413 26.6445 -3 + vertex 5.72413 26.6445 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.565537 -0.824723 0 outer loop - vertex 41.7426 -19.1572 -0.2 - vertex 42.1595 -19.6516 -0.2 - vertex 42.1149 -19.4743 -0.2 + vertex 5.72413 26.6445 -3 + vertex 6.4022 26.1795 0 + vertex 5.72413 26.6445 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.565537 -0.824723 -0 outer loop - vertex 42.162 -19.859 -0.2 - vertex 41.3957 -19.1543 -0.2 - vertex 42.1212 -20.0931 -0.2 + vertex 6.4022 26.1795 0 + vertex 5.72413 26.6445 -3 + vertex 6.4022 26.1795 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.296038 -0.955176 0 outer loop - vertex 41.7426 -19.1572 -0.2 - vertex 42.1149 -19.4743 -0.2 - vertex 42.0297 -19.3306 -0.2 + vertex 6.4022 26.1795 -3 + vertex 7.11433 25.9588 0 + vertex 6.4022 26.1795 0 endloop endfacet - facet normal -0 0 1 + facet normal -0.296038 -0.955176 -0 outer loop - vertex 41.156 -19.2119 -0.2 - vertex 42.1212 -20.0931 -0.2 - vertex 41.3957 -19.1543 -0.2 + vertex 7.11433 25.9588 0 + vertex 6.4022 26.1795 -3 + vertex 7.11433 25.9588 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.249452 -0.968387 0 outer loop - vertex 42.1212 -20.0931 -0.2 - vertex 41.156 -19.2119 -0.2 - vertex 42.0356 -20.3507 -0.2 + vertex 7.11433 25.9588 -3 + vertex 7.91411 25.7528 0 + vertex 7.11433 25.9588 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.249452 -0.968387 -0 outer loop - vertex 41.7426 -19.1572 -0.2 - vertex 42.0297 -19.3306 -0.2 - vertex 41.9051 -19.2238 -0.2 + vertex 7.91411 25.7528 0 + vertex 7.11433 25.9588 -3 + vertex 7.91411 25.7528 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.590139 -0.807301 0 outer loop - vertex 47.9233 -19.8512 -0.2 - vertex 47.9993 -20.1225 -0.2 - vertex 47.9745 -19.9807 -0.2 + vertex 7.91411 25.7528 -3 + vertex 8.51885 25.3107 0 + vertex 7.91411 25.7528 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.590139 -0.807301 -0 outer loop - vertex 47.9993 -20.1225 -0.2 - vertex 47.9233 -19.8512 -0.2 - vertex 47.9987 -20.2887 -0.2 + vertex 8.51885 25.3107 0 + vertex 7.91411 25.7528 -3 + vertex 8.51885 25.3107 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.834337 -0.551255 0 outer loop - vertex 47.845 -19.7221 -0.2 - vertex 47.9987 -20.2887 -0.2 - vertex 47.9233 -19.8512 -0.2 + vertex 9.07032 24.476 -3 + vertex 8.51885 25.3107 0 + vertex 8.51885 25.3107 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.834337 -0.551255 0 outer loop - vertex 47.9987 -20.2887 -0.2 - vertex 47.845 -19.7221 -0.2 - vertex 47.9737 -20.4912 -0.2 + vertex 8.51885 25.3107 0 + vertex 9.07032 24.476 -3 + vertex 9.07032 24.476 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.907633 -0.419764 0 outer loop - vertex 47.7384 -19.5813 -0.2 - vertex 47.9737 -20.4912 -0.2 - vertex 47.845 -19.7221 -0.2 + vertex 9.71033 23.0922 -3 + vertex 9.07032 24.476 0 + vertex 9.07032 24.476 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.907633 -0.419764 0 outer loop - vertex 47.044 -19.1833 -0.2 - vertex 47.9737 -20.4912 -0.2 - vertex 47.7384 -19.5813 -0.2 + vertex 9.07032 24.476 0 + vertex 9.71033 23.0922 -3 + vertex 9.71033 23.0922 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.895482 -0.445097 0 outer loop - vertex 46.8289 -19.1548 -0.2 - vertex 47.9737 -20.4912 -0.2 - vertex 47.044 -19.1833 -0.2 + vertex 10.9729 20.5521 -3 + vertex 9.71033 23.0922 0 + vertex 9.71033 23.0922 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.895482 -0.445097 0 outer loop - vertex 47.2257 -19.2263 -0.2 - vertex 47.7384 -19.5813 -0.2 - vertex 47.6302 -19.4614 -0.2 + vertex 9.71033 23.0922 0 + vertex 10.9729 20.5521 -3 + vertex 10.9729 20.5521 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.741992 -0.670408 0 outer loop - vertex 46.274 -19.1343 -0.2 - vertex 47.8542 -21.0531 -0.2 - vertex 46.8289 -19.1548 -0.2 + vertex 12.6982 18.6425 -3 + vertex 10.9729 20.5521 0 + vertex 10.9729 20.5521 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.741992 -0.670408 0 outer loop - vertex 47.2257 -19.2263 -0.2 - vertex 47.6302 -19.4614 -0.2 - vertex 47.5127 -19.3635 -0.2 + vertex 10.9729 20.5521 0 + vertex 12.6982 18.6425 -3 + vertex 12.6982 18.6425 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.66692 -0.745129 0 outer loop - vertex 47.2257 -19.2263 -0.2 - vertex 47.5127 -19.3635 -0.2 - vertex 47.3799 -19.2858 -0.2 + vertex 12.6982 18.6425 -3 + vertex 13.99 17.4864 0 + vertex 12.6982 18.6425 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.66692 -0.745129 -0 outer loop - vertex 47.9737 -20.4912 -0.2 - vertex 46.8289 -19.1548 -0.2 - vertex 47.8542 -21.0531 -0.2 + vertex 13.99 17.4864 0 + vertex 12.6982 18.6425 -3 + vertex 13.99 17.4864 -3 endloop endfacet - facet normal 0 0 1 + facet normal -0.579406 -0.815039 0 outer loop - vertex 47.7384 -19.5813 -0.2 - vertex 47.2257 -19.2263 -0.2 - vertex 47.044 -19.1833 -0.2 + vertex 13.99 17.4864 -3 + vertex 15.2045 16.623 0 + vertex 13.99 17.4864 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.579406 -0.815039 -0 outer loop - vertex 47.8542 -21.0531 -0.2 - vertex 46.274 -19.1343 -0.2 - vertex 47.7155 -21.5429 -0.2 + vertex 15.2045 16.623 0 + vertex 13.99 17.4864 -3 + vertex 15.2045 16.623 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0.462357 -0.886694 0 outer loop - vertex 45.8151 -19.1475 -0.2 - vertex 47.7155 -21.5429 -0.2 - vertex 46.274 -19.1343 -0.2 + vertex 15.2045 16.623 -3 + vertex 16.5954 15.8977 0 + vertex 15.2045 16.623 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.462357 -0.886694 -0 outer loop - vertex 47.7155 -21.5429 -0.2 - vertex 45.8151 -19.1475 -0.2 - vertex 47.5422 -21.9981 -0.2 + vertex 16.5954 15.8977 0 + vertex 15.2045 16.623 -3 + vertex 16.5954 15.8977 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0.377272 -0.926103 0 outer loop - vertex 45.391 -19.1898 -0.2 - vertex 47.5422 -21.9981 -0.2 - vertex 45.8151 -19.1475 -0.2 + vertex 16.5954 15.8977 -3 + vertex 18.4164 15.1559 0 + vertex 16.5954 15.8977 0 endloop endfacet - facet normal 0 0 1 + facet normal -0.377272 -0.926103 -0 outer loop - vertex 47.5422 -21.9981 -0.2 - vertex 45.391 -19.1898 -0.2 - vertex 47.3383 -22.4165 -0.2 + vertex 18.4164 15.1559 0 + vertex 16.5954 15.8977 -3 + vertex 18.4164 15.1559 -3 endloop endfacet - facet normal -0 0 1 + facet normal -0.305414 -0.95222 0 outer loop - vertex 44.9905 -19.265 -0.2 - vertex 47.3383 -22.4165 -0.2 - vertex 45.391 -19.1898 -0.2 + vertex 18.4164 15.1559 -3 + vertex 20.0668 14.6265 0 + vertex 18.4164 15.1559 0 endloop endfacet - facet normal -0 0 1 + facet normal -0.305414 -0.95222 -0 outer loop - vertex 44.6026 -19.3768 -0.2 - vertex 47.3383 -22.4165 -0.2 - vertex 44.9905 -19.265 -0.2 + vertex 20.0668 14.6265 0 + vertex 18.4164 15.1559 -3 + vertex 20.0668 14.6265 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.198377 -0.980126 0 outer loop - vertex 47.3383 -22.4165 -0.2 - vertex 44.6026 -19.3768 -0.2 - vertex 47.1074 -22.796 -0.2 + vertex 20.0668 14.6265 -3 + vertex 21.1653 14.8489 0 + vertex 20.0668 14.6265 0 endloop endfacet - facet normal -0 0 1 + facet normal 0.198377 -0.980126 0 outer loop - vertex 44.2162 -19.5289 -0.2 - vertex 47.1074 -22.796 -0.2 - vertex 44.6026 -19.3768 -0.2 + vertex 21.1653 14.8489 0 + vertex 20.0668 14.6265 -3 + vertex 21.1653 14.8489 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.403705 -0.914889 0 outer loop - vertex 47.1074 -22.796 -0.2 - vertex 44.2162 -19.5289 -0.2 - vertex 46.8534 -23.1343 -0.2 + vertex 21.1653 14.8489 -3 + vertex 23.3802 15.8262 0 + vertex 21.1653 14.8489 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.403705 -0.914889 0 outer loop - vertex 43.3873 -23.2523 -0.2 - vertex 46.8534 -23.1343 -0.2 - vertex 44.2162 -19.5289 -0.2 + vertex 23.3802 15.8262 0 + vertex 21.1653 14.8489 -3 + vertex 23.3802 15.8262 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.513821 -0.857898 0 outer loop - vertex 46.8534 -23.1343 -0.2 - vertex 43.3873 -23.2523 -0.2 - vertex 46.5801 -23.4293 -0.2 + vertex 23.3802 15.8262 -3 + vertex 24.7931 16.6725 0 + vertex 23.3802 15.8262 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.513821 -0.857898 0 outer loop - vertex 46.5801 -23.4293 -0.2 - vertex 43.3873 -23.2523 -0.2 - vertex 46.2914 -23.6786 -0.2 + vertex 24.7931 16.6725 0 + vertex 23.3802 15.8262 -3 + vertex 24.7931 16.6725 -3 endloop endfacet - facet normal -0 -0 1 + facet normal 0.988574 0.150735 0 outer loop - vertex 43.6239 -23.5069 -0.2 - vertex 46.2914 -23.6786 -0.2 - vertex 43.3873 -23.2523 -0.2 + vertex 24.7931 16.6725 0 + vertex 24.7174 17.1695 -3 + vertex 24.7174 17.1695 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.988574 0.150735 0 outer loop - vertex 46.2914 -23.6786 -0.2 - vertex 43.6239 -23.5069 -0.2 - vertex 45.9909 -23.8802 -0.2 + vertex 24.7174 17.1695 -3 + vertex 24.7931 16.6725 0 + vertex 24.7931 16.6725 -3 endloop endfacet - facet normal -0 -0 1 + facet normal 0.409608 0.912261 -0 outer loop - vertex 43.8807 -23.7673 -0.2 - vertex 45.3703 -24.1311 -0.2 - vertex 43.6239 -23.5069 -0.2 + vertex 24.7174 17.1695 -3 + vertex 24.1542 17.4223 0 + vertex 24.7174 17.1695 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.409608 0.912261 0 outer loop - vertex 45.3703 -24.1311 -0.2 - vertex 43.8807 -23.7673 -0.2 - vertex 45.0576 -24.176 -0.2 + vertex 24.1542 17.4223 0 + vertex 24.7174 17.1695 -3 + vertex 24.1542 17.4223 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.049214 0.998788 -0 outer loop - vertex 45.9909 -23.8802 -0.2 - vertex 43.6239 -23.5069 -0.2 - vertex 45.6826 -24.0317 -0.2 + vertex 24.1542 17.4223 -3 + vertex 22.547 17.5015 0 + vertex 24.1542 17.4223 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.049214 0.998788 0 outer loop - vertex 45.0576 -24.176 -0.2 - vertex 43.8807 -23.7673 -0.2 - vertex 44.7485 -24.1643 -0.2 + vertex 22.547 17.5015 0 + vertex 24.1542 17.4223 -3 + vertex 22.547 17.5015 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.0234404 0.999725 -0 outer loop - vertex 44.7485 -24.1643 -0.2 - vertex 43.8807 -23.7673 -0.2 - vertex 44.4468 -24.0937 -0.2 + vertex 22.547 17.5015 -3 + vertex 20.2159 17.5562 0 + vertex 22.547 17.5015 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.0234404 0.999725 0 outer loop - vertex 43.3873 -23.2523 -0.2 - vertex 44.2162 -19.5289 -0.2 - vertex 43.8201 -19.7253 -0.2 + vertex 20.2159 17.5562 0 + vertex 22.547 17.5015 -3 + vertex 20.2159 17.5562 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.471751 0.881732 -0 outer loop - vertex 44.4468 -24.0937 -0.2 - vertex 43.8807 -23.7673 -0.2 - vertex 44.1563 -23.9621 -0.2 + vertex 20.2159 17.5562 -3 + vertex 19.8437 17.7553 0 + vertex 20.2159 17.5562 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.471751 0.881732 0 outer loop - vertex 43.3873 -23.2523 -0.2 - vertex 43.8201 -19.7253 -0.2 - vertex 43.4033 -19.9696 -0.2 + vertex 19.8437 17.7553 0 + vertex 20.2159 17.5562 -3 + vertex 19.8437 17.7553 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.853692 0.520778 0 outer loop - vertex 45.6826 -24.0317 -0.2 - vertex 43.6239 -23.5069 -0.2 - vertex 45.3703 -24.1311 -0.2 + vertex 19.8437 17.7553 0 + vertex 19.5351 18.2611 -3 + vertex 19.5351 18.2611 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.853692 0.520778 0 outer loop - vertex 43.4033 -19.9696 -0.2 - vertex 43.1493 -23.0437 -0.2 - vertex 43.3873 -23.2523 -0.2 + vertex 19.5351 18.2611 -3 + vertex 19.8437 17.7553 0 + vertex 19.8437 17.7553 -3 endloop endfacet - facet normal -0 0 1 + facet normal 0.975799 0.21867 0 outer loop - vertex 42.9547 -20.2657 -0.2 - vertex 43.1493 -23.0437 -0.2 - vertex 43.4033 -19.9696 -0.2 + vertex 19.5351 18.2611 0 + vertex 19.0948 20.2262 -3 + vertex 19.0948 20.2262 0 endloop endfacet - facet normal 0 0 1 + facet normal 0.975799 0.21867 0 outer loop - vertex 42.9547 -20.2657 -0.2 - vertex 42.9376 -22.9028 -0.2 - vertex 43.1493 -23.0437 -0.2 + vertex 19.0948 20.2262 -3 + vertex 19.5351 18.2611 0 + vertex 19.5351 18.2611 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.973279 0.229626 0 outer loop - vertex 42.9547 -20.2657 -0.2 - vertex 42.8503 -22.8644 -0.2 - vertex 42.9376 -22.9028 -0.2 + vertex 19.0948 20.2262 0 + vertex 18.6529 22.0992 -3 + vertex 18.6529 22.0992 0 endloop endfacet - facet normal -0 0 1 + facet normal 0.973279 0.229626 0 outer loop - vertex 42.3117 -20.6924 -0.2 - vertex 42.8503 -22.8644 -0.2 - vertex 42.9547 -20.2657 -0.2 + vertex 18.6529 22.0992 -3 + vertex 19.0948 20.2262 0 + vertex 19.0948 20.2262 -3 endloop endfacet - facet normal 0 0 1 + facet normal 0.439505 0.89824 -0 outer loop - vertex 42.8503 -22.8644 -0.2 - vertex 42.3117 -20.6924 -0.2 - vertex 42.7799 -22.851 -0.2 + vertex 18.6529 22.0992 -3 + vertex 17.155 22.8321 0 + vertex 18.6529 22.0992 0 endloop endfacet - facet normal -0 0 1 + facet normal 0.439505 0.89824 0 outer loop - vertex 42.1116 -20.8028 -0.2 - vertex 42.7799 -22.851 -0.2 - vertex 42.3117 -20.6924 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.7799 -22.851 -0.2 - vertex 42.1116 -20.8028 -0.2 - vertex 42.6968 -22.8729 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 41.9827 -20.8453 -0.2 - vertex 42.6968 -22.8729 -0.2 - vertex 42.1116 -20.8028 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.6968 -22.8729 -0.2 - vertex 41.9827 -20.8453 -0.2 - vertex 42.5728 -22.9356 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.9427 -20.8413 -0.2 - vertex 42.5728 -22.9356 -0.2 - vertex 41.9827 -20.8453 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.5728 -22.9356 -0.2 - vertex 41.9427 -20.8413 -0.2 - vertex 42.2267 -23.1657 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.7898 -23.5063 -0.2 - vertex 41.9427 -20.8413 -0.2 - vertex 41.9179 -20.8207 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.9427 -20.8413 -0.2 - vertex 41.7898 -23.5063 -0.2 - vertex 42.2267 -23.1657 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 39.5298 -19.7361 -0.2 - vertex 41.9179 -20.8207 -0.2 - vertex 41.9099 -20.7296 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.0356 -20.3507 -0.2 - vertex 41.156 -19.2119 -0.2 - vertex 41.9515 -20.5727 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.1595 -19.6516 -0.2 - vertex 41.7426 -19.1572 -0.2 - vertex 41.5436 -19.1343 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.1595 -19.6516 -0.2 - vertex 41.5436 -19.1343 -0.2 - vertex 41.3957 -19.1543 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 40.4513 -19.4233 -0.2 - vertex 41.9515 -20.5727 -0.2 - vertex 41.156 -19.2119 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.9515 -20.5727 -0.2 - vertex 40.4513 -19.4233 -0.2 - vertex 41.9099 -20.7296 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 39.5298 -19.7361 -0.2 - vertex 41.9099 -20.7296 -0.2 - vertex 40.4513 -19.4233 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.9179 -20.8207 -0.2 - vertex 39.5298 -19.7361 -0.2 - vertex 41.3103 -23.9223 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.9179 -20.8207 -0.2 - vertex 41.3103 -23.9223 -0.2 - vertex 41.7898 -23.5063 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 38.4916 -20.1181 -0.2 - vertex 41.3103 -23.9223 -0.2 - vertex 39.5298 -19.7361 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.3103 -23.9223 -0.2 - vertex 38.4916 -20.1181 -0.2 - vertex 40.922 -24.2835 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 40.922 -24.2835 -0.2 - vertex 38.4916 -20.1181 -0.2 - vertex 40.604 -24.6171 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.3539 -23.0402 -0.2 - vertex 40.604 -24.6171 -0.2 - vertex 38.4916 -20.1181 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 36.3671 -23.1585 -0.2 - vertex 40.604 -24.6171 -0.2 - vertex 36.3539 -23.0402 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 40.604 -24.6171 -0.2 - vertex 36.362 -23.3104 -0.2 - vertex 40.3218 -24.9877 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.2977 -23.7121 -0.2 - vertex 40.3218 -24.9877 -0.2 - vertex 36.362 -23.3104 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 40.3218 -24.9877 -0.2 - vertex 36.2977 -23.7121 -0.2 - vertex 40.0406 -25.46 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3539 -23.0402 -0.2 - vertex 38.4916 -20.1181 -0.2 - vertex 37.4642 -20.5001 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.1622 -24.2394 -0.2 - vertex 40.0406 -25.46 -0.2 - vertex 36.2977 -23.7121 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 40.0406 -25.46 -0.2 - vertex 36.1622 -24.2394 -0.2 - vertex 39.7256 -26.0988 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3224 -22.9562 -0.2 - vertex 37.4642 -20.5001 -0.2 - vertex 36.5724 -20.813 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 35.957 -24.8864 -0.2 - vertex 39.7256 -26.0988 -0.2 - vertex 36.1622 -24.2394 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 39.7256 -26.0988 -0.2 - vertex 35.957 -24.8864 -0.2 - vertex 39.342 -26.9688 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.362 -23.3104 -0.2 - vertex 40.604 -24.6171 -0.2 - vertex 36.3671 -23.1585 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.4642 -20.5001 -0.2 - vertex 36.3224 -22.9562 -0.2 - vertex 36.3539 -23.0402 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.5724 -20.813 -0.2 - vertex 36.2723 -22.9073 -0.2 - vertex 36.3224 -22.9562 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 35.9118 -21.0243 -0.2 - vertex 36.2723 -22.9073 -0.2 - vertex 36.5724 -20.813 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.2723 -22.9073 -0.2 - vertex 35.9118 -21.0243 -0.2 - vertex 36.2034 -22.8943 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 35.5778 -21.102 -0.2 - vertex 36.2034 -22.8943 -0.2 - vertex 35.9118 -21.0243 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.2034 -22.8943 -0.2 - vertex 35.5778 -21.102 -0.2 - vertex 36.1157 -22.9178 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.1157 -22.9178 -0.2 - vertex 35.5778 -21.102 -0.2 - vertex 35.9442 -22.9618 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.9442 -22.9618 -0.2 - vertex 35.5778 -21.102 -0.2 - vertex 35.7166 -22.9783 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 35.0706 -21.3217 -0.2 - vertex 35.7166 -22.9783 -0.2 - vertex 35.5778 -21.102 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.2304 -21.2043 -0.2 - vertex 35.5778 -21.102 -0.2 - vertex 35.4013 -21.1287 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.5778 -21.102 -0.2 - vertex 35.2304 -21.2043 -0.2 - vertex 35.0706 -21.3217 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 34.9274 -21.474 -0.2 - vertex 35.7166 -22.9783 -0.2 - vertex 35.0706 -21.3217 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.7166 -22.9783 -0.2 - vertex 34.9274 -21.474 -0.2 - vertex 35.4626 -22.9668 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 34.8063 -21.6543 -0.2 - vertex 35.4626 -22.9668 -0.2 - vertex 34.9274 -21.474 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 34.713 -21.8554 -0.2 - vertex 35.4626 -22.9668 -0.2 - vertex 34.8063 -21.6543 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.4626 -22.9668 -0.2 - vertex 34.713 -21.8554 -0.2 - vertex 35.2118 -22.9271 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 34.653 -22.0706 -0.2 - vertex 35.2118 -22.9271 -0.2 - vertex 34.713 -21.8554 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 34.6318 -22.2927 -0.2 - vertex 35.2118 -22.9271 -0.2 - vertex 34.653 -22.0706 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.2118 -22.9271 -0.2 - vertex 34.6318 -22.2927 -0.2 - vertex 34.9345 -22.8399 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 34.6385 -22.4262 -0.2 - vertex 34.9345 -22.8399 -0.2 - vertex 34.6318 -22.2927 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 34.6602 -22.54 -0.2 - vertex 34.9345 -22.8399 -0.2 - vertex 34.6385 -22.4262 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.9345 -22.8399 -0.2 - vertex 34.6602 -22.54 -0.2 - vertex 34.8338 -22.7839 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.8338 -22.7839 -0.2 - vertex 34.6602 -22.54 -0.2 - vertex 34.7558 -22.7166 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.7558 -22.7166 -0.2 - vertex 34.6602 -22.54 -0.2 - vertex 34.6986 -22.636 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.6954 -36.1853 -0.2 - vertex 38.1248 -36.8464 -0.2 - vertex 38.119 -36.6694 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.8576 -36.2498 -0.2 - vertex 38.119 -36.6694 -0.2 - vertex 38.0969 -36.5276 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.203 -36.0604 -0.2 - vertex 38.1248 -36.8464 -0.2 - vertex 37.6954 -36.1853 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.9736 -36.3241 -0.2 - vertex 38.0969 -36.5276 -0.2 - vertex 38.0509 -36.4146 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.1248 -36.8464 -0.2 - vertex 37.203 -36.0604 -0.2 - vertex 38.103 -37.2562 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.0969 -36.5276 -0.2 - vertex 37.9736 -36.3241 -0.2 - vertex 37.8576 -36.2498 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.119 -36.6694 -0.2 - vertex 37.8576 -36.2498 -0.2 - vertex 37.6954 -36.1853 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 37.3927 -37.9628 -0.2 - vertex 38.103 -37.2562 -0.2 - vertex 37.203 -36.0604 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 37.7849 -37.8018 -0.2 - vertex 38.0668 -37.4245 -0.2 - vertex 37.6132 -37.8903 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.0668 -37.4245 -0.2 - vertex 37.7849 -37.8018 -0.2 - vertex 38.0057 -37.5705 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.0057 -37.5705 -0.2 - vertex 37.7849 -37.8018 -0.2 - vertex 37.9137 -37.6957 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 37.6132 -37.8903 -0.2 - vertex 38.103 -37.2562 -0.2 - vertex 37.3927 -37.9628 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.103 -37.2562 -0.2 - vertex 37.6132 -37.8903 -0.2 - vertex 38.0668 -37.4245 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.203 -36.0604 -0.2 - vertex 37.1174 -38.0208 -0.2 - vertex 37.3927 -37.9628 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.203 -36.0604 -0.2 - vertex 36.7812 -38.066 -0.2 - vertex 37.1174 -38.0208 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.6812 -35.9318 -0.2 - vertex 36.7812 -38.066 -0.2 - vertex 37.203 -36.0604 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.9024 -38.1241 -0.2 - vertex 36.6812 -35.9318 -0.2 - vertex 36.5187 -35.8653 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.9024 -38.1241 -0.2 - vertex 36.5187 -35.8653 -0.2 - vertex 36.4089 -35.7834 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.7085 -38.1497 -0.2 - vertex 36.4089 -35.7834 -0.2 - vertex 36.3422 -35.6758 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.7085 -38.1497 -0.2 - vertex 36.3422 -35.6758 -0.2 - vertex 36.3089 -35.532 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.444 -31.6395 -0.2 - vertex 33.8561 -30.1753 -0.2 - vertex 36.8389 -33.2656 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 33.1139 -32.0001 -0.2 - vertex 36.8389 -33.2656 -0.2 - vertex 33.8561 -30.1753 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.6812 -35.9318 -0.2 - vertex 35.9024 -38.1241 -0.2 - vertex 36.7812 -38.066 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 32.0766 -34.3595 -0.2 - vertex 36.3089 -35.532 -0.2 - vertex 36.2992 -35.3418 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.8389 -33.2656 -0.2 - vertex 33.1139 -32.0001 -0.2 - vertex 36.4479 -34.448 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 32.5373 -33.371 -0.2 - vertex 36.4479 -34.448 -0.2 - vertex 33.1139 -32.0001 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.4479 -34.448 -0.2 - vertex 32.5373 -33.371 -0.2 - vertex 36.3428 -34.844 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3428 -34.844 -0.2 - vertex 32.5373 -33.371 -0.2 - vertex 36.3035 -35.0946 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 32.0766 -34.3595 -0.2 - vertex 36.3035 -35.0946 -0.2 - vertex 32.5373 -33.371 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3035 -35.0946 -0.2 - vertex 32.0766 -34.3595 -0.2 - vertex 36.2992 -35.3418 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.4089 -35.7834 -0.2 - vertex 34.7085 -38.1497 -0.2 - vertex 35.9024 -38.1241 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3089 -35.532 -0.2 - vertex 32.0766 -34.3595 -0.2 - vertex 31.8743 -34.7329 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3089 -35.532 -0.2 - vertex 31.8743 -34.7329 -0.2 - vertex 34.7085 -38.1497 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.7085 -38.1497 -0.2 - vertex 31.8743 -34.7329 -0.2 - vertex 33.1514 -38.1555 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 31.6824 -35.0376 -0.2 - vertex 33.1514 -38.1555 -0.2 - vertex 31.8743 -34.7329 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 31.4948 -35.2825 -0.2 - vertex 33.1514 -38.1555 -0.2 - vertex 31.6824 -35.0376 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 31.3052 -35.4767 -0.2 - vertex 33.1514 -38.1555 -0.2 - vertex 31.4948 -35.2825 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 31.1075 -35.6291 -0.2 - vertex 33.1514 -38.1555 -0.2 - vertex 31.3052 -35.4767 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 33.1514 -38.1555 -0.2 - vertex 31.1075 -35.6291 -0.2 - vertex 31.1824 -38.1409 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 30.8955 -35.7486 -0.2 - vertex 31.1824 -38.1409 -0.2 - vertex 31.1075 -35.6291 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 30.6629 -35.8443 -0.2 - vertex 31.1824 -38.1409 -0.2 - vertex 30.8955 -35.7486 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 30.4037 -35.9251 -0.2 - vertex 31.1824 -38.1409 -0.2 - vertex 30.6629 -35.8443 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.4037 -35.9251 -0.2 - vertex 29.8192 -38.0948 -0.2 - vertex 31.1824 -38.1409 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.7804 -36.0779 -0.2 - vertex 29.8192 -38.0948 -0.2 - vertex 30.4037 -35.9251 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.5705 -36.1356 -0.2 - vertex 29.8192 -38.0948 -0.2 - vertex 29.7804 -36.0779 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.3757 -36.2065 -0.2 - vertex 29.8192 -38.0948 -0.2 - vertex 29.5705 -36.1356 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.1966 -36.2895 -0.2 - vertex 29.8192 -38.0948 -0.2 - vertex 29.3757 -36.2065 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.8192 -38.0948 -0.2 - vertex 29.1966 -36.2895 -0.2 - vertex 29.3448 -38.0588 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.034 -36.3831 -0.2 - vertex 29.3448 -38.0588 -0.2 - vertex 29.1966 -36.2895 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.8888 -36.4863 -0.2 - vertex 29.3448 -38.0588 -0.2 - vertex 29.034 -36.3831 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.7617 -36.5978 -0.2 - vertex 29.3448 -38.0588 -0.2 - vertex 28.8888 -36.4863 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.6534 -36.7163 -0.2 - vertex 29.3448 -38.0588 -0.2 - vertex 28.7617 -36.5978 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.3448 -38.0588 -0.2 - vertex 28.6534 -36.7163 -0.2 - vertex 28.9979 -38.0135 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.5648 -36.8405 -0.2 - vertex 28.9979 -38.0135 -0.2 - vertex 28.6534 -36.7163 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.4965 -36.9693 -0.2 - vertex 28.9979 -38.0135 -0.2 - vertex 28.5648 -36.8405 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.4495 -37.1014 -0.2 - vertex 28.9979 -38.0135 -0.2 - vertex 28.4965 -36.9693 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.7706 -37.9584 -0.2 - vertex 28.5587 -37.7674 -0.2 - vertex 28.6548 -37.8931 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.4243 -37.2355 -0.2 - vertex 28.9979 -38.0135 -0.2 - vertex 28.4495 -37.1014 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.9979 -38.0135 -0.2 - vertex 28.5587 -37.7674 -0.2 - vertex 28.7706 -37.9584 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 28.4219 -37.3704 -0.2 - vertex 28.9979 -38.0135 -0.2 - vertex 28.4243 -37.2355 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 28.5587 -37.7674 -0.2 - vertex 28.9979 -38.0135 -0.2 - vertex 28.4883 -37.6376 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 28.4883 -37.6376 -0.2 - vertex 28.9979 -38.0135 -0.2 - vertex 28.443 -37.5048 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.9979 -38.0135 -0.2 - vertex 28.4219 -37.3704 -0.2 - vertex 28.443 -37.5048 -0.2 - endloop - endfacet - facet normal -0.131122 -0.991366 0 - outer loop - vertex 46.8289 -19.1548 -0.2 - vertex 47.044 -19.1833 0 - vertex 46.8289 -19.1548 0 - endloop - endfacet - facet normal -0.131122 -0.991366 -0 - outer loop - vertex 47.044 -19.1833 0 - vertex 46.8289 -19.1548 -0.2 - vertex 47.044 -19.1833 -0.2 - endloop - endfacet - facet normal -0.230596 -0.97305 0 - outer loop - vertex 47.044 -19.1833 -0.2 - vertex 47.2257 -19.2263 0 - vertex 47.044 -19.1833 0 - endloop - endfacet - facet normal -0.230596 -0.97305 -0 - outer loop - vertex 47.2257 -19.2263 0 - vertex 47.044 -19.1833 -0.2 - vertex 47.2257 -19.2263 -0.2 - endloop - endfacet - facet normal -0.359881 -0.932998 0 - outer loop - vertex 47.2257 -19.2263 -0.2 - vertex 47.3799 -19.2858 0 - vertex 47.2257 -19.2263 0 - endloop - endfacet - facet normal -0.359881 -0.932998 -0 - outer loop - vertex 47.3799 -19.2858 0 - vertex 47.2257 -19.2263 -0.2 - vertex 47.3799 -19.2858 -0.2 - endloop - endfacet - facet normal -0.505271 -0.862961 0 - outer loop - vertex 47.3799 -19.2858 -0.2 - vertex 47.5127 -19.3635 0 - vertex 47.3799 -19.2858 0 - endloop - endfacet - facet normal -0.505271 -0.862961 -0 - outer loop - vertex 47.5127 -19.3635 0 - vertex 47.3799 -19.2858 -0.2 - vertex 47.5127 -19.3635 -0.2 - endloop - endfacet - facet normal -0.640123 -0.768272 0 - outer loop - vertex 47.5127 -19.3635 -0.2 - vertex 47.6302 -19.4614 0 - vertex 47.5127 -19.3635 0 - endloop - endfacet - facet normal -0.640123 -0.768272 -0 - outer loop - vertex 47.6302 -19.4614 0 - vertex 47.5127 -19.3635 -0.2 - vertex 47.6302 -19.4614 -0.2 - endloop - endfacet - facet normal -0.742266 -0.670106 0 - outer loop - vertex 47.7384 -19.5813 -0.2 - vertex 47.6302 -19.4614 0 - vertex 47.6302 -19.4614 -0.2 - endloop - endfacet - facet normal -0.742266 -0.670106 0 - outer loop - vertex 47.6302 -19.4614 0 - vertex 47.7384 -19.5813 -0.2 - vertex 47.7384 -19.5813 0 - endloop - endfacet - facet normal -0.797332 -0.60354 0 - outer loop - vertex 47.845 -19.7221 -0.2 - vertex 47.7384 -19.5813 0 - vertex 47.7384 -19.5813 -0.2 - endloop - endfacet - facet normal -0.797332 -0.60354 0 - outer loop - vertex 47.7384 -19.5813 0 - vertex 47.845 -19.7221 -0.2 - vertex 47.845 -19.7221 0 - endloop - endfacet - facet normal -0.85488 -0.518827 0 - outer loop - vertex 47.9233 -19.8512 -0.2 - vertex 47.845 -19.7221 0 - vertex 47.845 -19.7221 -0.2 - endloop - endfacet - facet normal -0.85488 -0.518827 0 - outer loop - vertex 47.845 -19.7221 0 - vertex 47.9233 -19.8512 -0.2 - vertex 47.9233 -19.8512 0 - endloop - endfacet - facet normal -0.930142 -0.367201 0 - outer loop - vertex 47.9745 -19.9807 -0.2 - vertex 47.9233 -19.8512 0 - vertex 47.9233 -19.8512 -0.2 - endloop - endfacet - facet normal -0.930142 -0.367201 0 - outer loop - vertex 47.9233 -19.8512 0 - vertex 47.9745 -19.9807 -0.2 - vertex 47.9745 -19.9807 0 - endloop - endfacet - facet normal -0.985048 -0.172278 0 - outer loop - vertex 47.9993 -20.1225 -0.2 - vertex 47.9745 -19.9807 0 - vertex 47.9745 -19.9807 -0.2 - endloop - endfacet - facet normal -0.985048 -0.172278 0 - outer loop - vertex 47.9745 -19.9807 0 - vertex 47.9993 -20.1225 -0.2 - vertex 47.9993 -20.1225 0 - endloop - endfacet - facet normal -0.999994 0.0034209 0 - outer loop - vertex 47.9987 -20.2887 -0.2 - vertex 47.9993 -20.1225 0 - vertex 47.9993 -20.1225 -0.2 - endloop - endfacet - facet normal -0.999994 0.0034209 0 - outer loop - vertex 47.9993 -20.1225 0 - vertex 47.9987 -20.2887 -0.2 - vertex 47.9987 -20.2887 0 - endloop - endfacet - facet normal -0.992465 0.122526 0 - outer loop - vertex 47.9737 -20.4912 -0.2 - vertex 47.9987 -20.2887 0 - vertex 47.9987 -20.2887 -0.2 - endloop - endfacet - facet normal -0.992465 0.122526 0 - outer loop - vertex 47.9987 -20.2887 0 - vertex 47.9737 -20.4912 -0.2 - vertex 47.9737 -20.4912 0 - endloop - endfacet - facet normal -0.97813 0.207995 0 - outer loop - vertex 47.8542 -21.0531 -0.2 - vertex 47.9737 -20.4912 0 - vertex 47.9737 -20.4912 -0.2 - endloop - endfacet - facet normal -0.97813 0.207995 0 - outer loop - vertex 47.9737 -20.4912 0 - vertex 47.8542 -21.0531 -0.2 - vertex 47.8542 -21.0531 0 - endloop - endfacet - facet normal -0.962149 0.272524 0 - outer loop - vertex 47.7155 -21.5429 -0.2 - vertex 47.8542 -21.0531 0 - vertex 47.8542 -21.0531 -0.2 - endloop - endfacet - facet normal -0.962149 0.272524 0 - outer loop - vertex 47.8542 -21.0531 0 - vertex 47.7155 -21.5429 -0.2 - vertex 47.7155 -21.5429 0 - endloop - endfacet - facet normal -0.934598 0.355705 0 - outer loop - vertex 47.5422 -21.9981 -0.2 - vertex 47.7155 -21.5429 0 - vertex 47.7155 -21.5429 -0.2 - endloop - endfacet - facet normal -0.934598 0.355705 0 - outer loop - vertex 47.7155 -21.5429 0 - vertex 47.5422 -21.9981 -0.2 - vertex 47.5422 -21.9981 0 - endloop - endfacet - facet normal -0.898902 0.438149 0 - outer loop - vertex 47.3383 -22.4165 -0.2 - vertex 47.5422 -21.9981 0 - vertex 47.5422 -21.9981 -0.2 - endloop - endfacet - facet normal -0.898902 0.438149 0 - outer loop - vertex 47.5422 -21.9981 0 - vertex 47.3383 -22.4165 -0.2 - vertex 47.3383 -22.4165 0 - endloop - endfacet - facet normal -0.854314 0.519757 0 - outer loop - vertex 47.1074 -22.796 -0.2 - vertex 47.3383 -22.4165 0 - vertex 47.3383 -22.4165 -0.2 - endloop - endfacet - facet normal -0.854314 0.519757 0 - outer loop - vertex 47.3383 -22.4165 0 - vertex 47.1074 -22.796 -0.2 - vertex 47.1074 -22.796 0 - endloop - endfacet - facet normal -0.79973 0.600359 0 - outer loop - vertex 46.8534 -23.1343 -0.2 - vertex 47.1074 -22.796 0 - vertex 47.1074 -22.796 -0.2 - endloop - endfacet - facet normal -0.79973 0.600359 0 - outer loop - vertex 47.1074 -22.796 0 - vertex 46.8534 -23.1343 -0.2 - vertex 46.8534 -23.1343 0 - endloop - endfacet - facet normal -0.73354 0.679647 0 - outer loop - vertex 46.5801 -23.4293 -0.2 - vertex 46.8534 -23.1343 0 - vertex 46.8534 -23.1343 -0.2 - endloop - endfacet - facet normal -0.73354 0.679647 0 - outer loop - vertex 46.8534 -23.1343 0 - vertex 46.5801 -23.4293 -0.2 - vertex 46.5801 -23.4293 0 - endloop - endfacet - facet normal -0.653573 0.756863 0 - outer loop - vertex 46.5801 -23.4293 -0.2 - vertex 46.2914 -23.6786 0 - vertex 46.5801 -23.4293 0 - endloop - endfacet - facet normal -0.653573 0.756863 0 - outer loop - vertex 46.2914 -23.6786 0 - vertex 46.5801 -23.4293 -0.2 - vertex 46.2914 -23.6786 -0.2 - endloop - endfacet - facet normal -0.557126 0.830428 0 - outer loop - vertex 46.2914 -23.6786 -0.2 - vertex 45.9909 -23.8802 0 - vertex 46.2914 -23.6786 0 - endloop - endfacet - facet normal -0.557126 0.830428 0 - outer loop - vertex 45.9909 -23.8802 0 - vertex 46.2914 -23.6786 -0.2 - vertex 45.9909 -23.8802 -0.2 - endloop - endfacet - facet normal -0.441145 0.897436 0 - outer loop - vertex 45.9909 -23.8802 -0.2 - vertex 45.6826 -24.0317 0 - vertex 45.9909 -23.8802 0 - endloop - endfacet - facet normal -0.441145 0.897436 0 - outer loop - vertex 45.6826 -24.0317 0 - vertex 45.9909 -23.8802 -0.2 - vertex 45.6826 -24.0317 -0.2 - endloop - endfacet - facet normal -0.303061 0.952971 0 - outer loop - vertex 45.6826 -24.0317 -0.2 - vertex 45.3703 -24.1311 0 - vertex 45.6826 -24.0317 0 - endloop - endfacet - facet normal -0.303061 0.952971 0 - outer loop - vertex 45.3703 -24.1311 0 - vertex 45.6826 -24.0317 -0.2 - vertex 45.3703 -24.1311 -0.2 - endloop - endfacet - facet normal -0.142218 0.989835 0 - outer loop - vertex 45.3703 -24.1311 -0.2 - vertex 45.0576 -24.176 0 - vertex 45.3703 -24.1311 0 - endloop - endfacet - facet normal -0.142218 0.989835 0 - outer loop - vertex 45.0576 -24.176 0 - vertex 45.3703 -24.1311 -0.2 - vertex 45.0576 -24.176 -0.2 - endloop - endfacet - facet normal 0.0378695 0.999283 -0 - outer loop - vertex 45.0576 -24.176 -0.2 - vertex 44.7485 -24.1643 0 - vertex 45.0576 -24.176 0 - endloop - endfacet - facet normal 0.0378695 0.999283 0 - outer loop - vertex 44.7485 -24.1643 0 - vertex 45.0576 -24.176 -0.2 - vertex 44.7485 -24.1643 -0.2 - endloop - endfacet - facet normal 0.227696 0.973732 -0 - outer loop - vertex 44.7485 -24.1643 -0.2 - vertex 44.4468 -24.0937 0 - vertex 44.7485 -24.1643 0 - endloop - endfacet - facet normal 0.227696 0.973732 0 - outer loop - vertex 44.4468 -24.0937 0 - vertex 44.7485 -24.1643 -0.2 - vertex 44.4468 -24.0937 -0.2 - endloop - endfacet - facet normal 0.412594 0.910915 -0 - outer loop - vertex 44.4468 -24.0937 -0.2 - vertex 44.1563 -23.9621 0 - vertex 44.4468 -24.0937 0 - endloop - endfacet - facet normal 0.412594 0.910915 0 - outer loop - vertex 44.1563 -23.9621 0 - vertex 44.4468 -24.0937 -0.2 - vertex 44.1563 -23.9621 -0.2 - endloop - endfacet - facet normal 0.57736 0.81649 -0 - outer loop - vertex 44.1563 -23.9621 -0.2 - vertex 43.8807 -23.7673 0 - vertex 44.1563 -23.9621 0 - endloop - endfacet - facet normal 0.57736 0.81649 0 - outer loop - vertex 43.8807 -23.7673 0 - vertex 44.1563 -23.9621 -0.2 - vertex 43.8807 -23.7673 -0.2 - endloop - endfacet - facet normal 0.711931 0.70225 0 - outer loop - vertex 43.8807 -23.7673 0 - vertex 43.6239 -23.5069 -0.2 - vertex 43.6239 -23.5069 0 - endloop - endfacet - facet normal 0.711931 0.70225 0 - outer loop - vertex 43.6239 -23.5069 -0.2 - vertex 43.8807 -23.7673 0 - vertex 43.8807 -23.7673 -0.2 - endloop - endfacet - facet normal 0.732645 0.680611 0 - outer loop - vertex 43.6239 -23.5069 0 - vertex 43.3873 -23.2523 -0.2 - vertex 43.3873 -23.2523 0 - endloop - endfacet - facet normal 0.732645 0.680611 0 - outer loop - vertex 43.3873 -23.2523 -0.2 - vertex 43.6239 -23.5069 0 - vertex 43.6239 -23.5069 -0.2 - endloop - endfacet - facet normal 0.659068 0.752084 -0 - outer loop - vertex 43.3873 -23.2523 -0.2 - vertex 43.1493 -23.0437 0 - vertex 43.3873 -23.2523 0 - endloop - endfacet - facet normal 0.659068 0.752084 0 - outer loop - vertex 43.1493 -23.0437 0 - vertex 43.3873 -23.2523 -0.2 - vertex 43.1493 -23.0437 -0.2 - endloop - endfacet - facet normal 0.55411 0.832444 -0 - outer loop - vertex 43.1493 -23.0437 -0.2 - vertex 42.9376 -22.9028 0 - vertex 43.1493 -23.0437 0 - endloop - endfacet - facet normal 0.55411 0.832444 0 - outer loop - vertex 42.9376 -22.9028 0 - vertex 43.1493 -23.0437 -0.2 - vertex 42.9376 -22.9028 -0.2 - endloop - endfacet - facet normal 0.402192 0.915555 -0 - outer loop - vertex 42.9376 -22.9028 -0.2 - vertex 42.8503 -22.8644 0 - vertex 42.9376 -22.9028 0 - endloop - endfacet - facet normal 0.402192 0.915555 0 - outer loop - vertex 42.8503 -22.8644 0 - vertex 42.9376 -22.9028 -0.2 - vertex 42.8503 -22.8644 -0.2 - endloop - endfacet - facet normal 0.186876 0.982384 -0 - outer loop - vertex 42.8503 -22.8644 -0.2 - vertex 42.7799 -22.851 0 - vertex 42.8503 -22.8644 0 - endloop - endfacet - facet normal 0.186876 0.982384 0 - outer loop - vertex 42.7799 -22.851 0 - vertex 42.8503 -22.8644 -0.2 - vertex 42.7799 -22.851 -0.2 - endloop - endfacet - facet normal -0.254315 0.967121 0 - outer loop - vertex 42.7799 -22.851 -0.2 - vertex 42.6968 -22.8729 0 - vertex 42.7799 -22.851 0 - endloop - endfacet - facet normal -0.254315 0.967121 0 - outer loop - vertex 42.6968 -22.8729 0 - vertex 42.7799 -22.851 -0.2 - vertex 42.6968 -22.8729 -0.2 - endloop - endfacet - facet normal -0.451219 0.892413 0 - outer loop - vertex 42.6968 -22.8729 -0.2 - vertex 42.5728 -22.9356 0 - vertex 42.6968 -22.8729 0 - endloop - endfacet - facet normal -0.451219 0.892413 0 - outer loop - vertex 42.5728 -22.9356 0 - vertex 42.6968 -22.8729 -0.2 - vertex 42.5728 -22.9356 -0.2 - endloop - endfacet - facet normal -0.553713 0.832708 0 - outer loop - vertex 42.5728 -22.9356 -0.2 - vertex 42.2267 -23.1657 0 - vertex 42.5728 -22.9356 0 - endloop - endfacet - facet normal -0.553713 0.832708 0 - outer loop - vertex 42.2267 -23.1657 0 - vertex 42.5728 -22.9356 -0.2 - vertex 42.2267 -23.1657 -0.2 - endloop - endfacet - facet normal -0.614835 0.788656 0 - outer loop - vertex 42.2267 -23.1657 -0.2 - vertex 41.7898 -23.5063 0 - vertex 42.2267 -23.1657 0 - endloop - endfacet - facet normal -0.614835 0.788656 0 - outer loop - vertex 41.7898 -23.5063 0 - vertex 42.2267 -23.1657 -0.2 - vertex 41.7898 -23.5063 -0.2 - endloop - endfacet - facet normal -0.655263 0.755401 0 - outer loop - vertex 41.7898 -23.5063 -0.2 - vertex 41.3103 -23.9223 0 - vertex 41.7898 -23.5063 0 - endloop - endfacet - facet normal -0.655263 0.755401 0 - outer loop - vertex 41.3103 -23.9223 0 - vertex 41.7898 -23.5063 -0.2 - vertex 41.3103 -23.9223 -0.2 - endloop - endfacet - facet normal -0.681106 0.732185 0 - outer loop - vertex 41.3103 -23.9223 -0.2 - vertex 40.922 -24.2835 0 - vertex 41.3103 -23.9223 0 - endloop - endfacet - facet normal -0.681106 0.732185 0 - outer loop - vertex 40.922 -24.2835 0 - vertex 41.3103 -23.9223 -0.2 - vertex 40.922 -24.2835 -0.2 - endloop - endfacet - facet normal -0.723872 0.689934 0 - outer loop - vertex 40.604 -24.6171 -0.2 - vertex 40.922 -24.2835 0 - vertex 40.922 -24.2835 -0.2 - endloop - endfacet - facet normal -0.723872 0.689934 0 - outer loop - vertex 40.922 -24.2835 0 - vertex 40.604 -24.6171 -0.2 - vertex 40.604 -24.6171 0 - endloop - endfacet - facet normal -0.795563 0.60587 0 - outer loop - vertex 40.3218 -24.9877 -0.2 - vertex 40.604 -24.6171 0 - vertex 40.604 -24.6171 -0.2 - endloop - endfacet - facet normal -0.795563 0.60587 0 - outer loop - vertex 40.604 -24.6171 0 - vertex 40.3218 -24.9877 -0.2 - vertex 40.3218 -24.9877 0 - endloop - endfacet - facet normal -0.859211 0.511621 0 - outer loop - vertex 40.0406 -25.46 -0.2 - vertex 40.3218 -24.9877 0 - vertex 40.3218 -24.9877 -0.2 - endloop - endfacet - facet normal -0.859211 0.511621 0 - outer loop - vertex 40.3218 -24.9877 0 - vertex 40.0406 -25.46 -0.2 - vertex 40.0406 -25.46 0 - endloop - endfacet - facet normal -0.896877 0.442281 0 - outer loop - vertex 39.7256 -26.0988 -0.2 - vertex 40.0406 -25.46 0 - vertex 40.0406 -25.46 -0.2 - endloop - endfacet - facet normal -0.896877 0.442281 0 - outer loop - vertex 40.0406 -25.46 0 - vertex 39.7256 -26.0988 -0.2 - vertex 39.7256 -26.0988 0 - endloop - endfacet - facet normal -0.915036 0.403372 0 - outer loop - vertex 39.342 -26.9688 -0.2 - vertex 39.7256 -26.0988 0 - vertex 39.7256 -26.0988 -0.2 - endloop - endfacet - facet normal -0.915036 0.403372 0 - outer loop - vertex 39.7256 -26.0988 0 - vertex 39.342 -26.9688 -0.2 - vertex 39.342 -26.9688 0 - endloop - endfacet - facet normal -0.924339 0.381572 0 - outer loop - vertex 38.2305 -29.6614 -0.2 - vertex 39.342 -26.9688 0 - vertex 39.342 -26.9688 -0.2 - endloop - endfacet - facet normal -0.924339 0.381572 0 - outer loop - vertex 39.342 -26.9688 0 - vertex 38.2305 -29.6614 -0.2 - vertex 38.2305 -29.6614 0 - endloop - endfacet - facet normal -0.929232 0.369498 0 - outer loop - vertex 37.444 -31.6395 -0.2 - vertex 38.2305 -29.6614 0 - vertex 38.2305 -29.6614 -0.2 - endloop - endfacet - facet normal -0.929232 0.369498 0 - outer loop - vertex 38.2305 -29.6614 0 - vertex 37.444 -31.6395 -0.2 - vertex 37.444 -31.6395 0 - endloop - endfacet - facet normal -0.937221 0.348736 0 - outer loop - vertex 36.8389 -33.2656 -0.2 - vertex 37.444 -31.6395 0 - vertex 37.444 -31.6395 -0.2 - endloop - endfacet - facet normal -0.937221 0.348736 0 - outer loop - vertex 37.444 -31.6395 0 - vertex 36.8389 -33.2656 -0.2 - vertex 36.8389 -33.2656 0 - endloop - endfacet - facet normal -0.949427 0.313989 0 - outer loop - vertex 36.4479 -34.448 -0.2 - vertex 36.8389 -33.2656 0 - vertex 36.8389 -33.2656 -0.2 - endloop - endfacet - facet normal -0.949427 0.313989 0 - outer loop - vertex 36.8389 -33.2656 0 - vertex 36.4479 -34.448 -0.2 - vertex 36.4479 -34.448 0 - endloop - endfacet - facet normal -0.966574 0.256387 0 - outer loop - vertex 36.3428 -34.844 -0.2 - vertex 36.4479 -34.448 0 - vertex 36.4479 -34.448 -0.2 - endloop - endfacet - facet normal -0.966574 0.256387 0 - outer loop - vertex 36.4479 -34.448 0 - vertex 36.3428 -34.844 -0.2 - vertex 36.3428 -34.844 0 - endloop - endfacet - facet normal -0.987922 0.154951 0 - outer loop - vertex 36.3035 -35.0946 -0.2 - vertex 36.3428 -34.844 0 - vertex 36.3428 -34.844 -0.2 - endloop - endfacet - facet normal -0.987922 0.154951 0 - outer loop - vertex 36.3428 -34.844 0 - vertex 36.3035 -35.0946 -0.2 - vertex 36.3035 -35.0946 0 - endloop - endfacet - facet normal -0.999846 0.0175753 0 - outer loop - vertex 36.2992 -35.3418 -0.2 - vertex 36.3035 -35.0946 0 - vertex 36.3035 -35.0946 -0.2 - endloop - endfacet - facet normal -0.999846 0.0175753 0 - outer loop - vertex 36.3035 -35.0946 0 - vertex 36.2992 -35.3418 -0.2 - vertex 36.2992 -35.3418 0 - endloop - endfacet - facet normal -0.99871 -0.0507764 0 - outer loop - vertex 36.3089 -35.532 -0.2 - vertex 36.2992 -35.3418 0 - vertex 36.2992 -35.3418 -0.2 - endloop - endfacet - facet normal -0.99871 -0.0507764 0 - outer loop - vertex 36.2992 -35.3418 0 - vertex 36.3089 -35.532 -0.2 - vertex 36.3089 -35.532 0 - endloop - endfacet - facet normal -0.974112 -0.226068 0 - outer loop - vertex 36.3422 -35.6758 -0.2 - vertex 36.3089 -35.532 0 - vertex 36.3089 -35.532 -0.2 - endloop - endfacet - facet normal -0.974112 -0.226068 0 - outer loop - vertex 36.3089 -35.532 0 - vertex 36.3422 -35.6758 -0.2 - vertex 36.3422 -35.6758 0 - endloop - endfacet - facet normal -0.84992 -0.526911 0 - outer loop - vertex 36.4089 -35.7834 -0.2 - vertex 36.3422 -35.6758 0 - vertex 36.3422 -35.6758 -0.2 - endloop - endfacet - facet normal -0.84992 -0.526911 0 - outer loop - vertex 36.3422 -35.6758 0 - vertex 36.4089 -35.7834 -0.2 - vertex 36.4089 -35.7834 0 - endloop - endfacet - facet normal -0.59793 -0.801548 0 - outer loop - vertex 36.4089 -35.7834 -0.2 - vertex 36.5187 -35.8653 0 - vertex 36.4089 -35.7834 0 - endloop - endfacet - facet normal -0.59793 -0.801548 -0 - outer loop - vertex 36.5187 -35.8653 0 - vertex 36.4089 -35.7834 -0.2 - vertex 36.5187 -35.8653 -0.2 - endloop - endfacet - facet normal -0.37896 -0.925413 0 - outer loop - vertex 36.5187 -35.8653 -0.2 - vertex 36.6812 -35.9318 0 - vertex 36.5187 -35.8653 0 - endloop - endfacet - facet normal -0.37896 -0.925413 -0 - outer loop - vertex 36.6812 -35.9318 0 - vertex 36.5187 -35.8653 -0.2 - vertex 36.6812 -35.9318 -0.2 - endloop - endfacet - facet normal -0.239239 -0.970961 0 - outer loop - vertex 36.6812 -35.9318 -0.2 - vertex 37.203 -36.0604 0 - vertex 36.6812 -35.9318 0 - endloop - endfacet - facet normal -0.239239 -0.970961 -0 - outer loop - vertex 37.203 -36.0604 0 - vertex 36.6812 -35.9318 -0.2 - vertex 37.203 -36.0604 -0.2 - endloop - endfacet - facet normal -0.245847 -0.969309 0 - outer loop - vertex 37.203 -36.0604 -0.2 - vertex 37.6954 -36.1853 0 - vertex 37.203 -36.0604 0 - endloop - endfacet - facet normal -0.245847 -0.969309 -0 - outer loop - vertex 37.6954 -36.1853 0 - vertex 37.203 -36.0604 -0.2 - vertex 37.6954 -36.1853 -0.2 - endloop - endfacet - facet normal -0.369675 -0.929161 0 - outer loop - vertex 37.6954 -36.1853 -0.2 - vertex 37.8576 -36.2498 0 - vertex 37.6954 -36.1853 0 - endloop - endfacet - facet normal -0.369675 -0.929161 -0 - outer loop - vertex 37.8576 -36.2498 0 - vertex 37.6954 -36.1853 -0.2 - vertex 37.8576 -36.2498 -0.2 - endloop - endfacet - facet normal -0.539517 -0.841975 0 - outer loop - vertex 37.8576 -36.2498 -0.2 - vertex 37.9736 -36.3241 0 - vertex 37.8576 -36.2498 0 - endloop - endfacet - facet normal -0.539517 -0.841975 -0 - outer loop - vertex 37.9736 -36.3241 0 - vertex 37.8576 -36.2498 -0.2 - vertex 37.9736 -36.3241 -0.2 - endloop - endfacet - facet normal -0.760366 -0.649494 0 - outer loop - vertex 38.0509 -36.4146 -0.2 - vertex 37.9736 -36.3241 0 - vertex 37.9736 -36.3241 -0.2 - endloop - endfacet - facet normal -0.760366 -0.649494 0 - outer loop - vertex 37.9736 -36.3241 0 - vertex 38.0509 -36.4146 -0.2 - vertex 38.0509 -36.4146 0 - endloop - endfacet - facet normal -0.926147 -0.377163 0 - outer loop - vertex 38.0969 -36.5276 -0.2 - vertex 38.0509 -36.4146 0 - vertex 38.0509 -36.4146 -0.2 - endloop - endfacet - facet normal -0.926147 -0.377163 0 - outer loop - vertex 38.0509 -36.4146 0 - vertex 38.0969 -36.5276 -0.2 - vertex 38.0969 -36.5276 0 - endloop - endfacet - facet normal -0.988006 -0.154417 0 - outer loop - vertex 38.119 -36.6694 -0.2 - vertex 38.0969 -36.5276 0 - vertex 38.0969 -36.5276 -0.2 - endloop - endfacet - facet normal -0.988006 -0.154417 0 - outer loop - vertex 38.0969 -36.5276 0 - vertex 38.119 -36.6694 -0.2 - vertex 38.119 -36.6694 0 - endloop - endfacet - facet normal -0.999475 -0.0324031 0 - outer loop - vertex 38.1248 -36.8464 -0.2 - vertex 38.119 -36.6694 0 - vertex 38.119 -36.6694 -0.2 - endloop - endfacet - facet normal -0.999475 -0.0324031 0 - outer loop - vertex 38.119 -36.6694 0 - vertex 38.1248 -36.8464 -0.2 - vertex 38.1248 -36.8464 0 - endloop - endfacet - facet normal -0.99859 0.0530808 0 - outer loop - vertex 38.103 -37.2562 -0.2 - vertex 38.1248 -36.8464 0 - vertex 38.1248 -36.8464 -0.2 - endloop - endfacet - facet normal -0.99859 0.0530808 0 - outer loop - vertex 38.1248 -36.8464 0 - vertex 38.103 -37.2562 -0.2 - vertex 38.103 -37.2562 0 - endloop - endfacet - facet normal -0.977614 0.210405 0 - outer loop - vertex 38.0668 -37.4245 -0.2 - vertex 38.103 -37.2562 0 - vertex 38.103 -37.2562 -0.2 - endloop - endfacet - facet normal -0.977614 0.210405 0 - outer loop - vertex 38.103 -37.2562 0 - vertex 38.0668 -37.4245 -0.2 - vertex 38.0668 -37.4245 0 - endloop - endfacet - facet normal -0.922461 0.38609 0 - outer loop - vertex 38.0057 -37.5705 -0.2 - vertex 38.0668 -37.4245 0 - vertex 38.0668 -37.4245 -0.2 - endloop - endfacet - facet normal -0.922461 0.38609 0 - outer loop - vertex 38.0668 -37.4245 0 - vertex 38.0057 -37.5705 -0.2 - vertex 38.0057 -37.5705 0 - endloop - endfacet - facet normal -0.806037 0.591865 0 - outer loop - vertex 37.9137 -37.6957 -0.2 - vertex 38.0057 -37.5705 0 - vertex 38.0057 -37.5705 -0.2 - endloop - endfacet - facet normal -0.806037 0.591865 0 - outer loop - vertex 38.0057 -37.5705 0 - vertex 37.9137 -37.6957 -0.2 - vertex 37.9137 -37.6957 0 - endloop - endfacet - facet normal -0.635642 0.771984 0 - outer loop - vertex 37.9137 -37.6957 -0.2 - vertex 37.7849 -37.8018 0 - vertex 37.9137 -37.6957 0 - endloop - endfacet - facet normal -0.635642 0.771984 0 - outer loop - vertex 37.7849 -37.8018 0 - vertex 37.9137 -37.6957 -0.2 - vertex 37.7849 -37.8018 -0.2 - endloop - endfacet - facet normal -0.458146 0.888877 0 - outer loop - vertex 37.7849 -37.8018 -0.2 - vertex 37.6132 -37.8903 0 - vertex 37.7849 -37.8018 0 - endloop - endfacet - facet normal -0.458146 0.888877 0 - outer loop - vertex 37.6132 -37.8903 0 - vertex 37.7849 -37.8018 -0.2 - vertex 37.6132 -37.8903 -0.2 - endloop - endfacet - facet normal -0.312246 0.950001 0 - outer loop - vertex 37.6132 -37.8903 -0.2 - vertex 37.3927 -37.9628 0 - vertex 37.6132 -37.8903 0 - endloop - endfacet - facet normal -0.312246 0.950001 0 - outer loop - vertex 37.3927 -37.9628 0 - vertex 37.6132 -37.8903 -0.2 - vertex 37.3927 -37.9628 -0.2 - endloop - endfacet - facet normal -0.206263 0.978497 0 - outer loop - vertex 37.3927 -37.9628 -0.2 - vertex 37.1174 -38.0208 0 - vertex 37.3927 -37.9628 0 - endloop - endfacet - facet normal -0.206263 0.978497 0 - outer loop - vertex 37.1174 -38.0208 0 - vertex 37.3927 -37.9628 -0.2 - vertex 37.1174 -38.0208 -0.2 - endloop - endfacet - facet normal -0.133215 0.991087 0 - outer loop - vertex 37.1174 -38.0208 -0.2 - vertex 36.7812 -38.066 0 - vertex 37.1174 -38.0208 0 - endloop - endfacet - facet normal -0.133215 0.991087 0 - outer loop - vertex 36.7812 -38.066 0 - vertex 37.1174 -38.0208 -0.2 - vertex 36.7812 -38.066 -0.2 - endloop - endfacet - facet normal -0.0659814 0.997821 0 - outer loop - vertex 36.7812 -38.066 -0.2 - vertex 35.9024 -38.1241 0 - vertex 36.7812 -38.066 0 - endloop - endfacet - facet normal -0.0659814 0.997821 0 - outer loop - vertex 35.9024 -38.1241 0 - vertex 36.7812 -38.066 -0.2 - vertex 35.9024 -38.1241 -0.2 - endloop - endfacet - facet normal -0.0214493 0.99977 0 - outer loop - vertex 35.9024 -38.1241 -0.2 - vertex 34.7085 -38.1497 0 - vertex 35.9024 -38.1241 0 - endloop - endfacet - facet normal -0.0214493 0.99977 0 - outer loop - vertex 34.7085 -38.1497 0 - vertex 35.9024 -38.1241 -0.2 - vertex 34.7085 -38.1497 -0.2 - endloop - endfacet - facet normal -0.00368212 0.999993 0 - outer loop - vertex 34.7085 -38.1497 -0.2 - vertex 33.1514 -38.1555 0 - vertex 34.7085 -38.1497 0 - endloop - endfacet - facet normal -0.00368212 0.999993 0 - outer loop - vertex 33.1514 -38.1555 0 - vertex 34.7085 -38.1497 -0.2 - vertex 33.1514 -38.1555 -0.2 - endloop - endfacet - facet normal 0.00738333 0.999973 -0 - outer loop - vertex 33.1514 -38.1555 -0.2 - vertex 31.1824 -38.1409 0 - vertex 33.1514 -38.1555 0 - endloop - endfacet - facet normal 0.00738333 0.999973 0 - outer loop - vertex 31.1824 -38.1409 0 - vertex 33.1514 -38.1555 -0.2 - vertex 31.1824 -38.1409 -0.2 - endloop - endfacet - facet normal 0.0337924 0.999429 -0 - outer loop - vertex 31.1824 -38.1409 -0.2 - vertex 29.8192 -38.0948 0 - vertex 31.1824 -38.1409 0 - endloop - endfacet - facet normal 0.0337924 0.999429 0 - outer loop - vertex 29.8192 -38.0948 0 - vertex 31.1824 -38.1409 -0.2 - vertex 29.8192 -38.0948 -0.2 - endloop - endfacet - facet normal 0.0757553 0.997126 -0 - outer loop - vertex 29.8192 -38.0948 -0.2 - vertex 29.3448 -38.0588 0 - vertex 29.8192 -38.0948 0 - endloop - endfacet - facet normal 0.0757553 0.997126 0 - outer loop - vertex 29.3448 -38.0588 0 - vertex 29.8192 -38.0948 -0.2 - vertex 29.3448 -38.0588 -0.2 - endloop - endfacet - facet normal 0.129569 0.99157 -0 - outer loop - vertex 29.3448 -38.0588 -0.2 - vertex 28.9979 -38.0135 0 - vertex 29.3448 -38.0588 0 - endloop - endfacet - facet normal 0.129569 0.99157 0 - outer loop - vertex 28.9979 -38.0135 0 - vertex 29.3448 -38.0588 -0.2 - vertex 28.9979 -38.0135 -0.2 - endloop - endfacet - facet normal 0.235468 0.971882 -0 - outer loop - vertex 28.9979 -38.0135 -0.2 - vertex 28.7706 -37.9584 0 - vertex 28.9979 -38.0135 0 - endloop - endfacet - facet normal 0.235468 0.971882 0 - outer loop - vertex 28.7706 -37.9584 0 - vertex 28.9979 -38.0135 -0.2 - vertex 28.7706 -37.9584 -0.2 - endloop - endfacet - facet normal 0.491281 0.871001 -0 - outer loop - vertex 28.7706 -37.9584 -0.2 - vertex 28.6548 -37.8931 0 - vertex 28.7706 -37.9584 0 - endloop - endfacet - facet normal 0.491281 0.871001 0 - outer loop - vertex 28.6548 -37.8931 0 - vertex 28.7706 -37.9584 -0.2 - vertex 28.6548 -37.8931 -0.2 - endloop - endfacet - facet normal 0.794168 0.607698 0 - outer loop - vertex 28.6548 -37.8931 0 - vertex 28.5587 -37.7674 -0.2 - vertex 28.5587 -37.7674 0 - endloop - endfacet - facet normal 0.794168 0.607698 0 - outer loop - vertex 28.5587 -37.7674 -0.2 - vertex 28.6548 -37.8931 0 - vertex 28.6548 -37.8931 -0.2 - endloop - endfacet - facet normal 0.879213 0.47643 0 - outer loop - vertex 28.5587 -37.7674 0 - vertex 28.4883 -37.6376 -0.2 - vertex 28.4883 -37.6376 0 - endloop - endfacet - facet normal 0.879213 0.47643 0 - outer loop - vertex 28.4883 -37.6376 -0.2 - vertex 28.5587 -37.7674 0 - vertex 28.5587 -37.7674 -0.2 - endloop - endfacet - facet normal 0.946363 0.323104 0 - outer loop - vertex 28.4883 -37.6376 0 - vertex 28.443 -37.5048 -0.2 - vertex 28.443 -37.5048 0 - endloop - endfacet - facet normal 0.946363 0.323104 0 - outer loop - vertex 28.443 -37.5048 -0.2 - vertex 28.4883 -37.6376 0 - vertex 28.4883 -37.6376 -0.2 - endloop - endfacet - facet normal 0.987941 0.154833 0 - outer loop - vertex 28.443 -37.5048 0 - vertex 28.4219 -37.3704 -0.2 - vertex 28.4219 -37.3704 0 - endloop - endfacet - facet normal 0.987941 0.154833 0 - outer loop - vertex 28.4219 -37.3704 -0.2 - vertex 28.443 -37.5048 0 - vertex 28.443 -37.5048 -0.2 - endloop - endfacet - facet normal 0.99984 -0.0178826 0 - outer loop - vertex 28.4219 -37.3704 0 - vertex 28.4243 -37.2355 -0.2 - vertex 28.4243 -37.2355 0 - endloop - endfacet - facet normal 0.99984 -0.0178826 0 - outer loop - vertex 28.4243 -37.2355 -0.2 - vertex 28.4219 -37.3704 0 - vertex 28.4219 -37.3704 -0.2 - endloop - endfacet - facet normal 0.982895 -0.184165 0 - outer loop - vertex 28.4243 -37.2355 0 - vertex 28.4495 -37.1014 -0.2 - vertex 28.4495 -37.1014 0 - endloop - endfacet - facet normal 0.982895 -0.184165 0 - outer loop - vertex 28.4495 -37.1014 -0.2 - vertex 28.4243 -37.2355 0 - vertex 28.4243 -37.2355 -0.2 - endloop - endfacet - facet normal 0.941957 -0.335735 0 - outer loop - vertex 28.4495 -37.1014 0 - vertex 28.4965 -36.9693 -0.2 - vertex 28.4965 -36.9693 0 - endloop - endfacet - facet normal 0.941957 -0.335735 0 - outer loop - vertex 28.4965 -36.9693 -0.2 - vertex 28.4495 -37.1014 0 - vertex 28.4495 -37.1014 -0.2 - endloop - endfacet - facet normal 0.883597 -0.468248 0 - outer loop - vertex 28.4965 -36.9693 0 - vertex 28.5648 -36.8405 -0.2 - vertex 28.5648 -36.8405 0 - endloop - endfacet - facet normal 0.883597 -0.468248 0 - outer loop - vertex 28.5648 -36.8405 -0.2 - vertex 28.4965 -36.9693 0 - vertex 28.4965 -36.9693 -0.2 - endloop - endfacet - facet normal 0.814058 -0.580783 0 - outer loop - vertex 28.5648 -36.8405 0 - vertex 28.6534 -36.7163 -0.2 - vertex 28.6534 -36.7163 0 - endloop - endfacet - facet normal 0.814058 -0.580783 0 - outer loop - vertex 28.6534 -36.7163 -0.2 - vertex 28.5648 -36.8405 0 - vertex 28.5648 -36.8405 -0.2 - endloop - endfacet - facet normal 0.738176 -0.674608 0 - outer loop - vertex 28.6534 -36.7163 0 - vertex 28.7617 -36.5978 -0.2 - vertex 28.7617 -36.5978 0 - endloop - endfacet - facet normal 0.738176 -0.674608 0 - outer loop - vertex 28.7617 -36.5978 -0.2 - vertex 28.6534 -36.7163 0 - vertex 28.6534 -36.7163 -0.2 - endloop - endfacet - facet normal 0.659231 -0.75194 0 - outer loop - vertex 28.7617 -36.5978 -0.2 - vertex 28.8888 -36.4863 0 - vertex 28.7617 -36.5978 0 - endloop - endfacet - facet normal 0.659231 -0.75194 0 - outer loop - vertex 28.8888 -36.4863 0 - vertex 28.7617 -36.5978 -0.2 - vertex 28.8888 -36.4863 -0.2 - endloop - endfacet - facet normal 0.57926 -0.815143 0 - outer loop - vertex 28.8888 -36.4863 -0.2 - vertex 29.034 -36.3831 0 - vertex 28.8888 -36.4863 0 - endloop - endfacet - facet normal 0.57926 -0.815143 0 - outer loop - vertex 29.034 -36.3831 0 - vertex 28.8888 -36.4863 -0.2 - vertex 29.034 -36.3831 -0.2 - endloop - endfacet - facet normal 0.499403 -0.86637 0 - outer loop - vertex 29.034 -36.3831 -0.2 - vertex 29.1966 -36.2895 0 - vertex 29.034 -36.3831 0 - endloop - endfacet - facet normal 0.499403 -0.86637 0 - outer loop - vertex 29.1966 -36.2895 0 - vertex 29.034 -36.3831 -0.2 - vertex 29.1966 -36.2895 -0.2 - endloop - endfacet - facet normal 0.420274 -0.907397 0 - outer loop - vertex 29.1966 -36.2895 -0.2 - vertex 29.3757 -36.2065 0 - vertex 29.1966 -36.2895 0 - endloop - endfacet - facet normal 0.420274 -0.907397 0 - outer loop - vertex 29.3757 -36.2065 0 - vertex 29.1966 -36.2895 -0.2 - vertex 29.3757 -36.2065 -0.2 - endloop - endfacet - facet normal 0.34216 -0.939642 0 - outer loop - vertex 29.3757 -36.2065 -0.2 - vertex 29.5705 -36.1356 0 - vertex 29.3757 -36.2065 0 - endloop - endfacet - facet normal 0.34216 -0.939642 0 - outer loop - vertex 29.5705 -36.1356 0 - vertex 29.3757 -36.2065 -0.2 - vertex 29.5705 -36.1356 -0.2 - endloop - endfacet - facet normal 0.265166 -0.964203 0 - outer loop - vertex 29.5705 -36.1356 -0.2 - vertex 29.7804 -36.0779 0 - vertex 29.5705 -36.1356 0 - endloop - endfacet - facet normal 0.265166 -0.964203 0 - outer loop - vertex 29.7804 -36.0779 0 - vertex 29.5705 -36.1356 -0.2 - vertex 29.7804 -36.0779 -0.2 - endloop - endfacet - facet normal 0.237962 -0.971274 0 - outer loop - vertex 29.7804 -36.0779 -0.2 - vertex 30.4037 -35.9251 0 - vertex 29.7804 -36.0779 0 - endloop - endfacet - facet normal 0.237962 -0.971274 0 - outer loop - vertex 30.4037 -35.9251 0 - vertex 29.7804 -36.0779 -0.2 - vertex 30.4037 -35.9251 -0.2 - endloop - endfacet - facet normal 0.297523 -0.954715 0 - outer loop - vertex 30.4037 -35.9251 -0.2 - vertex 30.6629 -35.8443 0 - vertex 30.4037 -35.9251 0 - endloop - endfacet - facet normal 0.297523 -0.954715 0 - outer loop - vertex 30.6629 -35.8443 0 - vertex 30.4037 -35.9251 -0.2 - vertex 30.6629 -35.8443 -0.2 - endloop - endfacet - facet normal 0.380574 -0.92475 0 - outer loop - vertex 30.6629 -35.8443 -0.2 - vertex 30.8955 -35.7486 0 - vertex 30.6629 -35.8443 0 - endloop - endfacet - facet normal 0.380574 -0.92475 0 - outer loop - vertex 30.8955 -35.7486 0 - vertex 30.6629 -35.8443 -0.2 - vertex 30.8955 -35.7486 -0.2 - endloop - endfacet - facet normal 0.491191 -0.871052 0 - outer loop - vertex 30.8955 -35.7486 -0.2 - vertex 31.1075 -35.6291 0 - vertex 30.8955 -35.7486 0 - endloop - endfacet - facet normal 0.491191 -0.871052 0 - outer loop - vertex 31.1075 -35.6291 0 - vertex 30.8955 -35.7486 -0.2 - vertex 31.1075 -35.6291 -0.2 - endloop - endfacet - facet normal 0.610497 -0.792019 0 - outer loop - vertex 31.1075 -35.6291 -0.2 - vertex 31.3052 -35.4767 0 - vertex 31.1075 -35.6291 0 - endloop - endfacet - facet normal 0.610497 -0.792019 0 - outer loop - vertex 31.3052 -35.4767 0 - vertex 31.1075 -35.6291 -0.2 - vertex 31.3052 -35.4767 -0.2 - endloop - endfacet - facet normal 0.71556 -0.698551 0 - outer loop - vertex 31.3052 -35.4767 0 - vertex 31.4948 -35.2825 -0.2 - vertex 31.4948 -35.2825 0 - endloop - endfacet - facet normal 0.71556 -0.698551 0 - outer loop - vertex 31.4948 -35.2825 -0.2 - vertex 31.3052 -35.4767 0 - vertex 31.3052 -35.4767 -0.2 - endloop - endfacet - facet normal 0.793854 -0.608109 0 - outer loop - vertex 31.4948 -35.2825 0 - vertex 31.6824 -35.0376 -0.2 - vertex 31.6824 -35.0376 0 - endloop - endfacet - facet normal 0.793854 -0.608109 0 - outer loop - vertex 31.6824 -35.0376 -0.2 - vertex 31.4948 -35.2825 0 - vertex 31.4948 -35.2825 -0.2 - endloop - endfacet - facet normal 0.846168 -0.532916 0 - outer loop - vertex 31.6824 -35.0376 0 - vertex 31.8743 -34.7329 -0.2 - vertex 31.8743 -34.7329 0 - endloop - endfacet - facet normal 0.846168 -0.532916 0 - outer loop - vertex 31.8743 -34.7329 -0.2 - vertex 31.6824 -35.0376 0 - vertex 31.6824 -35.0376 -0.2 - endloop - endfacet - facet normal 0.879213 -0.47643 0 - outer loop - vertex 31.8743 -34.7329 0 - vertex 32.0766 -34.3595 -0.2 - vertex 32.0766 -34.3595 0 - endloop - endfacet - facet normal 0.879213 -0.47643 0 - outer loop - vertex 32.0766 -34.3595 -0.2 - vertex 31.8743 -34.7329 0 - vertex 31.8743 -34.7329 -0.2 - endloop - endfacet - facet normal 0.906414 -0.422389 0 - outer loop - vertex 32.0766 -34.3595 0 - vertex 32.5373 -33.371 -0.2 - vertex 32.5373 -33.371 0 - endloop - endfacet - facet normal 0.906414 -0.422389 0 - outer loop - vertex 32.5373 -33.371 -0.2 - vertex 32.0766 -34.3595 0 - vertex 32.0766 -34.3595 -0.2 - endloop - endfacet - facet normal 0.921762 -0.387755 0 - outer loop - vertex 32.5373 -33.371 0 - vertex 33.1139 -32.0001 -0.2 - vertex 33.1139 -32.0001 0 - endloop - endfacet - facet normal 0.921762 -0.387755 0 - outer loop - vertex 33.1139 -32.0001 -0.2 - vertex 32.5373 -33.371 0 - vertex 32.5373 -33.371 -0.2 - endloop - endfacet - facet normal 0.926317 -0.376745 0 - outer loop - vertex 33.1139 -32.0001 0 - vertex 33.8561 -30.1753 -0.2 - vertex 33.8561 -30.1753 0 - endloop - endfacet - facet normal 0.926317 -0.376745 0 - outer loop - vertex 33.8561 -30.1753 -0.2 - vertex 33.1139 -32.0001 0 - vertex 33.1139 -32.0001 -0.2 - endloop - endfacet - facet normal 0.926524 -0.376237 0 - outer loop - vertex 33.8561 -30.1753 0 - vertex 35.3422 -26.5156 -0.2 - vertex 35.3422 -26.5156 0 - endloop - endfacet - facet normal 0.926524 -0.376237 0 - outer loop - vertex 35.3422 -26.5156 -0.2 - vertex 33.8561 -30.1753 0 - vertex 33.8561 -30.1753 -0.2 - endloop - endfacet - facet normal 0.930815 -0.36549 0 - outer loop - vertex 35.3422 -26.5156 0 - vertex 35.6833 -25.6471 -0.2 - vertex 35.6833 -25.6471 0 - endloop - endfacet - facet normal 0.930815 -0.36549 0 - outer loop - vertex 35.6833 -25.6471 -0.2 - vertex 35.3422 -26.5156 0 - vertex 35.3422 -26.5156 -0.2 - endloop - endfacet - facet normal 0.940922 -0.338624 0 - outer loop - vertex 35.6833 -25.6471 0 - vertex 35.957 -24.8864 -0.2 - vertex 35.957 -24.8864 0 - endloop - endfacet - facet normal 0.940922 -0.338624 0 - outer loop - vertex 35.957 -24.8864 -0.2 - vertex 35.6833 -25.6471 0 - vertex 35.6833 -25.6471 -0.2 - endloop - endfacet - facet normal 0.953192 -0.302366 0 - outer loop - vertex 35.957 -24.8864 0 - vertex 36.1622 -24.2394 -0.2 - vertex 36.1622 -24.2394 0 - endloop - endfacet - facet normal 0.953192 -0.302366 0 - outer loop - vertex 36.1622 -24.2394 -0.2 - vertex 35.957 -24.8864 0 - vertex 35.957 -24.8864 -0.2 - endloop - endfacet - facet normal 0.968572 -0.248734 0 - outer loop - vertex 36.1622 -24.2394 0 - vertex 36.2977 -23.7121 -0.2 - vertex 36.2977 -23.7121 0 - endloop - endfacet - facet normal 0.968572 -0.248734 0 - outer loop - vertex 36.2977 -23.7121 -0.2 - vertex 36.1622 -24.2394 0 - vertex 36.1622 -24.2394 -0.2 - endloop - endfacet - facet normal 0.987422 -0.158107 0 - outer loop - vertex 36.2977 -23.7121 0 - vertex 36.362 -23.3104 -0.2 - vertex 36.362 -23.3104 0 - endloop - endfacet - facet normal 0.987422 -0.158107 0 - outer loop - vertex 36.362 -23.3104 -0.2 - vertex 36.2977 -23.7121 0 - vertex 36.2977 -23.7121 -0.2 - endloop - endfacet - facet normal 0.999436 -0.0335772 0 - outer loop - vertex 36.362 -23.3104 0 - vertex 36.3671 -23.1585 -0.2 - vertex 36.3671 -23.1585 0 - endloop - endfacet - facet normal 0.999436 -0.0335772 0 - outer loop - vertex 36.3671 -23.1585 -0.2 - vertex 36.362 -23.3104 0 - vertex 36.362 -23.3104 -0.2 - endloop - endfacet - facet normal 0.993888 0.110395 0 - outer loop - vertex 36.3671 -23.1585 0 - vertex 36.3539 -23.0402 -0.2 - vertex 36.3539 -23.0402 0 - endloop - endfacet - facet normal 0.993888 0.110395 0 - outer loop - vertex 36.3539 -23.0402 -0.2 - vertex 36.3671 -23.1585 0 - vertex 36.3671 -23.1585 -0.2 - endloop - endfacet - facet normal 0.93611 0.351708 0 - outer loop - vertex 36.3539 -23.0402 0 - vertex 36.3224 -22.9562 -0.2 - vertex 36.3224 -22.9562 0 - endloop - endfacet - facet normal 0.93611 0.351708 0 - outer loop - vertex 36.3224 -22.9562 -0.2 - vertex 36.3539 -23.0402 0 - vertex 36.3539 -23.0402 -0.2 - endloop - endfacet - facet normal 0.698293 0.715812 -0 - outer loop - vertex 36.3224 -22.9562 -0.2 - vertex 36.2723 -22.9073 0 - vertex 36.3224 -22.9562 0 - endloop - endfacet - facet normal 0.698293 0.715812 0 - outer loop - vertex 36.2723 -22.9073 0 - vertex 36.3224 -22.9562 -0.2 - vertex 36.2723 -22.9073 -0.2 - endloop - endfacet - facet normal 0.186395 0.982475 -0 - outer loop - vertex 36.2723 -22.9073 -0.2 - vertex 36.2034 -22.8943 0 - vertex 36.2723 -22.9073 0 - endloop - endfacet - facet normal 0.186395 0.982475 0 - outer loop - vertex 36.2034 -22.8943 0 - vertex 36.2723 -22.9073 -0.2 - vertex 36.2034 -22.8943 -0.2 - endloop - endfacet - facet normal -0.258789 0.965934 0 - outer loop - vertex 36.2034 -22.8943 -0.2 - vertex 36.1157 -22.9178 0 - vertex 36.2034 -22.8943 0 - endloop - endfacet - facet normal -0.258789 0.965934 0 - outer loop - vertex 36.1157 -22.9178 0 - vertex 36.2034 -22.8943 -0.2 - vertex 36.1157 -22.9178 -0.2 - endloop - endfacet - facet normal -0.248765 0.968564 0 - outer loop - vertex 36.1157 -22.9178 -0.2 - vertex 35.9442 -22.9618 0 - vertex 36.1157 -22.9178 0 - endloop - endfacet - facet normal -0.248765 0.968564 0 - outer loop - vertex 35.9442 -22.9618 0 - vertex 36.1157 -22.9178 -0.2 - vertex 35.9442 -22.9618 -0.2 - endloop - endfacet - facet normal -0.0720501 0.997401 0 - outer loop - vertex 35.9442 -22.9618 -0.2 - vertex 35.7166 -22.9783 0 - vertex 35.9442 -22.9618 0 - endloop - endfacet - facet normal -0.0720501 0.997401 0 - outer loop - vertex 35.7166 -22.9783 0 - vertex 35.9442 -22.9618 -0.2 - vertex 35.7166 -22.9783 -0.2 - endloop - endfacet - facet normal 0.0451334 0.998981 -0 - outer loop - vertex 35.7166 -22.9783 -0.2 - vertex 35.4626 -22.9668 0 - vertex 35.7166 -22.9783 0 - endloop - endfacet - facet normal 0.0451334 0.998981 0 - outer loop - vertex 35.4626 -22.9668 0 - vertex 35.7166 -22.9783 -0.2 - vertex 35.4626 -22.9668 -0.2 - endloop - endfacet - facet normal 0.156383 0.987697 -0 - outer loop - vertex 35.4626 -22.9668 -0.2 - vertex 35.2118 -22.9271 0 - vertex 35.4626 -22.9668 0 - endloop - endfacet - facet normal 0.156383 0.987697 0 - outer loop - vertex 35.2118 -22.9271 0 - vertex 35.4626 -22.9668 -0.2 - vertex 35.2118 -22.9271 -0.2 - endloop - endfacet - facet normal 0.299759 0.954015 -0 - outer loop - vertex 35.2118 -22.9271 -0.2 - vertex 34.9345 -22.8399 0 - vertex 35.2118 -22.9271 0 - endloop - endfacet - facet normal 0.299759 0.954015 0 - outer loop - vertex 34.9345 -22.8399 0 - vertex 35.2118 -22.9271 -0.2 - vertex 34.9345 -22.8399 -0.2 - endloop - endfacet - facet normal 0.486497 0.873682 -0 - outer loop - vertex 34.9345 -22.8399 -0.2 - vertex 34.8338 -22.7839 0 - vertex 34.9345 -22.8399 0 - endloop - endfacet - facet normal 0.486497 0.873682 0 - outer loop - vertex 34.8338 -22.7839 0 - vertex 34.9345 -22.8399 -0.2 - vertex 34.8338 -22.7839 -0.2 - endloop - endfacet - facet normal 0.653163 0.757217 -0 - outer loop - vertex 34.8338 -22.7839 -0.2 - vertex 34.7558 -22.7166 0 - vertex 34.8338 -22.7839 0 - endloop - endfacet - facet normal 0.653163 0.757217 0 - outer loop - vertex 34.7558 -22.7166 0 - vertex 34.8338 -22.7839 -0.2 - vertex 34.7558 -22.7166 -0.2 - endloop - endfacet - facet normal 0.815361 0.578952 0 - outer loop - vertex 34.7558 -22.7166 0 - vertex 34.6986 -22.636 -0.2 - vertex 34.6986 -22.636 0 - endloop - endfacet - facet normal 0.815361 0.578952 0 - outer loop - vertex 34.6986 -22.636 -0.2 - vertex 34.7558 -22.7166 0 - vertex 34.7558 -22.7166 -0.2 - endloop - endfacet - facet normal 0.928456 0.371442 0 - outer loop - vertex 34.6986 -22.636 0 - vertex 34.6602 -22.54 -0.2 - vertex 34.6602 -22.54 0 - endloop - endfacet - facet normal 0.928456 0.371442 0 - outer loop - vertex 34.6602 -22.54 -0.2 - vertex 34.6986 -22.636 0 - vertex 34.6986 -22.636 -0.2 - endloop - endfacet - facet normal 0.982392 0.186829 0 - outer loop - vertex 34.6602 -22.54 0 - vertex 34.6385 -22.4262 -0.2 - vertex 34.6385 -22.4262 0 - endloop - endfacet - facet normal 0.982392 0.186829 0 - outer loop - vertex 34.6385 -22.4262 -0.2 - vertex 34.6602 -22.54 0 - vertex 34.6602 -22.54 -0.2 - endloop - endfacet - facet normal 0.998716 0.050655 0 - outer loop - vertex 34.6385 -22.4262 0 - vertex 34.6318 -22.2927 -0.2 - vertex 34.6318 -22.2927 0 - endloop - endfacet - facet normal 0.998716 0.050655 0 - outer loop - vertex 34.6318 -22.2927 -0.2 - vertex 34.6385 -22.4262 0 - vertex 34.6385 -22.4262 -0.2 - endloop - endfacet - facet normal 0.995457 -0.0952108 0 - outer loop - vertex 34.6318 -22.2927 0 - vertex 34.653 -22.0706 -0.2 - vertex 34.653 -22.0706 0 - endloop - endfacet - facet normal 0.995457 -0.0952108 0 - outer loop - vertex 34.653 -22.0706 -0.2 - vertex 34.6318 -22.2927 0 - vertex 34.6318 -22.2927 -0.2 - endloop - endfacet - facet normal 0.963199 -0.268788 0 - outer loop - vertex 34.653 -22.0706 0 - vertex 34.713 -21.8554 -0.2 - vertex 34.713 -21.8554 0 - endloop - endfacet - facet normal 0.963199 -0.268788 0 - outer loop - vertex 34.713 -21.8554 -0.2 - vertex 34.653 -22.0706 0 - vertex 34.653 -22.0706 -0.2 - endloop - endfacet - facet normal 0.90719 -0.420722 0 - outer loop - vertex 34.713 -21.8554 0 - vertex 34.8063 -21.6543 -0.2 - vertex 34.8063 -21.6543 0 - endloop - endfacet - facet normal 0.90719 -0.420722 0 - outer loop - vertex 34.8063 -21.6543 -0.2 - vertex 34.713 -21.8554 0 - vertex 34.713 -21.8554 -0.2 - endloop - endfacet - facet normal 0.830216 -0.557442 0 - outer loop - vertex 34.8063 -21.6543 0 - vertex 34.9274 -21.474 -0.2 - vertex 34.9274 -21.474 0 - endloop - endfacet - facet normal 0.830216 -0.557442 0 - outer loop - vertex 34.9274 -21.474 -0.2 - vertex 34.8063 -21.6543 0 - vertex 34.8063 -21.6543 -0.2 - endloop - endfacet - facet normal 0.728585 -0.684956 0 - outer loop - vertex 34.9274 -21.474 0 - vertex 35.0706 -21.3217 -0.2 - vertex 35.0706 -21.3217 0 - endloop - endfacet - facet normal 0.728585 -0.684956 0 - outer loop - vertex 35.0706 -21.3217 -0.2 - vertex 34.9274 -21.474 0 - vertex 34.9274 -21.474 -0.2 - endloop - endfacet - facet normal 0.592071 -0.805886 0 - outer loop - vertex 35.0706 -21.3217 -0.2 - vertex 35.2304 -21.2043 0 - vertex 35.0706 -21.3217 0 - endloop - endfacet - facet normal 0.592071 -0.805886 0 - outer loop - vertex 35.2304 -21.2043 0 - vertex 35.0706 -21.3217 -0.2 - vertex 35.2304 -21.2043 -0.2 - endloop - endfacet - facet normal 0.404331 -0.914613 0 - outer loop - vertex 35.2304 -21.2043 -0.2 - vertex 35.4013 -21.1287 0 - vertex 35.2304 -21.2043 0 - endloop - endfacet - facet normal 0.404331 -0.914613 0 - outer loop - vertex 35.4013 -21.1287 0 - vertex 35.2304 -21.2043 -0.2 - vertex 35.4013 -21.1287 -0.2 - endloop - endfacet - facet normal 0.149785 -0.988719 0 - outer loop - vertex 35.4013 -21.1287 -0.2 - vertex 35.5778 -21.102 0 - vertex 35.4013 -21.1287 0 - endloop - endfacet - facet normal 0.149785 -0.988719 0 - outer loop - vertex 35.5778 -21.102 0 - vertex 35.4013 -21.1287 -0.2 - vertex 35.5778 -21.102 -0.2 - endloop - endfacet - facet normal 0.22645 -0.974023 0 - outer loop - vertex 35.5778 -21.102 -0.2 - vertex 35.9118 -21.0243 0 - vertex 35.5778 -21.102 0 - endloop - endfacet - facet normal 0.22645 -0.974023 0 - outer loop - vertex 35.9118 -21.0243 0 - vertex 35.5778 -21.102 -0.2 - vertex 35.9118 -21.0243 -0.2 - endloop - endfacet - facet normal 0.304725 -0.95244 0 - outer loop - vertex 35.9118 -21.0243 -0.2 - vertex 36.5724 -20.813 0 - vertex 35.9118 -21.0243 0 - endloop - endfacet - facet normal 0.304725 -0.95244 0 - outer loop - vertex 36.5724 -20.813 0 - vertex 35.9118 -21.0243 -0.2 - vertex 36.5724 -20.813 -0.2 - endloop - endfacet - facet normal 0.331013 -0.943626 0 - outer loop - vertex 36.5724 -20.813 -0.2 - vertex 37.4642 -20.5001 0 - vertex 36.5724 -20.813 0 - endloop - endfacet - facet normal 0.331013 -0.943626 0 - outer loop - vertex 37.4642 -20.5001 0 - vertex 36.5724 -20.813 -0.2 - vertex 37.4642 -20.5001 -0.2 - endloop - endfacet - facet normal 0.348531 -0.937297 0 - outer loop - vertex 37.4642 -20.5001 -0.2 - vertex 38.4916 -20.1181 0 - vertex 37.4642 -20.5001 0 - endloop - endfacet - facet normal 0.348531 -0.937297 0 - outer loop - vertex 38.4916 -20.1181 0 - vertex 37.4642 -20.5001 -0.2 - vertex 38.4916 -20.1181 -0.2 - endloop - endfacet - facet normal 0.345306 -0.93849 0 - outer loop - vertex 38.4916 -20.1181 -0.2 - vertex 39.5298 -19.7361 0 - vertex 38.4916 -20.1181 0 - endloop - endfacet - facet normal 0.345306 -0.93849 0 - outer loop - vertex 39.5298 -19.7361 0 - vertex 38.4916 -20.1181 -0.2 - vertex 39.5298 -19.7361 -0.2 - endloop - endfacet - facet normal 0.321461 -0.946923 0 - outer loop - vertex 39.5298 -19.7361 -0.2 - vertex 40.4513 -19.4233 0 - vertex 39.5298 -19.7361 0 - endloop - endfacet - facet normal 0.321461 -0.946923 0 - outer loop - vertex 40.4513 -19.4233 0 - vertex 39.5298 -19.7361 -0.2 - vertex 40.4513 -19.4233 -0.2 - endloop - endfacet - facet normal 0.28733 -0.957832 0 - outer loop - vertex 40.4513 -19.4233 -0.2 - vertex 41.156 -19.2119 0 - vertex 40.4513 -19.4233 0 - endloop - endfacet - facet normal 0.28733 -0.957832 0 - outer loop - vertex 41.156 -19.2119 0 - vertex 40.4513 -19.4233 -0.2 - vertex 41.156 -19.2119 -0.2 - endloop - endfacet - facet normal 0.23347 -0.972364 0 - outer loop - vertex 41.156 -19.2119 -0.2 - vertex 41.3957 -19.1543 0 - vertex 41.156 -19.2119 0 - endloop - endfacet - facet normal 0.23347 -0.972364 0 - outer loop - vertex 41.3957 -19.1543 0 - vertex 41.156 -19.2119 -0.2 - vertex 41.3957 -19.1543 -0.2 - endloop - endfacet - facet normal 0.13452 -0.990911 0 - outer loop - vertex 41.3957 -19.1543 -0.2 - vertex 41.5436 -19.1343 0 - vertex 41.3957 -19.1543 0 - endloop - endfacet - facet normal 0.13452 -0.990911 0 - outer loop - vertex 41.5436 -19.1343 0 - vertex 41.3957 -19.1543 -0.2 - vertex 41.5436 -19.1343 -0.2 - endloop - endfacet - facet normal -0.114485 -0.993425 0 - outer loop - vertex 41.5436 -19.1343 -0.2 - vertex 41.7426 -19.1572 0 - vertex 41.5436 -19.1343 0 - endloop - endfacet - facet normal -0.114485 -0.993425 -0 - outer loop - vertex 41.7426 -19.1572 0 - vertex 41.5436 -19.1343 -0.2 - vertex 41.7426 -19.1572 -0.2 - endloop - endfacet - facet normal -0.379137 -0.925341 0 - outer loop - vertex 41.7426 -19.1572 -0.2 - vertex 41.9051 -19.2238 0 - vertex 41.7426 -19.1572 0 - endloop - endfacet - facet normal -0.379137 -0.925341 -0 - outer loop - vertex 41.9051 -19.2238 0 - vertex 41.7426 -19.1572 -0.2 - vertex 41.9051 -19.2238 -0.2 - endloop - endfacet - facet normal -0.651079 -0.75901 0 - outer loop - vertex 41.9051 -19.2238 -0.2 - vertex 42.0297 -19.3306 0 - vertex 41.9051 -19.2238 0 - endloop - endfacet - facet normal -0.651079 -0.75901 -0 - outer loop - vertex 42.0297 -19.3306 0 - vertex 41.9051 -19.2238 -0.2 - vertex 42.0297 -19.3306 -0.2 - endloop - endfacet - facet normal -0.860116 -0.510098 0 - outer loop - vertex 42.1149 -19.4743 -0.2 - vertex 42.0297 -19.3306 0 - vertex 42.0297 -19.3306 -0.2 - endloop - endfacet - facet normal -0.860116 -0.510098 0 - outer loop - vertex 42.0297 -19.3306 0 - vertex 42.1149 -19.4743 -0.2 - vertex 42.1149 -19.4743 0 - endloop - endfacet - facet normal -0.969806 -0.243876 0 - outer loop - vertex 42.1595 -19.6516 -0.2 - vertex 42.1149 -19.4743 0 - vertex 42.1149 -19.4743 -0.2 - endloop - endfacet - facet normal -0.969806 -0.243876 0 - outer loop - vertex 42.1149 -19.4743 0 - vertex 42.1595 -19.6516 -0.2 - vertex 42.1595 -19.6516 0 - endloop - endfacet - facet normal -0.999925 -0.0122495 0 - outer loop - vertex 42.162 -19.859 -0.2 - vertex 42.1595 -19.6516 0 - vertex 42.1595 -19.6516 -0.2 - endloop - endfacet - facet normal -0.999925 -0.0122495 0 - outer loop - vertex 42.1595 -19.6516 0 - vertex 42.162 -19.859 -0.2 - vertex 42.162 -19.859 0 - endloop - endfacet - facet normal -0.985121 0.171861 0 - outer loop - vertex 42.1212 -20.0931 -0.2 - vertex 42.162 -19.859 0 - vertex 42.162 -19.859 -0.2 - endloop - endfacet - facet normal -0.985121 0.171861 0 - outer loop - vertex 42.162 -19.859 0 - vertex 42.1212 -20.0931 -0.2 - vertex 42.1212 -20.0931 0 - endloop - endfacet - facet normal -0.948956 0.315408 0 - outer loop - vertex 42.0356 -20.3507 -0.2 - vertex 42.1212 -20.0931 0 - vertex 42.1212 -20.0931 -0.2 - endloop - endfacet - facet normal -0.948956 0.315408 0 - outer loop - vertex 42.1212 -20.0931 0 - vertex 42.0356 -20.3507 -0.2 - vertex 42.0356 -20.3507 0 - endloop - endfacet - facet normal -0.935213 0.354086 0 - outer loop - vertex 41.9515 -20.5727 -0.2 - vertex 42.0356 -20.3507 0 - vertex 42.0356 -20.3507 -0.2 - endloop - endfacet - facet normal -0.935213 0.354086 0 - outer loop - vertex 42.0356 -20.3507 0 - vertex 41.9515 -20.5727 -0.2 - vertex 41.9515 -20.5727 0 - endloop - endfacet - facet normal -0.96654 0.256517 0 - outer loop - vertex 41.9099 -20.7296 -0.2 - vertex 41.9515 -20.5727 0 - vertex 41.9515 -20.5727 -0.2 - endloop - endfacet - facet normal -0.96654 0.256517 0 - outer loop - vertex 41.9515 -20.5727 0 - vertex 41.9099 -20.7296 -0.2 - vertex 41.9099 -20.7296 0 - endloop - endfacet - facet normal -0.996169 -0.0874488 0 - outer loop - vertex 41.9179 -20.8207 -0.2 - vertex 41.9099 -20.7296 0 - vertex 41.9099 -20.7296 -0.2 - endloop - endfacet - facet normal -0.996169 -0.0874488 0 - outer loop - vertex 41.9099 -20.7296 0 - vertex 41.9179 -20.8207 -0.2 - vertex 41.9179 -20.8207 0 - endloop - endfacet - facet normal -0.639023 -0.769188 0 - outer loop - vertex 41.9179 -20.8207 -0.2 - vertex 41.9427 -20.8413 0 - vertex 41.9179 -20.8207 0 - endloop - endfacet - facet normal -0.639023 -0.769188 -0 - outer loop - vertex 41.9427 -20.8413 0 - vertex 41.9179 -20.8207 -0.2 - vertex 41.9427 -20.8413 -0.2 - endloop - endfacet - facet normal -0.0984788 -0.995139 0 - outer loop - vertex 41.9427 -20.8413 -0.2 - vertex 41.9827 -20.8453 0 - vertex 41.9427 -20.8413 0 - endloop - endfacet - facet normal -0.0984788 -0.995139 -0 - outer loop - vertex 41.9827 -20.8453 0 - vertex 41.9427 -20.8413 -0.2 - vertex 41.9827 -20.8453 -0.2 - endloop - endfacet - facet normal 0.313279 -0.949661 0 - outer loop - vertex 41.9827 -20.8453 -0.2 - vertex 42.1116 -20.8028 0 - vertex 41.9827 -20.8453 0 - endloop - endfacet - facet normal 0.313279 -0.949661 0 - outer loop - vertex 42.1116 -20.8028 0 - vertex 41.9827 -20.8453 -0.2 - vertex 42.1116 -20.8028 -0.2 - endloop - endfacet - facet normal 0.482712 -0.875779 0 - outer loop - vertex 42.1116 -20.8028 -0.2 - vertex 42.3117 -20.6924 0 - vertex 42.1116 -20.8028 0 - endloop - endfacet - facet normal 0.482712 -0.875779 0 - outer loop - vertex 42.3117 -20.6924 0 - vertex 42.1116 -20.8028 -0.2 - vertex 42.3117 -20.6924 -0.2 - endloop - endfacet - facet normal 0.552983 -0.833193 0 - outer loop - vertex 42.3117 -20.6924 -0.2 - vertex 42.9547 -20.2657 0 - vertex 42.3117 -20.6924 0 - endloop - endfacet - facet normal 0.552983 -0.833193 0 - outer loop - vertex 42.9547 -20.2657 0 - vertex 42.3117 -20.6924 -0.2 - vertex 42.9547 -20.2657 -0.2 - endloop - endfacet - facet normal 0.550831 -0.834617 0 - outer loop - vertex 42.9547 -20.2657 -0.2 - vertex 43.4033 -19.9696 0 - vertex 42.9547 -20.2657 0 - endloop - endfacet - facet normal 0.550831 -0.834617 0 - outer loop - vertex 43.4033 -19.9696 0 - vertex 42.9547 -20.2657 -0.2 - vertex 43.4033 -19.9696 -0.2 - endloop - endfacet - facet normal 0.505722 -0.862696 0 - outer loop - vertex 43.4033 -19.9696 -0.2 - vertex 43.8201 -19.7253 0 - vertex 43.4033 -19.9696 0 - endloop - endfacet - facet normal 0.505722 -0.862696 0 - outer loop - vertex 43.8201 -19.7253 0 - vertex 43.4033 -19.9696 -0.2 - vertex 43.8201 -19.7253 -0.2 - endloop - endfacet - facet normal 0.444191 -0.895932 0 - outer loop - vertex 43.8201 -19.7253 -0.2 - vertex 44.2162 -19.5289 0 - vertex 43.8201 -19.7253 0 - endloop - endfacet - facet normal 0.444191 -0.895932 0 - outer loop - vertex 44.2162 -19.5289 0 - vertex 43.8201 -19.7253 -0.2 - vertex 44.2162 -19.5289 -0.2 - endloop - endfacet - facet normal 0.36641 -0.930454 0 - outer loop - vertex 44.2162 -19.5289 -0.2 - vertex 44.6026 -19.3768 0 - vertex 44.2162 -19.5289 0 - endloop - endfacet - facet normal 0.36641 -0.930454 0 - outer loop - vertex 44.6026 -19.3768 0 - vertex 44.2162 -19.5289 -0.2 - vertex 44.6026 -19.3768 -0.2 - endloop - endfacet - facet normal 0.276888 -0.960902 0 - outer loop - vertex 44.6026 -19.3768 -0.2 - vertex 44.9905 -19.265 0 - vertex 44.6026 -19.3768 0 - endloop - endfacet - facet normal 0.276888 -0.960902 0 - outer loop - vertex 44.9905 -19.265 0 - vertex 44.6026 -19.3768 -0.2 - vertex 44.9905 -19.265 -0.2 - endloop - endfacet - facet normal 0.184446 -0.982843 0 - outer loop - vertex 44.9905 -19.265 -0.2 - vertex 45.391 -19.1898 0 - vertex 44.9905 -19.265 0 - endloop - endfacet - facet normal 0.184446 -0.982843 0 - outer loop - vertex 45.391 -19.1898 0 - vertex 44.9905 -19.265 -0.2 - vertex 45.391 -19.1898 -0.2 - endloop - endfacet - facet normal 0.0992848 -0.995059 0 - outer loop - vertex 45.391 -19.1898 -0.2 - vertex 45.8151 -19.1475 0 - vertex 45.391 -19.1898 0 - endloop - endfacet - facet normal 0.0992848 -0.995059 0 - outer loop - vertex 45.8151 -19.1475 0 - vertex 45.391 -19.1898 -0.2 - vertex 45.8151 -19.1475 -0.2 - endloop - endfacet - facet normal 0.028896 -0.999582 0 - outer loop - vertex 45.8151 -19.1475 -0.2 - vertex 46.274 -19.1343 0 - vertex 45.8151 -19.1475 0 - endloop - endfacet - facet normal 0.028896 -0.999582 0 - outer loop - vertex 46.274 -19.1343 0 - vertex 45.8151 -19.1475 -0.2 - vertex 46.274 -19.1343 -0.2 - endloop - endfacet - facet normal -0.036999 -0.999315 0 - outer loop - vertex 46.274 -19.1343 -0.2 - vertex 46.8289 -19.1548 0 - vertex 46.274 -19.1343 0 - endloop - endfacet - facet normal -0.036999 -0.999315 -0 - outer loop - vertex 46.8289 -19.1548 0 - vertex 46.274 -19.1343 -0.2 - vertex 46.8289 -19.1548 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.1728 30.7024 -0.2 - vertex 12.3025 30.5214 -0.2 - vertex 12.291 30.606 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.1728 30.7024 -0.2 - vertex 12.291 30.606 -0.2 - vertex 12.2478 30.6663 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.0661 30.7144 -0.2 - vertex 12.3025 30.5214 -0.2 - vertex 12.1728 30.7024 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3025 30.5214 -0.2 - vertex 12.0661 30.7144 -0.2 - vertex 12.2821 30.4122 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.9476 30.6899 -0.2 - vertex 12.2821 30.4122 -0.2 - vertex 12.0661 30.7144 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.2821 30.4122 -0.2 - vertex 11.9476 30.6899 -0.2 - vertex 12.23 30.2784 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.7177 30.5077 -0.2 - vertex 12.23 30.2784 -0.2 - vertex 11.8311 30.6195 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.23 30.2784 -0.2 - vertex 11.9476 30.6899 -0.2 - vertex 11.8311 30.6195 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.6088 30.3591 -0.2 - vertex 12.23 30.2784 -0.2 - vertex 11.7177 30.5077 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.23 30.2784 -0.2 - vertex 11.6088 30.3591 -0.2 - vertex 12.0304 29.9363 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.5057 30.1782 -0.2 - vertex 12.0304 29.9363 -0.2 - vertex 11.6088 30.3591 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.0304 29.9363 -0.2 - vertex 11.5057 30.1782 -0.2 - vertex 11.965 29.8184 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.965 29.8184 -0.2 - vertex 11.4096 29.9696 -0.2 - vertex 11.9082 29.6745 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.4096 29.9696 -0.2 - vertex 11.965 29.8184 -0.2 - vertex 11.5057 30.1782 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.6784 17.7808 -0.2 - vertex 26.0696 17.9605 -0.2 - vertex 26.0933 17.5963 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.2605 19.0904 -0.2 - vertex 26.0009 18.2942 -0.2 - vertex 26.0696 17.9605 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.5652 19.0574 -0.2 - vertex 26.1176 19.296 -0.2 - vertex 25.9541 19.4837 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.2605 19.0904 -0.2 - vertex 25.8914 18.5921 -0.2 - vertex 26.0009 18.2942 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.5652 19.0574 -0.2 - vertex 25.9541 19.4837 -0.2 - vertex 25.7697 19.6539 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.2605 19.0904 -0.2 - vertex 25.7448 18.8483 -0.2 - vertex 25.8914 18.5921 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.1176 19.296 -0.2 - vertex 25.5652 19.0574 -0.2 - vertex 25.7448 18.8483 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3564 19.2137 -0.2 - vertex 25.7697 19.6539 -0.2 - vertex 25.5639 19.8069 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.7697 19.6539 -0.2 - vertex 25.3564 19.2137 -0.2 - vertex 25.5652 19.0574 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.1224 19.3115 -0.2 - vertex 25.5639 19.8069 -0.2 - vertex 25.3364 19.943 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.5639 19.8069 -0.2 - vertex 25.1224 19.3115 -0.2 - vertex 25.3564 19.2137 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.9972 19.3368 -0.2 - vertex 25.3364 19.943 -0.2 - vertex 25.087 20.0627 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3364 19.943 -0.2 - vertex 24.9972 19.3368 -0.2 - vertex 25.1224 19.3115 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.087 20.0627 -0.2 - vertex 24.8672 19.3454 -0.2 - vertex 24.9972 19.3368 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8151 20.1664 -0.2 - vertex 24.8672 19.3454 -0.2 - vertex 25.087 20.0627 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8151 20.1664 -0.2 - vertex 24.6124 19.3722 -0.2 - vertex 24.8672 19.3454 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.5205 20.2543 -0.2 - vertex 24.6124 19.3722 -0.2 - vertex 24.8151 20.1664 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.5205 20.2543 -0.2 - vertex 24.2514 19.4451 -0.2 - vertex 24.6124 19.3722 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.2028 20.3268 -0.2 - vertex 24.2514 19.4451 -0.2 - vertex 24.5205 20.2543 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.8321 19.5531 -0.2 - vertex 24.2028 20.3268 -0.2 - vertex 23.8617 20.3844 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.2028 20.3268 -0.2 - vertex 23.8321 19.5531 -0.2 - vertex 24.2514 19.4451 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.4027 19.6849 -0.2 - vertex 23.8617 20.3844 -0.2 - vertex 23.4814 20.4643 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.8617 20.3844 -0.2 - vertex 23.4027 19.6849 -0.2 - vertex 23.8321 19.5531 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.9977 19.8472 -0.2 - vertex 23.4814 20.4643 -0.2 - vertex 23.1504 20.59 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.4814 20.4643 -0.2 - vertex 22.9977 19.8472 -0.2 - vertex 23.4027 19.6849 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.6486 20.047 -0.2 - vertex 23.1504 20.59 -0.2 - vertex 22.8668 20.7638 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.3515 20.2895 -0.2 - vertex 22.8668 20.7638 -0.2 - vertex 22.7421 20.8693 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.1504 20.59 -0.2 - vertex 22.6486 20.047 -0.2 - vertex 22.9977 19.8472 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.2213 20.4283 -0.2 - vertex 22.7421 20.8693 -0.2 - vertex 22.6286 20.9877 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.8989 20.9229 -0.2 - vertex 22.6286 20.9877 -0.2 - vertex 22.4341 21.2638 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.8668 20.7638 -0.2 - vertex 22.3515 20.2895 -0.2 - vertex 22.6486 20.047 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.7362 21.3239 -0.2 - vertex 22.4341 21.2638 -0.2 - vertex 22.2815 21.5943 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.7421 20.8693 -0.2 - vertex 22.2213 20.4283 -0.2 - vertex 22.3515 20.2895 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.6111 21.7881 -0.2 - vertex 22.2815 21.5943 -0.2 - vertex 22.1689 21.9813 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.6286 20.9877 -0.2 - vertex 22.1028 20.5797 -0.2 - vertex 22.2213 20.4283 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.5197 22.3204 -0.2 - vertex 22.1689 21.9813 -0.2 - vertex 22.0944 22.427 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.4205 22.8275 -0.2 - vertex 22.0944 22.427 -0.2 - vertex 21.9928 23.1034 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.3493 23.064 -0.2 - vertex 21.9928 23.1034 -0.2 - vertex 21.926 23.397 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.6286 20.9877 -0.2 - vertex 21.8989 20.9229 -0.2 - vertex 22.1028 20.5797 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.2635 23.2891 -0.2 - vertex 21.926 23.397 -0.2 - vertex 21.8437 23.6658 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1632 23.503 -0.2 - vertex 21.8437 23.6658 -0.2 - vertex 21.7423 23.9135 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.4341 21.2638 -0.2 - vertex 21.7362 21.3239 -0.2 - vertex 21.8989 20.9229 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0482 23.7058 -0.2 - vertex 21.7423 23.9135 -0.2 - vertex 21.6182 24.144 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.2815 21.5943 -0.2 - vertex 21.6111 21.7881 -0.2 - vertex 21.7362 21.3239 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.1689 21.9813 -0.2 - vertex 21.5197 22.3204 -0.2 - vertex 21.6111 21.7881 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9184 23.8976 -0.2 - vertex 21.6182 24.144 -0.2 - vertex 21.4677 24.3609 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.0944 22.427 -0.2 - vertex 21.4205 22.8275 -0.2 - vertex 21.5197 22.3204 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.9928 23.1034 -0.2 - vertex 21.3493 23.064 -0.2 - vertex 21.4205 22.8275 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.7738 24.0784 -0.2 - vertex 21.4677 24.3609 -0.2 - vertex 21.2873 24.568 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.926 23.397 -0.2 - vertex 21.2635 23.2891 -0.2 - vertex 21.3493 23.064 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.8437 23.6658 -0.2 - vertex 21.1632 23.503 -0.2 - vertex 21.2635 23.2891 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.6143 24.2484 -0.2 - vertex 21.2873 24.568 -0.2 - vertex 21.0733 24.7691 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.7423 23.9135 -0.2 - vertex 21.0482 23.7058 -0.2 - vertex 21.1632 23.503 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.6182 24.144 -0.2 - vertex 20.9184 23.8976 -0.2 - vertex 21.0482 23.7058 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.4398 24.4076 -0.2 - vertex 21.0733 24.7691 -0.2 - vertex 20.8221 24.9679 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.4677 24.3609 -0.2 - vertex 20.7738 24.0784 -0.2 - vertex 20.9184 23.8976 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.2873 24.568 -0.2 - vertex 20.6143 24.2484 -0.2 - vertex 20.7738 24.0784 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2502 24.5562 -0.2 - vertex 20.8221 24.9679 -0.2 - vertex 20.53 25.168 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0733 24.7691 -0.2 - vertex 20.4398 24.4076 -0.2 - vertex 20.6143 24.2484 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.8221 24.9679 -0.2 - vertex 20.2502 24.5562 -0.2 - vertex 20.4398 24.4076 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0455 24.6942 -0.2 - vertex 20.53 25.168 -0.2 - vertex 20.1936 25.3734 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.53 25.168 -0.2 - vertex 20.0455 24.6942 -0.2 - vertex 20.2502 24.5562 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.1936 25.3734 -0.2 - vertex 19.5904 24.9388 -0.2 - vertex 20.0455 24.6942 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3729 25.8147 -0.2 - vertex 19.5904 24.9388 -0.2 - vertex 20.1936 25.3734 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3729 25.8147 -0.2 - vertex 19.0737 25.1422 -0.2 - vertex 19.5904 24.9388 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3729 25.8147 -0.2 - vertex 18.5685 25.3244 -0.2 - vertex 19.0737 25.1422 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.3311 26.3216 -0.2 - vertex 18.5685 25.3244 -0.2 - vertex 19.3729 25.8147 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.3311 26.3216 -0.2 - vertex 18.1033 25.5216 -0.2 - vertex 18.5685 25.3244 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.3311 26.3216 -0.2 - vertex 17.6707 25.7385 -0.2 - vertex 18.1033 25.5216 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6504 26.6607 -0.2 - vertex 17.6707 25.7385 -0.2 - vertex 18.3311 26.3216 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6504 26.6607 -0.2 - vertex 17.2631 25.98 -0.2 - vertex 17.6707 25.7385 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.873 26.2508 -0.2 - vertex 17.6504 26.6607 -0.2 - vertex 17.0889 26.9817 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6504 26.6607 -0.2 - vertex 16.873 26.2508 -0.2 - vertex 17.2631 25.98 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.4932 26.5558 -0.2 - vertex 17.0889 26.9817 -0.2 - vertex 16.6359 27.2959 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.0889 26.9817 -0.2 - vertex 16.4932 26.5558 -0.2 - vertex 16.873 26.2508 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.116 26.8997 -0.2 - vertex 16.6359 27.2959 -0.2 - vertex 16.4467 27.454 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.116 26.8997 -0.2 - vertex 16.4467 27.454 -0.2 - vertex 16.2806 27.6146 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.734 27.2872 -0.2 - vertex 16.2806 27.6146 -0.2 - vertex 16.1362 27.7792 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.6359 27.2959 -0.2 - vertex 16.116 26.8997 -0.2 - vertex 16.4932 26.5558 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.734 27.2872 -0.2 - vertex 16.1362 27.7792 -0.2 - vertex 16.0121 27.9491 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.344 27.7317 -0.2 - vertex 16.0121 27.9491 -0.2 - vertex 15.9071 28.1258 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2193 27.9155 -0.2 - vertex 15.9071 28.1258 -0.2 - vertex 15.8197 28.3106 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1337 28.0941 -0.2 - vertex 15.8197 28.3106 -0.2 - vertex 15.7487 28.5051 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2806 27.6146 -0.2 - vertex 15.734 27.2872 -0.2 - vertex 16.116 26.8997 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0574 28.4965 -0.2 - vertex 15.7487 28.5051 -0.2 - vertex 15.6927 28.7106 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.0552 28.7509 -0.2 - vertex 15.6927 28.7106 -0.2 - vertex 15.6202 29.1601 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.1102 29.496 -0.2 - vertex 15.6202 29.1601 -0.2 - vertex 15.5622 29.5773 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.1701 29.8123 -0.2 - vertex 15.5622 29.5773 -0.2 - vertex 15.49 29.8698 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.2437 30.0088 -0.2 - vertex 15.49 29.8698 -0.2 - vertex 15.4091 30.0386 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.2838 30.0618 -0.2 - vertex 15.4091 30.0386 -0.2 - vertex 15.3672 30.0768 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6202 29.1601 -0.2 - vertex 15.0694 29.0611 -0.2 - vertex 15.0552 28.7509 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2838 30.0618 -0.2 - vertex 15.3672 30.0768 -0.2 - vertex 15.3252 30.0845 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.4091 30.0386 -0.2 - vertex 15.2838 30.0618 -0.2 - vertex 15.2437 30.0088 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.49 29.8698 -0.2 - vertex 15.2437 30.0088 -0.2 - vertex 15.1701 29.8123 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6927 28.7106 -0.2 - vertex 15.0552 28.7509 -0.2 - vertex 15.0574 28.4965 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.5622 29.5773 -0.2 - vertex 15.1701 29.8123 -0.2 - vertex 15.1102 29.496 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6202 29.1601 -0.2 - vertex 15.1102 29.496 -0.2 - vertex 15.0694 29.0611 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.0121 27.9491 -0.2 - vertex 15.344 27.7317 -0.2 - vertex 15.734 27.2872 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.7487 28.5051 -0.2 - vertex 15.0574 28.4965 -0.2 - vertex 15.0817 28.2827 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.9071 28.1258 -0.2 - vertex 15.2193 27.9155 -0.2 - vertex 15.344 27.7317 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.7487 28.5051 -0.2 - vertex 15.0817 28.2827 -0.2 - vertex 15.1337 28.0941 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.8197 28.3106 -0.2 - vertex 15.1337 28.0941 -0.2 - vertex 15.2193 27.9155 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.6024 10.7775 -0.2 - vertex 21.7259 8.22365 -0.2 - vertex 27.5775 10.2019 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 23.6083 4.95794 -0.2 - vertex 27.0158 7.30485 -0.2 - vertex 23.5351 5.37146 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 22.0631 7.89267 -0.2 - vertex 27.5775 10.2019 -0.2 - vertex 21.7259 8.22365 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.5397 9.70386 -0.2 - vertex 22.0631 7.89267 -0.2 - vertex 27.4871 9.26334 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 23.6192 4.7586 -0.2 - vertex 27.0158 7.30485 -0.2 - vertex 23.6083 4.95794 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0158 7.30485 -0.2 - vertex 23.6192 4.7586 -0.2 - vertex 24.9074 2.59483 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 22.3621 7.54907 -0.2 - vertex 27.4871 9.26334 -0.2 - vertex 22.0631 7.89267 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.6129 4.5634 -0.2 - vertex 24.9074 2.59483 -0.2 - vertex 23.6192 4.7586 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.5494 4.18291 -0.2 - vertex 24.9074 2.59483 -0.2 - vertex 23.5897 4.3717 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4176 8.86037 -0.2 - vertex 22.3621 7.54907 -0.2 - vertex 27.3295 8.47496 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.4183 3.81156 -0.2 - vertex 24.9074 2.59483 -0.2 - vertex 23.5494 4.18291 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.22 3.44442 -0.2 - vertex 24.764 2.4559 -0.2 - vertex 23.4183 3.81156 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.9074 2.59483 -0.2 - vertex 23.4183 3.81156 -0.2 - vertex 24.764 2.4559 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.5897 4.3717 -0.2 - vertex 24.9074 2.59483 -0.2 - vertex 23.6129 4.5634 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0158 7.30485 -0.2 - vertex 23.3929 5.8089 -0.2 - vertex 23.5351 5.37146 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3295 8.47496 -0.2 - vertex 22.3621 7.54907 -0.2 - vertex 27.2208 8.08714 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0158 7.30485 -0.2 - vertex 23.1811 6.27516 -0.2 - vertex 23.3929 5.8089 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0158 7.30485 -0.2 - vertex 22.8992 6.77518 -0.2 - vertex 23.1811 6.27516 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.1048 7.68143 -0.2 - vertex 22.8992 6.77518 -0.2 - vertex 27.0158 7.30485 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 22.8992 6.77518 -0.2 - vertex 27.1048 7.68143 -0.2 - vertex 22.6364 7.18064 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4871 9.26334 -0.2 - vertex 22.3621 7.54907 -0.2 - vertex 27.4176 8.86037 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2208 8.08714 -0.2 - vertex 22.6364 7.18064 -0.2 - vertex 27.1048 7.68143 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 22.6364 7.18064 -0.2 - vertex 27.2208 8.08714 -0.2 - vertex 22.3621 7.54907 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.3371 8.55423 -0.2 - vertex 22.2336 15.278 -0.2 - vertex 21.6737 15.039 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.5775 10.2019 -0.2 - vertex 22.0631 7.89267 -0.2 - vertex 27.5397 9.70386 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.8834 8.89663 -0.2 - vertex 21.6737 15.039 -0.2 - vertex 21.1771 14.8489 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.6737 15.039 -0.2 - vertex 20.8834 8.89663 -0.2 - vertex 21.3371 8.55423 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3513 9.26304 -0.2 - vertex 21.1771 14.8489 -0.2 - vertex 20.8452 14.735 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7274 9.66569 -0.2 - vertex 20.8452 14.735 -0.2 - vertex 20.5722 14.6577 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1771 14.8489 -0.2 - vertex 20.3513 9.26304 -0.2 - vertex 20.8834 8.89663 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4723 9.81661 -0.2 - vertex 20.5722 14.6577 -0.2 - vertex 20.327 14.6203 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.2206 9.94402 -0.2 - vertex 20.327 14.6203 -0.2 - vertex 20.0785 14.6265 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.6964 10.137 -0.2 - vertex 20.0785 14.6265 -0.2 - vertex 19.7955 14.6797 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.8452 14.735 -0.2 - vertex 19.7274 9.66569 -0.2 - vertex 20.3513 9.26304 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.5722 14.6577 -0.2 - vertex 19.4723 9.81661 -0.2 - vertex 19.7274 9.66569 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4085 10.2069 -0.2 - vertex 19.7955 14.6797 -0.2 - vertex 19.4469 14.7833 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.327 14.6203 -0.2 - vertex 19.2206 9.94402 -0.2 - vertex 19.4723 9.81661 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0785 14.6265 -0.2 - vertex 18.9645 10.0501 -0.2 - vertex 19.2206 9.94402 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0785 14.6265 -0.2 - vertex 18.6964 10.137 -0.2 - vertex 18.9645 10.0501 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.093 10.2619 -0.2 - vertex 19.4469 14.7833 -0.2 - vertex 18.4281 15.1559 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7955 14.6797 -0.2 - vertex 18.4085 10.2069 -0.2 - vertex 18.6964 10.137 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4469 14.7833 -0.2 - vertex 18.093 10.2619 -0.2 - vertex 18.4085 10.2069 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.499 10.3797 -0.2 - vertex 18.4281 15.1559 -0.2 - vertex 17.448 15.5385 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4281 15.1559 -0.2 - vertex 17.3487 10.3363 -0.2 - vertex 18.093 10.2619 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2187 10.3704 -0.2 - vertex 17.448 15.5385 -0.2 - vertex 16.6072 15.8977 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4281 15.1559 -0.2 - vertex 16.499 10.3797 -0.2 - vertex 17.3487 10.3363 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.448 15.5385 -0.2 - vertex 16.2187 10.3704 -0.2 - vertex 16.499 10.3797 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.6072 15.8977 -0.2 - vertex 16.005 10.3315 -0.2 - vertex 16.2187 10.3704 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.8738 16.2527 -0.2 - vertex 16.005 10.3315 -0.2 - vertex 16.6072 15.8977 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.8738 16.2527 -0.2 - vertex 15.8355 10.2563 -0.2 - vertex 16.005 10.3315 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2162 16.623 -0.2 - vertex 15.8355 10.2563 -0.2 - vertex 15.8738 16.2527 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.8355 10.2563 -0.2 - vertex 15.2162 16.623 -0.2 - vertex 15.6879 10.1383 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.4375 16.5104 -0.2 - vertex 15.6879 10.1383 -0.2 - vertex 15.2162 16.623 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6879 10.1383 -0.2 - vertex 10.4375 16.5104 -0.2 - vertex 15.5399 9.97068 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.5399 9.97068 -0.2 - vertex 10.4375 16.5104 -0.2 - vertex 15.369 9.74689 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 9.73318 16.1788 -0.2 - vertex 15.369 9.74689 -0.2 - vertex 10.4375 16.5104 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.369 9.74689 -0.2 - vertex 9.73318 16.1788 -0.2 - vertex 15.213 9.52982 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.213 9.52982 -0.2 - vertex 9.73318 16.1788 -0.2 - vertex 15.0942 9.33737 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 9.19116 15.9452 -0.2 - vertex 15.0942 9.33737 -0.2 - vertex 9.73318 16.1788 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 8.99158 15.8746 -0.2 - vertex 15.0942 9.33737 -0.2 - vertex 9.19116 15.9452 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.4375 16.5104 -0.2 - vertex 15.2162 16.623 -0.2 - vertex 14.6028 17.0277 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 24.4388 2.25734 -0.2 - vertex 24.764 2.4559 -0.2 - vertex 23.22 3.44442 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.764 2.4559 -0.2 - vertex 24.4388 2.25734 -0.2 - vertex 24.6285 2.34829 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.4388 2.25734 -0.2 - vertex 23.22 3.44442 -0.2 - vertex 24.2201 2.19262 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.2201 2.19262 -0.2 - vertex 23.22 3.44442 -0.2 - vertex 23.9975 2.16372 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.9975 2.16372 -0.2 - vertex 23.22 3.44442 -0.2 - vertex 23.7673 2.14309 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.0427 3.12896 -0.2 - vertex 23.7673 2.14309 -0.2 - vertex 23.22 3.44442 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.7673 2.14309 -0.2 - vertex 23.0427 3.12896 -0.2 - vertex 23.5277 2.10089 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.9115 2.82433 -0.2 - vertex 23.5277 2.10089 -0.2 - vertex 23.0427 3.12896 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.827 2.54396 -0.2 - vertex 23.5277 2.10089 -0.2 - vertex 22.9115 2.82433 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.5277 2.10089 -0.2 - vertex 22.827 2.54396 -0.2 - vertex 23.3072 2.04326 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.7901 2.30129 -0.2 - vertex 23.3072 2.04326 -0.2 - vertex 22.827 2.54396 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.3072 2.04326 -0.2 - vertex 22.7901 2.30129 -0.2 - vertex 23.0469 1.94283 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 22.8016 2.10976 -0.2 - vertex 23.0469 1.94283 -0.2 - vertex 22.7901 2.30129 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 22.8257 2.03737 -0.2 - vertex 23.0469 1.94283 -0.2 - vertex 22.8016 2.10976 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0469 1.94283 -0.2 - vertex 22.8257 2.03737 -0.2 - vertex 22.9727 1.93385 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 22.8622 1.9828 -0.2 - vertex 22.9727 1.93385 -0.2 - vertex 22.8257 2.03737 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.9727 1.93385 -0.2 - vertex 22.8622 1.9828 -0.2 - vertex 22.9112 1.94773 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4227 15.3534 -0.2 - vertex 24.3498 16.3417 -0.2 - vertex 27.4995 15.0808 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3198 15.5987 -0.2 - vertex 24.3498 16.3417 -0.2 - vertex 27.4227 15.3534 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4995 15.0808 -0.2 - vertex 24.3498 16.3417 -0.2 - vertex 27.5539 14.7505 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.3498 16.3417 -0.2 - vertex 27.3198 15.5987 -0.2 - vertex 24.659 16.5397 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.5539 14.7505 -0.2 - vertex 24.3498 16.3417 -0.2 - vertex 27.5896 14.3319 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.1872 15.8473 -0.2 - vertex 24.659 16.5397 -0.2 - vertex 27.3198 15.5987 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.9148 16.0975 -0.2 - vertex 27.5896 14.3319 -0.2 - vertex 24.3498 16.3417 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.659 16.5397 -0.2 - vertex 25.8187 16.7495 -0.2 - vertex 24.7548 16.6154 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.5896 14.3319 -0.2 - vertex 23.9148 16.0975 -0.2 - vertex 27.6103 13.7945 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.3919 15.8262 -0.2 - vertex 27.6103 13.7945 -0.2 - vertex 23.9148 16.0975 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.7548 16.6154 -0.2 - vertex 25.8187 16.7495 -0.2 - vertex 24.8049 16.6725 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.6103 13.7945 -0.2 - vertex 23.3919 15.8262 -0.2 - vertex 27.6211 12.2412 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.659 16.5397 -0.2 - vertex 27.1872 15.8473 -0.2 - vertex 25.8187 16.7495 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.2336 15.278 -0.2 - vertex 27.6211 12.2412 -0.2 - vertex 23.3919 15.8262 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.3371 8.55423 -0.2 - vertex 27.6211 12.2412 -0.2 - vertex 22.2336 15.278 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.8659 16.7424 -0.2 - vertex 27.1872 15.8473 -0.2 - vertex 27.0139 16.2113 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.6211 12.2412 -0.2 - vertex 21.3371 8.55423 -0.2 - vertex 27.6024 10.7775 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 21.7259 8.22365 -0.2 - vertex 27.6024 10.7775 -0.2 - vertex 21.3371 8.55423 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0158 7.30485 -0.2 - vertex 24.9074 2.59483 -0.2 - vertex 26.9517 6.92758 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.1872 15.8473 -0.2 - vertex 25.8659 16.7424 -0.2 - vertex 25.8187 16.7495 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.8659 16.7424 -0.2 - vertex 27.0139 16.2113 -0.2 - vertex 26.8653 16.6367 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.8138 2.23679 -0.2 - vertex 26.9647 2.16551 -0.2 - vertex 26.9615 2.94949 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.4766 2.59351 -0.2 - vertex 26.9615 2.94949 -0.2 - vertex 26.9294 3.98634 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9647 2.16551 -0.2 - vertex 25.8138 2.23679 -0.2 - vertex 26.0094 1.96397 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.185 2.7087 -0.2 - vertex 26.9294 3.98634 -0.2 - vertex 26.8871 5.49316 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 26.3175 1.53367 -0.2 - vertex 26.9647 2.16551 -0.2 - vertex 26.0094 1.96397 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9517 6.92758 -0.2 - vertex 24.9074 2.59483 -0.2 - vertex 26.9103 6.51977 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9615 2.94949 -0.2 - vertex 25.6376 2.44612 -0.2 - vertex 25.8138 2.23679 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.9855 16.8461 -0.2 - vertex 26.8653 16.6367 -0.2 - vertex 26.7571 17.0706 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 26.4455 1.37999 -0.2 - vertex 26.9324 1.61996 -0.2 - vertex 26.3175 1.53367 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.0803 17.2678 -0.2 - vertex 26.7571 17.0706 -0.2 - vertex 26.7051 17.4601 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.0933 17.5963 -0.2 - vertex 26.7051 17.4601 -0.2 - vertex 26.6784 17.7808 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8653 16.6367 -0.2 - vertex 25.9855 16.8461 -0.2 - vertex 25.9096 16.7563 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.0696 17.9605 -0.2 - vertex 26.6784 17.7808 -0.2 - vertex 26.6332 18.0815 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0696 17.9605 -0.2 - vertex 26.6332 18.0815 -0.2 - vertex 26.5691 18.3624 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.7571 17.0706 -0.2 - vertex 26.0434 17.0172 -0.2 - vertex 25.9855 16.8461 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0696 17.9605 -0.2 - vertex 26.5691 18.3624 -0.2 - vertex 26.4859 18.624 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9324 1.61996 -0.2 - vertex 26.4455 1.37999 -0.2 - vertex 26.901 1.43209 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0696 17.9605 -0.2 - vertex 26.4859 18.624 -0.2 - vertex 26.3832 18.8665 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 26.5572 1.2697 -0.2 - vertex 26.901 1.43209 -0.2 - vertex 26.4455 1.37999 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0696 17.9605 -0.2 - vertex 26.3832 18.8665 -0.2 - vertex 26.2605 19.0904 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.7448 18.8483 -0.2 - vertex 26.2605 19.0904 -0.2 - vertex 26.1176 19.296 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.7051 17.4601 -0.2 - vertex 26.0933 17.5963 -0.2 - vertex 26.0803 17.2678 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.7571 17.0706 -0.2 - vertex 26.0803 17.2678 -0.2 - vertex 26.0434 17.0172 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 26.6535 1.20459 -0.2 - vertex 26.8581 1.29842 -0.2 - vertex 26.5572 1.2697 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8581 1.29842 -0.2 - vertex 26.6535 1.20459 -0.2 - vertex 26.8032 1.21715 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8032 1.21715 -0.2 - vertex 26.6535 1.20459 -0.2 - vertex 26.7352 1.18648 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.8659 16.7424 -0.2 - vertex 26.8653 16.6367 -0.2 - vertex 25.9096 16.7563 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9103 6.51977 -0.2 - vertex 24.9074 2.59483 -0.2 - vertex 26.8894 6.05157 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.7157 16.8274 -0.2 - vertex 24.8049 16.6725 -0.2 - vertex 25.8187 16.7495 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.901 1.43209 -0.2 - vertex 26.5572 1.2697 -0.2 - vertex 26.8581 1.29842 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8049 16.6725 -0.2 - vertex 25.7157 16.8274 -0.2 - vertex 24.8294 16.7672 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9647 2.16551 -0.2 - vertex 26.3175 1.53367 -0.2 - vertex 26.9324 1.61996 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8294 16.7672 -0.2 - vertex 25.7157 16.8274 -0.2 - vertex 25.6037 16.9917 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8232 16.8925 -0.2 - vertex 25.6037 16.9917 -0.2 - vertex 25.4856 17.2443 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9615 2.94949 -0.2 - vertex 25.4766 2.59351 -0.2 - vertex 25.6376 2.44612 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.789 17.0321 -0.2 - vertex 25.4856 17.2443 -0.2 - vertex 25.3467 17.5167 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 25.0464 2.67962 -0.2 - vertex 26.8894 6.05157 -0.2 - vertex 24.9074 2.59483 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.7291 17.1695 -0.2 - vertex 25.3467 17.5167 -0.2 - vertex 25.2614 17.6336 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9294 3.98634 -0.2 - vertex 25.3271 2.68052 -0.2 - vertex 25.4766 2.59351 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6602 17.253 -0.2 - vertex 25.2614 17.6336 -0.2 - vertex 25.163 17.7384 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6602 17.253 -0.2 - vertex 25.163 17.7384 -0.2 - vertex 25.0501 17.8316 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9294 3.98634 -0.2 - vertex 25.185 2.7087 -0.2 - vertex 25.3271 2.68052 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6602 17.253 -0.2 - vertex 25.0501 17.8316 -0.2 - vertex 24.9207 17.9138 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8871 5.49316 -0.2 - vertex 25.0464 2.67962 -0.2 - vertex 25.185 2.7087 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8894 6.05157 -0.2 - vertex 25.0464 2.67962 -0.2 - vertex 26.8871 5.49316 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.6037 16.9917 -0.2 - vertex 24.8232 16.8925 -0.2 - vertex 24.8294 16.7672 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.4856 17.2443 -0.2 - vertex 24.789 17.0321 -0.2 - vertex 24.8232 16.8925 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3467 17.5167 -0.2 - vertex 24.7291 17.1695 -0.2 - vertex 24.789 17.0321 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.2614 17.6336 -0.2 - vertex 24.6602 17.253 -0.2 - vertex 24.7291 17.1695 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.5483 17.3222 -0.2 - vertex 24.9207 17.9138 -0.2 - vertex 24.6059 18.0475 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.9207 17.9138 -0.2 - vertex 24.5483 17.3222 -0.2 - vertex 24.6602 17.253 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6059 18.0475 -0.2 - vertex 24.386 17.3783 -0.2 - vertex 24.5483 17.3222 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.166 17.4223 -0.2 - vertex 24.6059 18.0475 -0.2 - vertex 24.2049 18.1437 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6059 18.0475 -0.2 - vertex 24.166 17.4223 -0.2 - vertex 24.386 17.3783 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.7039 18.207 -0.2 - vertex 24.166 17.4223 -0.2 - vertex 24.2049 18.1437 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.7039 18.207 -0.2 - vertex 23.5226 17.4791 -0.2 - vertex 24.166 17.4223 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0891 18.2417 -0.2 - vertex 23.5226 17.4791 -0.2 - vertex 23.7039 18.207 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0891 18.2417 -0.2 - vertex 22.5588 17.5015 -0.2 - vertex 23.5226 17.4791 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.3468 18.2522 -0.2 - vertex 22.5588 17.5015 -0.2 - vertex 23.0891 18.2417 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.5679 18.2611 -0.2 - vertex 22.5588 17.5015 -0.2 - vertex 22.3468 18.2522 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.5679 18.2611 -0.2 - vertex 21.0506 17.5236 -0.2 - vertex 22.5588 17.5015 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9709 18.304 -0.2 - vertex 21.0506 17.5236 -0.2 - vertex 21.5679 18.2611 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.7319 18.3459 -0.2 - vertex 21.0506 17.5236 -0.2 - vertex 20.9709 18.304 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2276 17.5562 -0.2 - vertex 20.7319 18.3459 -0.2 - vertex 20.5281 18.4055 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0333 17.6179 -0.2 - vertex 20.5281 18.4055 -0.2 - vertex 20.3561 18.486 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.7319 18.3459 -0.2 - vertex 20.2276 17.5562 -0.2 - vertex 21.0506 17.5236 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6934 17.9694 -0.2 - vertex 20.3561 18.486 -0.2 - vertex 20.2124 18.5903 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.5281 18.4055 -0.2 - vertex 20.1284 17.5777 -0.2 - vertex 20.2276 17.5562 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5469 18.2611 -0.2 - vertex 20.2124 18.5903 -0.2 - vertex 20.0935 18.7216 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.5281 18.4055 -0.2 - vertex 20.0333 17.6179 -0.2 - vertex 20.1284 17.5777 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4153 18.6317 -0.2 - vertex 20.0935 18.7216 -0.2 - vertex 19.9962 18.8829 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3561 18.486 -0.2 - vertex 19.9424 17.6771 -0.2 - vertex 20.0333 17.6179 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4153 18.6317 -0.2 - vertex 19.9962 18.8829 -0.2 - vertex 19.9169 19.0772 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3561 18.486 -0.2 - vertex 19.8554 17.7553 -0.2 - vertex 19.9424 17.6771 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.2984 19.082 -0.2 - vertex 19.9169 19.0772 -0.2 - vertex 19.8522 19.3078 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.1956 19.6132 -0.2 - vertex 19.8522 19.3078 -0.2 - vertex 19.753 19.8896 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3561 18.486 -0.2 - vertex 19.6934 17.9694 -0.2 - vertex 19.8554 17.7553 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.1065 20.2262 -0.2 - vertex 19.753 19.8896 -0.2 - vertex 19.6713 20.6529 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.0081 20.8787 -0.2 - vertex 19.6713 20.6529 -0.2 - vertex 19.58 21.4118 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0935 18.7216 -0.2 - vertex 19.4153 18.6317 -0.2 - vertex 19.5469 18.2611 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 18.892 21.4494 -0.2 - vertex 19.58 21.4118 -0.2 - vertex 19.5238 21.6908 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.892 21.4494 -0.2 - vertex 19.5238 21.6908 -0.2 - vertex 19.4538 21.9215 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2124 18.5903 -0.2 - vertex 19.5469 18.2611 -0.2 - vertex 19.6934 17.9694 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.7726 21.8767 -0.2 - vertex 19.4538 21.9215 -0.2 - vertex 19.3646 22.1178 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.9169 19.0772 -0.2 - vertex 19.2984 19.082 -0.2 - vertex 19.4153 18.6317 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.7726 21.8767 -0.2 - vertex 19.3646 22.1178 -0.2 - vertex 19.2511 22.2936 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.8522 19.3078 -0.2 - vertex 19.1956 19.6132 -0.2 - vertex 19.2984 19.082 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.7163 22.0174 -0.2 - vertex 19.2511 22.2936 -0.2 - vertex 19.108 22.463 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.753 19.8896 -0.2 - vertex 19.1065 20.2262 -0.2 - vertex 19.1956 19.6132 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6713 20.6529 -0.2 - vertex 19.0081 20.8787 -0.2 - vertex 19.1065 20.2262 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.6646 22.0992 -0.2 - vertex 19.108 22.463 -0.2 - vertex 18.9302 22.6398 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.58 21.4118 -0.2 - vertex 18.892 21.4494 -0.2 - vertex 19.0081 20.8787 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4538 21.9215 -0.2 - vertex 18.7726 21.8767 -0.2 - vertex 18.892 21.4494 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.2511 22.2936 -0.2 - vertex 18.7163 22.0174 -0.2 - vertex 18.7726 21.8767 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.108 22.463 -0.2 - vertex 18.6646 22.0992 -0.2 - vertex 18.7163 22.0174 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4732 22.2317 -0.2 - vertex 18.9302 22.6398 -0.2 - vertex 18.6454 22.8797 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.9302 22.6398 -0.2 - vertex 18.4732 22.2317 -0.2 - vertex 18.6646 22.0992 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.127 22.4141 -0.2 - vertex 18.6454 22.8797 -0.2 - vertex 18.318 23.1114 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.6454 22.8797 -0.2 - vertex 18.127 22.4141 -0.2 - vertex 18.4732 22.2317 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6752 22.6222 -0.2 - vertex 18.318 23.1114 -0.2 - vertex 17.9883 23.3086 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6752 22.6222 -0.2 - vertex 17.9883 23.3086 -0.2 - vertex 17.6969 23.4449 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.318 23.1114 -0.2 - vertex 17.6752 22.6222 -0.2 - vertex 18.127 22.4141 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6969 23.4449 -0.2 - vertex 17.1667 22.8321 -0.2 - vertex 17.6752 22.6222 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2809 23.9862 -0.2 - vertex 17.1667 22.8321 -0.2 - vertex 17.6969 23.4449 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2809 23.9862 -0.2 - vertex 15.5173 23.4995 -0.2 - vertex 17.1667 22.8321 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1328 24.4531 -0.2 - vertex 15.5173 23.4995 -0.2 - vertex 16.2809 23.9862 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.0281 24.1527 -0.2 - vertex 15.1328 24.4531 -0.2 - vertex 14.2197 24.8651 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1328 24.4531 -0.2 - vertex 14.0281 24.1527 -0.2 - vertex 15.5173 23.4995 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.2197 24.8651 -0.2 - vertex 13.7923 24.2655 -0.2 - vertex 14.0281 24.1527 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.2197 24.8651 -0.2 - vertex 13.5553 24.3991 -0.2 - vertex 13.7923 24.2655 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.5086 25.2416 -0.2 - vertex 13.5553 24.3991 -0.2 - vertex 14.2197 24.8651 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.085 24.7212 -0.2 - vertex 13.5086 25.2416 -0.2 - vertex 13.2184 25.4225 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.5086 25.2416 -0.2 - vertex 13.085 24.7212 -0.2 - vertex 13.5553 24.3991 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.6316 25.1032 -0.2 - vertex 13.2184 25.4225 -0.2 - vertex 12.9664 25.6018 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.6316 25.1032 -0.2 - vertex 12.9664 25.6018 -0.2 - vertex 12.7484 25.782 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.2184 25.4225 -0.2 - vertex 12.6316 25.1032 -0.2 - vertex 13.085 24.7212 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.2092 25.5292 -0.2 - vertex 12.7484 25.782 -0.2 - vertex 12.5603 25.9653 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.2092 25.5292 -0.2 - vertex 12.5603 25.9653 -0.2 - vertex 12.3979 26.1543 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8324 25.9834 -0.2 - vertex 12.3979 26.1543 -0.2 - vertex 12.2572 26.3514 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.7484 25.782 -0.2 - vertex 12.2092 25.5292 -0.2 - vertex 12.6316 25.1032 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8324 25.9834 -0.2 - vertex 12.2572 26.3514 -0.2 - vertex 12.1339 26.5589 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5154 26.4501 -0.2 - vertex 12.1339 26.5589 -0.2 - vertex 12.0241 26.7794 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.3839 26.6832 -0.2 - vertex 12.0241 26.7794 -0.2 - vertex 11.903 27.1234 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3979 26.1543 -0.2 - vertex 11.8324 25.9834 -0.2 - vertex 12.2092 25.5292 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.1835 27.139 -0.2 - vertex 11.903 27.1234 -0.2 - vertex 11.8169 27.5343 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.0734 27.5937 -0.2 - vertex 11.8169 27.5343 -0.2 - vertex 11.7656 27.9858 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.0419 28.1143 -0.2 - vertex 11.7656 27.9858 -0.2 - vertex 11.7492 28.4518 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.2437 29.4873 -0.2 - vertex 11.9082 29.6745 -0.2 - vertex 11.4096 29.9696 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.9082 29.6745 -0.2 - vertex 11.2437 29.4873 -0.2 - vertex 11.8205 29.3224 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.7675 28.9061 -0.2 - vertex 11.1213 28.9486 -0.2 - vertex 11.7492 28.4518 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8205 29.3224 -0.2 - vertex 11.2437 29.4873 -0.2 - vertex 11.7675 28.9061 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.1213 28.9486 -0.2 - vertex 11.7675 28.9061 -0.2 - vertex 11.2437 29.4873 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.0528 28.3898 -0.2 - vertex 11.7492 28.4518 -0.2 - vertex 11.1213 28.9486 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.1339 26.5589 -0.2 - vertex 11.5154 26.4501 -0.2 - vertex 11.8324 25.9834 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.0419 28.1143 -0.2 - vertex 11.7492 28.4518 -0.2 - vertex 11.0528 28.3898 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.0241 26.7794 -0.2 - vertex 11.3839 26.6832 -0.2 - vertex 11.5154 26.4501 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.7656 27.9858 -0.2 - vertex 11.0419 28.1143 -0.2 - vertex 11.0484 27.8474 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.903 27.1234 -0.2 - vertex 11.2726 26.9135 -0.2 - vertex 11.3839 26.6832 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.7656 27.9858 -0.2 - vertex 11.0484 27.8474 -0.2 - vertex 11.0734 27.5937 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.903 27.1234 -0.2 - vertex 11.1835 27.139 -0.2 - vertex 11.2726 26.9135 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8169 27.5343 -0.2 - vertex 11.1184 27.3577 -0.2 - vertex 11.1835 27.139 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8169 27.5343 -0.2 - vertex 11.0734 27.5937 -0.2 - vertex 11.1184 27.3577 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.5155 0.168137 -0.2 - vertex 21.1355 -0.658014 -0.2 - vertex 21.1316 -0.233279 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.8646 0.230347 -0.2 - vertex 21.1316 -0.233279 -0.2 - vertex 21.099 0.0745682 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9772 0.235111 -0.2 - vertex 21.099 0.0745682 -0.2 - vertex 21.0726 0.170561 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9772 0.235111 -0.2 - vertex 21.0726 0.170561 -0.2 - vertex 21.0399 0.220413 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1316 -0.233279 -0.2 - vertex 20.8646 0.230347 -0.2 - vertex 20.5155 0.168137 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1355 -0.658014 -0.2 - vertex 20.5155 0.168137 -0.2 - vertex 20.0432 0.0451876 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.099 0.0745682 -0.2 - vertex 20.9772 0.235111 -0.2 - vertex 20.8646 0.230347 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1355 -0.658014 -0.2 - vertex 20.0432 0.0451876 -0.2 - vertex 21.1085 -1.15452 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.4982 -0.127099 -0.2 - vertex 21.1085 -1.15452 -0.2 - vertex 20.0432 0.0451876 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1085 -1.15452 -0.2 - vertex 19.4982 -0.127099 -0.2 - vertex 21.0399 -1.71534 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0399 -1.71534 -0.2 - vertex 19.4982 -0.127099 -0.2 - vertex 20.9878 -1.96317 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 18.7502 -0.369046 -0.2 - vertex 20.9878 -1.96317 -0.2 - vertex 19.4982 -0.127099 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9878 -1.96317 -0.2 - vertex 18.7502 -0.369046 -0.2 - vertex 20.9199 -2.19366 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9199 -2.19366 -0.2 - vertex 18.7502 -0.369046 -0.2 - vertex 20.8331 -2.41014 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.8331 -2.41014 -0.2 - vertex 18.7502 -0.369046 -0.2 - vertex 20.7245 -2.61588 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.7245 -2.61588 -0.2 - vertex 18.7502 -0.369046 -0.2 - vertex 20.591 -2.8142 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.591 -2.8142 -0.2 - vertex 18.7502 -0.369046 -0.2 - vertex 20.4297 -3.0084 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.4297 -3.0084 -0.2 - vertex 18.7502 -0.369046 -0.2 - vertex 20.2374 -3.20177 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2374 -3.20177 -0.2 - vertex 18.7502 -0.369046 -0.2 - vertex 20.0112 -3.39762 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 18.4876 -0.435405 -0.2 - vertex 20.0112 -3.39762 -0.2 - vertex 18.7502 -0.369046 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0112 -3.39762 -0.2 - vertex 18.4876 -0.435405 -0.2 - vertex 19.4451 -3.80993 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 18.2791 -0.466914 -0.2 - vertex 19.4451 -3.80993 -0.2 - vertex 18.4876 -0.435405 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.1098 -0.464739 -0.2 - vertex 19.4451 -3.80993 -0.2 - vertex 18.2791 -0.466914 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4451 -3.80993 -0.2 - vertex 18.1098 -0.464739 -0.2 - vertex 18.7073 -4.27174 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.9646 -0.430052 -0.2 - vertex 18.7073 -4.27174 -0.2 - vertex 18.1098 -0.464739 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.7736 -4.80944 -0.2 - vertex 17.9646 -0.430052 -0.2 - vertex 17.8284 -0.36402 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.9646 -0.430052 -0.2 - vertex 17.7736 -4.80944 -0.2 - vertex 18.7073 -4.27174 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.3217 -2.5049 -0.2 - vertex 17.8284 -0.36402 -0.2 - vertex 17.6862 -0.267812 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.2572 -2.23644 -0.2 - vertex 17.6862 -0.267812 -0.2 - vertex 17.4918 -0.0873203 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.1524 -1.94488 -0.2 - vertex 17.4918 -0.0873203 -0.2 - vertex 17.2889 0.169637 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.008 -1.63155 -0.2 - vertex 17.2889 0.169637 -0.2 - vertex 17.0802 0.495742 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.8249 -1.29782 -0.2 - vertex 17.0802 0.495742 -0.2 - vertex 16.8681 0.883681 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.604 -0.945011 -0.2 - vertex 16.8681 0.883681 -0.2 - vertex 16.6551 1.32614 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.3463 -0.574481 -0.2 - vertex 16.6551 1.32614 -0.2 - vertex 16.4437 1.81579 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6862 -0.267812 -0.2 - vertex 14.2572 -2.23644 -0.2 - vertex 14.3217 -2.5049 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.7237 0.214368 -0.2 - vertex 16.4437 1.81579 -0.2 - vertex 16.2363 2.34533 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3607 0.629996 -0.2 - vertex 16.2363 2.34533 -0.2 - vertex 16.0356 2.90743 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5355 1.49693 -0.2 - vertex 16.0356 2.90743 -0.2 - vertex 15.6639 4.10009 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.8284 -0.36402 -0.2 - vertex 14.3217 -2.5049 -0.2 - vertex 14.3448 -2.7489 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5355 1.49693 -0.2 - vertex 15.6639 4.10009 -0.2 - vertex 15.498 4.716 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.5842 2.40247 -0.2 - vertex 15.498 4.716 -0.2 - vertex 15.3486 5.33522 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.5842 2.40247 -0.2 - vertex 15.3486 5.33522 -0.2 - vertex 15.2183 5.95043 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.61741 3.25086 -0.2 - vertex 15.2183 5.95043 -0.2 - vertex 15.1095 6.5543 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.29624 3.50894 -0.2 - vertex 15.1095 6.5543 -0.2 - vertex 15.0249 7.13954 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 14.3256 -2.96711 -0.2 - vertex 17.7736 -4.80944 -0.2 - vertex 14.3448 -2.7489 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.14614 3.60373 -0.2 - vertex 15.0249 7.13954 -0.2 - vertex 14.9668 7.69881 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.19732 4.25764 -0.2 - vertex 14.9668 7.69881 -0.2 - vertex 14.9212 8.45633 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0942 9.33737 -0.2 - vertex 8.99158 15.8746 -0.2 - vertex 15.0092 9.15168 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.7736 -4.80944 -0.2 - vertex 14.3256 -2.96711 -0.2 - vertex 16.3254 -5.59514 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 14.1768 -3.32005 -0.2 - vertex 16.3254 -5.59514 -0.2 - vertex 14.2634 -3.15818 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 14.2634 -3.15818 -0.2 - vertex 16.3254 -5.59514 -0.2 - vertex 14.3256 -2.96711 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.8284 -0.36402 -0.2 - vertex 14.3448 -2.7489 -0.2 - vertex 17.7736 -4.80944 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.4918 -0.0873203 -0.2 - vertex 14.1524 -1.94488 -0.2 - vertex 14.2572 -2.23644 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.2889 0.169637 -0.2 - vertex 14.008 -1.63155 -0.2 - vertex 14.1524 -1.94488 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.4375 16.5104 -0.2 - vertex 14.6028 17.0277 -0.2 - vertex 14.0017 17.4864 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.0802 0.495742 -0.2 - vertex 13.8249 -1.29782 -0.2 - vertex 14.008 -1.63155 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.8681 0.883681 -0.2 - vertex 13.604 -0.945011 -0.2 - vertex 13.8249 -1.29782 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.4375 16.5104 -0.2 - vertex 14.0017 17.4864 -0.2 - vertex 13.3813 18.0182 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.6551 1.32614 -0.2 - vertex 13.3463 -0.574481 -0.2 - vertex 13.604 -0.945011 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.4437 1.81579 -0.2 - vertex 13.0525 -0.187573 -0.2 - vertex 13.3463 -0.574481 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.4437 1.81579 -0.2 - vertex 12.7237 0.214368 -0.2 - vertex 13.0525 -0.187573 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.4375 16.5104 -0.2 - vertex 13.3813 18.0182 -0.2 - vertex 12.71 18.6425 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2363 2.34533 -0.2 - vertex 12.3607 0.629996 -0.2 - vertex 12.7237 0.214368 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.4375 16.5104 -0.2 - vertex 12.71 18.6425 -0.2 - vertex 12.1494 19.1886 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.77546 17.1908 -0.2 - vertex 12.1494 19.1886 -0.2 - vertex 11.6914 19.6646 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 8.87708 15.8492 -0.2 - vertex 15.0092 9.15168 -0.2 - vertex 8.99158 15.8746 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.09841 17.8163 -0.2 - vertex 11.6914 19.6646 -0.2 - vertex 11.3113 20.1069 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.09841 17.8163 -0.2 - vertex 11.3113 20.1069 -0.2 - vertex 10.9846 20.5521 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.31493 18.4459 -0.2 - vertex 10.9846 20.5521 -0.2 - vertex 10.6869 21.0368 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.0356 2.90743 -0.2 - vertex 11.5355 1.49693 -0.2 - vertex 12.3607 0.629996 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.498 4.716 -0.2 - vertex 10.5842 2.40247 -0.2 - vertex 11.5355 1.49693 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.9444 18.7161 -0.2 - vertex 10.6869 21.0368 -0.2 - vertex 10.3935 21.5973 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.36805 19.075 -0.2 - vertex 10.3935 21.5973 -0.2 - vertex 10.0801 22.2703 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.1494 19.1886 -0.2 - vertex 9.77546 17.1908 -0.2 - vertex 10.4375 16.5104 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.21113 19.1268 -0.2 - vertex 10.0801 22.2703 -0.2 - vertex 9.72206 23.0922 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.6914 19.6646 -0.2 - vertex 9.46246 17.4938 -0.2 - vertex 9.77546 17.1908 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.21113 19.1268 -0.2 - vertex 9.72206 23.0922 -0.2 - vertex 9.38213 23.8626 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.6914 19.6646 -0.2 - vertex 9.09841 17.8163 -0.2 - vertex 9.46246 17.4938 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.76329 26.0408 -0.2 - vertex 9.38213 23.8626 -0.2 - vertex 9.08206 24.476 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.12606 25.9588 -0.2 - vertex 9.08206 24.476 -0.2 - vertex 8.80411 24.9522 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.55919 25.8755 -0.2 - vertex 8.80411 24.9522 -0.2 - vertex 8.6679 25.145 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.55919 25.8755 -0.2 - vertex 8.6679 25.145 -0.2 - vertex 8.53058 25.3107 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.55919 25.8755 -0.2 - vertex 8.53058 25.3107 -0.2 - vertex 8.38993 25.4519 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.9846 20.5521 -0.2 - vertex 8.31493 18.4459 -0.2 - vertex 9.09841 17.8163 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.92584 25.7528 -0.2 - vertex 8.38993 25.4519 -0.2 - vertex 8.24373 25.571 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.92584 25.7528 -0.2 - vertex 8.24373 25.571 -0.2 - vertex 8.08977 25.6705 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.6869 21.0368 -0.2 - vertex 7.9444 18.7161 -0.2 - vertex 8.31493 18.4459 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.38993 25.4519 -0.2 - vertex 7.92584 25.7528 -0.2 - vertex 7.55919 25.8755 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.3935 21.5973 -0.2 - vertex 7.62063 18.9319 -0.2 - vertex 7.9444 18.7161 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.80411 24.9522 -0.2 - vertex 7.55919 25.8755 -0.2 - vertex 7.12606 25.9588 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.3935 21.5973 -0.2 - vertex 7.36805 19.075 -0.2 - vertex 7.62063 18.9319 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.0801 22.2703 -0.2 - vertex 7.21113 19.1268 -0.2 - vertex 7.36805 19.075 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.76329 26.0408 -0.2 - vertex 9.08206 24.476 -0.2 - vertex 7.12606 25.9588 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.38213 23.8626 -0.2 - vertex 6.76329 26.0408 -0.2 - vertex 7.21113 19.1268 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.21113 19.1268 -0.2 - vertex 6.76329 26.0408 -0.2 - vertex 7.15267 19.0966 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.41393 26.1795 -0.2 - vertex 7.15267 19.0966 -0.2 - vertex 6.76329 26.0408 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.07308 26.3793 -0.2 - vertex 7.15267 19.0966 -0.2 - vertex 6.41393 26.1795 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.816408 27.0884 -0.2 - vertex 7.15267 19.0966 -0.2 - vertex 6.07308 26.3793 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 1.92323 12.5289 -0.2 - vertex 7.1242 19.0144 -0.2 - vertex 1.90284 12.6291 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 0.734953 27.0776 -0.2 - vertex 7.15267 19.0966 -0.2 - vertex 0.816408 27.0884 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.870515 27.1101 -0.2 - vertex 6.07308 26.3793 -0.2 - vertex 5.73586 26.6445 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.870515 27.1101 -0.2 - vertex 5.73586 26.6445 -0.2 - vertex 5.39739 26.9794 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 6.22936 5.32709 -0.2 - vertex 7.1242 19.0144 -0.2 - vertex 1.92323 12.5289 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 0.870515 27.1101 -0.2 - vertex 5.39739 26.9794 -0.2 - vertex 5.05276 27.3884 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.908598 27.1645 -0.2 - vertex 5.05276 27.3884 -0.2 - vertex 4.69711 27.8759 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.944126 27.2693 -0.2 - vertex 4.69711 27.8759 -0.2 - vertex 4.32553 28.4461 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 6.22936 5.32709 -0.2 - vertex 7.07462 4.9138 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.04514 28.0688 -0.2 - vertex 4.32553 28.4461 -0.2 - vertex 4.09087 28.8303 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.04514 28.0688 -0.2 - vertex 4.09087 28.8303 -0.2 - vertex 3.91157 29.1502 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.0601 28.6106 -0.2 - vertex 3.91157 29.1502 -0.2 - vertex 3.78021 29.4348 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.07949 29.2543 -0.2 - vertex 3.78021 29.4348 -0.2 - vertex 3.68937 29.7129 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.13903 29.8907 -0.2 - vertex 3.68937 29.7129 -0.2 - vertex 3.63162 30.0135 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.24074 30.5277 -0.2 - vertex 3.63162 30.0135 -0.2 - vertex 3.59957 30.3654 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.91748 12.4352 -0.2 - vertex 6.22936 5.32709 -0.2 - vertex 1.92323 12.5289 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.38662 31.173 -0.2 - vertex 3.59957 30.3654 -0.2 - vertex 3.58282 31.3388 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 14.0741 -3.47638 -0.2 - vertex 16.3254 -5.59514 -0.2 - vertex 14.1768 -3.32005 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.3254 -5.59514 -0.2 - vertex 14.0741 -3.47638 -0.2 - vertex 15.6549 -5.93433 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 13.8248 -3.7697 -0.2 - vertex 15.6549 -5.93433 -0.2 - vertex 14.0741 -3.47638 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6549 -5.93433 -0.2 - vertex 13.8248 -3.7697 -0.2 - vertex 15.0129 -6.23993 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 13.5249 -4.03275 -0.2 - vertex 15.0129 -6.23993 -0.2 - vertex 13.8248 -3.7697 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0129 -6.23993 -0.2 - vertex 13.5249 -4.03275 -0.2 - vertex 14.3941 -6.51356 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 13.1837 -4.26011 -0.2 - vertex 14.3941 -6.51356 -0.2 - vertex 13.5249 -4.03275 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.3941 -6.51356 -0.2 - vertex 13.1837 -4.26011 -0.2 - vertex 13.793 -6.75686 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.8106 -4.44636 -0.2 - vertex 13.793 -6.75686 -0.2 - vertex 13.1837 -4.26011 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.793 -6.75686 -0.2 - vertex 12.8106 -4.44636 -0.2 - vertex 13.2041 -6.97145 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.4149 -4.5861 -0.2 - vertex 13.2041 -6.97145 -0.2 - vertex 12.8106 -4.44636 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.2041 -6.97145 -0.2 - vertex 12.4149 -4.5861 -0.2 - vertex 12.6221 -7.15898 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.006 -4.67391 -0.2 - vertex 12.6221 -7.15898 -0.2 - vertex 12.4149 -4.5861 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.6221 -7.15898 -0.2 - vertex 12.006 -4.67391 -0.2 - vertex 12.0414 -7.32107 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.5931 -4.70438 -0.2 - vertex 12.0414 -7.32107 -0.2 - vertex 12.006 -4.67391 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5931 -4.70438 -0.2 - vertex 11.4568 -7.45935 -0.2 - vertex 12.0414 -7.32107 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.26 -4.69402 -0.2 - vertex 11.4568 -7.45935 -0.2 - vertex 11.5931 -4.70438 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.9319 -4.66264 -0.2 - vertex 11.4568 -7.45935 -0.2 - vertex 11.26 -4.69402 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.9319 -4.66264 -0.2 - vertex 10.8627 -7.57545 -0.2 - vertex 11.4568 -7.45935 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.608 -4.6098 -0.2 - vertex 10.8627 -7.57545 -0.2 - vertex 10.9319 -4.66264 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.2538 -7.67101 -0.2 - vertex 10.608 -4.6098 -0.2 - vertex 10.2875 -4.53506 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.608 -4.6098 -0.2 - vertex 10.2538 -7.67101 -0.2 - vertex 10.8627 -7.57545 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.62459 -7.74765 -0.2 - vertex 10.2875 -4.53506 -0.2 - vertex 9.96977 -4.43796 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.809 -5.75259 -0.2 - vertex 9.96977 -4.43796 -0.2 - vertex 9.65389 -4.31807 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.2875 -4.53506 -0.2 - vertex 9.62459 -7.74765 -0.2 - vertex 10.2538 -7.67101 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.809 -5.75259 -0.2 - vertex 9.65389 -4.31807 -0.2 - vertex 9.33912 -4.17495 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.809 -5.75259 -0.2 - vertex 9.33912 -4.17495 -0.2 - vertex 9.02468 -4.00814 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.96977 -4.43796 -0.2 - vertex 7.809 -5.75259 -0.2 - vertex 9.62459 -7.74765 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.809 -5.75259 -0.2 - vertex 9.02468 -4.00814 -0.2 - vertex 8.70978 -3.81721 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.04277 -4.97268 -0.2 - vertex 8.70978 -3.81721 -0.2 - vertex 8.39365 -3.60171 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.04277 -4.97268 -0.2 - vertex 8.39365 -3.60171 -0.2 - vertex 8.0755 -3.36119 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.62459 -7.74765 -0.2 - vertex 7.809 -5.75259 -0.2 - vertex 8.96966 -7.80701 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.809 -5.75259 -0.2 - vertex 7.56097 -7.88041 -0.2 - vertex 8.96966 -7.80701 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 7.2241 -5.88439 -0.2 - vertex 7.56097 -7.88041 -0.2 - vertex 7.809 -5.75259 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 6.87672 -5.95074 -0.2 - vertex 7.56097 -7.88041 -0.2 - vertex 7.2241 -5.88439 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 6.53505 -5.98957 -0.2 - vertex 7.56097 -7.88041 -0.2 - vertex 6.87672 -5.95074 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.04455 -7.91255 -0.2 - vertex 6.53505 -5.98957 -0.2 - vertex 6.18777 -5.99984 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.53505 -5.98957 -0.2 - vertex 6.04455 -7.91255 -0.2 - vertex 7.56097 -7.88041 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.82356 -5.98052 -0.2 - vertex 6.04455 -7.91255 -0.2 - vertex 6.18777 -5.99984 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.82356 -5.98052 -0.2 - vertex 5.49083 -7.9071 -0.2 - vertex 6.04455 -7.91255 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.4311 -5.93055 -0.2 - vertex 5.49083 -7.9071 -0.2 - vertex 5.82356 -5.98052 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.4311 -5.93055 -0.2 - vertex 5.0434 -7.88498 -0.2 - vertex 5.49083 -7.9071 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.99906 -5.84891 -0.2 - vertex 5.0434 -7.88498 -0.2 - vertex 5.4311 -5.93055 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.99906 -5.84891 -0.2 - vertex 4.67971 -7.84446 -0.2 - vertex 5.0434 -7.88498 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.11342 -7.70123 -0.2 - vertex 4.99906 -5.84891 -0.2 - vertex 4.51611 -5.73457 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.99906 -5.84891 -0.2 - vertex 4.37723 -7.78379 -0.2 - vertex 4.67971 -7.84446 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.99906 -5.84891 -0.2 - vertex 4.11342 -7.70123 -0.2 - vertex 4.37723 -7.78379 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.40104 -7.34622 -0.2 - vertex 4.51611 -5.73457 -0.2 - vertex 3.97093 -5.58648 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.51611 -5.73457 -0.2 - vertex 3.86574 -7.59505 -0.2 - vertex 4.11342 -7.70123 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.51611 -5.73457 -0.2 - vertex 3.40104 -7.34622 -0.2 - vertex 3.86574 -7.59505 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.71562 -6.94693 -0.2 - vertex 3.97093 -5.58648 -0.2 - vertex 3.25174 -5.37115 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 -0.2 - vertex 2.71562 -6.94693 -0.2 - vertex 3.40104 -7.34622 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.534 -5.13555 -0.2 - vertex 2.71562 -6.94693 -0.2 - vertex 3.25174 -5.37115 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.05193 -5.91722 -0.2 - vertex 2.534 -5.13555 -0.2 - vertex 1.81816 -4.87986 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.05193 -5.91722 -0.2 - vertex 1.81816 -4.87986 -0.2 - vertex 1.10471 -4.60426 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.534 -5.13555 -0.2 - vertex 1.05193 -5.91722 -0.2 - vertex 2.71562 -6.94693 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.394112 -4.30895 -0.2 - vertex 1.05193 -5.91722 -0.2 - vertex 1.10471 -4.60426 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.694871 -4.82613 -0.2 - vertex 0.394112 -4.30895 -0.2 - vertex -0.313177 -3.99411 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.394112 -4.30895 -0.2 - vertex -0.694871 -4.82613 -0.2 - vertex 1.05193 -5.91722 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.01669 -3.65993 -0.2 - vertex -0.694871 -4.82613 -0.2 - vertex -0.313177 -3.99411 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.47177 -3.7788 -0.2 - vertex -1.01669 -3.65993 -0.2 - vertex -1.71595 -3.30659 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.47177 -3.7788 -0.2 - vertex -1.71595 -3.30659 -0.2 - vertex -2.32857 -3.00041 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.01669 -3.65993 -0.2 - vertex -2.47177 -3.7788 -0.2 - vertex -0.694871 -4.82613 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.32857 -3.00041 -0.2 - vertex -2.8551 -3.51984 -0.2 - vertex -2.47177 -3.7788 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.87688 -2.74967 -0.2 - vertex -2.8551 -3.51984 -0.2 - vertex -2.32857 -3.00041 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.87688 -2.74967 -0.2 - vertex -3.18232 -3.26618 -0.2 - vertex -2.8551 -3.51984 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.44099 -3.03042 -0.2 - vertex -2.87688 -2.74967 -0.2 - vertex -3.301 -2.58026 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.87688 -2.74967 -0.2 - vertex -3.44099 -3.03042 -0.2 - vertex -3.18232 -3.26618 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.61865 -2.82513 -0.2 - vertex -3.301 -2.58026 -0.2 - vertex -3.54104 -2.51804 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.301 -2.58026 -0.2 - vertex -3.61865 -2.82513 -0.2 - vertex -3.44099 -3.03042 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 -0.2 - vertex -3.54104 -2.51804 -0.2 - vertex -3.62666 -2.52788 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70601 -2.60189 -0.2 - vertex -3.62666 -2.52788 -0.2 - vertex -3.68113 -2.55635 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.54104 -2.51804 -0.2 - vertex -3.70285 -2.66292 -0.2 - vertex -3.61865 -2.82513 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.62666 -2.52788 -0.2 - vertex -3.70601 -2.60189 -0.2 - vertex -3.70285 -2.66292 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.5419 27.5737 -0.2 - vertex -21.2799 26.5937 -0.2 - vertex -21.2563 26.5576 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.7979 27.6578 -0.2 - vertex -21.3473 26.6332 -0.2 - vertex -21.2799 26.5937 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5951 26.7172 -0.2 - vertex -21.1001 27.7294 -0.2 - vertex -21.4599 27.7917 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.1001 27.7294 -0.2 - vertex -21.5951 26.7172 -0.2 - vertex -21.3473 26.6332 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.4599 27.7917 -0.2 - vertex -21.9618 26.7994 -0.2 - vertex -21.5951 26.7172 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.3975 27.9007 -0.2 - vertex -21.9618 26.7994 -0.2 - vertex -21.4599 27.7917 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.3975 27.9007 -0.2 - vertex -22.4095 26.8695 -0.2 - vertex -21.9618 26.7994 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.3975 27.9007 -0.2 - vertex -22.8078 26.9423 -0.2 - vertex -22.4095 26.8695 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.1232 27.9594 -0.2 - vertex -22.8078 26.9423 -0.2 - vertex -22.3975 27.9007 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.1232 27.9594 -0.2 - vertex -23.1972 27.0531 -0.2 - vertex -22.8078 26.9423 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.1232 27.9594 -0.2 - vertex -23.56 27.1917 -0.2 - vertex -23.1972 27.0531 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.7335 27.9892 -0.2 - vertex -23.56 27.1917 -0.2 - vertex -23.1232 27.9594 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.7335 27.9892 -0.2 - vertex -23.8785 27.3484 -0.2 - vertex -23.56 27.1917 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.7335 27.9892 -0.2 - vertex -24.1346 27.513 -0.2 - vertex -23.8785 27.3484 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.1643 27.9885 -0.2 - vertex -24.1346 27.513 -0.2 - vertex -23.7335 27.9892 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3632 27.7532 -0.2 - vertex -24.1643 27.9885 -0.2 - vertex -24.2923 27.9761 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.1643 27.9885 -0.2 - vertex -24.3107 27.6757 -0.2 - vertex -24.1346 27.513 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3858 27.8943 -0.2 - vertex -24.2923 27.9761 -0.2 - vertex -24.3515 27.9554 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.1643 27.9885 -0.2 - vertex -24.3632 27.7532 -0.2 - vertex -24.3107 27.6757 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.2923 27.9761 -0.2 - vertex -24.3858 27.8943 -0.2 - vertex -24.3889 27.8265 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.2923 27.9761 -0.2 - vertex -24.3889 27.8265 -0.2 - vertex -24.3632 27.7532 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.89877 27.2865 -0.2 - vertex -10.5394 24.4322 -0.2 - vertex -10.5349 24.4109 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.2816 27.5955 -0.2 - vertex -10.6591 24.5009 -0.2 - vertex -10.5394 24.4322 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.2816 27.5955 -0.2 - vertex -10.9077 24.5958 -0.2 - vertex -10.6591 24.5009 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.2816 27.5955 -0.2 - vertex -11.2625 24.7069 -0.2 - vertex -10.9077 24.5958 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5342 27.7352 -0.2 - vertex -11.2625 24.7069 -0.2 - vertex -10.2816 27.5955 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5342 27.7352 -0.2 - vertex -11.7825 24.8213 -0.2 - vertex -11.2625 24.7069 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5342 27.7352 -0.2 - vertex -12.4277 24.907 -0.2 - vertex -11.7825 24.8213 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.6053 27.816 -0.2 - vertex -12.4277 24.907 -0.2 - vertex -11.5342 27.7352 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.6053 27.816 -0.2 - vertex -13.1566 24.9634 -0.2 - vertex -12.4277 24.907 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.5445 27.8374 -0.2 - vertex -13.1566 24.9634 -0.2 - vertex -12.6053 27.816 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.5445 27.8374 -0.2 - vertex -13.9275 24.99 -0.2 - vertex -13.1566 24.9634 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.4014 27.7989 -0.2 - vertex -13.9275 24.99 -0.2 - vertex -13.5445 27.8374 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.4014 27.7989 -0.2 - vertex -14.6988 24.986 -0.2 - vertex -13.9275 24.99 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.2259 27.7001 -0.2 - vertex -14.6988 24.986 -0.2 - vertex -14.4014 27.7989 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.2259 27.7001 -0.2 - vertex -15.4289 24.9511 -0.2 - vertex -14.6988 24.986 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.0674 27.5405 -0.2 - vertex -15.4289 24.9511 -0.2 - vertex -15.2259 27.7001 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.0674 27.5405 -0.2 - vertex -16.0762 24.8844 -0.2 - vertex -15.4289 24.9511 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.9758 27.3196 -0.2 - vertex -16.0762 24.8844 -0.2 - vertex -16.0674 27.5405 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.0762 24.8844 -0.2 - vertex -16.9758 27.3196 -0.2 - vertex -16.599 24.7853 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9758 27.3196 -0.2 - vertex -17.1707 24.6702 -0.2 - vertex -16.599 24.7853 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9758 27.3196 -0.2 - vertex -18.0818 24.5233 -0.2 - vertex -17.1707 24.6702 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -19.3233 26.703 -0.2 - vertex -18.0818 24.5233 -0.2 - vertex -16.9758 27.3196 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.0818 24.5233 -0.2 - vertex -19.3233 26.703 -0.2 - vertex -19.207 24.3637 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2669 26.4994 -0.2 - vertex -19.3233 26.703 -0.2 - vertex -19.9368 27.2141 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2563 26.5576 -0.2 - vertex -19.9368 27.2141 -0.2 - vertex -20.1227 27.3549 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2563 26.5576 -0.2 - vertex -20.1227 27.3549 -0.2 - vertex -20.3206 27.4738 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2997 26.4466 -0.2 - vertex -19.3233 26.703 -0.2 - vertex -21.2669 26.4994 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2563 26.5576 -0.2 - vertex -20.3206 27.4738 -0.2 - vertex -20.5419 27.5737 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2799 26.5937 -0.2 - vertex -20.5419 27.5737 -0.2 - vertex -20.7979 27.6578 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.3473 26.6332 -0.2 - vertex -20.7979 27.6578 -0.2 - vertex -21.1001 27.7294 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.9368 27.2141 -0.2 - vertex -21.2563 26.5576 -0.2 - vertex -21.2669 26.4994 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.3233 26.703 -0.2 - vertex -20.4207 24.2101 -0.2 - vertex -19.207 24.3637 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.3233 26.703 -0.2 - vertex -21.2997 26.4466 -0.2 - vertex -20.4207 24.2101 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.3558 26.3992 -0.2 - vertex -20.4207 24.2101 -0.2 - vertex -21.2997 26.4466 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.4368 26.3569 -0.2 - vertex -20.4207 24.2101 -0.2 - vertex -21.3558 26.3992 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.6785 26.2874 -0.2 - vertex -20.4207 24.2101 -0.2 - vertex -21.4368 26.3569 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.0356 26.2369 -0.2 - vertex -20.4207 24.2101 -0.2 - vertex -21.6785 26.2874 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.3692 23.8604 -0.2 - vertex -22.0356 26.2369 -0.2 - vertex -22.5186 26.2045 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.3692 23.8604 -0.2 - vertex -22.5186 26.2045 -0.2 - vertex -23.1385 26.1891 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.0356 26.2369 -0.2 - vertex -23.3692 23.8604 -0.2 - vertex -20.4207 24.2101 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.6523 24.0122 -0.2 - vertex -23.3692 23.8604 -0.2 - vertex -23.1385 26.1891 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.3692 23.8604 -0.2 - vertex -24.6523 24.0122 -0.2 - vertex -24.1455 19.0472 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.8316 26.205 -0.2 - vertex -24.6523 24.0122 -0.2 - vertex -23.1385 26.1891 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.8316 26.205 -0.2 - vertex -26.0107 24.2804 -0.2 - vertex -24.6523 24.0122 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.3751 26.2567 -0.2 - vertex -26.0107 24.2804 -0.2 - vertex -24.8316 26.205 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.3751 26.2567 -0.2 - vertex -26.5818 24.4056 -0.2 - vertex -26.0107 24.2804 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.1227 24.5501 -0.2 - vertex -26.3751 26.2567 -0.2 - vertex -26.9353 26.3003 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.3751 26.2567 -0.2 - vertex -27.1227 24.5501 -0.2 - vertex -26.5818 24.4056 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.636 24.7152 -0.2 - vertex -26.9353 26.3003 -0.2 - vertex -27.4097 26.3653 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.9353 26.3003 -0.2 - vertex -27.636 24.7152 -0.2 - vertex -27.1227 24.5501 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.1248 24.9019 -0.2 - vertex -27.4097 26.3653 -0.2 - vertex -27.8395 26.4592 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.4097 26.3653 -0.2 - vertex -28.1248 24.9019 -0.2 - vertex -27.636 24.7152 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.5919 25.1115 -0.2 - vertex -27.8395 26.4592 -0.2 - vertex -28.2663 26.5892 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.8395 26.4592 -0.2 - vertex -28.5919 25.1115 -0.2 - vertex -28.1248 24.9019 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0402 25.3453 -0.2 - vertex -28.2663 26.5892 -0.2 - vertex -28.7314 26.7626 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2663 26.5892 -0.2 - vertex -29.0402 25.3453 -0.2 - vertex -28.5919 25.1115 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.4725 25.6043 -0.2 - vertex -28.7314 26.7626 -0.2 - vertex -29.2762 26.9865 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.7314 26.7626 -0.2 - vertex -29.4725 25.6043 -0.2 - vertex -29.0402 25.3453 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.2762 26.9865 -0.2 - vertex -29.8918 25.8898 -0.2 - vertex -29.4725 25.6043 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0875 27.3102 -0.2 - vertex -29.8918 25.8898 -0.2 - vertex -29.2762 26.9865 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0875 27.3102 -0.2 - vertex -30.6514 26.471 -0.2 - vertex -29.8918 25.8898 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.9143 26.7038 -0.2 - vertex -30.0875 27.3102 -0.2 - vertex -30.6543 27.4912 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.1043 26.9038 -0.2 - vertex -30.6543 27.4912 -0.2 - vertex -30.8579 27.5312 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0875 27.3102 -0.2 - vertex -30.9143 26.7038 -0.2 - vertex -30.6514 26.471 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2248 27.0754 -0.2 - vertex -30.8579 27.5312 -0.2 - vertex -31.0145 27.539 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.6543 27.4912 -0.2 - vertex -31.1043 26.9038 -0.2 - vertex -30.9143 26.7038 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.272 27.3506 -0.2 - vertex -31.0145 27.539 -0.2 - vertex -31.1289 27.5158 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.272 27.3506 -0.2 - vertex -31.1289 27.5158 -0.2 - vertex -31.2059 27.4629 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.8579 27.5312 -0.2 - vertex -31.2248 27.0754 -0.2 - vertex -31.1043 26.9038 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.0145 27.539 -0.2 - vertex -31.272 27.3506 -0.2 - vertex -31.2795 27.2229 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.0145 27.539 -0.2 - vertex -31.2795 27.2229 -0.2 - vertex -31.2248 27.0754 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.22936 5.32709 -0.2 - vertex 1.91748 12.4352 -0.2 - vertex 5.27855 5.76024 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.32553 28.4461 -0.2 - vertex 1.00441 27.6053 -0.2 - vertex 0.944126 27.2693 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.60924 32.0876 -0.2 - vertex 1.57871 31.8344 -0.2 - vertex 3.58282 31.3388 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.69711 27.8759 -0.2 - vertex 0.944126 27.2693 -0.2 - vertex 0.908598 27.1645 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.38662 31.173 -0.2 - vertex 3.58282 31.3388 -0.2 - vertex 1.57871 31.8344 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 1.85843 12.7398 -0.2 - vertex 1.90284 12.6291 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.59957 30.3654 -0.2 - vertex 1.38662 31.173 -0.2 - vertex 1.24074 30.5277 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.32553 28.4461 -0.2 - vertex 1.04514 28.0688 -0.2 - vertex 1.00441 27.6053 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.63162 30.0135 -0.2 - vertex 1.24074 30.5277 -0.2 - vertex 1.13903 29.8907 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.68937 29.7129 -0.2 - vertex 1.13903 29.8907 -0.2 - vertex 1.07949 29.2543 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.78021 29.4348 -0.2 - vertex 1.07949 29.2543 -0.2 - vertex 1.0601 28.6106 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.91157 29.1502 -0.2 - vertex 1.0601 28.6106 -0.2 - vertex 1.04514 28.0688 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.05276 27.3884 -0.2 - vertex 0.908598 27.1645 -0.2 - vertex 0.870515 27.1101 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 1.7147 12.9716 -0.2 - vertex 1.85843 12.7398 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.07308 26.3793 -0.2 - vertex 0.870515 27.1101 -0.2 - vertex 0.816408 27.0884 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 1.51175 13.1874 -0.2 - vertex 1.7147 12.9716 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 1.25015 13.3869 -0.2 - vertex 1.51175 13.1874 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 0.930489 13.5702 -0.2 - vertex 1.25015 13.3869 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.15267 19.0966 -0.2 - vertex 0.734953 27.0776 -0.2 - vertex 7.1242 19.0144 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.371032 14.021 -0.2 - vertex 7.1242 19.0144 -0.2 - vertex 0.734953 27.0776 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 0.55335 13.737 -0.2 - vertex 0.930489 13.5702 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.917111 14.138 -0.2 - vertex 0.734953 27.0776 -0.2 - vertex 0.505992 27.0868 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.51834 14.2381 -0.2 - vertex 0.505992 27.0868 -0.2 - vertex 0.215611 27.1342 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 0.119316 13.8873 -0.2 - vertex 0.55335 13.737 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.17413 14.3212 -0.2 - vertex 0.215611 27.1342 -0.2 - vertex -0.104203 27.2162 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex -0.371032 14.021 -0.2 - vertex 0.119316 13.8873 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.8839 14.3873 -0.2 - vertex -0.104203 27.2162 -0.2 - vertex -0.438314 27.347 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.54439 27.3597 -0.2 - vertex -0.438314 27.347 -0.2 - vertex -0.7749 27.5359 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.734953 27.0776 -0.2 - vertex -0.917111 14.138 -0.2 - vertex -0.371032 14.021 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.54439 27.3597 -0.2 - vertex -0.7749 27.5359 -0.2 - vertex -1.11256 27.7809 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.44763 27.4571 -0.2 - vertex -1.11256 27.7809 -0.2 - vertex -1.44988 28.0795 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.505992 27.0868 -0.2 - vertex -1.51834 14.2381 -0.2 - vertex -0.917111 14.138 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.44763 27.4571 -0.2 - vertex -1.44988 28.0795 -0.2 - vertex -1.78547 28.4297 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.37156 27.6173 -0.2 - vertex -1.78547 28.4297 -0.2 - vertex -2.11792 28.8291 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.215611 27.1342 -0.2 - vertex -2.17413 14.3212 -0.2 - vertex -1.51834 14.2381 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.31368 27.8729 -0.2 - vertex -2.11792 28.8291 -0.2 - vertex -2.44583 29.2754 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.27149 28.2565 -0.2 - vertex -2.44583 29.2754 -0.2 - vertex -2.7678 29.7664 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.11256 27.7809 -0.2 - vertex -6.44763 27.4571 -0.2 - vertex -6.54439 27.3597 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.24249 28.8007 -0.2 - vertex -2.7678 29.7664 -0.2 - vertex -3.08241 30.2998 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.22417 29.538 -0.2 - vertex -3.08241 30.2998 -0.2 - vertex -3.38828 30.8734 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.438314 27.347 -0.2 - vertex -6.54439 27.3597 -0.2 - vertex -3.64708 14.4362 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.22417 29.538 -0.2 - vertex -3.38828 30.8734 -0.2 - vertex -3.68399 31.485 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.20957 31.7226 -0.2 - vertex -3.68399 31.485 -0.2 - vertex -3.96814 32.1322 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.20957 31.7226 -0.2 - vertex -3.96814 32.1322 -0.2 - vertex -4.23933 32.8128 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.78547 28.4297 -0.2 - vertex -6.37156 27.6173 -0.2 - vertex -6.44763 27.4571 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.19415 33.3563 -0.2 - vertex -4.23933 32.8128 -0.2 - vertex -4.49616 33.5245 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.19415 33.3563 -0.2 - vertex -4.49616 33.5245 -0.2 - vertex -4.73722 34.2652 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.15766 34.7516 -0.2 - vertex -4.73722 34.2652 -0.2 - vertex -4.96111 35.0324 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.15766 34.7516 -0.2 - vertex -4.96111 35.0324 -0.2 - vertex -5.11886 35.5644 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.10555 35.7605 -0.2 - vertex -5.11886 35.5644 -0.2 - vertex -5.26884 35.9859 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.7678 29.7664 -0.2 - vertex -6.24249 28.8007 -0.2 - vertex -6.27149 28.2565 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.07534 36.0738 -0.2 - vertex -5.26884 35.9859 -0.2 - vertex -5.41174 36.2975 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.92579 36.4611 -0.2 - vertex -5.41174 36.2975 -0.2 - vertex -5.54821 36.5001 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.86569 36.5344 -0.2 - vertex -5.54821 36.5001 -0.2 - vertex -5.61425 36.5608 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.80457 36.5812 -0.2 - vertex -5.61425 36.5608 -0.2 - vertex -5.67893 36.5944 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.80457 36.5812 -0.2 - vertex -5.67893 36.5944 -0.2 - vertex -5.74234 36.6012 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.61425 36.5608 -0.2 - vertex -5.80457 36.5812 -0.2 - vertex -5.86569 36.5344 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.54821 36.5001 -0.2 - vertex -5.86569 36.5344 -0.2 - vertex -5.92579 36.4611 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.41174 36.2975 -0.2 - vertex -5.92579 36.4611 -0.2 - vertex -6.04327 36.2349 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.41174 36.2975 -0.2 - vertex -6.04327 36.2349 -0.2 - vertex -6.07534 36.0738 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.26884 35.9859 -0.2 - vertex -6.07534 36.0738 -0.2 - vertex -6.10555 35.7605 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.11886 35.5644 -0.2 - vertex -6.10555 35.7605 -0.2 - vertex -6.15766 34.7516 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.73722 34.2652 -0.2 - vertex -6.15766 34.7516 -0.2 - vertex -6.19415 33.3563 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.23933 32.8128 -0.2 - vertex -6.19415 33.3563 -0.2 - vertex -6.20957 31.7226 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.68399 31.485 -0.2 - vertex -6.20957 31.7226 -0.2 - vertex -6.22417 29.538 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.08241 30.2998 -0.2 - vertex -6.22417 29.538 -0.2 - vertex -6.24249 28.8007 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.44583 29.2754 -0.2 - vertex -6.27149 28.2565 -0.2 - vertex -6.31368 27.8729 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.11792 28.8291 -0.2 - vertex -6.31368 27.8729 -0.2 - vertex -6.37156 27.6173 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.104203 27.2162 -0.2 - vertex -2.8839 14.3873 -0.2 - vertex -2.17413 14.3212 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.438314 27.347 -0.2 - vertex -3.64708 14.4362 -0.2 - vertex -2.8839 14.3873 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.65192 27.3056 -0.2 - vertex -3.64708 14.4362 -0.2 - vertex -6.54439 27.3597 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.64708 14.4362 -0.2 - vertex -6.65192 27.3056 -0.2 - vertex -4.46307 14.4678 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.904 19.9248 -0.2 - vertex -4.46307 14.4678 -0.2 - vertex -6.65192 27.3056 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.46307 14.4678 -0.2 - vertex -10.904 19.9248 -0.2 - vertex -5.33129 14.482 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.904 19.9248 -0.2 - vertex -6.65192 27.3056 -0.2 - vertex -6.80178 27.2682 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5349 24.4109 -0.2 - vertex -6.80178 27.2682 -0.2 - vertex -6.99768 27.2475 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.33129 14.482 -0.2 - vertex -10.904 19.9248 -0.2 - vertex -6.25117 14.4787 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5349 24.4109 -0.2 - vertex -6.99768 27.2475 -0.2 - vertex -7.24334 27.2437 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5349 24.4109 -0.2 - vertex -7.24334 27.2437 -0.2 - vertex -7.89877 27.2865 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5394 24.4322 -0.2 - vertex -7.89877 27.2865 -0.2 - vertex -8.79778 27.3973 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.80178 27.2682 -0.2 - vertex -10.5349 24.4109 -0.2 - vertex -10.904 19.9248 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.25117 14.4787 -0.2 - vertex -10.9261 19.832 -0.2 - vertex -7.22211 14.4578 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5394 24.4322 -0.2 - vertex -8.79778 27.3973 -0.2 - vertex -10.2816 27.5955 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.9261 19.832 -0.2 - vertex -6.25117 14.4787 -0.2 - vertex -10.904 19.9248 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.0035 20.0644 -0.2 - vertex -10.5349 24.4109 -0.2 - vertex -10.5711 24.4 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.9948 19.7221 -0.2 - vertex -7.22211 14.4578 -0.2 - vertex -10.9261 19.832 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.22211 14.4578 -0.2 - vertex -10.9948 19.7221 -0.2 - vertex -9.25643 14.3812 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5349 24.4109 -0.2 - vertex -10.9294 20.0018 -0.2 - vertex -10.904 19.9248 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5349 24.4109 -0.2 - vertex -11.0035 20.0644 -0.2 - vertex -10.9294 20.0018 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5711 24.4 -0.2 - vertex -11.1271 20.114 -0.2 - vertex -11.0035 20.0644 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5711 24.4 -0.2 - vertex -11.3013 20.1521 -0.2 - vertex -11.1271 20.114 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5711 24.4 -0.2 - vertex -11.5271 20.1801 -0.2 - vertex -11.3013 20.1521 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5711 24.4 -0.2 - vertex -12.1376 20.2112 -0.2 - vertex -11.5271 20.1801 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.1612 23.8467 -0.2 - vertex -12.1376 20.2112 -0.2 - vertex -10.5711 24.4 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.1376 20.2112 -0.2 - vertex -14.1612 23.8467 -0.2 - vertex -12.9665 20.2187 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.9665 20.2187 -0.2 - vertex -14.1612 23.8467 -0.2 - vertex -13.9037 20.2008 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1612 23.8467 -0.2 - vertex -14.8461 20.153 -0.2 - vertex -13.9037 20.2008 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.0412 23.3999 -0.2 - vertex -14.8461 20.153 -0.2 - vertex -14.1612 23.8467 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.8461 20.153 -0.2 - vertex -17.0412 23.3999 -0.2 - vertex -15.684 20.0825 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.684 20.0825 -0.2 - vertex -17.0412 23.3999 -0.2 - vertex -16.3079 19.9967 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.0412 23.3999 -0.2 - vertex -17.2235 19.8332 -0.2 - vertex -16.3079 19.9967 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -19.3158 23.0662 -0.2 - vertex -17.2235 19.8332 -0.2 - vertex -17.0412 23.3999 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.2235 19.8332 -0.2 - vertex -19.3158 23.0662 -0.2 - vertex -18.1791 19.6811 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.3158 23.0662 -0.2 - vertex -20.1671 19.4139 -0.2 - vertex -18.1791 19.6811 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -20.7318 22.8633 -0.2 - vertex -20.1671 19.4139 -0.2 - vertex -19.3158 23.0662 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.5474 22.7309 -0.2 - vertex -20.1671 19.4139 -0.2 - vertex -20.7318 22.8633 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.1849 19.2007 -0.2 - vertex -21.5474 22.7309 -0.2 - vertex -21.6404 22.7266 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.1849 19.2007 -0.2 - vertex -21.6404 22.7266 -0.2 - vertex -21.755 22.7463 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.1849 19.2007 -0.2 - vertex -21.755 22.7463 -0.2 - vertex -22.0315 22.8497 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5474 22.7309 -0.2 - vertex -22.1849 19.2007 -0.2 - vertex -20.1671 19.4139 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.3422 23.0246 -0.2 - vertex -22.1849 19.2007 -0.2 - vertex -22.0315 22.8497 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.1455 19.0472 -0.2 - vertex -22.3422 23.0246 -0.2 - vertex -22.6524 23.2546 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.1455 19.0472 -0.2 - vertex -22.6524 23.2546 -0.2 - vertex -23.3692 23.8604 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.3422 23.0246 -0.2 - vertex -24.1455 19.0472 -0.2 - vertex -22.1849 19.2007 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.10332 38.557 -0.2 - vertex 5.26494 38.4452 -0.2 - vertex 5.23504 38.5484 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.26494 38.4452 -0.2 - vertex 5.01738 38.4749 -0.2 - vertex 5.25596 38.2865 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 5.10332 38.557 -0.2 - vertex 5.23504 38.5484 -0.2 - vertex 5.20457 38.5758 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.10332 38.557 -0.2 - vertex 5.20457 38.5758 -0.2 - vertex 5.16325 38.5852 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.26494 38.4452 -0.2 - vertex 5.10332 38.557 -0.2 - vertex 5.01738 38.4749 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.25596 38.2865 -0.2 - vertex 5.01738 38.4749 -0.2 - vertex 5.21112 38.083 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.77727 38.1658 -0.2 - vertex 5.21112 38.083 -0.2 - vertex 5.01738 38.4749 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.21112 38.083 -0.2 - vertex 4.77727 38.1658 -0.2 - vertex 5.13345 37.8458 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.13345 37.8458 -0.2 - vertex 4.77727 38.1658 -0.2 - vertex 5.02596 37.5856 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.46246 37.6912 -0.2 - vertex 5.02596 37.5856 -0.2 - vertex 4.77727 38.1658 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.02596 37.5856 -0.2 - vertex 4.46246 37.6912 -0.2 - vertex 4.89167 37.3134 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.89167 37.3134 -0.2 - vertex 4.46246 37.6912 -0.2 - vertex 4.73361 37.0399 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.09252 37.0842 -0.2 - vertex 4.73361 37.0399 -0.2 - vertex 4.46246 37.6912 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.73361 37.0399 -0.2 - vertex 4.09252 37.0842 -0.2 - vertex 4.62814 36.8484 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.62814 36.8484 -0.2 - vertex 4.09252 37.0842 -0.2 - vertex 4.52293 36.6141 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.68699 36.3778 -0.2 - vertex 4.52293 36.6141 -0.2 - vertex 4.09252 37.0842 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.52293 36.6141 -0.2 - vertex 3.68699 36.3778 -0.2 - vertex 4.31688 36.0346 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.26543 35.6052 -0.2 - vertex 4.31688 36.0346 -0.2 - vertex 3.68699 36.3778 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.31688 36.0346 -0.2 - vertex 3.26543 35.6052 -0.2 - vertex 4.1227 35.3375 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.1227 35.3375 -0.2 - vertex 3.26543 35.6052 -0.2 - vertex 3.94762 34.5584 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 2.84738 34.7996 -0.2 - vertex 3.94762 34.5584 -0.2 - vertex 3.26543 35.6052 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.94762 34.5584 -0.2 - vertex 2.84738 34.7996 -0.2 - vertex 3.79886 33.7332 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 2.4524 33.9939 -0.2 - vertex 3.79886 33.7332 -0.2 - vertex 2.84738 34.7996 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.79886 33.7332 -0.2 - vertex 2.4524 33.9939 -0.2 - vertex 3.68366 32.8976 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 2.10958 33.2371 -0.2 - vertex 3.68366 32.8976 -0.2 - vertex 2.4524 33.9939 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.68366 32.8976 -0.2 - vertex 2.10958 33.2371 -0.2 - vertex 3.60924 32.0876 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.81903 32.5199 -0.2 - vertex 3.60924 32.0876 -0.2 - vertex 2.10958 33.2371 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.27855 5.76024 -0.2 - vertex 1.91748 12.4352 -0.2 - vertex 4.285 6.1855 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.57871 31.8344 -0.2 - vertex 3.60924 32.0876 -0.2 - vertex 1.81903 32.5199 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.88346 12.344 -0.2 - vertex 4.285 6.1855 -0.2 - vertex 1.91748 12.4352 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.285 6.1855 -0.2 - vertex 1.88346 12.344 -0.2 - vertex 3.31149 6.57517 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.81906 12.2515 -0.2 - vertex 3.31149 6.57517 -0.2 - vertex 1.88346 12.344 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.72214 12.1537 -0.2 - vertex 3.31149 6.57517 -0.2 - vertex 1.81906 12.2515 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.31149 6.57517 -0.2 - vertex 1.72214 12.1537 -0.2 - vertex 2.42084 6.9015 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.42228 11.926 -0.2 - vertex 2.42084 6.9015 -0.2 - vertex 1.72214 12.1537 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.42084 6.9015 -0.2 - vertex 1.42228 11.926 -0.2 - vertex 1.67583 7.13679 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 0.986004 11.656 -0.2 - vertex 1.67583 7.13679 -0.2 - vertex 1.42228 11.926 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.67583 7.13679 -0.2 - vertex 0.986004 11.656 -0.2 - vertex 1.30727 7.25861 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.986004 11.656 -0.2 - vertex 0.855811 7.43981 -0.2 - vertex 1.30727 7.25861 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 0.546849 11.4454 -0.2 - vertex 0.855811 7.43981 -0.2 - vertex 0.986004 11.656 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.23691 7.94665 -0.2 - vertex 0.546849 11.4454 -0.2 - vertex 0.0942225 11.293 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.546849 11.4454 -0.2 - vertex -0.23691 7.94665 -0.2 - vertex 0.855811 7.43981 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -0.382462 11.1972 -0.2 - vertex -0.23691 7.94665 -0.2 - vertex 0.0942225 11.293 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.48458 8.58988 -0.2 - vertex -0.382462 11.1972 -0.2 - vertex -0.893798 11.1566 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.48458 8.58988 -0.2 - vertex -0.893798 11.1566 -0.2 - vertex -1.45038 11.1697 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.382462 11.1972 -0.2 - vertex -1.48458 8.58988 -0.2 - vertex -0.23691 7.94665 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.76946 9.30203 -0.2 - vertex -1.45038 11.1697 -0.2 - vertex -2.06279 11.235 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.76946 9.30203 -0.2 - vertex -2.06279 11.235 -0.2 - vertex -2.74162 11.3511 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.45038 11.1697 -0.2 - vertex -2.76946 9.30203 -0.2 - vertex -1.48458 8.58988 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.97378 10.0157 -0.2 - vertex -2.74162 11.3511 -0.2 - vertex -3.43924 11.4799 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.74162 11.3511 -0.2 - vertex -3.97378 10.0157 -0.2 - vertex -2.76946 9.30203 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.06319 11.5774 -0.2 - vertex -3.97378 10.0157 -0.2 - vertex -3.43924 11.4799 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.9798 10.6633 -0.2 - vertex -4.06319 11.5774 -0.2 - vertex -4.60751 11.6434 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.06319 11.5774 -0.2 - vertex -4.9798 10.6633 -0.2 - vertex -3.97378 10.0157 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.06624 11.6776 -0.2 - vertex -4.9798 10.6633 -0.2 - vertex -4.60751 11.6434 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.06624 11.6776 -0.2 - vertex -5.37165 10.9414 -0.2 - vertex -4.9798 10.6633 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.4334 11.6797 -0.2 - vertex -5.37165 10.9414 -0.2 - vertex -5.06624 11.6776 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.4334 11.6797 -0.2 - vertex -5.66976 11.1776 -0.2 - vertex -5.37165 10.9414 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.70304 11.6495 -0.2 - vertex -5.66976 11.1776 -0.2 - vertex -5.4334 11.6797 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.85942 11.3636 -0.2 - vertex -5.70304 11.6495 -0.2 - vertex -5.79943 11.6221 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.70304 11.6495 -0.2 - vertex -5.85942 11.3636 -0.2 - vertex -5.66976 11.1776 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.8692 11.5867 -0.2 - vertex -5.85942 11.3636 -0.2 - vertex -5.79943 11.6221 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.8692 11.5867 -0.2 - vertex -5.90899 11.4352 -0.2 - vertex -5.85942 11.3636 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.91161 11.5429 -0.2 - vertex -5.90899 11.4352 -0.2 - vertex -5.8692 11.5867 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.90899 11.4352 -0.2 - vertex -5.91161 11.5429 -0.2 - vertex -5.92592 11.491 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.51759 -4.36865 -0.2 - vertex 8.0755 -3.36119 -0.2 - vertex 7.75455 -3.09522 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.2523 -4.01644 -0.2 - vertex 7.75455 -3.09522 -0.2 - vertex 7.10115 -2.48513 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.70978 -3.81721 -0.2 - vertex 7.04277 -4.97268 -0.2 - vertex 7.809 -5.75259 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.0755 -3.36119 -0.2 - vertex 6.78219 -4.68956 -0.2 - vertex 7.04277 -4.97268 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.0755 -3.36119 -0.2 - vertex 6.51759 -4.36865 -0.2 - vertex 6.78219 -4.68956 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.48552 -2.8367 -0.2 - vertex 7.10115 -2.48513 -0.2 - vertex 6.42718 -1.76788 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.75455 -3.09522 -0.2 - vertex 6.2523 -4.01644 -0.2 - vertex 6.51759 -4.36865 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.10115 -2.48513 -0.2 - vertex 5.98964 -3.63939 -0.2 - vertex 6.2523 -4.01644 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.03179 -2.01239 -0.2 - vertex 6.42718 -1.76788 -0.2 - vertex 5.79491 -1.04264 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.10115 -2.48513 -0.2 - vertex 5.48552 -2.8367 -0.2 - vertex 5.98964 -3.63939 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.65505 -1.21825 -0.2 - vertex 5.79491 -1.04264 -0.2 - vertex 5.24358 -0.384283 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.42718 -1.76788 -0.2 - vertex 5.03179 -2.01239 -0.2 - vertex 5.48552 -2.8367 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.38188 -0.506111 -0.2 - vertex 5.24358 -0.384283 -0.2 - vertex 4.83246 0.134689 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.79491 -1.04264 -0.2 - vertex 4.65505 -1.21825 -0.2 - vertex 5.03179 -2.01239 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.23886 0.0722368 -0.2 - vertex 4.83246 0.134689 -0.2 - vertex 4.62083 0.441773 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.24358 -0.384283 -0.2 - vertex 4.50386 -0.848697 -0.2 - vertex 4.65505 -1.21825 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.25257 0.464986 -0.2 - vertex 4.62083 0.441773 -0.2 - vertex 4.49221 0.674515 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.33872 0.684191 -0.2 - vertex 4.49221 0.674515 -0.2 - vertex 4.44662 0.733548 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.3737 0.738144 -0.2 - vertex 4.44662 0.733548 -0.2 - vertex 4.40839 0.754677 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.24358 -0.384283 -0.2 - vertex 4.38188 -0.506111 -0.2 - vertex 4.50386 -0.848697 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.44662 0.733548 -0.2 - vertex 4.3737 0.738144 -0.2 - vertex 4.33872 0.684191 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.49221 0.674515 -0.2 - vertex 4.33872 0.684191 -0.2 - vertex 4.25257 0.464986 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.83246 0.134689 -0.2 - vertex 4.29244 -0.196974 -0.2 - vertex 4.38188 -0.506111 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.62083 0.441773 -0.2 - vertex 4.25257 0.464986 -0.2 - vertex 4.22446 0.295049 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.83246 0.134689 -0.2 - vertex 4.23886 0.0722368 -0.2 - vertex 4.29244 -0.196974 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.62083 0.441773 -0.2 - vertex 4.22446 0.295049 -0.2 - vertex 4.23886 0.0722368 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0092 9.15168 -0.2 - vertex 8.87708 15.8492 -0.2 - vertex 14.9543 8.95485 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2183 5.95043 -0.2 - vertex 9.61741 3.25086 -0.2 - vertex 10.5842 2.40247 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1095 6.5543 -0.2 - vertex 9.29624 3.50894 -0.2 - vertex 9.61741 3.25086 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 14.9543 8.95485 -0.2 - vertex 8.87708 15.8492 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0249 7.13954 -0.2 - vertex 9.14614 3.60373 -0.2 - vertex 9.29624 3.50894 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9668 7.69881 -0.2 - vertex 8.19732 4.25764 -0.2 - vertex 8.81858 3.79581 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9543 8.95485 -0.2 - vertex 7.07462 4.9138 -0.2 - vertex 14.9262 8.72903 -0.2 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 7.75154 4.54807 -0.2 - vertex 14.9262 8.72903 -0.2 - vertex 7.07462 4.9138 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 8.87708 15.8492 -0.2 - vertex 8.83337 15.875 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.14614 3.60373 -0.2 - vertex 8.81858 3.79581 -0.2 - vertex 9.03464 3.65533 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 8.83337 15.875 -0.2 - vertex 8.76553 15.9481 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 8.76553 15.9481 -0.2 - vertex 8.57086 16.213 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9668 7.69881 -0.2 - vertex 8.81858 3.79581 -0.2 - vertex 9.14614 3.60373 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 8.57086 16.213 -0.2 - vertex 8.03973 17.0592 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9212 8.45633 -0.2 - vertex 8.00725 4.39171 -0.2 - vertex 8.19732 4.25764 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9212 8.45633 -0.2 - vertex 7.75154 4.54807 -0.2 - vertex 8.00725 4.39171 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 8.03973 17.0592 -0.2 - vertex 7.49889 18.0241 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 7.49889 18.0241 -0.2 - vertex 7.29207 18.4374 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 7.29207 18.4374 -0.2 - vertex 7.16351 18.7442 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 7.16351 18.7442 -0.2 - vertex 7.1273 18.8927 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9262 8.72903 -0.2 - vertex 7.75154 4.54807 -0.2 - vertex 14.9212 8.45633 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 -0.2 - vertex 7.1273 18.8927 -0.2 - vertex 7.1242 19.0144 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.1091 19.5935 -0.2 - vertex -9.25643 14.3812 -0.2 - vertex -10.9948 19.7221 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.4702 19.2748 -0.2 - vertex -9.25643 14.3812 -0.2 - vertex -11.1091 19.5935 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.25643 14.3812 -0.2 - vertex -11.4702 19.2748 -0.2 - vertex -9.98725 14.3241 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -12.0016 18.8648 -0.2 - vertex -9.98725 14.3241 -0.2 - vertex -11.4702 19.2748 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.98725 14.3241 -0.2 - vertex -12.0016 18.8648 -0.2 - vertex -10.6249 14.238 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.6249 14.238 -0.2 - vertex -12.0016 18.8648 -0.2 - vertex -11.2428 14.1101 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.8225 17.5152 -0.2 - vertex -11.2428 14.1101 -0.2 - vertex -12.0016 18.8648 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.2428 14.1101 -0.2 - vertex -13.8225 17.5152 -0.2 - vertex -11.9142 13.9281 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.9142 13.9281 -0.2 - vertex -13.8225 17.5152 -0.2 - vertex -12.7125 13.6795 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.4648 17.0612 -0.2 - vertex -12.7125 13.6795 -0.2 - vertex -13.8225 17.5152 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.9972 16.7116 -0.2 - vertex -12.7125 13.6795 -0.2 - vertex -14.4648 17.0612 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.7125 13.6795 -0.2 - vertex -14.9972 16.7116 -0.2 - vertex -13.7109 13.3517 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.4716 16.4339 -0.2 - vertex -13.7109 13.3517 -0.2 - vertex -14.9972 16.7116 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.7109 13.3517 -0.2 - vertex -15.4716 16.4339 -0.2 - vertex -14.949 12.9624 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.9397 16.1961 -0.2 - vertex -14.949 12.9624 -0.2 - vertex -15.4716 16.4339 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.4531 15.9659 -0.2 - vertex -14.949 12.9624 -0.2 - vertex -15.9397 16.1961 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.949 12.9624 -0.2 - vertex -16.4531 15.9659 -0.2 - vertex -16.0795 12.6436 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.0637 15.711 -0.2 - vertex -16.0795 12.6436 -0.2 - vertex -16.4531 15.9659 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.0795 12.6436 -0.2 - vertex -17.0637 15.711 -0.2 - vertex -16.9775 12.4282 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.4061 15.1884 -0.2 - vertex -16.9775 12.4282 -0.2 - vertex -17.0637 15.711 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9775 12.4282 -0.2 - vertex -18.4061 15.1884 -0.2 - vertex -17.3003 12.3696 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.3003 12.3696 -0.2 - vertex -18.4061 15.1884 -0.2 - vertex -17.5181 12.3491 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5181 12.3491 -0.2 - vertex -18.4061 15.1884 -0.2 - vertex -17.9556 12.3221 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.4061 15.1884 -0.2 - vertex -18.5728 12.2484 -0.2 - vertex -17.9556 12.3221 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -19.7213 14.7364 -0.2 - vertex -18.5728 12.2484 -0.2 - vertex -18.4061 15.1884 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5728 12.2484 -0.2 - vertex -19.7213 14.7364 -0.2 - vertex -19.2876 12.1394 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.7213 14.7364 -0.2 - vertex -20.0181 12.0063 -0.2 - vertex -19.2876 12.1394 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.0167 14.3533 -0.2 - vertex -20.0181 12.0063 -0.2 - vertex -19.7213 14.7364 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.0181 12.0063 -0.2 - vertex -21.0167 14.3533 -0.2 - vertex -20.4772 11.9313 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.0167 14.3533 -0.2 - vertex -21.0446 11.8651 -0.2 - vertex -20.4772 11.9313 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.3001 14.0374 -0.2 - vertex -21.0446 11.8651 -0.2 - vertex -21.0167 14.3533 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.3001 14.0374 -0.2 - vertex -22.4311 11.7593 -0.2 - vertex -21.0446 11.8651 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -23.579 13.787 -0.2 - vertex -22.4311 11.7593 -0.2 - vertex -22.3001 14.0374 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.579 13.787 -0.2 - vertex -24.031 11.6901 -0.2 - vertex -22.4311 11.7593 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.8613 13.6003 -0.2 - vertex -24.031 11.6901 -0.2 - vertex -23.579 13.787 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.8613 13.6003 -0.2 - vertex -25.698 11.6586 -0.2 - vertex -24.031 11.6901 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.1544 13.4758 -0.2 - vertex -25.698 11.6586 -0.2 - vertex -24.8613 13.6003 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.1544 13.4758 -0.2 - vertex -27.2855 11.6658 -0.2 - vertex -25.698 11.6586 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.4661 13.4117 -0.2 - vertex -27.2855 11.6658 -0.2 - vertex -26.1544 13.4758 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.4661 13.4117 -0.2 - vertex -28.647 11.7129 -0.2 - vertex -27.2855 11.6658 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -29.0548 13.353 -0.2 - vertex -28.647 11.7129 -0.2 - vertex -27.4661 13.4117 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0548 13.353 -0.2 - vertex -29.1973 11.7518 -0.2 - vertex -28.647 11.7129 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -29.5683 13.309 -0.2 - vertex -29.1973 11.7518 -0.2 - vertex -29.0548 13.353 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.5683 13.309 -0.2 - vertex -29.6362 11.801 -0.2 - vertex -29.1973 11.7518 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3556 12.4664 -0.2 - vertex -29.5683 13.309 -0.2 - vertex -29.9294 13.2465 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.5683 13.309 -0.2 - vertex -30.2975 12.2549 -0.2 - vertex -29.6362 11.801 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.6362 11.801 -0.2 - vertex -30.2975 12.2549 -0.2 - vertex -29.9453 11.8607 -0.2 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -30.2115 12.0683 -0.2 - vertex -29.9453 11.8607 -0.2 - vertex -30.2975 12.2549 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.377 12.6783 -0.2 - vertex -29.9294 13.2465 -0.2 - vertex -30.1646 13.1588 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.9453 11.8607 -0.2 - vertex -30.2115 12.0683 -0.2 - vertex -30.0456 11.8946 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3621 12.8813 -0.2 - vertex -30.1646 13.1588 -0.2 - vertex -30.2432 13.1034 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0456 11.8946 -0.2 - vertex -30.2115 12.0683 -0.2 - vertex -30.1065 11.9311 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3387 12.9655 -0.2 - vertex -30.2432 13.1034 -0.2 - vertex -30.3001 13.0393 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2432 13.1034 -0.2 - vertex -30.3387 12.9655 -0.2 - vertex -30.3621 12.8813 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.5683 13.309 -0.2 - vertex -30.3556 12.4664 -0.2 - vertex -30.2975 12.2549 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1646 13.1588 -0.2 - vertex -30.3621 12.8813 -0.2 - vertex -30.377 12.6783 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.9294 13.2465 -0.2 - vertex -30.377 12.6783 -0.2 - vertex -30.3556 12.4664 -0.2 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.053 23.8437 -0.2 - vertex -24.1455 19.0472 -0.2 - vertex -24.6523 24.0122 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.1455 19.0472 -0.2 - vertex -26.053 23.8437 -0.2 - vertex -25.9619 18.9589 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.3394 21.9725 -0.2 - vertex -26.053 23.8437 -0.2 - vertex -26.7338 23.7794 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.053 23.8437 -0.2 - vertex -28.3394 21.9725 -0.2 - vertex -25.9619 18.9589 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.3394 21.9725 -0.2 - vertex -26.7338 23.7794 -0.2 - vertex -27.3569 23.7586 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.9619 18.9589 -0.2 - vertex -28.3394 21.9725 -0.2 - vertex -26.7887 18.9409 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.3394 21.9725 -0.2 - vertex -27.3569 23.7586 -0.2 - vertex -27.9279 23.7822 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.7887 18.9409 -0.2 - vertex -28.3394 21.9725 -0.2 - vertex -27.5469 18.9414 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.5469 18.9414 -0.2 - vertex -28.3394 21.9725 -0.2 - vertex -28.2256 18.9609 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0186 22.3563 -0.2 - vertex -27.9279 23.7822 -0.2 - vertex -28.4524 23.8513 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.4321 22.5993 -0.2 - vertex -28.4524 23.8513 -0.2 - vertex -28.9359 23.9669 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.9279 23.7822 -0.2 - vertex -29.0186 22.3563 -0.2 - vertex -28.3394 21.9725 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.7937 22.8325 -0.2 - vertex -28.9359 23.9669 -0.2 - vertex -29.384 24.13 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.4524 23.8513 -0.2 - vertex -29.4321 22.5993 -0.2 - vertex -29.0186 22.3563 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.9359 23.9669 -0.2 - vertex -29.7937 22.8325 -0.2 - vertex -29.4321 22.5993 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3761 23.2826 -0.2 - vertex -29.384 24.13 -0.2 - vertex -29.8023 24.3416 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.384 24.13 -0.2 - vertex -30.1071 23.0591 -0.2 - vertex -29.7937 22.8325 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.7957 23.7338 -0.2 - vertex -29.8023 24.3416 -0.2 - vertex -30.1964 24.6027 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.384 24.13 -0.2 - vertex -30.3761 23.2826 -0.2 - vertex -30.1071 23.0591 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.0826 24.213 -0.2 - vertex -30.1964 24.6027 -0.2 - vertex -30.5308 24.8328 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.8023 24.3416 -0.2 - vertex -30.6044 23.5064 -0.2 - vertex -30.3761 23.2826 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.8023 24.3416 -0.2 - vertex -30.7957 23.7338 -0.2 - vertex -30.6044 23.5064 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2103 24.5339 -0.2 - vertex -30.5308 24.8328 -0.2 - vertex -30.8055 24.9813 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1964 24.6027 -0.2 - vertex -30.9539 23.9682 -0.2 - vertex -30.7957 23.7338 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2656 24.779 -0.2 - vertex -30.8055 24.9813 -0.2 - vertex -31.0185 25.0493 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1964 24.6027 -0.2 - vertex -31.0826 24.213 -0.2 - vertex -30.9539 23.9682 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2668 24.8727 -0.2 - vertex -31.0185 25.0493 -0.2 - vertex -31.1012 25.0533 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2507 24.9472 -0.2 - vertex -31.1012 25.0533 -0.2 - vertex -31.1676 25.0376 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.5308 24.8328 -0.2 - vertex -31.2103 24.5339 -0.2 - vertex -31.0826 24.213 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2507 24.9472 -0.2 - vertex -31.1676 25.0376 -0.2 - vertex -31.2175 25.0021 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.1012 25.0533 -0.2 - vertex -31.2507 24.9472 -0.2 - vertex -31.2668 24.8727 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.8055 24.9813 -0.2 - vertex -31.2656 24.779 -0.2 - vertex -31.2103 24.5339 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.0185 25.0493 -0.2 - vertex -31.2668 24.8727 -0.2 - vertex -31.2656 24.779 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.3394 21.9725 -0.2 - vertex -28.8137 19.0002 -0.2 - vertex -28.2256 18.9609 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.3394 21.9725 -0.2 - vertex -29.3006 19.0599 -0.2 - vertex -28.8137 19.0002 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.3394 21.9725 -0.2 - vertex -29.6752 19.1409 -0.2 - vertex -29.3006 19.0599 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0859 22.0525 -0.2 - vertex -29.6752 19.1409 -0.2 - vertex -28.3394 21.9725 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.5811 19.4165 -0.2 - vertex -30.0859 22.0525 -0.2 - vertex -30.5728 22.0884 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0859 22.0525 -0.2 - vertex -30.5811 19.4165 -0.2 - vertex -29.6752 19.1409 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.4466 19.7034 -0.2 - vertex -30.5728 22.0884 -0.2 - vertex -31.074 22.1513 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.5728 22.0884 -0.2 - vertex -31.4466 19.7034 -0.2 - vertex -30.5811 19.4165 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.271 20.0012 -0.2 - vertex -31.074 22.1513 -0.2 - vertex -31.5861 22.2399 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.271 20.0012 -0.2 - vertex -31.5861 22.2399 -0.2 - vertex -32.1061 22.3529 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.074 22.1513 -0.2 - vertex -32.271 20.0012 -0.2 - vertex -31.4466 19.7034 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.0533 20.3093 -0.2 - vertex -32.1061 22.3529 -0.2 - vertex -32.6306 22.489 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.1061 22.3529 -0.2 - vertex -33.0533 20.3093 -0.2 - vertex -32.271 20.0012 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.7926 20.6272 -0.2 - vertex -32.6306 22.489 -0.2 - vertex -33.1564 22.6469 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.4881 20.9542 -0.2 - vertex -33.1564 22.6469 -0.2 - vertex -33.6803 22.8253 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.6306 22.489 -0.2 - vertex -33.7926 20.6272 -0.2 - vertex -33.0533 20.3093 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.4881 20.9542 -0.2 - vertex -33.6803 22.8253 -0.2 - vertex -34.199 23.023 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.1564 22.6469 -0.2 - vertex -34.4881 20.9542 -0.2 - vertex -33.7926 20.6272 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.1386 21.2899 -0.2 - vertex -34.199 23.023 -0.2 - vertex -34.7094 23.2385 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.199 23.023 -0.2 - vertex -35.1386 21.2899 -0.2 - vertex -34.4881 20.9542 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.7435 21.6336 -0.2 - vertex -34.7094 23.2385 -0.2 - vertex -35.2082 23.4707 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.3017 21.985 -0.2 - vertex -35.2082 23.4707 -0.2 - vertex -35.6921 23.7183 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.7094 23.2385 -0.2 - vertex -35.7435 21.6336 -0.2 - vertex -35.1386 21.2899 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.8124 22.3433 -0.2 - vertex -35.6921 23.7183 -0.2 - vertex -36.1579 23.9798 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.2082 23.4707 -0.2 - vertex -36.3017 21.985 -0.2 - vertex -35.7435 21.6336 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.2746 22.7082 -0.2 - vertex -36.1579 23.9798 -0.2 - vertex -36.6025 24.2541 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.6921 23.7183 -0.2 - vertex -36.8124 22.3433 -0.2 - vertex -36.3017 21.985 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.6874 23.0789 -0.2 - vertex -36.6025 24.2541 -0.2 - vertex -37.0225 24.5398 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.1579 23.9798 -0.2 - vertex -37.2746 22.7082 -0.2 - vertex -36.8124 22.3433 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.3611 23.836 -0.2 - vertex -37.0225 24.5398 -0.2 - vertex -37.4147 24.8357 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.6025 24.2541 -0.2 - vertex -37.6874 23.0789 -0.2 - vertex -37.2746 22.7082 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.6203 24.2212 -0.2 - vertex -37.4147 24.8357 -0.2 - vertex -37.776 25.1404 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.0225 24.5398 -0.2 - vertex -38.0499 23.455 -0.2 - vertex -37.6874 23.0789 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.8265 24.6102 -0.2 - vertex -37.776 25.1404 -0.2 - vertex -38.2113 25.5018 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.0225 24.5398 -0.2 - vertex -38.3611 23.836 -0.2 - vertex -38.0499 23.455 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.0227 25.0923 -0.2 - vertex -38.2113 25.5018 -0.2 - vertex -38.5664 25.7376 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.4147 24.8357 -0.2 - vertex -38.6203 24.2212 -0.2 - vertex -38.3611 23.836 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.1186 25.4589 -0.2 - vertex -38.5664 25.7376 -0.2 - vertex -38.7129 25.8089 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.776 25.1404 -0.2 - vertex -38.8265 24.6102 -0.2 - vertex -38.6203 24.2212 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.13 25.5984 -0.2 - vertex -38.7129 25.8089 -0.2 - vertex -38.8381 25.8495 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.1175 25.7085 -0.2 - vertex -38.8381 25.8495 -0.2 - vertex -38.9416 25.8595 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.2113 25.5018 -0.2 - vertex -39.0227 25.0923 -0.2 - vertex -38.8265 24.6102 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.0817 25.7888 -0.2 - vertex -38.9416 25.8595 -0.2 - vertex -39.0229 25.8392 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.9416 25.8595 -0.2 - vertex -39.0817 25.7888 -0.2 - vertex -39.1175 25.7085 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.8381 25.8495 -0.2 - vertex -39.1175 25.7085 -0.2 - vertex -39.13 25.5984 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.5664 25.7376 -0.2 - vertex -39.1186 25.4589 -0.2 - vertex -39.0227 25.0923 -0.2 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.7129 25.8089 -0.2 - vertex -39.13 25.5984 -0.2 - vertex -39.1186 25.4589 -0.2 - endloop - endfacet - facet normal -0.668491 -0.74372 0 - outer loop - vertex 5.20457 38.5758 -0.2 - vertex 5.23504 38.5484 0 - vertex 5.20457 38.5758 0 - endloop - endfacet - facet normal -0.668491 -0.74372 -0 - outer loop - vertex 5.23504 38.5484 0 - vertex 5.20457 38.5758 -0.2 - vertex 5.23504 38.5484 -0.2 - endloop - endfacet - facet normal -0.96052 -0.278211 0 - outer loop - vertex 5.26494 38.4452 -0.2 - vertex 5.23504 38.5484 0 - vertex 5.23504 38.5484 -0.2 - endloop - endfacet - facet normal -0.96052 -0.278211 0 - outer loop - vertex 5.23504 38.5484 0 - vertex 5.26494 38.4452 -0.2 - vertex 5.26494 38.4452 0 - endloop - endfacet - facet normal -0.998404 0.0564745 0 - outer loop - vertex 5.25596 38.2865 -0.2 - vertex 5.26494 38.4452 0 - vertex 5.26494 38.4452 -0.2 - endloop - endfacet - facet normal -0.998404 0.0564745 0 - outer loop - vertex 5.26494 38.4452 0 - vertex 5.25596 38.2865 -0.2 - vertex 5.25596 38.2865 0 - endloop - endfacet - facet normal -0.976561 0.215243 0 - outer loop - vertex 5.21112 38.083 -0.2 - vertex 5.25596 38.2865 0 - vertex 5.25596 38.2865 -0.2 - endloop - endfacet - facet normal -0.976561 0.215243 0 - outer loop - vertex 5.25596 38.2865 0 - vertex 5.21112 38.083 -0.2 - vertex 5.21112 38.083 0 - endloop - endfacet - facet normal -0.950355 0.311168 0 - outer loop - vertex 5.13345 37.8458 -0.2 - vertex 5.21112 38.083 0 - vertex 5.21112 38.083 -0.2 - endloop - endfacet - facet normal -0.950355 0.311168 0 - outer loop - vertex 5.21112 38.083 0 - vertex 5.13345 37.8458 -0.2 - vertex 5.13345 37.8458 0 - endloop - endfacet - facet normal -0.924228 0.381841 0 - outer loop - vertex 5.02596 37.5856 -0.2 - vertex 5.13345 37.8458 0 - vertex 5.13345 37.8458 -0.2 - endloop - endfacet - facet normal -0.924228 0.381841 0 - outer loop - vertex 5.13345 37.8458 0 - vertex 5.02596 37.5856 -0.2 - vertex 5.02596 37.5856 0 - endloop - endfacet - facet normal -0.896839 0.442358 0 - outer loop - vertex 4.89167 37.3134 -0.2 - vertex 5.02596 37.5856 0 - vertex 5.02596 37.5856 -0.2 - endloop - endfacet - facet normal -0.896839 0.442358 0 - outer loop - vertex 5.02596 37.5856 0 - vertex 4.89167 37.3134 -0.2 - vertex 4.89167 37.3134 0 - endloop - endfacet - facet normal -0.865785 0.500416 0 - outer loop - vertex 4.73361 37.0399 -0.2 - vertex 4.89167 37.3134 0 - vertex 4.89167 37.3134 -0.2 - endloop - endfacet - facet normal -0.865785 0.500416 0 - outer loop - vertex 4.89167 37.3134 0 - vertex 4.73361 37.0399 -0.2 - vertex 4.73361 37.0399 0 - endloop - endfacet - facet normal -0.875928 0.482442 0 - outer loop - vertex 4.62814 36.8484 -0.2 - vertex 4.73361 37.0399 0 - vertex 4.73361 37.0399 -0.2 - endloop - endfacet - facet normal -0.875928 0.482442 0 - outer loop - vertex 4.73361 37.0399 0 - vertex 4.62814 36.8484 -0.2 - vertex 4.62814 36.8484 0 - endloop - endfacet - facet normal -0.912281 0.409566 0 - outer loop - vertex 4.52293 36.6141 -0.2 - vertex 4.62814 36.8484 0 - vertex 4.62814 36.8484 -0.2 - endloop - endfacet - facet normal -0.912281 0.409566 0 - outer loop - vertex 4.62814 36.8484 0 - vertex 4.52293 36.6141 -0.2 - vertex 4.52293 36.6141 0 - endloop - endfacet - facet normal -0.942197 0.335061 0 - outer loop - vertex 4.31688 36.0346 -0.2 - vertex 4.52293 36.6141 0 - vertex 4.52293 36.6141 -0.2 - endloop - endfacet - facet normal -0.942197 0.335061 0 - outer loop - vertex 4.52293 36.6141 0 - vertex 4.31688 36.0346 -0.2 - vertex 4.31688 36.0346 0 - endloop - endfacet - facet normal -0.963331 0.268317 0 - outer loop - vertex 4.1227 35.3375 -0.2 - vertex 4.31688 36.0346 0 - vertex 4.31688 36.0346 -0.2 - endloop - endfacet - facet normal -0.963331 0.268317 0 - outer loop - vertex 4.31688 36.0346 0 - vertex 4.1227 35.3375 -0.2 - vertex 4.1227 35.3375 0 - endloop - endfacet - facet normal -0.975667 0.219257 0 - outer loop - vertex 3.94762 34.5584 -0.2 - vertex 4.1227 35.3375 0 - vertex 4.1227 35.3375 -0.2 - endloop - endfacet - facet normal -0.975667 0.219257 0 - outer loop - vertex 4.1227 35.3375 0 - vertex 3.94762 34.5584 -0.2 - vertex 3.94762 34.5584 0 - endloop - endfacet - facet normal -0.984138 0.177404 0 - outer loop - vertex 3.79886 33.7332 -0.2 - vertex 3.94762 34.5584 0 - vertex 3.94762 34.5584 -0.2 - endloop - endfacet - facet normal -0.984138 0.177404 0 - outer loop - vertex 3.94762 34.5584 0 - vertex 3.79886 33.7332 -0.2 - vertex 3.79886 33.7332 0 - endloop - endfacet - facet normal -0.990628 0.136587 0 - outer loop - vertex 3.68366 32.8976 -0.2 - vertex 3.79886 33.7332 0 - vertex 3.79886 33.7332 -0.2 - endloop - endfacet - facet normal -0.990628 0.136587 0 - outer loop - vertex 3.79886 33.7332 0 - vertex 3.68366 32.8976 -0.2 - vertex 3.68366 32.8976 0 - endloop - endfacet - facet normal -0.995806 0.0914898 0 - outer loop - vertex 3.60924 32.0876 -0.2 - vertex 3.68366 32.8976 0 - vertex 3.68366 32.8976 -0.2 - endloop - endfacet - facet normal -0.995806 0.0914898 0 - outer loop - vertex 3.68366 32.8976 0 - vertex 3.60924 32.0876 -0.2 - vertex 3.60924 32.0876 0 - endloop - endfacet - facet normal -0.999378 0.0352546 0 - outer loop - vertex 3.58282 31.3388 -0.2 - vertex 3.60924 32.0876 0 - vertex 3.60924 32.0876 -0.2 - endloop - endfacet - facet normal -0.999378 0.0352546 0 - outer loop - vertex 3.60924 32.0876 0 - vertex 3.58282 31.3388 -0.2 - vertex 3.58282 31.3388 0 - endloop - endfacet - facet normal -0.999852 -0.0171991 0 - outer loop - vertex 3.59957 30.3654 -0.2 - vertex 3.58282 31.3388 0 - vertex 3.58282 31.3388 -0.2 - endloop - endfacet - facet normal -0.999852 -0.0171991 0 - outer loop - vertex 3.58282 31.3388 0 - vertex 3.59957 30.3654 -0.2 - vertex 3.59957 30.3654 0 - endloop - endfacet - facet normal -0.995876 -0.0907198 0 - outer loop - vertex 3.63162 30.0135 -0.2 - vertex 3.59957 30.3654 0 - vertex 3.59957 30.3654 -0.2 - endloop - endfacet - facet normal -0.995876 -0.0907198 0 - outer loop - vertex 3.59957 30.3654 0 - vertex 3.63162 30.0135 -0.2 - vertex 3.63162 30.0135 0 - endloop - endfacet - facet normal -0.982044 -0.188652 0 - outer loop - vertex 3.68937 29.7129 -0.2 - vertex 3.63162 30.0135 0 - vertex 3.63162 30.0135 -0.2 - endloop - endfacet - facet normal -0.982044 -0.188652 0 - outer loop - vertex 3.63162 30.0135 0 - vertex 3.68937 29.7129 -0.2 - vertex 3.68937 29.7129 0 - endloop - endfacet - facet normal -0.950581 -0.310477 0 - outer loop - vertex 3.78021 29.4348 -0.2 - vertex 3.68937 29.7129 0 - vertex 3.68937 29.7129 -0.2 - endloop - endfacet - facet normal -0.950581 -0.310477 0 - outer loop - vertex 3.68937 29.7129 0 - vertex 3.78021 29.4348 -0.2 - vertex 3.78021 29.4348 0 - endloop - endfacet - facet normal -0.907937 -0.419107 0 - outer loop - vertex 3.91157 29.1502 -0.2 - vertex 3.78021 29.4348 0 - vertex 3.78021 29.4348 -0.2 - endloop - endfacet - facet normal -0.907937 -0.419107 0 - outer loop - vertex 3.78021 29.4348 0 - vertex 3.91157 29.1502 -0.2 - vertex 3.91157 29.1502 0 - endloop - endfacet - facet normal -0.872337 -0.488905 0 - outer loop - vertex 4.09087 28.8303 -0.2 - vertex 3.91157 29.1502 0 - vertex 3.91157 29.1502 -0.2 - endloop - endfacet - facet normal -0.872337 -0.488905 0 - outer loop - vertex 3.91157 29.1502 0 - vertex 4.09087 28.8303 -0.2 - vertex 4.09087 28.8303 0 - endloop - endfacet - facet normal -0.853386 -0.52128 0 - outer loop - vertex 4.32553 28.4461 -0.2 - vertex 4.09087 28.8303 0 - vertex 4.09087 28.8303 -0.2 - endloop - endfacet - facet normal -0.853386 -0.52128 0 - outer loop - vertex 4.09087 28.8303 0 - vertex 4.32553 28.4461 -0.2 - vertex 4.32553 28.4461 0 - endloop - endfacet - facet normal -0.837817 -0.545951 0 - outer loop - vertex 4.69711 27.8759 -0.2 - vertex 4.32553 28.4461 0 - vertex 4.32553 28.4461 -0.2 - endloop - endfacet - facet normal -0.837817 -0.545951 0 - outer loop - vertex 4.32553 28.4461 0 - vertex 4.69711 27.8759 -0.2 - vertex 4.69711 27.8759 0 - endloop - endfacet - facet normal -0.807831 -0.589415 0 - outer loop - vertex 5.05276 27.3884 -0.2 - vertex 4.69711 27.8759 0 - vertex 4.69711 27.8759 -0.2 - endloop - endfacet - facet normal -0.807831 -0.589415 0 - outer loop - vertex 4.69711 27.8759 0 - vertex 5.05276 27.3884 -0.2 - vertex 5.05276 27.3884 0 - endloop - endfacet - facet normal -0.764742 -0.644337 0 - outer loop - vertex 5.39739 26.9794 -0.2 - vertex 5.05276 27.3884 0 - vertex 5.05276 27.3884 -0.2 - endloop - endfacet - facet normal -0.764742 -0.644337 0 - outer loop - vertex 5.05276 27.3884 0 - vertex 5.39739 26.9794 -0.2 - vertex 5.39739 26.9794 0 - endloop - endfacet - facet normal -0.703379 -0.710815 0 - outer loop - vertex 5.39739 26.9794 -0.2 - vertex 5.73586 26.6445 0 - vertex 5.39739 26.9794 0 - endloop - endfacet - facet normal -0.703379 -0.710815 -0 - outer loop - vertex 5.73586 26.6445 0 - vertex 5.39739 26.9794 -0.2 - vertex 5.73586 26.6445 -0.2 - endloop - endfacet - facet normal -0.618154 -0.786057 0 - outer loop - vertex 5.73586 26.6445 -0.2 - vertex 6.07308 26.3793 0 - vertex 5.73586 26.6445 0 - endloop - endfacet - facet normal -0.618154 -0.786057 -0 - outer loop - vertex 6.07308 26.3793 0 - vertex 5.73586 26.6445 -0.2 - vertex 6.07308 26.3793 -0.2 - endloop - endfacet - facet normal -0.505671 -0.862726 0 - outer loop - vertex 6.07308 26.3793 -0.2 - vertex 6.41393 26.1795 0 - vertex 6.07308 26.3793 0 - endloop - endfacet - facet normal -0.505671 -0.862726 -0 - outer loop - vertex 6.41393 26.1795 0 - vertex 6.07308 26.3793 -0.2 - vertex 6.41393 26.1795 -0.2 - endloop - endfacet - facet normal -0.369033 -0.929416 0 - outer loop - vertex 6.41393 26.1795 -0.2 - vertex 6.76329 26.0408 0 - vertex 6.41393 26.1795 0 - endloop - endfacet - facet normal -0.369033 -0.929416 -0 - outer loop - vertex 6.76329 26.0408 0 - vertex 6.41393 26.1795 -0.2 - vertex 6.76329 26.0408 -0.2 - endloop - endfacet - facet normal -0.220456 -0.975397 0 - outer loop - vertex 6.76329 26.0408 -0.2 - vertex 7.12606 25.9588 0 - vertex 6.76329 26.0408 0 - endloop - endfacet - facet normal -0.220456 -0.975397 -0 - outer loop - vertex 7.12606 25.9588 0 - vertex 6.76329 26.0408 -0.2 - vertex 7.12606 25.9588 -0.2 - endloop - endfacet - facet normal -0.188841 -0.982008 0 - outer loop - vertex 7.12606 25.9588 -0.2 - vertex 7.55919 25.8755 0 - vertex 7.12606 25.9588 0 - endloop - endfacet - facet normal -0.188841 -0.982008 -0 - outer loop - vertex 7.55919 25.8755 0 - vertex 7.12606 25.9588 -0.2 - vertex 7.55919 25.8755 -0.2 - endloop - endfacet - facet normal -0.317419 -0.948285 0 - outer loop - vertex 7.55919 25.8755 -0.2 - vertex 7.92584 25.7528 0 - vertex 7.55919 25.8755 0 - endloop - endfacet - facet normal -0.317419 -0.948285 -0 - outer loop - vertex 7.92584 25.7528 0 - vertex 7.55919 25.8755 -0.2 - vertex 7.92584 25.7528 -0.2 - endloop - endfacet - facet normal -0.448547 -0.893759 0 - outer loop - vertex 7.92584 25.7528 -0.2 - vertex 8.08977 25.6705 0 - vertex 7.92584 25.7528 0 - endloop - endfacet - facet normal -0.448547 -0.893759 -0 - outer loop - vertex 8.08977 25.6705 0 - vertex 7.92584 25.7528 -0.2 - vertex 8.08977 25.6705 -0.2 - endloop - endfacet - facet normal -0.542679 -0.83994 0 - outer loop - vertex 8.08977 25.6705 -0.2 - vertex 8.24373 25.571 0 - vertex 8.08977 25.6705 0 - endloop - endfacet - facet normal -0.542679 -0.83994 -0 - outer loop - vertex 8.24373 25.571 0 - vertex 8.08977 25.6705 -0.2 - vertex 8.24373 25.571 -0.2 - endloop - endfacet - facet normal -0.63165 -0.775254 0 - outer loop - vertex 8.24373 25.571 -0.2 - vertex 8.38993 25.4519 0 - vertex 8.24373 25.571 0 - endloop - endfacet - facet normal -0.63165 -0.775254 -0 - outer loop - vertex 8.38993 25.4519 0 - vertex 8.24373 25.571 -0.2 - vertex 8.38993 25.4519 -0.2 - endloop - endfacet - facet normal -0.708493 -0.705718 0 - outer loop - vertex 8.53058 25.3107 -0.2 - vertex 8.38993 25.4519 0 - vertex 8.38993 25.4519 -0.2 - endloop - endfacet - facet normal -0.708493 -0.705718 0 - outer loop - vertex 8.38993 25.4519 0 - vertex 8.53058 25.3107 -0.2 - vertex 8.53058 25.3107 0 - endloop - endfacet - facet normal -0.770043 -0.637991 0 - outer loop - vertex 8.6679 25.145 -0.2 - vertex 8.53058 25.3107 0 - vertex 8.53058 25.3107 -0.2 - endloop - endfacet - facet normal -0.770043 -0.637991 0 - outer loop - vertex 8.53058 25.3107 0 - vertex 8.6679 25.145 -0.2 - vertex 8.6679 25.145 0 - endloop - endfacet - facet normal -0.816637 -0.577152 0 - outer loop - vertex 8.80411 24.9522 -0.2 - vertex 8.6679 25.145 0 - vertex 8.6679 25.145 -0.2 - endloop - endfacet - facet normal -0.816637 -0.577152 0 - outer loop - vertex 8.6679 25.145 0 - vertex 8.80411 24.9522 -0.2 - vertex 8.80411 24.9522 0 - endloop - endfacet - facet normal -0.863652 -0.504088 0 - outer loop - vertex 9.08206 24.476 -0.2 - vertex 8.80411 24.9522 0 - vertex 8.80411 24.9522 -0.2 - endloop - endfacet - facet normal -0.863652 -0.504088 0 - outer loop - vertex 8.80411 24.9522 0 - vertex 9.08206 24.476 -0.2 - vertex 9.08206 24.476 0 - endloop - endfacet - facet normal -0.8983 -0.439382 0 - outer loop - vertex 9.38213 23.8626 -0.2 - vertex 9.08206 24.476 0 - vertex 9.08206 24.476 -0.2 - endloop - endfacet - facet normal -0.8983 -0.439382 0 - outer loop - vertex 9.08206 24.476 0 - vertex 9.38213 23.8626 -0.2 - vertex 9.38213 23.8626 0 - endloop - endfacet - facet normal -0.914889 -0.403706 0 - outer loop - vertex 9.72206 23.0922 -0.2 - vertex 9.38213 23.8626 0 - vertex 9.38213 23.8626 -0.2 - endloop - endfacet - facet normal -0.914889 -0.403706 0 - outer loop - vertex 9.38213 23.8626 0 - vertex 9.72206 23.0922 -0.2 - vertex 9.72206 23.0922 0 - endloop - endfacet - facet normal -0.916786 -0.399379 0 - outer loop - vertex 10.0801 22.2703 -0.2 - vertex 9.72206 23.0922 0 - vertex 9.72206 23.0922 -0.2 - endloop - endfacet - facet normal -0.916786 -0.399379 0 - outer loop - vertex 9.72206 23.0922 0 - vertex 10.0801 22.2703 -0.2 - vertex 10.0801 22.2703 0 - endloop - endfacet - facet normal -0.906506 -0.422192 0 - outer loop - vertex 10.3935 21.5973 -0.2 - vertex 10.0801 22.2703 0 - vertex 10.0801 22.2703 -0.2 - endloop - endfacet - facet normal -0.906506 -0.422192 0 - outer loop - vertex 10.0801 22.2703 0 - vertex 10.3935 21.5973 -0.2 - vertex 10.3935 21.5973 0 - endloop - endfacet - facet normal -0.886025 -0.463638 0 - outer loop - vertex 10.6869 21.0368 -0.2 - vertex 10.3935 21.5973 0 - vertex 10.3935 21.5973 -0.2 - endloop - endfacet - facet normal -0.886025 -0.463638 0 - outer loop - vertex 10.3935 21.5973 0 - vertex 10.6869 21.0368 -0.2 - vertex 10.6869 21.0368 0 - endloop - endfacet - facet normal -0.852053 -0.523456 0 - outer loop - vertex 10.9846 20.5521 -0.2 - vertex 10.6869 21.0368 0 - vertex 10.6869 21.0368 -0.2 - endloop - endfacet - facet normal -0.852053 -0.523456 0 - outer loop - vertex 10.6869 21.0368 0 - vertex 10.9846 20.5521 -0.2 - vertex 10.9846 20.5521 0 - endloop - endfacet - facet normal -0.806267 -0.591552 0 - outer loop - vertex 11.3113 20.1069 -0.2 - vertex 10.9846 20.5521 0 - vertex 10.9846 20.5521 -0.2 - endloop - endfacet - facet normal -0.806267 -0.591552 0 - outer loop - vertex 10.9846 20.5521 0 - vertex 11.3113 20.1069 -0.2 - vertex 11.3113 20.1069 0 - endloop - endfacet - facet normal -0.758443 -0.65174 0 - outer loop - vertex 11.6914 19.6646 -0.2 - vertex 11.3113 20.1069 0 - vertex 11.3113 20.1069 -0.2 - endloop - endfacet - facet normal -0.758443 -0.65174 0 - outer loop - vertex 11.3113 20.1069 0 - vertex 11.6914 19.6646 -0.2 - vertex 11.6914 19.6646 0 - endloop - endfacet - facet normal -0.720518 -0.693437 0 - outer loop - vertex 12.1494 19.1886 -0.2 - vertex 11.6914 19.6646 0 - vertex 11.6914 19.6646 -0.2 - endloop - endfacet - facet normal -0.720518 -0.693437 0 - outer loop - vertex 11.6914 19.6646 0 - vertex 12.1494 19.1886 -0.2 - vertex 12.1494 19.1886 0 - endloop - endfacet - facet normal -0.697808 -0.716285 0 - outer loop - vertex 12.1494 19.1886 -0.2 - vertex 12.71 18.6425 0 - vertex 12.1494 19.1886 0 - endloop - endfacet - facet normal -0.697808 -0.716285 -0 - outer loop - vertex 12.71 18.6425 0 - vertex 12.1494 19.1886 -0.2 - vertex 12.71 18.6425 -0.2 - endloop - endfacet - facet normal -0.680991 -0.732292 0 - outer loop - vertex 12.71 18.6425 -0.2 - vertex 13.3813 18.0182 0 - vertex 12.71 18.6425 0 - endloop - endfacet - facet normal -0.680991 -0.732292 -0 - outer loop - vertex 13.3813 18.0182 0 - vertex 12.71 18.6425 -0.2 - vertex 13.3813 18.0182 -0.2 - endloop - endfacet - facet normal -0.650845 -0.759211 0 - outer loop - vertex 13.3813 18.0182 -0.2 - vertex 14.0017 17.4864 0 - vertex 13.3813 18.0182 0 - endloop - endfacet - facet normal -0.650845 -0.759211 -0 - outer loop - vertex 14.0017 17.4864 0 - vertex 13.3813 18.0182 -0.2 - vertex 14.0017 17.4864 -0.2 - endloop - endfacet - facet normal -0.606609 -0.795001 0 - outer loop - vertex 14.0017 17.4864 -0.2 - vertex 14.6028 17.0277 0 - vertex 14.0017 17.4864 0 - endloop - endfacet - facet normal -0.606609 -0.795001 -0 - outer loop - vertex 14.6028 17.0277 0 - vertex 14.0017 17.4864 -0.2 - vertex 14.6028 17.0277 -0.2 - endloop - endfacet - facet normal -0.550734 -0.834681 0 - outer loop - vertex 14.6028 17.0277 -0.2 - vertex 15.2162 16.623 0 - vertex 14.6028 17.0277 0 - endloop - endfacet - facet normal -0.550734 -0.834681 -0 - outer loop - vertex 15.2162 16.623 0 - vertex 14.6028 17.0277 -0.2 - vertex 15.2162 16.623 -0.2 - endloop - endfacet - facet normal -0.490625 -0.871371 0 - outer loop - vertex 15.2162 16.623 -0.2 - vertex 15.8738 16.2527 0 - vertex 15.2162 16.623 0 - endloop - endfacet - facet normal -0.490625 -0.871371 -0 - outer loop - vertex 15.8738 16.2527 0 - vertex 15.2162 16.623 -0.2 - vertex 15.8738 16.2527 -0.2 - endloop - endfacet - facet normal -0.435747 -0.900069 0 - outer loop - vertex 15.8738 16.2527 -0.2 - vertex 16.6072 15.8977 0 - vertex 15.8738 16.2527 0 - endloop - endfacet - facet normal -0.435747 -0.900069 -0 - outer loop - vertex 16.6072 15.8977 0 - vertex 15.8738 16.2527 -0.2 - vertex 16.6072 15.8977 -0.2 - endloop - endfacet - facet normal -0.392812 -0.919619 0 - outer loop - vertex 16.6072 15.8977 -0.2 - vertex 17.448 15.5385 0 - vertex 16.6072 15.8977 0 - endloop - endfacet - facet normal -0.392812 -0.919619 -0 - outer loop - vertex 17.448 15.5385 0 - vertex 16.6072 15.8977 -0.2 - vertex 17.448 15.5385 -0.2 - endloop - endfacet - facet normal -0.36368 -0.931524 0 - outer loop - vertex 17.448 15.5385 -0.2 - vertex 18.4281 15.1559 0 - vertex 17.448 15.5385 0 - endloop - endfacet - facet normal -0.36368 -0.931524 -0 - outer loop - vertex 18.4281 15.1559 0 - vertex 17.448 15.5385 -0.2 - vertex 18.4281 15.1559 -0.2 - endloop - endfacet - facet normal -0.343445 -0.939173 0 - outer loop - vertex 18.4281 15.1559 -0.2 - vertex 19.4469 14.7833 0 - vertex 18.4281 15.1559 0 - endloop - endfacet - facet normal -0.343445 -0.939173 -0 - outer loop - vertex 19.4469 14.7833 0 - vertex 18.4281 15.1559 -0.2 - vertex 19.4469 14.7833 -0.2 - endloop - endfacet - facet normal -0.28492 -0.958551 0 - outer loop - vertex 19.4469 14.7833 -0.2 - vertex 19.7955 14.6797 0 - vertex 19.4469 14.7833 0 - endloop - endfacet - facet normal -0.28492 -0.958551 -0 - outer loop - vertex 19.7955 14.6797 0 - vertex 19.4469 14.7833 -0.2 - vertex 19.7955 14.6797 -0.2 - endloop - endfacet - facet normal -0.184649 -0.982804 0 - outer loop - vertex 19.7955 14.6797 -0.2 - vertex 20.0785 14.6265 0 - vertex 19.7955 14.6797 0 - endloop - endfacet - facet normal -0.184649 -0.982804 -0 - outer loop - vertex 20.0785 14.6265 0 - vertex 19.7955 14.6797 -0.2 - vertex 20.0785 14.6265 -0.2 - endloop - endfacet - facet normal -0.024894 -0.99969 0 - outer loop - vertex 20.0785 14.6265 -0.2 - vertex 20.327 14.6203 0 - vertex 20.0785 14.6265 0 - endloop - endfacet - facet normal -0.024894 -0.99969 -0 - outer loop - vertex 20.327 14.6203 0 - vertex 20.0785 14.6265 -0.2 - vertex 20.327 14.6203 -0.2 - endloop - endfacet - facet normal 0.150471 -0.988614 0 - outer loop - vertex 20.327 14.6203 -0.2 - vertex 20.5722 14.6577 0 - vertex 20.327 14.6203 0 - endloop - endfacet - facet normal 0.150471 -0.988614 0 - outer loop - vertex 20.5722 14.6577 0 - vertex 20.327 14.6203 -0.2 - vertex 20.5722 14.6577 -0.2 - endloop - endfacet - facet normal 0.272592 -0.96213 0 - outer loop - vertex 20.5722 14.6577 -0.2 - vertex 20.8452 14.735 0 - vertex 20.5722 14.6577 0 - endloop - endfacet - facet normal 0.272592 -0.96213 0 - outer loop - vertex 20.8452 14.735 0 - vertex 20.5722 14.6577 -0.2 - vertex 20.8452 14.735 -0.2 - endloop - endfacet - facet normal 0.32454 -0.945872 0 - outer loop - vertex 20.8452 14.735 -0.2 - vertex 21.1771 14.8489 0 - vertex 20.8452 14.735 0 - endloop - endfacet - facet normal 0.32454 -0.945872 0 - outer loop - vertex 21.1771 14.8489 0 - vertex 20.8452 14.735 -0.2 - vertex 21.1771 14.8489 -0.2 - endloop - endfacet - facet normal 0.357547 -0.933895 0 - outer loop - vertex 21.1771 14.8489 -0.2 - vertex 21.6737 15.039 0 - vertex 21.1771 14.8489 0 - endloop - endfacet - facet normal 0.357547 -0.933895 0 - outer loop - vertex 21.6737 15.039 0 - vertex 21.1771 14.8489 -0.2 - vertex 21.6737 15.039 -0.2 - endloop - endfacet - facet normal 0.392507 -0.919749 0 - outer loop - vertex 21.6737 15.039 -0.2 - vertex 22.2336 15.278 0 - vertex 21.6737 15.039 0 - endloop - endfacet - facet normal 0.392507 -0.919749 0 - outer loop - vertex 22.2336 15.278 0 - vertex 21.6737 15.039 -0.2 - vertex 22.2336 15.278 -0.2 - endloop - endfacet - facet normal 0.427814 -0.903867 0 - outer loop - vertex 22.2336 15.278 -0.2 - vertex 23.3919 15.8262 0 - vertex 22.2336 15.278 0 - endloop - endfacet - facet normal 0.427814 -0.903867 0 - outer loop - vertex 23.3919 15.8262 0 - vertex 22.2336 15.278 -0.2 - vertex 23.3919 15.8262 -0.2 - endloop - endfacet - facet normal 0.460603 -0.887606 0 - outer loop - vertex 23.3919 15.8262 -0.2 - vertex 23.9148 16.0975 0 - vertex 23.3919 15.8262 0 - endloop - endfacet - facet normal 0.460603 -0.887606 0 - outer loop - vertex 23.9148 16.0975 0 - vertex 23.3919 15.8262 -0.2 - vertex 23.9148 16.0975 -0.2 - endloop - endfacet - facet normal 0.489467 -0.872022 0 - outer loop - vertex 23.9148 16.0975 -0.2 - vertex 24.3498 16.3417 0 - vertex 23.9148 16.0975 0 - endloop - endfacet - facet normal 0.489467 -0.872022 0 - outer loop - vertex 24.3498 16.3417 0 - vertex 23.9148 16.0975 -0.2 - vertex 24.3498 16.3417 -0.2 - endloop - endfacet - facet normal 0.539107 -0.842237 0 - outer loop - vertex 24.3498 16.3417 -0.2 - vertex 24.659 16.5397 0 - vertex 24.3498 16.3417 0 - endloop - endfacet - facet normal 0.539107 -0.842237 0 - outer loop - vertex 24.659 16.5397 0 - vertex 24.3498 16.3417 -0.2 - vertex 24.659 16.5397 -0.2 - endloop - endfacet - facet normal 0.620549 -0.784168 0 - outer loop - vertex 24.659 16.5397 -0.2 - vertex 24.7548 16.6154 0 - vertex 24.659 16.5397 0 - endloop - endfacet - facet normal 0.620549 -0.784168 0 - outer loop - vertex 24.7548 16.6154 0 - vertex 24.659 16.5397 -0.2 - vertex 24.7548 16.6154 -0.2 - endloop - endfacet - facet normal 0.751376 -0.659874 0 - outer loop - vertex 24.7548 16.6154 0 - vertex 24.8049 16.6725 -0.2 - vertex 24.8049 16.6725 0 - endloop - endfacet - facet normal 0.751376 -0.659874 0 - outer loop - vertex 24.8049 16.6725 -0.2 - vertex 24.7548 16.6154 0 - vertex 24.7548 16.6154 -0.2 - endloop - endfacet - facet normal 0.968195 -0.250195 0 - outer loop - vertex 24.8049 16.6725 0 - vertex 24.8294 16.7672 -0.2 - vertex 24.8294 16.7672 0 - endloop - endfacet - facet normal 0.968195 -0.250195 0 - outer loop - vertex 24.8294 16.7672 -0.2 - vertex 24.8049 16.6725 0 - vertex 24.8049 16.6725 -0.2 - endloop - endfacet - facet normal 0.998807 0.0488365 0 - outer loop - vertex 24.8294 16.7672 0 - vertex 24.8232 16.8925 -0.2 - vertex 24.8232 16.8925 0 - endloop - endfacet - facet normal 0.998807 0.0488365 0 - outer loop - vertex 24.8232 16.8925 -0.2 - vertex 24.8294 16.7672 0 - vertex 24.8294 16.7672 -0.2 - endloop - endfacet - facet normal 0.971162 0.23842 0 - outer loop - vertex 24.8232 16.8925 0 - vertex 24.789 17.0321 -0.2 - vertex 24.789 17.0321 0 - endloop - endfacet - facet normal 0.971162 0.23842 0 - outer loop - vertex 24.789 17.0321 -0.2 - vertex 24.8232 16.8925 0 - vertex 24.8232 16.8925 -0.2 - endloop - endfacet - facet normal 0.916748 0.399467 0 - outer loop - vertex 24.789 17.0321 0 - vertex 24.7291 17.1695 -0.2 - vertex 24.7291 17.1695 0 - endloop - endfacet - facet normal 0.916748 0.399467 0 - outer loop - vertex 24.7291 17.1695 -0.2 - vertex 24.789 17.0321 0 - vertex 24.789 17.0321 -0.2 - endloop - endfacet - facet normal 0.771083 0.636734 0 - outer loop - vertex 24.7291 17.1695 0 - vertex 24.6602 17.253 -0.2 - vertex 24.6602 17.253 0 - endloop - endfacet - facet normal 0.771083 0.636734 0 - outer loop - vertex 24.6602 17.253 -0.2 - vertex 24.7291 17.1695 0 - vertex 24.7291 17.1695 -0.2 - endloop - endfacet - facet normal 0.526106 0.850419 -0 - outer loop - vertex 24.6602 17.253 -0.2 - vertex 24.5483 17.3222 0 - vertex 24.6602 17.253 0 - endloop - endfacet - facet normal 0.526106 0.850419 0 - outer loop - vertex 24.5483 17.3222 0 - vertex 24.6602 17.253 -0.2 - vertex 24.5483 17.3222 -0.2 - endloop - endfacet - facet normal 0.326655 0.945144 -0 - outer loop - vertex 24.5483 17.3222 -0.2 - vertex 24.386 17.3783 0 - vertex 24.5483 17.3222 0 - endloop - endfacet - facet normal 0.326655 0.945144 0 - outer loop - vertex 24.386 17.3783 0 - vertex 24.5483 17.3222 -0.2 - vertex 24.386 17.3783 -0.2 - endloop - endfacet - facet normal 0.19643 0.980518 -0 - outer loop - vertex 24.386 17.3783 -0.2 - vertex 24.166 17.4223 0 - vertex 24.386 17.3783 0 - endloop - endfacet - facet normal 0.19643 0.980518 0 - outer loop - vertex 24.166 17.4223 0 - vertex 24.386 17.3783 -0.2 - vertex 24.166 17.4223 -0.2 - endloop - endfacet - facet normal 0.0878721 0.996132 -0 - outer loop - vertex 24.166 17.4223 -0.2 - vertex 23.5226 17.4791 0 - vertex 24.166 17.4223 0 - endloop - endfacet - facet normal 0.0878721 0.996132 0 - outer loop - vertex 23.5226 17.4791 0 - vertex 24.166 17.4223 -0.2 - vertex 23.5226 17.4791 -0.2 - endloop - endfacet - facet normal 0.0232768 0.999729 -0 - outer loop - vertex 23.5226 17.4791 -0.2 - vertex 22.5588 17.5015 0 - vertex 23.5226 17.4791 0 - endloop - endfacet - facet normal 0.0232768 0.999729 0 - outer loop - vertex 22.5588 17.5015 0 - vertex 23.5226 17.4791 -0.2 - vertex 22.5588 17.5015 -0.2 - endloop - endfacet - facet normal 0.0146144 0.999893 -0 - outer loop - vertex 22.5588 17.5015 -0.2 - vertex 21.0506 17.5236 0 - vertex 22.5588 17.5015 0 - endloop - endfacet - facet normal 0.0146144 0.999893 0 - outer loop - vertex 21.0506 17.5236 0 - vertex 22.5588 17.5015 -0.2 - vertex 21.0506 17.5236 -0.2 - endloop - endfacet - facet normal 0.0395978 0.999216 -0 - outer loop - vertex 21.0506 17.5236 -0.2 - vertex 20.2276 17.5562 0 - vertex 21.0506 17.5236 0 - endloop - endfacet - facet normal 0.0395978 0.999216 0 - outer loop - vertex 20.2276 17.5562 0 - vertex 21.0506 17.5236 -0.2 - vertex 20.2276 17.5562 -0.2 - endloop - endfacet - facet normal 0.211618 0.977352 -0 - outer loop - vertex 20.2276 17.5562 -0.2 - vertex 20.1284 17.5777 0 - vertex 20.2276 17.5562 0 - endloop - endfacet - facet normal 0.211618 0.977352 0 - outer loop - vertex 20.1284 17.5777 0 - vertex 20.2276 17.5562 -0.2 - vertex 20.1284 17.5777 -0.2 - endloop - endfacet - facet normal 0.390006 0.920812 -0 - outer loop - vertex 20.1284 17.5777 -0.2 - vertex 20.0333 17.6179 0 - vertex 20.1284 17.5777 0 - endloop - endfacet - facet normal 0.390006 0.920812 0 - outer loop - vertex 20.0333 17.6179 0 - vertex 20.1284 17.5777 -0.2 - vertex 20.0333 17.6179 -0.2 - endloop - endfacet - facet normal 0.545234 0.838284 -0 - outer loop - vertex 20.0333 17.6179 -0.2 - vertex 19.9424 17.6771 0 - vertex 20.0333 17.6179 0 - endloop - endfacet - facet normal 0.545234 0.838284 0 - outer loop - vertex 19.9424 17.6771 0 - vertex 20.0333 17.6179 -0.2 - vertex 19.9424 17.6771 -0.2 - endloop - endfacet - facet normal 0.668778 0.743462 -0 - outer loop - vertex 19.9424 17.6771 -0.2 - vertex 19.8554 17.7553 0 - vertex 19.9424 17.6771 0 - endloop - endfacet - facet normal 0.668778 0.743462 0 - outer loop - vertex 19.8554 17.7553 0 - vertex 19.9424 17.6771 -0.2 - vertex 19.8554 17.7553 -0.2 - endloop - endfacet - facet normal 0.797362 0.603501 0 - outer loop - vertex 19.8554 17.7553 0 - vertex 19.6934 17.9694 -0.2 - vertex 19.6934 17.9694 0 - endloop - endfacet - facet normal 0.797362 0.603501 0 - outer loop - vertex 19.6934 17.9694 -0.2 - vertex 19.8554 17.7553 0 - vertex 19.8554 17.7553 -0.2 - endloop - endfacet - facet normal 0.893603 0.448858 0 - outer loop - vertex 19.6934 17.9694 0 - vertex 19.5469 18.2611 -0.2 - vertex 19.5469 18.2611 0 - endloop - endfacet - facet normal 0.893603 0.448858 0 - outer loop - vertex 19.5469 18.2611 -0.2 - vertex 19.6934 17.9694 0 - vertex 19.6934 17.9694 -0.2 - endloop - endfacet - facet normal 0.942385 0.33453 0 - outer loop - vertex 19.5469 18.2611 0 - vertex 19.4153 18.6317 -0.2 - vertex 19.4153 18.6317 0 - endloop - endfacet - facet normal 0.942385 0.33453 0 - outer loop - vertex 19.4153 18.6317 -0.2 - vertex 19.5469 18.2611 0 - vertex 19.5469 18.2611 -0.2 - endloop - endfacet - facet normal 0.967894 0.251357 0 - outer loop - vertex 19.4153 18.6317 0 - vertex 19.2984 19.082 -0.2 - vertex 19.2984 19.082 0 - endloop - endfacet - facet normal 0.967894 0.251357 0 - outer loop - vertex 19.2984 19.082 -0.2 - vertex 19.4153 18.6317 0 - vertex 19.4153 18.6317 -0.2 - endloop - endfacet - facet normal 0.981784 0.190002 0 - outer loop - vertex 19.2984 19.082 0 - vertex 19.1956 19.6132 -0.2 - vertex 19.1956 19.6132 0 - endloop - endfacet - facet normal 0.981784 0.190002 0 - outer loop - vertex 19.1956 19.6132 -0.2 - vertex 19.2984 19.082 0 - vertex 19.2984 19.082 -0.2 - endloop - endfacet - facet normal 0.989607 0.143797 0 - outer loop - vertex 19.1956 19.6132 0 - vertex 19.1065 20.2262 -0.2 - vertex 19.1065 20.2262 0 - endloop - endfacet - facet normal 0.989607 0.143797 0 - outer loop - vertex 19.1065 20.2262 -0.2 - vertex 19.1956 19.6132 0 - vertex 19.1956 19.6132 -0.2 - endloop - endfacet - facet normal 0.988819 0.149121 0 - outer loop - vertex 19.1065 20.2262 0 - vertex 19.0081 20.8787 -0.2 - vertex 19.0081 20.8787 0 - endloop - endfacet - facet normal 0.988819 0.149121 0 - outer loop - vertex 19.0081 20.8787 -0.2 - vertex 19.1065 20.2262 0 - vertex 19.1065 20.2262 -0.2 - endloop - endfacet - facet normal 0.979919 0.199398 0 - outer loop - vertex 19.0081 20.8787 0 - vertex 18.892 21.4494 -0.2 - vertex 18.892 21.4494 0 - endloop - endfacet - facet normal 0.979919 0.199398 0 - outer loop - vertex 18.892 21.4494 -0.2 - vertex 19.0081 20.8787 0 - vertex 19.0081 20.8787 -0.2 - endloop - endfacet - facet normal 0.963148 0.268972 0 - outer loop - vertex 18.892 21.4494 0 - vertex 18.7726 21.8767 -0.2 - vertex 18.7726 21.8767 0 - endloop - endfacet - facet normal 0.963148 0.268972 0 - outer loop - vertex 18.7726 21.8767 -0.2 - vertex 18.892 21.4494 0 - vertex 18.892 21.4494 -0.2 - endloop - endfacet - facet normal 0.928333 0.371749 0 - outer loop - vertex 18.7726 21.8767 0 - vertex 18.7163 22.0174 -0.2 - vertex 18.7163 22.0174 0 - endloop - endfacet - facet normal 0.928333 0.371749 0 - outer loop - vertex 18.7163 22.0174 -0.2 - vertex 18.7726 21.8767 0 - vertex 18.7726 21.8767 -0.2 - endloop - endfacet - facet normal 0.845312 0.534273 0 - outer loop - vertex 18.7163 22.0174 0 - vertex 18.6646 22.0992 -0.2 - vertex 18.6646 22.0992 0 - endloop - endfacet - facet normal 0.845312 0.534273 0 - outer loop - vertex 18.6646 22.0992 -0.2 - vertex 18.7163 22.0174 0 - vertex 18.7163 22.0174 -0.2 - endloop - endfacet - facet normal 0.569342 0.822101 -0 - outer loop - vertex 18.6646 22.0992 -0.2 - vertex 18.4732 22.2317 0 - vertex 18.6646 22.0992 0 - endloop - endfacet - facet normal 0.569342 0.822101 0 - outer loop - vertex 18.4732 22.2317 0 - vertex 18.6646 22.0992 -0.2 - vertex 18.4732 22.2317 -0.2 - endloop - endfacet - facet normal 0.466042 0.884763 -0 - outer loop - vertex 18.4732 22.2317 -0.2 - vertex 18.127 22.4141 0 - vertex 18.4732 22.2317 0 - endloop - endfacet - facet normal 0.466042 0.884763 0 - outer loop - vertex 18.127 22.4141 0 - vertex 18.4732 22.2317 -0.2 - vertex 18.127 22.4141 -0.2 - endloop - endfacet - facet normal 0.418359 0.908282 -0 - outer loop - vertex 18.127 22.4141 -0.2 - vertex 17.6752 22.6222 0 - vertex 18.127 22.4141 0 - endloop - endfacet - facet normal 0.418359 0.908282 0 - outer loop - vertex 17.6752 22.6222 0 - vertex 18.127 22.4141 -0.2 - vertex 17.6752 22.6222 -0.2 - endloop - endfacet - facet normal 0.381566 0.924342 -0 - outer loop - vertex 17.6752 22.6222 -0.2 - vertex 17.1667 22.8321 0 - vertex 17.6752 22.6222 0 - endloop - endfacet - facet normal 0.381566 0.924342 0 - outer loop - vertex 17.1667 22.8321 0 - vertex 17.6752 22.6222 -0.2 - vertex 17.1667 22.8321 -0.2 + vertex 17.155 22.8321 0 + vertex 18.6529 22.0992 -3 + vertex 17.155 22.8321 -3 endloop endfacet facet normal 0.375086 0.92699 -0 outer loop - vertex 17.1667 22.8321 -0.2 - vertex 15.5173 23.4995 0 - vertex 17.1667 22.8321 0 + vertex 17.155 22.8321 -3 + vertex 15.5055 23.4995 0 + vertex 17.155 22.8321 0 endloop endfacet facet normal 0.375086 0.92699 0 outer loop - vertex 15.5173 23.4995 0 - vertex 17.1667 22.8321 -0.2 - vertex 15.5173 23.4995 -0.2 + vertex 15.5055 23.4995 0 + vertex 17.155 22.8321 -3 + vertex 15.5055 23.4995 -3 endloop endfacet facet normal 0.401684 0.915778 -0 outer loop - vertex 15.5173 23.4995 -0.2 - vertex 14.0281 24.1527 0 - vertex 15.5173 23.4995 0 + vertex 15.5055 23.4995 -3 + vertex 14.0164 24.1527 0 + vertex 15.5055 23.4995 0 endloop endfacet facet normal 0.401684 0.915778 0 outer loop - vertex 14.0281 24.1527 0 - vertex 15.5173 23.4995 -0.2 - vertex 14.0281 24.1527 -0.2 + vertex 14.0164 24.1527 0 + vertex 15.5055 23.4995 -3 + vertex 14.0164 24.1527 -3 endloop endfacet - facet normal 0.431504 0.902111 -0 + facet normal 0.516309 0.856402 -0 outer loop - vertex 14.0281 24.1527 -0.2 - vertex 13.7923 24.2655 0 - vertex 14.0281 24.1527 0 + vertex 14.0164 24.1527 -3 + vertex 13.0733 24.7212 0 + vertex 14.0164 24.1527 0 endloop endfacet - facet normal 0.431504 0.902111 0 + facet normal 0.516309 0.856402 0 outer loop - vertex 13.7923 24.2655 0 - vertex 14.0281 24.1527 -0.2 - vertex 13.7923 24.2655 -0.2 + vertex 13.0733 24.7212 0 + vertex 14.0164 24.1527 -3 + vertex 13.0733 24.7212 -3 endloop endfacet - facet normal 0.491302 0.870989 -0 + facet normal 0.678054 0.735012 -0 outer loop - vertex 13.7923 24.2655 -0.2 - vertex 13.5553 24.3991 0 - vertex 13.7923 24.2655 0 + vertex 13.0733 24.7212 -3 + vertex 12.1975 25.5292 0 + vertex 13.0733 24.7212 0 endloop endfacet - facet normal 0.491302 0.870989 0 + facet normal 0.678054 0.735012 0 outer loop - vertex 13.5553 24.3991 0 - vertex 13.7923 24.2655 -0.2 - vertex 13.5553 24.3991 -0.2 + vertex 12.1975 25.5292 0 + vertex 13.0733 24.7212 -3 + vertex 12.1975 25.5292 -3 endloop endfacet - facet normal 0.565064 0.825047 -0 + facet normal 0.798708 0.601719 0 outer loop - vertex 13.5553 24.3991 -0.2 - vertex 13.085 24.7212 0 - vertex 13.5553 24.3991 0 + vertex 12.1975 25.5292 0 + vertex 11.5037 26.4501 -3 + vertex 11.5037 26.4501 0 endloop endfacet - facet normal 0.565064 0.825047 0 + facet normal 0.798708 0.601719 0 outer loop - vertex 13.085 24.7212 0 - vertex 13.5553 24.3991 -0.2 - vertex 13.085 24.7212 -0.2 + vertex 11.5037 26.4501 -3 + vertex 12.1975 25.5292 0 + vertex 12.1975 25.5292 -3 endloop endfacet - facet normal 0.644201 0.764857 -0 + facet normal 0.916155 0.400824 0 outer loop - vertex 13.085 24.7212 -0.2 - vertex 12.6316 25.1032 0 - vertex 13.085 24.7212 0 + vertex 11.5037 26.4501 0 + vertex 11.1066 27.3577 -3 + vertex 11.1066 27.3577 0 endloop endfacet - facet normal 0.644201 0.764857 0 + facet normal 0.916155 0.400824 0 outer loop - vertex 12.6316 25.1032 0 - vertex 13.085 24.7212 -0.2 - vertex 12.6316 25.1032 -0.2 + vertex 11.1066 27.3577 -3 + vertex 11.5037 26.4501 0 + vertex 11.5037 26.4501 -3 endloop endfacet - facet normal 0.710157 0.704043 0 + facet normal 0.997988 0.0634007 0 outer loop - vertex 12.6316 25.1032 0 - vertex 12.2092 25.5292 -0.2 - vertex 12.2092 25.5292 0 + vertex 11.1066 27.3577 0 + vertex 11.0411 28.3898 -3 + vertex 11.0411 28.3898 0 endloop endfacet - facet normal 0.710157 0.704043 0 + facet normal 0.997988 0.0634007 0 outer loop - vertex 12.2092 25.5292 -0.2 - vertex 12.6316 25.1032 0 - vertex 12.6316 25.1032 -0.2 + vertex 11.0411 28.3898 -3 + vertex 11.1066 27.3577 0 + vertex 11.1066 27.3577 -3 endloop endfacet - facet normal 0.769647 0.63847 0 + facet normal 0.985212 -0.171342 0 outer loop - vertex 12.2092 25.5292 0 - vertex 11.8324 25.9834 -0.2 - vertex 11.8324 25.9834 0 + vertex 11.0411 28.3898 0 + vertex 11.2319 29.4873 -3 + vertex 11.2319 29.4873 0 endloop endfacet - facet normal 0.769647 0.63847 0 + facet normal 0.985212 -0.171342 0 outer loop - vertex 11.8324 25.9834 -0.2 - vertex 12.2092 25.5292 0 - vertex 12.2092 25.5292 -0.2 + vertex 11.2319 29.4873 -3 + vertex 11.0411 28.3898 0 + vertex 11.0411 28.3898 -3 endloop endfacet - facet normal 0.827234 0.561857 0 + facet normal 0.92237 -0.386308 0 outer loop - vertex 11.8324 25.9834 0 - vertex 11.5154 26.4501 -0.2 - vertex 11.5154 26.4501 0 + vertex 11.2319 29.4873 0 + vertex 11.5971 30.3591 -3 + vertex 11.5971 30.3591 0 endloop endfacet - facet normal 0.827234 0.561857 0 + facet normal 0.92237 -0.386308 0 outer loop - vertex 11.5154 26.4501 -0.2 - vertex 11.8324 25.9834 0 - vertex 11.8324 25.9834 -0.2 + vertex 11.5971 30.3591 -3 + vertex 11.2319 29.4873 0 + vertex 11.2319 29.4873 -3 endloop endfacet - facet normal 0.870844 0.491559 0 + facet normal 0.613523 -0.789677 0 outer loop - vertex 11.5154 26.4501 0 - vertex 11.3839 26.6832 -0.2 - vertex 11.3839 26.6832 0 + vertex 11.5971 30.3591 -3 + vertex 12.0544 30.7144 0 + vertex 11.5971 30.3591 0 endloop endfacet - facet normal 0.870844 0.491559 0 + facet normal 0.613523 -0.789677 0 outer loop - vertex 11.3839 26.6832 -0.2 - vertex 11.5154 26.4501 0 - vertex 11.5154 26.4501 -0.2 + vertex 12.0544 30.7144 0 + vertex 11.5971 30.3591 -3 + vertex 12.0544 30.7144 -3 endloop endfacet - facet normal 0.900452 0.434955 0 + facet normal -0.632498 -0.774562 0 outer loop - vertex 11.3839 26.6832 0 - vertex 11.2726 26.9135 -0.2 - vertex 11.2726 26.9135 0 + vertex 12.0544 30.7144 -3 + vertex 12.2907 30.5214 0 + vertex 12.0544 30.7144 0 endloop endfacet - facet normal 0.900452 0.434955 0 + facet normal -0.632498 -0.774562 -0 outer loop - vertex 11.2726 26.9135 -0.2 - vertex 11.3839 26.6832 0 - vertex 11.3839 26.6832 -0.2 + vertex 12.2907 30.5214 0 + vertex 12.0544 30.7144 -3 + vertex 12.2907 30.5214 -3 endloop endfacet - facet normal 0.930028 0.367488 0 + facet normal -0.906769 0.421628 0 outer loop - vertex 11.2726 26.9135 0 - vertex 11.1835 27.139 -0.2 - vertex 11.1835 27.139 0 + vertex 12.0187 29.9363 -3 + vertex 12.2907 30.5214 0 + vertex 12.2907 30.5214 -3 endloop endfacet - facet normal 0.930028 0.367488 0 + facet normal -0.906769 0.421628 0 outer loop - vertex 11.1835 27.139 -0.2 - vertex 11.2726 26.9135 0 - vertex 11.2726 26.9135 -0.2 + vertex 12.2907 30.5214 0 + vertex 12.0187 29.9363 -3 + vertex 12.0187 29.9363 0 endloop endfacet - facet normal 0.958361 0.28556 0 + facet normal -0.946212 0.323547 0 outer loop - vertex 11.1835 27.139 0 - vertex 11.1184 27.3577 -0.2 - vertex 11.1184 27.3577 0 + vertex 11.8088 29.3224 -3 + vertex 12.0187 29.9363 0 + vertex 12.0187 29.9363 -3 endloop endfacet - facet normal 0.958361 0.28556 0 + facet normal -0.946212 0.323547 0 outer loop - vertex 11.1184 27.3577 -0.2 - vertex 11.1835 27.139 0 - vertex 11.1835 27.139 -0.2 + vertex 12.0187 29.9363 0 + vertex 11.8088 29.3224 -3 + vertex 11.8088 29.3224 0 endloop endfacet - facet normal 0.982358 0.187011 0 + facet normal -0.996661 0.0816499 0 outer loop - vertex 11.1184 27.3577 0 - vertex 11.0734 27.5937 -0.2 - vertex 11.0734 27.5937 0 + vertex 11.7374 28.4518 -3 + vertex 11.8088 29.3224 0 + vertex 11.8088 29.3224 -3 endloop endfacet - facet normal 0.982358 0.187011 0 + facet normal -0.996661 0.0816499 0 outer loop - vertex 11.0734 27.5937 -0.2 - vertex 11.1184 27.3577 0 - vertex 11.1184 27.3577 -0.2 + vertex 11.8088 29.3224 0 + vertex 11.7374 28.4518 -3 + vertex 11.7374 28.4518 0 endloop endfacet - facet normal 0.995162 0.0982451 0 + facet normal -0.997288 -0.0735994 0 outer loop - vertex 11.0734 27.5937 0 - vertex 11.0484 27.8474 -0.2 - vertex 11.0484 27.8474 0 + vertex 11.8052 27.5343 -3 + vertex 11.7374 28.4518 0 + vertex 11.7374 28.4518 -3 endloop endfacet - facet normal 0.995162 0.0982451 0 + facet normal -0.997288 -0.0735994 0 outer loop - vertex 11.0484 27.8474 -0.2 - vertex 11.0734 27.5937 0 - vertex 11.0734 27.5937 -0.2 + vertex 11.7374 28.4518 0 + vertex 11.8052 27.5343 -3 + vertex 11.8052 27.5343 0 endloop endfacet - facet normal 0.999708 0.0241697 0 + facet normal -0.964338 -0.264675 0 outer loop - vertex 11.0484 27.8474 0 - vertex 11.0419 28.1143 -0.2 - vertex 11.0419 28.1143 0 + vertex 12.0123 26.7794 -3 + vertex 11.8052 27.5343 0 + vertex 11.8052 27.5343 -3 endloop endfacet - facet normal 0.999708 0.0241697 0 + facet normal -0.964338 -0.264675 0 outer loop - vertex 11.0419 28.1143 -0.2 - vertex 11.0484 27.8474 0 - vertex 11.0484 27.8474 -0.2 + vertex 11.8052 27.5343 0 + vertex 12.0123 26.7794 -3 + vertex 12.0123 26.7794 0 endloop endfacet - facet normal 0.999225 -0.0393733 0 + facet normal -0.835126 -0.550059 0 outer loop - vertex 11.0419 28.1143 0 - vertex 11.0528 28.3898 -0.2 - vertex 11.0528 28.3898 0 + vertex 12.5486 25.9653 -3 + vertex 12.0123 26.7794 0 + vertex 12.0123 26.7794 -3 endloop endfacet - facet normal 0.999225 -0.0393733 0 + facet normal -0.835126 -0.550059 0 outer loop - vertex 11.0528 28.3898 -0.2 - vertex 11.0419 28.1143 0 - vertex 11.0419 28.1143 -0.2 + vertex 12.0123 26.7794 0 + vertex 12.5486 25.9653 -3 + vertex 12.5486 25.9653 0 endloop endfacet - facet normal 0.992566 -0.121707 0 + facet normal -0.606684 -0.794943 0 outer loop - vertex 11.0528 28.3898 0 - vertex 11.1213 28.9486 -0.2 - vertex 11.1213 28.9486 0 + vertex 12.5486 25.9653 -3 + vertex 13.4969 25.2416 0 + vertex 12.5486 25.9653 0 endloop endfacet - facet normal 0.992566 -0.121707 0 + facet normal -0.606684 -0.794943 -0 outer loop - vertex 11.1213 28.9486 -0.2 - vertex 11.0528 28.3898 0 - vertex 11.0528 28.3898 -0.2 + vertex 13.4969 25.2416 0 + vertex 12.5486 25.9653 -3 + vertex 13.4969 25.2416 -3 endloop endfacet - facet normal 0.975165 -0.221479 0 + facet normal -0.436683 -0.899615 0 outer loop - vertex 11.1213 28.9486 0 - vertex 11.2437 29.4873 -0.2 - vertex 11.2437 29.4873 0 + vertex 13.4969 25.2416 -3 + vertex 15.1211 24.4531 0 + vertex 13.4969 25.2416 0 endloop endfacet - facet normal 0.975165 -0.221479 0 + facet normal -0.436683 -0.899615 -0 outer loop - vertex 11.2437 29.4873 -0.2 - vertex 11.1213 28.9486 0 - vertex 11.1213 28.9486 -0.2 + vertex 15.1211 24.4531 0 + vertex 13.4969 25.2416 -3 + vertex 15.1211 24.4531 -3 endloop endfacet - facet normal 0.94561 -0.325304 0 + facet normal -0.365946 -0.930636 0 outer loop - vertex 11.2437 29.4873 0 - vertex 11.4096 29.9696 -0.2 - vertex 11.4096 29.9696 0 + vertex 15.1211 24.4531 -3 + vertex 17.6852 23.4449 0 + vertex 15.1211 24.4531 0 endloop endfacet - facet normal 0.94561 -0.325304 0 + facet normal -0.365946 -0.930636 -0 outer loop - vertex 11.4096 29.9696 -0.2 - vertex 11.2437 29.4873 0 - vertex 11.2437 29.4873 -0.2 + vertex 17.6852 23.4449 0 + vertex 15.1211 24.4531 -3 + vertex 17.6852 23.4449 -3 endloop endfacet - facet normal 0.908293 -0.418334 0 + facet normal -0.54663 -0.837374 0 outer loop - vertex 11.4096 29.9696 0 - vertex 11.5057 30.1782 -0.2 - vertex 11.5057 30.1782 0 + vertex 17.6852 23.4449 -3 + vertex 18.9185 22.6398 0 + vertex 17.6852 23.4449 0 endloop endfacet - facet normal 0.908293 -0.418334 0 + facet normal -0.54663 -0.837374 -0 outer loop - vertex 11.5057 30.1782 -0.2 - vertex 11.4096 29.9696 0 - vertex 11.4096 29.9696 -0.2 + vertex 18.9185 22.6398 0 + vertex 17.6852 23.4449 -3 + vertex 18.9185 22.6398 -3 endloop endfacet - facet normal 0.868734 -0.495279 0 + facet normal -0.808126 -0.58901 0 outer loop - vertex 11.5057 30.1782 0 - vertex 11.6088 30.3591 -0.2 - vertex 11.6088 30.3591 0 + vertex 19.4421 21.9215 -3 + vertex 18.9185 22.6398 0 + vertex 18.9185 22.6398 -3 endloop endfacet - facet normal 0.868734 -0.495279 0 + facet normal -0.808126 -0.58901 0 outer loop - vertex 11.6088 30.3591 -0.2 - vertex 11.5057 30.1782 0 - vertex 11.5057 30.1782 -0.2 + vertex 18.9185 22.6398 0 + vertex 19.4421 21.9215 -3 + vertex 19.4421 21.9215 0 endloop endfacet - facet normal 0.806643 -0.59104 0 + facet normal -0.985617 -0.168992 0 outer loop - vertex 11.6088 30.3591 0 - vertex 11.7177 30.5077 -0.2 - vertex 11.7177 30.5077 0 + vertex 19.6596 20.6529 -3 + vertex 19.4421 21.9215 0 + vertex 19.4421 21.9215 -3 endloop endfacet - facet normal 0.806643 -0.59104 0 + facet normal -0.985617 -0.168992 0 outer loop - vertex 11.7177 30.5077 -0.2 - vertex 11.6088 30.3591 0 - vertex 11.6088 30.3591 -0.2 + vertex 19.4421 21.9215 0 + vertex 19.6596 20.6529 -3 + vertex 19.6596 20.6529 0 endloop endfacet - facet normal 0.702105 -0.712073 0 + facet normal -0.991076 -0.133297 0 outer loop - vertex 11.7177 30.5077 -0.2 - vertex 11.8311 30.6195 0 - vertex 11.7177 30.5077 0 + vertex 19.8405 19.3078 -3 + vertex 19.6596 20.6529 0 + vertex 19.6596 20.6529 -3 endloop endfacet - facet normal 0.702105 -0.712073 0 + facet normal -0.991076 -0.133297 0 outer loop - vertex 11.8311 30.6195 0 - vertex 11.7177 30.5077 -0.2 - vertex 11.8311 30.6195 -0.2 + vertex 19.6596 20.6529 0 + vertex 19.8405 19.3078 -3 + vertex 19.8405 19.3078 0 endloop endfacet - facet normal 0.51702 -0.855973 0 + facet normal -0.89371 -0.448645 0 outer loop - vertex 11.8311 30.6195 -0.2 - vertex 11.9476 30.6899 0 - vertex 11.8311 30.6195 0 + vertex 20.2006 18.5903 -3 + vertex 19.8405 19.3078 0 + vertex 19.8405 19.3078 -3 endloop endfacet - facet normal 0.51702 -0.855973 0 + facet normal -0.89371 -0.448645 0 outer loop - vertex 11.9476 30.6899 0 - vertex 11.8311 30.6195 -0.2 - vertex 11.9476 30.6899 -0.2 + vertex 19.8405 19.3078 0 + vertex 20.2006 18.5903 -3 + vertex 20.2006 18.5903 0 endloop endfacet - facet normal 0.202357 -0.979312 0 + facet normal -0.353154 -0.935565 0 outer loop - vertex 11.9476 30.6899 -0.2 - vertex 12.0661 30.7144 0 - vertex 11.9476 30.6899 0 + vertex 20.2006 18.5903 -3 + vertex 20.9591 18.304 0 + vertex 20.2006 18.5903 0 endloop endfacet - facet normal 0.202357 -0.979312 0 + facet normal -0.353154 -0.935565 -0 outer loop - vertex 12.0661 30.7144 0 - vertex 11.9476 30.6899 -0.2 - vertex 12.0661 30.7144 -0.2 + vertex 20.9591 18.304 0 + vertex 20.2006 18.5903 -3 + vertex 20.9591 18.304 -3 endloop endfacet - facet normal -0.111663 -0.993746 0 + facet normal -0.0375868 -0.999293 0 outer loop - vertex 12.0661 30.7144 -0.2 - vertex 12.1728 30.7024 0 - vertex 12.0661 30.7144 0 + vertex 20.9591 18.304 -3 + vertex 22.335 18.2522 0 + vertex 20.9591 18.304 0 endloop endfacet - facet normal -0.111663 -0.993746 -0 + facet normal -0.0375868 -0.999293 -0 outer loop - vertex 12.1728 30.7024 0 - vertex 12.0661 30.7144 -0.2 - vertex 12.1728 30.7024 -0.2 + vertex 22.335 18.2522 0 + vertex 20.9591 18.304 -3 + vertex 22.335 18.2522 -3 endloop endfacet - facet normal -0.43355 -0.90113 0 + facet normal -0.0902677 -0.995918 0 outer loop - vertex 12.1728 30.7024 -0.2 - vertex 12.2478 30.6663 0 - vertex 12.1728 30.7024 0 + vertex 22.335 18.2522 -3 + vertex 24.5942 18.0475 0 + vertex 22.335 18.2522 0 endloop endfacet - facet normal -0.43355 -0.90113 -0 + facet normal -0.0902677 -0.995918 -0 outer loop - vertex 12.2478 30.6663 0 - vertex 12.1728 30.7024 -0.2 - vertex 12.2478 30.6663 -0.2 + vertex 24.5942 18.0475 0 + vertex 22.335 18.2522 -3 + vertex 24.5942 18.0475 -3 endloop endfacet - facet normal -0.812799 -0.582545 0 + facet normal -0.485131 -0.874442 0 outer loop - vertex 12.291 30.606 -0.2 - vertex 12.2478 30.6663 0 - vertex 12.2478 30.6663 -0.2 + vertex 24.5942 18.0475 -3 + vertex 25.1513 17.7384 0 + vertex 24.5942 18.0475 0 endloop endfacet - facet normal -0.812799 -0.582545 0 + facet normal -0.485131 -0.874442 -0 outer loop - vertex 12.2478 30.6663 0 - vertex 12.291 30.606 -0.2 - vertex 12.291 30.606 0 + vertex 25.1513 17.7384 0 + vertex 24.5942 18.0475 -3 + vertex 25.1513 17.7384 -3 endloop endfacet - facet normal -0.990983 -0.133984 0 + facet normal -0.837387 -0.54661 0 outer loop - vertex 12.3025 30.5214 -0.2 - vertex 12.291 30.606 0 - vertex 12.291 30.606 -0.2 + vertex 25.4738 17.2443 -3 + vertex 25.1513 17.7384 0 + vertex 25.1513 17.7384 -3 endloop endfacet - facet normal -0.990983 -0.133984 0 + facet normal -0.837387 -0.54661 0 outer loop - vertex 12.291 30.606 0 - vertex 12.3025 30.5214 -0.2 - vertex 12.3025 30.5214 0 + vertex 25.1513 17.7384 0 + vertex 25.4738 17.2443 -3 + vertex 25.4738 17.2443 0 endloop endfacet - facet normal -0.983093 0.183105 0 + facet normal -0.875441 -0.483325 0 outer loop - vertex 12.2821 30.4122 -0.2 - vertex 12.3025 30.5214 0 - vertex 12.3025 30.5214 -0.2 + vertex 25.704 16.8274 -3 + vertex 25.4738 17.2443 0 + vertex 25.4738 17.2443 -3 endloop endfacet - facet normal -0.983093 0.183105 0 + facet normal -0.875441 -0.483325 0 outer loop - vertex 12.3025 30.5214 0 - vertex 12.2821 30.4122 -0.2 - vertex 12.2821 30.4122 0 + vertex 25.4738 17.2443 0 + vertex 25.704 16.8274 -3 + vertex 25.704 16.8274 0 endloop endfacet - facet normal -0.931822 0.362917 0 + facet normal -0.34429 -0.938863 0 outer loop - vertex 12.23 30.2784 -0.2 - vertex 12.2821 30.4122 0 - vertex 12.2821 30.4122 -0.2 + vertex 25.704 16.8274 -3 + vertex 25.8979 16.7563 0 + vertex 25.704 16.8274 0 endloop endfacet - facet normal -0.931822 0.362917 0 + facet normal -0.34429 -0.938863 -0 outer loop - vertex 12.2821 30.4122 0 - vertex 12.23 30.2784 -0.2 - vertex 12.23 30.2784 0 + vertex 25.8979 16.7563 0 + vertex 25.704 16.8274 -3 + vertex 25.8979 16.7563 -3 endloop endfacet - facet normal -0.863735 0.503946 0 + facet normal 0.976922 -0.213594 0 outer loop - vertex 12.0304 29.9363 -0.2 - vertex 12.23 30.2784 0 - vertex 12.23 30.2784 -0.2 + vertex 25.8979 16.7563 0 + vertex 26.0816 17.5963 -3 + vertex 26.0816 17.5963 0 endloop endfacet - facet normal -0.863735 0.503946 0 + facet normal 0.976922 -0.213594 0 outer loop - vertex 12.23 30.2784 0 - vertex 12.0304 29.9363 -0.2 - vertex 12.0304 29.9363 0 + vertex 26.0816 17.5963 -3 + vertex 25.8979 16.7563 0 + vertex 25.8979 16.7563 -3 endloop endfacet - facet normal -0.874405 0.485196 0 + facet normal 0.991357 0.131195 0 outer loop - vertex 11.965 29.8184 -0.2 - vertex 12.0304 29.9363 0 - vertex 12.0304 29.9363 -0.2 + vertex 26.0816 17.5963 0 + vertex 25.9892 18.2943 -3 + vertex 25.9892 18.2943 0 endloop endfacet - facet normal -0.874405 0.485196 0 + facet normal 0.991357 0.131195 0 outer loop - vertex 12.0304 29.9363 0 - vertex 11.965 29.8184 -0.2 - vertex 11.965 29.8184 0 + vertex 25.9892 18.2943 -3 + vertex 26.0816 17.5963 0 + vertex 26.0816 17.5963 -3 endloop endfacet - facet normal -0.930071 0.367381 0 + facet normal 0.907716 0.419585 0 outer loop - vertex 11.9082 29.6745 -0.2 - vertex 11.965 29.8184 0 - vertex 11.965 29.8184 -0.2 + vertex 25.9892 18.2943 0 + vertex 25.7331 18.8483 -3 + vertex 25.7331 18.8483 0 endloop endfacet - facet normal -0.930071 0.367381 0 + facet normal 0.907716 0.419585 0 outer loop - vertex 11.965 29.8184 0 - vertex 11.9082 29.6745 -0.2 - vertex 11.9082 29.6745 0 + vertex 25.7331 18.8483 -3 + vertex 25.9892 18.2943 0 + vertex 25.9892 18.2943 -3 endloop endfacet - facet normal -0.970384 0.241567 0 + facet normal 0.685144 0.728407 -0 outer loop - vertex 11.8205 29.3224 -0.2 - vertex 11.9082 29.6745 0 - vertex 11.9082 29.6745 -0.2 + vertex 25.7331 18.8483 -3 + vertex 25.3447 19.2137 0 + vertex 25.7331 18.8483 0 endloop endfacet - facet normal -0.970384 0.241567 0 + facet normal 0.685144 0.728407 0 outer loop - vertex 11.9082 29.6745 0 - vertex 11.8205 29.3224 -0.2 - vertex 11.8205 29.3224 0 + vertex 25.3447 19.2137 0 + vertex 25.7331 18.8483 -3 + vertex 25.3447 19.2137 -3 endloop endfacet - facet normal -0.99199 0.126319 0 + facet normal 0.260028 0.965601 -0 outer loop - vertex 11.7675 28.9061 -0.2 - vertex 11.8205 29.3224 0 - vertex 11.8205 29.3224 -0.2 + vertex 25.3447 19.2137 -3 + vertex 24.8554 19.3454 0 + vertex 25.3447 19.2137 0 endloop endfacet - facet normal -0.99199 0.126319 0 + facet normal 0.260028 0.965601 0 outer loop - vertex 11.8205 29.3224 0 - vertex 11.7675 28.9061 -0.2 - vertex 11.7675 28.9061 0 + vertex 24.8554 19.3454 0 + vertex 25.3447 19.2137 -3 + vertex 24.8554 19.3454 -3 endloop endfacet - facet normal -0.999189 0.0402694 0 + facet normal 0.225805 0.974172 -0 outer loop - vertex 11.7492 28.4518 -0.2 - vertex 11.7675 28.9061 0 - vertex 11.7675 28.9061 -0.2 + vertex 24.8554 19.3454 -3 + vertex 23.3909 19.6849 0 + vertex 24.8554 19.3454 0 endloop endfacet - facet normal -0.999189 0.0402694 0 + facet normal 0.225805 0.974172 0 outer loop - vertex 11.7675 28.9061 0 - vertex 11.7492 28.4518 -0.2 - vertex 11.7492 28.4518 0 + vertex 23.3909 19.6849 0 + vertex 24.8554 19.3454 -3 + vertex 23.3909 19.6849 -3 endloop endfacet - facet normal -0.999377 -0.0352801 0 + facet normal 0.432873 0.901455 -0 outer loop - vertex 11.7656 27.9858 -0.2 - vertex 11.7492 28.4518 0 - vertex 11.7492 28.4518 -0.2 + vertex 23.3909 19.6849 -3 + vertex 22.6368 20.047 0 + vertex 23.3909 19.6849 0 endloop endfacet - facet normal -0.999377 -0.0352801 0 + facet normal 0.432873 0.901455 0 outer loop - vertex 11.7492 28.4518 0 - vertex 11.7656 27.9858 -0.2 - vertex 11.7656 27.9858 0 + vertex 22.6368 20.047 0 + vertex 23.3909 19.6849 -3 + vertex 22.6368 20.047 -3 endloop endfacet - facet normal -0.993617 -0.112806 0 + facet normal 0.698531 0.71558 -0 outer loop - vertex 11.8169 27.5343 -0.2 - vertex 11.7656 27.9858 0 - vertex 11.7656 27.9858 -0.2 + vertex 22.6368 20.047 -3 + vertex 22.0911 20.5797 0 + vertex 22.6368 20.047 0 endloop endfacet - facet normal -0.993617 -0.112806 0 + facet normal 0.698531 0.71558 0 outer loop - vertex 11.7656 27.9858 0 - vertex 11.8169 27.5343 -0.2 - vertex 11.8169 27.5343 0 + vertex 22.0911 20.5797 0 + vertex 22.6368 20.047 -3 + vertex 22.0911 20.5797 -3 endloop endfacet - facet normal -0.978727 -0.205168 0 + facet normal 0.897086 0.441856 0 outer loop - vertex 11.903 27.1234 -0.2 - vertex 11.8169 27.5343 0 - vertex 11.8169 27.5343 -0.2 + vertex 22.0911 20.5797 0 + vertex 21.7245 21.3239 -3 + vertex 21.7245 21.3239 0 endloop endfacet - facet normal -0.978727 -0.205168 0 + facet normal 0.897086 0.441856 0 outer loop - vertex 11.8169 27.5343 0 - vertex 11.903 27.1234 -0.2 - vertex 11.903 27.1234 0 + vertex 21.7245 21.3239 -3 + vertex 22.0911 20.5797 0 + vertex 22.0911 20.5797 -3 endloop endfacet - facet normal -0.943297 -0.331951 0 + facet normal 0.977198 0.212332 0 outer loop - vertex 12.0241 26.7794 -0.2 - vertex 11.903 27.1234 0 - vertex 11.903 27.1234 -0.2 + vertex 21.7245 21.3239 0 + vertex 21.508 22.3204 -3 + vertex 21.508 22.3204 0 endloop endfacet - facet normal -0.943297 -0.331951 0 + facet normal 0.977198 0.212332 0 outer loop - vertex 11.903 27.1234 0 - vertex 12.0241 26.7794 -0.2 - vertex 12.0241 26.7794 0 + vertex 21.508 22.3204 -3 + vertex 21.7245 21.3239 0 + vertex 21.7245 21.3239 -3 endloop endfacet - facet normal -0.895057 -0.445953 0 + facet normal 0.966755 0.255705 0 outer loop - vertex 12.1339 26.5589 -0.2 - vertex 12.0241 26.7794 0 - vertex 12.0241 26.7794 -0.2 + vertex 21.508 22.3204 0 + vertex 21.2518 23.2891 -3 + vertex 21.2518 23.2891 0 endloop endfacet - facet normal -0.895057 -0.445953 0 + facet normal 0.966755 0.255705 0 outer loop - vertex 12.0241 26.7794 0 - vertex 12.1339 26.5589 -0.2 - vertex 12.1339 26.5589 0 + vertex 21.2518 23.2891 -3 + vertex 21.508 22.3204 0 + vertex 21.508 22.3204 -3 endloop endfacet - facet normal -0.859859 -0.510531 0 + facet normal 0.849732 0.527214 0 outer loop - vertex 12.2572 26.3514 -0.2 - vertex 12.1339 26.5589 0 - vertex 12.1339 26.5589 -0.2 + vertex 21.2518 23.2891 0 + vertex 20.762 24.0784 -3 + vertex 20.762 24.0784 0 endloop endfacet - facet normal -0.859859 -0.510531 0 + facet normal 0.849732 0.527214 0 outer loop - vertex 12.1339 26.5589 0 - vertex 12.2572 26.3514 -0.2 - vertex 12.2572 26.3514 0 + vertex 20.762 24.0784 -3 + vertex 21.2518 23.2891 0 + vertex 21.2518 23.2891 -3 endloop endfacet - facet normal -0.813765 -0.581194 0 + facet normal 0.645661 0.763624 -0 outer loop - vertex 12.3979 26.1543 -0.2 - vertex 12.2572 26.3514 0 - vertex 12.2572 26.3514 -0.2 + vertex 20.762 24.0784 -3 + vertex 20.0338 24.6942 0 + vertex 20.762 24.0784 0 endloop endfacet - facet normal -0.813765 -0.581194 0 + facet normal 0.645661 0.763624 0 outer loop - vertex 12.2572 26.3514 0 - vertex 12.3979 26.1543 -0.2 - vertex 12.3979 26.1543 0 + vertex 20.0338 24.6942 0 + vertex 20.762 24.0784 -3 + vertex 20.0338 24.6942 -3 endloop endfacet - facet normal -0.758497 -0.651676 0 + facet normal 0.418642 0.908151 -0 outer loop - vertex 12.5603 25.9653 -0.2 - vertex 12.3979 26.1543 0 - vertex 12.3979 26.1543 -0.2 + vertex 20.0338 24.6942 -3 + vertex 19.062 25.1422 0 + vertex 20.0338 24.6942 0 endloop endfacet - facet normal -0.758497 -0.651676 0 + facet normal 0.418642 0.908151 0 outer loop - vertex 12.3979 26.1543 0 - vertex 12.5603 25.9653 -0.2 - vertex 12.5603 25.9653 0 + vertex 19.062 25.1422 0 + vertex 20.0338 24.6942 -3 + vertex 19.062 25.1422 -3 endloop endfacet - facet normal -0.697934 -0.716162 0 + facet normal 0.419948 0.907548 -0 outer loop - vertex 12.5603 25.9653 -0.2 - vertex 12.7484 25.782 0 - vertex 12.5603 25.9653 0 + vertex 19.062 25.1422 -3 + vertex 17.2513 25.98 0 + vertex 19.062 25.1422 0 endloop endfacet - facet normal -0.697934 -0.716162 -0 + facet normal 0.419948 0.907548 0 outer loop - vertex 12.7484 25.782 0 - vertex 12.5603 25.9653 -0.2 - vertex 12.7484 25.782 -0.2 + vertex 17.2513 25.98 0 + vertex 19.062 25.1422 -3 + vertex 17.2513 25.98 -3 endloop endfacet - facet normal -0.636928 -0.770923 0 + facet normal 0.649834 0.760076 -0 outer loop - vertex 12.7484 25.782 -0.2 - vertex 12.9664 25.6018 0 - vertex 12.7484 25.782 0 + vertex 17.2513 25.98 -3 + vertex 15.7223 27.2873 0 + vertex 17.2513 25.98 0 endloop endfacet - facet normal -0.636928 -0.770923 -0 + facet normal 0.649834 0.760076 0 outer loop - vertex 12.9664 25.6018 0 - vertex 12.7484 25.782 -0.2 - vertex 12.9664 25.6018 -0.2 + vertex 15.7223 27.2873 0 + vertex 17.2513 25.98 -3 + vertex 15.7223 27.2873 -3 endloop endfacet - facet normal -0.579754 -0.814791 0 + facet normal 0.802285 0.596942 0 outer loop - vertex 12.9664 25.6018 -0.2 - vertex 13.2184 25.4225 0 - vertex 12.9664 25.6018 0 + vertex 15.7223 27.2873 0 + vertex 15.122 28.0941 -3 + vertex 15.122 28.0941 0 endloop endfacet - facet normal -0.579754 -0.814791 -0 + facet normal 0.802285 0.596942 0 outer loop - vertex 13.2184 25.4225 0 - vertex 12.9664 25.6018 -0.2 - vertex 13.2184 25.4225 -0.2 + vertex 15.122 28.0941 -3 + vertex 15.7223 27.2873 0 + vertex 15.7223 27.2873 -3 endloop endfacet - facet normal -0.529164 -0.84852 0 + facet normal 0.997794 0.066389 0 outer loop - vertex 13.2184 25.4225 -0.2 - vertex 13.5086 25.2416 0 - vertex 13.2184 25.4225 0 + vertex 15.122 28.0941 0 + vertex 15.0577 29.0611 -3 + vertex 15.0577 29.0611 0 endloop endfacet - facet normal -0.529164 -0.84852 -0 + facet normal 0.997794 0.066389 0 outer loop - vertex 13.5086 25.2416 0 - vertex 13.2184 25.4225 -0.2 - vertex 13.5086 25.2416 -0.2 + vertex 15.0577 29.0611 -3 + vertex 15.122 28.0941 0 + vertex 15.122 28.0941 -3 endloop endfacet - facet normal -0.467835 -0.883816 0 + facet normal 0.991125 -0.132935 0 outer loop - vertex 13.5086 25.2416 -0.2 - vertex 14.2197 24.8651 0 - vertex 13.5086 25.2416 0 + vertex 15.0577 29.0611 0 + vertex 15.1584 29.8123 -3 + vertex 15.1584 29.8123 0 endloop endfacet - facet normal -0.467835 -0.883816 -0 + facet normal 0.991125 -0.132935 0 outer loop - vertex 14.2197 24.8651 0 - vertex 13.5086 25.2416 -0.2 - vertex 14.2197 24.8651 -0.2 + vertex 15.1584 29.8123 -3 + vertex 15.0577 29.0611 0 + vertex 15.0577 29.0611 -3 endloop endfacet - facet normal -0.411276 -0.911511 0 + facet normal 0.868998 -0.494816 0 outer loop - vertex 14.2197 24.8651 -0.2 - vertex 15.1328 24.4531 0 - vertex 14.2197 24.8651 0 + vertex 15.1584 29.8123 0 + vertex 15.3134 30.0845 -3 + vertex 15.3134 30.0845 0 endloop endfacet - facet normal -0.411276 -0.911511 -0 + facet normal 0.868998 -0.494816 0 outer loop - vertex 15.1328 24.4531 0 - vertex 14.2197 24.8651 -0.2 - vertex 15.1328 24.4531 -0.2 + vertex 15.3134 30.0845 -3 + vertex 15.1584 29.8123 0 + vertex 15.1584 29.8123 -3 endloop endfacet - facet normal -0.376758 -0.926312 0 + facet normal -0.793235 -0.608916 0 outer loop - vertex 15.1328 24.4531 -0.2 - vertex 16.2809 23.9862 0 - vertex 15.1328 24.4531 0 + vertex 15.4783 29.8698 -3 + vertex 15.3134 30.0845 0 + vertex 15.3134 30.0845 -3 endloop endfacet - facet normal -0.376758 -0.926312 -0 + facet normal -0.793235 -0.608916 0 outer loop - vertex 16.2809 23.9862 0 - vertex 15.1328 24.4531 -0.2 - vertex 16.2809 23.9862 -0.2 + vertex 15.3134 30.0845 0 + vertex 15.4783 29.8698 -3 + vertex 15.4783 29.8698 0 endloop endfacet - facet normal -0.357069 -0.934078 0 + facet normal -0.983592 -0.18041 0 outer loop - vertex 16.2809 23.9862 -0.2 - vertex 17.6969 23.4449 0 - vertex 16.2809 23.9862 0 + vertex 15.6084 29.1601 -3 + vertex 15.4783 29.8698 0 + vertex 15.4783 29.8698 -3 endloop endfacet - facet normal -0.357069 -0.934078 -0 + facet normal -0.983592 -0.18041 0 outer loop - vertex 17.6969 23.4449 0 - vertex 16.2809 23.9862 -0.2 - vertex 17.6969 23.4449 -0.2 + vertex 15.4783 29.8698 0 + vertex 15.6084 29.1601 -3 + vertex 15.6084 29.1601 0 endloop endfacet - facet normal -0.423576 -0.90586 0 + facet normal -0.973498 -0.228694 0 outer loop - vertex 17.6969 23.4449 -0.2 - vertex 17.9883 23.3086 0 - vertex 17.6969 23.4449 0 + vertex 15.808 28.3106 -3 + vertex 15.6084 29.1601 0 + vertex 15.6084 29.1601 -3 endloop endfacet - facet normal -0.423576 -0.90586 -0 + facet normal -0.973498 -0.228694 0 outer loop - vertex 17.9883 23.3086 0 - vertex 17.6969 23.4449 -0.2 - vertex 17.9883 23.3086 -0.2 + vertex 15.6084 29.1601 0 + vertex 15.808 28.3106 -3 + vertex 15.808 28.3106 0 endloop endfacet - facet normal -0.513377 -0.858163 0 + facet normal -0.833811 -0.55205 0 outer loop - vertex 17.9883 23.3086 -0.2 - vertex 18.318 23.1114 0 - vertex 17.9883 23.3086 0 + vertex 16.2688 27.6146 -3 + vertex 15.808 28.3106 0 + vertex 15.808 28.3106 -3 endloop endfacet - facet normal -0.513377 -0.858163 -0 + facet normal -0.833811 -0.55205 0 outer loop - vertex 18.318 23.1114 0 - vertex 17.9883 23.3086 -0.2 - vertex 18.318 23.1114 -0.2 + vertex 15.808 28.3106 0 + vertex 16.2688 27.6146 -3 + vertex 16.2688 27.6146 0 endloop endfacet - facet normal -0.57768 -0.816263 0 + facet normal -0.616484 -0.787368 0 outer loop - vertex 18.318 23.1114 -0.2 - vertex 18.6454 22.8797 0 - vertex 18.318 23.1114 0 + vertex 16.2688 27.6146 -3 + vertex 17.0772 26.9817 0 + vertex 16.2688 27.6146 0 endloop endfacet - facet normal -0.57768 -0.816263 -0 + facet normal -0.616484 -0.787368 -0 outer loop - vertex 18.6454 22.8797 0 - vertex 18.318 23.1114 -0.2 - vertex 18.6454 22.8797 -0.2 + vertex 17.0772 26.9817 0 + vertex 16.2688 27.6146 -3 + vertex 17.0772 26.9817 -3 endloop endfacet - facet normal -0.644197 -0.76486 0 + facet normal -0.469274 -0.883053 0 outer loop - vertex 18.6454 22.8797 -0.2 - vertex 18.9302 22.6398 0 - vertex 18.6454 22.8797 0 + vertex 17.0772 26.9817 -3 + vertex 18.3193 26.3216 0 + vertex 17.0772 26.9817 0 endloop endfacet - facet normal -0.644197 -0.76486 -0 + facet normal -0.469274 -0.883053 -0 outer loop - vertex 18.9302 22.6398 0 - vertex 18.6454 22.8797 -0.2 - vertex 18.9302 22.6398 -0.2 + vertex 18.3193 26.3216 0 + vertex 17.0772 26.9817 -3 + vertex 18.3193 26.3216 -3 endloop endfacet - facet normal -0.705164 -0.709044 0 + facet normal -0.453671 -0.891169 0 outer loop - vertex 18.9302 22.6398 -0.2 - vertex 19.108 22.463 0 - vertex 18.9302 22.6398 0 + vertex 18.3193 26.3216 -3 + vertex 20.1819 25.3734 0 + vertex 18.3193 26.3216 0 endloop endfacet - facet normal -0.705164 -0.709044 -0 + facet normal -0.453671 -0.891169 -0 outer loop - vertex 19.108 22.463 0 - vertex 18.9302 22.6398 -0.2 - vertex 19.108 22.463 -0.2 + vertex 20.1819 25.3734 0 + vertex 18.3193 26.3216 -3 + vertex 20.1819 25.3734 -3 endloop endfacet - facet normal -0.763943 -0.645283 0 + facet normal -0.592966 -0.805227 0 outer loop - vertex 19.2511 22.2936 -0.2 - vertex 19.108 22.463 0 - vertex 19.108 22.463 -0.2 + vertex 20.1819 25.3734 -3 + vertex 21.2755 24.568 0 + vertex 20.1819 25.3734 0 endloop endfacet - facet normal -0.763943 -0.645283 0 + facet normal -0.592966 -0.805227 -0 outer loop - vertex 19.108 22.463 0 - vertex 19.2511 22.2936 -0.2 - vertex 19.2511 22.2936 0 + vertex 21.2755 24.568 0 + vertex 20.1819 25.3734 -3 + vertex 21.2755 24.568 -3 endloop endfacet - facet normal -0.840155 -0.542346 0 + facet normal -0.85116 -0.524906 0 outer loop - vertex 19.3646 22.1178 -0.2 - vertex 19.2511 22.2936 0 - vertex 19.2511 22.2936 -0.2 + vertex 21.8319 23.6658 -3 + vertex 21.2755 24.568 0 + vertex 21.2755 24.568 -3 endloop endfacet - facet normal -0.840155 -0.542346 0 + facet normal -0.85116 -0.524906 0 outer loop - vertex 19.2511 22.2936 0 - vertex 19.3646 22.1178 -0.2 - vertex 19.3646 22.1178 0 + vertex 21.2755 24.568 0 + vertex 21.8319 23.6658 -3 + vertex 21.8319 23.6658 0 endloop endfacet - facet normal -0.910423 -0.413678 0 + facet normal -0.980126 -0.198375 0 outer loop - vertex 19.4538 21.9215 -0.2 - vertex 19.3646 22.1178 0 - vertex 19.3646 22.1178 -0.2 + vertex 22.0827 22.427 -3 + vertex 21.8319 23.6658 0 + vertex 21.8319 23.6658 -3 endloop endfacet - facet normal -0.910423 -0.413678 0 + facet normal -0.980126 -0.198375 0 outer loop - vertex 19.3646 22.1178 0 - vertex 19.4538 21.9215 -0.2 - vertex 19.4538 21.9215 0 + vertex 21.8319 23.6658 0 + vertex 22.0827 22.427 -3 + vertex 22.0827 22.427 0 endloop endfacet - facet normal -0.956843 -0.290607 0 + facet normal -0.975671 -0.219241 0 outer loop - vertex 19.5238 21.6908 -0.2 - vertex 19.4538 21.9215 0 - vertex 19.4538 21.9215 -0.2 + vertex 22.2698 21.5943 -3 + vertex 22.0827 22.427 0 + vertex 22.0827 22.427 -3 endloop endfacet - facet normal -0.956843 -0.290607 0 + facet normal -0.975671 -0.219241 0 outer loop - vertex 19.4538 21.9215 0 - vertex 19.5238 21.6908 -0.2 - vertex 19.5238 21.6908 0 + vertex 22.0827 22.427 0 + vertex 22.2698 21.5943 -3 + vertex 22.2698 21.5943 0 endloop endfacet - facet normal -0.980355 -0.19724 0 + facet normal -0.867972 -0.496613 0 outer loop - vertex 19.58 21.4118 -0.2 - vertex 19.5238 21.6908 0 - vertex 19.5238 21.6908 -0.2 + vertex 22.6169 20.9877 -3 + vertex 22.2698 21.5943 0 + vertex 22.2698 21.5943 -3 endloop endfacet - facet normal -0.980355 -0.19724 0 + facet normal -0.867972 -0.496613 0 outer loop - vertex 19.5238 21.6908 0 - vertex 19.58 21.4118 -0.2 - vertex 19.58 21.4118 0 + vertex 22.2698 21.5943 0 + vertex 22.6169 20.9877 -3 + vertex 22.6169 20.9877 0 endloop endfacet - facet normal -0.992839 -0.119457 0 + facet normal -0.60611 -0.795381 0 outer loop - vertex 19.6713 20.6529 -0.2 - vertex 19.58 21.4118 0 - vertex 19.58 21.4118 -0.2 + vertex 22.6169 20.9877 -3 + vertex 23.1387 20.59 0 + vertex 22.6169 20.9877 0 endloop endfacet - facet normal -0.992839 -0.119457 0 + facet normal -0.60611 -0.795381 -0 outer loop - vertex 19.58 21.4118 0 - vertex 19.6713 20.6529 -0.2 - vertex 19.6713 20.6529 0 + vertex 23.1387 20.59 0 + vertex 22.6169 20.9877 -3 + vertex 23.1387 20.59 -3 endloop endfacet - facet normal -0.994314 -0.106485 0 + facet normal -0.277742 -0.960656 0 outer loop - vertex 19.753 19.8896 -0.2 - vertex 19.6713 20.6529 0 - vertex 19.6713 20.6529 -0.2 + vertex 23.1387 20.59 -3 + vertex 23.8499 20.3844 0 + vertex 23.1387 20.59 0 endloop endfacet - facet normal -0.994314 -0.106485 0 + facet normal -0.277742 -0.960656 -0 outer loop - vertex 19.6713 20.6529 0 - vertex 19.753 19.8896 -0.2 - vertex 19.753 19.8896 0 + vertex 23.8499 20.3844 0 + vertex 23.1387 20.59 -3 + vertex 23.8499 20.3844 -3 endloop endfacet - facet normal -0.985782 -0.168027 0 + facet normal -0.253903 -0.96723 0 outer loop - vertex 19.8522 19.3078 -0.2 - vertex 19.753 19.8896 0 - vertex 19.753 19.8896 -0.2 + vertex 23.8499 20.3844 -3 + vertex 25.0752 20.0627 0 + vertex 23.8499 20.3844 0 endloop endfacet - facet normal -0.985782 -0.168027 0 + facet normal -0.253903 -0.96723 -0 outer loop - vertex 19.753 19.8896 0 - vertex 19.8522 19.3078 -0.2 - vertex 19.8522 19.3078 0 + vertex 25.0752 20.0627 0 + vertex 23.8499 20.3844 -3 + vertex 25.0752 20.0627 -3 endloop endfacet - facet normal -0.962825 -0.270127 0 + facet normal -0.555295 -0.831654 0 outer loop - vertex 19.9169 19.0772 -0.2 - vertex 19.8522 19.3078 0 - vertex 19.8522 19.3078 -0.2 + vertex 25.0752 20.0627 -3 + vertex 25.9424 19.4837 0 + vertex 25.0752 20.0627 0 endloop endfacet - facet normal -0.962825 -0.270127 0 + facet normal -0.555295 -0.831654 -0 outer loop - vertex 19.8522 19.3078 0 - vertex 19.9169 19.0772 -0.2 - vertex 19.9169 19.0772 0 + vertex 25.9424 19.4837 0 + vertex 25.0752 20.0627 -3 + vertex 25.9424 19.4837 -3 endloop endfacet - facet normal -0.925898 -0.377775 0 + facet normal -0.850459 -0.526041 0 outer loop - vertex 19.9962 18.8829 -0.2 - vertex 19.9169 19.0772 0 - vertex 19.9169 19.0772 -0.2 + vertex 26.4742 18.624 -3 + vertex 25.9424 19.4837 0 + vertex 25.9424 19.4837 -3 endloop endfacet - facet normal -0.925898 -0.377775 0 + facet normal -0.850459 -0.526041 0 outer loop - vertex 19.9169 19.0772 0 - vertex 19.9962 18.8829 -0.2 - vertex 19.9962 18.8829 0 + vertex 25.9424 19.4837 0 + vertex 26.4742 18.624 -3 + vertex 26.4742 18.624 0 endloop endfacet - facet normal -0.85612 -0.516776 0 + facet normal -0.982731 -0.185042 0 outer loop - vertex 20.0935 18.7216 -0.2 - vertex 19.9962 18.8829 0 - vertex 19.9962 18.8829 -0.2 + vertex 26.6933 17.4601 -3 + vertex 26.4742 18.624 0 + vertex 26.4742 18.624 -3 endloop endfacet - facet normal -0.85612 -0.516776 0 + facet normal -0.982731 -0.185042 0 outer loop - vertex 19.9962 18.8829 0 - vertex 20.0935 18.7216 -0.2 - vertex 20.0935 18.7216 0 + vertex 26.4742 18.624 0 + vertex 26.6933 17.4601 -3 + vertex 26.6933 17.4601 0 endloop endfacet - facet normal -0.741357 -0.67111 0 + facet normal -0.95811 -0.286401 0 outer loop - vertex 20.2124 18.5903 -0.2 - vertex 20.0935 18.7216 0 - vertex 20.0935 18.7216 -0.2 + vertex 27.1755 15.8473 -3 + vertex 26.6933 17.4601 0 + vertex 26.6933 17.4601 -3 endloop endfacet - facet normal -0.741357 -0.67111 0 + facet normal -0.95811 -0.286401 0 outer loop - vertex 20.0935 18.7216 0 - vertex 20.2124 18.5903 -0.2 - vertex 20.2124 18.5903 0 + vertex 26.6933 17.4601 0 + vertex 27.1755 15.8473 -3 + vertex 27.1755 15.8473 0 endloop endfacet - facet normal -0.587422 -0.809281 0 + facet normal -0.948381 -0.317134 0 outer loop - vertex 20.2124 18.5903 -0.2 - vertex 20.3561 18.486 0 - vertex 20.2124 18.5903 0 + vertex 27.5422 14.7505 -3 + vertex 27.1755 15.8473 0 + vertex 27.1755 15.8473 -3 endloop endfacet - facet normal -0.587422 -0.809281 -0 + facet normal -0.948381 -0.317134 0 outer loop - vertex 20.3561 18.486 0 - vertex 20.2124 18.5903 -0.2 - vertex 20.3561 18.486 -0.2 + vertex 27.1755 15.8473 0 + vertex 27.5422 14.7505 -3 + vertex 27.5422 14.7505 0 endloop endfacet - facet normal -0.423563 -0.905867 0 + facet normal -0.999642 -0.0267694 0 outer loop - vertex 20.3561 18.486 -0.2 - vertex 20.5281 18.4055 0 - vertex 20.3561 18.486 0 + vertex 27.6094 12.2412 -3 + vertex 27.5422 14.7505 0 + vertex 27.5422 14.7505 -3 endloop endfacet - facet normal -0.423563 -0.905867 -0 + facet normal -0.999642 -0.0267694 0 outer loop - vertex 20.5281 18.4055 0 - vertex 20.3561 18.486 -0.2 - vertex 20.5281 18.4055 -0.2 + vertex 27.5422 14.7505 0 + vertex 27.6094 12.2412 -3 + vertex 27.6094 12.2412 0 endloop endfacet - facet normal -0.280888 -0.95974 0 + facet normal -0.999486 0.0320667 0 outer loop - vertex 20.5281 18.4055 -0.2 - vertex 20.7319 18.3459 0 - vertex 20.5281 18.4055 0 + vertex 27.528 9.70386 -3 + vertex 27.6094 12.2412 0 + vertex 27.6094 12.2412 -3 endloop endfacet - facet normal -0.280888 -0.95974 -0 + facet normal -0.999486 0.0320667 0 outer loop - vertex 20.7319 18.3459 0 - vertex 20.5281 18.4055 -0.2 - vertex 20.7319 18.3459 -0.2 + vertex 27.6094 12.2412 0 + vertex 27.528 9.70386 -3 + vertex 27.528 9.70386 0 endloop endfacet - facet normal -0.172751 -0.984966 0 + facet normal -0.981091 0.193547 0 outer loop - vertex 20.7319 18.3459 -0.2 - vertex 20.9709 18.304 0 - vertex 20.7319 18.3459 0 + vertex 27.209 8.08714 -3 + vertex 27.528 9.70386 0 + vertex 27.528 9.70386 -3 endloop endfacet - facet normal -0.172751 -0.984966 -0 + facet normal -0.981091 0.193547 0 outer loop - vertex 20.9709 18.304 0 - vertex 20.7319 18.3459 -0.2 - vertex 20.9709 18.304 -0.2 + vertex 27.528 9.70386 0 + vertex 27.209 8.08714 -3 + vertex 27.209 8.08714 0 endloop endfacet - facet normal -0.0716809 -0.997428 0 + facet normal -0.980935 0.194337 0 outer loop - vertex 20.9709 18.304 -0.2 - vertex 21.5679 18.2611 0 - vertex 20.9709 18.304 0 + vertex 26.8985 6.51977 -3 + vertex 27.209 8.08714 0 + vertex 27.209 8.08714 -3 endloop endfacet - facet normal -0.0716809 -0.997428 -0 + facet normal -0.980935 0.194337 0 outer loop - vertex 21.5679 18.2611 0 - vertex 20.9709 18.304 -0.2 - vertex 21.5679 18.2611 -0.2 + vertex 27.209 8.08714 0 + vertex 26.8985 6.51977 -3 + vertex 26.8985 6.51977 0 endloop endfacet - facet normal -0.0113554 -0.999936 0 + facet normal -0.999971 -0.00756314 0 outer loop - vertex 21.5679 18.2611 -0.2 - vertex 22.3468 18.2522 0 - vertex 21.5679 18.2611 0 + vertex 26.9177 3.98634 -3 + vertex 26.8985 6.51977 0 + vertex 26.8985 6.51977 -3 endloop endfacet - facet normal -0.0113554 -0.999936 -0 + facet normal -0.999971 -0.00756314 0 outer loop - vertex 22.3468 18.2522 0 - vertex 21.5679 18.2611 -0.2 - vertex 22.3468 18.2522 -0.2 + vertex 26.8985 6.51977 0 + vertex 26.9177 3.98634 -3 + vertex 26.9177 3.98634 0 endloop endfacet - facet normal -0.0142554 -0.999898 0 + facet normal -0.999812 -0.0193848 0 outer loop - vertex 22.3468 18.2522 -0.2 - vertex 23.0891 18.2417 0 - vertex 22.3468 18.2522 0 + vertex 26.953 2.16551 -3 + vertex 26.9177 3.98634 0 + vertex 26.9177 3.98634 -3 endloop endfacet - facet normal -0.0142554 -0.999898 -0 + facet normal -0.999812 -0.0193848 0 outer loop - vertex 23.0891 18.2417 0 - vertex 22.3468 18.2522 -0.2 - vertex 23.0891 18.2417 -0.2 + vertex 26.9177 3.98634 0 + vertex 26.953 2.16551 -3 + vertex 26.953 2.16551 0 endloop endfacet - facet normal -0.0563557 -0.998411 0 + facet normal -0.99253 0.121998 0 outer loop - vertex 23.0891 18.2417 -0.2 - vertex 23.7039 18.207 0 - vertex 23.0891 18.2417 0 + vertex 26.8464 1.29842 -3 + vertex 26.953 2.16551 0 + vertex 26.953 2.16551 -3 endloop endfacet - facet normal -0.0563557 -0.998411 -0 + facet normal -0.99253 0.121998 0 outer loop - vertex 23.7039 18.207 0 - vertex 23.0891 18.2417 -0.2 - vertex 23.7039 18.207 -0.2 + vertex 26.953 2.16551 0 + vertex 26.8464 1.29842 -3 + vertex 26.8464 1.29842 0 endloop endfacet - facet normal -0.125256 -0.992124 0 + facet normal -0.673406 0.739273 0 outer loop - vertex 23.7039 18.207 -0.2 - vertex 24.2049 18.1437 0 - vertex 23.7039 18.207 0 + vertex 26.8464 1.29842 -3 + vertex 26.7235 1.18648 0 + vertex 26.8464 1.29842 0 endloop endfacet - facet normal -0.125256 -0.992124 -0 + facet normal -0.673406 0.739273 0 outer loop - vertex 24.2049 18.1437 0 - vertex 23.7039 18.207 -0.2 - vertex 24.2049 18.1437 -0.2 + vertex 26.7235 1.18648 0 + vertex 26.8464 1.29842 -3 + vertex 26.7235 1.18648 -3 endloop endfacet - facet normal -0.233347 -0.972393 0 + facet normal 0.423462 0.905914 -0 outer loop - vertex 24.2049 18.1437 -0.2 - vertex 24.6059 18.0475 0 - vertex 24.2049 18.1437 0 + vertex 26.7235 1.18648 -3 + vertex 26.5455 1.2697 0 + vertex 26.7235 1.18648 0 endloop endfacet - facet normal -0.233347 -0.972393 -0 + facet normal 0.423462 0.905914 0 outer loop - vertex 24.6059 18.0475 0 - vertex 24.2049 18.1437 -0.2 - vertex 24.6059 18.0475 -0.2 + vertex 26.5455 1.2697 0 + vertex 26.7235 1.18648 -3 + vertex 26.5455 1.2697 -3 endloop endfacet - facet normal -0.390765 -0.920491 0 + facet normal 0.785068 0.61941 0 outer loop - vertex 24.6059 18.0475 -0.2 - vertex 24.9207 17.9138 0 - vertex 24.6059 18.0475 0 + vertex 26.5455 1.2697 0 + vertex 25.9977 1.96397 -3 + vertex 25.9977 1.96397 0 endloop endfacet - facet normal -0.390765 -0.920491 -0 + facet normal 0.785068 0.61941 0 outer loop - vertex 24.9207 17.9138 0 - vertex 24.6059 18.0475 -0.2 - vertex 24.9207 17.9138 -0.2 + vertex 25.9977 1.96397 -3 + vertex 26.5455 1.2697 0 + vertex 26.5455 1.2697 -3 endloop endfacet - facet normal -0.536417 -0.843953 0 + facet normal 0.724168 0.689624 0 outer loop - vertex 24.9207 17.9138 -0.2 - vertex 25.0501 17.8316 0 - vertex 24.9207 17.9138 0 + vertex 25.9977 1.96397 0 + vertex 25.3153 2.68052 -3 + vertex 25.3153 2.68052 0 endloop endfacet - facet normal -0.536417 -0.843953 -0 + facet normal 0.724168 0.689624 0 outer loop - vertex 25.0501 17.8316 0 - vertex 24.9207 17.9138 -0.2 - vertex 25.0501 17.8316 -0.2 + vertex 25.3153 2.68052 -3 + vertex 25.9977 1.96397 0 + vertex 25.9977 1.96397 -3 endloop endfacet - facet normal -0.636483 -0.77129 0 + facet normal -0.00319409 0.999995 0 outer loop - vertex 25.0501 17.8316 -0.2 - vertex 25.163 17.7384 0 - vertex 25.0501 17.8316 0 + vertex 25.3153 2.68052 -3 + vertex 25.0347 2.67962 0 + vertex 25.3153 2.68052 0 endloop endfacet - facet normal -0.636483 -0.77129 -0 + facet normal -0.00319409 0.999995 0 outer loop - vertex 25.163 17.7384 0 - vertex 25.0501 17.8316 -0.2 - vertex 25.163 17.7384 -0.2 + vertex 25.0347 2.67962 0 + vertex 25.3153 2.68052 -3 + vertex 25.0347 2.67962 -3 endloop endfacet - facet normal -0.729305 -0.684189 0 + facet normal -0.620982 0.783825 0 outer loop - vertex 25.2614 17.6336 -0.2 - vertex 25.163 17.7384 0 - vertex 25.163 17.7384 -0.2 + vertex 25.0347 2.67962 -3 + vertex 24.7523 2.4559 0 + vertex 25.0347 2.67962 0 endloop endfacet - facet normal -0.729305 -0.684189 0 + facet normal -0.620982 0.783825 0 outer loop - vertex 25.163 17.7384 0 - vertex 25.2614 17.6336 -0.2 - vertex 25.2614 17.6336 0 + vertex 24.7523 2.4559 0 + vertex 25.0347 2.67962 -3 + vertex 24.7523 2.4559 -3 endloop endfacet - facet normal -0.807579 -0.589759 0 + facet normal -0.356176 0.934419 0 outer loop - vertex 25.3467 17.5167 -0.2 - vertex 25.2614 17.6336 0 - vertex 25.2614 17.6336 -0.2 + vertex 24.7523 2.4559 -3 + vertex 23.9858 2.16372 0 + vertex 24.7523 2.4559 0 endloop endfacet - facet normal -0.807579 -0.589759 0 + facet normal -0.356176 0.934419 0 outer loop - vertex 25.2614 17.6336 0 - vertex 25.3467 17.5167 -0.2 - vertex 25.3467 17.5167 0 + vertex 23.9858 2.16372 0 + vertex 24.7523 2.4559 -3 + vertex 23.9858 2.16372 -3 endloop endfacet - facet normal -0.890947 -0.454107 0 + facet normal -0.21204 0.977261 0 outer loop - vertex 25.4856 17.2443 -0.2 - vertex 25.3467 17.5167 0 - vertex 25.3467 17.5167 -0.2 + vertex 23.9858 2.16372 -3 + vertex 23.1222 1.97635 0 + vertex 23.9858 2.16372 0 endloop endfacet - facet normal -0.890947 -0.454107 0 + facet normal -0.21204 0.977261 0 outer loop - vertex 25.3467 17.5167 0 - vertex 25.4856 17.2443 -0.2 - vertex 25.4856 17.2443 0 + vertex 23.1222 1.97635 0 + vertex 23.9858 2.16372 -3 + vertex 23.1222 1.97635 -3 endloop endfacet - facet normal -0.905796 -0.423714 0 + facet normal 0.0237086 0.999719 -0 outer loop - vertex 25.6037 16.9917 -0.2 - vertex 25.4856 17.2443 0 - vertex 25.4856 17.2443 -0.2 + vertex 23.1222 1.97635 -3 + vertex 22.8505 1.9828 0 + vertex 23.1222 1.97635 0 endloop endfacet - facet normal -0.905796 -0.423714 0 + facet normal 0.0237086 0.999719 0 outer loop - vertex 25.4856 17.2443 0 - vertex 25.6037 16.9917 -0.2 - vertex 25.6037 16.9917 0 + vertex 22.8505 1.9828 0 + vertex 23.1222 1.97635 -3 + vertex 22.8505 1.9828 -3 endloop endfacet - facet normal -0.826293 -0.563241 0 + facet normal 0.97535 0.220664 0 outer loop - vertex 25.7157 16.8274 -0.2 - vertex 25.6037 16.9917 0 - vertex 25.6037 16.9917 -0.2 + vertex 22.8505 1.9828 0 + vertex 22.7784 2.30129 -3 + vertex 22.7784 2.30129 0 endloop endfacet - facet normal -0.826293 -0.563241 0 + facet normal 0.97535 0.220664 0 outer loop - vertex 25.6037 16.9917 0 - vertex 25.7157 16.8274 -0.2 - vertex 25.7157 16.8274 0 + vertex 22.7784 2.30129 -3 + vertex 22.8505 1.9828 0 + vertex 22.8505 1.9828 -3 endloop endfacet - facet normal -0.603414 -0.797428 0 + facet normal 0.936019 -0.35195 0 outer loop - vertex 25.7157 16.8274 -0.2 - vertex 25.8187 16.7495 0 - vertex 25.7157 16.8274 0 + vertex 22.7784 2.30129 0 + vertex 23.2082 3.44442 -3 + vertex 23.2082 3.44442 0 endloop endfacet - facet normal -0.603414 -0.797428 -0 + facet normal 0.936019 -0.35195 0 outer loop - vertex 25.8187 16.7495 0 - vertex 25.7157 16.8274 -0.2 - vertex 25.8187 16.7495 -0.2 + vertex 23.2082 3.44442 -3 + vertex 22.7784 2.30129 0 + vertex 22.7784 2.30129 -3 endloop endfacet - facet normal -0.148413 -0.988925 0 + facet normal 0.913236 -0.40743 0 outer loop - vertex 25.8187 16.7495 -0.2 - vertex 25.8659 16.7424 0 - vertex 25.8187 16.7495 0 + vertex 23.2082 3.44442 0 + vertex 23.5377 4.18291 -3 + vertex 23.5377 4.18291 0 endloop endfacet - facet normal -0.148413 -0.988925 -0 + facet normal 0.913236 -0.40743 0 outer loop - vertex 25.8659 16.7424 0 - vertex 25.8187 16.7495 -0.2 - vertex 25.8659 16.7424 -0.2 + vertex 23.5377 4.18291 -3 + vertex 23.2082 3.44442 0 + vertex 23.2082 3.44442 -3 endloop endfacet - facet normal 0.302537 -0.953138 0 + facet normal 0.997125 -0.0757773 0 outer loop - vertex 25.8659 16.7424 -0.2 - vertex 25.9096 16.7563 0 - vertex 25.8659 16.7424 0 + vertex 23.5377 4.18291 0 + vertex 23.5966 4.95794 -3 + vertex 23.5966 4.95794 0 endloop endfacet - facet normal 0.302537 -0.953138 0 + facet normal 0.997125 -0.0757773 0 outer loop - vertex 25.9096 16.7563 0 - vertex 25.8659 16.7424 -0.2 - vertex 25.9096 16.7563 -0.2 + vertex 23.5966 4.95794 -3 + vertex 23.5377 4.18291 0 + vertex 23.5377 4.18291 -3 endloop endfacet - facet normal 0.763836 -0.645411 0 + facet normal 0.969407 0.245457 0 outer loop - vertex 25.9096 16.7563 0 - vertex 25.9855 16.8461 -0.2 - vertex 25.9855 16.8461 0 + vertex 23.5966 4.95794 0 + vertex 23.3811 5.8089 -3 + vertex 23.3811 5.8089 0 endloop endfacet - facet normal 0.763836 -0.645411 0 + facet normal 0.969407 0.245457 0 outer loop - vertex 25.9855 16.8461 -0.2 - vertex 25.9096 16.7563 0 - vertex 25.9096 16.7563 -0.2 + vertex 23.3811 5.8089 -3 + vertex 23.5966 4.95794 0 + vertex 23.5966 4.95794 -3 endloop endfacet - facet normal 0.947245 -0.320511 0 + facet normal 0.890531 0.454923 0 outer loop - vertex 25.9855 16.8461 0 - vertex 26.0434 17.0172 -0.2 - vertex 26.0434 17.0172 0 + vertex 23.3811 5.8089 0 + vertex 22.8875 6.77518 -3 + vertex 22.8875 6.77518 0 endloop endfacet - facet normal 0.947245 -0.320511 0 + facet normal 0.890531 0.454923 0 outer loop - vertex 26.0434 17.0172 -0.2 - vertex 25.9855 16.8461 0 - vertex 25.9855 16.8461 -0.2 + vertex 22.8875 6.77518 -3 + vertex 23.3811 5.8089 0 + vertex 23.3811 5.8089 -3 endloop endfacet - facet normal 0.989326 -0.145716 0 + facet normal 0.77704 0.629451 0 outer loop - vertex 26.0434 17.0172 0 - vertex 26.0803 17.2678 -0.2 - vertex 26.0803 17.2678 0 + vertex 22.8875 6.77518 0 + vertex 21.7142 8.22365 -3 + vertex 21.7142 8.22365 0 endloop endfacet - facet normal 0.989326 -0.145716 0 + facet normal 0.77704 0.629451 0 outer loop - vertex 26.0803 17.2678 -0.2 - vertex 26.0434 17.0172 0 - vertex 26.0434 17.0172 -0.2 + vertex 21.7142 8.22365 -3 + vertex 22.8875 6.77518 0 + vertex 22.8875 6.77518 -3 endloop endfacet - facet normal 0.999222 -0.0394472 0 + facet normal 0.585146 0.810928 -0 outer loop - vertex 26.0803 17.2678 0 - vertex 26.0933 17.5963 -0.2 - vertex 26.0933 17.5963 0 + vertex 21.7142 8.22365 -3 + vertex 19.7157 9.66569 0 + vertex 21.7142 8.22365 0 endloop endfacet - facet normal 0.999222 -0.0394472 0 + facet normal 0.585146 0.810928 0 outer loop - vertex 26.0933 17.5963 -0.2 - vertex 26.0803 17.2678 0 - vertex 26.0803 17.2678 -0.2 + vertex 19.7157 9.66569 0 + vertex 21.7142 8.22365 -3 + vertex 19.7157 9.66569 -3 endloop endfacet - facet normal 0.99788 0.0650754 0 + facet normal 0.415721 0.909492 -0 outer loop - vertex 26.0933 17.5963 0 - vertex 26.0696 17.9605 -0.2 - vertex 26.0696 17.9605 0 + vertex 19.7157 9.66569 -3 + vertex 18.6847 10.137 0 + vertex 19.7157 9.66569 0 endloop endfacet - facet normal 0.99788 0.0650754 0 + facet normal 0.415721 0.909492 0 outer loop - vertex 26.0696 17.9605 -0.2 - vertex 26.0933 17.5963 0 - vertex 26.0933 17.5963 -0.2 + vertex 18.6847 10.137 0 + vertex 19.7157 9.66569 -3 + vertex 18.6847 10.137 -3 endloop endfacet - facet normal 0.979516 0.201364 0 + facet normal 0.146348 0.989233 -0 outer loop - vertex 26.0696 17.9605 0 - vertex 26.0009 18.2942 -0.2 - vertex 26.0009 18.2942 0 + vertex 18.6847 10.137 -3 + vertex 17.337 10.3363 0 + vertex 18.6847 10.137 0 endloop endfacet - facet normal 0.979516 0.201364 0 + facet normal 0.146348 0.989233 0 outer loop - vertex 26.0009 18.2942 -0.2 - vertex 26.0696 17.9605 0 - vertex 26.0696 17.9605 -0.2 + vertex 17.337 10.3363 0 + vertex 18.6847 10.137 -3 + vertex 17.337 10.3363 -3 endloop endfacet - facet normal 0.938515 0.345238 0 + facet normal -0.00363232 0.999993 0 outer loop - vertex 26.0009 18.2942 0 - vertex 25.8914 18.5921 -0.2 - vertex 25.8914 18.5921 0 + vertex 17.337 10.3363 -3 + vertex 15.9933 10.3315 0 + vertex 17.337 10.3363 0 endloop endfacet - facet normal 0.938515 0.345238 0 + facet normal -0.00363232 0.999993 0 outer loop - vertex 25.8914 18.5921 -0.2 - vertex 26.0009 18.2942 0 - vertex 26.0009 18.2942 -0.2 + vertex 15.9933 10.3315 0 + vertex 17.337 10.3363 -3 + vertex 15.9933 10.3315 -3 endloop endfacet - facet normal 0.86805 0.496476 0 + facet normal -0.520358 0.853948 0 outer loop - vertex 25.8914 18.5921 0 - vertex 25.7448 18.8483 -0.2 - vertex 25.7448 18.8483 0 + vertex 15.9933 10.3315 -3 + vertex 15.6762 10.1383 0 + vertex 15.9933 10.3315 0 endloop endfacet - facet normal 0.86805 0.496476 0 + facet normal -0.520358 0.853948 0 outer loop - vertex 25.7448 18.8483 -0.2 - vertex 25.8914 18.5921 0 - vertex 25.8914 18.5921 -0.2 + vertex 15.6762 10.1383 0 + vertex 15.9933 10.3315 -3 + vertex 15.6762 10.1383 -3 endloop endfacet - facet normal 0.758477 0.651699 0 + facet normal -0.775154 0.631772 0 outer loop - vertex 25.7448 18.8483 0 - vertex 25.5652 19.0574 -0.2 - vertex 25.5652 19.0574 0 + vertex 15.3572 9.74689 -3 + vertex 15.6762 10.1383 0 + vertex 15.6762 10.1383 -3 endloop endfacet - facet normal 0.758477 0.651699 0 + facet normal -0.775154 0.631772 0 outer loop - vertex 25.5652 19.0574 -0.2 - vertex 25.7448 18.8483 0 - vertex 25.7448 18.8483 -0.2 + vertex 15.6762 10.1383 0 + vertex 15.3572 9.74689 -3 + vertex 15.3572 9.74689 0 endloop endfacet - facet normal 0.599251 0.800561 -0 + facet normal -0.885944 0.463791 0 outer loop - vertex 25.5652 19.0574 -0.2 - vertex 25.3564 19.2137 0 - vertex 25.5652 19.0574 0 + vertex 14.9426 8.95486 -3 + vertex 15.3572 9.74689 0 + vertex 15.3572 9.74689 -3 endloop endfacet - facet normal 0.599251 0.800561 0 + facet normal -0.885944 0.463791 0 outer loop - vertex 25.3564 19.2137 0 - vertex 25.5652 19.0574 -0.2 - vertex 25.3564 19.2137 -0.2 + vertex 15.3572 9.74689 0 + vertex 14.9426 8.95486 -3 + vertex 14.9426 8.95486 0 endloop endfacet - facet normal 0.385907 0.922538 -0 + facet normal -0.999951 -0.00991933 0 outer loop - vertex 25.3564 19.2137 -0.2 - vertex 25.1224 19.3115 0 - vertex 25.3564 19.2137 0 + vertex 14.9551 7.69881 -3 + vertex 14.9426 8.95486 0 + vertex 14.9426 8.95486 -3 endloop endfacet - facet normal 0.385907 0.922538 0 + facet normal -0.999951 -0.00991933 0 outer loop - vertex 25.1224 19.3115 0 - vertex 25.3564 19.2137 -0.2 - vertex 25.1224 19.3115 -0.2 + vertex 14.9426 8.95486 0 + vertex 14.9551 7.69881 -3 + vertex 14.9551 7.69881 0 endloop endfacet - facet normal 0.197951 0.980212 -0 + facet normal -0.987205 -0.159458 0 outer loop - vertex 25.1224 19.3115 -0.2 - vertex 24.9972 19.3368 0 - vertex 25.1224 19.3115 0 + vertex 15.3368 5.33522 -3 + vertex 14.9551 7.69881 0 + vertex 14.9551 7.69881 -3 endloop endfacet - facet normal 0.197951 0.980212 0 + facet normal -0.987205 -0.159458 0 outer loop - vertex 24.9972 19.3368 0 - vertex 25.1224 19.3115 -0.2 - vertex 24.9972 19.3368 -0.2 + vertex 14.9551 7.69881 0 + vertex 15.3368 5.33522 -3 + vertex 15.3368 5.33522 0 endloop endfacet - facet normal 0.0658711 0.997828 -0 + facet normal -0.962213 -0.272299 0 outer loop - vertex 24.9972 19.3368 -0.2 - vertex 24.8672 19.3454 0 - vertex 24.9972 19.3368 0 + vertex 16.0239 2.90744 -3 + vertex 15.3368 5.33522 0 + vertex 15.3368 5.33522 -3 endloop endfacet - facet normal 0.0658711 0.997828 0 + facet normal -0.962213 -0.272299 0 outer loop - vertex 24.8672 19.3454 0 - vertex 24.9972 19.3368 -0.2 - vertex 24.8672 19.3454 -0.2 + vertex 15.3368 5.33522 0 + vertex 16.0239 2.90744 -3 + vertex 16.0239 2.90744 0 endloop endfacet - facet normal 0.104566 0.994518 -0 + facet normal -0.924811 -0.380427 0 outer loop - vertex 24.8672 19.3454 -0.2 - vertex 24.6124 19.3722 0 - vertex 24.8672 19.3454 0 + vertex 16.8564 0.883682 -3 + vertex 16.0239 2.90744 0 + vertex 16.0239 2.90744 -3 endloop endfacet - facet normal 0.104566 0.994518 0 + facet normal -0.924811 -0.380427 0 outer loop - vertex 24.6124 19.3722 0 - vertex 24.8672 19.3454 -0.2 - vertex 24.6124 19.3722 -0.2 + vertex 16.0239 2.90744 0 + vertex 16.8564 0.883682 -3 + vertex 16.8564 0.883682 0 endloop endfacet - facet normal 0.198003 0.980201 -0 + facet normal -0.815204 -0.579174 0 outer loop - vertex 24.6124 19.3722 -0.2 - vertex 24.2514 19.4451 0 - vertex 24.6124 19.3722 0 + vertex 17.6745 -0.267811 -3 + vertex 16.8564 0.883682 0 + vertex 16.8564 0.883682 -3 endloop endfacet - facet normal 0.198003 0.980201 0 + facet normal -0.815204 -0.579174 0 outer loop - vertex 24.2514 19.4451 0 - vertex 24.6124 19.3722 -0.2 - vertex 24.2514 19.4451 -0.2 + vertex 16.8564 0.883682 0 + vertex 17.6745 -0.267811 -3 + vertex 17.6745 -0.267811 0 endloop endfacet - facet normal 0.249312 0.968423 -0 + facet normal -0.318326 -0.947981 0 outer loop - vertex 24.2514 19.4451 -0.2 - vertex 23.8321 19.5531 0 - vertex 24.2514 19.4451 0 + vertex 17.6745 -0.267811 -3 + vertex 18.2674 -0.466912 0 + vertex 17.6745 -0.267811 0 endloop endfacet - facet normal 0.249312 0.968423 0 + facet normal -0.318326 -0.947981 -0 outer loop - vertex 23.8321 19.5531 0 - vertex 24.2514 19.4451 -0.2 - vertex 23.8321 19.5531 -0.2 + vertex 18.2674 -0.466912 0 + vertex 17.6745 -0.267811 -3 + vertex 18.2674 -0.466912 -3 endloop endfacet - facet normal 0.293412 0.955986 -0 + facet normal 0.268508 -0.963277 0 outer loop - vertex 23.8321 19.5531 -0.2 - vertex 23.4027 19.6849 0 - vertex 23.8321 19.5531 0 + vertex 18.2674 -0.466912 -3 + vertex 19.4865 -0.127098 0 + vertex 18.2674 -0.466912 0 endloop endfacet - facet normal 0.293412 0.955986 0 + facet normal 0.268508 -0.963277 0 outer loop - vertex 23.4027 19.6849 0 - vertex 23.8321 19.5531 -0.2 - vertex 23.4027 19.6849 -0.2 + vertex 19.4865 -0.127098 0 + vertex 18.2674 -0.466912 -3 + vertex 19.4865 -0.127098 -3 endloop endfacet - facet normal 0.372015 0.928227 -0 + facet normal 0.219889 -0.975525 0 outer loop - vertex 23.4027 19.6849 -0.2 - vertex 22.9977 19.8472 0 - vertex 23.4027 19.6849 0 + vertex 19.4865 -0.127098 -3 + vertex 21.0282 0.220415 0 + vertex 19.4865 -0.127098 0 endloop endfacet - facet normal 0.372015 0.928227 0 + facet normal 0.219889 -0.975525 0 outer loop - vertex 22.9977 19.8472 0 - vertex 23.4027 19.6849 -0.2 - vertex 22.9977 19.8472 -0.2 + vertex 21.0282 0.220415 0 + vertex 19.4865 -0.127098 -3 + vertex 21.0282 0.220415 -3 endloop endfacet - facet normal 0.496703 0.86792 -0 + facet normal -0.998758 -0.0498338 0 outer loop - vertex 22.9977 19.8472 -0.2 - vertex 22.6486 20.047 0 - vertex 22.9977 19.8472 0 + vertex 21.0968 -1.15452 -3 + vertex 21.0282 0.220415 0 + vertex 21.0282 0.220415 -3 endloop endfacet - facet normal 0.496703 0.86792 0 + facet normal -0.998758 -0.0498338 0 outer loop - vertex 22.6486 20.047 0 - vertex 22.9977 19.8472 -0.2 - vertex 22.6486 20.047 -0.2 + vertex 21.0282 0.220415 0 + vertex 21.0968 -1.15452 -3 + vertex 21.0968 -1.15452 0 endloop endfacet - facet normal 0.63232 0.774707 -0 + facet normal -0.983918 0.178619 0 outer loop - vertex 22.6486 20.047 -0.2 - vertex 22.3515 20.2895 0 - vertex 22.6486 20.047 0 + vertex 20.9081 -2.19366 -3 + vertex 21.0968 -1.15452 0 + vertex 21.0968 -1.15452 -3 endloop endfacet - facet normal 0.63232 0.774707 0 + facet normal -0.983918 0.178619 0 outer loop - vertex 22.3515 20.2895 0 - vertex 22.6486 20.047 -0.2 - vertex 22.3515 20.2895 -0.2 + vertex 21.0968 -1.15452 0 + vertex 20.9081 -2.19366 -3 + vertex 20.9081 -2.19366 0 endloop endfacet - facet normal 0.72955 0.683927 0 + facet normal -0.856849 0.515568 0 outer loop - vertex 22.3515 20.2895 0 - vertex 22.2213 20.4283 -0.2 - vertex 22.2213 20.4283 0 + vertex 20.4179 -3.0084 -3 + vertex 20.9081 -2.19366 0 + vertex 20.9081 -2.19366 -3 endloop endfacet - facet normal 0.72955 0.683927 0 + facet normal -0.856849 0.515568 0 outer loop - vertex 22.2213 20.4283 -0.2 - vertex 22.3515 20.2895 0 - vertex 22.3515 20.2895 -0.2 + vertex 20.9081 -2.19366 0 + vertex 20.4179 -3.0084 -3 + vertex 20.4179 -3.0084 0 endloop endfacet - facet normal 0.787511 0.616301 0 + facet normal -0.631353 0.775495 0 outer loop - vertex 22.2213 20.4283 0 - vertex 22.1028 20.5797 -0.2 - vertex 22.1028 20.5797 0 + vertex 20.4179 -3.0084 -3 + vertex 19.4334 -3.80993 0 + vertex 20.4179 -3.0084 0 endloop endfacet - facet normal 0.787511 0.616301 0 + facet normal -0.631353 0.775495 0 outer loop - vertex 22.1028 20.5797 -0.2 - vertex 22.2213 20.4283 0 - vertex 22.2213 20.4283 -0.2 + vertex 19.4334 -3.80993 0 + vertex 20.4179 -3.0084 -3 + vertex 19.4334 -3.80993 -3 endloop endfacet - facet normal 0.859714 0.510776 0 + facet normal -0.513213 0.858261 0 outer loop - vertex 22.1028 20.5797 0 - vertex 21.8989 20.9229 -0.2 - vertex 21.8989 20.9229 0 + vertex 19.4334 -3.80993 -3 + vertex 17.7619 -4.80944 0 + vertex 19.4334 -3.80993 0 endloop endfacet - facet normal 0.859714 0.510776 0 + facet normal -0.513213 0.858261 0 outer loop - vertex 21.8989 20.9229 -0.2 - vertex 22.1028 20.5797 0 - vertex 22.1028 20.5797 -0.2 + vertex 17.7619 -4.80944 0 + vertex 19.4334 -3.80993 -3 + vertex 17.7619 -4.80944 -3 endloop endfacet - facet normal 0.926661 0.375897 0 + facet normal -0.460069 0.887883 0 outer loop - vertex 21.8989 20.9229 0 - vertex 21.7362 21.3239 -0.2 - vertex 21.7362 21.3239 0 + vertex 17.7619 -4.80944 -3 + vertex 15.0012 -6.23992 0 + vertex 17.7619 -4.80944 0 endloop endfacet - facet normal 0.926661 0.375897 0 + facet normal -0.460069 0.887883 0 outer loop - vertex 21.7362 21.3239 -0.2 - vertex 21.8989 20.9229 0 - vertex 21.8989 20.9229 -0.2 + vertex 15.0012 -6.23992 0 + vertex 17.7619 -4.80944 -3 + vertex 15.0012 -6.23992 -3 endloop endfacet - facet normal 0.965497 0.260414 0 + facet normal -0.358805 0.933413 0 outer loop - vertex 21.7362 21.3239 0 - vertex 21.6111 21.7881 -0.2 - vertex 21.6111 21.7881 0 + vertex 15.0012 -6.23992 -3 + vertex 12.6103 -7.15898 0 + vertex 15.0012 -6.23992 0 endloop endfacet - facet normal 0.965497 0.260414 0 + facet normal -0.358805 0.933413 0 outer loop - vertex 21.6111 21.7881 -0.2 - vertex 21.7362 21.3239 0 - vertex 21.7362 21.3239 -0.2 + vertex 12.6103 -7.15898 0 + vertex 15.0012 -6.23992 -3 + vertex 12.6103 -7.15898 -3 endloop endfacet - facet normal 0.985599 0.169101 0 + facet normal -0.211321 0.977417 0 outer loop - vertex 21.6111 21.7881 0 - vertex 21.5197 22.3204 -0.2 - vertex 21.5197 22.3204 0 + vertex 12.6103 -7.15898 -3 + vertex 10.2421 -7.67101 0 + vertex 12.6103 -7.15898 0 endloop endfacet - facet normal 0.985599 0.169101 0 + facet normal -0.211321 0.977417 0 outer loop - vertex 21.5197 22.3204 -0.2 - vertex 21.6111 21.7881 0 - vertex 21.6111 21.7881 -0.2 + vertex 10.2421 -7.67101 0 + vertex 12.6103 -7.15898 -3 + vertex 10.2421 -7.67101 -3 endloop endfacet - facet normal 0.981389 0.192031 0 + facet normal -0.0775281 0.99699 0 outer loop - vertex 21.5197 22.3204 0 - vertex 21.4205 22.8275 -0.2 - vertex 21.4205 22.8275 0 + vertex 10.2421 -7.67101 -3 + vertex 7.54923 -7.88041 0 + vertex 10.2421 -7.67101 0 endloop endfacet - facet normal 0.981389 0.192031 0 + facet normal -0.0775281 0.99699 0 outer loop - vertex 21.4205 22.8275 -0.2 - vertex 21.5197 22.3204 0 - vertex 21.5197 22.3204 -0.2 + vertex 7.54923 -7.88041 0 + vertex 10.2421 -7.67101 -3 + vertex 7.54923 -7.88041 -3 endloop endfacet - facet normal 0.957484 0.288485 0 + facet normal -0.00181695 0.999998 0 outer loop - vertex 21.4205 22.8275 0 - vertex 21.3493 23.064 -0.2 - vertex 21.3493 23.064 0 + vertex 7.54923 -7.88041 -3 + vertex 5.03167 -7.88498 0 + vertex 7.54923 -7.88041 0 endloop endfacet - facet normal 0.957484 0.288485 0 + facet normal -0.00181695 0.999998 0 outer loop - vertex 21.3493 23.064 -0.2 - vertex 21.4205 22.8275 0 - vertex 21.4205 22.8275 -0.2 + vertex 5.03167 -7.88498 0 + vertex 7.54923 -7.88041 -3 + vertex 5.03167 -7.88498 -3 endloop endfacet - facet normal 0.934507 0.355946 0 + facet normal 0.239055 0.971006 -0 outer loop - vertex 21.3493 23.064 0 - vertex 21.2635 23.2891 -0.2 - vertex 21.2635 23.2891 0 + vertex 5.03167 -7.88498 -3 + vertex 3.854 -7.59505 0 + vertex 5.03167 -7.88498 0 endloop endfacet - facet normal 0.934507 0.355946 0 + facet normal 0.239055 0.971006 0 outer loop - vertex 21.2635 23.2891 -0.2 - vertex 21.3493 23.064 0 - vertex 21.3493 23.064 -0.2 + vertex 3.854 -7.59505 0 + vertex 5.03167 -7.88498 -3 + vertex 3.854 -7.59505 -3 endloop endfacet - facet normal 0.905346 0.424674 0 + facet normal 0.512147 0.858898 -0 outer loop - vertex 21.2635 23.2891 0 - vertex 21.1632 23.503 -0.2 - vertex 21.1632 23.503 0 + vertex 3.854 -7.59505 -3 + vertex 1.04019 -5.91722 0 + vertex 3.854 -7.59505 0 endloop endfacet - facet normal 0.905346 0.424674 0 + facet normal 0.512147 0.858898 0 outer loop - vertex 21.1632 23.503 -0.2 - vertex 21.2635 23.2891 0 - vertex 21.2635 23.2891 -0.2 + vertex 1.04019 -5.91722 0 + vertex 3.854 -7.59505 -3 + vertex 1.04019 -5.91722 -3 endloop endfacet - facet normal 0.869841 0.493332 0 + facet normal 0.520307 0.85398 -0 outer loop - vertex 21.1632 23.503 0 - vertex 21.0482 23.7058 -0.2 - vertex 21.0482 23.7058 0 + vertex 1.04019 -5.91722 -3 + vertex -2.05653 -4.03047 0 + vertex 1.04019 -5.91722 0 endloop endfacet - facet normal 0.869841 0.493332 0 + facet normal 0.520307 0.85398 0 outer loop - vertex 21.0482 23.7058 -0.2 - vertex 21.1632 23.503 0 - vertex 21.1632 23.503 -0.2 + vertex -2.05653 -4.03047 0 + vertex 1.04019 -5.91722 -3 + vertex -2.05653 -4.03047 -3 endloop endfacet - facet normal 0.828197 0.560437 0 + facet normal 0.582306 0.812969 -0 outer loop - vertex 21.0482 23.7058 0 - vertex 20.9184 23.8976 -0.2 - vertex 20.9184 23.8976 0 + vertex -2.05653 -4.03047 -3 + vertex -3.45272 -3.03042 0 + vertex -2.05653 -4.03047 0 endloop endfacet - facet normal 0.828197 0.560437 0 + facet normal 0.582306 0.812969 0 outer loop - vertex 20.9184 23.8976 -0.2 - vertex 21.0482 23.7058 0 - vertex 21.0482 23.7058 -0.2 + vertex -3.45272 -3.03042 0 + vertex -2.05653 -4.03047 -3 + vertex -3.45272 -3.03042 -3 endloop endfacet - facet normal 0.781014 0.624513 0 + facet normal 0.814407 0.580294 0 outer loop - vertex 20.9184 23.8976 0 - vertex 20.7738 24.0784 -0.2 - vertex 20.7738 24.0784 0 + vertex -3.45272 -3.03042 0 + vertex -3.71458 -2.66291 -3 + vertex -3.71458 -2.66291 0 endloop endfacet - facet normal 0.781014 0.624513 0 + facet normal 0.814407 0.580294 0 outer loop - vertex 20.7738 24.0784 -0.2 - vertex 20.9184 23.8976 0 - vertex 20.9184 23.8976 -0.2 + vertex -3.71458 -2.66291 -3 + vertex -3.45272 -3.03042 0 + vertex -3.45272 -3.03042 -3 endloop endfacet - facet normal 0.729218 0.684281 0 + facet normal 0.667074 -0.744991 0 outer loop - vertex 20.7738 24.0784 0 - vertex 20.6143 24.2484 -0.2 - vertex 20.6143 24.2484 0 + vertex -3.71458 -2.66291 -3 + vertex -3.55278 -2.51803 0 + vertex -3.71458 -2.66291 0 endloop endfacet - facet normal 0.729218 0.684281 0 + facet normal 0.667074 -0.744991 0 outer loop - vertex 20.6143 24.2484 -0.2 - vertex 20.7738 24.0784 0 - vertex 20.7738 24.0784 -0.2 + vertex -3.55278 -2.51803 0 + vertex -3.71458 -2.66291 -3 + vertex -3.55278 -2.51803 -3 endloop endfacet - facet normal 0.674059 0.738677 -0 + facet normal -0.396625 -0.917981 0 outer loop - vertex 20.6143 24.2484 -0.2 - vertex 20.4398 24.4076 0 - vertex 20.6143 24.2484 0 + vertex -3.55278 -2.51803 -3 + vertex -1.72768 -3.30659 0 + vertex -3.55278 -2.51803 0 endloop endfacet - facet normal 0.674059 0.738677 0 + facet normal -0.396625 -0.917981 -0 outer loop - vertex 20.4398 24.4076 0 - vertex 20.6143 24.2484 -0.2 - vertex 20.4398 24.4076 -0.2 + vertex -1.72768 -3.30659 0 + vertex -3.55278 -2.51803 -3 + vertex -1.72768 -3.30659 -3 endloop endfacet - facet normal 0.616853 0.787078 -0 + facet normal -0.417951 -0.90847 0 outer loop - vertex 20.4398 24.4076 -0.2 - vertex 20.2502 24.5562 0 - vertex 20.4398 24.4076 0 + vertex -1.72768 -3.30659 -3 + vertex 1.09298 -4.60426 0 + vertex -1.72768 -3.30659 0 endloop endfacet - facet normal 0.616853 0.787078 0 + facet normal -0.417951 -0.90847 -0 outer loop - vertex 20.2502 24.5562 0 - vertex 20.4398 24.4076 -0.2 - vertex 20.2502 24.5562 -0.2 + vertex 1.09298 -4.60426 0 + vertex -1.72768 -3.30659 -3 + vertex 1.09298 -4.60426 -3 endloop endfacet - facet normal 0.558944 0.829206 -0 + facet normal -0.324179 -0.945996 0 outer loop - vertex 20.2502 24.5562 -0.2 - vertex 20.0455 24.6942 0 - vertex 20.2502 24.5562 0 + vertex 1.09298 -4.60426 -3 + vertex 3.9592 -5.58648 0 + vertex 1.09298 -4.60426 0 endloop endfacet - facet normal 0.558944 0.829206 0 + facet normal -0.324179 -0.945996 -0 outer loop - vertex 20.0455 24.6942 0 - vertex 20.2502 24.5562 -0.2 - vertex 20.0455 24.6942 -0.2 + vertex 3.9592 -5.58648 0 + vertex 1.09298 -4.60426 -3 + vertex 3.9592 -5.58648 -3 endloop endfacet - facet normal 0.473385 0.880855 -0 + facet normal -0.208038 -0.978121 0 outer loop - vertex 20.0455 24.6942 -0.2 - vertex 19.5904 24.9388 0 - vertex 20.0455 24.6942 0 + vertex 3.9592 -5.58648 -3 + vertex 5.81183 -5.98051 0 + vertex 3.9592 -5.58648 0 endloop endfacet - facet normal 0.473385 0.880855 0 + facet normal -0.208038 -0.978121 -0 outer loop - vertex 19.5904 24.9388 0 - vertex 20.0455 24.6942 -0.2 - vertex 19.5904 24.9388 -0.2 + vertex 5.81183 -5.98051 0 + vertex 3.9592 -5.58648 -3 + vertex 5.81183 -5.98051 -3 endloop endfacet - facet normal 0.366293 0.930499 -0 + facet normal 0.0684734 -0.997653 0 outer loop - vertex 19.5904 24.9388 -0.2 - vertex 19.0737 25.1422 0 - vertex 19.5904 24.9388 0 + vertex 5.81183 -5.98051 -3 + vertex 7.21237 -5.88439 0 + vertex 5.81183 -5.98051 0 endloop endfacet - facet normal 0.366293 0.930499 0 + facet normal 0.0684734 -0.997653 0 outer loop - vertex 19.0737 25.1422 0 - vertex 19.5904 24.9388 -0.2 - vertex 19.0737 25.1422 -0.2 + vertex 7.21237 -5.88439 0 + vertex 5.81183 -5.98051 -3 + vertex 7.21237 -5.88439 -3 endloop endfacet - facet normal 0.339314 0.940673 -0 + facet normal 0.219818 -0.975541 0 outer loop - vertex 19.0737 25.1422 -0.2 - vertex 18.5685 25.3244 0 - vertex 19.0737 25.1422 0 + vertex 7.21237 -5.88439 -3 + vertex 7.79727 -5.75259 0 + vertex 7.21237 -5.88439 0 endloop endfacet - facet normal 0.339314 0.940673 0 + facet normal 0.219818 -0.975541 0 outer loop - vertex 18.5685 25.3244 0 - vertex 19.0737 25.1422 -0.2 - vertex 18.5685 25.3244 -0.2 - endloop - endfacet - facet normal 0.390266 0.920702 -0 - outer loop - vertex 18.5685 25.3244 -0.2 - vertex 18.1033 25.5216 0 - vertex 18.5685 25.3244 0 - endloop - endfacet - facet normal 0.390266 0.920702 0 - outer loop - vertex 18.1033 25.5216 0 - vertex 18.5685 25.3244 -0.2 - vertex 18.1033 25.5216 -0.2 - endloop - endfacet - facet normal 0.448214 0.893926 -0 - outer loop - vertex 18.1033 25.5216 -0.2 - vertex 17.6707 25.7385 0 - vertex 18.1033 25.5216 0 - endloop - endfacet - facet normal 0.448214 0.893926 0 - outer loop - vertex 17.6707 25.7385 0 - vertex 18.1033 25.5216 -0.2 - vertex 17.6707 25.7385 -0.2 - endloop - endfacet - facet normal 0.509711 0.860346 -0 - outer loop - vertex 17.6707 25.7385 -0.2 - vertex 17.2631 25.98 0 - vertex 17.6707 25.7385 0 - endloop - endfacet - facet normal 0.509711 0.860346 0 - outer loop - vertex 17.2631 25.98 0 - vertex 17.6707 25.7385 -0.2 - vertex 17.2631 25.98 -0.2 - endloop - endfacet - facet normal 0.570375 0.821384 -0 - outer loop - vertex 17.2631 25.98 -0.2 - vertex 16.873 26.2508 0 - vertex 17.2631 25.98 0 - endloop - endfacet - facet normal 0.570375 0.821384 0 - outer loop - vertex 16.873 26.2508 0 - vertex 17.2631 25.98 -0.2 - vertex 16.873 26.2508 -0.2 - endloop - endfacet - facet normal 0.626027 0.779801 -0 - outer loop - vertex 16.873 26.2508 -0.2 - vertex 16.4932 26.5558 0 - vertex 16.873 26.2508 0 - endloop - endfacet - facet normal 0.626027 0.779801 0 - outer loop - vertex 16.4932 26.5558 0 - vertex 16.873 26.2508 -0.2 - vertex 16.4932 26.5558 -0.2 - endloop - endfacet - facet normal 0.673725 0.738983 -0 - outer loop - vertex 16.4932 26.5558 -0.2 - vertex 16.116 26.8997 0 - vertex 16.4932 26.5558 0 - endloop - endfacet - facet normal 0.673725 0.738983 0 - outer loop - vertex 16.116 26.8997 0 - vertex 16.4932 26.5558 -0.2 - vertex 16.116 26.8997 -0.2 - endloop - endfacet - facet normal 0.71226 0.701916 0 - outer loop - vertex 16.116 26.8997 0 - vertex 15.734 27.2872 -0.2 - vertex 15.734 27.2872 0 - endloop - endfacet - facet normal 0.71226 0.701916 0 - outer loop - vertex 15.734 27.2872 -0.2 - vertex 16.116 26.8997 0 - vertex 16.116 26.8997 -0.2 - endloop - endfacet - facet normal 0.751608 0.65961 0 - outer loop - vertex 15.734 27.2872 0 - vertex 15.344 27.7317 -0.2 - vertex 15.344 27.7317 0 - endloop - endfacet - facet normal 0.751608 0.65961 0 - outer loop - vertex 15.344 27.7317 -0.2 - vertex 15.734 27.2872 0 - vertex 15.734 27.2872 -0.2 - endloop - endfacet - facet normal 0.827441 0.561552 0 - outer loop - vertex 15.344 27.7317 0 - vertex 15.2193 27.9155 -0.2 - vertex 15.2193 27.9155 0 - endloop - endfacet - facet normal 0.827441 0.561552 0 - outer loop - vertex 15.2193 27.9155 -0.2 - vertex 15.344 27.7317 0 - vertex 15.344 27.7317 -0.2 - endloop - endfacet - facet normal 0.901872 0.432003 0 - outer loop - vertex 15.2193 27.9155 0 - vertex 15.1337 28.0941 -0.2 - vertex 15.1337 28.0941 0 - endloop - endfacet - facet normal 0.901872 0.432003 0 - outer loop - vertex 15.1337 28.0941 -0.2 - vertex 15.2193 27.9155 0 - vertex 15.2193 27.9155 -0.2 - endloop - endfacet - facet normal 0.963972 0.266005 0 - outer loop - vertex 15.1337 28.0941 0 - vertex 15.0817 28.2827 -0.2 - vertex 15.0817 28.2827 0 - endloop - endfacet - facet normal 0.963972 0.266005 0 - outer loop - vertex 15.0817 28.2827 -0.2 - vertex 15.1337 28.0941 0 - vertex 15.1337 28.0941 -0.2 - endloop - endfacet - facet normal 0.993628 0.112714 0 - outer loop - vertex 15.0817 28.2827 0 - vertex 15.0574 28.4965 -0.2 - vertex 15.0574 28.4965 0 - endloop - endfacet - facet normal 0.993628 0.112714 0 - outer loop - vertex 15.0574 28.4965 -0.2 - vertex 15.0817 28.2827 0 - vertex 15.0817 28.2827 -0.2 - endloop - endfacet - facet normal 0.999963 0.00862244 0 - outer loop - vertex 15.0574 28.4965 0 - vertex 15.0552 28.7509 -0.2 - vertex 15.0552 28.7509 0 - endloop - endfacet - facet normal 0.999963 0.00862244 0 - outer loop - vertex 15.0552 28.7509 -0.2 - vertex 15.0574 28.4965 0 - vertex 15.0574 28.4965 -0.2 - endloop - endfacet - facet normal 0.99896 -0.0455854 0 - outer loop - vertex 15.0552 28.7509 0 - vertex 15.0694 29.0611 -0.2 - vertex 15.0694 29.0611 0 - endloop - endfacet - facet normal 0.99896 -0.0455854 0 - outer loop - vertex 15.0694 29.0611 -0.2 - vertex 15.0552 28.7509 0 - vertex 15.0552 28.7509 -0.2 - endloop - endfacet - facet normal 0.995626 -0.0934289 0 - outer loop - vertex 15.0694 29.0611 0 - vertex 15.1102 29.496 -0.2 - vertex 15.1102 29.496 0 - endloop - endfacet - facet normal 0.995626 -0.0934289 0 - outer loop - vertex 15.1102 29.496 -0.2 - vertex 15.0694 29.0611 0 - vertex 15.0694 29.0611 -0.2 - endloop - endfacet - facet normal 0.982507 -0.186226 0 - outer loop - vertex 15.1102 29.496 0 - vertex 15.1701 29.8123 -0.2 - vertex 15.1701 29.8123 0 - endloop - endfacet - facet normal 0.982507 -0.186226 0 - outer loop - vertex 15.1701 29.8123 -0.2 - vertex 15.1102 29.496 0 - vertex 15.1102 29.496 -0.2 - endloop - endfacet - facet normal 0.936612 -0.350368 0 - outer loop - vertex 15.1701 29.8123 0 - vertex 15.2437 30.0088 -0.2 - vertex 15.2437 30.0088 0 - endloop - endfacet - facet normal 0.936612 -0.350368 0 - outer loop - vertex 15.2437 30.0088 -0.2 - vertex 15.1701 29.8123 0 - vertex 15.1701 29.8123 -0.2 - endloop - endfacet - facet normal 0.797615 -0.603167 0 - outer loop - vertex 15.2437 30.0088 0 - vertex 15.2838 30.0618 -0.2 - vertex 15.2838 30.0618 0 - endloop - endfacet - facet normal 0.797615 -0.603167 0 - outer loop - vertex 15.2838 30.0618 -0.2 - vertex 15.2437 30.0088 0 - vertex 15.2437 30.0088 -0.2 - endloop - endfacet - facet normal 0.48104 -0.876698 0 - outer loop - vertex 15.2838 30.0618 -0.2 - vertex 15.3252 30.0845 0 - vertex 15.2838 30.0618 0 - endloop - endfacet - facet normal 0.48104 -0.876698 0 - outer loop - vertex 15.3252 30.0845 0 - vertex 15.2838 30.0618 -0.2 - vertex 15.3252 30.0845 -0.2 - endloop - endfacet - facet normal -0.180566 -0.983563 0 - outer loop - vertex 15.3252 30.0845 -0.2 - vertex 15.3672 30.0768 0 - vertex 15.3252 30.0845 0 - endloop - endfacet - facet normal -0.180566 -0.983563 -0 - outer loop - vertex 15.3672 30.0768 0 - vertex 15.3252 30.0845 -0.2 - vertex 15.3672 30.0768 -0.2 - endloop - endfacet - facet normal -0.674079 -0.738659 0 - outer loop - vertex 15.3672 30.0768 -0.2 - vertex 15.4091 30.0386 0 - vertex 15.3672 30.0768 0 - endloop - endfacet - facet normal -0.674079 -0.738659 -0 - outer loop - vertex 15.4091 30.0386 0 - vertex 15.3672 30.0768 -0.2 - vertex 15.4091 30.0386 -0.2 - endloop - endfacet - facet normal -0.901794 -0.432166 0 - outer loop - vertex 15.49 29.8698 -0.2 - vertex 15.4091 30.0386 0 - vertex 15.4091 30.0386 -0.2 - endloop - endfacet - facet normal -0.901794 -0.432166 0 - outer loop - vertex 15.4091 30.0386 0 - vertex 15.49 29.8698 -0.2 - vertex 15.49 29.8698 0 - endloop - endfacet - facet normal -0.970859 -0.239653 0 - outer loop - vertex 15.5622 29.5773 -0.2 - vertex 15.49 29.8698 0 - vertex 15.49 29.8698 -0.2 - endloop - endfacet - facet normal -0.970859 -0.239653 0 - outer loop - vertex 15.49 29.8698 0 - vertex 15.5622 29.5773 -0.2 - vertex 15.5622 29.5773 0 - endloop - endfacet - facet normal -0.990483 -0.137635 0 - outer loop - vertex 15.6202 29.1601 -0.2 - vertex 15.5622 29.5773 0 - vertex 15.5622 29.5773 -0.2 - endloop - endfacet - facet normal -0.990483 -0.137635 0 - outer loop - vertex 15.5622 29.5773 0 - vertex 15.6202 29.1601 -0.2 - vertex 15.6202 29.1601 0 - endloop - endfacet - facet normal -0.987242 -0.159229 0 - outer loop - vertex 15.6927 28.7106 -0.2 - vertex 15.6202 29.1601 0 - vertex 15.6202 29.1601 -0.2 - endloop - endfacet - facet normal -0.987242 -0.159229 0 - outer loop - vertex 15.6202 29.1601 0 - vertex 15.6927 28.7106 -0.2 - vertex 15.6927 28.7106 0 - endloop - endfacet - facet normal -0.964764 -0.263116 0 - outer loop - vertex 15.7487 28.5051 -0.2 - vertex 15.6927 28.7106 0 - vertex 15.6927 28.7106 -0.2 - endloop - endfacet - facet normal -0.964764 -0.263116 0 - outer loop - vertex 15.6927 28.7106 0 - vertex 15.7487 28.5051 -0.2 - vertex 15.7487 28.5051 0 - endloop - endfacet - facet normal -0.93932 -0.343042 0 - outer loop - vertex 15.8197 28.3106 -0.2 - vertex 15.7487 28.5051 0 - vertex 15.7487 28.5051 -0.2 - endloop - endfacet - facet normal -0.93932 -0.343042 0 - outer loop - vertex 15.7487 28.5051 0 - vertex 15.8197 28.3106 -0.2 - vertex 15.8197 28.3106 0 - endloop - endfacet - facet normal -0.904159 -0.427196 0 - outer loop - vertex 15.9071 28.1258 -0.2 - vertex 15.8197 28.3106 0 - vertex 15.8197 28.3106 -0.2 - endloop - endfacet - facet normal -0.904159 -0.427196 0 - outer loop - vertex 15.8197 28.3106 0 - vertex 15.9071 28.1258 -0.2 - vertex 15.9071 28.1258 0 - endloop - endfacet - facet normal -0.859613 -0.510945 0 - outer loop - vertex 16.0121 27.9491 -0.2 - vertex 15.9071 28.1258 0 - vertex 15.9071 28.1258 -0.2 - endloop - endfacet - facet normal -0.859613 -0.510945 0 - outer loop - vertex 15.9071 28.1258 0 - vertex 16.0121 27.9491 -0.2 - vertex 16.0121 27.9491 0 - endloop - endfacet - facet normal -0.807674 -0.589629 0 - outer loop - vertex 16.1362 27.7792 -0.2 - vertex 16.0121 27.9491 0 - vertex 16.0121 27.9491 -0.2 - endloop - endfacet - facet normal -0.807674 -0.589629 0 - outer loop - vertex 16.0121 27.9491 0 - vertex 16.1362 27.7792 -0.2 - vertex 16.1362 27.7792 0 - endloop - endfacet - facet normal -0.751613 -0.659605 0 - outer loop - vertex 16.2806 27.6146 -0.2 - vertex 16.1362 27.7792 0 - vertex 16.1362 27.7792 -0.2 - endloop - endfacet - facet normal -0.751613 -0.659605 0 - outer loop - vertex 16.1362 27.7792 0 - vertex 16.2806 27.6146 -0.2 - vertex 16.2806 27.6146 0 - endloop - endfacet - facet normal -0.695067 -0.718945 0 - outer loop - vertex 16.2806 27.6146 -0.2 - vertex 16.4467 27.454 0 - vertex 16.2806 27.6146 0 - endloop - endfacet - facet normal -0.695067 -0.718945 -0 - outer loop - vertex 16.4467 27.454 0 - vertex 16.2806 27.6146 -0.2 - vertex 16.4467 27.454 -0.2 - endloop - endfacet - facet normal -0.641168 -0.767401 0 - outer loop - vertex 16.4467 27.454 -0.2 - vertex 16.6359 27.2959 0 - vertex 16.4467 27.454 0 - endloop - endfacet - facet normal -0.641168 -0.767401 -0 - outer loop - vertex 16.6359 27.2959 0 - vertex 16.4467 27.454 -0.2 - vertex 16.6359 27.2959 -0.2 - endloop - endfacet - facet normal -0.569935 -0.82169 0 - outer loop - vertex 16.6359 27.2959 -0.2 - vertex 17.0889 26.9817 0 - vertex 16.6359 27.2959 0 - endloop - endfacet - facet normal -0.569935 -0.82169 -0 - outer loop - vertex 17.0889 26.9817 0 - vertex 16.6359 27.2959 -0.2 - vertex 17.0889 26.9817 -0.2 - endloop - endfacet - facet normal -0.496343 -0.868126 0 - outer loop - vertex 17.0889 26.9817 -0.2 - vertex 17.6504 26.6607 0 - vertex 17.0889 26.9817 0 - endloop - endfacet - facet normal -0.496343 -0.868126 -0 - outer loop - vertex 17.6504 26.6607 0 - vertex 17.0889 26.9817 -0.2 - vertex 17.6504 26.6607 -0.2 - endloop - endfacet - facet normal -0.4459 -0.895083 0 - outer loop - vertex 17.6504 26.6607 -0.2 - vertex 18.3311 26.3216 0 - vertex 17.6504 26.6607 0 - endloop - endfacet - facet normal -0.4459 -0.895083 -0 - outer loop - vertex 18.3311 26.3216 0 - vertex 17.6504 26.6607 -0.2 - vertex 18.3311 26.3216 -0.2 - endloop - endfacet - facet normal -0.437511 -0.899213 0 - outer loop - vertex 18.3311 26.3216 -0.2 - vertex 19.3729 25.8147 0 - vertex 18.3311 26.3216 0 - endloop - endfacet - facet normal -0.437511 -0.899213 -0 - outer loop - vertex 19.3729 25.8147 0 - vertex 18.3311 26.3216 -0.2 - vertex 19.3729 25.8147 -0.2 - endloop - endfacet - facet normal -0.473558 -0.880763 0 - outer loop - vertex 19.3729 25.8147 -0.2 - vertex 20.1936 25.3734 0 - vertex 19.3729 25.8147 0 - endloop - endfacet - facet normal -0.473558 -0.880763 -0 - outer loop - vertex 20.1936 25.3734 0 - vertex 19.3729 25.8147 -0.2 - vertex 20.1936 25.3734 -0.2 - endloop - endfacet - facet normal -0.521003 -0.853555 0 - outer loop - vertex 20.1936 25.3734 -0.2 - vertex 20.53 25.168 0 - vertex 20.1936 25.3734 0 - endloop - endfacet - facet normal -0.521003 -0.853555 -0 - outer loop - vertex 20.53 25.168 0 - vertex 20.1936 25.3734 -0.2 - vertex 20.53 25.168 -0.2 - endloop - endfacet - facet normal -0.565431 -0.824796 0 - outer loop - vertex 20.53 25.168 -0.2 - vertex 20.8221 24.9679 0 - vertex 20.53 25.168 0 - endloop - endfacet - facet normal -0.565431 -0.824796 -0 - outer loop - vertex 20.8221 24.9679 0 - vertex 20.53 25.168 -0.2 - vertex 20.8221 24.9679 -0.2 - endloop - endfacet - facet normal -0.620484 -0.784219 0 - outer loop - vertex 20.8221 24.9679 -0.2 - vertex 21.0733 24.7691 0 - vertex 20.8221 24.9679 0 - endloop - endfacet - facet normal -0.620484 -0.784219 -0 - outer loop - vertex 21.0733 24.7691 0 - vertex 20.8221 24.9679 -0.2 - vertex 21.0733 24.7691 -0.2 - endloop - endfacet - facet normal -0.684731 -0.728796 0 - outer loop - vertex 21.0733 24.7691 -0.2 - vertex 21.2873 24.568 0 - vertex 21.0733 24.7691 0 - endloop - endfacet - facet normal -0.684731 -0.728796 -0 - outer loop - vertex 21.2873 24.568 0 - vertex 21.0733 24.7691 -0.2 - vertex 21.2873 24.568 -0.2 - endloop - endfacet - facet normal -0.754027 -0.656843 0 - outer loop - vertex 21.4677 24.3609 -0.2 - vertex 21.2873 24.568 0 - vertex 21.2873 24.568 -0.2 - endloop - endfacet - facet normal -0.754027 -0.656843 0 - outer loop - vertex 21.2873 24.568 0 - vertex 21.4677 24.3609 -0.2 - vertex 21.4677 24.3609 0 - endloop - endfacet - facet normal -0.821674 -0.569958 0 - outer loop - vertex 21.6182 24.144 -0.2 - vertex 21.4677 24.3609 0 - vertex 21.4677 24.3609 -0.2 - endloop - endfacet - facet normal -0.821674 -0.569958 0 - outer loop - vertex 21.4677 24.3609 0 - vertex 21.6182 24.144 -0.2 - vertex 21.6182 24.144 0 - endloop - endfacet - facet normal -0.880428 -0.47418 0 - outer loop - vertex 21.7423 23.9135 -0.2 - vertex 21.6182 24.144 0 - vertex 21.6182 24.144 -0.2 - endloop - endfacet - facet normal -0.880428 -0.47418 0 - outer loop - vertex 21.6182 24.144 0 - vertex 21.7423 23.9135 -0.2 - vertex 21.7423 23.9135 0 - endloop - endfacet - facet normal -0.925485 -0.378785 0 - outer loop - vertex 21.8437 23.6658 -0.2 - vertex 21.7423 23.9135 0 - vertex 21.7423 23.9135 -0.2 - endloop - endfacet - facet normal -0.925485 -0.378785 0 - outer loop - vertex 21.7423 23.9135 0 - vertex 21.8437 23.6658 -0.2 - vertex 21.8437 23.6658 0 - endloop - endfacet - facet normal -0.956187 -0.292757 0 - outer loop - vertex 21.926 23.397 -0.2 - vertex 21.8437 23.6658 0 - vertex 21.8437 23.6658 -0.2 - endloop - endfacet - facet normal -0.956187 -0.292757 0 - outer loop - vertex 21.8437 23.6658 0 - vertex 21.926 23.397 -0.2 - vertex 21.926 23.397 0 - endloop - endfacet - facet normal -0.975069 -0.221901 0 - outer loop - vertex 21.9928 23.1034 -0.2 - vertex 21.926 23.397 0 - vertex 21.926 23.397 -0.2 - endloop - endfacet - facet normal -0.975069 -0.221901 0 - outer loop - vertex 21.926 23.397 0 - vertex 21.9928 23.1034 -0.2 - vertex 21.9928 23.1034 0 - endloop - endfacet - facet normal -0.988902 -0.14857 0 - outer loop - vertex 22.0944 22.427 -0.2 - vertex 21.9928 23.1034 0 - vertex 21.9928 23.1034 -0.2 - endloop - endfacet - facet normal -0.988902 -0.14857 0 - outer loop - vertex 21.9928 23.1034 0 - vertex 22.0944 22.427 -0.2 - vertex 22.0944 22.427 0 - endloop - endfacet - facet normal -0.986323 -0.164825 0 - outer loop - vertex 22.1689 21.9813 -0.2 - vertex 22.0944 22.427 0 - vertex 22.0944 22.427 -0.2 - endloop - endfacet - facet normal -0.986323 -0.164825 0 - outer loop - vertex 22.0944 22.427 0 - vertex 22.1689 21.9813 -0.2 - vertex 22.1689 21.9813 0 - endloop - endfacet - facet normal -0.960165 -0.279433 0 - outer loop - vertex 22.2815 21.5943 -0.2 - vertex 22.1689 21.9813 0 - vertex 22.1689 21.9813 -0.2 - endloop - endfacet - facet normal -0.960165 -0.279433 0 - outer loop - vertex 22.1689 21.9813 0 - vertex 22.2815 21.5943 -0.2 - vertex 22.2815 21.5943 0 - endloop - endfacet - facet normal -0.907871 -0.41925 0 - outer loop - vertex 22.4341 21.2638 -0.2 - vertex 22.2815 21.5943 0 - vertex 22.2815 21.5943 -0.2 - endloop - endfacet - facet normal -0.907871 -0.41925 0 - outer loop - vertex 22.2815 21.5943 0 - vertex 22.4341 21.2638 -0.2 - vertex 22.4341 21.2638 0 - endloop - endfacet - facet normal -0.817597 -0.575791 0 - outer loop - vertex 22.6286 20.9877 -0.2 - vertex 22.4341 21.2638 0 - vertex 22.4341 21.2638 -0.2 - endloop - endfacet - facet normal -0.817597 -0.575791 0 - outer loop - vertex 22.4341 21.2638 0 - vertex 22.6286 20.9877 -0.2 - vertex 22.6286 20.9877 0 - endloop - endfacet - facet normal -0.721714 -0.692192 0 - outer loop - vertex 22.7421 20.8693 -0.2 - vertex 22.6286 20.9877 0 - vertex 22.6286 20.9877 -0.2 - endloop - endfacet - facet normal -0.721714 -0.692192 0 - outer loop - vertex 22.6286 20.9877 0 - vertex 22.7421 20.8693 -0.2 - vertex 22.7421 20.8693 0 - endloop - endfacet - facet normal -0.646202 -0.763167 0 - outer loop - vertex 22.7421 20.8693 -0.2 - vertex 22.8668 20.7638 0 - vertex 22.7421 20.8693 0 - endloop - endfacet - facet normal -0.646202 -0.763167 -0 - outer loop - vertex 22.8668 20.7638 0 - vertex 22.7421 20.8693 -0.2 - vertex 22.8668 20.7638 -0.2 - endloop - endfacet - facet normal -0.522339 -0.852738 0 - outer loop - vertex 22.8668 20.7638 -0.2 - vertex 23.1504 20.59 0 - vertex 22.8668 20.7638 0 - endloop - endfacet - facet normal -0.522339 -0.852738 -0 - outer loop - vertex 23.1504 20.59 0 - vertex 22.8668 20.7638 -0.2 - vertex 23.1504 20.59 -0.2 - endloop - endfacet - facet normal -0.355133 -0.934816 0 - outer loop - vertex 23.1504 20.59 -0.2 - vertex 23.4814 20.4643 0 - vertex 23.1504 20.59 0 - endloop - endfacet - facet normal -0.355133 -0.934816 -0 - outer loop - vertex 23.4814 20.4643 0 - vertex 23.1504 20.59 -0.2 - vertex 23.4814 20.4643 -0.2 - endloop - endfacet - facet normal -0.205594 -0.978637 0 - outer loop - vertex 23.4814 20.4643 -0.2 - vertex 23.8617 20.3844 0 - vertex 23.4814 20.4643 0 - endloop - endfacet - facet normal -0.205594 -0.978637 -0 - outer loop - vertex 23.8617 20.3844 0 - vertex 23.4814 20.4643 -0.2 - vertex 23.8617 20.3844 -0.2 - endloop - endfacet - facet normal -0.166383 -0.986061 0 - outer loop - vertex 23.8617 20.3844 -0.2 - vertex 24.2028 20.3268 0 - vertex 23.8617 20.3844 0 - endloop - endfacet - facet normal -0.166383 -0.986061 -0 - outer loop - vertex 24.2028 20.3268 0 - vertex 23.8617 20.3844 -0.2 - vertex 24.2028 20.3268 -0.2 - endloop - endfacet - facet normal -0.222634 -0.974902 0 - outer loop - vertex 24.2028 20.3268 -0.2 - vertex 24.5205 20.2543 0 - vertex 24.2028 20.3268 0 - endloop - endfacet - facet normal -0.222634 -0.974902 -0 - outer loop - vertex 24.5205 20.2543 0 - vertex 24.2028 20.3268 -0.2 - vertex 24.5205 20.2543 -0.2 - endloop - endfacet - facet normal -0.285939 -0.958248 0 - outer loop - vertex 24.5205 20.2543 -0.2 - vertex 24.8151 20.1664 0 - vertex 24.5205 20.2543 0 - endloop - endfacet - facet normal -0.285939 -0.958248 -0 - outer loop - vertex 24.8151 20.1664 0 - vertex 24.5205 20.2543 -0.2 - vertex 24.8151 20.1664 -0.2 - endloop - endfacet - facet normal -0.356177 -0.934419 0 - outer loop - vertex 24.8151 20.1664 -0.2 - vertex 25.087 20.0627 0 - vertex 24.8151 20.1664 0 - endloop - endfacet - facet normal -0.356177 -0.934419 -0 - outer loop - vertex 25.087 20.0627 0 - vertex 24.8151 20.1664 -0.2 - vertex 25.087 20.0627 -0.2 - endloop - endfacet - facet normal -0.432613 -0.90158 0 - outer loop - vertex 25.087 20.0627 -0.2 - vertex 25.3364 19.943 0 - vertex 25.087 20.0627 0 - endloop - endfacet - facet normal -0.432613 -0.90158 -0 - outer loop - vertex 25.3364 19.943 0 - vertex 25.087 20.0627 -0.2 - vertex 25.3364 19.943 -0.2 - endloop - endfacet - facet normal -0.513641 -0.858005 0 - outer loop - vertex 25.3364 19.943 -0.2 - vertex 25.5639 19.8069 0 - vertex 25.3364 19.943 0 - endloop - endfacet - facet normal -0.513641 -0.858005 -0 - outer loop - vertex 25.5639 19.8069 0 - vertex 25.3364 19.943 -0.2 - vertex 25.5639 19.8069 -0.2 - endloop - endfacet - facet normal -0.59661 -0.802531 0 - outer loop - vertex 25.5639 19.8069 -0.2 - vertex 25.7697 19.6539 0 - vertex 25.5639 19.8069 0 - endloop - endfacet - facet normal -0.59661 -0.802531 -0 - outer loop - vertex 25.7697 19.6539 0 - vertex 25.5639 19.8069 -0.2 - vertex 25.7697 19.6539 -0.2 - endloop - endfacet - facet normal -0.678036 -0.735029 0 - outer loop - vertex 25.7697 19.6539 -0.2 - vertex 25.9541 19.4837 0 - vertex 25.7697 19.6539 0 - endloop - endfacet - facet normal -0.678036 -0.735029 -0 - outer loop - vertex 25.9541 19.4837 0 - vertex 25.7697 19.6539 -0.2 - vertex 25.9541 19.4837 -0.2 - endloop - endfacet - facet normal -0.75405 -0.656818 0 - outer loop - vertex 26.1176 19.296 -0.2 - vertex 25.9541 19.4837 0 - vertex 25.9541 19.4837 -0.2 - endloop - endfacet - facet normal -0.75405 -0.656818 0 - outer loop - vertex 25.9541 19.4837 0 - vertex 26.1176 19.296 -0.2 - vertex 26.1176 19.296 0 - endloop - endfacet - facet normal -0.821173 -0.570679 0 - outer loop - vertex 26.2605 19.0904 -0.2 - vertex 26.1176 19.296 0 - vertex 26.1176 19.296 -0.2 - endloop - endfacet - facet normal -0.821173 -0.570679 0 - outer loop - vertex 26.1176 19.296 0 - vertex 26.2605 19.0904 -0.2 - vertex 26.2605 19.0904 0 - endloop - endfacet - facet normal -0.877038 -0.480422 0 - outer loop - vertex 26.3832 18.8665 -0.2 - vertex 26.2605 19.0904 0 - vertex 26.2605 19.0904 -0.2 - endloop - endfacet - facet normal -0.877038 -0.480422 0 - outer loop - vertex 26.2605 19.0904 0 - vertex 26.3832 18.8665 -0.2 - vertex 26.3832 18.8665 0 - endloop - endfacet - facet normal -0.920777 -0.390089 0 - outer loop - vertex 26.4859 18.624 -0.2 - vertex 26.3832 18.8665 0 - vertex 26.3832 18.8665 -0.2 - endloop - endfacet - facet normal -0.920777 -0.390089 0 - outer loop - vertex 26.3832 18.8665 0 - vertex 26.4859 18.624 -0.2 - vertex 26.4859 18.624 0 - endloop - endfacet - facet normal -0.952936 -0.30317 0 - outer loop - vertex 26.5691 18.3624 -0.2 - vertex 26.4859 18.624 0 - vertex 26.4859 18.624 -0.2 - endloop - endfacet - facet normal -0.952936 -0.30317 0 - outer loop - vertex 26.4859 18.624 0 - vertex 26.5691 18.3624 -0.2 - vertex 26.5691 18.3624 0 - endloop - endfacet - facet normal -0.974998 -0.222215 0 - outer loop - vertex 26.6332 18.0815 -0.2 - vertex 26.5691 18.3624 0 - vertex 26.5691 18.3624 -0.2 - endloop - endfacet - facet normal -0.974998 -0.222215 0 - outer loop - vertex 26.5691 18.3624 0 - vertex 26.6332 18.0815 -0.2 - vertex 26.6332 18.0815 0 - endloop - endfacet - facet normal -0.98889 -0.148648 0 - outer loop - vertex 26.6784 17.7808 -0.2 - vertex 26.6332 18.0815 0 - vertex 26.6332 18.0815 -0.2 - endloop - endfacet - facet normal -0.98889 -0.148648 0 - outer loop - vertex 26.6332 18.0815 0 - vertex 26.6784 17.7808 -0.2 - vertex 26.6784 17.7808 0 - endloop - endfacet - facet normal -0.996548 -0.083019 0 - outer loop - vertex 26.7051 17.4601 -0.2 - vertex 26.6784 17.7808 0 - vertex 26.6784 17.7808 -0.2 - endloop - endfacet - facet normal -0.996548 -0.083019 0 - outer loop - vertex 26.6784 17.7808 0 - vertex 26.7051 17.4601 -0.2 - vertex 26.7051 17.4601 0 - endloop - endfacet - facet normal -0.991209 -0.132303 0 - outer loop - vertex 26.7571 17.0706 -0.2 - vertex 26.7051 17.4601 0 - vertex 26.7051 17.4601 -0.2 - endloop - endfacet - facet normal -0.991209 -0.132303 0 - outer loop - vertex 26.7051 17.4601 0 - vertex 26.7571 17.0706 -0.2 - vertex 26.7571 17.0706 0 - endloop - endfacet - facet normal -0.970274 -0.242008 0 - outer loop - vertex 26.8653 16.6367 -0.2 - vertex 26.7571 17.0706 0 - vertex 26.7571 17.0706 -0.2 - endloop - endfacet - facet normal -0.970274 -0.242008 0 - outer loop - vertex 26.7571 17.0706 0 - vertex 26.8653 16.6367 -0.2 - vertex 26.8653 16.6367 0 - endloop - endfacet - facet normal -0.944031 -0.329856 0 - outer loop - vertex 27.0139 16.2113 -0.2 - vertex 26.8653 16.6367 0 - vertex 26.8653 16.6367 -0.2 - endloop - endfacet - facet normal -0.944031 -0.329856 0 - outer loop - vertex 26.8653 16.6367 0 - vertex 27.0139 16.2113 -0.2 - vertex 27.0139 16.2113 0 - endloop - endfacet - facet normal -0.902944 -0.429757 0 - outer loop - vertex 27.1872 15.8473 -0.2 - vertex 27.0139 16.2113 0 - vertex 27.0139 16.2113 -0.2 - endloop - endfacet - facet normal -0.902944 -0.429757 0 - outer loop - vertex 27.0139 16.2113 0 - vertex 27.1872 15.8473 -0.2 - vertex 27.1872 15.8473 0 - endloop - endfacet - facet normal -0.882286 -0.470713 0 - outer loop - vertex 27.3198 15.5987 -0.2 - vertex 27.1872 15.8473 0 - vertex 27.1872 15.8473 -0.2 - endloop - endfacet - facet normal -0.882286 -0.470713 0 - outer loop - vertex 27.1872 15.8473 0 - vertex 27.3198 15.5987 -0.2 - vertex 27.3198 15.5987 0 - endloop - endfacet - facet normal -0.922173 -0.386777 0 - outer loop - vertex 27.4227 15.3534 -0.2 - vertex 27.3198 15.5987 0 - vertex 27.3198 15.5987 -0.2 - endloop - endfacet - facet normal -0.922173 -0.386777 0 - outer loop - vertex 27.3198 15.5987 0 - vertex 27.4227 15.3534 -0.2 - vertex 27.4227 15.3534 0 - endloop - endfacet - facet normal -0.962502 -0.271275 0 - outer loop - vertex 27.4995 15.0808 -0.2 - vertex 27.4227 15.3534 0 - vertex 27.4227 15.3534 -0.2 - endloop - endfacet - facet normal -0.962502 -0.271275 0 - outer loop - vertex 27.4227 15.3534 0 - vertex 27.4995 15.0808 -0.2 - vertex 27.4995 15.0808 0 - endloop - endfacet - facet normal -0.986697 -0.162567 0 - outer loop - vertex 27.5539 14.7505 -0.2 - vertex 27.4995 15.0808 0 - vertex 27.4995 15.0808 -0.2 - endloop - endfacet - facet normal -0.986697 -0.162567 0 - outer loop - vertex 27.4995 15.0808 0 - vertex 27.5539 14.7505 -0.2 - vertex 27.5539 14.7505 0 - endloop - endfacet - facet normal -0.996383 -0.0849723 0 - outer loop - vertex 27.5896 14.3319 -0.2 - vertex 27.5539 14.7505 0 - vertex 27.5539 14.7505 -0.2 - endloop - endfacet - facet normal -0.996383 -0.0849723 0 - outer loop - vertex 27.5539 14.7505 0 - vertex 27.5896 14.3319 -0.2 - vertex 27.5896 14.3319 0 - endloop - endfacet - facet normal -0.999262 -0.0383987 0 - outer loop - vertex 27.6103 13.7945 -0.2 - vertex 27.5896 14.3319 0 - vertex 27.5896 14.3319 -0.2 - endloop - endfacet - facet normal -0.999262 -0.0383987 0 - outer loop - vertex 27.5896 14.3319 0 - vertex 27.6103 13.7945 -0.2 - vertex 27.6103 13.7945 0 - endloop - endfacet - facet normal -0.999976 -0.0069841 0 - outer loop - vertex 27.6211 12.2412 -0.2 - vertex 27.6103 13.7945 0 - vertex 27.6103 13.7945 -0.2 - endloop - endfacet - facet normal -0.999976 -0.0069841 0 - outer loop - vertex 27.6103 13.7945 0 - vertex 27.6211 12.2412 -0.2 - vertex 27.6211 12.2412 0 - endloop - endfacet - facet normal -0.999918 0.0127851 0 - outer loop - vertex 27.6024 10.7775 -0.2 - vertex 27.6211 12.2412 0 - vertex 27.6211 12.2412 -0.2 - endloop - endfacet - facet normal -0.999918 0.0127851 0 - outer loop - vertex 27.6211 12.2412 0 - vertex 27.6024 10.7775 -0.2 - vertex 27.6024 10.7775 0 - endloop - endfacet - facet normal -0.999067 0.0431942 0 - outer loop - vertex 27.5775 10.2019 -0.2 - vertex 27.6024 10.7775 0 - vertex 27.6024 10.7775 -0.2 - endloop - endfacet - facet normal -0.999067 0.0431942 0 - outer loop - vertex 27.6024 10.7775 0 - vertex 27.5775 10.2019 -0.2 - vertex 27.5775 10.2019 0 - endloop - endfacet - facet normal -0.997132 0.0756876 0 - outer loop - vertex 27.5397 9.70386 -0.2 - vertex 27.5775 10.2019 0 - vertex 27.5775 10.2019 -0.2 - endloop - endfacet - facet normal -0.997132 0.0756876 0 - outer loop - vertex 27.5775 10.2019 0 - vertex 27.5397 9.70386 -0.2 - vertex 27.5397 9.70386 0 - endloop - endfacet - facet normal -0.992933 0.118678 0 - outer loop - vertex 27.4871 9.26334 -0.2 - vertex 27.5397 9.70386 0 - vertex 27.5397 9.70386 -0.2 - endloop - endfacet - facet normal -0.992933 0.118678 0 - outer loop - vertex 27.5397 9.70386 0 - vertex 27.4871 9.26334 -0.2 - vertex 27.4871 9.26334 0 - endloop - endfacet - facet normal -0.985483 0.169774 0 - outer loop - vertex 27.4176 8.86037 -0.2 - vertex 27.4871 9.26334 0 - vertex 27.4871 9.26334 -0.2 - endloop - endfacet - facet normal -0.985483 0.169774 0 - outer loop - vertex 27.4871 9.26334 0 - vertex 27.4176 8.86037 -0.2 - vertex 27.4176 8.86037 0 - endloop - endfacet - facet normal -0.974842 0.222899 0 - outer loop - vertex 27.3295 8.47496 -0.2 - vertex 27.4176 8.86037 0 - vertex 27.4176 8.86037 -0.2 - endloop - endfacet - facet normal -0.974842 0.222899 0 - outer loop - vertex 27.4176 8.86037 0 - vertex 27.3295 8.47496 -0.2 - vertex 27.3295 8.47496 0 - endloop - endfacet - facet normal -0.962864 0.269986 0 - outer loop - vertex 27.2208 8.08714 -0.2 - vertex 27.3295 8.47496 0 - vertex 27.3295 8.47496 -0.2 - endloop - endfacet - facet normal -0.962864 0.269986 0 - outer loop - vertex 27.3295 8.47496 0 - vertex 27.2208 8.08714 -0.2 - vertex 27.2208 8.08714 0 - endloop - endfacet - facet normal -0.961499 0.274809 0 - outer loop - vertex 27.1048 7.68143 -0.2 - vertex 27.2208 8.08714 0 - vertex 27.2208 8.08714 -0.2 - endloop - endfacet - facet normal -0.961499 0.274809 0 - outer loop - vertex 27.2208 8.08714 0 - vertex 27.1048 7.68143 -0.2 - vertex 27.1048 7.68143 0 - endloop - endfacet - facet normal -0.973193 0.229988 0 - outer loop - vertex 27.0158 7.30485 -0.2 - vertex 27.1048 7.68143 0 - vertex 27.1048 7.68143 -0.2 - endloop - endfacet - facet normal -0.973193 0.229988 0 - outer loop - vertex 27.1048 7.68143 0 - vertex 27.0158 7.30485 -0.2 - vertex 27.0158 7.30485 0 - endloop - endfacet - facet normal -0.985852 0.167619 0 - outer loop - vertex 26.9517 6.92758 -0.2 - vertex 27.0158 7.30485 0 - vertex 27.0158 7.30485 -0.2 - endloop - endfacet - facet normal -0.985852 0.167619 0 - outer loop - vertex 27.0158 7.30485 0 - vertex 26.9517 6.92758 -0.2 - vertex 26.9517 6.92758 0 - endloop - endfacet - facet normal -0.994881 0.101051 0 - outer loop - vertex 26.9103 6.51977 -0.2 - vertex 26.9517 6.92758 0 - vertex 26.9517 6.92758 -0.2 - endloop - endfacet - facet normal -0.994881 0.101051 0 - outer loop - vertex 26.9517 6.92758 0 - vertex 26.9103 6.51977 -0.2 - vertex 26.9103 6.51977 0 - endloop - endfacet - facet normal -0.999013 0.0444183 0 - outer loop - vertex 26.8894 6.05157 -0.2 - vertex 26.9103 6.51977 0 - vertex 26.9103 6.51977 -0.2 - endloop - endfacet - facet normal -0.999013 0.0444183 0 - outer loop - vertex 26.9103 6.51977 0 - vertex 26.8894 6.05157 -0.2 - vertex 26.8894 6.05157 0 - endloop - endfacet - facet normal -0.999991 0.00417733 0 - outer loop - vertex 26.8871 5.49316 -0.2 - vertex 26.8894 6.05157 0 - vertex 26.8894 6.05157 -0.2 - endloop - endfacet - facet normal -0.999991 0.00417733 0 - outer loop - vertex 26.8894 6.05157 0 - vertex 26.8871 5.49316 -0.2 - vertex 26.8871 5.49316 0 - endloop - endfacet - facet normal -0.999606 -0.0280683 0 - outer loop - vertex 26.9294 3.98634 -0.2 - vertex 26.8871 5.49316 0 - vertex 26.8871 5.49316 -0.2 - endloop - endfacet - facet normal -0.999606 -0.0280683 0 - outer loop - vertex 26.8871 5.49316 0 - vertex 26.9294 3.98634 -0.2 - vertex 26.9294 3.98634 0 - endloop - endfacet - facet normal -0.999521 -0.0309525 0 - outer loop - vertex 26.9615 2.94949 -0.2 - vertex 26.9294 3.98634 0 - vertex 26.9294 3.98634 -0.2 - endloop - endfacet - facet normal -0.999521 -0.0309525 0 - outer loop - vertex 26.9294 3.98634 0 - vertex 26.9615 2.94949 -0.2 - vertex 26.9615 2.94949 0 - endloop - endfacet - facet normal -0.999992 -0.00407505 0 - outer loop - vertex 26.9647 2.16551 -0.2 - vertex 26.9615 2.94949 0 - vertex 26.9615 2.94949 -0.2 - endloop - endfacet - facet normal -0.999992 -0.00407505 0 - outer loop - vertex 26.9615 2.94949 0 - vertex 26.9647 2.16551 -0.2 - vertex 26.9647 2.16551 0 - endloop - endfacet - facet normal -0.998255 0.0590558 0 - outer loop - vertex 26.9324 1.61996 -0.2 - vertex 26.9647 2.16551 0 - vertex 26.9647 2.16551 -0.2 - endloop - endfacet - facet normal -0.998255 0.0590558 0 - outer loop - vertex 26.9647 2.16551 0 - vertex 26.9324 1.61996 -0.2 - vertex 26.9324 1.61996 0 - endloop - endfacet - facet normal -0.986243 0.165303 0 - outer loop - vertex 26.901 1.43209 -0.2 - vertex 26.9324 1.61996 0 - vertex 26.9324 1.61996 -0.2 - endloop - endfacet - facet normal -0.986243 0.165303 0 - outer loop - vertex 26.9324 1.61996 0 - vertex 26.901 1.43209 -0.2 - vertex 26.901 1.43209 0 - endloop - endfacet - facet normal -0.952336 0.30505 0 - outer loop - vertex 26.8581 1.29842 -0.2 - vertex 26.901 1.43209 0 - vertex 26.901 1.43209 -0.2 - endloop - endfacet - facet normal -0.952336 0.30505 0 - outer loop - vertex 26.901 1.43209 0 - vertex 26.8581 1.29842 -0.2 - vertex 26.8581 1.29842 0 - endloop - endfacet - facet normal -0.828352 0.560208 0 - outer loop - vertex 26.8032 1.21715 -0.2 - vertex 26.8581 1.29842 0 - vertex 26.8581 1.29842 -0.2 - endloop - endfacet - facet normal -0.828352 0.560208 0 - outer loop - vertex 26.8581 1.29842 0 - vertex 26.8032 1.21715 -0.2 - vertex 26.8032 1.21715 0 - endloop - endfacet - facet normal -0.411544 0.91139 0 - outer loop - vertex 26.8032 1.21715 -0.2 - vertex 26.7352 1.18648 0 - vertex 26.8032 1.21715 0 - endloop - endfacet - facet normal -0.411544 0.91139 0 - outer loop - vertex 26.7352 1.18648 0 - vertex 26.8032 1.21715 -0.2 - vertex 26.7352 1.18648 -0.2 - endloop - endfacet - facet normal 0.216454 0.976293 -0 - outer loop - vertex 26.7352 1.18648 -0.2 - vertex 26.6535 1.20459 0 - vertex 26.7352 1.18648 0 - endloop - endfacet - facet normal 0.216454 0.976293 0 - outer loop - vertex 26.6535 1.20459 0 - vertex 26.7352 1.18648 -0.2 - vertex 26.6535 1.20459 -0.2 - endloop - endfacet - facet normal 0.559991 0.828498 -0 - outer loop - vertex 26.6535 1.20459 -0.2 - vertex 26.5572 1.2697 0 - vertex 26.6535 1.20459 0 - endloop - endfacet - facet normal 0.559991 0.828498 0 - outer loop - vertex 26.5572 1.2697 0 - vertex 26.6535 1.20459 -0.2 - vertex 26.5572 1.2697 -0.2 - endloop - endfacet - facet normal 0.702452 0.711731 -0 - outer loop - vertex 26.5572 1.2697 -0.2 - vertex 26.4455 1.37999 0 - vertex 26.5572 1.2697 0 - endloop - endfacet - facet normal 0.702452 0.711731 0 - outer loop - vertex 26.4455 1.37999 0 - vertex 26.5572 1.2697 -0.2 - vertex 26.4455 1.37999 -0.2 - endloop - endfacet - facet normal 0.76838 0.639993 0 - outer loop - vertex 26.4455 1.37999 0 - vertex 26.3175 1.53367 -0.2 - vertex 26.3175 1.53367 0 - endloop - endfacet - facet normal 0.76838 0.639993 0 - outer loop - vertex 26.3175 1.53367 -0.2 - vertex 26.4455 1.37999 0 - vertex 26.4455 1.37999 -0.2 - endloop - endfacet - facet normal 0.813139 0.58207 0 - outer loop - vertex 26.3175 1.53367 0 - vertex 26.0094 1.96397 -0.2 - vertex 26.0094 1.96397 0 - endloop - endfacet - facet normal 0.813139 0.58207 0 - outer loop - vertex 26.0094 1.96397 -0.2 - vertex 26.3175 1.53367 0 - vertex 26.3175 1.53367 -0.2 - endloop - endfacet - facet normal 0.812733 0.582636 0 - outer loop - vertex 26.0094 1.96397 0 - vertex 25.8138 2.23679 -0.2 - vertex 25.8138 2.23679 0 - endloop - endfacet - facet normal 0.812733 0.582636 0 - outer loop - vertex 25.8138 2.23679 -0.2 - vertex 26.0094 1.96397 0 - vertex 26.0094 1.96397 -0.2 - endloop - endfacet - facet normal 0.76488 0.644173 0 - outer loop - vertex 25.8138 2.23679 0 - vertex 25.6376 2.44612 -0.2 - vertex 25.6376 2.44612 0 - endloop - endfacet - facet normal 0.76488 0.644173 0 - outer loop - vertex 25.6376 2.44612 -0.2 - vertex 25.8138 2.23679 0 - vertex 25.8138 2.23679 -0.2 - endloop - endfacet - facet normal 0.675362 0.737487 -0 - outer loop - vertex 25.6376 2.44612 -0.2 - vertex 25.4766 2.59351 0 - vertex 25.6376 2.44612 0 - endloop - endfacet - facet normal 0.675362 0.737487 0 - outer loop - vertex 25.4766 2.59351 0 - vertex 25.6376 2.44612 -0.2 - vertex 25.4766 2.59351 -0.2 - endloop - endfacet - facet normal 0.502892 0.86435 -0 - outer loop - vertex 25.4766 2.59351 -0.2 - vertex 25.3271 2.68052 0 - vertex 25.4766 2.59351 0 - endloop - endfacet - facet normal 0.502892 0.86435 0 - outer loop - vertex 25.3271 2.68052 0 - vertex 25.4766 2.59351 -0.2 - vertex 25.3271 2.68052 -0.2 - endloop - endfacet - facet normal 0.194571 0.980889 -0 - outer loop - vertex 25.3271 2.68052 -0.2 - vertex 25.185 2.7087 0 - vertex 25.3271 2.68052 0 - endloop - endfacet - facet normal 0.194571 0.980889 0 - outer loop - vertex 25.185 2.7087 0 - vertex 25.3271 2.68052 -0.2 - vertex 25.185 2.7087 -0.2 - endloop - endfacet - facet normal -0.205381 0.978682 0 - outer loop - vertex 25.185 2.7087 -0.2 - vertex 25.0464 2.67962 0 - vertex 25.185 2.7087 0 - endloop - endfacet - facet normal -0.205381 0.978682 0 - outer loop - vertex 25.0464 2.67962 0 - vertex 25.185 2.7087 -0.2 - vertex 25.0464 2.67962 -0.2 - endloop - endfacet - facet normal -0.520731 0.853721 0 - outer loop - vertex 25.0464 2.67962 -0.2 - vertex 24.9074 2.59483 0 - vertex 25.0464 2.67962 0 - endloop - endfacet - facet normal -0.520731 0.853721 0 - outer loop - vertex 24.9074 2.59483 0 - vertex 25.0464 2.67962 -0.2 - vertex 24.9074 2.59483 -0.2 - endloop - endfacet - facet normal -0.695882 0.718157 0 - outer loop - vertex 24.9074 2.59483 -0.2 - vertex 24.764 2.4559 0 - vertex 24.9074 2.59483 0 - endloop - endfacet - facet normal -0.695882 0.718157 0 - outer loop - vertex 24.764 2.4559 0 - vertex 24.9074 2.59483 -0.2 - vertex 24.764 2.4559 -0.2 - endloop - endfacet - facet normal -0.621809 0.783169 0 - outer loop - vertex 24.764 2.4559 -0.2 - vertex 24.6285 2.34829 0 - vertex 24.764 2.4559 0 - endloop - endfacet - facet normal -0.621809 0.783169 0 - outer loop - vertex 24.6285 2.34829 0 - vertex 24.764 2.4559 -0.2 - vertex 24.6285 2.34829 -0.2 - endloop - endfacet - facet normal -0.432349 0.901706 0 - outer loop - vertex 24.6285 2.34829 -0.2 - vertex 24.4388 2.25734 0 - vertex 24.6285 2.34829 0 - endloop - endfacet - facet normal -0.432349 0.901706 0 - outer loop - vertex 24.4388 2.25734 0 - vertex 24.6285 2.34829 -0.2 - vertex 24.4388 2.25734 -0.2 - endloop - endfacet - facet normal -0.283745 0.9589 0 - outer loop - vertex 24.4388 2.25734 -0.2 - vertex 24.2201 2.19262 0 - vertex 24.4388 2.25734 0 - endloop - endfacet - facet normal -0.283745 0.9589 0 - outer loop - vertex 24.2201 2.19262 0 - vertex 24.4388 2.25734 -0.2 - vertex 24.2201 2.19262 -0.2 - endloop - endfacet - facet normal -0.128745 0.991678 0 - outer loop - vertex 24.2201 2.19262 -0.2 - vertex 23.9975 2.16372 0 - vertex 24.2201 2.19262 0 - endloop - endfacet - facet normal -0.128745 0.991678 0 - outer loop - vertex 23.9975 2.16372 0 - vertex 24.2201 2.19262 -0.2 - vertex 23.9975 2.16372 -0.2 - endloop - endfacet - facet normal -0.0892316 0.996011 0 - outer loop - vertex 23.9975 2.16372 -0.2 - vertex 23.7673 2.14309 0 - vertex 23.9975 2.16372 0 - endloop - endfacet - facet normal -0.0892316 0.996011 0 - outer loop - vertex 23.7673 2.14309 0 - vertex 23.9975 2.16372 -0.2 - vertex 23.7673 2.14309 -0.2 - endloop - endfacet - facet normal -0.173492 0.984835 0 - outer loop - vertex 23.7673 2.14309 -0.2 - vertex 23.5277 2.10089 0 - vertex 23.7673 2.14309 0 - endloop - endfacet - facet normal -0.173492 0.984835 0 - outer loop - vertex 23.5277 2.10089 0 - vertex 23.7673 2.14309 -0.2 - vertex 23.5277 2.10089 -0.2 - endloop - endfacet - facet normal -0.252811 0.967516 0 - outer loop - vertex 23.5277 2.10089 -0.2 - vertex 23.3072 2.04326 0 - vertex 23.5277 2.10089 0 - endloop - endfacet - facet normal -0.252811 0.967516 0 - outer loop - vertex 23.3072 2.04326 0 - vertex 23.5277 2.10089 -0.2 - vertex 23.3072 2.04326 -0.2 - endloop - endfacet - facet normal -0.360079 0.932922 0 - outer loop - vertex 23.3072 2.04326 -0.2 - vertex 23.0469 1.94283 0 - vertex 23.3072 2.04326 0 - endloop - endfacet - facet normal -0.360079 0.932922 0 - outer loop - vertex 23.0469 1.94283 0 - vertex 23.3072 2.04326 -0.2 - vertex 23.0469 1.94283 -0.2 - endloop - endfacet - facet normal -0.120091 0.992763 0 - outer loop - vertex 23.0469 1.94283 -0.2 - vertex 22.9727 1.93385 0 - vertex 23.0469 1.94283 0 - endloop - endfacet - facet normal -0.120091 0.992763 0 - outer loop - vertex 22.9727 1.93385 0 - vertex 23.0469 1.94283 -0.2 - vertex 22.9727 1.93385 -0.2 - endloop - endfacet - facet normal 0.220007 0.975498 -0 - outer loop - vertex 22.9727 1.93385 -0.2 - vertex 22.9112 1.94773 0 - vertex 22.9727 1.93385 0 - endloop - endfacet - facet normal 0.220007 0.975498 0 - outer loop - vertex 22.9112 1.94773 0 - vertex 22.9727 1.93385 -0.2 - vertex 22.9112 1.94773 -0.2 - endloop - endfacet - facet normal 0.582178 0.813061 -0 - outer loop - vertex 22.9112 1.94773 -0.2 - vertex 22.8622 1.9828 0 - vertex 22.9112 1.94773 0 - endloop - endfacet - facet normal 0.582178 0.813061 0 - outer loop - vertex 22.8622 1.9828 0 - vertex 22.9112 1.94773 -0.2 - vertex 22.8622 1.9828 -0.2 - endloop - endfacet - facet normal 0.831256 0.55589 0 - outer loop - vertex 22.8622 1.9828 0 - vertex 22.8257 2.03737 -0.2 - vertex 22.8257 2.03737 0 - endloop - endfacet - facet normal 0.831256 0.55589 0 - outer loop - vertex 22.8257 2.03737 -0.2 - vertex 22.8622 1.9828 0 - vertex 22.8622 1.9828 -0.2 - endloop - endfacet - facet normal 0.948775 0.315953 0 - outer loop - vertex 22.8257 2.03737 0 - vertex 22.8016 2.10976 -0.2 - vertex 22.8016 2.10976 0 - endloop - endfacet - facet normal 0.948775 0.315953 0 - outer loop - vertex 22.8016 2.10976 -0.2 - vertex 22.8257 2.03737 0 - vertex 22.8257 2.03737 -0.2 - endloop - endfacet - facet normal 0.998216 0.059713 0 - outer loop - vertex 22.8016 2.10976 0 - vertex 22.7901 2.30129 -0.2 - vertex 22.7901 2.30129 0 - endloop - endfacet - facet normal 0.998216 0.059713 0 - outer loop - vertex 22.7901 2.30129 -0.2 - vertex 22.8016 2.10976 0 - vertex 22.8016 2.10976 -0.2 - endloop - endfacet - facet normal 0.988638 -0.150314 0 - outer loop - vertex 22.7901 2.30129 0 - vertex 22.827 2.54396 -0.2 - vertex 22.827 2.54396 0 - endloop - endfacet - facet normal 0.988638 -0.150314 0 - outer loop - vertex 22.827 2.54396 -0.2 - vertex 22.7901 2.30129 0 - vertex 22.7901 2.30129 -0.2 - endloop - endfacet - facet normal 0.957496 -0.288446 0 - outer loop - vertex 22.827 2.54396 0 - vertex 22.9115 2.82433 -0.2 - vertex 22.9115 2.82433 0 - endloop - endfacet - facet normal 0.957496 -0.288446 0 - outer loop - vertex 22.9115 2.82433 -0.2 - vertex 22.827 2.54396 0 - vertex 22.827 2.54396 -0.2 - endloop - endfacet - facet normal 0.918399 -0.395656 0 - outer loop - vertex 22.9115 2.82433 0 - vertex 23.0427 3.12896 -0.2 - vertex 23.0427 3.12896 0 - endloop - endfacet - facet normal 0.918399 -0.395656 0 - outer loop - vertex 23.0427 3.12896 -0.2 - vertex 22.9115 2.82433 0 - vertex 22.9115 2.82433 -0.2 - endloop - endfacet - facet normal 0.87183 -0.489809 0 - outer loop - vertex 23.0427 3.12896 0 - vertex 23.22 3.44442 -0.2 - vertex 23.22 3.44442 0 - endloop - endfacet - facet normal 0.87183 -0.489809 0 - outer loop - vertex 23.22 3.44442 -0.2 - vertex 23.0427 3.12896 0 - vertex 23.0427 3.12896 -0.2 - endloop - endfacet - facet normal 0.879841 -0.475268 0 - outer loop - vertex 23.22 3.44442 0 - vertex 23.4183 3.81156 -0.2 - vertex 23.4183 3.81156 0 - endloop - endfacet - facet normal 0.879841 -0.475268 0 - outer loop - vertex 23.4183 3.81156 -0.2 - vertex 23.22 3.44442 0 - vertex 23.22 3.44442 -0.2 - endloop - endfacet - facet normal 0.942923 -0.33301 0 - outer loop - vertex 23.4183 3.81156 0 - vertex 23.5494 4.18291 -0.2 - vertex 23.5494 4.18291 0 - endloop - endfacet - facet normal 0.942923 -0.33301 0 - outer loop - vertex 23.5494 4.18291 -0.2 - vertex 23.4183 3.81156 0 - vertex 23.4183 3.81156 -0.2 - endloop - endfacet - facet normal 0.978031 -0.208457 0 - outer loop - vertex 23.5494 4.18291 0 - vertex 23.5897 4.3717 -0.2 - vertex 23.5897 4.3717 0 - endloop - endfacet - facet normal 0.978031 -0.208457 0 - outer loop - vertex 23.5897 4.3717 -0.2 - vertex 23.5494 4.18291 0 - vertex 23.5494 4.18291 -0.2 - endloop - endfacet - facet normal 0.992713 -0.120506 0 - outer loop - vertex 23.5897 4.3717 0 - vertex 23.6129 4.5634 -0.2 - vertex 23.6129 4.5634 0 - endloop - endfacet - facet normal 0.992713 -0.120506 0 - outer loop - vertex 23.6129 4.5634 -0.2 - vertex 23.5897 4.3717 0 - vertex 23.5897 4.3717 -0.2 - endloop - endfacet - facet normal 0.99949 -0.0319444 0 - outer loop - vertex 23.6129 4.5634 0 - vertex 23.6192 4.7586 -0.2 - vertex 23.6192 4.7586 0 - endloop - endfacet - facet normal 0.99949 -0.0319444 0 - outer loop - vertex 23.6192 4.7586 -0.2 - vertex 23.6129 4.5634 0 - vertex 23.6129 4.5634 -0.2 - endloop - endfacet - facet normal 0.998522 0.054345 0 - outer loop - vertex 23.6192 4.7586 0 - vertex 23.6083 4.95794 -0.2 - vertex 23.6083 4.95794 0 - endloop - endfacet - facet normal 0.998522 0.054345 0 - outer loop - vertex 23.6083 4.95794 -0.2 - vertex 23.6192 4.7586 0 - vertex 23.6192 4.7586 -0.2 - endloop - endfacet - facet normal 0.984692 0.174301 0 - outer loop - vertex 23.6083 4.95794 0 - vertex 23.5351 5.37146 -0.2 - vertex 23.5351 5.37146 0 - endloop - endfacet - facet normal 0.984692 0.174301 0 - outer loop - vertex 23.5351 5.37146 -0.2 - vertex 23.6083 4.95794 0 - vertex 23.6083 4.95794 -0.2 - endloop - endfacet - facet normal 0.95097 0.309282 0 - outer loop - vertex 23.5351 5.37146 0 - vertex 23.3929 5.8089 -0.2 - vertex 23.3929 5.8089 0 - endloop - endfacet - facet normal 0.95097 0.309282 0 - outer loop - vertex 23.3929 5.8089 -0.2 - vertex 23.5351 5.37146 0 - vertex 23.5351 5.37146 -0.2 - endloop - endfacet - facet normal 0.910464 0.413588 0 - outer loop - vertex 23.3929 5.8089 0 - vertex 23.1811 6.27516 -0.2 - vertex 23.1811 6.27516 0 - endloop - endfacet - facet normal 0.910464 0.413588 0 - outer loop - vertex 23.1811 6.27516 -0.2 - vertex 23.3929 5.8089 0 - vertex 23.3929 5.8089 -0.2 - endloop - endfacet - facet normal 0.871161 0.490997 0 - outer loop - vertex 23.1811 6.27516 0 - vertex 22.8992 6.77518 -0.2 - vertex 22.8992 6.77518 0 - endloop - endfacet - facet normal 0.871161 0.490997 0 - outer loop - vertex 22.8992 6.77518 -0.2 - vertex 23.1811 6.27516 0 - vertex 23.1811 6.27516 -0.2 - endloop - endfacet - facet normal 0.839072 0.54402 0 - outer loop - vertex 22.8992 6.77518 0 - vertex 22.6364 7.18064 -0.2 - vertex 22.6364 7.18064 0 - endloop - endfacet - facet normal 0.839072 0.54402 0 - outer loop - vertex 22.6364 7.18064 -0.2 - vertex 22.8992 6.77518 0 - vertex 22.8992 6.77518 -0.2 - endloop - endfacet - facet normal 0.802153 0.597118 0 - outer loop - vertex 22.6364 7.18064 0 - vertex 22.3621 7.54907 -0.2 - vertex 22.3621 7.54907 0 - endloop - endfacet - facet normal 0.802153 0.597118 0 - outer loop - vertex 22.3621 7.54907 -0.2 - vertex 22.6364 7.18064 0 - vertex 22.6364 7.18064 -0.2 - endloop - endfacet - facet normal 0.754344 0.65648 0 - outer loop - vertex 22.3621 7.54907 0 - vertex 22.0631 7.89267 -0.2 - vertex 22.0631 7.89267 0 - endloop - endfacet - facet normal 0.754344 0.65648 0 - outer loop - vertex 22.0631 7.89267 -0.2 - vertex 22.3621 7.54907 0 - vertex 22.3621 7.54907 -0.2 - endloop - endfacet - facet normal 0.700509 0.713644 -0 - outer loop - vertex 22.0631 7.89267 -0.2 - vertex 21.7259 8.22365 0 - vertex 22.0631 7.89267 0 - endloop - endfacet - facet normal 0.700509 0.713644 0 - outer loop - vertex 21.7259 8.22365 0 - vertex 22.0631 7.89267 -0.2 - vertex 21.7259 8.22365 -0.2 - endloop - endfacet - facet normal 0.647802 0.761808 -0 - outer loop - vertex 21.7259 8.22365 -0.2 - vertex 21.3371 8.55423 0 - vertex 21.7259 8.22365 0 - endloop - endfacet - facet normal 0.647802 0.761808 0 - outer loop - vertex 21.3371 8.55423 0 - vertex 21.7259 8.22365 -0.2 - vertex 21.3371 8.55423 -0.2 - endloop - endfacet - facet normal 0.602358 0.798226 -0 - outer loop - vertex 21.3371 8.55423 -0.2 - vertex 20.8834 8.89663 0 - vertex 21.3371 8.55423 0 - endloop - endfacet - facet normal 0.602358 0.798226 0 - outer loop - vertex 20.8834 8.89663 0 - vertex 21.3371 8.55423 -0.2 - vertex 20.8834 8.89663 -0.2 - endloop - endfacet - facet normal 0.567155 0.823611 -0 - outer loop - vertex 20.8834 8.89663 -0.2 - vertex 20.3513 9.26304 0 - vertex 20.8834 8.89663 0 - endloop - endfacet - facet normal 0.567155 0.823611 0 - outer loop - vertex 20.3513 9.26304 0 - vertex 20.8834 8.89663 -0.2 - vertex 20.3513 9.26304 -0.2 - endloop - endfacet - facet normal 0.542271 0.840203 -0 - outer loop - vertex 20.3513 9.26304 -0.2 - vertex 19.7274 9.66569 0 - vertex 20.3513 9.26304 0 - endloop - endfacet - facet normal 0.542271 0.840203 0 - outer loop - vertex 19.7274 9.66569 0 - vertex 20.3513 9.26304 -0.2 - vertex 19.7274 9.66569 -0.2 - endloop - endfacet - facet normal 0.509213 0.86064 -0 - outer loop - vertex 19.7274 9.66569 -0.2 - vertex 19.4723 9.81661 0 - vertex 19.7274 9.66569 0 - endloop - endfacet - facet normal 0.509213 0.86064 0 - outer loop - vertex 19.4723 9.81661 0 - vertex 19.7274 9.66569 -0.2 - vertex 19.4723 9.81661 -0.2 - endloop - endfacet - facet normal 0.451586 0.892227 -0 - outer loop - vertex 19.4723 9.81661 -0.2 - vertex 19.2206 9.94402 0 - vertex 19.4723 9.81661 0 - endloop - endfacet - facet normal 0.451586 0.892227 0 - outer loop - vertex 19.2206 9.94402 0 - vertex 19.4723 9.81661 -0.2 - vertex 19.2206 9.94402 -0.2 - endloop - endfacet - facet normal 0.382649 0.923894 -0 - outer loop - vertex 19.2206 9.94402 -0.2 - vertex 18.9645 10.0501 0 - vertex 19.2206 9.94402 0 - endloop - endfacet - facet normal 0.382649 0.923894 0 - outer loop - vertex 18.9645 10.0501 0 - vertex 19.2206 9.94402 -0.2 - vertex 18.9645 10.0501 -0.2 - endloop - endfacet - facet normal 0.308251 0.951305 -0 - outer loop - vertex 18.9645 10.0501 -0.2 - vertex 18.6964 10.137 0 - vertex 18.9645 10.0501 0 - endloop - endfacet - facet normal 0.308251 0.951305 0 - outer loop - vertex 18.6964 10.137 0 - vertex 18.9645 10.0501 -0.2 - vertex 18.6964 10.137 -0.2 - endloop - endfacet - facet normal 0.235891 0.971779 -0 - outer loop - vertex 18.6964 10.137 -0.2 - vertex 18.4085 10.2069 0 - vertex 18.6964 10.137 0 - endloop - endfacet - facet normal 0.235891 0.971779 0 - outer loop - vertex 18.4085 10.2069 0 - vertex 18.6964 10.137 -0.2 - vertex 18.4085 10.2069 -0.2 - endloop - endfacet - facet normal 0.172 0.985097 -0 - outer loop - vertex 18.4085 10.2069 -0.2 - vertex 18.093 10.2619 0 - vertex 18.4085 10.2069 0 - endloop - endfacet - facet normal 0.172 0.985097 0 - outer loop - vertex 18.093 10.2619 0 - vertex 18.4085 10.2069 -0.2 - vertex 18.093 10.2619 -0.2 - endloop - endfacet - facet normal 0.0994696 0.995041 -0 - outer loop - vertex 18.093 10.2619 -0.2 - vertex 17.3487 10.3363 0 - vertex 18.093 10.2619 0 - endloop - endfacet - facet normal 0.0994696 0.995041 0 - outer loop - vertex 17.3487 10.3363 0 - vertex 18.093 10.2619 -0.2 - vertex 17.3487 10.3363 -0.2 - endloop - endfacet - facet normal 0.0510048 0.998698 -0 - outer loop - vertex 17.3487 10.3363 -0.2 - vertex 16.499 10.3797 0 - vertex 17.3487 10.3363 0 - endloop - endfacet - facet normal 0.0510048 0.998698 0 - outer loop - vertex 16.499 10.3797 0 - vertex 17.3487 10.3363 -0.2 - vertex 16.499 10.3797 -0.2 - endloop - endfacet - facet normal -0.0333465 0.999444 0 - outer loop - vertex 16.499 10.3797 -0.2 - vertex 16.2187 10.3704 0 - vertex 16.499 10.3797 0 - endloop - endfacet - facet normal -0.0333465 0.999444 0 - outer loop - vertex 16.2187 10.3704 0 - vertex 16.499 10.3797 -0.2 - vertex 16.2187 10.3704 -0.2 - endloop - endfacet - facet normal -0.179208 0.983811 0 - outer loop - vertex 16.2187 10.3704 -0.2 - vertex 16.005 10.3315 0 - vertex 16.2187 10.3704 0 - endloop - endfacet - facet normal -0.179208 0.983811 0 - outer loop - vertex 16.005 10.3315 0 - vertex 16.2187 10.3704 -0.2 - vertex 16.005 10.3315 -0.2 - endloop - endfacet - facet normal -0.405411 0.914135 0 - outer loop - vertex 16.005 10.3315 -0.2 - vertex 15.8355 10.2563 0 - vertex 16.005 10.3315 0 - endloop - endfacet - facet normal -0.405411 0.914135 0 - outer loop - vertex 15.8355 10.2563 0 - vertex 16.005 10.3315 -0.2 - vertex 15.8355 10.2563 -0.2 - endloop - endfacet - facet normal -0.624597 0.780947 0 - outer loop - vertex 15.8355 10.2563 -0.2 - vertex 15.6879 10.1383 0 - vertex 15.8355 10.2563 0 - endloop - endfacet - facet normal -0.624597 0.780947 0 - outer loop - vertex 15.6879 10.1383 0 - vertex 15.8355 10.2563 -0.2 - vertex 15.6879 10.1383 -0.2 - endloop - endfacet - facet normal -0.749396 0.662122 0 - outer loop - vertex 15.5399 9.97068 -0.2 - vertex 15.6879 10.1383 0 - vertex 15.6879 10.1383 -0.2 - endloop - endfacet - facet normal -0.749396 0.662122 0 - outer loop - vertex 15.6879 10.1383 0 - vertex 15.5399 9.97068 -0.2 - vertex 15.5399 9.97068 0 - endloop - endfacet - facet normal -0.794739 0.606951 0 - outer loop - vertex 15.369 9.74689 -0.2 - vertex 15.5399 9.97068 0 - vertex 15.5399 9.97068 -0.2 - endloop - endfacet - facet normal -0.794739 0.606951 0 - outer loop - vertex 15.5399 9.97068 0 - vertex 15.369 9.74689 -0.2 - vertex 15.369 9.74689 0 - endloop - endfacet - facet normal -0.812079 0.583548 0 - outer loop - vertex 15.213 9.52982 -0.2 - vertex 15.369 9.74689 0 - vertex 15.369 9.74689 -0.2 - endloop - endfacet - facet normal -0.812079 0.583548 0 - outer loop - vertex 15.369 9.74689 0 - vertex 15.213 9.52982 -0.2 - vertex 15.213 9.52982 0 - endloop - endfacet - facet normal -0.851006 0.525156 0 - outer loop - vertex 15.0942 9.33737 -0.2 - vertex 15.213 9.52982 0 - vertex 15.213 9.52982 -0.2 - endloop - endfacet - facet normal -0.851006 0.525156 0 - outer loop - vertex 15.213 9.52982 0 - vertex 15.0942 9.33737 -0.2 - vertex 15.0942 9.33737 0 - endloop - endfacet - facet normal -0.909184 0.416395 0 - outer loop - vertex 15.0092 9.15168 -0.2 - vertex 15.0942 9.33737 0 - vertex 15.0942 9.33737 -0.2 - endloop - endfacet - facet normal -0.909184 0.416395 0 - outer loop - vertex 15.0942 9.33737 0 - vertex 15.0092 9.15168 -0.2 - vertex 15.0092 9.15168 0 - endloop - endfacet - facet normal -0.963304 0.268412 0 - outer loop - vertex 14.9543 8.95485 -0.2 - vertex 15.0092 9.15168 0 - vertex 15.0092 9.15168 -0.2 - endloop - endfacet - facet normal -0.963304 0.268412 0 - outer loop - vertex 15.0092 9.15168 0 - vertex 14.9543 8.95485 -0.2 - vertex 14.9543 8.95485 0 - endloop - endfacet - facet normal -0.99232 0.1237 0 - outer loop - vertex 14.9262 8.72903 -0.2 - vertex 14.9543 8.95485 0 - vertex 14.9543 8.95485 -0.2 - endloop - endfacet - facet normal -0.99232 0.1237 0 - outer loop - vertex 14.9543 8.95485 0 - vertex 14.9262 8.72903 -0.2 - vertex 14.9262 8.72903 0 - endloop - endfacet - facet normal -0.999834 0.0182102 0 - outer loop - vertex 14.9212 8.45633 -0.2 - vertex 14.9262 8.72903 0 - vertex 14.9262 8.72903 -0.2 - endloop - endfacet - facet normal -0.999834 0.0182102 0 - outer loop - vertex 14.9262 8.72903 0 - vertex 14.9212 8.45633 -0.2 - vertex 14.9212 8.45633 0 - endloop - endfacet - facet normal -0.998195 -0.0600559 0 - outer loop - vertex 14.9668 7.69881 -0.2 - vertex 14.9212 8.45633 0 - vertex 14.9212 8.45633 -0.2 - endloop - endfacet - facet normal -0.998195 -0.0600559 0 - outer loop - vertex 14.9212 8.45633 0 - vertex 14.9668 7.69881 -0.2 - vertex 14.9668 7.69881 0 - endloop - endfacet - facet normal -0.99465 -0.103302 0 - outer loop - vertex 15.0249 7.13954 -0.2 - vertex 14.9668 7.69881 0 - vertex 14.9668 7.69881 -0.2 - endloop - endfacet - facet normal -0.99465 -0.103302 0 - outer loop - vertex 14.9668 7.69881 0 - vertex 15.0249 7.13954 -0.2 - vertex 15.0249 7.13954 0 - endloop - endfacet - facet normal -0.989699 -0.143163 0 - outer loop - vertex 15.1095 6.5543 -0.2 - vertex 15.0249 7.13954 0 - vertex 15.0249 7.13954 -0.2 - endloop - endfacet - facet normal -0.989699 -0.143163 0 - outer loop - vertex 15.0249 7.13954 0 - vertex 15.1095 6.5543 -0.2 - vertex 15.1095 6.5543 0 - endloop - endfacet - facet normal -0.984174 -0.177204 0 - outer loop - vertex 15.2183 5.95043 -0.2 - vertex 15.1095 6.5543 0 - vertex 15.1095 6.5543 -0.2 - endloop - endfacet - facet normal -0.984174 -0.177204 0 - outer loop - vertex 15.1095 6.5543 0 - vertex 15.2183 5.95043 -0.2 - vertex 15.2183 5.95043 0 - endloop - endfacet - facet normal -0.978296 -0.207212 0 - outer loop - vertex 15.3486 5.33522 -0.2 - vertex 15.2183 5.95043 0 - vertex 15.2183 5.95043 -0.2 - endloop - endfacet - facet normal -0.978296 -0.207212 0 - outer loop - vertex 15.2183 5.95043 0 - vertex 15.3486 5.33522 -0.2 - vertex 15.3486 5.33522 0 - endloop - endfacet - facet normal -0.972111 -0.23452 0 - outer loop - vertex 15.498 4.716 -0.2 - vertex 15.3486 5.33522 0 - vertex 15.3486 5.33522 -0.2 - endloop - endfacet - facet normal -0.972111 -0.23452 0 - outer loop - vertex 15.3486 5.33522 0 - vertex 15.498 4.716 -0.2 - vertex 15.498 4.716 0 - endloop - endfacet - facet normal -0.965559 -0.260185 0 - outer loop - vertex 15.6639 4.10009 -0.2 - vertex 15.498 4.716 0 - vertex 15.498 4.716 -0.2 - endloop - endfacet - facet normal -0.965559 -0.260185 0 - outer loop - vertex 15.498 4.716 0 - vertex 15.6639 4.10009 -0.2 - vertex 15.6639 4.10009 0 - endloop - endfacet - facet normal -0.95471 -0.297537 0 - outer loop - vertex 16.0356 2.90743 -0.2 - vertex 15.6639 4.10009 0 - vertex 15.6639 4.10009 -0.2 - endloop - endfacet - facet normal -0.95471 -0.297537 0 - outer loop - vertex 15.6639 4.10009 0 - vertex 16.0356 2.90743 -0.2 - vertex 16.0356 2.90743 0 - endloop - endfacet - facet normal -0.941754 -0.336302 0 - outer loop - vertex 16.2363 2.34533 -0.2 - vertex 16.0356 2.90743 0 - vertex 16.0356 2.90743 -0.2 - endloop - endfacet - facet normal -0.941754 -0.336302 0 - outer loop - vertex 16.0356 2.90743 0 - vertex 16.2363 2.34533 -0.2 - vertex 16.2363 2.34533 0 - endloop - endfacet - facet normal -0.931176 -0.364571 0 - outer loop - vertex 16.4437 1.81579 -0.2 - vertex 16.2363 2.34533 0 - vertex 16.2363 2.34533 -0.2 - endloop - endfacet - facet normal -0.931176 -0.364571 0 - outer loop - vertex 16.2363 2.34533 0 - vertex 16.4437 1.81579 -0.2 - vertex 16.4437 1.81579 0 - endloop - endfacet - facet normal -0.91808 -0.396396 0 - outer loop - vertex 16.6551 1.32614 -0.2 - vertex 16.4437 1.81579 0 - vertex 16.4437 1.81579 -0.2 - endloop - endfacet - facet normal -0.91808 -0.396396 0 - outer loop - vertex 16.4437 1.81579 0 - vertex 16.6551 1.32614 -0.2 - vertex 16.6551 1.32614 0 - endloop - endfacet - facet normal -0.901015 -0.433787 0 - outer loop - vertex 16.8681 0.883681 -0.2 - vertex 16.6551 1.32614 0 - vertex 16.6551 1.32614 -0.2 - endloop - endfacet - facet normal -0.901015 -0.433787 0 - outer loop - vertex 16.6551 1.32614 0 - vertex 16.8681 0.883681 -0.2 - vertex 16.8681 0.883681 0 - endloop - endfacet - facet normal -0.877409 -0.479744 0 - outer loop - vertex 17.0802 0.495742 -0.2 - vertex 16.8681 0.883681 0 - vertex 16.8681 0.883681 -0.2 - endloop - endfacet - facet normal -0.877409 -0.479744 0 - outer loop - vertex 16.8681 0.883681 0 - vertex 17.0802 0.495742 -0.2 - vertex 17.0802 0.495742 0 - endloop - endfacet - facet normal -0.842258 -0.539075 0 - outer loop - vertex 17.2889 0.169637 -0.2 - vertex 17.0802 0.495742 0 - vertex 17.0802 0.495742 -0.2 - endloop - endfacet - facet normal -0.842258 -0.539075 0 - outer loop - vertex 17.0802 0.495742 0 - vertex 17.2889 0.169637 -0.2 - vertex 17.2889 0.169637 0 - endloop - endfacet - facet normal -0.784932 -0.619582 0 - outer loop - vertex 17.4918 -0.0873203 -0.2 - vertex 17.2889 0.169637 0 - vertex 17.2889 0.169637 -0.2 - endloop - endfacet - facet normal -0.784932 -0.619582 0 - outer loop - vertex 17.2889 0.169637 0 - vertex 17.4918 -0.0873203 -0.2 - vertex 17.4918 -0.0873203 0 - endloop - endfacet - facet normal -0.680344 -0.732893 0 - outer loop - vertex 17.4918 -0.0873203 -0.2 - vertex 17.6862 -0.267812 0 - vertex 17.4918 -0.0873203 0 - endloop - endfacet - facet normal -0.680344 -0.732893 -0 - outer loop - vertex 17.6862 -0.267812 0 - vertex 17.4918 -0.0873203 -0.2 - vertex 17.6862 -0.267812 -0.2 - endloop - endfacet - facet normal -0.560342 -0.828261 0 - outer loop - vertex 17.6862 -0.267812 -0.2 - vertex 17.8284 -0.36402 0 - vertex 17.6862 -0.267812 0 - endloop - endfacet - facet normal -0.560342 -0.828261 -0 - outer loop - vertex 17.8284 -0.36402 0 - vertex 17.6862 -0.267812 -0.2 - vertex 17.8284 -0.36402 -0.2 - endloop - endfacet - facet normal -0.436276 -0.899813 0 - outer loop - vertex 17.8284 -0.36402 -0.2 - vertex 17.9646 -0.430052 0 - vertex 17.8284 -0.36402 0 - endloop - endfacet - facet normal -0.436276 -0.899813 -0 - outer loop - vertex 17.9646 -0.430052 0 - vertex 17.8284 -0.36402 -0.2 - vertex 17.9646 -0.430052 -0.2 - endloop - endfacet - facet normal -0.23232 -0.972639 0 - outer loop - vertex 17.9646 -0.430052 -0.2 - vertex 18.1098 -0.464739 0 - vertex 17.9646 -0.430052 0 - endloop - endfacet - facet normal -0.23232 -0.972639 -0 - outer loop - vertex 18.1098 -0.464739 0 - vertex 17.9646 -0.430052 -0.2 - vertex 18.1098 -0.464739 -0.2 - endloop - endfacet - facet normal -0.0128436 -0.999918 0 - outer loop - vertex 18.1098 -0.464739 -0.2 - vertex 18.2791 -0.466914 0 - vertex 18.1098 -0.464739 0 - endloop - endfacet - facet normal -0.0128436 -0.999918 -0 - outer loop - vertex 18.2791 -0.466914 0 - vertex 18.1098 -0.464739 -0.2 - vertex 18.2791 -0.466914 -0.2 - endloop - endfacet - facet normal 0.149466 -0.988767 0 - outer loop - vertex 18.2791 -0.466914 -0.2 - vertex 18.4876 -0.435405 0 - vertex 18.2791 -0.466914 0 - endloop - endfacet - facet normal 0.149466 -0.988767 0 - outer loop - vertex 18.4876 -0.435405 0 - vertex 18.2791 -0.466914 -0.2 - vertex 18.4876 -0.435405 -0.2 - endloop - endfacet - facet normal 0.244974 -0.96953 0 - outer loop - vertex 18.4876 -0.435405 -0.2 - vertex 18.7502 -0.369046 0 - vertex 18.4876 -0.435405 0 - endloop - endfacet - facet normal 0.244974 -0.96953 0 - outer loop - vertex 18.7502 -0.369046 0 - vertex 18.4876 -0.435405 -0.2 - vertex 18.7502 -0.369046 -0.2 - endloop - endfacet - facet normal 0.307753 -0.951466 0 - outer loop - vertex 18.7502 -0.369046 -0.2 - vertex 19.4982 -0.127099 0 - vertex 18.7502 -0.369046 0 - endloop - endfacet - facet normal 0.307753 -0.951466 0 - outer loop - vertex 19.4982 -0.127099 0 - vertex 18.7502 -0.369046 -0.2 - vertex 19.4982 -0.127099 -0.2 - endloop - endfacet - facet normal 0.301432 -0.953488 0 - outer loop - vertex 19.4982 -0.127099 -0.2 - vertex 20.0432 0.0451876 0 - vertex 19.4982 -0.127099 0 - endloop - endfacet - facet normal 0.301432 -0.953488 0 - outer loop - vertex 20.0432 0.0451876 0 - vertex 19.4982 -0.127099 -0.2 - vertex 20.0432 0.0451876 -0.2 - endloop - endfacet - facet normal 0.251907 -0.967752 0 - outer loop - vertex 20.0432 0.0451876 -0.2 - vertex 20.5155 0.168137 0 - vertex 20.0432 0.0451876 0 - endloop - endfacet - facet normal 0.251907 -0.967752 0 - outer loop - vertex 20.5155 0.168137 0 - vertex 20.0432 0.0451876 -0.2 - vertex 20.5155 0.168137 -0.2 - endloop - endfacet - facet normal 0.175432 -0.984492 0 - outer loop - vertex 20.5155 0.168137 -0.2 - vertex 20.8646 0.230347 0 - vertex 20.5155 0.168137 0 - endloop - endfacet - facet normal 0.175432 -0.984492 0 - outer loop - vertex 20.8646 0.230347 0 - vertex 20.5155 0.168137 -0.2 - vertex 20.8646 0.230347 -0.2 - endloop - endfacet - facet normal 0.0422921 -0.999105 0 - outer loop - vertex 20.8646 0.230347 -0.2 - vertex 20.9772 0.235111 0 - vertex 20.8646 0.230347 0 - endloop - endfacet - facet normal 0.0422921 -0.999105 0 - outer loop - vertex 20.9772 0.235111 0 - vertex 20.8646 0.230347 -0.2 - vertex 20.9772 0.235111 -0.2 - endloop - endfacet - facet normal -0.228021 -0.973656 0 - outer loop - vertex 20.9772 0.235111 -0.2 - vertex 21.0399 0.220413 0 - vertex 20.9772 0.235111 0 - endloop - endfacet - facet normal -0.228021 -0.973656 -0 - outer loop - vertex 21.0399 0.220413 0 - vertex 20.9772 0.235111 -0.2 - vertex 21.0399 0.220413 -0.2 - endloop - endfacet - facet normal -0.836215 -0.548402 0 - outer loop - vertex 21.0726 0.170561 -0.2 - vertex 21.0399 0.220413 0 - vertex 21.0399 0.220413 -0.2 - endloop - endfacet - facet normal -0.836215 -0.548402 0 - outer loop - vertex 21.0399 0.220413 0 - vertex 21.0726 0.170561 -0.2 - vertex 21.0726 0.170561 0 - endloop - endfacet - facet normal -0.964289 -0.264852 0 - outer loop - vertex 21.099 0.0745682 -0.2 - vertex 21.0726 0.170561 0 - vertex 21.0726 0.170561 -0.2 - endloop - endfacet - facet normal -0.964289 -0.264852 0 - outer loop - vertex 21.0726 0.170561 0 - vertex 21.099 0.0745682 -0.2 - vertex 21.099 0.0745682 0 - endloop - endfacet - facet normal -0.994432 -0.105376 0 - outer loop - vertex 21.1316 -0.233279 -0.2 - vertex 21.099 0.0745682 0 - vertex 21.099 0.0745682 -0.2 - endloop - endfacet - facet normal -0.994432 -0.105376 0 - outer loop - vertex 21.099 0.0745682 0 - vertex 21.1316 -0.233279 -0.2 - vertex 21.1316 -0.233279 0 - endloop - endfacet - facet normal -0.999957 -0.00925488 0 - outer loop - vertex 21.1355 -0.658014 -0.2 - vertex 21.1316 -0.233279 0 - vertex 21.1316 -0.233279 -0.2 - endloop - endfacet - facet normal -0.999957 -0.00925488 0 - outer loop - vertex 21.1316 -0.233279 0 - vertex 21.1355 -0.658014 -0.2 - vertex 21.1355 -0.658014 0 - endloop - endfacet - facet normal -0.998524 0.0543158 0 - outer loop - vertex 21.1085 -1.15452 -0.2 - vertex 21.1355 -0.658014 0 - vertex 21.1355 -0.658014 -0.2 - endloop - endfacet - facet normal -0.998524 0.0543158 0 - outer loop - vertex 21.1355 -0.658014 0 - vertex 21.1085 -1.15452 -0.2 - vertex 21.1085 -1.15452 0 - endloop - endfacet - facet normal -0.992587 0.121535 0 - outer loop - vertex 21.0399 -1.71534 -0.2 - vertex 21.1085 -1.15452 0 - vertex 21.1085 -1.15452 -0.2 - endloop - endfacet - facet normal -0.992587 0.121535 0 - outer loop - vertex 21.1085 -1.15452 0 - vertex 21.0399 -1.71534 -0.2 - vertex 21.0399 -1.71534 0 - endloop - endfacet - facet normal -0.978633 0.205615 0 - outer loop - vertex 20.9878 -1.96317 -0.2 - vertex 21.0399 -1.71534 0 - vertex 21.0399 -1.71534 -0.2 - endloop - endfacet - facet normal -0.978633 0.205615 0 - outer loop - vertex 21.0399 -1.71534 0 - vertex 20.9878 -1.96317 -0.2 - vertex 20.9878 -1.96317 0 - endloop - endfacet - facet normal -0.959237 0.282603 0 - outer loop - vertex 20.9199 -2.19366 -0.2 - vertex 20.9878 -1.96317 0 - vertex 20.9878 -1.96317 -0.2 - endloop - endfacet - facet normal -0.959237 0.282603 0 - outer loop - vertex 20.9878 -1.96317 0 - vertex 20.9199 -2.19366 -0.2 - vertex 20.9199 -2.19366 0 - endloop - endfacet - facet normal -0.92823 0.372008 0 - outer loop - vertex 20.8331 -2.41014 -0.2 - vertex 20.9199 -2.19366 0 - vertex 20.9199 -2.19366 -0.2 - endloop - endfacet - facet normal -0.92823 0.372008 0 - outer loop - vertex 20.9199 -2.19366 0 - vertex 20.8331 -2.41014 -0.2 - vertex 20.8331 -2.41014 0 - endloop - endfacet - facet normal -0.884337 0.46685 0 - outer loop - vertex 20.7245 -2.61588 -0.2 - vertex 20.8331 -2.41014 0 - vertex 20.8331 -2.41014 -0.2 - endloop - endfacet - facet normal -0.884337 0.46685 0 - outer loop - vertex 20.8331 -2.41014 0 - vertex 20.7245 -2.61588 -0.2 - vertex 20.7245 -2.61588 0 - endloop - endfacet - facet normal -0.829583 0.558383 0 - outer loop - vertex 20.591 -2.8142 -0.2 - vertex 20.7245 -2.61588 0 - vertex 20.7245 -2.61588 -0.2 - endloop - endfacet - facet normal -0.829583 0.558383 0 - outer loop - vertex 20.7245 -2.61588 0 - vertex 20.591 -2.8142 -0.2 - vertex 20.591 -2.8142 0 - endloop - endfacet - facet normal -0.769117 0.639107 0 - outer loop - vertex 20.4297 -3.0084 -0.2 - vertex 20.591 -2.8142 0 - vertex 20.591 -2.8142 -0.2 - endloop - endfacet - facet normal -0.769117 0.639107 0 - outer loop - vertex 20.591 -2.8142 0 - vertex 20.4297 -3.0084 -0.2 - vertex 20.4297 -3.0084 0 - endloop - endfacet - facet normal -0.709135 0.705072 0 - outer loop - vertex 20.2374 -3.20177 -0.2 - vertex 20.4297 -3.0084 0 - vertex 20.4297 -3.0084 -0.2 - endloop - endfacet - facet normal -0.709135 0.705072 0 - outer loop - vertex 20.4297 -3.0084 0 - vertex 20.2374 -3.20177 -0.2 - vertex 20.2374 -3.20177 0 - endloop - endfacet - facet normal -0.654612 0.755965 0 - outer loop - vertex 20.2374 -3.20177 -0.2 - vertex 20.0112 -3.39762 0 - vertex 20.2374 -3.20177 0 - endloop - endfacet - facet normal -0.654612 0.755965 0 - outer loop - vertex 20.0112 -3.39762 0 - vertex 20.2374 -3.20177 -0.2 - vertex 20.0112 -3.39762 -0.2 - endloop - endfacet - facet normal -0.588742 0.808321 0 - outer loop - vertex 20.0112 -3.39762 -0.2 - vertex 19.4451 -3.80993 0 - vertex 20.0112 -3.39762 0 - endloop - endfacet - facet normal -0.588742 0.808321 0 - outer loop - vertex 19.4451 -3.80993 0 - vertex 20.0112 -3.39762 -0.2 - vertex 19.4451 -3.80993 -0.2 - endloop - endfacet - facet normal -0.530543 0.847658 0 - outer loop - vertex 19.4451 -3.80993 -0.2 - vertex 18.7073 -4.27174 0 - vertex 19.4451 -3.80993 0 - endloop - endfacet - facet normal -0.530543 0.847658 0 - outer loop - vertex 18.7073 -4.27174 0 - vertex 19.4451 -3.80993 -0.2 - vertex 18.7073 -4.27174 -0.2 - endloop - endfacet - facet normal -0.499058 0.866569 0 - outer loop - vertex 18.7073 -4.27174 -0.2 - vertex 17.7736 -4.80944 0 - vertex 18.7073 -4.27174 0 - endloop - endfacet - facet normal -0.499058 0.866569 0 - outer loop - vertex 17.7736 -4.80944 0 - vertex 18.7073 -4.27174 -0.2 - vertex 17.7736 -4.80944 -0.2 - endloop - endfacet - facet normal -0.476856 0.878981 0 - outer loop - vertex 17.7736 -4.80944 -0.2 - vertex 16.3254 -5.59514 0 - vertex 17.7736 -4.80944 0 - endloop - endfacet - facet normal -0.476856 0.878981 0 - outer loop - vertex 16.3254 -5.59514 0 - vertex 17.7736 -4.80944 -0.2 - vertex 16.3254 -5.59514 -0.2 - endloop - endfacet - facet normal -0.451418 0.892312 0 - outer loop - vertex 16.3254 -5.59514 -0.2 - vertex 15.6549 -5.93433 0 - vertex 16.3254 -5.59514 0 - endloop - endfacet - facet normal -0.451418 0.892312 0 - outer loop - vertex 15.6549 -5.93433 0 - vertex 16.3254 -5.59514 -0.2 - vertex 15.6549 -5.93433 -0.2 - endloop - endfacet - facet normal -0.429833 0.902908 0 - outer loop - vertex 15.6549 -5.93433 -0.2 - vertex 15.0129 -6.23993 0 - vertex 15.6549 -5.93433 0 - endloop - endfacet - facet normal -0.429833 0.902908 0 - outer loop - vertex 15.0129 -6.23993 0 - vertex 15.6549 -5.93433 -0.2 - vertex 15.0129 -6.23993 -0.2 - endloop - endfacet - facet normal -0.404408 0.914579 0 - outer loop - vertex 15.0129 -6.23993 -0.2 - vertex 14.3941 -6.51356 0 - vertex 15.0129 -6.23993 0 - endloop - endfacet - facet normal -0.404408 0.914579 0 - outer loop - vertex 14.3941 -6.51356 0 - vertex 15.0129 -6.23993 -0.2 - vertex 14.3941 -6.51356 -0.2 - endloop - endfacet - facet normal -0.375168 0.926957 0 - outer loop - vertex 14.3941 -6.51356 -0.2 - vertex 13.793 -6.75686 0 - vertex 14.3941 -6.51356 0 - endloop - endfacet - facet normal -0.375168 0.926957 0 - outer loop - vertex 13.793 -6.75686 0 - vertex 14.3941 -6.51356 -0.2 - vertex 13.793 -6.75686 -0.2 - endloop - endfacet - facet normal -0.342394 0.939557 0 - outer loop - vertex 13.793 -6.75686 -0.2 - vertex 13.2041 -6.97145 0 - vertex 13.793 -6.75686 0 - endloop - endfacet - facet normal -0.342394 0.939557 0 - outer loop - vertex 13.2041 -6.97145 0 - vertex 13.793 -6.75686 -0.2 - vertex 13.2041 -6.97145 -0.2 - endloop - endfacet - facet normal -0.306665 0.951818 0 - outer loop - vertex 13.2041 -6.97145 -0.2 - vertex 12.6221 -7.15898 0 - vertex 13.2041 -6.97145 0 - endloop - endfacet - facet normal -0.306665 0.951818 0 - outer loop - vertex 12.6221 -7.15898 0 - vertex 13.2041 -6.97145 -0.2 - vertex 12.6221 -7.15898 -0.2 - endloop - endfacet - facet normal -0.268881 0.963173 0 - outer loop - vertex 12.6221 -7.15898 -0.2 - vertex 12.0414 -7.32107 0 - vertex 12.6221 -7.15898 0 - endloop - endfacet - facet normal -0.268881 0.963173 0 - outer loop - vertex 12.0414 -7.32107 0 - vertex 12.6221 -7.15898 -0.2 - vertex 12.0414 -7.32107 -0.2 - endloop - endfacet - facet normal -0.230173 0.97315 0 - outer loop - vertex 12.0414 -7.32107 -0.2 - vertex 11.4568 -7.45935 0 - vertex 12.0414 -7.32107 0 - endloop - endfacet - facet normal -0.230173 0.97315 0 - outer loop - vertex 11.4568 -7.45935 0 - vertex 12.0414 -7.32107 -0.2 - vertex 11.4568 -7.45935 -0.2 - endloop - endfacet - facet normal -0.191808 0.981433 0 - outer loop - vertex 11.4568 -7.45935 -0.2 - vertex 10.8627 -7.57545 0 - vertex 11.4568 -7.45935 0 - endloop - endfacet - facet normal -0.191808 0.981433 0 - outer loop - vertex 10.8627 -7.57545 0 - vertex 11.4568 -7.45935 -0.2 - vertex 10.8627 -7.57545 -0.2 - endloop - endfacet - facet normal -0.155029 0.98791 0 - outer loop - vertex 10.8627 -7.57545 -0.2 - vertex 10.2538 -7.67101 0 - vertex 10.8627 -7.57545 0 - endloop - endfacet - facet normal -0.155029 0.98791 0 - outer loop - vertex 10.2538 -7.67101 0 - vertex 10.8627 -7.57545 -0.2 - vertex 10.2538 -7.67101 -0.2 - endloop - endfacet - facet normal -0.120913 0.992663 0 - outer loop - vertex 10.2538 -7.67101 -0.2 - vertex 9.62459 -7.74765 0 - vertex 10.2538 -7.67101 0 - endloop - endfacet - facet normal -0.120913 0.992663 0 - outer loop - vertex 9.62459 -7.74765 0 - vertex 10.2538 -7.67101 -0.2 - vertex 9.62459 -7.74765 -0.2 - endloop - endfacet - facet normal -0.0902671 0.995918 0 - outer loop - vertex 9.62459 -7.74765 -0.2 - vertex 8.96966 -7.80701 0 - vertex 9.62459 -7.74765 0 - endloop - endfacet - facet normal -0.0902671 0.995918 0 - outer loop - vertex 8.96966 -7.80701 0 - vertex 9.62459 -7.74765 -0.2 - vertex 8.96966 -7.80701 -0.2 - endloop - endfacet - facet normal -0.0520328 0.998645 0 - outer loop - vertex 8.96966 -7.80701 -0.2 - vertex 7.56097 -7.88041 0 - vertex 8.96966 -7.80701 0 - endloop - endfacet - facet normal -0.0520328 0.998645 0 - outer loop - vertex 7.56097 -7.88041 0 - vertex 8.96966 -7.80701 -0.2 - vertex 7.56097 -7.88041 -0.2 - endloop - endfacet - facet normal -0.0211888 0.999775 0 - outer loop - vertex 7.56097 -7.88041 -0.2 - vertex 6.04455 -7.91255 0 - vertex 7.56097 -7.88041 0 - endloop - endfacet - facet normal -0.0211888 0.999775 0 - outer loop - vertex 6.04455 -7.91255 0 - vertex 7.56097 -7.88041 -0.2 - vertex 6.04455 -7.91255 -0.2 - endloop - endfacet - facet normal 0.00984088 0.999952 -0 - outer loop - vertex 6.04455 -7.91255 -0.2 - vertex 5.49083 -7.9071 0 - vertex 6.04455 -7.91255 0 - endloop - endfacet - facet normal 0.00984088 0.999952 0 - outer loop - vertex 5.49083 -7.9071 0 - vertex 6.04455 -7.91255 -0.2 - vertex 5.49083 -7.9071 -0.2 - endloop - endfacet - facet normal 0.0493656 0.998781 -0 - outer loop - vertex 5.49083 -7.9071 -0.2 - vertex 5.0434 -7.88498 0 - vertex 5.49083 -7.9071 0 - endloop - endfacet - facet normal 0.0493656 0.998781 0 - outer loop - vertex 5.0434 -7.88498 0 - vertex 5.49083 -7.9071 -0.2 - vertex 5.0434 -7.88498 -0.2 - endloop - endfacet - facet normal 0.110735 0.99385 -0 - outer loop - vertex 5.0434 -7.88498 -0.2 - vertex 4.67971 -7.84446 0 - vertex 5.0434 -7.88498 0 - endloop - endfacet - facet normal 0.110735 0.99385 0 - outer loop - vertex 4.67971 -7.84446 0 - vertex 5.0434 -7.88498 -0.2 - vertex 4.67971 -7.84446 -0.2 - endloop - endfacet - facet normal 0.196653 0.980473 -0 - outer loop - vertex 4.67971 -7.84446 -0.2 - vertex 4.37723 -7.78379 0 - vertex 4.67971 -7.84446 0 - endloop - endfacet - facet normal 0.196653 0.980473 0 - outer loop - vertex 4.37723 -7.78379 0 - vertex 4.67971 -7.84446 -0.2 - vertex 4.37723 -7.78379 -0.2 - endloop - endfacet - facet normal 0.298658 0.95436 -0 - outer loop - vertex 4.37723 -7.78379 -0.2 - vertex 4.11342 -7.70123 0 - vertex 4.37723 -7.78379 0 - endloop - endfacet - facet normal 0.298658 0.95436 0 - outer loop - vertex 4.11342 -7.70123 0 - vertex 4.37723 -7.78379 -0.2 - vertex 4.11342 -7.70123 -0.2 - endloop - endfacet - facet normal 0.39403 0.919098 -0 - outer loop - vertex 4.11342 -7.70123 -0.2 - vertex 3.86574 -7.59505 0 - vertex 4.11342 -7.70123 0 - endloop - endfacet - facet normal 0.39403 0.919098 0 - outer loop - vertex 3.86574 -7.59505 0 - vertex 4.11342 -7.70123 -0.2 - vertex 3.86574 -7.59505 -0.2 - endloop - endfacet - facet normal 0.472054 0.88157 -0 - outer loop - vertex 3.86574 -7.59505 -0.2 - vertex 3.40104 -7.34622 0 - vertex 3.86574 -7.59505 0 - endloop - endfacet - facet normal 0.472054 0.88157 0 - outer loop - vertex 3.40104 -7.34622 0 - vertex 3.86574 -7.59505 -0.2 - vertex 3.40104 -7.34622 -0.2 - endloop - endfacet - facet normal 0.50336 0.864077 -0 - outer loop - vertex 3.40104 -7.34622 -0.2 - vertex 2.71562 -6.94693 0 - vertex 3.40104 -7.34622 0 - endloop - endfacet - facet normal 0.50336 0.864077 0 - outer loop - vertex 2.71562 -6.94693 0 - vertex 3.40104 -7.34622 -0.2 - vertex 2.71562 -6.94693 -0.2 - endloop - endfacet - facet normal 0.526285 0.850308 -0 - outer loop - vertex 2.71562 -6.94693 -0.2 - vertex 1.05193 -5.91722 0 - vertex 2.71562 -6.94693 0 - endloop - endfacet - facet normal 0.526285 0.850308 0 - outer loop - vertex 1.05193 -5.91722 0 - vertex 2.71562 -6.94693 -0.2 - vertex 1.05193 -5.91722 -0.2 - endloop - endfacet - facet normal 0.529768 0.848143 -0 - outer loop - vertex 1.05193 -5.91722 -0.2 - vertex -0.694871 -4.82613 0 - vertex 1.05193 -5.91722 0 - endloop - endfacet - facet normal 0.529768 0.848143 0 - outer loop - vertex -0.694871 -4.82613 0 - vertex 1.05193 -5.91722 -0.2 - vertex -0.694871 -4.82613 -0.2 - endloop - endfacet - facet normal 0.507777 0.861489 -0 - outer loop - vertex -0.694871 -4.82613 -0.2 - vertex -2.47177 -3.7788 0 - vertex -0.694871 -4.82613 0 - endloop - endfacet - facet normal 0.507777 0.861489 0 - outer loop - vertex -2.47177 -3.7788 0 - vertex -0.694871 -4.82613 -0.2 - vertex -2.47177 -3.7788 -0.2 - endloop - endfacet - facet normal 0.55979 0.828634 -0 - outer loop - vertex -2.47177 -3.7788 -0.2 - vertex -2.8551 -3.51984 0 - vertex -2.47177 -3.7788 0 - endloop - endfacet - facet normal 0.55979 0.828634 0 - outer loop - vertex -2.8551 -3.51984 0 - vertex -2.47177 -3.7788 -0.2 - vertex -2.8551 -3.51984 -0.2 - endloop - endfacet - facet normal 0.612658 0.790348 -0 - outer loop - vertex -2.8551 -3.51984 -0.2 - vertex -3.18232 -3.26618 0 - vertex -2.8551 -3.51984 0 - endloop - endfacet - facet normal 0.612658 0.790348 0 - outer loop - vertex -3.18232 -3.26618 0 - vertex -2.8551 -3.51984 -0.2 - vertex -3.18232 -3.26618 -0.2 - endloop - endfacet - facet normal 0.673628 0.73907 -0 - outer loop - vertex -3.18232 -3.26618 -0.2 - vertex -3.44099 -3.03042 0 - vertex -3.18232 -3.26618 0 - endloop - endfacet - facet normal 0.673628 0.73907 0 - outer loop - vertex -3.44099 -3.03042 0 - vertex -3.18232 -3.26618 -0.2 - vertex -3.44099 -3.03042 -0.2 - endloop - endfacet - facet normal 0.756151 0.654397 0 - outer loop - vertex -3.44099 -3.03042 0 - vertex -3.61865 -2.82513 -0.2 - vertex -3.61865 -2.82513 0 - endloop - endfacet - facet normal 0.756151 0.654397 0 - outer loop - vertex -3.61865 -2.82513 -0.2 - vertex -3.44099 -3.03042 0 - vertex -3.44099 -3.03042 -0.2 - endloop - endfacet - facet normal 0.887562 0.460688 0 - outer loop - vertex -3.61865 -2.82513 0 - vertex -3.70285 -2.66292 -0.2 - vertex -3.70285 -2.66292 0 - endloop - endfacet - facet normal 0.887562 0.460688 0 - outer loop - vertex -3.70285 -2.66292 -0.2 - vertex -3.61865 -2.82513 0 - vertex -3.61865 -2.82513 -0.2 - endloop - endfacet - facet normal 0.998663 0.0516973 0 - outer loop - vertex -3.70285 -2.66292 0 - vertex -3.70601 -2.60189 -0.2 - vertex -3.70601 -2.60189 0 - endloop - endfacet - facet normal 0.998663 0.0516973 0 - outer loop - vertex -3.70601 -2.60189 -0.2 - vertex -3.70285 -2.66292 0 - vertex -3.70285 -2.66292 -0.2 - endloop - endfacet - facet normal 0.877591 -0.479411 0 - outer loop - vertex -3.70601 -2.60189 0 - vertex -3.68113 -2.55635 -0.2 - vertex -3.68113 -2.55635 0 - endloop - endfacet - facet normal 0.877591 -0.479411 0 - outer loop - vertex -3.68113 -2.55635 -0.2 - vertex -3.70601 -2.60189 0 - vertex -3.70601 -2.60189 -0.2 - endloop - endfacet - facet normal 0.463305 -0.886199 0 - outer loop - vertex -3.68113 -2.55635 -0.2 - vertex -3.62666 -2.52788 0 - vertex -3.68113 -2.55635 0 - endloop - endfacet - facet normal 0.463305 -0.886199 0 - outer loop - vertex -3.62666 -2.52788 0 - vertex -3.68113 -2.55635 -0.2 - vertex -3.62666 -2.52788 -0.2 - endloop - endfacet - facet normal 0.114199 -0.993458 0 - outer loop - vertex -3.62666 -2.52788 -0.2 - vertex -3.54104 -2.51804 0 - vertex -3.62666 -2.52788 0 - endloop - endfacet - facet normal 0.114199 -0.993458 0 - outer loop - vertex -3.54104 -2.51804 0 - vertex -3.62666 -2.52788 -0.2 - vertex -3.54104 -2.51804 -0.2 - endloop - endfacet - facet normal -0.250917 -0.968009 0 - outer loop - vertex -3.54104 -2.51804 -0.2 - vertex -3.301 -2.58026 0 - vertex -3.54104 -2.51804 0 - endloop - endfacet - facet normal -0.250917 -0.968009 -0 - outer loop - vertex -3.301 -2.58026 0 - vertex -3.54104 -2.51804 -0.2 - vertex -3.301 -2.58026 -0.2 - endloop - endfacet - facet normal -0.37095 -0.928653 0 - outer loop - vertex -3.301 -2.58026 -0.2 - vertex -2.87688 -2.74967 0 - vertex -3.301 -2.58026 0 - endloop - endfacet - facet normal -0.37095 -0.928653 -0 - outer loop - vertex -2.87688 -2.74967 0 - vertex -3.301 -2.58026 -0.2 - vertex -2.87688 -2.74967 -0.2 - endloop - endfacet - facet normal -0.415868 -0.909425 0 - outer loop - vertex -2.87688 -2.74967 -0.2 - vertex -2.32857 -3.00041 0 - vertex -2.87688 -2.74967 0 - endloop - endfacet - facet normal -0.415868 -0.909425 -0 - outer loop - vertex -2.32857 -3.00041 0 - vertex -2.87688 -2.74967 -0.2 - vertex -2.32857 -3.00041 -0.2 - endloop - endfacet - facet normal -0.447064 -0.894502 0 - outer loop - vertex -2.32857 -3.00041 -0.2 - vertex -1.71595 -3.30659 0 - vertex -2.32857 -3.00041 0 - endloop - endfacet - facet normal -0.447064 -0.894502 -0 - outer loop - vertex -1.71595 -3.30659 0 - vertex -2.32857 -3.00041 -0.2 - vertex -1.71595 -3.30659 -0.2 - endloop - endfacet - facet normal -0.450995 -0.892526 0 - outer loop - vertex -1.71595 -3.30659 -0.2 - vertex -1.01669 -3.65993 0 - vertex -1.71595 -3.30659 0 - endloop - endfacet - facet normal -0.450995 -0.892526 -0 - outer loop - vertex -1.01669 -3.65993 0 - vertex -1.71595 -3.30659 -0.2 - vertex -1.01669 -3.65993 -0.2 - endloop - endfacet - facet normal -0.429074 -0.903269 0 - outer loop - vertex -1.01669 -3.65993 -0.2 - vertex -0.313177 -3.99411 0 - vertex -1.01669 -3.65993 0 - endloop - endfacet - facet normal -0.429074 -0.903269 -0 - outer loop - vertex -0.313177 -3.99411 0 - vertex -1.01669 -3.65993 -0.2 - vertex -0.313177 -3.99411 -0.2 - endloop - endfacet - facet normal -0.406667 -0.913576 0 - outer loop - vertex -0.313177 -3.99411 -0.2 - vertex 0.394112 -4.30895 0 - vertex -0.313177 -3.99411 0 - endloop - endfacet - facet normal -0.406667 -0.913576 -0 - outer loop - vertex 0.394112 -4.30895 0 - vertex -0.313177 -3.99411 -0.2 - vertex 0.394112 -4.30895 -0.2 - endloop - endfacet - facet normal -0.383759 -0.923433 0 - outer loop - vertex 0.394112 -4.30895 -0.2 - vertex 1.10471 -4.60426 0 - vertex 0.394112 -4.30895 0 - endloop - endfacet - facet normal -0.383759 -0.923433 -0 - outer loop - vertex 1.10471 -4.60426 0 - vertex 0.394112 -4.30895 -0.2 - vertex 1.10471 -4.60426 -0.2 - endloop - endfacet - facet normal -0.360336 -0.932823 0 - outer loop - vertex 1.10471 -4.60426 -0.2 - vertex 1.81816 -4.87986 0 - vertex 1.10471 -4.60426 0 - endloop - endfacet - facet normal -0.360336 -0.932823 -0 - outer loop - vertex 1.81816 -4.87986 0 - vertex 1.10471 -4.60426 -0.2 - vertex 1.81816 -4.87986 -0.2 - endloop - endfacet - facet normal -0.33638 -0.941726 0 - outer loop - vertex 1.81816 -4.87986 -0.2 - vertex 2.534 -5.13555 0 - vertex 1.81816 -4.87986 0 - endloop - endfacet - facet normal -0.33638 -0.941726 -0 - outer loop - vertex 2.534 -5.13555 0 - vertex 1.81816 -4.87986 -0.2 - vertex 2.534 -5.13555 -0.2 - endloop - endfacet - facet normal -0.311879 -0.950122 0 - outer loop - vertex 2.534 -5.13555 -0.2 - vertex 3.25174 -5.37115 0 - vertex 2.534 -5.13555 0 - endloop - endfacet - facet normal -0.311879 -0.950122 -0 - outer loop - vertex 3.25174 -5.37115 0 - vertex 2.534 -5.13555 -0.2 - vertex 3.25174 -5.37115 -0.2 - endloop - endfacet - facet normal -0.286817 -0.957985 0 - outer loop - vertex 3.25174 -5.37115 -0.2 - vertex 3.97093 -5.58648 0 - vertex 3.25174 -5.37115 0 - endloop - endfacet - facet normal -0.286817 -0.957985 -0 - outer loop - vertex 3.97093 -5.58648 0 - vertex 3.25174 -5.37115 -0.2 - vertex 3.97093 -5.58648 -0.2 - endloop - endfacet - facet normal -0.262141 -0.965029 0 - outer loop - vertex 3.97093 -5.58648 -0.2 - vertex 4.51611 -5.73457 0 - vertex 3.97093 -5.58648 0 - endloop - endfacet - facet normal -0.262141 -0.965029 -0 - outer loop - vertex 4.51611 -5.73457 0 - vertex 3.97093 -5.58648 -0.2 - vertex 4.51611 -5.73457 -0.2 - endloop - endfacet - facet normal -0.230397 -0.973097 0 - outer loop - vertex 4.51611 -5.73457 -0.2 - vertex 4.99906 -5.84891 0 - vertex 4.51611 -5.73457 0 - endloop - endfacet - facet normal -0.230397 -0.973097 -0 - outer loop - vertex 4.99906 -5.84891 0 - vertex 4.51611 -5.73457 -0.2 - vertex 4.99906 -5.84891 -0.2 - endloop - endfacet - facet normal -0.18567 -0.982612 0 - outer loop - vertex 4.99906 -5.84891 -0.2 - vertex 5.4311 -5.93055 0 - vertex 4.99906 -5.84891 0 - endloop - endfacet - facet normal -0.18567 -0.982612 -0 - outer loop - vertex 5.4311 -5.93055 0 - vertex 4.99906 -5.84891 -0.2 - vertex 5.4311 -5.93055 -0.2 - endloop - endfacet - facet normal -0.126289 -0.991994 0 - outer loop - vertex 5.4311 -5.93055 -0.2 - vertex 5.82356 -5.98052 0 - vertex 5.4311 -5.93055 0 - endloop - endfacet - facet normal -0.126289 -0.991994 -0 - outer loop - vertex 5.82356 -5.98052 0 - vertex 5.4311 -5.93055 -0.2 - vertex 5.82356 -5.98052 -0.2 - endloop - endfacet - facet normal -0.0529968 -0.998595 0 - outer loop - vertex 5.82356 -5.98052 -0.2 - vertex 6.18777 -5.99984 0 - vertex 5.82356 -5.98052 0 - endloop - endfacet - facet normal -0.0529968 -0.998595 -0 - outer loop - vertex 6.18777 -5.99984 0 - vertex 5.82356 -5.98052 -0.2 - vertex 6.18777 -5.99984 -0.2 - endloop - endfacet - facet normal 0.0295577 -0.999563 0 - outer loop - vertex 6.18777 -5.99984 -0.2 - vertex 6.53505 -5.98957 0 - vertex 6.18777 -5.99984 0 - endloop - endfacet - facet normal 0.0295577 -0.999563 0 - outer loop - vertex 6.53505 -5.98957 0 - vertex 6.18777 -5.99984 -0.2 - vertex 6.53505 -5.98957 -0.2 - endloop - endfacet - facet normal 0.112922 -0.993604 0 - outer loop - vertex 6.53505 -5.98957 -0.2 - vertex 6.87672 -5.95074 0 - vertex 6.53505 -5.98957 0 - endloop - endfacet - facet normal 0.112922 -0.993604 0 - outer loop - vertex 6.87672 -5.95074 0 - vertex 6.53505 -5.98957 -0.2 - vertex 6.87672 -5.95074 -0.2 - endloop - endfacet - facet normal 0.18762 -0.982242 0 - outer loop - vertex 6.87672 -5.95074 -0.2 - vertex 7.2241 -5.88439 0 - vertex 6.87672 -5.95074 0 - endloop - endfacet - facet normal 0.18762 -0.982242 0 - outer loop - vertex 7.2241 -5.88439 0 - vertex 6.87672 -5.95074 -0.2 - vertex 7.2241 -5.88439 -0.2 - endloop - endfacet - facet normal 0.21982 -0.975541 0 - outer loop - vertex 7.2241 -5.88439 -0.2 - vertex 7.809 -5.75259 0 - vertex 7.2241 -5.88439 0 - endloop - endfacet - facet normal 0.21982 -0.975541 0 - outer loop - vertex 7.809 -5.75259 0 - vertex 7.2241 -5.88439 -0.2 - vertex 7.809 -5.75259 -0.2 + vertex 7.79727 -5.75259 0 + vertex 7.21237 -5.88439 -3 + vertex 7.79727 -5.75259 -3 endloop endfacet facet normal 0.71334 0.700818 0 outer loop - vertex 7.809 -5.75259 0 - vertex 7.04277 -4.97268 -0.2 - vertex 7.04277 -4.97268 0 + vertex 7.79727 -5.75259 0 + vertex 7.03104 -4.97268 -3 + vertex 7.03104 -4.97268 0 endloop endfacet facet normal 0.71334 0.700818 0 outer loop - vertex 7.04277 -4.97268 -0.2 - vertex 7.809 -5.75259 0 - vertex 7.809 -5.75259 -0.2 + vertex 7.03104 -4.97268 -3 + vertex 7.79727 -5.75259 0 + vertex 7.79727 -5.75259 -3 endloop endfacet - facet normal 0.735784 0.677216 0 + facet normal 0.78473 0.619838 0 outer loop - vertex 7.04277 -4.97268 0 - vertex 6.78219 -4.68956 -0.2 - vertex 6.78219 -4.68956 0 + vertex 7.03104 -4.97268 0 + vertex 5.97791 -3.63939 -3 + vertex 5.97791 -3.63939 0 endloop endfacet - facet normal 0.735784 0.677216 0 + facet normal 0.78473 0.619838 0 outer loop - vertex 6.78219 -4.68956 -0.2 - vertex 7.04277 -4.97268 0 - vertex 7.04277 -4.97268 -0.2 + vertex 5.97791 -3.63939 -3 + vertex 7.03104 -4.97268 0 + vertex 7.03104 -4.97268 -3 endloop endfacet - facet normal 0.771549 0.636169 0 + facet normal 0.861751 0.507331 0 outer loop - vertex 6.78219 -4.68956 0 - vertex 6.51759 -4.36865 -0.2 - vertex 6.51759 -4.36865 0 + vertex 5.97791 -3.63939 0 + vertex 5.02006 -2.01238 -3 + vertex 5.02006 -2.01238 0 endloop endfacet - facet normal 0.771549 0.636169 0 + facet normal 0.861751 0.507331 0 outer loop - vertex 6.51759 -4.36865 -0.2 - vertex 6.78219 -4.68956 0 - vertex 6.78219 -4.68956 -0.2 + vertex 5.02006 -2.01238 -3 + vertex 5.97791 -3.63939 0 + vertex 5.97791 -3.63939 -3 endloop endfacet - facet normal 0.79877 0.601637 0 + facet normal 0.918179 0.396167 0 outer loop - vertex 6.51759 -4.36865 0 - vertex 6.2523 -4.01644 -0.2 - vertex 6.2523 -4.01644 0 + vertex 5.02006 -2.01238 0 + vertex 4.37015 -0.506109 -3 + vertex 4.37015 -0.506109 0 endloop endfacet - facet normal 0.79877 0.601637 0 + facet normal 0.918179 0.396167 0 outer loop - vertex 6.2523 -4.01644 -0.2 - vertex 6.51759 -4.36865 0 - vertex 6.51759 -4.36865 -0.2 + vertex 4.37015 -0.506109 -3 + vertex 5.02006 -2.01238 0 + vertex 5.02006 -2.01238 -3 endloop endfacet - facet normal 0.820534 0.571597 0 + facet normal 0.99125 0.131995 0 outer loop - vertex 6.2523 -4.01644 0 - vertex 5.98964 -3.63939 -0.2 - vertex 5.98964 -3.63939 0 + vertex 4.37015 -0.506109 0 + vertex 4.24084 0.464987 -3 + vertex 4.24084 0.464987 0 endloop endfacet - facet normal 0.820534 0.571597 0 + facet normal 0.99125 0.131995 0 outer loop - vertex 5.98964 -3.63939 -0.2 - vertex 6.2523 -4.01644 0 - vertex 6.2523 -4.01644 -0.2 + vertex 4.24084 0.464987 -3 + vertex 4.37015 -0.506109 0 + vertex 4.37015 -0.506109 -3 endloop endfacet - facet normal 0.846837 0.531853 0 + facet normal 0.880686 -0.473701 0 outer loop - vertex 5.98964 -3.63939 0 - vertex 5.48552 -2.8367 -0.2 - vertex 5.48552 -2.8367 0 + vertex 4.24084 0.464987 0 + vertex 4.39665 0.754678 -3 + vertex 4.39665 0.754678 0 endloop endfacet - facet normal 0.846837 0.531853 0 + facet normal 0.880686 -0.473701 0 outer loop - vertex 5.48552 -2.8367 -0.2 - vertex 5.98964 -3.63939 0 - vertex 5.98964 -3.63939 -0.2 + vertex 4.39665 0.754678 -3 + vertex 4.24084 0.464987 0 + vertex 4.24084 0.464987 -3 endloop endfacet - facet normal 0.876057 0.482207 0 + facet normal -0.827333 -0.561712 0 outer loop - vertex 5.48552 -2.8367 0 - vertex 5.03179 -2.01239 -0.2 - vertex 5.03179 -2.01239 0 + vertex 4.6091 0.441775 -3 + vertex 4.39665 0.754678 0 + vertex 4.39665 0.754678 -3 endloop endfacet - facet normal 0.876057 0.482207 0 + facet normal -0.827333 -0.561712 0 outer loop - vertex 5.03179 -2.01239 -0.2 - vertex 5.48552 -2.8367 0 - vertex 5.48552 -2.8367 -0.2 + vertex 4.39665 0.754678 0 + vertex 4.6091 0.441775 -3 + vertex 4.6091 0.441775 0 endloop endfacet - facet normal 0.903486 0.428618 0 + facet normal -0.774222 -0.632914 0 outer loop - vertex 5.03179 -2.01239 0 - vertex 4.65505 -1.21825 -0.2 - vertex 4.65505 -1.21825 0 + vertex 6.41545 -1.76788 -3 + vertex 4.6091 0.441775 0 + vertex 4.6091 0.441775 -3 endloop endfacet - facet normal 0.903486 0.428618 0 + facet normal -0.774222 -0.632914 0 outer loop - vertex 4.65505 -1.21825 -0.2 - vertex 5.03179 -2.01239 0 - vertex 5.03179 -2.01239 -0.2 + vertex 4.6091 0.441775 0 + vertex 6.41545 -1.76788 -3 + vertex 6.41545 -1.76788 0 endloop endfacet - facet normal 0.925537 0.378657 0 + facet normal -0.707099 -0.707114 0 outer loop - vertex 4.65505 -1.21825 0 - vertex 4.50386 -0.848697 -0.2 - vertex 4.50386 -0.848697 0 + vertex 6.41545 -1.76788 -3 + vertex 7.74282 -3.09522 0 + vertex 6.41545 -1.76788 0 endloop endfacet - facet normal 0.925537 0.378657 0 + facet normal -0.707099 -0.707114 -0 outer loop - vertex 4.50386 -0.848697 -0.2 - vertex 4.65505 -1.21825 0 - vertex 4.65505 -1.21825 -0.2 + vertex 7.74282 -3.09522 0 + vertex 6.41545 -1.76788 -3 + vertex 7.74282 -3.09522 -3 endloop endfacet - facet normal 0.942067 0.335426 0 + facet normal -0.583644 -0.812009 0 outer loop - vertex 4.50386 -0.848697 0 - vertex 4.38188 -0.506111 -0.2 - vertex 4.38188 -0.506111 0 + vertex 7.74282 -3.09522 -3 + vertex 9.01294 -4.00814 0 + vertex 7.74282 -3.09522 0 endloop endfacet - facet normal 0.942067 0.335426 0 + facet normal -0.583644 -0.812009 -0 outer loop - vertex 4.38188 -0.506111 -0.2 - vertex 4.50386 -0.848697 0 - vertex 4.50386 -0.848697 -0.2 + vertex 9.01294 -4.00814 0 + vertex 7.74282 -3.09522 -3 + vertex 9.01294 -4.00814 -3 endloop endfacet - facet normal 0.960602 0.277927 0 + facet normal -0.385065 -0.92289 0 outer loop - vertex 4.38188 -0.506111 0 - vertex 4.29244 -0.196974 -0.2 - vertex 4.29244 -0.196974 0 + vertex 9.01294 -4.00814 -3 + vertex 10.2758 -4.53506 0 + vertex 9.01294 -4.00814 0 endloop endfacet - facet normal 0.960602 0.277927 0 + facet normal -0.385065 -0.92289 -0 outer loop - vertex 4.29244 -0.196974 -0.2 - vertex 4.38188 -0.506111 0 - vertex 4.38188 -0.506111 -0.2 + vertex 10.2758 -4.53506 0 + vertex 9.01294 -4.00814 -3 + vertex 10.2758 -4.53506 -3 endloop endfacet - facet normal 0.980763 0.1952 0 + facet normal -0.128613 -0.991695 0 outer loop - vertex 4.29244 -0.196974 0 - vertex 4.23886 0.0722368 -0.2 - vertex 4.23886 0.0722368 0 + vertex 10.2758 -4.53506 -3 + vertex 11.5814 -4.70438 0 + vertex 10.2758 -4.53506 0 endloop endfacet - facet normal 0.980763 0.1952 0 + facet normal -0.128613 -0.991695 -0 outer loop - vertex 4.23886 0.0722368 -0.2 - vertex 4.29244 -0.196974 0 - vertex 4.29244 -0.196974 -0.2 + vertex 11.5814 -4.70438 0 + vertex 10.2758 -4.53506 -3 + vertex 11.5814 -4.70438 -3 endloop endfacet - facet normal 0.997919 0.0644811 0 + facet normal 0.142467 -0.9898 0 outer loop - vertex 4.23886 0.0722368 0 - vertex 4.22446 0.295049 -0.2 - vertex 4.22446 0.295049 0 + vertex 11.5814 -4.70438 -3 + vertex 12.4032 -4.58609 0 + vertex 11.5814 -4.70438 0 endloop endfacet - facet normal 0.997919 0.0644811 0 + facet normal 0.142467 -0.9898 0 outer loop - vertex 4.22446 0.295049 -0.2 - vertex 4.23886 0.0722368 0 - vertex 4.23886 0.0722368 -0.2 + vertex 12.4032 -4.58609 0 + vertex 11.5814 -4.70438 -3 + vertex 12.4032 -4.58609 -3 endloop endfacet - facet normal 0.986595 -0.163189 0 + facet normal 0.390375 -0.920656 0 outer loop - vertex 4.22446 0.295049 0 - vertex 4.25257 0.464986 -0.2 - vertex 4.25257 0.464986 0 + vertex 12.4032 -4.58609 -3 + vertex 13.172 -4.2601 0 + vertex 12.4032 -4.58609 0 endloop endfacet - facet normal 0.986595 -0.163189 0 + facet normal 0.390375 -0.920656 0 outer loop - vertex 4.25257 0.464986 -0.2 - vertex 4.22446 0.295049 0 - vertex 4.22446 0.295049 -0.2 + vertex 13.172 -4.2601 0 + vertex 12.4032 -4.58609 -3 + vertex 13.172 -4.2601 -3 endloop endfacet - facet normal 0.930706 -0.365767 0 + facet normal 0.607582 -0.794257 0 outer loop - vertex 4.25257 0.464986 0 - vertex 4.33872 0.684191 -0.2 - vertex 4.33872 0.684191 0 + vertex 13.172 -4.2601 -3 + vertex 13.8131 -3.7697 0 + vertex 13.172 -4.2601 0 endloop endfacet - facet normal 0.930706 -0.365767 0 + facet normal 0.607582 -0.794257 0 outer loop - vertex 4.33872 0.684191 -0.2 - vertex 4.25257 0.464986 0 - vertex 4.25257 0.464986 -0.2 + vertex 13.8131 -3.7697 0 + vertex 13.172 -4.2601 -3 + vertex 13.8131 -3.7697 -3 endloop endfacet - facet normal 0.83908 -0.544009 0 + facet normal 0.812619 -0.582795 0 outer loop - vertex 4.33872 0.684191 0 - vertex 4.3737 0.738144 -0.2 - vertex 4.3737 0.738144 0 + vertex 13.8131 -3.7697 0 + vertex 14.2516 -3.15818 -3 + vertex 14.2516 -3.15818 0 endloop endfacet - facet normal 0.83908 -0.544009 0 + facet normal 0.812619 -0.582795 0 outer loop - vertex 4.3737 0.738144 -0.2 - vertex 4.33872 0.684191 0 - vertex 4.33872 0.684191 -0.2 + vertex 14.2516 -3.15818 -3 + vertex 13.8131 -3.7697 0 + vertex 13.8131 -3.7697 -3 endloop endfacet - facet normal 0.430226 -0.902721 0 + facet normal 0.980799 -0.195021 0 outer loop - vertex 4.3737 0.738144 -0.2 - vertex 4.40839 0.754677 0 - vertex 4.3737 0.738144 0 + vertex 14.2516 -3.15818 0 + vertex 14.333 -2.7489 -3 + vertex 14.333 -2.7489 0 endloop endfacet - facet normal 0.430226 -0.902721 0 + facet normal 0.980799 -0.195021 0 outer loop - vertex 4.40839 0.754677 0 - vertex 4.3737 0.738144 -0.2 - vertex 4.40839 0.754677 -0.2 + vertex 14.333 -2.7489 -3 + vertex 14.2516 -3.15818 0 + vertex 14.2516 -3.15818 -3 endloop endfacet - facet normal -0.483736 -0.875214 0 + facet normal 0.98573 0.168336 0 outer loop - vertex 4.40839 0.754677 -0.2 - vertex 4.44662 0.733548 0 - vertex 4.40839 0.754677 0 + vertex 14.333 -2.7489 0 + vertex 14.2455 -2.23644 -3 + vertex 14.2455 -2.23644 0 endloop endfacet - facet normal -0.483736 -0.875214 -0 + facet normal 0.98573 0.168336 0 outer loop - vertex 4.44662 0.733548 0 - vertex 4.40839 0.754677 -0.2 - vertex 4.44662 0.733548 -0.2 + vertex 14.2455 -2.23644 -3 + vertex 14.333 -2.7489 0 + vertex 14.333 -2.7489 -3 endloop endfacet - facet normal -0.791399 -0.6113 0 + facet normal 0.892341 0.451362 0 outer loop - vertex 4.49221 0.674515 -0.2 - vertex 4.44662 0.733548 0 - vertex 4.44662 0.733548 -0.2 + vertex 14.2455 -2.23644 0 + vertex 13.5923 -0.94501 -3 + vertex 13.5923 -0.94501 0 endloop endfacet - facet normal -0.791399 -0.6113 0 + facet normal 0.892341 0.451362 0 outer loop - vertex 4.44662 0.733548 0 - vertex 4.49221 0.674515 -0.2 - vertex 4.49221 0.674515 0 + vertex 13.5923 -0.94501 -3 + vertex 14.2455 -2.23644 0 + vertex 14.2455 -2.23644 -3 endloop endfacet - facet normal -0.875249 -0.483672 0 + facet normal 0.784902 0.61962 0 outer loop - vertex 4.62083 0.441773 -0.2 - vertex 4.49221 0.674515 0 - vertex 4.49221 0.674515 -0.2 + vertex 13.5923 -0.94501 0 + vertex 12.3489 0.629998 -3 + vertex 12.3489 0.629998 0 endloop endfacet - facet normal -0.875249 -0.483672 0 + facet normal 0.784902 0.61962 0 outer loop - vertex 4.49221 0.674515 0 - vertex 4.62083 0.441773 -0.2 - vertex 4.62083 0.441773 0 + vertex 12.3489 0.629998 -3 + vertex 13.5923 -0.94501 0 + vertex 13.5923 -0.94501 -3 endloop endfacet - facet normal -0.8234 -0.567461 0 + facet normal 0.706306 0.707906 -0 outer loop - vertex 4.83246 0.134689 -0.2 - vertex 4.62083 0.441773 0 - vertex 4.62083 0.441773 -0.2 + vertex 12.3489 0.629998 -3 + vertex 10.5724 2.40247 0 + vertex 12.3489 0.629998 0 endloop endfacet - facet normal -0.8234 -0.567461 0 + facet normal 0.706306 0.707906 0 outer loop - vertex 4.62083 0.441773 0 - vertex 4.83246 0.134689 -0.2 - vertex 4.83246 0.134689 0 + vertex 10.5724 2.40247 0 + vertex 12.3489 0.629998 -3 + vertex 10.5724 2.40247 -3 endloop endfacet - facet normal -0.783851 -0.620949 0 + facet normal 0.641095 0.767462 -0 outer loop - vertex 5.24358 -0.384283 -0.2 - vertex 4.83246 0.134689 0 - vertex 4.83246 0.134689 -0.2 + vertex 10.5724 2.40247 -3 + vertex 9.13441 3.60373 0 + vertex 10.5724 2.40247 0 endloop endfacet - facet normal -0.783851 -0.620949 0 + facet normal 0.641095 0.767462 0 outer loop - vertex 4.83246 0.134689 0 - vertex 5.24358 -0.384283 -0.2 - vertex 5.24358 -0.384283 0 + vertex 9.13441 3.60373 0 + vertex 10.5724 2.40247 -3 + vertex 9.13441 3.60373 -3 endloop endfacet - facet normal -0.766673 -0.642037 0 + facet normal 0.56747 0.823394 -0 outer loop - vertex 5.79491 -1.04264 -0.2 - vertex 5.24358 -0.384283 0 - vertex 5.24358 -0.384283 -0.2 + vertex 9.13441 3.60373 -3 + vertex 8.18559 4.25764 0 + vertex 9.13441 3.60373 0 endloop endfacet - facet normal -0.766673 -0.642037 0 + facet normal 0.56747 0.823394 0 outer loop - vertex 5.24358 -0.384283 0 - vertex 5.79491 -1.04264 -0.2 - vertex 5.79491 -1.04264 0 + vertex 8.18559 4.25764 0 + vertex 9.13441 3.60373 -3 + vertex 8.18559 4.25764 -3 endloop endfacet - facet normal -0.753766 -0.657143 0 + facet normal 0.457713 0.8891 -0 outer loop - vertex 6.42718 -1.76788 -0.2 - vertex 5.79491 -1.04264 0 - vertex 5.79491 -1.04264 -0.2 + vertex 8.18559 4.25764 -3 + vertex 5.26682 5.76024 0 + vertex 8.18559 4.25764 0 endloop endfacet - facet normal -0.753766 -0.657143 0 + facet normal 0.457713 0.8891 0 outer loop - vertex 5.79491 -1.04264 0 - vertex 6.42718 -1.76788 -0.2 - vertex 6.42718 -1.76788 0 + vertex 5.26682 5.76024 0 + vertex 8.18559 4.25764 -3 + vertex 5.26682 5.76024 -3 endloop endfacet - facet normal -0.728754 -0.684775 0 + facet normal 0.356921 0.934135 -0 outer loop - vertex 7.10115 -2.48513 -0.2 - vertex 6.42718 -1.76788 0 - vertex 6.42718 -1.76788 -0.2 + vertex 5.26682 5.76024 -3 + vertex 1.66409 7.13679 0 + vertex 5.26682 5.76024 0 endloop endfacet - facet normal -0.728754 -0.684775 0 + facet normal 0.356921 0.934135 0 outer loop - vertex 6.42718 -1.76788 0 - vertex 7.10115 -2.48513 -0.2 - vertex 7.10115 -2.48513 0 + vertex 1.66409 7.13679 0 + vertex 5.26682 5.76024 -3 + vertex 1.66409 7.13679 -3 endloop endfacet - facet normal -0.682466 -0.730918 0 + facet normal 0.389896 0.920859 -0 outer loop - vertex 7.10115 -2.48513 -0.2 - vertex 7.75455 -3.09522 0 - vertex 7.10115 -2.48513 0 + vertex 1.66409 7.13679 -3 + vertex -0.248642 7.94666 0 + vertex 1.66409 7.13679 0 endloop endfacet - facet normal -0.682466 -0.730918 -0 + facet normal 0.389896 0.920859 0 outer loop - vertex 7.75455 -3.09522 0 - vertex 7.10115 -2.48513 -0.2 - vertex 7.75455 -3.09522 -0.2 + vertex -0.248642 7.94666 0 + vertex 1.66409 7.13679 -3 + vertex -0.248642 7.94666 -3 endloop endfacet - facet normal -0.638085 -0.769966 0 + facet normal 0.471857 0.881675 -0 outer loop - vertex 7.75455 -3.09522 -0.2 - vertex 8.0755 -3.36119 0 - vertex 7.75455 -3.09522 0 + vertex -0.248642 7.94666 -3 + vertex -2.78119 9.30203 0 + vertex -0.248642 7.94666 0 endloop endfacet - facet normal -0.638085 -0.769966 -0 + facet normal 0.471857 0.881675 0 outer loop - vertex 8.0755 -3.36119 0 - vertex 7.75455 -3.09522 -0.2 - vertex 8.0755 -3.36119 -0.2 + vertex -2.78119 9.30203 0 + vertex -0.248642 7.94666 -3 + vertex -2.78119 9.30203 -3 endloop endfacet - facet normal -0.60305 -0.797703 0 + facet normal 0.524404 0.851469 -0 outer loop - vertex 8.0755 -3.36119 -0.2 - vertex 8.39365 -3.60171 0 - vertex 8.0755 -3.36119 0 + vertex -2.78119 9.30203 -3 + vertex -4.99153 10.6633 0 + vertex -2.78119 9.30203 0 endloop endfacet - facet normal -0.60305 -0.797703 -0 + facet normal 0.524404 0.851469 0 outer loop - vertex 8.39365 -3.60171 0 - vertex 8.0755 -3.36119 -0.2 - vertex 8.39365 -3.60171 -0.2 + vertex -4.99153 10.6633 0 + vertex -2.78119 9.30203 -3 + vertex -4.99153 10.6633 -3 endloop endfacet - facet normal -0.563259 -0.826281 0 + facet normal 0.658419 0.752652 -0 outer loop - vertex 8.39365 -3.60171 -0.2 - vertex 8.70978 -3.81721 0 - vertex 8.39365 -3.60171 0 + vertex -4.99153 10.6633 -3 + vertex -5.93765 11.491 0 + vertex -4.99153 10.6633 0 endloop endfacet - facet normal -0.563259 -0.826281 -0 + facet normal 0.658419 0.752652 0 outer loop - vertex 8.70978 -3.81721 0 - vertex 8.39365 -3.60171 -0.2 - vertex 8.70978 -3.81721 -0.2 + vertex -5.93765 11.491 0 + vertex -4.99153 10.6633 -3 + vertex -5.93765 11.491 -3 endloop endfacet - facet normal -0.518472 -0.855094 0 + facet normal 0.579458 -0.815002 0 outer loop - vertex 8.70978 -3.81721 -0.2 - vertex 9.02468 -4.00814 0 - vertex 8.70978 -3.81721 0 + vertex -5.93765 11.491 -3 + vertex -5.71478 11.6495 0 + vertex -5.93765 11.491 0 endloop endfacet - facet normal -0.518472 -0.855094 -0 + facet normal 0.579458 -0.815002 0 outer loop - vertex 9.02468 -4.00814 0 - vertex 8.70978 -3.81721 -0.2 - vertex 9.02468 -4.00814 -0.2 + vertex -5.71478 11.6495 0 + vertex -5.93765 11.491 -3 + vertex -5.71478 11.6495 -3 endloop endfacet - facet normal -0.468624 -0.883398 0 + facet normal 0.0440908 -0.999028 0 outer loop - vertex 9.02468 -4.00814 -0.2 - vertex 9.33912 -4.17495 0 - vertex 9.02468 -4.00814 0 + vertex -5.71478 11.6495 -3 + vertex -5.07797 11.6776 0 + vertex -5.71478 11.6495 0 endloop endfacet - facet normal -0.468624 -0.883398 -0 + facet normal 0.0440908 -0.999028 0 outer loop - vertex 9.33912 -4.17495 0 - vertex 9.02468 -4.00814 -0.2 - vertex 9.33912 -4.17495 -0.2 + vertex -5.07797 11.6776 0 + vertex -5.71478 11.6495 -3 + vertex -5.07797 11.6776 -3 endloop endfacet - facet normal -0.413918 -0.910314 0 + facet normal -0.139075 -0.990282 0 outer loop - vertex 9.33912 -4.17495 -0.2 - vertex 9.65389 -4.31807 0 - vertex 9.33912 -4.17495 0 + vertex -5.07797 11.6776 -3 + vertex -2.75335 11.3511 0 + vertex -5.07797 11.6776 0 endloop endfacet - facet normal -0.413918 -0.910314 -0 + facet normal -0.139075 -0.990282 -0 outer loop - vertex 9.65389 -4.31807 0 - vertex 9.33912 -4.17495 -0.2 - vertex 9.65389 -4.31807 -0.2 + vertex -2.75335 11.3511 0 + vertex -5.07797 11.6776 -3 + vertex -2.75335 11.3511 -3 endloop endfacet - facet normal -0.354841 -0.934927 0 + facet normal -0.139152 -0.990271 0 outer loop - vertex 9.65389 -4.31807 -0.2 - vertex 9.96977 -4.43796 0 - vertex 9.65389 -4.31807 0 + vertex -2.75335 11.3511 -3 + vertex -1.46211 11.1697 0 + vertex -2.75335 11.3511 0 endloop endfacet - facet normal -0.354841 -0.934927 -0 + facet normal -0.139152 -0.990271 -0 outer loop - vertex 9.96977 -4.43796 0 - vertex 9.65389 -4.31807 -0.2 - vertex 9.96977 -4.43796 -0.2 + vertex -1.46211 11.1697 0 + vertex -2.75335 11.3511 -3 + vertex -1.46211 11.1697 -3 endloop endfacet - facet normal -0.292213 -0.956353 0 + facet normal 0.0257838 -0.999668 0 outer loop - vertex 9.96977 -4.43796 -0.2 - vertex 10.2875 -4.53506 0 - vertex 9.96977 -4.43796 0 + vertex -1.46211 11.1697 -3 + vertex -0.394194 11.1972 0 + vertex -1.46211 11.1697 0 endloop endfacet - facet normal -0.292213 -0.956353 -0 + facet normal 0.0257838 -0.999668 0 outer loop - vertex 10.2875 -4.53506 0 - vertex 9.96977 -4.43796 -0.2 - vertex 10.2875 -4.53506 -0.2 + vertex -0.394194 11.1972 0 + vertex -1.46211 11.1697 -3 + vertex -0.394194 11.1972 -3 endloop endfacet - facet normal -0.227161 -0.973857 0 + facet normal 0.258065 -0.966128 0 outer loop - vertex 10.2875 -4.53506 -0.2 - vertex 10.608 -4.6098 0 - vertex 10.2875 -4.53506 0 + vertex -0.394194 11.1972 -3 + vertex 0.535115 11.4454 0 + vertex -0.394194 11.1972 0 endloop endfacet - facet normal -0.227161 -0.973857 -0 + facet normal 0.258065 -0.966128 0 outer loop - vertex 10.608 -4.6098 0 - vertex 10.2875 -4.53506 -0.2 - vertex 10.608 -4.6098 -0.2 + vertex 0.535115 11.4454 0 + vertex -0.394194 11.1972 -3 + vertex 0.535115 11.4454 -3 endloop endfacet - facet normal -0.161011 -0.986953 0 + facet normal 0.481248 -0.876585 0 outer loop - vertex 10.608 -4.6098 -0.2 - vertex 10.9319 -4.66264 0 - vertex 10.608 -4.6098 0 + vertex 0.535115 11.4454 -3 + vertex 1.41055 11.926 0 + vertex 0.535115 11.4454 0 endloop endfacet - facet normal -0.161011 -0.986953 -0 + facet normal 0.481248 -0.876585 0 outer loop - vertex 10.9319 -4.66264 0 - vertex 10.608 -4.6098 -0.2 - vertex 10.9319 -4.66264 -0.2 + vertex 1.41055 11.926 0 + vertex 0.535115 11.4454 -3 + vertex 1.41055 11.926 -3 endloop endfacet - facet normal -0.0951962 -0.995459 0 + facet normal 0.671564 -0.740947 0 outer loop - vertex 10.9319 -4.66264 -0.2 - vertex 11.26 -4.69402 0 - vertex 10.9319 -4.66264 0 + vertex 1.41055 11.926 -3 + vertex 1.87173 12.344 0 + vertex 1.41055 11.926 0 endloop endfacet - facet normal -0.0951962 -0.995459 -0 + facet normal 0.671564 -0.740947 0 outer loop - vertex 11.26 -4.69402 0 - vertex 10.9319 -4.66264 -0.2 - vertex 11.26 -4.69402 -0.2 + vertex 1.87173 12.344 0 + vertex 1.41055 11.926 -3 + vertex 1.87173 12.344 -3 endloop endfacet - facet normal -0.0310839 -0.999517 0 + facet normal 0.998006 0.0631228 0 outer loop - vertex 11.26 -4.69402 -0.2 - vertex 11.5931 -4.70438 0 - vertex 11.26 -4.69402 0 + vertex 1.87173 12.344 0 + vertex 1.8467 12.7398 -3 + vertex 1.8467 12.7398 0 endloop endfacet - facet normal -0.0310839 -0.999517 -0 + facet normal 0.998006 0.0631228 0 outer loop - vertex 11.5931 -4.70438 0 - vertex 11.26 -4.69402 -0.2 - vertex 11.5931 -4.70438 -0.2 + vertex 1.8467 12.7398 -3 + vertex 1.87173 12.344 0 + vertex 1.87173 12.344 -3 endloop endfacet - facet normal 0.0736121 -0.997287 0 + facet normal 0.790564 0.612379 0 outer loop - vertex 11.5931 -4.70438 -0.2 - vertex 12.006 -4.67391 0 - vertex 11.5931 -4.70438 0 + vertex 1.8467 12.7398 0 + vertex 1.50002 13.1874 -3 + vertex 1.50002 13.1874 0 endloop endfacet - facet normal 0.0736121 -0.997287 0 + facet normal 0.790564 0.612379 0 outer loop - vertex 12.006 -4.67391 0 - vertex 11.5931 -4.70438 -0.2 - vertex 12.006 -4.67391 -0.2 + vertex 1.50002 13.1874 -3 + vertex 1.8467 12.7398 0 + vertex 1.8467 12.7398 -3 endloop endfacet - facet normal 0.209942 -0.977714 0 + facet normal 0.55001 0.835158 -0 outer loop - vertex 12.006 -4.67391 -0.2 - vertex 12.4149 -4.5861 0 - vertex 12.006 -4.67391 0 + vertex 1.50002 13.1874 -3 + vertex 0.918757 13.5702 0 + vertex 1.50002 13.1874 0 endloop endfacet - facet normal 0.209942 -0.977714 0 + facet normal 0.55001 0.835158 0 outer loop - vertex 12.4149 -4.5861 0 - vertex 12.006 -4.67391 -0.2 - vertex 12.4149 -4.5861 -0.2 + vertex 0.918757 13.5702 0 + vertex 1.50002 13.1874 -3 + vertex 0.918757 13.5702 -3 endloop endfacet - facet normal 0.332988 -0.942931 0 + facet normal 0.293762 0.955879 -0 outer loop - vertex 12.4149 -4.5861 -0.2 - vertex 12.8106 -4.44636 0 - vertex 12.4149 -4.5861 0 + vertex 0.918757 13.5702 -3 + vertex -0.928844 14.138 0 + vertex 0.918757 13.5702 0 endloop endfacet - facet normal 0.332988 -0.942931 0 + facet normal 0.293762 0.955879 0 outer loop - vertex 12.8106 -4.44636 0 - vertex 12.4149 -4.5861 -0.2 - vertex 12.8106 -4.44636 -0.2 + vertex -0.928844 14.138 0 + vertex 0.918757 13.5702 -3 + vertex -0.928844 14.138 -3 endloop endfacet - facet normal 0.44663 -0.894719 0 + facet normal 0.108589 0.994087 -0 outer loop - vertex 12.8106 -4.44636 -0.2 - vertex 13.1837 -4.26011 0 - vertex 12.8106 -4.44636 0 + vertex -0.928844 14.138 -3 + vertex -3.65881 14.4362 0 + vertex -0.928844 14.138 0 endloop endfacet - facet normal 0.44663 -0.894719 0 + facet normal 0.108589 0.994087 0 outer loop - vertex 13.1837 -4.26011 0 - vertex 12.8106 -4.44636 -0.2 - vertex 13.1837 -4.26011 -0.2 + vertex -3.65881 14.4362 0 + vertex -0.928844 14.138 -3 + vertex -3.65881 14.4362 -3 endloop endfacet - facet normal 0.554537 -0.832159 0 + facet normal 0.00602839 0.999982 -0 outer loop - vertex 13.1837 -4.26011 -0.2 - vertex 13.5249 -4.03275 0 - vertex 13.1837 -4.26011 0 + vertex -3.65881 14.4362 -3 + vertex -7.23385 14.4578 0 + vertex -3.65881 14.4362 0 endloop endfacet - facet normal 0.554537 -0.832159 0 + facet normal 0.00602839 0.999982 0 outer loop - vertex 13.5249 -4.03275 0 - vertex 13.1837 -4.26011 -0.2 - vertex 13.5249 -4.03275 -0.2 + vertex -7.23385 14.4578 0 + vertex -3.65881 14.4362 -3 + vertex -7.23385 14.4578 -3 endloop endfacet - facet normal 0.65941 -0.751784 0 + facet normal -0.0644585 0.99792 0 outer loop - vertex 13.5249 -4.03275 -0.2 - vertex 13.8248 -3.7697 0 - vertex 13.5249 -4.03275 0 + vertex -7.23385 14.4578 -3 + vertex -10.6367 14.238 0 + vertex -7.23385 14.4578 0 endloop endfacet - facet normal 0.65941 -0.751784 0 + facet normal -0.0644585 0.99792 0 outer loop - vertex 13.8248 -3.7697 0 - vertex 13.5249 -4.03275 -0.2 - vertex 13.8248 -3.7697 -0.2 + vertex -10.6367 14.238 0 + vertex -7.23385 14.4578 -3 + vertex -10.6367 14.238 -3 endloop endfacet - facet normal 0.762012 -0.647563 0 + facet normal -0.276015 0.961153 0 outer loop - vertex 13.8248 -3.7697 0 - vertex 14.0741 -3.47638 -0.2 - vertex 14.0741 -3.47638 0 + vertex -10.6367 14.238 -3 + vertex -13.7227 13.3517 0 + vertex -10.6367 14.238 0 endloop endfacet - facet normal 0.762012 -0.647563 0 + facet normal -0.276015 0.961153 0 outer loop - vertex 14.0741 -3.47638 -0.2 - vertex 13.8248 -3.7697 0 - vertex 13.8248 -3.7697 -0.2 + vertex -13.7227 13.3517 0 + vertex -10.6367 14.238 -3 + vertex -13.7227 13.3517 -3 endloop endfacet - facet normal 0.835702 -0.549183 0 + facet normal -0.25467 0.967028 0 outer loop - vertex 14.0741 -3.47638 0 - vertex 14.1768 -3.32005 -0.2 - vertex 14.1768 -3.32005 0 + vertex -13.7227 13.3517 -3 + vertex -17.5299 12.3491 0 + vertex -13.7227 13.3517 0 endloop endfacet - facet normal 0.835702 -0.549183 0 + facet normal -0.25467 0.967028 0 outer loop - vertex 14.1768 -3.32005 -0.2 - vertex 14.0741 -3.47638 0 - vertex 14.0741 -3.47638 -0.2 + vertex -17.5299 12.3491 0 + vertex -13.7227 13.3517 -3 + vertex -17.5299 12.3491 -3 endloop endfacet - facet normal 0.88181 -0.471605 0 + facet normal -0.135841 0.990731 0 outer loop - vertex 14.1768 -3.32005 0 - vertex 14.2634 -3.15818 -0.2 - vertex 14.2634 -3.15818 0 + vertex -17.5299 12.3491 -3 + vertex -20.0298 12.0063 0 + vertex -17.5299 12.3491 0 endloop endfacet - facet normal 0.88181 -0.471605 0 + facet normal -0.135841 0.990731 0 outer loop - vertex 14.2634 -3.15818 -0.2 - vertex 14.1768 -3.32005 0 - vertex 14.1768 -3.32005 -0.2 + vertex -20.0298 12.0063 0 + vertex -17.5299 12.3491 -3 + vertex -20.0298 12.0063 -3 endloop endfacet - facet normal 0.950814 -0.309764 0 + facet normal -0.101855 0.994799 0 outer loop - vertex 14.2634 -3.15818 0 - vertex 14.3256 -2.96711 -0.2 - vertex 14.3256 -2.96711 0 + vertex -20.0298 12.0063 -3 + vertex -22.4428 11.7593 0 + vertex -20.0298 12.0063 0 endloop endfacet - facet normal 0.950814 -0.309764 0 + facet normal -0.101855 0.994799 0 outer loop - vertex 14.3256 -2.96711 -0.2 - vertex 14.2634 -3.15818 0 - vertex 14.2634 -3.15818 -0.2 + vertex -22.4428 11.7593 0 + vertex -20.0298 12.0063 -3 + vertex -22.4428 11.7593 -3 endloop endfacet - facet normal 0.996178 -0.0873495 0 + facet normal -0.0308153 0.999525 0 outer loop - vertex 14.3256 -2.96711 0 - vertex 14.3448 -2.7489 -0.2 - vertex 14.3448 -2.7489 0 + vertex -22.4428 11.7593 -3 + vertex -25.7097 11.6586 0 + vertex -22.4428 11.7593 0 endloop endfacet - facet normal 0.996178 -0.0873495 0 + facet normal -0.0308153 0.999525 0 outer loop - vertex 14.3448 -2.7489 -0.2 - vertex 14.3256 -2.96711 0 - vertex 14.3256 -2.96711 -0.2 + vertex -25.7097 11.6586 0 + vertex -22.4428 11.7593 -3 + vertex -25.7097 11.6586 -3 endloop endfacet - facet normal 0.995552 0.0942095 0 + facet normal 0.0184303 0.99983 -0 outer loop - vertex 14.3448 -2.7489 0 - vertex 14.3217 -2.5049 -0.2 - vertex 14.3217 -2.5049 0 + vertex -25.7097 11.6586 -3 + vertex -28.6588 11.7129 0 + vertex -25.7097 11.6586 0 endloop endfacet - facet normal 0.995552 0.0942095 0 + facet normal 0.0184303 0.99983 0 outer loop - vertex 14.3217 -2.5049 -0.2 - vertex 14.3448 -2.7489 0 - vertex 14.3448 -2.7489 -0.2 + vertex -28.6588 11.7129 0 + vertex -25.7097 11.6586 -3 + vertex -28.6588 11.7129 -3 endloop endfacet - facet normal 0.972391 0.233358 0 + facet normal 0.147852 0.989009 -0 outer loop - vertex 14.3217 -2.5049 0 - vertex 14.2572 -2.23644 -0.2 - vertex 14.2572 -2.23644 0 + vertex -28.6588 11.7129 -3 + vertex -30.1182 11.9311 0 + vertex -28.6588 11.7129 0 endloop endfacet - facet normal 0.972391 0.233358 0 + facet normal 0.147852 0.989009 0 outer loop - vertex 14.2572 -2.23644 -0.2 - vertex 14.3217 -2.5049 0 - vertex 14.3217 -2.5049 -0.2 + vertex -30.1182 11.9311 0 + vertex -28.6588 11.7129 -3 + vertex -30.1182 11.9311 -3 endloop endfacet - facet normal 0.940985 0.338449 0 + facet normal 0.940295 0.34036 0 outer loop - vertex 14.2572 -2.23644 0 - vertex 14.1524 -1.94488 -0.2 - vertex 14.1524 -1.94488 0 + vertex -30.1182 11.9311 0 + vertex -30.3887 12.6783 -3 + vertex -30.3887 12.6783 0 endloop endfacet - facet normal 0.940985 0.338449 0 + facet normal 0.940295 0.34036 0 outer loop - vertex 14.1524 -1.94488 -0.2 - vertex 14.2572 -2.23644 0 - vertex 14.2572 -2.23644 -0.2 + vertex -30.3887 12.6783 -3 + vertex -30.1182 11.9311 0 + vertex -30.1182 11.9311 -3 endloop endfacet - facet normal 0.908169 0.418604 0 + facet normal 0.978074 -0.208259 0 outer loop - vertex 14.1524 -1.94488 0 - vertex 14.008 -1.63155 -0.2 - vertex 14.008 -1.63155 0 + vertex -30.3887 12.6783 0 + vertex -30.3118 13.0393 -3 + vertex -30.3118 13.0393 0 endloop endfacet - facet normal 0.908169 0.418604 0 + facet normal 0.978074 -0.208259 0 outer loop - vertex 14.008 -1.63155 -0.2 - vertex 14.1524 -1.94488 0 - vertex 14.1524 -1.94488 -0.2 + vertex -30.3118 13.0393 -3 + vertex -30.3887 12.6783 0 + vertex -30.3887 12.6783 -3 endloop endfacet - facet normal 0.876739 0.480967 0 + facet normal 0.488021 -0.872832 0 outer loop - vertex 14.008 -1.63155 0 - vertex 13.8249 -1.29782 -0.2 - vertex 13.8249 -1.29782 0 + vertex -30.3118 13.0393 -3 + vertex -29.9412 13.2465 0 + vertex -30.3118 13.0393 0 endloop endfacet - facet normal 0.876739 0.480967 0 + facet normal 0.488021 -0.872832 0 outer loop - vertex 13.8249 -1.29782 -0.2 - vertex 14.008 -1.63155 0 - vertex 14.008 -1.63155 -0.2 + vertex -29.9412 13.2465 0 + vertex -30.3118 13.0393 -3 + vertex -29.9412 13.2465 -3 endloop endfacet - facet normal 0.847618 0.530607 0 + facet normal 0.0669219 -0.997758 0 outer loop - vertex 13.8249 -1.29782 0 - vertex 13.604 -0.945011 -0.2 - vertex 13.604 -0.945011 0 + vertex -29.9412 13.2465 -3 + vertex -27.4778 13.4117 0 + vertex -29.9412 13.2465 0 endloop endfacet - facet normal 0.847618 0.530607 0 + facet normal 0.0669219 -0.997758 0 outer loop - vertex 13.604 -0.945011 -0.2 - vertex 13.8249 -1.29782 0 - vertex 13.8249 -1.29782 -0.2 + vertex -27.4778 13.4117 0 + vertex -29.9412 13.2465 -3 + vertex -27.4778 13.4117 -3 endloop endfacet - facet normal 0.820927 0.571033 0 + facet normal 0.0722192 -0.997389 0 outer loop - vertex 13.604 -0.945011 0 - vertex 13.3463 -0.574481 -0.2 - vertex 13.3463 -0.574481 0 + vertex -27.4778 13.4117 -3 + vertex -24.873 13.6003 0 + vertex -27.4778 13.4117 0 endloop endfacet - facet normal 0.820927 0.571033 0 + facet normal 0.0722192 -0.997389 0 outer loop - vertex 13.3463 -0.574481 -0.2 - vertex 13.604 -0.945011 0 - vertex 13.604 -0.945011 -0.2 + vertex -24.873 13.6003 0 + vertex -27.4778 13.4117 -3 + vertex -24.873 13.6003 -3 endloop endfacet - facet normal 0.796478 0.604667 0 + facet normal 0.168213 -0.985751 0 outer loop - vertex 13.3463 -0.574481 0 - vertex 13.0525 -0.187573 -0.2 - vertex 13.0525 -0.187573 0 + vertex -24.873 13.6003 -3 + vertex -22.3118 14.0374 0 + vertex -24.873 13.6003 0 endloop endfacet - facet normal 0.796478 0.604667 0 + facet normal 0.168213 -0.985751 0 outer loop - vertex 13.0525 -0.187573 -0.2 - vertex 13.3463 -0.574481 0 - vertex 13.3463 -0.574481 -0.2 + vertex -22.3118 14.0374 0 + vertex -24.873 13.6003 -3 + vertex -22.3118 14.0374 -3 endloop endfacet - facet normal 0.773983 0.633206 0 + facet normal 0.261629 -0.965169 0 outer loop - vertex 13.0525 -0.187573 0 - vertex 12.7237 0.214368 -0.2 - vertex 12.7237 0.214368 0 + vertex -22.3118 14.0374 -3 + vertex -19.733 14.7364 0 + vertex -22.3118 14.0374 0 endloop endfacet - facet normal 0.773983 0.633206 0 + facet normal 0.261629 -0.965169 0 outer loop - vertex 12.7237 0.214368 -0.2 - vertex 13.0525 -0.187573 0 - vertex 13.0525 -0.187573 -0.2 + vertex -19.733 14.7364 0 + vertex -22.3118 14.0374 -3 + vertex -19.733 14.7364 -3 endloop endfacet - facet normal 0.753142 0.657858 0 + facet normal 0.344283 -0.938866 0 outer loop - vertex 12.7237 0.214368 0 - vertex 12.3607 0.629996 -0.2 - vertex 12.3607 0.629996 0 + vertex -19.733 14.7364 -3 + vertex -17.0754 15.711 0 + vertex -19.733 14.7364 0 endloop endfacet - facet normal 0.753142 0.657858 0 + facet normal 0.344283 -0.938866 0 outer loop - vertex 12.3607 0.629996 -0.2 - vertex 12.7237 0.214368 0 - vertex 12.7237 0.214368 -0.2 + vertex -17.0754 15.711 0 + vertex -19.733 14.7364 -3 + vertex -17.0754 15.711 -3 endloop endfacet - facet normal 0.724343 0.68944 0 + facet normal 0.435809 -0.900039 0 outer loop - vertex 12.3607 0.629996 0 - vertex 11.5355 1.49693 -0.2 - vertex 11.5355 1.49693 0 + vertex -17.0754 15.711 -3 + vertex -15.009 16.7116 0 + vertex -17.0754 15.711 0 endloop endfacet - facet normal 0.724343 0.68944 0 + facet normal 0.435809 -0.900039 0 outer loop - vertex 11.5355 1.49693 -0.2 - vertex 12.3607 0.629996 0 - vertex 12.3607 0.629996 -0.2 + vertex -15.009 16.7116 0 + vertex -17.0754 15.711 -3 + vertex -15.009 16.7116 -3 endloop endfacet - facet normal 0.689461 0.724323 -0 + facet normal 0.583649 -0.812006 0 outer loop - vertex 11.5355 1.49693 -0.2 - vertex 10.5842 2.40247 0 - vertex 11.5355 1.49693 0 + vertex -15.009 16.7116 -3 + vertex -12.0133 18.8648 0 + vertex -15.009 16.7116 0 endloop endfacet - facet normal 0.689461 0.724323 0 + facet normal 0.583649 -0.812006 0 outer loop - vertex 10.5842 2.40247 0 - vertex 11.5355 1.49693 -0.2 - vertex 10.5842 2.40247 -0.2 + vertex -12.0133 18.8648 0 + vertex -15.009 16.7116 -3 + vertex -12.0133 18.8648 -3 endloop endfacet - facet normal 0.659589 0.751627 -0 + facet normal 0.632447 -0.774604 0 outer loop - vertex 10.5842 2.40247 -0.2 - vertex 9.61741 3.25086 0 - vertex 10.5842 2.40247 0 + vertex -12.0133 18.8648 -3 + vertex -11.1208 19.5935 0 + vertex -12.0133 18.8648 0 endloop endfacet - facet normal 0.659589 0.751627 0 + facet normal 0.632447 -0.774604 0 outer loop - vertex 9.61741 3.25086 0 - vertex 10.5842 2.40247 -0.2 - vertex 9.61741 3.25086 -0.2 + vertex -11.1208 19.5935 0 + vertex -12.0133 18.8648 -3 + vertex -11.1208 19.5935 -3 endloop endfacet - facet normal 0.626395 0.779506 -0 + facet normal 0.915349 -0.40266 0 outer loop - vertex 9.61741 3.25086 -0.2 - vertex 9.29624 3.50894 0 - vertex 9.61741 3.25086 0 + vertex -11.1208 19.5935 0 + vertex -10.9412 20.0018 -3 + vertex -10.9412 20.0018 0 endloop endfacet - facet normal 0.626395 0.779506 0 + facet normal 0.915349 -0.40266 0 outer loop - vertex 9.29624 3.50894 0 - vertex 9.61741 3.25086 -0.2 - vertex 9.29624 3.50894 -0.2 + vertex -10.9412 20.0018 -3 + vertex -11.1208 19.5935 0 + vertex -11.1208 19.5935 -3 endloop endfacet - facet normal 0.533935 0.845526 -0 + facet normal 0.285826 0.958281 -0 outer loop - vertex 9.29624 3.50894 -0.2 - vertex 9.14614 3.60373 0 - vertex 9.29624 3.50894 0 + vertex -10.9412 20.0018 -3 + vertex -11.5389 20.1801 0 + vertex -10.9412 20.0018 0 endloop endfacet - facet normal 0.533935 0.845526 0 + facet normal 0.285826 0.958281 0 outer loop - vertex 9.14614 3.60373 0 - vertex 9.29624 3.50894 -0.2 - vertex 9.14614 3.60373 -0.2 + vertex -11.5389 20.1801 0 + vertex -10.9412 20.0018 -3 + vertex -11.5389 20.1801 -3 endloop endfacet - facet normal 0.419972 0.907537 -0 + facet normal 0.0268157 0.99964 -0 outer loop - vertex 9.14614 3.60373 -0.2 - vertex 9.03464 3.65533 0 - vertex 9.14614 3.60373 0 + vertex -11.5389 20.1801 -3 + vertex -12.9783 20.2187 0 + vertex -11.5389 20.1801 0 endloop endfacet - facet normal 0.419972 0.907537 0 + facet normal 0.0268157 0.99964 0 outer loop - vertex 9.03464 3.65533 0 - vertex 9.14614 3.60373 -0.2 - vertex 9.03464 3.65533 -0.2 + vertex -12.9783 20.2187 0 + vertex -11.5389 20.1801 -3 + vertex -12.9783 20.2187 -3 endloop endfacet - facet normal 0.545127 0.838353 -0 + facet normal -0.0662732 0.997802 0 outer loop - vertex 9.03464 3.65533 -0.2 - vertex 8.81858 3.79581 0 - vertex 9.03464 3.65533 0 + vertex -12.9783 20.2187 -3 + vertex -16.3196 19.9968 0 + vertex -12.9783 20.2187 0 endloop endfacet - facet normal 0.545127 0.838353 0 + facet normal -0.0662732 0.997802 0 outer loop - vertex 8.81858 3.79581 0 - vertex 9.03464 3.65533 -0.2 - vertex 8.81858 3.79581 -0.2 + vertex -16.3196 19.9968 0 + vertex -12.9783 20.2187 -3 + vertex -16.3196 19.9968 -3 endloop endfacet - facet normal 0.596587 0.802549 -0 + facet normal -0.149342 0.988786 0 outer loop - vertex 8.81858 3.79581 -0.2 - vertex 8.19732 4.25764 0 - vertex 8.81858 3.79581 0 + vertex -16.3196 19.9968 -3 + vertex -20.1789 19.4139 0 + vertex -16.3196 19.9968 0 endloop endfacet - facet normal 0.596587 0.802549 0 + facet normal -0.149342 0.988786 0 outer loop - vertex 8.19732 4.25764 0 - vertex 8.81858 3.79581 -0.2 - vertex 8.19732 4.25764 -0.2 + vertex -20.1789 19.4139 0 + vertex -16.3196 19.9968 -3 + vertex -20.1789 19.4139 -3 endloop endfacet - facet normal 0.576403 0.817166 -0 + facet normal -0.0917718 0.99578 0 outer loop - vertex 8.19732 4.25764 -0.2 - vertex 8.00725 4.39171 0 - vertex 8.19732 4.25764 0 + vertex -20.1789 19.4139 -3 + vertex -24.1572 19.0472 0 + vertex -20.1789 19.4139 0 endloop endfacet - facet normal 0.576403 0.817166 0 + facet normal -0.0917718 0.99578 0 outer loop - vertex 8.00725 4.39171 0 - vertex 8.19732 4.25764 -0.2 - vertex 8.00725 4.39171 -0.2 + vertex -24.1572 19.0472 0 + vertex -20.1789 19.4139 -3 + vertex -24.1572 19.0472 -3 endloop endfacet - facet normal 0.52168 0.853141 -0 + facet normal -0.0311054 0.999516 0 outer loop - vertex 8.00725 4.39171 -0.2 - vertex 7.75154 4.54807 0 - vertex 8.00725 4.39171 0 + vertex -24.1572 19.0472 -3 + vertex -27.5587 18.9414 0 + vertex -24.1572 19.0472 0 endloop endfacet - facet normal 0.52168 0.853141 0 + facet normal -0.0311054 0.999516 0 outer loop - vertex 7.75154 4.54807 0 - vertex 8.00725 4.39171 -0.2 - vertex 7.75154 4.54807 -0.2 + vertex -27.5587 18.9414 0 + vertex -24.1572 19.0472 -3 + vertex -27.5587 18.9414 -3 endloop endfacet - facet normal 0.475339 0.879803 -0 + facet normal 0.0933351 0.995635 -0 outer loop - vertex 7.75154 4.54807 -0.2 - vertex 7.07462 4.9138 0 - vertex 7.75154 4.54807 0 + vertex -27.5587 18.9414 -3 + vertex -29.687 19.1409 0 + vertex -27.5587 18.9414 0 endloop endfacet - facet normal 0.475339 0.879803 0 + facet normal 0.0933351 0.995635 0 outer loop - vertex 7.07462 4.9138 0 - vertex 7.75154 4.54807 -0.2 - vertex 7.07462 4.9138 -0.2 + vertex -29.687 19.1409 0 + vertex -27.5587 18.9414 -3 + vertex -29.687 19.1409 -3 endloop endfacet - facet normal 0.439259 0.89836 -0 + facet normal 0.326889 0.945063 -0 outer loop - vertex 7.07462 4.9138 -0.2 - vertex 6.22936 5.32709 0 - vertex 7.07462 4.9138 0 + vertex -29.687 19.1409 -3 + vertex -33.0651 20.3093 0 + vertex -29.687 19.1409 0 endloop endfacet - facet normal 0.439259 0.89836 0 + facet normal 0.326889 0.945063 0 outer loop - vertex 6.22936 5.32709 0 - vertex 7.07462 4.9138 -0.2 - vertex 6.22936 5.32709 -0.2 + vertex -33.0651 20.3093 0 + vertex -29.687 19.1409 -3 + vertex -33.0651 20.3093 -3 endloop endfacet - facet normal 0.414563 0.910021 -0 + facet normal 0.441663 0.897181 -0 outer loop - vertex 6.22936 5.32709 -0.2 - vertex 5.27855 5.76024 0 - vertex 6.22936 5.32709 0 + vertex -33.0651 20.3093 -3 + vertex -35.7552 21.6337 0 + vertex -33.0651 20.3093 0 endloop endfacet - facet normal 0.414563 0.910021 0 + facet normal 0.441663 0.897181 0 outer loop - vertex 5.27855 5.76024 0 - vertex 6.22936 5.32709 -0.2 - vertex 5.27855 5.76024 -0.2 + vertex -35.7552 21.6337 0 + vertex -33.0651 20.3093 -3 + vertex -35.7552 21.6337 -3 endloop endfacet - facet normal 0.393495 0.919327 -0 + facet normal 0.596659 0.802495 -0 outer loop - vertex 5.27855 5.76024 -0.2 - vertex 4.285 6.1855 0 - vertex 5.27855 5.76024 0 + vertex -35.7552 21.6337 -3 + vertex -37.6991 23.0789 0 + vertex -35.7552 21.6337 0 endloop endfacet - facet normal 0.393495 0.919327 0 + facet normal 0.596659 0.802495 0 outer loop - vertex 4.285 6.1855 0 - vertex 5.27855 5.76024 -0.2 - vertex 4.285 6.1855 -0.2 + vertex -37.6991 23.0789 0 + vertex -35.7552 21.6337 -3 + vertex -37.6991 23.0789 -3 endloop endfacet - facet normal 0.371607 0.92839 -0 + facet normal 0.746999 0.664825 0 outer loop - vertex 4.285 6.1855 -0.2 - vertex 3.31149 6.57517 0 - vertex 4.285 6.1855 0 + vertex -37.6991 23.0789 0 + vertex -38.3729 23.836 -3 + vertex -38.3729 23.836 0 endloop endfacet - facet normal 0.371607 0.92839 0 + facet normal 0.746999 0.664825 0 outer loop - vertex 3.31149 6.57517 0 - vertex 4.285 6.1855 -0.2 - vertex 3.31149 6.57517 -0.2 + vertex -38.3729 23.836 -3 + vertex -37.6991 23.0789 0 + vertex -37.6991 23.0789 -3 endloop endfacet - facet normal 0.344035 0.938957 -0 + facet normal 0.857117 0.515122 0 outer loop - vertex 3.31149 6.57517 -0.2 - vertex 2.42084 6.9015 0 - vertex 3.31149 6.57517 0 + vertex -38.3729 23.836 0 + vertex -38.8382 24.6102 -3 + vertex -38.8382 24.6102 0 endloop endfacet - facet normal 0.344035 0.938957 0 + facet normal 0.857117 0.515122 0 outer loop - vertex 2.42084 6.9015 0 - vertex 3.31149 6.57517 -0.2 - vertex 2.42084 6.9015 -0.2 + vertex -38.8382 24.6102 -3 + vertex -38.3729 23.836 0 + vertex -38.3729 23.836 -3 endloop endfacet - facet normal 0.301156 0.953575 -0 + facet normal 0.945559 0.32545 0 outer loop - vertex 2.42084 6.9015 -0.2 - vertex 1.67583 7.13679 0 - vertex 2.42084 6.9015 0 + vertex -38.8382 24.6102 0 + vertex -39.1303 25.4589 -3 + vertex -39.1303 25.4589 0 endloop endfacet - facet normal 0.301156 0.953575 0 + facet normal 0.945559 0.32545 0 outer loop - vertex 1.67583 7.13679 0 - vertex 2.42084 6.9015 -0.2 - vertex 1.67583 7.13679 -0.2 + vertex -39.1303 25.4589 -3 + vertex -38.8382 24.6102 0 + vertex -38.8382 24.6102 -3 endloop endfacet - facet normal 0.313822 0.949482 -0 + facet normal 0.969805 -0.24388 0 outer loop - vertex 1.67583 7.13679 -0.2 - vertex 1.30727 7.25861 0 - vertex 1.67583 7.13679 0 + vertex -39.1303 25.4589 0 + vertex -39.0347 25.8392 -3 + vertex -39.0347 25.8392 0 endloop endfacet - facet normal 0.313822 0.949482 0 + facet normal 0.969805 -0.24388 0 outer loop - vertex 1.30727 7.25861 0 - vertex 1.67583 7.13679 -0.2 - vertex 1.30727 7.25861 -0.2 + vertex -39.0347 25.8392 -3 + vertex -39.1303 25.4589 0 + vertex -39.1303 25.4589 -3 endloop endfacet - facet normal 0.372489 0.928036 -0 + facet normal -0.217347 -0.976094 0 outer loop - vertex 1.30727 7.25861 -0.2 - vertex 0.855811 7.43981 0 - vertex 1.30727 7.25861 0 + vertex -39.0347 25.8392 -3 + vertex -38.5782 25.7376 0 + vertex -39.0347 25.8392 0 endloop endfacet - facet normal 0.372489 0.928036 0 + facet normal -0.217347 -0.976094 -0 outer loop - vertex 0.855811 7.43981 0 - vertex 1.30727 7.25861 -0.2 - vertex 0.855811 7.43981 -0.2 + vertex -38.5782 25.7376 0 + vertex -39.0347 25.8392 -3 + vertex -38.5782 25.7376 -3 endloop endfacet - facet normal 0.420776 0.907164 -0 + facet normal -0.602798 -0.797894 0 outer loop - vertex 0.855811 7.43981 -0.2 - vertex -0.23691 7.94665 0 - vertex 0.855811 7.43981 0 + vertex -38.5782 25.7376 -3 + vertex -37.7877 25.1404 0 + vertex -38.5782 25.7376 0 endloop endfacet - facet normal 0.420776 0.907164 0 + facet normal -0.602798 -0.797894 -0 outer loop - vertex -0.23691 7.94665 0 - vertex 0.855811 7.43981 -0.2 - vertex -0.23691 7.94665 -0.2 + vertex -37.7877 25.1404 0 + vertex -38.5782 25.7376 -3 + vertex -37.7877 25.1404 -3 endloop endfacet - facet normal 0.458228 0.888835 -0 + facet normal -0.582847 -0.812582 0 outer loop - vertex -0.23691 7.94665 -0.2 - vertex -1.48458 8.58988 0 - vertex -0.23691 7.94665 0 + vertex -37.7877 25.1404 -3 + vertex -36.1697 23.9798 0 + vertex -37.7877 25.1404 0 endloop endfacet - facet normal 0.458228 0.888835 0 + facet normal -0.582847 -0.812582 -0 outer loop - vertex -1.48458 8.58988 0 - vertex -0.23691 7.94665 -0.2 - vertex -1.48458 8.58988 -0.2 + vertex -36.1697 23.9798 0 + vertex -37.7877 25.1404 -3 + vertex -36.1697 23.9798 -3 endloop endfacet - facet normal 0.484776 0.874638 -0 + facet normal -0.438905 -0.898534 0 outer loop - vertex -1.48458 8.58988 -0.2 - vertex -2.76946 9.30203 0 - vertex -1.48458 8.58988 0 + vertex -36.1697 23.9798 -3 + vertex -34.2108 23.023 0 + vertex -36.1697 23.9798 0 endloop endfacet - facet normal 0.484776 0.874638 0 + facet normal -0.438905 -0.898534 -0 outer loop - vertex -2.76946 9.30203 0 - vertex -1.48458 8.58988 -0.2 - vertex -2.76946 9.30203 -0.2 + vertex -34.2108 23.023 0 + vertex -36.1697 23.9798 -3 + vertex -34.2108 23.023 -3 endloop endfacet - facet normal 0.509783 0.860303 -0 + facet normal -0.304923 -0.952377 0 outer loop - vertex -2.76946 9.30203 -0.2 - vertex -3.97378 10.0157 0 - vertex -2.76946 9.30203 0 + vertex -34.2108 23.023 -3 + vertex -32.1178 22.3529 0 + vertex -34.2108 23.023 0 endloop endfacet - facet normal 0.509783 0.860303 0 + facet normal -0.304923 -0.952377 -0 outer loop - vertex -3.97378 10.0157 0 - vertex -2.76946 9.30203 -0.2 - vertex -3.97378 10.0157 -0.2 + vertex -32.1178 22.3529 0 + vertex -34.2108 23.023 -3 + vertex -32.1178 22.3529 -3 endloop endfacet - facet normal 0.541316 0.840819 -0 + facet normal -0.147036 -0.989131 0 outer loop - vertex -3.97378 10.0157 -0.2 - vertex -4.9798 10.6633 0 - vertex -3.97378 10.0157 0 + vertex -32.1178 22.3529 -3 + vertex -30.0976 22.0525 0 + vertex -32.1178 22.3529 0 endloop endfacet - facet normal 0.541316 0.840819 0 + facet normal -0.147036 -0.989131 -0 outer loop - vertex -4.9798 10.6633 0 - vertex -3.97378 10.0157 -0.2 - vertex -4.9798 10.6633 -0.2 + vertex -30.0976 22.0525 0 + vertex -32.1178 22.3529 -3 + vertex -30.0976 22.0525 -3 endloop endfacet - facet normal 0.578658 0.81557 -0 + facet normal -0.0457632 -0.998952 0 outer loop - vertex -4.9798 10.6633 -0.2 - vertex -5.37165 10.9414 0 - vertex -4.9798 10.6633 0 + vertex -30.0976 22.0525 -3 + vertex -28.3511 21.9725 0 + vertex -30.0976 22.0525 0 endloop endfacet - facet normal 0.578658 0.81557 0 + facet normal -0.0457632 -0.998952 -0 outer loop - vertex -5.37165 10.9414 0 - vertex -4.9798 10.6633 -0.2 - vertex -5.37165 10.9414 -0.2 + vertex -28.3511 21.9725 0 + vertex -30.0976 22.0525 -3 + vertex -28.3511 21.9725 -3 endloop endfacet - facet normal 0.621078 0.783749 -0 + facet normal 0.491954 0.870621 -0 outer loop - vertex -5.37165 10.9414 -0.2 - vertex -5.66976 11.1776 0 - vertex -5.37165 10.9414 0 + vertex -28.3511 21.9725 -3 + vertex -29.0303 22.3563 0 + vertex -28.3511 21.9725 0 endloop endfacet - facet normal 0.621078 0.783749 0 + facet normal 0.491954 0.870621 0 outer loop - vertex -5.66976 11.1776 0 - vertex -5.37165 10.9414 -0.2 - vertex -5.66976 11.1776 -0.2 + vertex -29.0303 22.3563 0 + vertex -28.3511 21.9725 -3 + vertex -29.0303 22.3563 -3 endloop endfacet - facet normal 0.700224 0.713923 -0 + facet normal 0.563624 0.826031 -0 outer loop - vertex -5.66976 11.1776 -0.2 - vertex -5.85942 11.3636 0 - vertex -5.66976 11.1776 0 + vertex -29.0303 22.3563 -3 + vertex -30.3878 23.2826 0 + vertex -29.0303 22.3563 0 endloop endfacet - facet normal 0.700224 0.713923 0 + facet normal 0.563624 0.826031 0 outer loop - vertex -5.85942 11.3636 0 - vertex -5.66976 11.1776 -0.2 - vertex -5.85942 11.3636 -0.2 + vertex -30.3878 23.2826 0 + vertex -29.0303 22.3563 -3 + vertex -30.3878 23.2826 -3 endloop endfacet - facet normal 0.822029 0.569446 0 + facet normal 0.796403 0.604766 0 outer loop - vertex -5.85942 11.3636 0 - vertex -5.90899 11.4352 -0.2 - vertex -5.90899 11.4352 0 + vertex -30.3878 23.2826 0 + vertex -31.0943 24.213 -3 + vertex -31.0943 24.213 0 endloop endfacet - facet normal 0.822029 0.569446 0 + facet normal 0.796403 0.604766 0 outer loop - vertex -5.90899 11.4352 -0.2 - vertex -5.85942 11.3636 0 - vertex -5.85942 11.3636 -0.2 + vertex -31.0943 24.213 -3 + vertex -30.3878 23.2826 0 + vertex -30.3878 23.2826 -3 endloop endfacet - facet normal 0.95697 0.290185 0 + facet normal 0.951494 0.307667 0 outer loop - vertex -5.90899 11.4352 0 - vertex -5.92592 11.491 -0.2 - vertex -5.92592 11.491 0 + vertex -31.0943 24.213 0 + vertex -31.2773 24.779 -3 + vertex -31.2773 24.779 0 endloop endfacet - facet normal 0.95697 0.290185 0 + facet normal 0.951494 0.307667 0 outer loop - vertex -5.92592 11.491 -0.2 - vertex -5.90899 11.4352 0 - vertex -5.90899 11.4352 -0.2 + vertex -31.2773 24.779 -3 + vertex -31.0943 24.213 0 + vertex -31.0943 24.213 -3 endloop endfacet - facet normal 0.964129 -0.265435 0 + facet normal 0.935098 -0.35439 0 outer loop - vertex -5.92592 11.491 0 - vertex -5.91161 11.5429 -0.2 - vertex -5.91161 11.5429 0 + vertex -31.2773 24.779 0 + vertex -31.1793 25.0376 -3 + vertex -31.1793 25.0376 0 endloop endfacet - facet normal 0.964129 -0.265435 0 + facet normal 0.935098 -0.35439 0 outer loop - vertex -5.91161 11.5429 -0.2 - vertex -5.92592 11.491 0 - vertex -5.92592 11.491 -0.2 + vertex -31.1793 25.0376 -3 + vertex -31.2773 24.779 0 + vertex -31.2773 24.779 -3 endloop endfacet - facet normal 0.717664 -0.69639 0 + facet normal -0.153546 -0.988142 0 outer loop - vertex -5.91161 11.5429 0 - vertex -5.8692 11.5867 -0.2 - vertex -5.8692 11.5867 0 + vertex -31.1793 25.0376 -3 + vertex -30.8173 24.9813 0 + vertex -31.1793 25.0376 0 endloop endfacet - facet normal 0.717664 -0.69639 0 + facet normal -0.153546 -0.988142 -0 outer loop - vertex -5.8692 11.5867 -0.2 - vertex -5.91161 11.5429 0 - vertex -5.91161 11.5429 -0.2 + vertex -30.8173 24.9813 0 + vertex -31.1793 25.0376 -3 + vertex -30.8173 24.9813 -3 endloop endfacet - facet normal 0.453397 -0.891309 0 + facet normal -0.527885 -0.849316 0 outer loop - vertex -5.8692 11.5867 -0.2 - vertex -5.79943 11.6221 0 - vertex -5.8692 11.5867 0 + vertex -30.8173 24.9813 -3 + vertex -30.2081 24.6027 0 + vertex -30.8173 24.9813 0 endloop endfacet - facet normal 0.453397 -0.891309 0 + facet normal -0.527885 -0.849316 -0 outer loop - vertex -5.79943 11.6221 0 - vertex -5.8692 11.5867 -0.2 - vertex -5.79943 11.6221 -0.2 + vertex -30.2081 24.6027 0 + vertex -30.8173 24.9813 -3 + vertex -30.2081 24.6027 -3 endloop endfacet - facet normal 0.272626 -0.96212 0 + facet normal -0.502983 -0.864296 0 outer loop - vertex -5.79943 11.6221 -0.2 - vertex -5.70304 11.6495 0 - vertex -5.79943 11.6221 0 + vertex -30.2081 24.6027 -3 + vertex -29.3958 24.13 0 + vertex -30.2081 24.6027 0 endloop endfacet - facet normal 0.272626 -0.96212 0 + facet normal -0.502983 -0.864296 -0 outer loop - vertex -5.70304 11.6495 0 - vertex -5.79943 11.6221 -0.2 - vertex -5.70304 11.6495 -0.2 + vertex -29.3958 24.13 0 + vertex -30.2081 24.6027 -3 + vertex -29.3958 24.13 -3 endloop endfacet - facet normal 0.111359 -0.99378 0 + facet normal -0.286557 -0.958063 0 outer loop - vertex -5.70304 11.6495 -0.2 - vertex -5.4334 11.6797 0 - vertex -5.70304 11.6495 0 + vertex -29.3958 24.13 -3 + vertex -28.4642 23.8513 0 + vertex -29.3958 24.13 0 endloop endfacet - facet normal 0.111359 -0.99378 0 + facet normal -0.286557 -0.958063 -0 outer loop - vertex -5.4334 11.6797 0 - vertex -5.70304 11.6495 -0.2 - vertex -5.4334 11.6797 -0.2 + vertex -28.4642 23.8513 0 + vertex -29.3958 24.13 -3 + vertex -28.4642 23.8513 -3 endloop endfacet - facet normal -0.00575054 -0.999983 0 + facet normal -0.0843211 -0.996439 0 outer loop - vertex -5.4334 11.6797 -0.2 - vertex -5.06624 11.6776 0 - vertex -5.4334 11.6797 0 + vertex -28.4642 23.8513 -3 + vertex -27.3687 23.7586 0 + vertex -28.4642 23.8513 0 endloop endfacet - facet normal -0.00575054 -0.999983 -0 + facet normal -0.0843211 -0.996439 -0 outer loop - vertex -5.06624 11.6776 0 - vertex -5.4334 11.6797 -0.2 - vertex -5.06624 11.6776 -0.2 + vertex -27.3687 23.7586 0 + vertex -28.4642 23.8513 -3 + vertex -27.3687 23.7586 -3 endloop endfacet - facet normal -0.0742941 -0.997236 0 + facet normal 0.065101 -0.997879 0 outer loop - vertex -5.06624 11.6776 -0.2 - vertex -4.60751 11.6434 0 - vertex -5.06624 11.6776 0 + vertex -27.3687 23.7586 -3 + vertex -26.0647 23.8437 0 + vertex -27.3687 23.7586 0 endloop endfacet - facet normal -0.0742941 -0.997236 -0 + facet normal 0.065101 -0.997879 0 outer loop - vertex -4.60751 11.6434 0 - vertex -5.06624 11.6776 -0.2 - vertex -4.60751 11.6434 -0.2 - endloop - endfacet - facet normal -0.120331 -0.992734 0 - outer loop - vertex -4.60751 11.6434 -0.2 - vertex -4.06319 11.5774 0 - vertex -4.60751 11.6434 0 - endloop - endfacet - facet normal -0.120331 -0.992734 -0 - outer loop - vertex -4.06319 11.5774 0 - vertex -4.60751 11.6434 -0.2 - vertex -4.06319 11.5774 -0.2 - endloop - endfacet - facet normal -0.154416 -0.988006 0 - outer loop - vertex -4.06319 11.5774 -0.2 - vertex -3.43924 11.4799 0 - vertex -4.06319 11.5774 0 - endloop - endfacet - facet normal -0.154416 -0.988006 -0 - outer loop - vertex -3.43924 11.4799 0 - vertex -4.06319 11.5774 -0.2 - vertex -3.43924 11.4799 -0.2 - endloop - endfacet - facet normal -0.181553 -0.983381 0 - outer loop - vertex -3.43924 11.4799 -0.2 - vertex -2.74162 11.3511 0 - vertex -3.43924 11.4799 0 - endloop - endfacet - facet normal -0.181553 -0.983381 -0 - outer loop - vertex -2.74162 11.3511 0 - vertex -3.43924 11.4799 -0.2 - vertex -2.74162 11.3511 -0.2 - endloop - endfacet - facet normal -0.168602 -0.985684 0 - outer loop - vertex -2.74162 11.3511 -0.2 - vertex -2.06279 11.235 0 - vertex -2.74162 11.3511 0 - endloop - endfacet - facet normal -0.168602 -0.985684 -0 - outer loop - vertex -2.06279 11.235 0 - vertex -2.74162 11.3511 -0.2 - vertex -2.06279 11.235 -0.2 - endloop - endfacet - facet normal -0.106074 -0.994358 0 - outer loop - vertex -2.06279 11.235 -0.2 - vertex -1.45038 11.1697 0 - vertex -2.06279 11.235 0 - endloop - endfacet - facet normal -0.106074 -0.994358 -0 - outer loop - vertex -1.45038 11.1697 0 - vertex -2.06279 11.235 -0.2 - vertex -1.45038 11.1697 -0.2 - endloop - endfacet - facet normal -0.0235022 -0.999724 0 - outer loop - vertex -1.45038 11.1697 -0.2 - vertex -0.893798 11.1566 0 - vertex -1.45038 11.1697 0 - endloop - endfacet - facet normal -0.0235022 -0.999724 -0 - outer loop - vertex -0.893798 11.1566 0 - vertex -1.45038 11.1697 -0.2 - vertex -0.893798 11.1566 -0.2 - endloop - endfacet - facet normal 0.0792039 -0.996858 0 - outer loop - vertex -0.893798 11.1566 -0.2 - vertex -0.382462 11.1972 0 - vertex -0.893798 11.1566 0 - endloop - endfacet - facet normal 0.0792039 -0.996858 0 - outer loop - vertex -0.382462 11.1972 0 - vertex -0.893798 11.1566 -0.2 - vertex -0.382462 11.1972 -0.2 - endloop - endfacet - facet normal 0.197027 -0.980398 0 - outer loop - vertex -0.382462 11.1972 -0.2 - vertex 0.0942225 11.293 0 - vertex -0.382462 11.1972 0 - endloop - endfacet - facet normal 0.197027 -0.980398 0 - outer loop - vertex 0.0942225 11.293 0 - vertex -0.382462 11.1972 -0.2 - vertex 0.0942225 11.293 -0.2 - endloop - endfacet - facet normal 0.319159 -0.947701 0 - outer loop - vertex 0.0942225 11.293 -0.2 - vertex 0.546849 11.4454 0 - vertex 0.0942225 11.293 0 - endloop - endfacet - facet normal 0.319159 -0.947701 0 - outer loop - vertex 0.546849 11.4454 0 - vertex 0.0942225 11.293 -0.2 - vertex 0.546849 11.4454 -0.2 - endloop - endfacet - facet normal 0.432288 -0.901736 0 - outer loop - vertex 0.546849 11.4454 -0.2 - vertex 0.986004 11.656 0 - vertex 0.546849 11.4454 0 - endloop - endfacet - facet normal 0.432288 -0.901736 0 - outer loop - vertex 0.986004 11.656 0 - vertex 0.546849 11.4454 -0.2 - vertex 0.986004 11.656 -0.2 - endloop - endfacet - facet normal 0.52637 -0.850255 0 - outer loop - vertex 0.986004 11.656 -0.2 - vertex 1.42228 11.926 0 - vertex 0.986004 11.656 0 - endloop - endfacet - facet normal 0.52637 -0.850255 0 - outer loop - vertex 1.42228 11.926 0 - vertex 0.986004 11.656 -0.2 - vertex 1.42228 11.926 -0.2 - endloop - endfacet - facet normal 0.604613 -0.796519 0 - outer loop - vertex 1.42228 11.926 -0.2 - vertex 1.72214 12.1537 0 - vertex 1.42228 11.926 0 - endloop - endfacet - facet normal 0.604613 -0.796519 0 - outer loop - vertex 1.72214 12.1537 0 - vertex 1.42228 11.926 -0.2 - vertex 1.72214 12.1537 -0.2 - endloop - endfacet - facet normal 0.710535 -0.703661 0 - outer loop - vertex 1.72214 12.1537 0 - vertex 1.81906 12.2515 -0.2 - vertex 1.81906 12.2515 0 - endloop - endfacet - facet normal 0.710535 -0.703661 0 - outer loop - vertex 1.81906 12.2515 -0.2 - vertex 1.72214 12.1537 0 - vertex 1.72214 12.1537 -0.2 - endloop - endfacet - facet normal 0.820717 -0.571334 0 - outer loop - vertex 1.81906 12.2515 0 - vertex 1.88346 12.344 -0.2 - vertex 1.88346 12.344 0 - endloop - endfacet - facet normal 0.820717 -0.571334 0 - outer loop - vertex 1.88346 12.344 -0.2 - vertex 1.81906 12.2515 0 - vertex 1.81906 12.2515 -0.2 - endloop - endfacet - facet normal 0.936854 -0.349721 0 - outer loop - vertex 1.88346 12.344 0 - vertex 1.91748 12.4352 -0.2 - vertex 1.91748 12.4352 0 - endloop - endfacet - facet normal 0.936854 -0.349721 0 - outer loop - vertex 1.91748 12.4352 -0.2 - vertex 1.88346 12.344 0 - vertex 1.88346 12.344 -0.2 - endloop - endfacet - facet normal 0.998121 -0.0612747 0 - outer loop - vertex 1.91748 12.4352 0 - vertex 1.92323 12.5289 -0.2 - vertex 1.92323 12.5289 0 - endloop - endfacet - facet normal 0.998121 -0.0612747 0 - outer loop - vertex 1.92323 12.5289 -0.2 - vertex 1.91748 12.4352 0 - vertex 1.91748 12.4352 -0.2 - endloop - endfacet - facet normal 0.979928 0.199352 0 - outer loop - vertex 1.92323 12.5289 0 - vertex 1.90284 12.6291 -0.2 - vertex 1.90284 12.6291 0 - endloop - endfacet - facet normal 0.979928 0.199352 0 - outer loop - vertex 1.90284 12.6291 -0.2 - vertex 1.92323 12.5289 0 - vertex 1.92323 12.5289 -0.2 - endloop - endfacet - facet normal 0.928124 0.372271 0 - outer loop - vertex 1.90284 12.6291 0 - vertex 1.85843 12.7398 -0.2 - vertex 1.85843 12.7398 0 - endloop - endfacet - facet normal 0.928124 0.372271 0 - outer loop - vertex 1.85843 12.7398 -0.2 - vertex 1.90284 12.6291 0 - vertex 1.90284 12.6291 -0.2 - endloop - endfacet - facet normal 0.849902 0.526941 0 - outer loop - vertex 1.85843 12.7398 0 - vertex 1.7147 12.9716 -0.2 - vertex 1.7147 12.9716 0 - endloop - endfacet - facet normal 0.849902 0.526941 0 - outer loop - vertex 1.7147 12.9716 -0.2 - vertex 1.85843 12.7398 0 - vertex 1.85843 12.7398 -0.2 - endloop - endfacet - facet normal 0.728356 0.685198 0 - outer loop - vertex 1.7147 12.9716 0 - vertex 1.51175 13.1874 -0.2 - vertex 1.51175 13.1874 0 - endloop - endfacet - facet normal 0.728356 0.685198 0 - outer loop - vertex 1.51175 13.1874 -0.2 - vertex 1.7147 12.9716 0 - vertex 1.7147 12.9716 -0.2 - endloop - endfacet - facet normal 0.606497 0.795086 -0 - outer loop - vertex 1.51175 13.1874 -0.2 - vertex 1.25015 13.3869 0 - vertex 1.51175 13.1874 0 - endloop - endfacet - facet normal 0.606497 0.795086 0 - outer loop - vertex 1.25015 13.3869 0 - vertex 1.51175 13.1874 -0.2 - vertex 1.25015 13.3869 -0.2 - endloop - endfacet - facet normal 0.497341 0.867555 -0 - outer loop - vertex 1.25015 13.3869 -0.2 - vertex 0.930489 13.5702 0 - vertex 1.25015 13.3869 0 - endloop - endfacet - facet normal 0.497341 0.867555 0 - outer loop - vertex 0.930489 13.5702 0 - vertex 1.25015 13.3869 -0.2 - vertex 0.930489 13.5702 -0.2 - endloop - endfacet - facet normal 0.404567 0.914508 -0 - outer loop - vertex 0.930489 13.5702 -0.2 - vertex 0.55335 13.737 0 - vertex 0.930489 13.5702 0 - endloop - endfacet - facet normal 0.404567 0.914508 0 - outer loop - vertex 0.55335 13.737 0 - vertex 0.930489 13.5702 -0.2 - vertex 0.55335 13.737 -0.2 - endloop - endfacet - facet normal 0.327265 0.944933 -0 - outer loop - vertex 0.55335 13.737 -0.2 - vertex 0.119316 13.8873 0 - vertex 0.55335 13.737 0 - endloop - endfacet - facet normal 0.327265 0.944933 0 - outer loop - vertex 0.119316 13.8873 0 - vertex 0.55335 13.737 -0.2 - vertex 0.119316 13.8873 -0.2 - endloop - endfacet - facet normal 0.263047 0.964783 -0 - outer loop - vertex 0.119316 13.8873 -0.2 - vertex -0.371032 14.021 0 - vertex 0.119316 13.8873 0 - endloop - endfacet - facet normal 0.263047 0.964783 0 - outer loop - vertex -0.371032 14.021 0 - vertex 0.119316 13.8873 -0.2 - vertex -0.371032 14.021 -0.2 - endloop - endfacet - facet normal 0.209418 0.977826 -0 - outer loop - vertex -0.371032 14.021 -0.2 - vertex -0.917111 14.138 0 - vertex -0.371032 14.021 0 - endloop - endfacet - facet normal 0.209418 0.977826 0 - outer loop - vertex -0.917111 14.138 0 - vertex -0.371032 14.021 -0.2 - vertex -0.917111 14.138 -0.2 - endloop - endfacet - facet normal 0.164236 0.986421 -0 - outer loop - vertex -0.917111 14.138 -0.2 - vertex -1.51834 14.2381 0 - vertex -0.917111 14.138 0 - endloop - endfacet - facet normal 0.164236 0.986421 0 - outer loop - vertex -1.51834 14.2381 0 - vertex -0.917111 14.138 -0.2 - vertex -1.51834 14.2381 -0.2 - endloop - endfacet - facet normal 0.125776 0.992059 -0 - outer loop - vertex -1.51834 14.2381 -0.2 - vertex -2.17413 14.3212 0 - vertex -1.51834 14.2381 0 - endloop - endfacet - facet normal 0.125776 0.992059 0 - outer loop - vertex -2.17413 14.3212 0 - vertex -1.51834 14.2381 -0.2 - vertex -2.17413 14.3212 -0.2 - endloop - endfacet - facet normal 0.0926874 0.995695 -0 - outer loop - vertex -2.17413 14.3212 -0.2 - vertex -2.8839 14.3873 0 - vertex -2.17413 14.3212 0 - endloop - endfacet - facet normal 0.0926874 0.995695 0 - outer loop - vertex -2.8839 14.3873 0 - vertex -2.17413 14.3212 -0.2 - vertex -2.8839 14.3873 -0.2 - endloop - endfacet - facet normal 0.0639318 0.997954 -0 - outer loop - vertex -2.8839 14.3873 -0.2 - vertex -3.64708 14.4362 0 - vertex -2.8839 14.3873 0 - endloop - endfacet - facet normal 0.0639318 0.997954 0 - outer loop - vertex -3.64708 14.4362 0 - vertex -2.8839 14.3873 -0.2 - vertex -3.64708 14.4362 -0.2 - endloop - endfacet - facet normal 0.0386969 0.999251 -0 - outer loop - vertex -3.64708 14.4362 -0.2 - vertex -4.46307 14.4678 0 - vertex -3.64708 14.4362 0 - endloop - endfacet - facet normal 0.0386969 0.999251 0 - outer loop - vertex -4.46307 14.4678 0 - vertex -3.64708 14.4362 -0.2 - vertex -4.46307 14.4678 -0.2 - endloop - endfacet - facet normal 0.0163522 0.999866 -0 - outer loop - vertex -4.46307 14.4678 -0.2 - vertex -5.33129 14.482 0 - vertex -4.46307 14.4678 0 - endloop - endfacet - facet normal 0.0163522 0.999866 0 - outer loop - vertex -5.33129 14.482 0 - vertex -4.46307 14.4678 -0.2 - vertex -5.33129 14.482 -0.2 - endloop - endfacet - facet normal -0.00360162 0.999994 0 - outer loop - vertex -5.33129 14.482 -0.2 - vertex -6.25117 14.4787 0 - vertex -5.33129 14.482 0 - endloop - endfacet - facet normal -0.00360162 0.999994 0 - outer loop - vertex -6.25117 14.4787 0 - vertex -5.33129 14.482 -0.2 - vertex -6.25117 14.4787 -0.2 - endloop - endfacet - facet normal -0.0215556 0.999768 0 - outer loop - vertex -6.25117 14.4787 -0.2 - vertex -7.22211 14.4578 0 - vertex -6.25117 14.4787 0 - endloop - endfacet - facet normal -0.0215556 0.999768 0 - outer loop - vertex -7.22211 14.4578 0 - vertex -6.25117 14.4787 -0.2 - vertex -7.22211 14.4578 -0.2 - endloop - endfacet - facet normal -0.0376222 0.999292 0 - outer loop - vertex -7.22211 14.4578 -0.2 - vertex -9.25643 14.3812 0 - vertex -7.22211 14.4578 0 - endloop - endfacet - facet normal -0.0376222 0.999292 0 - outer loop - vertex -9.25643 14.3812 0 - vertex -7.22211 14.4578 -0.2 - vertex -9.25643 14.3812 -0.2 - endloop - endfacet - facet normal -0.0777977 0.996969 0 - outer loop - vertex -9.25643 14.3812 -0.2 - vertex -9.98725 14.3241 0 - vertex -9.25643 14.3812 0 - endloop - endfacet - facet normal -0.0777977 0.996969 0 - outer loop - vertex -9.98725 14.3241 0 - vertex -9.25643 14.3812 -0.2 - vertex -9.98725 14.3241 -0.2 - endloop - endfacet - facet normal -0.133926 0.990991 0 - outer loop - vertex -9.98725 14.3241 -0.2 - vertex -10.6249 14.238 0 - vertex -9.98725 14.3241 0 - endloop - endfacet - facet normal -0.133926 0.990991 0 - outer loop - vertex -10.6249 14.238 0 - vertex -9.98725 14.3241 -0.2 - vertex -10.6249 14.238 -0.2 - endloop - endfacet - facet normal -0.202593 0.979263 0 - outer loop - vertex -10.6249 14.238 -0.2 - vertex -11.2428 14.1101 0 - vertex -10.6249 14.238 0 - endloop - endfacet - facet normal -0.202593 0.979263 0 - outer loop - vertex -11.2428 14.1101 0 - vertex -10.6249 14.238 -0.2 - vertex -11.2428 14.1101 -0.2 - endloop - endfacet - facet normal -0.261603 0.965176 0 - outer loop - vertex -11.2428 14.1101 -0.2 - vertex -11.9142 13.9281 0 - vertex -11.2428 14.1101 0 - endloop - endfacet - facet normal -0.261603 0.965176 0 - outer loop - vertex -11.9142 13.9281 0 - vertex -11.2428 14.1101 -0.2 - vertex -11.9142 13.9281 -0.2 - endloop - endfacet - facet normal -0.297369 0.954762 0 - outer loop - vertex -11.9142 13.9281 -0.2 - vertex -12.7125 13.6795 0 - vertex -11.9142 13.9281 0 - endloop - endfacet - facet normal -0.297369 0.954762 0 - outer loop - vertex -12.7125 13.6795 0 - vertex -11.9142 13.9281 -0.2 - vertex -12.7125 13.6795 -0.2 - endloop - endfacet - facet normal -0.311908 0.950112 0 - outer loop - vertex -12.7125 13.6795 -0.2 - vertex -13.7109 13.3517 0 - vertex -12.7125 13.6795 0 - endloop - endfacet - facet normal -0.311908 0.950112 0 - outer loop - vertex -13.7109 13.3517 0 - vertex -12.7125 13.6795 -0.2 - vertex -13.7109 13.3517 -0.2 - endloop - endfacet - facet normal -0.299976 0.953947 0 - outer loop - vertex -13.7109 13.3517 -0.2 - vertex -14.949 12.9624 0 - vertex -13.7109 13.3517 0 - endloop - endfacet - facet normal -0.299976 0.953947 0 - outer loop - vertex -14.949 12.9624 0 - vertex -13.7109 13.3517 -0.2 - vertex -14.949 12.9624 -0.2 - endloop - endfacet - facet normal -0.271422 0.96246 0 - outer loop - vertex -14.949 12.9624 -0.2 - vertex -16.0795 12.6436 0 - vertex -14.949 12.9624 0 - endloop - endfacet - facet normal -0.271422 0.96246 0 - outer loop - vertex -16.0795 12.6436 0 - vertex -14.949 12.9624 -0.2 - vertex -16.0795 12.6436 -0.2 - endloop - endfacet - facet normal -0.233252 0.972416 0 - outer loop - vertex -16.0795 12.6436 -0.2 - vertex -16.9775 12.4282 0 - vertex -16.0795 12.6436 0 - endloop - endfacet - facet normal -0.233252 0.972416 0 - outer loop - vertex -16.9775 12.4282 0 - vertex -16.0795 12.6436 -0.2 - vertex -16.9775 12.4282 -0.2 - endloop - endfacet - facet normal -0.178763 0.983892 0 - outer loop - vertex -16.9775 12.4282 -0.2 - vertex -17.3003 12.3696 0 - vertex -16.9775 12.4282 0 - endloop - endfacet - facet normal -0.178763 0.983892 0 - outer loop - vertex -17.3003 12.3696 0 - vertex -16.9775 12.4282 -0.2 - vertex -17.3003 12.3696 -0.2 - endloop - endfacet - facet normal -0.0935268 0.995617 0 - outer loop - vertex -17.3003 12.3696 -0.2 - vertex -17.5181 12.3491 0 - vertex -17.3003 12.3696 0 - endloop - endfacet - facet normal -0.0935268 0.995617 0 - outer loop - vertex -17.5181 12.3491 0 - vertex -17.3003 12.3696 -0.2 - vertex -17.5181 12.3491 -0.2 - endloop - endfacet - facet normal -0.0617051 0.998094 0 - outer loop - vertex -17.5181 12.3491 -0.2 - vertex -17.9556 12.3221 0 - vertex -17.5181 12.3491 0 - endloop - endfacet - facet normal -0.0617051 0.998094 0 - outer loop - vertex -17.9556 12.3221 0 - vertex -17.5181 12.3491 -0.2 - vertex -17.9556 12.3221 -0.2 - endloop - endfacet - facet normal -0.11848 0.992956 0 - outer loop - vertex -17.9556 12.3221 -0.2 - vertex -18.5728 12.2484 0 - vertex -17.9556 12.3221 0 - endloop - endfacet - facet normal -0.11848 0.992956 0 - outer loop - vertex -18.5728 12.2484 0 - vertex -17.9556 12.3221 -0.2 - vertex -18.5728 12.2484 -0.2 - endloop - endfacet - facet normal -0.150729 0.988575 0 - outer loop - vertex -18.5728 12.2484 -0.2 - vertex -19.2876 12.1394 0 - vertex -18.5728 12.2484 0 - endloop - endfacet - facet normal -0.150729 0.988575 0 - outer loop - vertex -19.2876 12.1394 0 - vertex -18.5728 12.2484 -0.2 - vertex -19.2876 12.1394 -0.2 - endloop - endfacet - facet normal -0.179254 0.983803 0 - outer loop - vertex -19.2876 12.1394 -0.2 - vertex -20.0181 12.0063 0 - vertex -19.2876 12.1394 0 - endloop - endfacet - facet normal -0.179254 0.983803 0 - outer loop - vertex -20.0181 12.0063 0 - vertex -19.2876 12.1394 -0.2 - vertex -20.0181 12.0063 -0.2 - endloop - endfacet - facet normal -0.161235 0.986916 0 - outer loop - vertex -20.0181 12.0063 -0.2 - vertex -20.4772 11.9313 0 - vertex -20.0181 12.0063 0 - endloop - endfacet - facet normal -0.161235 0.986916 0 - outer loop - vertex -20.4772 11.9313 0 - vertex -20.0181 12.0063 -0.2 - vertex -20.4772 11.9313 -0.2 - endloop - endfacet - facet normal -0.116007 0.993248 0 - outer loop - vertex -20.4772 11.9313 -0.2 - vertex -21.0446 11.8651 0 - vertex -20.4772 11.9313 0 - endloop - endfacet - facet normal -0.116007 0.993248 0 - outer loop - vertex -21.0446 11.8651 0 - vertex -20.4772 11.9313 -0.2 - vertex -21.0446 11.8651 -0.2 - endloop - endfacet - facet normal -0.076075 0.997102 0 - outer loop - vertex -21.0446 11.8651 -0.2 - vertex -22.4311 11.7593 0 - vertex -21.0446 11.8651 0 - endloop - endfacet - facet normal -0.076075 0.997102 0 - outer loop - vertex -22.4311 11.7593 0 - vertex -21.0446 11.8651 -0.2 - vertex -22.4311 11.7593 -0.2 - endloop - endfacet - facet normal -0.0432101 0.999066 0 - outer loop - vertex -22.4311 11.7593 -0.2 - vertex -24.031 11.6901 0 - vertex -22.4311 11.7593 0 - endloop - endfacet - facet normal -0.0432101 0.999066 0 - outer loop - vertex -24.031 11.6901 0 - vertex -22.4311 11.7593 -0.2 - vertex -24.031 11.6901 -0.2 - endloop - endfacet - facet normal -0.0189053 0.999821 0 - outer loop - vertex -24.031 11.6901 -0.2 - vertex -25.698 11.6586 0 - vertex -24.031 11.6901 0 - endloop - endfacet - facet normal -0.0189053 0.999821 0 - outer loop - vertex -25.698 11.6586 0 - vertex -24.031 11.6901 -0.2 - vertex -25.698 11.6586 -0.2 - endloop - endfacet - facet normal 0.00456618 0.99999 -0 - outer loop - vertex -25.698 11.6586 -0.2 - vertex -27.2855 11.6658 0 - vertex -25.698 11.6586 0 - endloop - endfacet - facet normal 0.00456618 0.99999 0 - outer loop - vertex -27.2855 11.6658 0 - vertex -25.698 11.6586 -0.2 - vertex -27.2855 11.6658 -0.2 - endloop - endfacet - facet normal 0.034581 0.999402 -0 - outer loop - vertex -27.2855 11.6658 -0.2 - vertex -28.647 11.7129 0 - vertex -27.2855 11.6658 0 - endloop - endfacet - facet normal 0.034581 0.999402 0 - outer loop - vertex -28.647 11.7129 0 - vertex -27.2855 11.6658 -0.2 - vertex -28.647 11.7129 -0.2 - endloop - endfacet - facet normal 0.0704155 0.997518 -0 - outer loop - vertex -28.647 11.7129 -0.2 - vertex -29.1973 11.7518 0 - vertex -28.647 11.7129 0 - endloop - endfacet - facet normal 0.0704155 0.997518 0 - outer loop - vertex -29.1973 11.7518 0 - vertex -28.647 11.7129 -0.2 - vertex -29.1973 11.7518 -0.2 - endloop - endfacet - facet normal 0.111453 0.99377 -0 - outer loop - vertex -29.1973 11.7518 -0.2 - vertex -29.6362 11.801 0 - vertex -29.1973 11.7518 0 - endloop - endfacet - facet normal 0.111453 0.99377 0 - outer loop - vertex -29.6362 11.801 0 - vertex -29.1973 11.7518 -0.2 - vertex -29.6362 11.801 -0.2 - endloop - endfacet - facet normal 0.189706 0.981841 -0 - outer loop - vertex -29.6362 11.801 -0.2 - vertex -29.9453 11.8607 0 - vertex -29.6362 11.801 0 - endloop - endfacet - facet normal 0.189706 0.981841 0 - outer loop - vertex -29.9453 11.8607 0 - vertex -29.6362 11.801 -0.2 - vertex -29.9453 11.8607 -0.2 - endloop - endfacet - facet normal 0.320034 0.947406 -0 - outer loop - vertex -29.9453 11.8607 -0.2 - vertex -30.0456 11.8946 0 - vertex -29.9453 11.8607 0 - endloop - endfacet - facet normal 0.320034 0.947406 0 - outer loop - vertex -30.0456 11.8946 0 - vertex -29.9453 11.8607 -0.2 - vertex -30.0456 11.8946 -0.2 - endloop - endfacet - facet normal 0.514271 0.857628 -0 - outer loop - vertex -30.0456 11.8946 -0.2 - vertex -30.1065 11.9311 0 - vertex -30.0456 11.8946 0 - endloop - endfacet - facet normal 0.514271 0.857628 0 - outer loop - vertex -30.1065 11.9311 0 - vertex -30.0456 11.8946 -0.2 - vertex -30.1065 11.9311 -0.2 - endloop - endfacet - facet normal 0.794078 0.607816 0 - outer loop - vertex -30.1065 11.9311 0 - vertex -30.2115 12.0683 -0.2 - vertex -30.2115 12.0683 0 - endloop - endfacet - facet normal 0.794078 0.607816 0 - outer loop - vertex -30.2115 12.0683 -0.2 - vertex -30.1065 11.9311 0 - vertex -30.1065 11.9311 -0.2 - endloop - endfacet - facet normal 0.908198 0.418541 0 - outer loop - vertex -30.2115 12.0683 0 - vertex -30.2975 12.2549 -0.2 - vertex -30.2975 12.2549 0 - endloop - endfacet - facet normal 0.908198 0.418541 0 - outer loop - vertex -30.2975 12.2549 -0.2 - vertex -30.2115 12.0683 0 - vertex -30.2115 12.0683 -0.2 - endloop - endfacet - facet normal 0.964271 0.264918 0 - outer loop - vertex -30.2975 12.2549 0 - vertex -30.3556 12.4664 -0.2 - vertex -30.3556 12.4664 0 - endloop - endfacet - facet normal 0.964271 0.264918 0 - outer loop - vertex -30.3556 12.4664 -0.2 - vertex -30.2975 12.2549 0 - vertex -30.2975 12.2549 -0.2 - endloop - endfacet - facet normal 0.994966 0.10021 0 - outer loop - vertex -30.3556 12.4664 0 - vertex -30.377 12.6783 -0.2 - vertex -30.377 12.6783 0 - endloop - endfacet - facet normal 0.994966 0.10021 0 - outer loop - vertex -30.377 12.6783 -0.2 - vertex -30.3556 12.4664 0 - vertex -30.3556 12.4664 -0.2 - endloop - endfacet - facet normal 0.99734 -0.0728833 0 - outer loop - vertex -30.377 12.6783 0 - vertex -30.3621 12.8813 -0.2 - vertex -30.3621 12.8813 0 - endloop - endfacet - facet normal 0.99734 -0.0728833 0 - outer loop - vertex -30.3621 12.8813 -0.2 - vertex -30.377 12.6783 0 - vertex -30.377 12.6783 -0.2 - endloop - endfacet - facet normal 0.963268 -0.268541 0 - outer loop - vertex -30.3621 12.8813 0 - vertex -30.3387 12.9655 -0.2 - vertex -30.3387 12.9655 0 - endloop - endfacet - facet normal 0.963268 -0.268541 0 - outer loop - vertex -30.3387 12.9655 -0.2 - vertex -30.3621 12.8813 0 - vertex -30.3621 12.8813 -0.2 - endloop - endfacet - facet normal 0.886257 -0.463194 0 - outer loop - vertex -30.3387 12.9655 0 - vertex -30.3001 13.0393 -0.2 - vertex -30.3001 13.0393 0 - endloop - endfacet - facet normal 0.886257 -0.463194 0 - outer loop - vertex -30.3001 13.0393 -0.2 - vertex -30.3387 12.9655 0 - vertex -30.3387 12.9655 -0.2 - endloop - endfacet - facet normal 0.748065 -0.663625 0 - outer loop - vertex -30.3001 13.0393 0 - vertex -30.2432 13.1034 -0.2 - vertex -30.2432 13.1034 0 - endloop - endfacet - facet normal 0.748065 -0.663625 0 - outer loop - vertex -30.2432 13.1034 -0.2 - vertex -30.3001 13.0393 0 - vertex -30.3001 13.0393 -0.2 - endloop - endfacet - facet normal 0.576127 -0.81736 0 - outer loop - vertex -30.2432 13.1034 -0.2 - vertex -30.1646 13.1588 0 - vertex -30.2432 13.1034 0 - endloop - endfacet - facet normal 0.576127 -0.81736 0 - outer loop - vertex -30.1646 13.1588 0 - vertex -30.2432 13.1034 -0.2 - vertex -30.1646 13.1588 -0.2 - endloop - endfacet - facet normal 0.349457 -0.936953 0 - outer loop - vertex -30.1646 13.1588 -0.2 - vertex -29.9294 13.2465 0 - vertex -30.1646 13.1588 0 - endloop - endfacet - facet normal 0.349457 -0.936953 0 - outer loop - vertex -29.9294 13.2465 0 - vertex -30.1646 13.1588 -0.2 - vertex -29.9294 13.2465 -0.2 - endloop - endfacet - facet normal 0.170605 -0.985339 0 - outer loop - vertex -29.9294 13.2465 -0.2 - vertex -29.5683 13.309 0 - vertex -29.9294 13.2465 0 - endloop - endfacet - facet normal 0.170605 -0.985339 0 - outer loop - vertex -29.5683 13.309 0 - vertex -29.9294 13.2465 -0.2 - vertex -29.5683 13.309 -0.2 - endloop - endfacet - facet normal 0.0853267 -0.996353 0 - outer loop - vertex -29.5683 13.309 -0.2 - vertex -29.0548 13.353 0 - vertex -29.5683 13.309 0 - endloop - endfacet - facet normal 0.0853267 -0.996353 0 - outer loop - vertex -29.0548 13.353 0 - vertex -29.5683 13.309 -0.2 - vertex -29.0548 13.353 -0.2 - endloop - endfacet - facet normal 0.0369327 -0.999318 0 - outer loop - vertex -29.0548 13.353 -0.2 - vertex -27.4661 13.4117 0 - vertex -29.0548 13.353 0 - endloop - endfacet - facet normal 0.0369327 -0.999318 0 - outer loop - vertex -27.4661 13.4117 0 - vertex -29.0548 13.353 -0.2 - vertex -27.4661 13.4117 -0.2 - endloop - endfacet - facet normal 0.0488074 -0.998808 0 - outer loop - vertex -27.4661 13.4117 -0.2 - vertex -26.1544 13.4758 0 - vertex -27.4661 13.4117 0 - endloop - endfacet - facet normal 0.0488074 -0.998808 0 - outer loop - vertex -26.1544 13.4758 0 - vertex -27.4661 13.4117 -0.2 - vertex -26.1544 13.4758 -0.2 - endloop - endfacet - facet normal 0.0958463 -0.995396 0 - outer loop - vertex -26.1544 13.4758 -0.2 - vertex -24.8613 13.6003 0 - vertex -26.1544 13.4758 0 - endloop - endfacet - facet normal 0.0958463 -0.995396 0 - outer loop - vertex -24.8613 13.6003 0 - vertex -26.1544 13.4758 -0.2 - vertex -24.8613 13.6003 -0.2 - endloop - endfacet - facet normal 0.144031 -0.989573 0 - outer loop - vertex -24.8613 13.6003 -0.2 - vertex -23.579 13.787 0 - vertex -24.8613 13.6003 0 - endloop - endfacet - facet normal 0.144031 -0.989573 0 - outer loop - vertex -23.579 13.787 0 - vertex -24.8613 13.6003 -0.2 - vertex -23.579 13.787 -0.2 - endloop - endfacet - facet normal 0.192155 -0.981365 0 - outer loop - vertex -23.579 13.787 -0.2 - vertex -22.3001 14.0374 0 - vertex -23.579 13.787 0 - endloop - endfacet - facet normal 0.192155 -0.981365 0 - outer loop - vertex -22.3001 14.0374 0 - vertex -23.579 13.787 -0.2 - vertex -22.3001 14.0374 -0.2 - endloop - endfacet - facet normal 0.239032 -0.971012 0 - outer loop - vertex -22.3001 14.0374 -0.2 - vertex -21.0167 14.3533 0 - vertex -22.3001 14.0374 0 - endloop - endfacet - facet normal 0.239032 -0.971012 0 - outer loop - vertex -21.0167 14.3533 0 - vertex -22.3001 14.0374 -0.2 - vertex -21.0167 14.3533 -0.2 - endloop - endfacet - facet normal 0.283599 -0.958943 0 - outer loop - vertex -21.0167 14.3533 -0.2 - vertex -19.7213 14.7364 0 - vertex -21.0167 14.3533 0 - endloop - endfacet - facet normal 0.283599 -0.958943 0 - outer loop - vertex -19.7213 14.7364 0 - vertex -21.0167 14.3533 -0.2 - vertex -19.7213 14.7364 -0.2 - endloop - endfacet - facet normal 0.325025 -0.945706 0 - outer loop - vertex -19.7213 14.7364 -0.2 - vertex -18.4061 15.1884 0 - vertex -19.7213 14.7364 0 - endloop - endfacet - facet normal 0.325025 -0.945706 0 - outer loop - vertex -18.4061 15.1884 0 - vertex -19.7213 14.7364 -0.2 - vertex -18.4061 15.1884 -0.2 - endloop - endfacet - facet normal 0.362736 -0.931892 0 - outer loop - vertex -18.4061 15.1884 -0.2 - vertex -17.0637 15.711 0 - vertex -18.4061 15.1884 0 - endloop - endfacet - facet normal 0.362736 -0.931892 0 - outer loop - vertex -17.0637 15.711 0 - vertex -18.4061 15.1884 -0.2 - vertex -17.0637 15.711 -0.2 - endloop - endfacet - facet normal 0.385262 -0.922807 0 - outer loop - vertex -17.0637 15.711 -0.2 - vertex -16.4531 15.9659 0 - vertex -17.0637 15.711 0 - endloop - endfacet - facet normal 0.385262 -0.922807 0 - outer loop - vertex -16.4531 15.9659 0 - vertex -17.0637 15.711 -0.2 - vertex -16.4531 15.9659 -0.2 - endloop - endfacet - facet normal 0.409178 -0.912454 0 - outer loop - vertex -16.4531 15.9659 -0.2 - vertex -15.9397 16.1961 0 - vertex -16.4531 15.9659 0 - endloop - endfacet - facet normal 0.409178 -0.912454 0 - outer loop - vertex -15.9397 16.1961 0 - vertex -16.4531 15.9659 -0.2 - vertex -15.9397 16.1961 -0.2 - endloop - endfacet - facet normal 0.452989 -0.891516 0 - outer loop - vertex -15.9397 16.1961 -0.2 - vertex -15.4716 16.4339 0 - vertex -15.9397 16.1961 0 - endloop - endfacet - facet normal 0.452989 -0.891516 0 - outer loop - vertex -15.4716 16.4339 0 - vertex -15.9397 16.1961 -0.2 - vertex -15.4716 16.4339 -0.2 - endloop - endfacet - facet normal 0.505092 -0.863065 0 - outer loop - vertex -15.4716 16.4339 -0.2 - vertex -14.9972 16.7116 0 - vertex -15.4716 16.4339 0 - endloop - endfacet - facet normal 0.505092 -0.863065 0 - outer loop - vertex -14.9972 16.7116 0 - vertex -15.4716 16.4339 -0.2 - vertex -14.9972 16.7116 -0.2 - endloop - endfacet - facet normal 0.548914 -0.835879 0 - outer loop - vertex -14.9972 16.7116 -0.2 - vertex -14.4648 17.0612 0 - vertex -14.9972 16.7116 0 - endloop - endfacet - facet normal 0.548914 -0.835879 0 - outer loop - vertex -14.4648 17.0612 0 - vertex -14.9972 16.7116 -0.2 - vertex -14.4648 17.0612 -0.2 - endloop - endfacet - facet normal 0.577162 -0.81663 0 - outer loop - vertex -14.4648 17.0612 -0.2 - vertex -13.8225 17.5152 0 - vertex -14.4648 17.0612 0 - endloop - endfacet - facet normal 0.577162 -0.81663 0 - outer loop - vertex -13.8225 17.5152 0 - vertex -14.4648 17.0612 -0.2 - vertex -13.8225 17.5152 -0.2 - endloop - endfacet - facet normal 0.595448 -0.803394 0 - outer loop - vertex -13.8225 17.5152 -0.2 - vertex -12.0016 18.8648 0 - vertex -13.8225 17.5152 0 - endloop - endfacet - facet normal 0.595448 -0.803394 0 - outer loop - vertex -12.0016 18.8648 0 - vertex -13.8225 17.5152 -0.2 - vertex -12.0016 18.8648 -0.2 - endloop - endfacet - facet normal 0.610957 -0.791663 0 - outer loop - vertex -12.0016 18.8648 -0.2 - vertex -11.4702 19.2748 0 - vertex -12.0016 18.8648 0 - endloop - endfacet - facet normal 0.610957 -0.791663 0 - outer loop - vertex -11.4702 19.2748 0 - vertex -12.0016 18.8648 -0.2 - vertex -11.4702 19.2748 -0.2 - endloop - endfacet - facet normal 0.661597 -0.749859 0 - outer loop - vertex -11.4702 19.2748 -0.2 - vertex -11.1091 19.5935 0 - vertex -11.4702 19.2748 0 - endloop - endfacet - facet normal 0.661597 -0.749859 0 - outer loop - vertex -11.1091 19.5935 0 - vertex -11.4702 19.2748 -0.2 - vertex -11.1091 19.5935 -0.2 - endloop - endfacet - facet normal 0.747538 -0.664219 0 - outer loop - vertex -11.1091 19.5935 0 - vertex -10.9948 19.7221 -0.2 - vertex -10.9948 19.7221 0 - endloop - endfacet - facet normal 0.747538 -0.664219 0 - outer loop - vertex -10.9948 19.7221 -0.2 - vertex -11.1091 19.5935 0 - vertex -11.1091 19.5935 -0.2 - endloop - endfacet - facet normal 0.848145 -0.529765 0 - outer loop - vertex -10.9948 19.7221 0 - vertex -10.9261 19.832 -0.2 - vertex -10.9261 19.832 0 - endloop - endfacet - facet normal 0.848145 -0.529765 0 - outer loop - vertex -10.9261 19.832 -0.2 - vertex -10.9948 19.7221 0 - vertex -10.9948 19.7221 -0.2 - endloop - endfacet - facet normal 0.972725 -0.231962 0 - outer loop - vertex -10.9261 19.832 0 - vertex -10.904 19.9248 -0.2 - vertex -10.904 19.9248 0 - endloop - endfacet - facet normal 0.972725 -0.231962 0 - outer loop - vertex -10.904 19.9248 -0.2 - vertex -10.9261 19.832 0 - vertex -10.9261 19.832 -0.2 - endloop - endfacet - facet normal 0.949443 0.31394 0 - outer loop - vertex -10.904 19.9248 0 - vertex -10.9294 20.0018 -0.2 - vertex -10.9294 20.0018 0 - endloop - endfacet - facet normal 0.949443 0.31394 0 - outer loop - vertex -10.9294 20.0018 -0.2 - vertex -10.904 19.9248 0 - vertex -10.904 19.9248 -0.2 - endloop - endfacet - facet normal 0.645708 0.763585 -0 - outer loop - vertex -10.9294 20.0018 -0.2 - vertex -11.0035 20.0644 0 - vertex -10.9294 20.0018 0 - endloop - endfacet - facet normal 0.645708 0.763585 0 - outer loop - vertex -11.0035 20.0644 0 - vertex -10.9294 20.0018 -0.2 - vertex -11.0035 20.0644 -0.2 - endloop - endfacet - facet normal 0.372622 0.927983 -0 - outer loop - vertex -11.0035 20.0644 -0.2 - vertex -11.1271 20.114 0 - vertex -11.0035 20.0644 0 - endloop - endfacet - facet normal 0.372622 0.927983 0 - outer loop - vertex -11.1271 20.114 0 - vertex -11.0035 20.0644 -0.2 - vertex -11.1271 20.114 -0.2 - endloop - endfacet - facet normal 0.213569 0.976928 -0 - outer loop - vertex -11.1271 20.114 -0.2 - vertex -11.3013 20.1521 0 - vertex -11.1271 20.114 0 - endloop - endfacet - facet normal 0.213569 0.976928 0 - outer loop - vertex -11.3013 20.1521 0 - vertex -11.1271 20.114 -0.2 - vertex -11.3013 20.1521 -0.2 - endloop - endfacet - facet normal 0.122812 0.99243 -0 - outer loop - vertex -11.3013 20.1521 -0.2 - vertex -11.5271 20.1801 0 - vertex -11.3013 20.1521 0 - endloop - endfacet - facet normal 0.122812 0.99243 0 - outer loop - vertex -11.5271 20.1801 0 - vertex -11.3013 20.1521 -0.2 - vertex -11.5271 20.1801 -0.2 - endloop - endfacet - facet normal 0.050903 0.998704 -0 - outer loop - vertex -11.5271 20.1801 -0.2 - vertex -12.1376 20.2112 0 - vertex -11.5271 20.1801 0 - endloop - endfacet - facet normal 0.050903 0.998704 0 - outer loop - vertex -12.1376 20.2112 0 - vertex -11.5271 20.1801 -0.2 - vertex -12.1376 20.2112 -0.2 - endloop - endfacet - facet normal 0.00904467 0.999959 -0 - outer loop - vertex -12.1376 20.2112 -0.2 - vertex -12.9665 20.2187 0 - vertex -12.1376 20.2112 0 - endloop - endfacet - facet normal 0.00904467 0.999959 0 - outer loop - vertex -12.9665 20.2187 0 - vertex -12.1376 20.2112 -0.2 - vertex -12.9665 20.2187 -0.2 - endloop - endfacet - facet normal -0.0191031 0.999818 0 - outer loop - vertex -12.9665 20.2187 -0.2 - vertex -13.9037 20.2008 0 - vertex -12.9665 20.2187 0 - endloop - endfacet - facet normal -0.0191031 0.999818 0 - outer loop - vertex -13.9037 20.2008 0 - vertex -12.9665 20.2187 -0.2 - vertex -13.9037 20.2008 -0.2 - endloop - endfacet - facet normal -0.0506696 0.998715 0 - outer loop - vertex -13.9037 20.2008 -0.2 - vertex -14.8461 20.153 0 - vertex -13.9037 20.2008 0 - endloop - endfacet - facet normal -0.0506696 0.998715 0 - outer loop - vertex -14.8461 20.153 0 - vertex -13.9037 20.2008 -0.2 - vertex -14.8461 20.153 -0.2 - endloop - endfacet - facet normal -0.0837631 0.996486 0 - outer loop - vertex -14.8461 20.153 -0.2 - vertex -15.684 20.0825 0 - vertex -14.8461 20.153 0 - endloop - endfacet - facet normal -0.0837631 0.996486 0 - outer loop - vertex -15.684 20.0825 0 - vertex -14.8461 20.153 -0.2 - vertex -15.684 20.0825 -0.2 - endloop - endfacet - facet normal -0.136213 0.99068 0 - outer loop - vertex -15.684 20.0825 -0.2 - vertex -16.3079 19.9967 0 - vertex -15.684 20.0825 0 - endloop - endfacet - facet normal -0.136213 0.99068 0 - outer loop - vertex -16.3079 19.9967 0 - vertex -15.684 20.0825 -0.2 - vertex -16.3079 19.9967 -0.2 - endloop - endfacet - facet normal -0.175854 0.984416 0 - outer loop - vertex -16.3079 19.9967 -0.2 - vertex -17.2235 19.8332 0 - vertex -16.3079 19.9967 0 - endloop - endfacet - facet normal -0.175854 0.984416 0 - outer loop - vertex -17.2235 19.8332 0 - vertex -16.3079 19.9967 -0.2 - vertex -17.2235 19.8332 -0.2 - endloop - endfacet - facet normal -0.15721 0.987565 0 - outer loop - vertex -17.2235 19.8332 -0.2 - vertex -18.1791 19.6811 0 - vertex -17.2235 19.8332 0 - endloop - endfacet - facet normal -0.15721 0.987565 0 - outer loop - vertex -18.1791 19.6811 0 - vertex -17.2235 19.8332 -0.2 - vertex -18.1791 19.6811 -0.2 - endloop - endfacet - facet normal -0.133206 0.991088 0 - outer loop - vertex -18.1791 19.6811 -0.2 - vertex -20.1671 19.4139 0 - vertex -18.1791 19.6811 0 - endloop - endfacet - facet normal -0.133206 0.991088 0 - outer loop - vertex -20.1671 19.4139 0 - vertex -18.1791 19.6811 -0.2 - vertex -20.1671 19.4139 -0.2 - endloop - endfacet - facet normal -0.105044 0.994468 0 - outer loop - vertex -20.1671 19.4139 -0.2 - vertex -22.1849 19.2007 0 - vertex -20.1671 19.4139 0 - endloop - endfacet - facet normal -0.105044 0.994468 0 - outer loop - vertex -22.1849 19.2007 0 - vertex -20.1671 19.4139 -0.2 - vertex -22.1849 19.2007 -0.2 - endloop - endfacet - facet normal -0.0780607 0.996949 0 - outer loop - vertex -22.1849 19.2007 -0.2 - vertex -24.1455 19.0472 0 - vertex -22.1849 19.2007 0 - endloop - endfacet - facet normal -0.0780607 0.996949 0 - outer loop - vertex -24.1455 19.0472 0 - vertex -22.1849 19.2007 -0.2 - vertex -24.1455 19.0472 -0.2 - endloop - endfacet - facet normal -0.0485635 0.99882 0 - outer loop - vertex -24.1455 19.0472 -0.2 - vertex -25.9619 18.9589 0 - vertex -24.1455 19.0472 0 - endloop - endfacet - facet normal -0.0485635 0.99882 0 - outer loop - vertex -25.9619 18.9589 0 - vertex -24.1455 19.0472 -0.2 - vertex -25.9619 18.9589 -0.2 - endloop - endfacet - facet normal -0.0217214 0.999764 0 - outer loop - vertex -25.9619 18.9589 -0.2 - vertex -26.7887 18.9409 0 - vertex -25.9619 18.9589 0 - endloop - endfacet - facet normal -0.0217214 0.999764 0 - outer loop - vertex -26.7887 18.9409 0 - vertex -25.9619 18.9589 -0.2 - vertex -26.7887 18.9409 -0.2 - endloop - endfacet - facet normal 0.000558472 1 -0 - outer loop - vertex -26.7887 18.9409 -0.2 - vertex -27.5469 18.9414 0 - vertex -26.7887 18.9409 0 - endloop - endfacet - facet normal 0.000558472 1 0 - outer loop - vertex -27.5469 18.9414 0 - vertex -26.7887 18.9409 -0.2 - vertex -27.5469 18.9414 -0.2 - endloop - endfacet - facet normal 0.0287379 0.999587 -0 - outer loop - vertex -27.5469 18.9414 -0.2 - vertex -28.2256 18.9609 0 - vertex -27.5469 18.9414 0 - endloop - endfacet - facet normal 0.0287379 0.999587 0 - outer loop - vertex -28.2256 18.9609 0 - vertex -27.5469 18.9414 -0.2 - vertex -28.2256 18.9609 -0.2 - endloop - endfacet - facet normal 0.0666534 0.997776 -0 - outer loop - vertex -28.2256 18.9609 -0.2 - vertex -28.8137 19.0002 0 - vertex -28.2256 18.9609 0 - endloop - endfacet - facet normal 0.0666534 0.997776 0 - outer loop - vertex -28.8137 19.0002 0 - vertex -28.2256 18.9609 -0.2 - vertex -28.8137 19.0002 -0.2 - endloop - endfacet - facet normal 0.121854 0.992548 -0 - outer loop - vertex -28.8137 19.0002 -0.2 - vertex -29.3006 19.0599 0 - vertex -28.8137 19.0002 0 - endloop - endfacet - facet normal 0.121854 0.992548 0 - outer loop - vertex -29.3006 19.0599 0 - vertex -28.8137 19.0002 -0.2 - vertex -29.3006 19.0599 -0.2 - endloop - endfacet - facet normal 0.211179 0.977447 -0 - outer loop - vertex -29.3006 19.0599 -0.2 - vertex -29.6752 19.1409 0 - vertex -29.3006 19.0599 0 - endloop - endfacet - facet normal 0.211179 0.977447 0 - outer loop - vertex -29.6752 19.1409 0 - vertex -29.3006 19.0599 -0.2 - vertex -29.6752 19.1409 -0.2 - endloop - endfacet - facet normal 0.291073 0.956701 -0 - outer loop - vertex -29.6752 19.1409 -0.2 - vertex -30.5811 19.4165 0 - vertex -29.6752 19.1409 0 - endloop - endfacet - facet normal 0.291073 0.956701 0 - outer loop - vertex -30.5811 19.4165 0 - vertex -29.6752 19.1409 -0.2 - vertex -30.5811 19.4165 -0.2 - endloop - endfacet - facet normal 0.314696 0.949192 -0 - outer loop - vertex -30.5811 19.4165 -0.2 - vertex -31.4466 19.7034 0 - vertex -30.5811 19.4165 0 - endloop - endfacet - facet normal 0.314696 0.949192 0 - outer loop - vertex -31.4466 19.7034 0 - vertex -30.5811 19.4165 -0.2 - vertex -31.4466 19.7034 -0.2 - endloop - endfacet - facet normal 0.339748 0.940516 -0 - outer loop - vertex -31.4466 19.7034 -0.2 - vertex -32.271 20.0012 0 - vertex -31.4466 19.7034 0 - endloop - endfacet - facet normal 0.339748 0.940516 0 - outer loop - vertex -32.271 20.0012 0 - vertex -31.4466 19.7034 -0.2 - vertex -32.271 20.0012 -0.2 - endloop - endfacet - facet normal 0.366429 0.930446 -0 - outer loop - vertex -32.271 20.0012 -0.2 - vertex -33.0533 20.3093 0 - vertex -32.271 20.0012 0 - endloop - endfacet - facet normal 0.366429 0.930446 0 - outer loop - vertex -33.0533 20.3093 0 - vertex -32.271 20.0012 -0.2 - vertex -33.0533 20.3093 -0.2 - endloop - endfacet - facet normal 0.394948 0.918703 -0 - outer loop - vertex -33.0533 20.3093 -0.2 - vertex -33.7926 20.6272 0 - vertex -33.0533 20.3093 0 - endloop - endfacet - facet normal 0.394948 0.918703 0 - outer loop - vertex -33.7926 20.6272 0 - vertex -33.0533 20.3093 -0.2 - vertex -33.7926 20.6272 -0.2 - endloop - endfacet - facet normal 0.425556 0.904932 -0 - outer loop - vertex -33.7926 20.6272 -0.2 - vertex -34.4881 20.9542 0 - vertex -33.7926 20.6272 0 - endloop - endfacet - facet normal 0.425556 0.904932 0 - outer loop - vertex -34.4881 20.9542 0 - vertex -33.7926 20.6272 -0.2 - vertex -34.4881 20.9542 -0.2 - endloop - endfacet - facet normal 0.458522 0.888683 -0 - outer loop - vertex -34.4881 20.9542 -0.2 - vertex -35.1386 21.2899 0 - vertex -34.4881 20.9542 0 - endloop - endfacet - facet normal 0.458522 0.888683 0 - outer loop - vertex -35.1386 21.2899 0 - vertex -34.4881 20.9542 -0.2 - vertex -35.1386 21.2899 -0.2 - endloop - endfacet - facet normal 0.494132 0.869387 -0 - outer loop - vertex -35.1386 21.2899 -0.2 - vertex -35.7435 21.6336 0 - vertex -35.1386 21.2899 0 - endloop - endfacet - facet normal 0.494132 0.869387 0 - outer loop - vertex -35.7435 21.6336 0 - vertex -35.1386 21.2899 -0.2 - vertex -35.7435 21.6336 -0.2 - endloop - endfacet - facet normal 0.532679 0.846317 -0 - outer loop - vertex -35.7435 21.6336 -0.2 - vertex -36.3017 21.985 0 - vertex -35.7435 21.6336 0 - endloop - endfacet - facet normal 0.532679 0.846317 0 - outer loop - vertex -36.3017 21.985 0 - vertex -35.7435 21.6336 -0.2 - vertex -36.3017 21.985 -0.2 - endloop - endfacet - facet normal 0.574426 0.818556 -0 - outer loop - vertex -36.3017 21.985 -0.2 - vertex -36.8124 22.3433 0 - vertex -36.3017 21.985 0 - endloop - endfacet - facet normal 0.574426 0.818556 0 - outer loop - vertex -36.8124 22.3433 0 - vertex -36.3017 21.985 -0.2 - vertex -36.8124 22.3433 -0.2 - endloop - endfacet - facet normal 0.619583 0.784931 -0 - outer loop - vertex -36.8124 22.3433 -0.2 - vertex -37.2746 22.7082 0 - vertex -36.8124 22.3433 0 - endloop - endfacet - facet normal 0.619583 0.784931 0 - outer loop - vertex -37.2746 22.7082 0 - vertex -36.8124 22.3433 -0.2 - vertex -37.2746 22.7082 -0.2 - endloop - endfacet - facet normal 0.668193 0.743988 -0 - outer loop - vertex -37.2746 22.7082 -0.2 - vertex -37.6874 23.0789 0 - vertex -37.2746 22.7082 0 - endloop - endfacet - facet normal 0.668193 0.743988 0 - outer loop - vertex -37.6874 23.0789 0 - vertex -37.2746 22.7082 -0.2 - vertex -37.6874 23.0789 -0.2 - endloop - endfacet - facet normal 0.720024 0.69395 0 - outer loop - vertex -37.6874 23.0789 0 - vertex -38.0499 23.455 -0.2 - vertex -38.0499 23.455 0 - endloop - endfacet - facet normal 0.720024 0.69395 0 - outer loop - vertex -38.0499 23.455 -0.2 - vertex -37.6874 23.0789 0 - vertex -37.6874 23.0789 -0.2 - endloop - endfacet - facet normal 0.774355 0.632751 0 - outer loop - vertex -38.0499 23.455 0 - vertex -38.3611 23.836 -0.2 - vertex -38.3611 23.836 0 - endloop - endfacet - facet normal 0.774355 0.632751 0 - outer loop - vertex -38.3611 23.836 -0.2 - vertex -38.0499 23.455 0 - vertex -38.0499 23.455 -0.2 - endloop - endfacet - facet normal 0.829712 0.558192 0 - outer loop - vertex -38.3611 23.836 0 - vertex -38.6203 24.2212 -0.2 - vertex -38.6203 24.2212 0 - endloop - endfacet - facet normal 0.829712 0.558192 0 - outer loop - vertex -38.6203 24.2212 -0.2 - vertex -38.3611 23.836 0 - vertex -38.3611 23.836 -0.2 - endloop - endfacet - facet normal 0.883596 0.468251 0 - outer loop - vertex -38.6203 24.2212 0 - vertex -38.8265 24.6102 -0.2 - vertex -38.8265 24.6102 0 - endloop - endfacet - facet normal 0.883596 0.468251 0 - outer loop - vertex -38.8265 24.6102 -0.2 - vertex -38.6203 24.2212 0 - vertex -38.6203 24.2212 -0.2 - endloop - endfacet - facet normal 0.926216 0.376994 0 - outer loop - vertex -38.8265 24.6102 0 - vertex -39.0227 25.0923 -0.2 - vertex -39.0227 25.0923 0 - endloop - endfacet - facet normal 0.926216 0.376994 0 - outer loop - vertex -39.0227 25.0923 -0.2 - vertex -38.8265 24.6102 0 - vertex -38.8265 24.6102 -0.2 - endloop - endfacet - facet normal 0.967451 0.253059 0 - outer loop - vertex -39.0227 25.0923 0 - vertex -39.1186 25.4589 -0.2 - vertex -39.1186 25.4589 0 - endloop - endfacet - facet normal 0.967451 0.253059 0 - outer loop - vertex -39.1186 25.4589 -0.2 - vertex -39.0227 25.0923 0 - vertex -39.0227 25.0923 -0.2 - endloop - endfacet - facet normal 0.996684 0.0813708 0 - outer loop - vertex -39.1186 25.4589 0 - vertex -39.13 25.5984 -0.2 - vertex -39.13 25.5984 0 - endloop - endfacet - facet normal 0.996684 0.0813708 0 - outer loop - vertex -39.13 25.5984 -0.2 - vertex -39.1186 25.4589 0 - vertex -39.1186 25.4589 -0.2 - endloop - endfacet - facet normal 0.993685 -0.112203 0 - outer loop - vertex -39.13 25.5984 0 - vertex -39.1175 25.7085 -0.2 - vertex -39.1175 25.7085 0 - endloop - endfacet - facet normal 0.993685 -0.112203 0 - outer loop - vertex -39.1175 25.7085 -0.2 - vertex -39.13 25.5984 0 - vertex -39.13 25.5984 -0.2 - endloop - endfacet - facet normal 0.913337 -0.407205 0 - outer loop - vertex -39.1175 25.7085 0 - vertex -39.0817 25.7888 -0.2 - vertex -39.0817 25.7888 0 - endloop - endfacet - facet normal 0.913337 -0.407205 0 - outer loop - vertex -39.0817 25.7888 -0.2 - vertex -39.1175 25.7085 0 - vertex -39.1175 25.7085 -0.2 - endloop - endfacet - facet normal 0.651025 -0.759057 0 - outer loop - vertex -39.0817 25.7888 -0.2 - vertex -39.0229 25.8392 0 - vertex -39.0817 25.7888 0 - endloop - endfacet - facet normal 0.651025 -0.759057 0 - outer loop - vertex -39.0229 25.8392 0 - vertex -39.0817 25.7888 -0.2 - vertex -39.0229 25.8392 -0.2 - endloop - endfacet - facet normal 0.24215 -0.970239 0 - outer loop - vertex -39.0229 25.8392 -0.2 - vertex -38.9416 25.8595 0 - vertex -39.0229 25.8392 0 - endloop - endfacet - facet normal 0.24215 -0.970239 0 - outer loop - vertex -38.9416 25.8595 0 - vertex -39.0229 25.8392 -0.2 - vertex -38.9416 25.8595 -0.2 - endloop - endfacet - facet normal -0.0965024 -0.995333 0 - outer loop - vertex -38.9416 25.8595 -0.2 - vertex -38.8381 25.8495 0 - vertex -38.9416 25.8595 0 - endloop - endfacet - facet normal -0.0965024 -0.995333 -0 - outer loop - vertex -38.8381 25.8495 0 - vertex -38.9416 25.8595 -0.2 - vertex -38.8381 25.8495 -0.2 - endloop - endfacet - facet normal -0.308343 -0.951275 0 - outer loop - vertex -38.8381 25.8495 -0.2 - vertex -38.7129 25.8089 0 - vertex -38.8381 25.8495 0 - endloop - endfacet - facet normal -0.308343 -0.951275 -0 - outer loop - vertex -38.7129 25.8089 0 - vertex -38.8381 25.8495 -0.2 - vertex -38.7129 25.8089 -0.2 - endloop - endfacet - facet normal -0.437843 -0.899052 0 - outer loop - vertex -38.7129 25.8089 -0.2 - vertex -38.5664 25.7376 0 - vertex -38.7129 25.8089 0 - endloop - endfacet - facet normal -0.437843 -0.899052 -0 - outer loop - vertex -38.5664 25.7376 0 - vertex -38.7129 25.8089 -0.2 - vertex -38.5664 25.7376 -0.2 - endloop - endfacet - facet normal -0.553117 -0.833103 0 - outer loop - vertex -38.5664 25.7376 -0.2 - vertex -38.2113 25.5018 0 - vertex -38.5664 25.7376 0 - endloop - endfacet - facet normal -0.553117 -0.833103 -0 - outer loop - vertex -38.2113 25.5018 0 - vertex -38.5664 25.7376 -0.2 - vertex -38.2113 25.5018 -0.2 - endloop - endfacet - facet normal -0.638761 -0.769405 0 - outer loop - vertex -38.2113 25.5018 -0.2 - vertex -37.776 25.1404 0 - vertex -38.2113 25.5018 0 - endloop - endfacet - facet normal -0.638761 -0.769405 -0 - outer loop - vertex -37.776 25.1404 0 - vertex -38.2113 25.5018 -0.2 - vertex -37.776 25.1404 -0.2 - endloop - endfacet - facet normal -0.64475 -0.764393 0 - outer loop - vertex -37.776 25.1404 -0.2 - vertex -37.4147 24.8357 0 - vertex -37.776 25.1404 0 - endloop - endfacet - facet normal -0.64475 -0.764393 -0 - outer loop - vertex -37.4147 24.8357 0 - vertex -37.776 25.1404 -0.2 - vertex -37.4147 24.8357 -0.2 - endloop - endfacet - facet normal -0.602189 -0.798353 0 - outer loop - vertex -37.4147 24.8357 -0.2 - vertex -37.0225 24.5398 0 - vertex -37.4147 24.8357 0 - endloop - endfacet - facet normal -0.602189 -0.798353 -0 - outer loop - vertex -37.0225 24.5398 0 - vertex -37.4147 24.8357 -0.2 - vertex -37.0225 24.5398 -0.2 - endloop - endfacet - facet normal -0.562472 -0.826816 0 - outer loop - vertex -37.0225 24.5398 -0.2 - vertex -36.6025 24.2541 0 - vertex -37.0225 24.5398 0 - endloop - endfacet - facet normal -0.562472 -0.826816 -0 - outer loop - vertex -36.6025 24.2541 0 - vertex -37.0225 24.5398 -0.2 - vertex -36.6025 24.2541 -0.2 - endloop - endfacet - facet normal -0.525102 -0.851039 0 - outer loop - vertex -36.6025 24.2541 -0.2 - vertex -36.1579 23.9798 0 - vertex -36.6025 24.2541 0 - endloop - endfacet - facet normal -0.525102 -0.851039 -0 - outer loop - vertex -36.1579 23.9798 0 - vertex -36.6025 24.2541 -0.2 - vertex -36.1579 23.9798 -0.2 - endloop - endfacet - facet normal -0.489575 -0.871961 0 - outer loop - vertex -36.1579 23.9798 -0.2 - vertex -35.6921 23.7183 0 - vertex -36.1579 23.9798 0 - endloop - endfacet - facet normal -0.489575 -0.871961 -0 - outer loop - vertex -35.6921 23.7183 0 - vertex -36.1579 23.9798 -0.2 - vertex -35.6921 23.7183 -0.2 - endloop - endfacet - facet normal -0.455389 -0.890292 0 - outer loop - vertex -35.6921 23.7183 -0.2 - vertex -35.2082 23.4707 0 - vertex -35.6921 23.7183 0 - endloop - endfacet - facet normal -0.455389 -0.890292 -0 - outer loop - vertex -35.2082 23.4707 0 - vertex -35.6921 23.7183 -0.2 - vertex -35.2082 23.4707 -0.2 - endloop - endfacet - facet normal -0.422055 -0.90657 0 - outer loop - vertex -35.2082 23.4707 -0.2 - vertex -34.7094 23.2385 0 - vertex -35.2082 23.4707 0 - endloop - endfacet - facet normal -0.422055 -0.90657 -0 - outer loop - vertex -34.7094 23.2385 0 - vertex -35.2082 23.4707 -0.2 - vertex -34.7094 23.2385 -0.2 - endloop - endfacet - facet normal -0.389101 -0.921195 0 - outer loop - vertex -34.7094 23.2385 -0.2 - vertex -34.199 23.023 0 - vertex -34.7094 23.2385 0 - endloop - endfacet - facet normal -0.389101 -0.921195 -0 - outer loop - vertex -34.199 23.023 0 - vertex -34.7094 23.2385 -0.2 - vertex -34.199 23.023 -0.2 - endloop - endfacet - facet normal -0.356052 -0.934466 0 - outer loop - vertex -34.199 23.023 -0.2 - vertex -33.6803 22.8253 0 - vertex -34.199 23.023 0 - endloop - endfacet - facet normal -0.356052 -0.934466 -0 - outer loop - vertex -33.6803 22.8253 0 - vertex -34.199 23.023 -0.2 - vertex -33.6803 22.8253 -0.2 - endloop - endfacet - facet normal -0.3224 -0.946604 0 - outer loop - vertex -33.6803 22.8253 -0.2 - vertex -33.1564 22.6469 0 - vertex -33.6803 22.8253 0 - endloop - endfacet - facet normal -0.3224 -0.946604 -0 - outer loop - vertex -33.1564 22.6469 0 - vertex -33.6803 22.8253 -0.2 - vertex -33.1564 22.6469 -0.2 - endloop - endfacet - facet normal -0.287637 -0.95774 0 - outer loop - vertex -33.1564 22.6469 -0.2 - vertex -32.6306 22.489 0 - vertex -33.1564 22.6469 0 - endloop - endfacet - facet normal -0.287637 -0.95774 -0 - outer loop - vertex -32.6306 22.489 0 - vertex -33.1564 22.6469 -0.2 - vertex -32.6306 22.489 -0.2 - endloop - endfacet - facet normal -0.251171 -0.967943 0 - outer loop - vertex -32.6306 22.489 -0.2 - vertex -32.1061 22.3529 0 - vertex -32.6306 22.489 0 - endloop - endfacet - facet normal -0.251171 -0.967943 -0 - outer loop - vertex -32.1061 22.3529 0 - vertex -32.6306 22.489 -0.2 - vertex -32.1061 22.3529 -0.2 - endloop - endfacet - facet normal -0.212348 -0.977194 0 - outer loop - vertex -32.1061 22.3529 -0.2 - vertex -31.5861 22.2399 0 - vertex -32.1061 22.3529 0 - endloop - endfacet - facet normal -0.212348 -0.977194 -0 - outer loop - vertex -31.5861 22.2399 0 - vertex -32.1061 22.3529 -0.2 - vertex -31.5861 22.2399 -0.2 - endloop - endfacet - facet normal -0.170418 -0.985372 0 - outer loop - vertex -31.5861 22.2399 -0.2 - vertex -31.074 22.1513 0 - vertex -31.5861 22.2399 0 - endloop - endfacet - facet normal -0.170418 -0.985372 -0 - outer loop - vertex -31.074 22.1513 0 - vertex -31.5861 22.2399 -0.2 - vertex -31.074 22.1513 -0.2 - endloop - endfacet - facet normal -0.124476 -0.992223 0 - outer loop - vertex -31.074 22.1513 -0.2 - vertex -30.5728 22.0884 0 - vertex -31.074 22.1513 0 - endloop - endfacet - facet normal -0.124476 -0.992223 -0 - outer loop - vertex -30.5728 22.0884 0 - vertex -31.074 22.1513 -0.2 - vertex -30.5728 22.0884 -0.2 - endloop - endfacet - facet normal -0.0734593 -0.997298 0 - outer loop - vertex -30.5728 22.0884 -0.2 - vertex -30.0859 22.0525 0 - vertex -30.5728 22.0884 0 - endloop - endfacet - facet normal -0.0734593 -0.997298 -0 - outer loop - vertex -30.0859 22.0525 0 - vertex -30.5728 22.0884 -0.2 - vertex -30.0859 22.0525 -0.2 - endloop - endfacet - facet normal -0.0457633 -0.998952 0 - outer loop - vertex -30.0859 22.0525 -0.2 - vertex -28.3394 21.9725 0 - vertex -30.0859 22.0525 0 - endloop - endfacet - facet normal -0.0457633 -0.998952 -0 - outer loop - vertex -28.3394 21.9725 0 - vertex -30.0859 22.0525 -0.2 - vertex -28.3394 21.9725 -0.2 - endloop - endfacet - facet normal 0.491953 0.870622 -0 - outer loop - vertex -28.3394 21.9725 -0.2 - vertex -29.0186 22.3563 0 - vertex -28.3394 21.9725 0 - endloop - endfacet - facet normal 0.491953 0.870622 0 - outer loop - vertex -29.0186 22.3563 0 - vertex -28.3394 21.9725 -0.2 - vertex -29.0186 22.3563 -0.2 - endloop - endfacet - facet normal 0.506614 0.862173 -0 - outer loop - vertex -29.0186 22.3563 -0.2 - vertex -29.4321 22.5993 0 - vertex -29.0186 22.3563 0 - endloop - endfacet - facet normal 0.506614 0.862173 0 - outer loop - vertex -29.4321 22.5993 0 - vertex -29.0186 22.3563 -0.2 - vertex -29.4321 22.5993 -0.2 - endloop - endfacet - facet normal 0.54186 0.840469 -0 - outer loop - vertex -29.4321 22.5993 -0.2 - vertex -29.7937 22.8325 0 - vertex -29.4321 22.5993 0 - endloop - endfacet - facet normal 0.54186 0.840469 0 - outer loop - vertex -29.7937 22.8325 0 - vertex -29.4321 22.5993 -0.2 - vertex -29.7937 22.8325 -0.2 - endloop - endfacet - facet normal 0.585975 0.810329 -0 - outer loop - vertex -29.7937 22.8325 -0.2 - vertex -30.1071 23.0591 0 - vertex -29.7937 22.8325 0 - endloop - endfacet - facet normal 0.585975 0.810329 0 - outer loop - vertex -30.1071 23.0591 0 - vertex -29.7937 22.8325 -0.2 - vertex -30.1071 23.0591 -0.2 - endloop - endfacet - facet normal 0.639127 0.769101 -0 - outer loop - vertex -30.1071 23.0591 -0.2 - vertex -30.3761 23.2826 0 - vertex -30.1071 23.0591 0 - endloop - endfacet - facet normal 0.639127 0.769101 0 - outer loop - vertex -30.3761 23.2826 0 - vertex -30.1071 23.0591 -0.2 - vertex -30.3761 23.2826 -0.2 - endloop - endfacet - facet normal 0.700019 0.714124 -0 - outer loop - vertex -30.3761 23.2826 -0.2 - vertex -30.6044 23.5064 0 - vertex -30.3761 23.2826 0 - endloop - endfacet - facet normal 0.700019 0.714124 0 - outer loop - vertex -30.6044 23.5064 0 - vertex -30.3761 23.2826 -0.2 - vertex -30.6044 23.5064 -0.2 - endloop - endfacet - facet normal 0.765169 0.643829 0 - outer loop - vertex -30.6044 23.5064 0 - vertex -30.7957 23.7338 -0.2 - vertex -30.7957 23.7338 0 - endloop - endfacet - facet normal 0.765169 0.643829 0 - outer loop - vertex -30.7957 23.7338 -0.2 - vertex -30.6044 23.5064 0 - vertex -30.6044 23.5064 -0.2 - endloop - endfacet - facet normal 0.828969 0.559295 0 - outer loop - vertex -30.7957 23.7338 0 - vertex -30.9539 23.9682 -0.2 - vertex -30.9539 23.9682 0 - endloop - endfacet - facet normal 0.828969 0.559295 0 - outer loop - vertex -30.9539 23.9682 -0.2 - vertex -30.7957 23.7338 0 - vertex -30.7957 23.7338 -0.2 - endloop - endfacet - facet normal 0.885091 0.465418 0 - outer loop - vertex -30.9539 23.9682 0 - vertex -31.0826 24.213 -0.2 - vertex -31.0826 24.213 0 - endloop - endfacet - facet normal 0.885091 0.465418 0 - outer loop - vertex -31.0826 24.213 -0.2 - vertex -30.9539 23.9682 0 - vertex -30.9539 23.9682 -0.2 - endloop - endfacet - facet normal 0.929158 0.369682 0 - outer loop - vertex -31.0826 24.213 0 - vertex -31.2103 24.5339 -0.2 - vertex -31.2103 24.5339 0 - endloop - endfacet - facet normal 0.929158 0.369682 0 - outer loop - vertex -31.2103 24.5339 -0.2 - vertex -31.0826 24.213 0 - vertex -31.0826 24.213 -0.2 - endloop - endfacet - facet normal 0.975453 0.220208 0 - outer loop - vertex -31.2103 24.5339 0 - vertex -31.2656 24.779 -0.2 - vertex -31.2656 24.779 0 - endloop - endfacet - facet normal 0.975453 0.220208 0 - outer loop - vertex -31.2656 24.779 -0.2 - vertex -31.2103 24.5339 0 - vertex -31.2103 24.5339 -0.2 - endloop - endfacet - facet normal 0.99992 0.0126114 0 - outer loop - vertex -31.2656 24.779 0 - vertex -31.2668 24.8727 -0.2 - vertex -31.2668 24.8727 0 - endloop - endfacet - facet normal 0.99992 0.0126114 0 - outer loop - vertex -31.2668 24.8727 -0.2 - vertex -31.2656 24.779 0 - vertex -31.2656 24.779 -0.2 - endloop - endfacet - facet normal 0.977346 -0.211648 0 - outer loop - vertex -31.2668 24.8727 0 - vertex -31.2507 24.9472 -0.2 - vertex -31.2507 24.9472 0 - endloop - endfacet - facet normal 0.977346 -0.211648 0 - outer loop - vertex -31.2507 24.9472 -0.2 - vertex -31.2668 24.8727 0 - vertex -31.2668 24.8727 -0.2 - endloop - endfacet - facet normal 0.856395 -0.516321 0 - outer loop - vertex -31.2507 24.9472 0 - vertex -31.2175 25.0021 -0.2 - vertex -31.2175 25.0021 0 - endloop - endfacet - facet normal 0.856395 -0.516321 0 - outer loop - vertex -31.2175 25.0021 -0.2 - vertex -31.2507 24.9472 0 - vertex -31.2507 24.9472 -0.2 - endloop - endfacet - facet normal 0.578733 -0.815517 0 - outer loop - vertex -31.2175 25.0021 -0.2 - vertex -31.1676 25.0376 0 - vertex -31.2175 25.0021 0 - endloop - endfacet - facet normal 0.578733 -0.815517 0 - outer loop - vertex -31.1676 25.0376 0 - vertex -31.2175 25.0021 -0.2 - vertex -31.1676 25.0376 -0.2 - endloop - endfacet - facet normal 0.230651 -0.973037 0 - outer loop - vertex -31.1676 25.0376 -0.2 - vertex -31.1012 25.0533 0 - vertex -31.1676 25.0376 0 - endloop - endfacet - facet normal 0.230651 -0.973037 0 - outer loop - vertex -31.1012 25.0533 0 - vertex -31.1676 25.0376 -0.2 - vertex -31.1012 25.0533 -0.2 - endloop - endfacet - facet normal -0.0489514 -0.998801 0 - outer loop - vertex -31.1012 25.0533 -0.2 - vertex -31.0185 25.0493 0 - vertex -31.1012 25.0533 0 - endloop - endfacet - facet normal -0.0489514 -0.998801 -0 - outer loop - vertex -31.0185 25.0493 0 - vertex -31.1012 25.0533 -0.2 - vertex -31.0185 25.0493 -0.2 - endloop - endfacet - facet normal -0.303972 -0.952681 0 - outer loop - vertex -31.0185 25.0493 -0.2 - vertex -30.8055 24.9813 0 - vertex -31.0185 25.0493 0 - endloop - endfacet - facet normal -0.303972 -0.952681 -0 - outer loop - vertex -30.8055 24.9813 0 - vertex -31.0185 25.0493 -0.2 - vertex -30.8055 24.9813 -0.2 - endloop - endfacet - facet normal -0.475595 -0.879664 0 - outer loop - vertex -30.8055 24.9813 -0.2 - vertex -30.5308 24.8328 0 - vertex -30.8055 24.9813 0 - endloop - endfacet - facet normal -0.475595 -0.879664 -0 - outer loop - vertex -30.5308 24.8328 0 - vertex -30.8055 24.9813 -0.2 - vertex -30.5308 24.8328 -0.2 - endloop - endfacet - facet normal -0.566807 -0.82385 0 - outer loop - vertex -30.5308 24.8328 -0.2 - vertex -30.1964 24.6027 0 - vertex -30.5308 24.8328 0 - endloop - endfacet - facet normal -0.566807 -0.82385 -0 - outer loop - vertex -30.1964 24.6027 0 - vertex -30.5308 24.8328 -0.2 - vertex -30.1964 24.6027 -0.2 - endloop - endfacet - facet normal -0.552424 -0.833564 0 - outer loop - vertex -30.1964 24.6027 -0.2 - vertex -29.8023 24.3416 0 - vertex -30.1964 24.6027 0 - endloop - endfacet - facet normal -0.552424 -0.833564 -0 - outer loop - vertex -29.8023 24.3416 0 - vertex -30.1964 24.6027 -0.2 - vertex -29.8023 24.3416 -0.2 - endloop - endfacet - facet normal -0.451398 -0.892323 0 - outer loop - vertex -29.8023 24.3416 -0.2 - vertex -29.384 24.13 0 - vertex -29.8023 24.3416 0 - endloop - endfacet - facet normal -0.451398 -0.892323 -0 - outer loop - vertex -29.384 24.13 0 - vertex -29.8023 24.3416 -0.2 - vertex -29.384 24.13 -0.2 - endloop - endfacet - facet normal -0.34198 -0.939707 0 - outer loop - vertex -29.384 24.13 -0.2 - vertex -28.9359 23.9669 0 - vertex -29.384 24.13 0 - endloop - endfacet - facet normal -0.34198 -0.939707 -0 - outer loop - vertex -28.9359 23.9669 0 - vertex -29.384 24.13 -0.2 - vertex -28.9359 23.9669 -0.2 - endloop - endfacet - facet normal -0.232476 -0.972602 0 - outer loop - vertex -28.9359 23.9669 -0.2 - vertex -28.4524 23.8513 0 - vertex -28.9359 23.9669 0 - endloop - endfacet - facet normal -0.232476 -0.972602 -0 - outer loop - vertex -28.4524 23.8513 0 - vertex -28.9359 23.9669 -0.2 - vertex -28.4524 23.8513 -0.2 - endloop - endfacet - facet normal -0.130593 -0.991436 0 - outer loop - vertex -28.4524 23.8513 -0.2 - vertex -27.9279 23.7822 0 - vertex -28.4524 23.8513 0 - endloop - endfacet - facet normal -0.130593 -0.991436 -0 - outer loop - vertex -27.9279 23.7822 0 - vertex -28.4524 23.8513 -0.2 - vertex -27.9279 23.7822 -0.2 - endloop - endfacet - facet normal -0.0413274 -0.999146 0 - outer loop - vertex -27.9279 23.7822 -0.2 - vertex -27.3569 23.7586 0 - vertex -27.9279 23.7822 0 - endloop - endfacet - facet normal -0.0413274 -0.999146 -0 - outer loop - vertex -27.3569 23.7586 0 - vertex -27.9279 23.7822 -0.2 - vertex -27.3569 23.7586 -0.2 - endloop - endfacet - facet normal 0.0333972 -0.999442 0 - outer loop - vertex -27.3569 23.7586 -0.2 - vertex -26.7338 23.7794 0 - vertex -27.3569 23.7586 0 - endloop - endfacet - facet normal 0.0333972 -0.999442 0 - outer loop - vertex -26.7338 23.7794 0 - vertex -27.3569 23.7586 -0.2 - vertex -26.7338 23.7794 -0.2 - endloop - endfacet - facet normal 0.0939488 -0.995577 0 - outer loop - vertex -26.7338 23.7794 -0.2 - vertex -26.053 23.8437 0 - vertex -26.7338 23.7794 0 - endloop - endfacet - facet normal 0.0939488 -0.995577 0 - outer loop - vertex -26.053 23.8437 0 - vertex -26.7338 23.7794 -0.2 - vertex -26.053 23.8437 -0.2 + vertex -26.0647 23.8437 0 + vertex -27.3687 23.7586 -3 + vertex -26.0647 23.8437 -3 endloop endfacet facet normal 0.119464 -0.992839 0 outer loop - vertex -26.053 23.8437 -0.2 - vertex -24.6523 24.0122 0 - vertex -26.053 23.8437 0 + vertex -26.0647 23.8437 -3 + vertex -24.664 24.0122 0 + vertex -26.0647 23.8437 0 endloop endfacet facet normal 0.119464 -0.992839 0 outer loop - vertex -24.6523 24.0122 0 - vertex -26.053 23.8437 -0.2 - vertex -24.6523 24.0122 -0.2 + vertex -24.664 24.0122 0 + vertex -26.0647 23.8437 -3 + vertex -24.664 24.0122 -3 endloop endfacet facet normal 0.193693 0.981062 -0 outer loop - vertex -24.6523 24.0122 -0.2 - vertex -26.0107 24.2804 0 - vertex -24.6523 24.0122 0 + vertex -24.664 24.0122 -3 + vertex -26.0224 24.2804 0 + vertex -24.664 24.0122 0 endloop endfacet facet normal 0.193693 0.981062 0 outer loop - vertex -26.0107 24.2804 0 - vertex -24.6523 24.0122 -0.2 - vertex -26.0107 24.2804 -0.2 + vertex -26.0224 24.2804 0 + vertex -24.664 24.0122 -3 + vertex -26.0224 24.2804 -3 endloop endfacet - facet normal 0.214134 0.976804 -0 + facet normal 0.282043 0.959402 -0 outer loop - vertex -26.0107 24.2804 -0.2 - vertex -26.5818 24.4056 0 - vertex -26.0107 24.2804 0 + vertex -26.0224 24.2804 -3 + vertex -28.1365 24.9019 0 + vertex -26.0224 24.2804 0 endloop endfacet - facet normal 0.214134 0.976804 0 + facet normal 0.282043 0.959402 0 outer loop - vertex -26.5818 24.4056 0 - vertex -26.0107 24.2804 -0.2 - vertex -26.5818 24.4056 -0.2 + vertex -28.1365 24.9019 0 + vertex -26.0224 24.2804 -3 + vertex -28.1365 24.9019 -3 endloop endfacet - facet normal 0.258173 0.966099 -0 + facet normal 0.487989 0.87285 -0 outer loop - vertex -26.5818 24.4056 -0.2 - vertex -27.1227 24.5501 0 - vertex -26.5818 24.4056 0 + vertex -28.1365 24.9019 -3 + vertex -29.9035 25.8898 0 + vertex -28.1365 24.9019 0 endloop endfacet - facet normal 0.258173 0.966099 0 + facet normal 0.487989 0.87285 0 outer loop - vertex -27.1227 24.5501 0 - vertex -26.5818 24.4056 -0.2 - vertex -27.1227 24.5501 -0.2 + vertex -29.9035 25.8898 0 + vertex -28.1365 24.9019 -3 + vertex -29.9035 25.8898 -3 endloop endfacet - facet normal 0.306051 0.952015 -0 + facet normal 0.641558 0.767075 -0 outer loop - vertex -27.1227 24.5501 -0.2 - vertex -27.636 24.7152 0 - vertex -27.1227 24.5501 0 + vertex -29.9035 25.8898 -3 + vertex -31.116 26.9038 0 + vertex -29.9035 25.8898 0 endloop endfacet - facet normal 0.306051 0.952015 0 + facet normal 0.641558 0.767075 0 outer loop - vertex -27.636 24.7152 0 - vertex -27.1227 24.5501 -0.2 - vertex -27.636 24.7152 -0.2 + vertex -31.116 26.9038 0 + vertex -29.9035 25.8898 -3 + vertex -31.116 26.9038 -3 endloop endfacet - facet normal 0.356888 0.934147 -0 + facet normal 0.876545 0.48132 0 outer loop - vertex -27.636 24.7152 -0.2 - vertex -28.1248 24.9019 0 - vertex -27.636 24.7152 0 + vertex -31.116 26.9038 0 + vertex -31.2912 27.2229 -3 + vertex -31.2912 27.2229 0 endloop endfacet - facet normal 0.356888 0.934147 0 + facet normal 0.876545 0.48132 0 outer loop - vertex -28.1248 24.9019 0 - vertex -27.636 24.7152 -0.2 - vertex -28.1248 24.9019 -0.2 + vertex -31.2912 27.2229 -3 + vertex -31.116 26.9038 0 + vertex -31.116 26.9038 -3 endloop endfacet - facet normal 0.409468 0.912325 -0 + facet normal 0.956151 -0.292876 0 outer loop - vertex -28.1248 24.9019 -0.2 - vertex -28.5919 25.1115 0 - vertex -28.1248 24.9019 0 + vertex -31.2912 27.2229 0 + vertex -31.2177 27.4629 -3 + vertex -31.2177 27.4629 0 endloop endfacet - facet normal 0.409468 0.912325 0 + facet normal 0.956151 -0.292876 0 outer loop - vertex -28.5919 25.1115 0 - vertex -28.1248 24.9019 -0.2 - vertex -28.5919 25.1115 -0.2 + vertex -31.2177 27.4629 -3 + vertex -31.2912 27.2229 0 + vertex -31.2912 27.2229 -3 endloop endfacet - facet normal 0.462329 0.886708 -0 + facet normal 0.0512406 -0.998686 0 outer loop - vertex -28.5919 25.1115 -0.2 - vertex -29.0402 25.3453 0 - vertex -28.5919 25.1115 0 + vertex -31.2177 27.4629 -3 + vertex -30.666 27.4912 0 + vertex -31.2177 27.4629 0 endloop endfacet - facet normal 0.462329 0.886708 0 + facet normal 0.0512406 -0.998686 0 outer loop - vertex -29.0402 25.3453 0 - vertex -28.5919 25.1115 -0.2 - vertex -29.0402 25.3453 -0.2 + vertex -30.666 27.4912 0 + vertex -31.2177 27.4629 -3 + vertex -30.666 27.4912 -3 endloop endfacet - facet normal 0.51393 0.857832 -0 + facet normal -0.343857 -0.939022 0 outer loop - vertex -29.0402 25.3453 -0.2 - vertex -29.4725 25.6043 0 - vertex -29.0402 25.3453 0 + vertex -30.666 27.4912 -3 + vertex -29.2879 26.9865 0 + vertex -30.666 27.4912 0 endloop endfacet - facet normal 0.51393 0.857832 0 + facet normal -0.343857 -0.939022 -0 outer loop - vertex -29.4725 25.6043 0 - vertex -29.0402 25.3453 -0.2 - vertex -29.4725 25.6043 -0.2 + vertex -29.2879 26.9865 0 + vertex -30.666 27.4912 -3 + vertex -29.2879 26.9865 -3 endloop endfacet - facet normal 0.562822 0.826578 -0 + facet normal -0.315787 -0.94883 0 outer loop - vertex -29.4725 25.6043 -0.2 - vertex -29.8918 25.8898 0 - vertex -29.4725 25.6043 0 + vertex -29.2879 26.9865 -3 + vertex -27.4214 26.3653 0 + vertex -29.2879 26.9865 0 endloop endfacet - facet normal 0.562822 0.826578 0 + facet normal -0.315787 -0.94883 -0 outer loop - vertex -29.8918 25.8898 0 - vertex -29.4725 25.6043 -0.2 - vertex -29.8918 25.8898 -0.2 + vertex -27.4214 26.3653 0 + vertex -29.2879 26.9865 -3 + vertex -27.4214 26.3653 -3 endloop endfacet - facet normal 0.607723 0.794149 -0 + facet normal -0.0620611 -0.998072 0 outer loop - vertex -29.8918 25.8898 -0.2 - vertex -30.6514 26.471 0 - vertex -29.8918 25.8898 0 + vertex -27.4214 26.3653 -3 + vertex -24.8433 26.205 0 + vertex -27.4214 26.3653 0 endloop endfacet - facet normal 0.607723 0.794149 0 + facet normal -0.0620611 -0.998072 -0 outer loop - vertex -30.6514 26.471 0 - vertex -29.8918 25.8898 -0.2 - vertex -30.6514 26.471 -0.2 + vertex -24.8433 26.205 0 + vertex -27.4214 26.3653 -3 + vertex -24.8433 26.205 -3 endloop endfacet - facet normal 0.662833 0.748767 -0 + facet normal 0.0113967 -0.999935 0 outer loop - vertex -30.6514 26.471 -0.2 - vertex -30.9143 26.7038 0 - vertex -30.6514 26.471 0 + vertex -24.8433 26.205 -3 + vertex -22.0473 26.2369 0 + vertex -24.8433 26.205 0 endloop endfacet - facet normal 0.662833 0.748767 0 + facet normal 0.0113967 -0.999935 0 outer loop - vertex -30.9143 26.7038 0 - vertex -30.6514 26.471 -0.2 - vertex -30.9143 26.7038 -0.2 + vertex -22.0473 26.2369 0 + vertex -24.8433 26.205 -3 + vertex -22.0473 26.2369 -3 endloop endfacet - facet normal 0.725171 0.688569 0 + facet normal 0.196528 -0.980498 0 outer loop - vertex -30.9143 26.7038 0 - vertex -31.1043 26.9038 -0.2 - vertex -31.1043 26.9038 0 + vertex -22.0473 26.2369 -3 + vertex -21.4485 26.3569 0 + vertex -22.0473 26.2369 0 endloop endfacet - facet normal 0.725171 0.688569 0 + facet normal 0.196528 -0.980498 0 outer loop - vertex -31.1043 26.9038 -0.2 - vertex -30.9143 26.7038 0 - vertex -30.9143 26.7038 -0.2 + vertex -21.4485 26.3569 0 + vertex -22.0473 26.2369 -3 + vertex -21.4485 26.3569 -3 endloop endfacet - facet normal 0.818345 0.574727 0 + facet normal 0.743557 -0.668673 0 outer loop - vertex -31.1043 26.9038 0 - vertex -31.2248 27.0754 -0.2 - vertex -31.2248 27.0754 0 + vertex -21.4485 26.3569 0 + vertex -21.2681 26.5576 -3 + vertex -21.2681 26.5576 0 endloop endfacet - facet normal 0.818345 0.574727 0 + facet normal 0.743557 -0.668673 0 outer loop - vertex -31.2248 27.0754 -0.2 - vertex -31.1043 26.9038 0 - vertex -31.1043 26.9038 -0.2 + vertex -21.2681 26.5576 -3 + vertex -21.4485 26.3569 0 + vertex -21.4485 26.3569 -3 endloop endfacet - facet normal 0.937593 0.347734 0 + facet normal 0.261077 0.965318 -0 outer loop - vertex -31.2248 27.0754 0 - vertex -31.2795 27.2229 -0.2 - vertex -31.2795 27.2229 0 + vertex -21.2681 26.5576 -3 + vertex -22.4212 26.8695 0 + vertex -21.2681 26.5576 0 endloop endfacet - facet normal 0.937593 0.347734 0 + facet normal 0.261077 0.965318 0 outer loop - vertex -31.2795 27.2229 -0.2 - vertex -31.2248 27.0754 0 - vertex -31.2248 27.0754 -0.2 + vertex -22.4212 26.8695 0 + vertex -21.2681 26.5576 -3 + vertex -22.4212 26.8695 -3 endloop endfacet - facet normal 0.99829 -0.0584589 0 + facet normal 0.309949 0.950753 -0 outer loop - vertex -31.2795 27.2229 0 - vertex -31.272 27.3506 -0.2 - vertex -31.272 27.3506 0 + vertex -22.4212 26.8695 -3 + vertex -23.8902 27.3484 0 + vertex -22.4212 26.8695 0 endloop endfacet - facet normal 0.99829 -0.0584589 0 + facet normal 0.309949 0.950753 0 outer loop - vertex -31.272 27.3506 -0.2 - vertex -31.2795 27.2229 0 - vertex -31.2795 27.2229 -0.2 + vertex -23.8902 27.3484 0 + vertex -22.4212 26.8695 -3 + vertex -23.8902 27.3484 -3 endloop endfacet - facet normal 0.861994 -0.506918 0 + facet normal 0.603717 0.797199 -0 outer loop - vertex -31.272 27.3506 0 - vertex -31.2059 27.4629 -0.2 - vertex -31.2059 27.4629 0 + vertex -23.8902 27.3484 -3 + vertex -24.3225 27.6757 0 + vertex -23.8902 27.3484 0 endloop endfacet - facet normal 0.861994 -0.506918 0 + facet normal 0.603717 0.797199 0 outer loop - vertex -31.2059 27.4629 -0.2 - vertex -31.272 27.3506 0 - vertex -31.272 27.3506 -0.2 + vertex -24.3225 27.6757 0 + vertex -23.8902 27.3484 -3 + vertex -24.3225 27.6757 -3 endloop endfacet - facet normal 0.566536 -0.824037 0 + facet normal 0.98955 0.144189 0 outer loop - vertex -31.2059 27.4629 -0.2 - vertex -31.1289 27.5158 0 - vertex -31.2059 27.4629 0 + vertex -24.3225 27.6757 0 + vertex -24.3632 27.9554 -3 + vertex -24.3632 27.9554 0 endloop endfacet - facet normal 0.566536 -0.824037 0 + facet normal 0.98955 0.144189 0 outer loop - vertex -31.1289 27.5158 0 - vertex -31.2059 27.4629 -0.2 - vertex -31.1289 27.5158 -0.2 + vertex -24.3632 27.9554 -3 + vertex -24.3225 27.6757 0 + vertex -24.3225 27.6757 -3 endloop endfacet - facet normal 0.198224 -0.980157 0 + facet normal -0.0279773 -0.999609 0 outer loop - vertex -31.1289 27.5158 -0.2 - vertex -31.0145 27.539 0 - vertex -31.1289 27.5158 0 + vertex -24.3632 27.9554 -3 + vertex -22.4093 27.9007 0 + vertex -24.3632 27.9554 0 endloop endfacet - facet normal 0.198224 -0.980157 0 + facet normal -0.0279773 -0.999609 -0 outer loop - vertex -31.0145 27.539 0 - vertex -31.1289 27.5158 -0.2 - vertex -31.0145 27.539 -0.2 + vertex -22.4093 27.9007 0 + vertex -24.3632 27.9554 -3 + vertex -22.4093 27.9007 -3 endloop endfacet - facet normal -0.0498903 -0.998755 0 + facet normal -0.150133 -0.988666 0 outer loop - vertex -31.0145 27.539 -0.2 - vertex -30.8579 27.5312 0 - vertex -31.0145 27.539 0 + vertex -22.4093 27.9007 -3 + vertex -20.8096 27.6578 0 + vertex -22.4093 27.9007 0 endloop endfacet - facet normal -0.0498903 -0.998755 -0 + facet normal -0.150133 -0.988666 -0 outer loop - vertex -30.8579 27.5312 0 - vertex -31.0145 27.539 -0.2 - vertex -30.8579 27.5312 -0.2 + vertex -20.8096 27.6578 0 + vertex -22.4093 27.9007 -3 + vertex -20.8096 27.6578 -3 endloop endfacet - facet normal -0.192665 -0.981265 0 + facet normal -0.458094 -0.888904 0 outer loop - vertex -30.8579 27.5312 -0.2 - vertex -30.6543 27.4912 0 - vertex -30.8579 27.5312 0 + vertex -20.8096 27.6578 -3 + vertex -19.9485 27.2141 0 + vertex -20.8096 27.6578 0 endloop endfacet - facet normal -0.192665 -0.981265 -0 + facet normal -0.458094 -0.888904 -0 outer loop - vertex -30.6543 27.4912 0 - vertex -30.8579 27.5312 -0.2 - vertex -30.6543 27.4912 -0.2 - endloop - endfacet - facet normal -0.304248 -0.952593 0 - outer loop - vertex -30.6543 27.4912 -0.2 - vertex -30.0875 27.3102 0 - vertex -30.6543 27.4912 0 - endloop - endfacet - facet normal -0.304248 -0.952593 -0 - outer loop - vertex -30.0875 27.3102 0 - vertex -30.6543 27.4912 -0.2 - vertex -30.0875 27.3102 -0.2 - endloop - endfacet - facet normal -0.370492 -0.928836 0 - outer loop - vertex -30.0875 27.3102 -0.2 - vertex -29.2762 26.9865 0 - vertex -30.0875 27.3102 0 - endloop - endfacet - facet normal -0.370492 -0.928836 -0 - outer loop - vertex -29.2762 26.9865 0 - vertex -30.0875 27.3102 -0.2 - vertex -29.2762 26.9865 -0.2 - endloop - endfacet - facet normal -0.380261 -0.924879 0 - outer loop - vertex -29.2762 26.9865 -0.2 - vertex -28.7314 26.7626 0 - vertex -29.2762 26.9865 0 - endloop - endfacet - facet normal -0.380261 -0.924879 -0 - outer loop - vertex -28.7314 26.7626 0 - vertex -29.2762 26.9865 -0.2 - vertex -28.7314 26.7626 -0.2 - endloop - endfacet - facet normal -0.349246 -0.937031 0 - outer loop - vertex -28.7314 26.7626 -0.2 - vertex -28.2663 26.5892 0 - vertex -28.7314 26.7626 0 - endloop - endfacet - facet normal -0.349246 -0.937031 -0 - outer loop - vertex -28.2663 26.5892 0 - vertex -28.7314 26.7626 -0.2 - vertex -28.2663 26.5892 -0.2 - endloop - endfacet - facet normal -0.29135 -0.956616 0 - outer loop - vertex -28.2663 26.5892 -0.2 - vertex -27.8395 26.4592 0 - vertex -28.2663 26.5892 0 - endloop - endfacet - facet normal -0.29135 -0.956616 -0 - outer loop - vertex -27.8395 26.4592 0 - vertex -28.2663 26.5892 -0.2 - vertex -27.8395 26.4592 -0.2 - endloop - endfacet - facet normal -0.213404 -0.976964 0 - outer loop - vertex -27.8395 26.4592 -0.2 - vertex -27.4097 26.3653 0 - vertex -27.8395 26.4592 0 - endloop - endfacet - facet normal -0.213404 -0.976964 -0 - outer loop - vertex -27.4097 26.3653 0 - vertex -27.8395 26.4592 -0.2 - vertex -27.4097 26.3653 -0.2 - endloop - endfacet - facet normal -0.13595 -0.990716 0 - outer loop - vertex -27.4097 26.3653 -0.2 - vertex -26.9353 26.3003 0 - vertex -27.4097 26.3653 0 - endloop - endfacet - facet normal -0.13595 -0.990716 -0 - outer loop - vertex -26.9353 26.3003 0 - vertex -27.4097 26.3653 -0.2 - vertex -26.9353 26.3003 -0.2 - endloop - endfacet - facet normal -0.077531 -0.99699 0 - outer loop - vertex -26.9353 26.3003 -0.2 - vertex -26.3751 26.2567 0 - vertex -26.9353 26.3003 0 - endloop - endfacet - facet normal -0.077531 -0.99699 -0 - outer loop - vertex -26.3751 26.2567 0 - vertex -26.9353 26.3003 -0.2 - vertex -26.3751 26.2567 -0.2 - endloop - endfacet - facet normal -0.0334453 -0.999441 0 - outer loop - vertex -26.3751 26.2567 -0.2 - vertex -24.8316 26.205 0 - vertex -26.3751 26.2567 0 - endloop - endfacet - facet normal -0.0334453 -0.999441 -0 - outer loop - vertex -24.8316 26.205 0 - vertex -26.3751 26.2567 -0.2 - vertex -24.8316 26.205 -0.2 - endloop - endfacet - facet normal -0.00940958 -0.999956 0 - outer loop - vertex -24.8316 26.205 -0.2 - vertex -23.1385 26.1891 0 - vertex -24.8316 26.205 0 - endloop - endfacet - facet normal -0.00940958 -0.999956 -0 - outer loop - vertex -23.1385 26.1891 0 - vertex -24.8316 26.205 -0.2 - vertex -23.1385 26.1891 -0.2 - endloop - endfacet - facet normal 0.0248422 -0.999691 0 - outer loop - vertex -23.1385 26.1891 -0.2 - vertex -22.5186 26.2045 0 - vertex -23.1385 26.1891 0 - endloop - endfacet - facet normal 0.0248422 -0.999691 0 - outer loop - vertex -22.5186 26.2045 0 - vertex -23.1385 26.1891 -0.2 - vertex -22.5186 26.2045 -0.2 - endloop - endfacet - facet normal 0.066912 -0.997759 0 - outer loop - vertex -22.5186 26.2045 -0.2 - vertex -22.0356 26.2369 0 - vertex -22.5186 26.2045 0 - endloop - endfacet - facet normal 0.066912 -0.997759 0 - outer loop - vertex -22.0356 26.2369 0 - vertex -22.5186 26.2045 -0.2 - vertex -22.0356 26.2369 -0.2 - endloop - endfacet - facet normal 0.139914 -0.990164 0 - outer loop - vertex -22.0356 26.2369 -0.2 - vertex -21.6785 26.2874 0 - vertex -22.0356 26.2369 0 - endloop - endfacet - facet normal 0.139914 -0.990164 0 - outer loop - vertex -21.6785 26.2874 0 - vertex -22.0356 26.2369 -0.2 - vertex -21.6785 26.2874 -0.2 - endloop - endfacet - facet normal 0.276553 -0.960999 0 - outer loop - vertex -21.6785 26.2874 -0.2 - vertex -21.4368 26.3569 0 - vertex -21.6785 26.2874 0 - endloop - endfacet - facet normal 0.276553 -0.960999 0 - outer loop - vertex -21.4368 26.3569 0 - vertex -21.6785 26.2874 -0.2 - vertex -21.4368 26.3569 -0.2 - endloop - endfacet - facet normal 0.462821 -0.886452 0 - outer loop - vertex -21.4368 26.3569 -0.2 - vertex -21.3558 26.3992 0 - vertex -21.4368 26.3569 0 - endloop - endfacet - facet normal 0.462821 -0.886452 0 - outer loop - vertex -21.3558 26.3992 0 - vertex -21.4368 26.3569 -0.2 - vertex -21.3558 26.3992 -0.2 - endloop - endfacet - facet normal 0.645311 -0.76392 0 - outer loop - vertex -21.3558 26.3992 -0.2 - vertex -21.2997 26.4466 0 - vertex -21.3558 26.3992 0 - endloop - endfacet - facet normal 0.645311 -0.76392 0 - outer loop - vertex -21.2997 26.4466 0 - vertex -21.3558 26.3992 -0.2 - vertex -21.2997 26.4466 -0.2 - endloop - endfacet - facet normal 0.84984 -0.527041 0 - outer loop - vertex -21.2997 26.4466 0 - vertex -21.2669 26.4994 -0.2 - vertex -21.2669 26.4994 0 - endloop - endfacet - facet normal 0.84984 -0.527041 0 - outer loop - vertex -21.2669 26.4994 -0.2 - vertex -21.2997 26.4466 0 - vertex -21.2997 26.4466 -0.2 - endloop - endfacet - facet normal 0.98379 -0.179322 0 - outer loop - vertex -21.2669 26.4994 0 - vertex -21.2563 26.5576 -0.2 - vertex -21.2563 26.5576 0 - endloop - endfacet - facet normal 0.98379 -0.179322 0 - outer loop - vertex -21.2563 26.5576 -0.2 - vertex -21.2669 26.4994 0 - vertex -21.2669 26.4994 -0.2 - endloop - endfacet - facet normal 0.837844 0.54591 0 - outer loop - vertex -21.2563 26.5576 0 - vertex -21.2799 26.5937 -0.2 - vertex -21.2799 26.5937 0 - endloop - endfacet - facet normal 0.837844 0.54591 0 - outer loop - vertex -21.2799 26.5937 -0.2 - vertex -21.2563 26.5576 0 - vertex -21.2563 26.5576 -0.2 - endloop - endfacet - facet normal 0.505324 0.86293 -0 - outer loop - vertex -21.2799 26.5937 -0.2 - vertex -21.3473 26.6332 0 - vertex -21.2799 26.5937 0 - endloop - endfacet - facet normal 0.505324 0.86293 0 - outer loop - vertex -21.3473 26.6332 0 - vertex -21.2799 26.5937 -0.2 - vertex -21.3473 26.6332 -0.2 - endloop - endfacet - facet normal 0.321132 0.947035 -0 - outer loop - vertex -21.3473 26.6332 -0.2 - vertex -21.5951 26.7172 0 - vertex -21.3473 26.6332 0 - endloop - endfacet - facet normal 0.321132 0.947035 0 - outer loop - vertex -21.5951 26.7172 0 - vertex -21.3473 26.6332 -0.2 - vertex -21.5951 26.7172 -0.2 - endloop - endfacet - facet normal 0.218663 0.9758 -0 - outer loop - vertex -21.5951 26.7172 -0.2 - vertex -21.9618 26.7994 0 - vertex -21.5951 26.7172 0 - endloop - endfacet - facet normal 0.218663 0.9758 0 - outer loop - vertex -21.9618 26.7994 0 - vertex -21.5951 26.7172 -0.2 - vertex -21.9618 26.7994 -0.2 - endloop - endfacet - facet normal 0.154639 0.987971 -0 - outer loop - vertex -21.9618 26.7994 -0.2 - vertex -22.4095 26.8695 0 - vertex -21.9618 26.7994 0 - endloop - endfacet - facet normal 0.154639 0.987971 0 - outer loop - vertex -22.4095 26.8695 0 - vertex -21.9618 26.7994 -0.2 - vertex -22.4095 26.8695 -0.2 - endloop - endfacet - facet normal 0.17991 0.983683 -0 - outer loop - vertex -22.4095 26.8695 -0.2 - vertex -22.8078 26.9423 0 - vertex -22.4095 26.8695 0 - endloop - endfacet - facet normal 0.17991 0.983683 0 - outer loop - vertex -22.8078 26.9423 0 - vertex -22.4095 26.8695 -0.2 - vertex -22.8078 26.9423 -0.2 - endloop - endfacet - facet normal 0.273496 0.961873 -0 - outer loop - vertex -22.8078 26.9423 -0.2 - vertex -23.1972 27.0531 0 - vertex -22.8078 26.9423 0 - endloop - endfacet - facet normal 0.273496 0.961873 0 - outer loop - vertex -23.1972 27.0531 0 - vertex -22.8078 26.9423 -0.2 - vertex -23.1972 27.0531 -0.2 - endloop - endfacet - facet normal 0.356994 0.934107 -0 - outer loop - vertex -23.1972 27.0531 -0.2 - vertex -23.56 27.1917 0 - vertex -23.1972 27.0531 0 - endloop - endfacet - facet normal 0.356994 0.934107 0 - outer loop - vertex -23.56 27.1917 0 - vertex -23.1972 27.0531 -0.2 - vertex -23.56 27.1917 -0.2 - endloop - endfacet - facet normal 0.441429 0.897296 -0 - outer loop - vertex -23.56 27.1917 -0.2 - vertex -23.8785 27.3484 0 - vertex -23.56 27.1917 0 - endloop - endfacet - facet normal 0.441429 0.897296 0 - outer loop - vertex -23.8785 27.3484 0 - vertex -23.56 27.1917 -0.2 - vertex -23.8785 27.3484 -0.2 - endloop - endfacet - facet normal 0.540697 0.841217 -0 - outer loop - vertex -23.8785 27.3484 -0.2 - vertex -24.1346 27.513 0 - vertex -23.8785 27.3484 0 - endloop - endfacet - facet normal 0.540697 0.841217 0 - outer loop - vertex -24.1346 27.513 0 - vertex -23.8785 27.3484 -0.2 - vertex -24.1346 27.513 -0.2 - endloop - endfacet - facet normal 0.678607 0.734501 -0 - outer loop - vertex -24.1346 27.513 -0.2 - vertex -24.3107 27.6757 0 - vertex -24.1346 27.513 0 - endloop - endfacet - facet normal 0.678607 0.734501 0 - outer loop - vertex -24.3107 27.6757 0 - vertex -24.1346 27.513 -0.2 - vertex -24.3107 27.6757 -0.2 - endloop - endfacet - facet normal 0.828129 0.560537 0 - outer loop - vertex -24.3107 27.6757 0 - vertex -24.3632 27.7532 -0.2 - vertex -24.3632 27.7532 0 - endloop - endfacet - facet normal 0.828129 0.560537 0 - outer loop - vertex -24.3632 27.7532 -0.2 - vertex -24.3107 27.6757 0 - vertex -24.3107 27.6757 -0.2 - endloop - endfacet - facet normal 0.943401 0.331655 0 - outer loop - vertex -24.3632 27.7532 0 - vertex -24.3889 27.8265 -0.2 - vertex -24.3889 27.8265 0 - endloop - endfacet - facet normal 0.943401 0.331655 0 - outer loop - vertex -24.3889 27.8265 -0.2 - vertex -24.3632 27.7532 0 - vertex -24.3632 27.7532 -0.2 - endloop - endfacet - facet normal 0.998917 -0.0465292 0 - outer loop - vertex -24.3889 27.8265 0 - vertex -24.3858 27.8943 -0.2 - vertex -24.3858 27.8943 0 - endloop - endfacet - facet normal 0.998917 -0.0465292 0 - outer loop - vertex -24.3858 27.8943 -0.2 - vertex -24.3889 27.8265 0 - vertex -24.3889 27.8265 -0.2 - endloop - endfacet - facet normal 0.871924 -0.489641 0 - outer loop - vertex -24.3858 27.8943 0 - vertex -24.3515 27.9554 -0.2 - vertex -24.3515 27.9554 0 - endloop - endfacet - facet normal 0.871924 -0.489641 0 - outer loop - vertex -24.3515 27.9554 -0.2 - vertex -24.3858 27.8943 0 - vertex -24.3858 27.8943 -0.2 - endloop - endfacet - facet normal 0.330372 -0.943851 0 - outer loop - vertex -24.3515 27.9554 -0.2 - vertex -24.2923 27.9761 0 - vertex -24.3515 27.9554 0 - endloop - endfacet - facet normal 0.330372 -0.943851 0 - outer loop - vertex -24.2923 27.9761 0 - vertex -24.3515 27.9554 -0.2 - vertex -24.2923 27.9761 -0.2 - endloop - endfacet - facet normal 0.0962711 -0.995355 0 - outer loop - vertex -24.2923 27.9761 -0.2 - vertex -24.1643 27.9885 0 - vertex -24.2923 27.9761 0 - endloop - endfacet - facet normal 0.0962711 -0.995355 0 - outer loop - vertex -24.1643 27.9885 0 - vertex -24.2923 27.9761 -0.2 - vertex -24.1643 27.9885 -0.2 - endloop - endfacet - facet normal 0.00166914 -0.999999 0 - outer loop - vertex -24.1643 27.9885 -0.2 - vertex -23.7335 27.9892 0 - vertex -24.1643 27.9885 0 - endloop - endfacet - facet normal 0.00166914 -0.999999 0 - outer loop - vertex -23.7335 27.9892 0 - vertex -24.1643 27.9885 -0.2 - vertex -23.7335 27.9892 -0.2 - endloop - endfacet - facet normal -0.048866 -0.998805 0 - outer loop - vertex -23.7335 27.9892 -0.2 - vertex -23.1232 27.9594 0 - vertex -23.7335 27.9892 0 - endloop - endfacet - facet normal -0.048866 -0.998805 -0 - outer loop - vertex -23.1232 27.9594 0 - vertex -23.7335 27.9892 -0.2 - vertex -23.1232 27.9594 -0.2 - endloop - endfacet - facet normal -0.0805478 -0.996751 0 - outer loop - vertex -23.1232 27.9594 -0.2 - vertex -22.3975 27.9007 0 - vertex -23.1232 27.9594 0 - endloop - endfacet - facet normal -0.0805478 -0.996751 -0 - outer loop - vertex -22.3975 27.9007 0 - vertex -23.1232 27.9594 -0.2 - vertex -22.3975 27.9007 -0.2 - endloop - endfacet - facet normal -0.115526 -0.993304 0 - outer loop - vertex -22.3975 27.9007 -0.2 - vertex -21.4599 27.7917 0 - vertex -22.3975 27.9007 0 - endloop - endfacet - facet normal -0.115526 -0.993304 -0 - outer loop - vertex -21.4599 27.7917 0 - vertex -22.3975 27.9007 -0.2 - vertex -21.4599 27.7917 -0.2 - endloop - endfacet - facet normal -0.170472 -0.985363 0 - outer loop - vertex -21.4599 27.7917 -0.2 - vertex -21.1001 27.7294 0 - vertex -21.4599 27.7917 0 - endloop - endfacet - facet normal -0.170472 -0.985363 -0 - outer loop - vertex -21.1001 27.7294 0 - vertex -21.4599 27.7917 -0.2 - vertex -21.1001 27.7294 -0.2 - endloop - endfacet - facet normal -0.23059 -0.973051 0 - outer loop - vertex -21.1001 27.7294 -0.2 - vertex -20.7979 27.6578 0 - vertex -21.1001 27.7294 0 - endloop - endfacet - facet normal -0.23059 -0.973051 -0 - outer loop - vertex -20.7979 27.6578 0 - vertex -21.1001 27.7294 -0.2 - vertex -20.7979 27.6578 -0.2 - endloop - endfacet - facet normal -0.312278 -0.949991 0 - outer loop - vertex -20.7979 27.6578 -0.2 - vertex -20.5419 27.5737 0 - vertex -20.7979 27.6578 0 - endloop - endfacet - facet normal -0.312278 -0.949991 -0 - outer loop - vertex -20.5419 27.5737 0 - vertex -20.7979 27.6578 -0.2 - vertex -20.5419 27.5737 -0.2 - endloop - endfacet - facet normal -0.411473 -0.911422 0 - outer loop - vertex -20.5419 27.5737 -0.2 - vertex -20.3206 27.4738 0 - vertex -20.5419 27.5737 0 - endloop - endfacet - facet normal -0.411473 -0.911422 -0 - outer loop - vertex -20.3206 27.4738 0 - vertex -20.5419 27.5737 -0.2 - vertex -20.3206 27.4738 -0.2 - endloop - endfacet - facet normal -0.51473 -0.857352 0 - outer loop - vertex -20.3206 27.4738 -0.2 - vertex -20.1227 27.3549 0 - vertex -20.3206 27.4738 0 - endloop - endfacet - facet normal -0.51473 -0.857352 -0 - outer loop - vertex -20.1227 27.3549 0 - vertex -20.3206 27.4738 -0.2 - vertex -20.1227 27.3549 -0.2 - endloop - endfacet - facet normal -0.604059 -0.79694 0 - outer loop - vertex -20.1227 27.3549 -0.2 - vertex -19.9368 27.2141 0 - vertex -20.1227 27.3549 0 - endloop - endfacet - facet normal -0.604059 -0.79694 -0 - outer loop - vertex -19.9368 27.2141 0 - vertex -20.1227 27.3549 -0.2 - vertex -19.9368 27.2141 -0.2 + vertex -19.9485 27.2141 0 + vertex -20.8096 27.6578 -3 + vertex -19.9485 27.2141 -3 endloop endfacet facet normal -0.64002 -0.768358 0 outer loop - vertex -19.9368 27.2141 -0.2 - vertex -19.3233 26.703 0 - vertex -19.9368 27.2141 0 + vertex -19.9485 27.2141 -3 + vertex -19.335 26.703 0 + vertex -19.9485 27.2141 0 endloop endfacet facet normal -0.64002 -0.768358 -0 outer loop - vertex -19.3233 26.703 0 - vertex -19.9368 27.2141 -0.2 - vertex -19.3233 26.703 -0.2 + vertex -19.335 26.703 0 + vertex -19.9485 27.2141 -3 + vertex -19.335 26.703 -3 endloop endfacet - facet normal 0.254038 -0.967194 0 + facet normal 0.254037 -0.967194 0 outer loop - vertex -19.3233 26.703 -0.2 - vertex -16.9758 27.3196 0 - vertex -19.3233 26.703 0 + vertex -19.335 26.703 -3 + vertex -16.9875 27.3196 0 + vertex -19.335 26.703 0 endloop endfacet - facet normal 0.254038 -0.967194 0 + facet normal 0.254037 -0.967194 0 outer loop - vertex -16.9758 27.3196 0 - vertex -19.3233 26.703 -0.2 - vertex -16.9758 27.3196 -0.2 + vertex -16.9875 27.3196 0 + vertex -19.335 26.703 -3 + vertex -16.9875 27.3196 -3 endloop endfacet - facet normal 0.236306 -0.971679 0 + facet normal 0.212489 -0.977163 0 outer loop - vertex -16.9758 27.3196 -0.2 - vertex -16.0674 27.5405 0 - vertex -16.9758 27.3196 0 + vertex -16.9875 27.3196 -3 + vertex -15.2376 27.7001 0 + vertex -16.9875 27.3196 0 endloop endfacet - facet normal 0.236306 -0.971679 0 + facet normal 0.212489 -0.977163 0 outer loop - vertex -16.0674 27.5405 0 - vertex -16.9758 27.3196 -0.2 - vertex -16.0674 27.5405 -0.2 + vertex -15.2376 27.7001 0 + vertex -16.9875 27.3196 -3 + vertex -15.2376 27.7001 -3 endloop endfacet - facet normal 0.186349 -0.982484 0 + facet normal 0.0813778 -0.996683 0 outer loop - vertex -16.0674 27.5405 -0.2 - vertex -15.2259 27.7001 0 - vertex -16.0674 27.5405 0 + vertex -15.2376 27.7001 -3 + vertex -13.5562 27.8374 0 + vertex -15.2376 27.7001 0 endloop endfacet - facet normal 0.186349 -0.982484 0 + facet normal 0.0813778 -0.996683 0 outer loop - vertex -15.2259 27.7001 0 - vertex -16.0674 27.5405 -0.2 - vertex -15.2259 27.7001 -0.2 + vertex -13.5562 27.8374 0 + vertex -15.2376 27.7001 -3 + vertex -13.5562 27.8374 -3 endloop endfacet - facet normal 0.119004 -0.992894 0 + facet normal -0.0507625 -0.998711 0 outer loop - vertex -15.2259 27.7001 -0.2 - vertex -14.4014 27.7989 0 - vertex -15.2259 27.7001 0 + vertex -13.5562 27.8374 -3 + vertex -11.546 27.7352 0 + vertex -13.5562 27.8374 0 endloop endfacet - facet normal 0.119004 -0.992894 0 + facet normal -0.0507625 -0.998711 -0 outer loop - vertex -14.4014 27.7989 0 - vertex -15.2259 27.7001 -0.2 - vertex -14.4014 27.7989 -0.2 + vertex -11.546 27.7352 0 + vertex -13.5562 27.8374 -3 + vertex -11.546 27.7352 -3 endloop endfacet - facet normal 0.0448493 -0.998994 0 + facet normal -0.122536 -0.992464 0 outer loop - vertex -14.4014 27.7989 -0.2 - vertex -13.5445 27.8374 0 - vertex -14.4014 27.7989 0 + vertex -11.546 27.7352 -3 + vertex -8.80952 27.3973 0 + vertex -11.546 27.7352 0 endloop endfacet - facet normal 0.0448493 -0.998994 0 + facet normal -0.122536 -0.992464 -0 outer loop - vertex -13.5445 27.8374 0 - vertex -14.4014 27.7989 -0.2 - vertex -13.5445 27.8374 -0.2 + vertex -8.80952 27.3973 0 + vertex -11.546 27.7352 -3 + vertex -8.80952 27.3973 -3 endloop endfacet - facet normal -0.0227723 -0.999741 0 + facet normal -0.0983783 -0.995149 0 outer loop - vertex -13.5445 27.8374 -0.2 - vertex -12.6053 27.816 0 - vertex -13.5445 27.8374 0 + vertex -8.80952 27.3973 -3 + vertex -7.25507 27.2437 0 + vertex -8.80952 27.3973 0 endloop endfacet - facet normal -0.0227723 -0.999741 -0 + facet normal -0.0983783 -0.995149 -0 outer loop - vertex -12.6053 27.816 0 - vertex -13.5445 27.8374 -0.2 - vertex -12.6053 27.816 -0.2 + vertex -7.25507 27.2437 0 + vertex -8.80952 27.3973 -3 + vertex -7.25507 27.2437 -3 endloop endfacet - facet normal -0.0752121 -0.997168 0 + facet normal 0.163792 -0.986495 0 outer loop - vertex -12.6053 27.816 -0.2 - vertex -11.5342 27.7352 0 - vertex -12.6053 27.816 0 + vertex -7.25507 27.2437 -3 + vertex -6.55612 27.3597 0 + vertex -7.25507 27.2437 0 endloop endfacet - facet normal -0.0752121 -0.997168 -0 + facet normal 0.163792 -0.986495 0 outer loop - vertex -11.5342 27.7352 0 - vertex -12.6053 27.816 -0.2 - vertex -11.5342 27.7352 -0.2 + vertex -6.55612 27.3597 0 + vertex -7.25507 27.2437 -3 + vertex -6.55612 27.3597 -3 endloop endfacet - facet normal -0.110844 -0.993838 0 + facet normal 0.830428 -0.557126 0 outer loop - vertex -11.5342 27.7352 -0.2 - vertex -10.2816 27.5955 0 - vertex -11.5342 27.7352 0 + vertex -6.55612 27.3597 0 + vertex -6.38329 27.6173 -3 + vertex -6.38329 27.6173 0 endloop endfacet - facet normal -0.110844 -0.993838 -0 + facet normal 0.830428 -0.557126 0 outer loop - vertex -10.2816 27.5955 0 - vertex -11.5342 27.7352 -0.2 - vertex -10.2816 27.5955 -0.2 + vertex -6.38329 27.6173 -3 + vertex -6.55612 27.3597 0 + vertex -6.55612 27.3597 -3 endloop endfacet - facet normal -0.132367 -0.991201 0 + facet normal 0.987965 -0.154679 0 outer loop - vertex -10.2816 27.5955 -0.2 - vertex -8.79778 27.3973 0 - vertex -10.2816 27.5955 0 + vertex -6.38329 27.6173 0 + vertex -6.28322 28.2565 -3 + vertex -6.28322 28.2565 0 endloop endfacet - facet normal -0.132367 -0.991201 -0 + facet normal 0.987965 -0.154679 0 outer loop - vertex -8.79778 27.3973 0 - vertex -10.2816 27.5955 -0.2 - vertex -8.79778 27.3973 -0.2 + vertex -6.28322 28.2565 -3 + vertex -6.38329 27.6173 0 + vertex -6.38329 27.6173 -3 endloop endfacet - facet normal -0.122316 -0.992491 0 + facet normal 0.99984 -0.0178603 0 outer loop - vertex -8.79778 27.3973 -0.2 - vertex -7.89877 27.2865 0 - vertex -8.79778 27.3973 0 + vertex -6.28322 28.2565 0 + vertex -6.22131 31.7226 -3 + vertex -6.22131 31.7226 0 endloop endfacet - facet normal -0.122316 -0.992491 -0 + facet normal 0.99984 -0.0178603 0 outer loop - vertex -7.89877 27.2865 0 - vertex -8.79778 27.3973 -0.2 - vertex -7.89877 27.2865 -0.2 + vertex -6.22131 31.7226 -3 + vertex -6.28322 28.2565 0 + vertex -6.28322 28.2565 -3 endloop endfacet - facet normal -0.0652699 -0.997868 0 + facet normal 0.999322 -0.0368307 0 outer loop - vertex -7.89877 27.2865 -0.2 - vertex -7.24334 27.2437 0 - vertex -7.89877 27.2865 0 + vertex -6.22131 31.7226 0 + vertex -6.055 36.2349 -3 + vertex -6.055 36.2349 0 endloop endfacet - facet normal -0.0652699 -0.997868 -0 + facet normal 0.999322 -0.0368307 0 outer loop - vertex -7.24334 27.2437 0 - vertex -7.89877 27.2865 -0.2 - vertex -7.24334 27.2437 -0.2 + vertex -6.055 36.2349 -3 + vertex -6.22131 31.7226 0 + vertex -6.22131 31.7226 -3 endloop endfacet - facet normal 0.0157984 -0.999875 0 + facet normal 0.823305 -0.5676 0 outer loop - vertex -7.24334 27.2437 -0.2 - vertex -6.99768 27.2475 0 - vertex -7.24334 27.2437 0 + vertex -6.055 36.2349 0 + vertex -5.8163 36.5812 -3 + vertex -5.8163 36.5812 0 endloop endfacet - facet normal 0.0157984 -0.999875 0 + facet normal 0.823305 -0.5676 0 outer loop - vertex -6.99768 27.2475 0 - vertex -7.24334 27.2437 -0.2 - vertex -6.99768 27.2475 -0.2 + vertex -5.8163 36.5812 -3 + vertex -6.055 36.2349 0 + vertex -6.055 36.2349 -3 endloop endfacet - facet normal 0.104958 -0.994477 0 + facet normal -0.301391 -0.953501 0 outer loop - vertex -6.99768 27.2475 -0.2 - vertex -6.80178 27.2682 0 - vertex -6.99768 27.2475 0 + vertex -5.8163 36.5812 -3 + vertex -5.55994 36.5001 0 + vertex -5.8163 36.5812 0 endloop endfacet - facet normal 0.104958 -0.994477 0 + facet normal -0.301391 -0.953501 -0 outer loop - vertex -6.80178 27.2682 0 - vertex -6.99768 27.2475 -0.2 - vertex -6.80178 27.2682 -0.2 + vertex -5.55994 36.5001 0 + vertex -5.8163 36.5812 -3 + vertex -5.55994 36.5001 -3 endloop endfacet - facet normal 0.242196 -0.970227 0 + facet normal -0.928472 -0.371402 0 outer loop - vertex -6.80178 27.2682 -0.2 - vertex -6.65192 27.3056 0 - vertex -6.80178 27.2682 0 + vertex -4.97284 35.0324 -3 + vertex -5.55994 36.5001 0 + vertex -5.55994 36.5001 -3 endloop endfacet - facet normal 0.242196 -0.970227 0 + facet normal -0.928472 -0.371402 0 outer loop - vertex -6.65192 27.3056 0 - vertex -6.80178 27.2682 -0.2 - vertex -6.65192 27.3056 -0.2 + vertex -5.55994 36.5001 0 + vertex -4.97284 35.0324 -3 + vertex -4.97284 35.0324 0 endloop endfacet - facet normal 0.449315 -0.893373 0 + facet normal -0.946087 -0.323913 0 outer loop - vertex -6.65192 27.3056 -0.2 - vertex -6.54439 27.3597 0 - vertex -6.65192 27.3056 0 + vertex -3.97987 32.1322 -3 + vertex -4.97284 35.0324 0 + vertex -4.97284 35.0324 -3 endloop endfacet - facet normal 0.449315 -0.893373 0 + facet normal -0.946087 -0.323913 0 outer loop - vertex -6.54439 27.3597 0 - vertex -6.65192 27.3056 -0.2 - vertex -6.54439 27.3597 -0.2 + vertex -4.97284 35.0324 0 + vertex -3.97987 32.1322 -3 + vertex -3.97987 32.1322 0 endloop endfacet - facet normal 0.709468 -0.704738 0 + facet normal -0.891782 -0.452466 0 outer loop - vertex -6.54439 27.3597 0 - vertex -6.44763 27.4571 -0.2 - vertex -6.44763 27.4571 0 + vertex -2.77953 29.7664 -3 + vertex -3.97987 32.1322 0 + vertex -3.97987 32.1322 -3 endloop endfacet - facet normal 0.709468 -0.704738 0 + facet normal -0.891782 -0.452466 0 outer loop - vertex -6.44763 27.4571 -0.2 - vertex -6.54439 27.3597 0 - vertex -6.54439 27.3597 -0.2 + vertex -3.97987 32.1322 0 + vertex -2.77953 29.7664 -3 + vertex -2.77953 29.7664 0 endloop endfacet - facet normal 0.90334 -0.428926 0 + facet normal -0.788004 -0.61567 0 outer loop - vertex -6.44763 27.4571 0 - vertex -6.37156 27.6173 -0.2 - vertex -6.37156 27.6173 0 + vertex -1.46161 28.0795 -3 + vertex -2.77953 29.7664 0 + vertex -2.77953 29.7664 -3 endloop endfacet - facet normal 0.90334 -0.428926 0 + facet normal -0.788004 -0.61567 0 outer loop - vertex -6.37156 27.6173 -0.2 - vertex -6.44763 27.4571 0 - vertex -6.44763 27.4571 -0.2 + vertex -2.77953 29.7664 0 + vertex -1.46161 28.0795 -3 + vertex -1.46161 28.0795 0 endloop endfacet - facet normal 0.975305 -0.220862 0 + facet normal -0.627252 -0.778816 0 outer loop - vertex -6.37156 27.6173 0 - vertex -6.31368 27.8729 -0.2 - vertex -6.31368 27.8729 0 + vertex -1.46161 28.0795 -3 + vertex -0.786632 27.5359 0 + vertex -1.46161 28.0795 0 endloop endfacet - facet normal 0.975305 -0.220862 0 + facet normal -0.627252 -0.778816 -0 outer loop - vertex -6.31368 27.8729 -0.2 - vertex -6.37156 27.6173 0 - vertex -6.37156 27.6173 -0.2 + vertex -0.786632 27.5359 0 + vertex -1.46161 28.0795 -3 + vertex -0.786632 27.5359 -3 endloop endfacet - facet normal 0.994005 -0.109334 0 + facet normal -0.430266 -0.902702 0 outer loop - vertex -6.31368 27.8729 0 - vertex -6.27149 28.2565 -0.2 - vertex -6.27149 28.2565 0 + vertex -0.786632 27.5359 -3 + vertex -0.115935 27.2162 0 + vertex -0.786632 27.5359 0 endloop endfacet - facet normal 0.994005 -0.109334 0 + facet normal -0.430266 -0.902702 -0 outer loop - vertex -6.27149 28.2565 -0.2 - vertex -6.31368 27.8729 0 - vertex -6.31368 27.8729 -0.2 + vertex -0.115935 27.2162 0 + vertex -0.786632 27.5359 -3 + vertex -0.115935 27.2162 -3 endloop endfacet - facet normal 0.998582 -0.0532268 0 + facet normal -0.108301 -0.994118 0 outer loop - vertex -6.27149 28.2565 0 - vertex -6.24249 28.8007 -0.2 - vertex -6.24249 28.8007 0 + vertex -0.115935 27.2162 -3 + vertex 0.858783 27.1101 0 + vertex -0.115935 27.2162 0 endloop endfacet - facet normal 0.998582 -0.0532268 0 + facet normal -0.108301 -0.994118 -0 outer loop - vertex -6.24249 28.8007 -0.2 - vertex -6.27149 28.2565 0 - vertex -6.27149 28.2565 -0.2 + vertex 0.858783 27.1101 0 + vertex -0.115935 27.2162 -3 + vertex 0.858783 27.1101 -3 endloop endfacet - facet normal 0.999691 -0.0248385 0 + facet normal 0.992113 -0.125344 0 outer loop - vertex -6.24249 28.8007 0 - vertex -6.22417 29.538 -0.2 - vertex -6.22417 29.538 0 + vertex 0.858783 27.1101 0 + vertex 1.04836 28.6106 -3 + vertex 1.04836 28.6106 0 endloop endfacet - facet normal 0.999691 -0.0248385 0 + facet normal 0.992113 -0.125344 0 outer loop - vertex -6.22417 29.538 -0.2 - vertex -6.24249 28.8007 0 - vertex -6.24249 28.8007 -0.2 + vertex 1.04836 28.6106 -3 + vertex 0.858783 27.1101 0 + vertex 0.858783 27.1101 -3 endloop endfacet - facet normal 0.999978 -0.00667916 0 + facet normal 0.998104 -0.0615481 0 outer loop - vertex -6.22417 29.538 0 - vertex -6.20957 31.7226 -0.2 - vertex -6.20957 31.7226 0 + vertex 1.04836 28.6106 0 + vertex 1.1273 29.8907 -3 + vertex 1.1273 29.8907 0 endloop endfacet - facet normal 0.999978 -0.00667916 0 + facet normal 0.998104 -0.0615481 0 outer loop - vertex -6.20957 31.7226 -0.2 - vertex -6.22417 29.538 0 - vertex -6.22417 29.538 -0.2 + vertex 1.1273 29.8907 -3 + vertex 1.04836 28.6106 0 + vertex 1.04836 28.6106 -3 endloop endfacet - facet normal 0.999955 -0.00944041 0 + facet normal 0.981864 -0.189585 0 outer loop - vertex -6.20957 31.7226 0 - vertex -6.19415 33.3563 -0.2 - vertex -6.19415 33.3563 0 + vertex 1.1273 29.8907 0 + vertex 1.37489 31.173 -3 + vertex 1.37489 31.173 0 endloop endfacet - facet normal 0.999955 -0.00944041 0 + facet normal 0.981864 -0.189585 0 outer loop - vertex -6.19415 33.3563 -0.2 - vertex -6.20957 31.7226 0 - vertex -6.20957 31.7226 -0.2 + vertex 1.37489 31.173 -3 + vertex 1.1273 29.8907 0 + vertex 1.1273 29.8907 -3 endloop endfacet - facet normal 0.999658 -0.0261462 0 + facet normal 0.935462 -0.353427 0 outer loop - vertex -6.19415 33.3563 0 - vertex -6.15766 34.7516 -0.2 - vertex -6.15766 34.7516 0 + vertex 1.37489 31.173 0 + vertex 2.44067 33.9939 -3 + vertex 2.44067 33.9939 0 endloop endfacet - facet normal 0.999658 -0.0261462 0 + facet normal 0.935462 -0.353427 0 outer loop - vertex -6.15766 34.7516 -0.2 - vertex -6.19415 33.3563 0 - vertex -6.19415 33.3563 -0.2 + vertex 2.44067 33.9939 -3 + vertex 1.37489 31.173 0 + vertex 1.37489 31.173 -3 endloop endfacet - facet normal 0.998669 -0.0515827 0 + facet normal 0.883303 -0.468802 0 outer loop - vertex -6.15766 34.7516 0 - vertex -6.10555 35.7605 -0.2 - vertex -6.10555 35.7605 0 + vertex 2.44067 33.9939 0 + vertex 4.08079 37.0842 -3 + vertex 4.08079 37.0842 0 endloop endfacet - facet normal 0.998669 -0.0515827 0 + facet normal 0.883303 -0.468802 0 outer loop - vertex -6.10555 35.7605 -0.2 - vertex -6.15766 34.7516 0 - vertex -6.15766 34.7516 -0.2 + vertex 4.08079 37.0842 -3 + vertex 2.44067 33.9939 0 + vertex 2.44067 33.9939 -3 endloop endfacet - facet normal 0.995383 -0.0959818 0 + facet normal 0.814108 -0.580714 0 outer loop - vertex -6.10555 35.7605 0 - vertex -6.07534 36.0738 -0.2 - vertex -6.07534 36.0738 0 + vertex 4.08079 37.0842 0 + vertex 5.15152 38.5852 -3 + vertex 5.15152 38.5852 0 endloop endfacet - facet normal 0.995383 -0.0959818 0 + facet normal 0.814108 -0.580714 0 outer loop - vertex -6.07534 36.0738 -0.2 - vertex -6.10555 35.7605 0 - vertex -6.10555 35.7605 -0.2 + vertex 5.15152 38.5852 -3 + vertex 4.08079 37.0842 0 + vertex 4.08079 37.0842 -3 endloop endfacet - facet normal 0.980771 -0.195161 0 + facet normal -0.809167 -0.587578 0 outer loop - vertex -6.07534 36.0738 0 - vertex -6.04327 36.2349 -0.2 - vertex -6.04327 36.2349 0 + vertex 5.25321 38.4452 -3 + vertex 5.15152 38.5852 0 + vertex 5.15152 38.5852 -3 endloop endfacet - facet normal 0.980771 -0.195161 0 + facet normal -0.809167 -0.587578 0 outer loop - vertex -6.04327 36.2349 -0.2 - vertex -6.07534 36.0738 0 - vertex -6.07534 36.0738 -0.2 + vertex 5.15152 38.5852 0 + vertex 5.25321 38.4452 -3 + vertex 5.25321 38.4452 0 endloop endfacet - facet normal 0.887411 -0.460979 0 + facet normal -0.887211 -0.461365 0 outer loop - vertex -6.04327 36.2349 0 - vertex -5.92579 36.4611 -0.2 - vertex -5.92579 36.4611 0 + vertex 8.028 17.0592 -3 + vertex 7.15178 18.7442 0 + vertex 7.15178 18.7442 -3 endloop endfacet - facet normal 0.887411 -0.460979 0 + facet normal -0.887211 -0.461365 0 outer loop - vertex -5.92579 36.4611 -0.2 - vertex -6.04327 36.2349 0 - vertex -6.04327 36.2349 -0.2 + vertex 7.15178 18.7442 0 + vertex 8.028 17.0592 -3 + vertex 8.028 17.0592 0 endloop endfacet - facet normal 0.77348 -0.633821 0 + facet normal -0.822305 -0.569047 0 outer loop - vertex -5.92579 36.4611 0 - vertex -5.86569 36.5344 -0.2 - vertex -5.86569 36.5344 0 + vertex 8.86535 15.8492 -3 + vertex 8.028 17.0592 0 + vertex 8.028 17.0592 -3 endloop endfacet - facet normal 0.77348 -0.633821 0 + facet normal -0.822305 -0.569047 0 outer loop - vertex -5.86569 36.5344 -0.2 - vertex -5.92579 36.4611 0 - vertex -5.92579 36.4611 -0.2 + vertex 8.028 17.0592 0 + vertex 8.86535 15.8492 -3 + vertex 8.86535 15.8492 0 endloop endfacet - facet normal 0.607425 -0.794377 0 + facet normal 0.359337 -0.933208 0 outer loop - vertex -5.86569 36.5344 -0.2 - vertex -5.80457 36.5812 0 - vertex -5.86569 36.5344 0 + vertex 8.86535 15.8492 -3 + vertex 9.72145 16.1788 0 + vertex 8.86535 15.8492 0 endloop endfacet - facet normal 0.607425 -0.794377 0 + facet normal 0.359337 -0.933208 0 outer loop - vertex -5.80457 36.5812 0 - vertex -5.86569 36.5344 -0.2 - vertex -5.80457 36.5812 -0.2 - endloop - endfacet - facet normal 0.306429 -0.951894 0 - outer loop - vertex -5.80457 36.5812 -0.2 - vertex -5.74234 36.6012 0 - vertex -5.80457 36.5812 0 - endloop - endfacet - facet normal 0.306429 -0.951894 0 - outer loop - vertex -5.74234 36.6012 0 - vertex -5.80457 36.5812 -0.2 - vertex -5.74234 36.6012 -0.2 - endloop - endfacet - facet normal -0.106116 -0.994354 0 - outer loop - vertex -5.74234 36.6012 -0.2 - vertex -5.67893 36.5944 0 - vertex -5.74234 36.6012 0 - endloop - endfacet - facet normal -0.106116 -0.994354 -0 - outer loop - vertex -5.67893 36.5944 0 - vertex -5.74234 36.6012 -0.2 - vertex -5.67893 36.5944 -0.2 - endloop - endfacet - facet normal -0.461592 -0.887092 0 - outer loop - vertex -5.67893 36.5944 -0.2 - vertex -5.61425 36.5608 0 - vertex -5.67893 36.5944 0 - endloop - endfacet - facet normal -0.461592 -0.887092 -0 - outer loop - vertex -5.61425 36.5608 0 - vertex -5.67893 36.5944 -0.2 - vertex -5.61425 36.5608 -0.2 - endloop - endfacet - facet normal -0.67638 -0.736553 0 - outer loop - vertex -5.61425 36.5608 -0.2 - vertex -5.54821 36.5001 0 - vertex -5.61425 36.5608 0 - endloop - endfacet - facet normal -0.67638 -0.736553 -0 - outer loop - vertex -5.54821 36.5001 0 - vertex -5.61425 36.5608 -0.2 - vertex -5.54821 36.5001 -0.2 - endloop - endfacet - facet normal -0.829388 -0.558673 0 - outer loop - vertex -5.41174 36.2975 -0.2 - vertex -5.54821 36.5001 0 - vertex -5.54821 36.5001 -0.2 - endloop - endfacet - facet normal -0.829388 -0.558673 0 - outer loop - vertex -5.54821 36.5001 0 - vertex -5.41174 36.2975 -0.2 - vertex -5.41174 36.2975 0 - endloop - endfacet - facet normal -0.909006 -0.416783 0 - outer loop - vertex -5.26884 35.9859 -0.2 - vertex -5.41174 36.2975 0 - vertex -5.41174 36.2975 -0.2 - endloop - endfacet - facet normal -0.909006 -0.416783 0 - outer loop - vertex -5.41174 36.2975 0 - vertex -5.26884 35.9859 -0.2 - vertex -5.26884 35.9859 0 - endloop - endfacet - facet normal -0.942118 -0.335281 0 - outer loop - vertex -5.11886 35.5644 -0.2 - vertex -5.26884 35.9859 0 - vertex -5.26884 35.9859 -0.2 - endloop - endfacet - facet normal -0.942118 -0.335281 0 - outer loop - vertex -5.26884 35.9859 0 - vertex -5.11886 35.5644 -0.2 - vertex -5.11886 35.5644 0 - endloop - endfacet - facet normal -0.958738 -0.28429 0 - outer loop - vertex -4.96111 35.0324 -0.2 - vertex -5.11886 35.5644 0 - vertex -5.11886 35.5644 -0.2 - endloop - endfacet - facet normal -0.958738 -0.28429 0 - outer loop - vertex -5.11886 35.5644 0 - vertex -4.96111 35.0324 -0.2 - vertex -4.96111 35.0324 0 - endloop - endfacet - facet normal -0.959965 -0.280118 0 - outer loop - vertex -4.73722 34.2652 -0.2 - vertex -4.96111 35.0324 0 - vertex -4.96111 35.0324 -0.2 - endloop - endfacet - facet normal -0.959965 -0.280118 0 - outer loop - vertex -4.96111 35.0324 0 - vertex -4.73722 34.2652 -0.2 - vertex -4.73722 34.2652 0 - endloop - endfacet - facet normal -0.950901 -0.309494 0 - outer loop - vertex -4.49616 33.5245 -0.2 - vertex -4.73722 34.2652 0 - vertex -4.73722 34.2652 -0.2 - endloop - endfacet - facet normal -0.950901 -0.309494 0 - outer loop - vertex -4.73722 34.2652 0 - vertex -4.49616 33.5245 -0.2 - vertex -4.49616 33.5245 0 - endloop - endfacet - facet normal -0.940636 -0.339418 0 - outer loop - vertex -4.23933 32.8128 -0.2 - vertex -4.49616 33.5245 0 - vertex -4.49616 33.5245 -0.2 - endloop - endfacet - facet normal -0.940636 -0.339418 0 - outer loop - vertex -4.49616 33.5245 0 - vertex -4.23933 32.8128 -0.2 - vertex -4.23933 32.8128 0 - endloop - endfacet - facet normal -0.928971 -0.370153 0 - outer loop - vertex -3.96814 32.1322 -0.2 - vertex -4.23933 32.8128 0 - vertex -4.23933 32.8128 -0.2 - endloop - endfacet - facet normal -0.928971 -0.370153 0 - outer loop - vertex -4.23933 32.8128 0 - vertex -3.96814 32.1322 -0.2 - vertex -3.96814 32.1322 0 - endloop - endfacet - facet normal -0.915636 -0.402008 0 - outer loop - vertex -3.68399 31.485 -0.2 - vertex -3.96814 32.1322 0 - vertex -3.96814 32.1322 -0.2 - endloop - endfacet - facet normal -0.915636 -0.402008 0 - outer loop - vertex -3.96814 32.1322 0 - vertex -3.68399 31.485 -0.2 - vertex -3.68399 31.485 0 - endloop - endfacet - facet normal -0.900273 -0.435326 0 - outer loop - vertex -3.38828 30.8734 -0.2 - vertex -3.68399 31.485 0 - vertex -3.68399 31.485 -0.2 - endloop - endfacet - facet normal -0.900273 -0.435326 0 - outer loop - vertex -3.68399 31.485 0 - vertex -3.38828 30.8734 -0.2 - vertex -3.38828 30.8734 0 - endloop - endfacet - facet normal -0.882395 -0.47051 0 - outer loop - vertex -3.08241 30.2998 -0.2 - vertex -3.38828 30.8734 0 - vertex -3.38828 30.8734 -0.2 - endloop - endfacet - facet normal -0.882395 -0.47051 0 - outer loop - vertex -3.38828 30.8734 0 - vertex -3.08241 30.2998 -0.2 - vertex -3.08241 30.2998 0 - endloop - endfacet - facet normal -0.861349 -0.508014 0 - outer loop - vertex -2.7678 29.7664 -0.2 - vertex -3.08241 30.2998 0 - vertex -3.08241 30.2998 -0.2 - endloop - endfacet - facet normal -0.861349 -0.508014 0 - outer loop - vertex -3.08241 30.2998 0 - vertex -2.7678 29.7664 -0.2 - vertex -2.7678 29.7664 0 - endloop - endfacet - facet normal -0.83625 -0.548349 0 - outer loop - vertex -2.44583 29.2754 -0.2 - vertex -2.7678 29.7664 0 - vertex -2.7678 29.7664 -0.2 - endloop - endfacet - facet normal -0.83625 -0.548349 0 - outer loop - vertex -2.7678 29.7664 0 - vertex -2.44583 29.2754 -0.2 - vertex -2.44583 29.2754 0 - endloop - endfacet - facet normal -0.805875 -0.592086 0 - outer loop - vertex -2.11792 28.8291 -0.2 - vertex -2.44583 29.2754 0 - vertex -2.44583 29.2754 -0.2 - endloop - endfacet - facet normal -0.805875 -0.592086 0 - outer loop - vertex -2.44583 29.2754 0 - vertex -2.11792 28.8291 -0.2 - vertex -2.11792 28.8291 0 - endloop - endfacet - facet normal -0.768548 -0.639792 0 - outer loop - vertex -1.78547 28.4297 -0.2 - vertex -2.11792 28.8291 0 - vertex -2.11792 28.8291 -0.2 - endloop - endfacet - facet normal -0.768548 -0.639792 0 - outer loop - vertex -2.11792 28.8291 0 - vertex -1.78547 28.4297 -0.2 - vertex -1.78547 28.4297 0 - endloop - endfacet - facet normal -0.721954 -0.691941 0 - outer loop - vertex -1.44988 28.0795 -0.2 - vertex -1.78547 28.4297 0 - vertex -1.78547 28.4297 -0.2 - endloop - endfacet - facet normal -0.721954 -0.691941 0 - outer loop - vertex -1.78547 28.4297 0 - vertex -1.44988 28.0795 -0.2 - vertex -1.44988 28.0795 0 - endloop - endfacet - facet normal -0.662916 -0.748694 0 - outer loop - vertex -1.44988 28.0795 -0.2 - vertex -1.11256 27.7809 0 - vertex -1.44988 28.0795 0 - endloop - endfacet - facet normal -0.662916 -0.748694 -0 - outer loop - vertex -1.11256 27.7809 0 - vertex -1.44988 28.0795 -0.2 - vertex -1.11256 27.7809 -0.2 - endloop - endfacet - facet normal -0.5872 -0.809442 0 - outer loop - vertex -1.11256 27.7809 -0.2 - vertex -0.7749 27.5359 0 - vertex -1.11256 27.7809 0 - endloop - endfacet - facet normal -0.5872 -0.809442 -0 - outer loop - vertex -0.7749 27.5359 0 - vertex -1.11256 27.7809 -0.2 - vertex -0.7749 27.5359 -0.2 - endloop - endfacet - facet normal -0.48954 -0.871981 0 - outer loop - vertex -0.7749 27.5359 -0.2 - vertex -0.438314 27.347 0 - vertex -0.7749 27.5359 0 - endloop - endfacet - facet normal -0.48954 -0.871981 -0 - outer loop - vertex -0.438314 27.347 0 - vertex -0.7749 27.5359 -0.2 - vertex -0.438314 27.347 -0.2 - endloop - endfacet - facet normal -0.364353 -0.931261 0 - outer loop - vertex -0.438314 27.347 -0.2 - vertex -0.104203 27.2162 0 - vertex -0.438314 27.347 0 - endloop - endfacet - facet normal -0.364353 -0.931261 -0 - outer loop - vertex -0.104203 27.2162 0 - vertex -0.438314 27.347 -0.2 - vertex -0.104203 27.2162 -0.2 - endloop - endfacet - facet normal -0.248562 -0.968616 0 - outer loop - vertex -0.104203 27.2162 -0.2 - vertex 0.215611 27.1342 0 - vertex -0.104203 27.2162 0 - endloop - endfacet - facet normal -0.248562 -0.968616 -0 - outer loop - vertex 0.215611 27.1342 0 - vertex -0.104203 27.2162 -0.2 - vertex 0.215611 27.1342 -0.2 - endloop - endfacet - facet normal -0.161031 -0.986949 0 - outer loop - vertex 0.215611 27.1342 -0.2 - vertex 0.505992 27.0868 0 - vertex 0.215611 27.1342 0 - endloop - endfacet - facet normal -0.161031 -0.986949 -0 - outer loop - vertex 0.505992 27.0868 0 - vertex 0.215611 27.1342 -0.2 - vertex 0.505992 27.0868 -0.2 - endloop - endfacet - facet normal -0.0401535 -0.999194 0 - outer loop - vertex 0.505992 27.0868 -0.2 - vertex 0.734953 27.0776 0 - vertex 0.505992 27.0868 0 - endloop - endfacet - facet normal -0.0401535 -0.999194 -0 - outer loop - vertex 0.734953 27.0776 0 - vertex 0.505992 27.0868 -0.2 - vertex 0.734953 27.0776 -0.2 - endloop - endfacet - facet normal 0.1315 -0.991316 0 - outer loop - vertex 0.734953 27.0776 -0.2 - vertex 0.816408 27.0884 0 - vertex 0.734953 27.0776 0 - endloop - endfacet - facet normal 0.1315 -0.991316 0 - outer loop - vertex 0.816408 27.0884 0 - vertex 0.734953 27.0776 -0.2 - vertex 0.816408 27.0884 -0.2 - endloop - endfacet - facet normal 0.371587 -0.928398 0 - outer loop - vertex 0.816408 27.0884 -0.2 - vertex 0.870515 27.1101 0 - vertex 0.816408 27.0884 0 - endloop - endfacet - facet normal 0.371587 -0.928398 0 - outer loop - vertex 0.870515 27.1101 0 - vertex 0.816408 27.0884 -0.2 - vertex 0.870515 27.1101 -0.2 - endloop - endfacet - facet normal 0.819454 -0.573145 0 - outer loop - vertex 0.870515 27.1101 0 - vertex 0.908598 27.1645 -0.2 - vertex 0.908598 27.1645 0 - endloop - endfacet - facet normal 0.819454 -0.573145 0 - outer loop - vertex 0.908598 27.1645 -0.2 - vertex 0.870515 27.1101 0 - vertex 0.870515 27.1101 -0.2 - endloop - endfacet - facet normal 0.947054 -0.321074 0 - outer loop - vertex 0.908598 27.1645 0 - vertex 0.944126 27.2693 -0.2 - vertex 0.944126 27.2693 0 - endloop - endfacet - facet normal 0.947054 -0.321074 0 - outer loop - vertex 0.944126 27.2693 -0.2 - vertex 0.908598 27.1645 0 - vertex 0.908598 27.1645 -0.2 - endloop - endfacet - facet normal 0.984285 -0.17659 0 - outer loop - vertex 0.944126 27.2693 0 - vertex 1.00441 27.6053 -0.2 - vertex 1.00441 27.6053 0 - endloop - endfacet - facet normal 0.984285 -0.17659 0 - outer loop - vertex 1.00441 27.6053 -0.2 - vertex 0.944126 27.2693 0 - vertex 0.944126 27.2693 -0.2 - endloop - endfacet - facet normal 0.996161 -0.0875344 0 - outer loop - vertex 1.00441 27.6053 0 - vertex 1.04514 28.0688 -0.2 - vertex 1.04514 28.0688 0 - endloop - endfacet - facet normal 0.996161 -0.0875344 0 - outer loop - vertex 1.04514 28.0688 -0.2 - vertex 1.00441 27.6053 0 - vertex 1.00441 27.6053 -0.2 - endloop - endfacet - facet normal 0.999619 -0.0276007 0 - outer loop - vertex 1.04514 28.0688 0 - vertex 1.0601 28.6106 -0.2 - vertex 1.0601 28.6106 0 - endloop - endfacet - facet normal 0.999619 -0.0276007 0 - outer loop - vertex 1.0601 28.6106 -0.2 - vertex 1.04514 28.0688 0 - vertex 1.04514 28.0688 -0.2 - endloop - endfacet - facet normal 0.999546 -0.0301211 0 - outer loop - vertex 1.0601 28.6106 0 - vertex 1.07949 29.2543 -0.2 - vertex 1.07949 29.2543 0 - endloop - endfacet - facet normal 0.999546 -0.0301211 0 - outer loop - vertex 1.07949 29.2543 -0.2 - vertex 1.0601 28.6106 0 - vertex 1.0601 28.6106 -0.2 - endloop - endfacet - facet normal 0.995652 -0.0931476 0 - outer loop - vertex 1.07949 29.2543 0 - vertex 1.13903 29.8907 -0.2 - vertex 1.13903 29.8907 0 - endloop - endfacet - facet normal 0.995652 -0.0931476 0 - outer loop - vertex 1.13903 29.8907 -0.2 - vertex 1.07949 29.2543 0 - vertex 1.07949 29.2543 -0.2 - endloop - endfacet - facet normal 0.987491 -0.157674 0 - outer loop - vertex 1.13903 29.8907 0 - vertex 1.24074 30.5277 -0.2 - vertex 1.24074 30.5277 0 - endloop - endfacet - facet normal 0.987491 -0.157674 0 - outer loop - vertex 1.24074 30.5277 -0.2 - vertex 1.13903 29.8907 0 - vertex 1.13903 29.8907 -0.2 - endloop - endfacet - facet normal 0.975385 -0.220507 0 - outer loop - vertex 1.24074 30.5277 0 - vertex 1.38662 31.173 -0.2 - vertex 1.38662 31.173 0 - endloop - endfacet - facet normal 0.975385 -0.220507 0 - outer loop - vertex 1.38662 31.173 -0.2 - vertex 1.24074 30.5277 0 - vertex 1.24074 30.5277 -0.2 - endloop - endfacet - facet normal 0.960327 -0.278878 0 - outer loop - vertex 1.38662 31.173 0 - vertex 1.57871 31.8344 -0.2 - vertex 1.57871 31.8344 0 - endloop - endfacet - facet normal 0.960327 -0.278878 0 - outer loop - vertex 1.57871 31.8344 -0.2 - vertex 1.38662 31.173 0 - vertex 1.38662 31.173 -0.2 - endloop - endfacet - facet normal 0.943682 -0.330853 0 - outer loop - vertex 1.57871 31.8344 0 - vertex 1.81903 32.5199 -0.2 - vertex 1.81903 32.5199 0 - endloop - endfacet - facet normal 0.943682 -0.330853 0 - outer loop - vertex 1.81903 32.5199 -0.2 - vertex 1.57871 31.8344 0 - vertex 1.57871 31.8344 -0.2 - endloop - endfacet - facet normal 0.926833 -0.375474 0 - outer loop - vertex 1.81903 32.5199 0 - vertex 2.10958 33.2371 -0.2 - vertex 2.10958 33.2371 0 - endloop - endfacet - facet normal 0.926833 -0.375474 0 - outer loop - vertex 2.10958 33.2371 -0.2 - vertex 1.81903 32.5199 0 - vertex 1.81903 32.5199 -0.2 - endloop - endfacet - facet normal 0.910903 -0.412619 0 - outer loop - vertex 2.10958 33.2371 0 - vertex 2.4524 33.9939 -0.2 - vertex 2.4524 33.9939 0 - endloop - endfacet - facet normal 0.910903 -0.412619 0 - outer loop - vertex 2.4524 33.9939 -0.2 - vertex 2.10958 33.2371 0 - vertex 2.10958 33.2371 -0.2 - endloop - endfacet - facet normal 0.897899 -0.440202 0 - outer loop - vertex 2.4524 33.9939 0 - vertex 2.84738 34.7996 -0.2 - vertex 2.84738 34.7996 0 - endloop - endfacet - facet normal 0.897899 -0.440202 0 - outer loop - vertex 2.84738 34.7996 -0.2 - vertex 2.4524 33.9939 0 - vertex 2.4524 33.9939 -0.2 - endloop - endfacet - facet normal 0.887623 -0.460571 0 - outer loop - vertex 2.84738 34.7996 0 - vertex 3.26543 35.6052 -0.2 - vertex 3.26543 35.6052 0 - endloop - endfacet - facet normal 0.887623 -0.460571 0 - outer loop - vertex 3.26543 35.6052 -0.2 - vertex 2.84738 34.7996 0 - vertex 2.84738 34.7996 -0.2 - endloop - endfacet - facet normal 0.877821 -0.478989 0 - outer loop - vertex 3.26543 35.6052 0 - vertex 3.68699 36.3778 -0.2 - vertex 3.68699 36.3778 0 - endloop - endfacet - facet normal 0.877821 -0.478989 0 - outer loop - vertex 3.68699 36.3778 -0.2 - vertex 3.26543 35.6052 0 - vertex 3.26543 35.6052 -0.2 - endloop - endfacet - facet normal 0.867241 -0.497888 0 - outer loop - vertex 3.68699 36.3778 0 - vertex 4.09252 37.0842 -0.2 - vertex 4.09252 37.0842 0 - endloop - endfacet - facet normal 0.867241 -0.497888 0 - outer loop - vertex 4.09252 37.0842 -0.2 - vertex 3.68699 36.3778 0 - vertex 3.68699 36.3778 -0.2 - endloop - endfacet - facet normal 0.853923 -0.520399 0 - outer loop - vertex 4.09252 37.0842 0 - vertex 4.46246 37.6912 -0.2 - vertex 4.46246 37.6912 0 - endloop - endfacet - facet normal 0.853923 -0.520399 0 - outer loop - vertex 4.46246 37.6912 -0.2 - vertex 4.09252 37.0842 0 - vertex 4.09252 37.0842 -0.2 - endloop - endfacet - facet normal 0.833342 -0.552757 0 - outer loop - vertex 4.46246 37.6912 0 - vertex 4.77727 38.1658 -0.2 - vertex 4.77727 38.1658 0 - endloop - endfacet - facet normal 0.833342 -0.552757 0 - outer loop - vertex 4.77727 38.1658 -0.2 - vertex 4.46246 37.6912 0 - vertex 4.46246 37.6912 -0.2 - endloop - endfacet - facet normal 0.789667 -0.613535 0 - outer loop - vertex 4.77727 38.1658 0 - vertex 5.01738 38.4749 -0.2 - vertex 5.01738 38.4749 0 - endloop - endfacet - facet normal 0.789667 -0.613535 0 - outer loop - vertex 5.01738 38.4749 -0.2 - vertex 4.77727 38.1658 0 - vertex 4.77727 38.1658 -0.2 - endloop - endfacet - facet normal 0.690746 -0.723097 0 - outer loop - vertex 5.01738 38.4749 -0.2 - vertex 5.10332 38.557 0 - vertex 5.01738 38.4749 0 - endloop - endfacet - facet normal 0.690746 -0.723097 0 - outer loop - vertex 5.10332 38.557 0 - vertex 5.01738 38.4749 -0.2 - vertex 5.10332 38.557 -0.2 - endloop - endfacet - facet normal 0.426773 -0.904359 0 - outer loop - vertex 5.10332 38.557 -0.2 - vertex 5.16325 38.5852 0 - vertex 5.10332 38.557 0 - endloop - endfacet - facet normal 0.426773 -0.904359 0 - outer loop - vertex 5.16325 38.5852 0 - vertex 5.10332 38.557 -0.2 - vertex 5.16325 38.5852 -0.2 - endloop - endfacet - facet normal -0.22248 -0.974937 0 - outer loop - vertex 5.16325 38.5852 -0.2 - vertex 5.20457 38.5758 0 - vertex 5.16325 38.5852 0 - endloop - endfacet - facet normal -0.22248 -0.974937 -0 - outer loop - vertex 5.20457 38.5758 0 - vertex 5.16325 38.5852 -0.2 - vertex 5.20457 38.5758 -0.2 - endloop - endfacet - facet normal -0.944948 0.327219 0 - outer loop - vertex 7.1242 19.0144 -0.2 - vertex 7.15267 19.0966 0 - vertex 7.15267 19.0966 -0.2 - endloop - endfacet - facet normal -0.944948 0.327219 0 - outer loop - vertex 7.15267 19.0966 0 - vertex 7.1242 19.0144 -0.2 - vertex 7.1242 19.0144 0 - endloop - endfacet - facet normal -0.999677 -0.0254292 0 - outer loop - vertex 7.1273 18.8927 -0.2 - vertex 7.1242 19.0144 0 - vertex 7.1242 19.0144 -0.2 - endloop - endfacet - facet normal -0.999677 -0.0254292 0 - outer loop - vertex 7.1242 19.0144 0 - vertex 7.1273 18.8927 -0.2 - vertex 7.1273 18.8927 0 - endloop - endfacet - facet normal -0.971548 -0.236844 0 - outer loop - vertex 7.16351 18.7442 -0.2 - vertex 7.1273 18.8927 0 - vertex 7.1273 18.8927 -0.2 - endloop - endfacet - facet normal -0.971548 -0.236844 0 - outer loop - vertex 7.1273 18.8927 0 - vertex 7.16351 18.7442 -0.2 - vertex 7.16351 18.7442 0 - endloop - endfacet - facet normal -0.922269 -0.38655 0 - outer loop - vertex 7.29207 18.4374 -0.2 - vertex 7.16351 18.7442 0 - vertex 7.16351 18.7442 -0.2 - endloop - endfacet - facet normal -0.922269 -0.38655 0 - outer loop - vertex 7.16351 18.7442 0 - vertex 7.29207 18.4374 -0.2 - vertex 7.29207 18.4374 0 - endloop - endfacet - facet normal -0.894309 -0.44745 0 - outer loop - vertex 7.49889 18.0241 -0.2 - vertex 7.29207 18.4374 0 - vertex 7.29207 18.4374 -0.2 - endloop - endfacet - facet normal -0.894309 -0.44745 0 - outer loop - vertex 7.29207 18.4374 0 - vertex 7.49889 18.0241 -0.2 - vertex 7.49889 18.0241 0 - endloop - endfacet - facet normal -0.872312 -0.488949 0 - outer loop - vertex 8.03973 17.0592 -0.2 - vertex 7.49889 18.0241 0 - vertex 7.49889 18.0241 -0.2 - endloop - endfacet - facet normal -0.872312 -0.488949 0 - outer loop - vertex 7.49889 18.0241 0 - vertex 8.03973 17.0592 -0.2 - vertex 8.03973 17.0592 0 - endloop - endfacet - facet normal -0.84697 -0.53164 0 - outer loop - vertex 8.57086 16.213 -0.2 - vertex 8.03973 17.0592 0 - vertex 8.03973 17.0592 -0.2 - endloop - endfacet - facet normal -0.84697 -0.53164 0 - outer loop - vertex 8.03973 17.0592 0 - vertex 8.57086 16.213 -0.2 - vertex 8.57086 16.213 0 - endloop - endfacet - facet normal -0.805848 -0.592122 0 - outer loop - vertex 8.76553 15.9481 -0.2 - vertex 8.57086 16.213 0 - vertex 8.57086 16.213 -0.2 - endloop - endfacet - facet normal -0.805848 -0.592122 0 - outer loop - vertex 8.57086 16.213 0 - vertex 8.76553 15.9481 -0.2 - vertex 8.76553 15.9481 0 - endloop - endfacet - facet normal -0.732738 -0.680511 0 - outer loop - vertex 8.83337 15.875 -0.2 - vertex 8.76553 15.9481 0 - vertex 8.76553 15.9481 -0.2 - endloop - endfacet - facet normal -0.732738 -0.680511 0 - outer loop - vertex 8.76553 15.9481 0 - vertex 8.83337 15.875 -0.2 - vertex 8.83337 15.875 0 - endloop - endfacet - facet normal -0.509392 -0.860535 0 - outer loop - vertex 8.83337 15.875 -0.2 - vertex 8.87708 15.8492 0 - vertex 8.83337 15.875 0 - endloop - endfacet - facet normal -0.509392 -0.860535 -0 - outer loop - vertex 8.87708 15.8492 0 - vertex 8.83337 15.875 -0.2 - vertex 8.87708 15.8492 -0.2 - endloop - endfacet - facet normal 0.216566 -0.976268 0 - outer loop - vertex 8.87708 15.8492 -0.2 - vertex 8.99158 15.8746 0 - vertex 8.87708 15.8492 0 - endloop - endfacet - facet normal 0.216566 -0.976268 0 - outer loop - vertex 8.99158 15.8746 0 - vertex 8.87708 15.8492 -0.2 - vertex 8.99158 15.8746 -0.2 - endloop - endfacet - facet normal 0.333607 -0.942712 0 - outer loop - vertex 8.99158 15.8746 -0.2 - vertex 9.19116 15.9452 0 - vertex 8.99158 15.8746 0 - endloop - endfacet - facet normal 0.333607 -0.942712 0 - outer loop - vertex 9.19116 15.9452 0 - vertex 8.99158 15.8746 -0.2 - vertex 9.19116 15.9452 -0.2 - endloop - endfacet - facet normal 0.395815 -0.91833 0 - outer loop - vertex 9.19116 15.9452 -0.2 - vertex 9.73318 16.1788 0 - vertex 9.19116 15.9452 0 - endloop - endfacet - facet normal 0.395815 -0.91833 0 - outer loop - vertex 9.73318 16.1788 0 - vertex 9.19116 15.9452 -0.2 - vertex 9.73318 16.1788 -0.2 + vertex 9.72145 16.1788 0 + vertex 8.86535 15.8492 -3 + vertex 9.72145 16.1788 -3 endloop endfacet facet normal 0.425917 -0.904762 0 outer loop - vertex 9.73318 16.1788 -0.2 - vertex 10.4375 16.5104 0 - vertex 9.73318 16.1788 0 + vertex 9.72145 16.1788 -3 + vertex 10.4258 16.5104 0 + vertex 9.72145 16.1788 0 endloop endfacet facet normal 0.425917 -0.904762 0 outer loop - vertex 10.4375 16.5104 0 - vertex 9.73318 16.1788 -0.2 - vertex 10.4375 16.5104 -0.2 + vertex 10.4258 16.5104 0 + vertex 9.72145 16.1788 -3 + vertex 10.4258 16.5104 -3 endloop endfacet facet normal 0.716732 0.697349 0 outer loop - vertex 10.4375 16.5104 0 - vertex 9.77546 17.1908 -0.2 - vertex 9.77546 17.1908 0 + vertex 10.4258 16.5104 0 + vertex 9.76373 17.1908 -3 + vertex 9.76373 17.1908 0 endloop endfacet facet normal 0.716732 0.697349 0 outer loop - vertex 9.77546 17.1908 -0.2 - vertex 10.4375 16.5104 0 - vertex 10.4375 16.5104 -0.2 + vertex 9.76373 17.1908 -3 + vertex 10.4258 16.5104 0 + vertex 10.4258 16.5104 -3 endloop endfacet - facet normal 0.695522 0.718505 -0 + facet normal 0.65174 0.758443 -0 outer loop - vertex 9.77546 17.1908 -0.2 - vertex 9.46246 17.4938 0 - vertex 9.77546 17.1908 0 + vertex 9.76373 17.1908 -3 + vertex 8.30319 18.4459 0 + vertex 9.76373 17.1908 0 endloop endfacet - facet normal 0.695522 0.718505 0 + facet normal 0.65174 0.758443 0 outer loop - vertex 9.46246 17.4938 0 - vertex 9.77546 17.1908 -0.2 - vertex 9.46246 17.4938 -0.2 + vertex 8.30319 18.4459 0 + vertex 9.76373 17.1908 -3 + vertex 8.30319 18.4459 -3 endloop endfacet - facet normal 0.663067 0.74856 -0 + facet normal 0.52501 0.851096 -0 outer loop - vertex 9.46246 17.4938 -0.2 - vertex 9.09841 17.8163 0 - vertex 9.46246 17.4938 0 + vertex 8.30319 18.4459 -3 + vertex 7.1994 19.1268 0 + vertex 8.30319 18.4459 0 endloop endfacet - facet normal 0.663067 0.74856 0 + facet normal 0.52501 0.851096 0 outer loop - vertex 9.09841 17.8163 0 - vertex 9.46246 17.4938 -0.2 - vertex 9.09841 17.8163 -0.2 + vertex 7.1994 19.1268 0 + vertex 8.30319 18.4459 -3 + vertex 7.1994 19.1268 -3 endloop endfacet - facet normal 0.6264 0.779502 -0 + facet normal -0.992345 0.123496 0 outer loop - vertex 9.09841 17.8163 -0.2 - vertex 8.31493 18.4459 0 - vertex 9.09841 17.8163 0 + vertex 7.15178 18.7442 -3 + vertex 7.1994 19.1268 0 + vertex 7.1994 19.1268 -3 endloop endfacet - facet normal 0.6264 0.779502 0 + facet normal -0.992345 0.123496 0 outer loop - vertex 8.31493 18.4459 0 - vertex 9.09841 17.8163 -0.2 - vertex 8.31493 18.4459 -0.2 + vertex 7.1994 19.1268 0 + vertex 7.15178 18.7442 -3 + vertex 7.15178 18.7442 0 endloop endfacet - facet normal 0.58921 0.80798 -0 + facet normal -0.148843 0.988861 0 outer loop - vertex 8.31493 18.4459 -0.2 - vertex 7.9444 18.7161 0 - vertex 8.31493 18.4459 0 + vertex -16.6107 24.7853 -3 + vertex -20.4324 24.2101 0 + vertex -16.6107 24.7853 0 endloop endfacet - facet normal 0.58921 0.80798 0 + facet normal -0.148843 0.988861 0 outer loop - vertex 7.9444 18.7161 0 - vertex 8.31493 18.4459 -0.2 - vertex 7.9444 18.7161 -0.2 + vertex -20.4324 24.2101 0 + vertex -16.6107 24.7853 -3 + vertex -20.4324 24.2101 -3 endloop endfacet - facet normal 0.554709 0.832044 -0 + facet normal -0.117787 0.993039 0 outer loop - vertex 7.9444 18.7161 -0.2 - vertex 7.62063 18.9319 0 - vertex 7.9444 18.7161 0 + vertex -20.4324 24.2101 -3 + vertex -23.3809 23.8604 0 + vertex -20.4324 24.2101 0 endloop endfacet - facet normal 0.554709 0.832044 0 + facet normal -0.117787 0.993039 0 outer loop - vertex 7.62063 18.9319 0 - vertex 7.9444 18.7161 -0.2 - vertex 7.62063 18.9319 -0.2 - endloop - endfacet - facet normal 0.492817 0.870133 -0 - outer loop - vertex 7.62063 18.9319 -0.2 - vertex 7.36805 19.075 0 - vertex 7.62063 18.9319 0 - endloop - endfacet - facet normal 0.492817 0.870133 0 - outer loop - vertex 7.36805 19.075 0 - vertex 7.62063 18.9319 -0.2 - vertex 7.36805 19.075 -0.2 - endloop - endfacet - facet normal 0.313373 0.94963 -0 - outer loop - vertex 7.36805 19.075 -0.2 - vertex 7.21113 19.1268 0 - vertex 7.36805 19.075 0 - endloop - endfacet - facet normal 0.313373 0.94963 0 - outer loop - vertex 7.21113 19.1268 0 - vertex 7.36805 19.075 -0.2 - vertex 7.21113 19.1268 -0.2 - endloop - endfacet - facet normal -0.458832 0.888523 0 - outer loop - vertex 7.21113 19.1268 -0.2 - vertex 7.15267 19.0966 0 - vertex 7.21113 19.1268 0 - endloop - endfacet - facet normal -0.458832 0.888523 0 - outer loop - vertex 7.15267 19.0966 0 - vertex 7.21113 19.1268 -0.2 - vertex 7.15267 19.0966 -0.2 - endloop - endfacet - facet normal -0.0478819 0.998853 0 - outer loop - vertex -14.6988 24.986 -0.2 - vertex -15.4289 24.9511 0 - vertex -14.6988 24.986 0 - endloop - endfacet - facet normal -0.0478819 0.998853 0 - outer loop - vertex -15.4289 24.9511 0 - vertex -14.6988 24.986 -0.2 - vertex -15.4289 24.9511 -0.2 - endloop - endfacet - facet normal -0.102501 0.994733 0 - outer loop - vertex -15.4289 24.9511 -0.2 - vertex -16.0762 24.8844 0 - vertex -15.4289 24.9511 0 - endloop - endfacet - facet normal -0.102501 0.994733 0 - outer loop - vertex -16.0762 24.8844 0 - vertex -15.4289 24.9511 -0.2 - vertex -16.0762 24.8844 -0.2 - endloop - endfacet - facet normal -0.186067 0.982537 0 - outer loop - vertex -16.0762 24.8844 -0.2 - vertex -16.599 24.7853 0 - vertex -16.0762 24.8844 0 - endloop - endfacet - facet normal -0.186067 0.982537 0 - outer loop - vertex -16.599 24.7853 0 - vertex -16.0762 24.8844 -0.2 - vertex -16.599 24.7853 -0.2 - endloop - endfacet - facet normal -0.197458 0.980311 0 - outer loop - vertex -16.599 24.7853 -0.2 - vertex -17.1707 24.6702 0 - vertex -16.599 24.7853 0 - endloop - endfacet - facet normal -0.197458 0.980311 0 - outer loop - vertex -17.1707 24.6702 0 - vertex -16.599 24.7853 -0.2 - vertex -17.1707 24.6702 -0.2 - endloop - endfacet - facet normal -0.159115 0.98726 0 - outer loop - vertex -17.1707 24.6702 -0.2 - vertex -18.0818 24.5233 0 - vertex -17.1707 24.6702 0 - endloop - endfacet - facet normal -0.159115 0.98726 0 - outer loop - vertex -18.0818 24.5233 0 - vertex -17.1707 24.6702 -0.2 - vertex -18.0818 24.5233 -0.2 - endloop - endfacet - facet normal -0.140489 0.990082 0 - outer loop - vertex -18.0818 24.5233 -0.2 - vertex -19.207 24.3637 0 - vertex -18.0818 24.5233 0 - endloop - endfacet - facet normal -0.140489 0.990082 0 - outer loop - vertex -19.207 24.3637 0 - vertex -18.0818 24.5233 -0.2 - vertex -19.207 24.3637 -0.2 - endloop - endfacet - facet normal -0.125539 0.992089 0 - outer loop - vertex -19.207 24.3637 -0.2 - vertex -20.4207 24.2101 0 - vertex -19.207 24.3637 0 - endloop - endfacet - facet normal -0.125539 0.992089 0 - outer loop - vertex -20.4207 24.2101 0 - vertex -19.207 24.3637 -0.2 - vertex -20.4207 24.2101 -0.2 - endloop - endfacet - facet normal -0.117788 0.993039 0 - outer loop - vertex -20.4207 24.2101 -0.2 - vertex -23.3692 23.8604 0 - vertex -20.4207 24.2101 0 - endloop - endfacet - facet normal -0.117788 0.993039 0 - outer loop - vertex -23.3692 23.8604 0 - vertex -20.4207 24.2101 -0.2 - vertex -23.3692 23.8604 -0.2 + vertex -23.3809 23.8604 0 + vertex -20.4324 24.2101 -3 + vertex -23.3809 23.8604 -3 endloop endfacet facet normal -0.645441 -0.76381 0 outer loop - vertex -23.3692 23.8604 -0.2 - vertex -22.6524 23.2546 0 - vertex -23.3692 23.8604 0 + vertex -23.3809 23.8604 -3 + vertex -22.6641 23.2546 0 + vertex -23.3809 23.8604 0 endloop endfacet facet normal -0.645441 -0.76381 -0 outer loop - vertex -22.6524 23.2546 0 - vertex -23.3692 23.8604 -0.2 - vertex -22.6524 23.2546 -0.2 + vertex -22.6641 23.2546 0 + vertex -23.3809 23.8604 -3 + vertex -22.6641 23.2546 -3 endloop endfacet - facet normal -0.595678 -0.803224 0 + facet normal -0.546303 -0.837588 0 outer loop - vertex -22.6524 23.2546 -0.2 - vertex -22.3422 23.0246 0 - vertex -22.6524 23.2546 0 + vertex -22.6641 23.2546 -3 + vertex -22.0432 22.8497 0 + vertex -22.6641 23.2546 0 endloop endfacet - facet normal -0.595678 -0.803224 -0 + facet normal -0.546303 -0.837588 -0 outer loop - vertex -22.3422 23.0246 0 - vertex -22.6524 23.2546 -0.2 - vertex -22.3422 23.0246 -0.2 + vertex -22.0432 22.8497 0 + vertex -22.6641 23.2546 -3 + vertex -22.0432 22.8497 -3 endloop endfacet - facet normal -0.490603 -0.871383 0 + facet normal -0.238224 -0.97121 0 outer loop - vertex -22.3422 23.0246 -0.2 - vertex -22.0315 22.8497 0 - vertex -22.3422 23.0246 0 + vertex -22.0432 22.8497 -3 + vertex -21.5591 22.7309 0 + vertex -22.0432 22.8497 0 endloop endfacet - facet normal -0.490603 -0.871383 -0 + facet normal -0.238224 -0.97121 -0 outer loop - vertex -22.0315 22.8497 0 - vertex -22.3422 23.0246 -0.2 - vertex -22.0315 22.8497 -0.2 + vertex -21.5591 22.7309 0 + vertex -22.0432 22.8497 -3 + vertex -21.5591 22.7309 -3 endloop endfacet - facet normal -0.350196 -0.936677 0 + facet normal 0.148545 -0.988906 0 outer loop - vertex -22.0315 22.8497 -0.2 - vertex -21.755 22.7463 0 - vertex -22.0315 22.8497 0 + vertex -21.5591 22.7309 -3 + vertex -19.3275 23.0662 0 + vertex -21.5591 22.7309 0 endloop endfacet - facet normal -0.350196 -0.936677 -0 + facet normal 0.148545 -0.988906 0 outer loop - vertex -21.755 22.7463 0 - vertex -22.0315 22.8497 -0.2 - vertex -21.755 22.7463 -0.2 + vertex -19.3275 23.0662 0 + vertex -21.5591 22.7309 -3 + vertex -19.3275 23.0662 -3 endloop endfacet - facet normal -0.169545 -0.985522 0 + facet normal 0.149712 -0.98873 0 outer loop - vertex -21.755 22.7463 -0.2 - vertex -21.6404 22.7266 0 - vertex -21.755 22.7463 0 + vertex -19.3275 23.0662 -3 + vertex -14.1729 23.8467 0 + vertex -19.3275 23.0662 0 endloop endfacet - facet normal -0.169545 -0.985522 -0 + facet normal 0.149712 -0.98873 0 outer loop - vertex -21.6404 22.7266 0 - vertex -21.755 22.7463 -0.2 - vertex -21.6404 22.7266 -0.2 - endloop - endfacet - facet normal 0.0467747 -0.998905 0 - outer loop - vertex -21.6404 22.7266 -0.2 - vertex -21.5474 22.7309 0 - vertex -21.6404 22.7266 0 - endloop - endfacet - facet normal 0.0467747 -0.998905 0 - outer loop - vertex -21.5474 22.7309 0 - vertex -21.6404 22.7266 -0.2 - vertex -21.5474 22.7309 -0.2 - endloop - endfacet - facet normal 0.160131 -0.987096 0 - outer loop - vertex -21.5474 22.7309 -0.2 - vertex -20.7318 22.8633 0 - vertex -21.5474 22.7309 0 - endloop - endfacet - facet normal 0.160131 -0.987096 0 - outer loop - vertex -20.7318 22.8633 0 - vertex -21.5474 22.7309 -0.2 - vertex -20.7318 22.8633 -0.2 - endloop - endfacet - facet normal 0.141843 -0.989889 0 - outer loop - vertex -20.7318 22.8633 -0.2 - vertex -19.3158 23.0662 0 - vertex -20.7318 22.8633 0 - endloop - endfacet - facet normal 0.141843 -0.989889 0 - outer loop - vertex -19.3158 23.0662 0 - vertex -20.7318 22.8633 -0.2 - vertex -19.3158 23.0662 -0.2 - endloop - endfacet - facet normal 0.145154 -0.989409 0 - outer loop - vertex -19.3158 23.0662 -0.2 - vertex -17.0412 23.3999 0 - vertex -19.3158 23.0662 0 - endloop - endfacet - facet normal 0.145154 -0.989409 0 - outer loop - vertex -17.0412 23.3999 0 - vertex -19.3158 23.0662 -0.2 - vertex -17.0412 23.3999 -0.2 - endloop - endfacet - facet normal 0.153306 -0.988179 0 - outer loop - vertex -17.0412 23.3999 -0.2 - vertex -14.1612 23.8467 0 - vertex -17.0412 23.3999 0 - endloop - endfacet - facet normal 0.153306 -0.988179 0 - outer loop - vertex -14.1612 23.8467 0 - vertex -17.0412 23.3999 -0.2 - vertex -14.1612 23.8467 -0.2 + vertex -14.1729 23.8467 0 + vertex -19.3275 23.0662 -3 + vertex -14.1729 23.8467 -3 endloop endfacet facet normal 0.152324 -0.988331 0 outer loop - vertex -14.1612 23.8467 -0.2 - vertex -10.5711 24.4 0 - vertex -14.1612 23.8467 0 + vertex -14.1729 23.8467 -3 + vertex -10.5829 24.4 0 + vertex -14.1729 23.8467 0 endloop endfacet facet normal 0.152324 -0.988331 0 outer loop - vertex -10.5711 24.4 0 - vertex -14.1612 23.8467 -0.2 - vertex -10.5711 24.4 -0.2 + vertex -10.5829 24.4 0 + vertex -14.1729 23.8467 -3 + vertex -10.5829 24.4 -3 endloop endfacet - facet normal 0.28937 -0.957217 0 + facet normal 0.753595 0.657339 0 outer loop - vertex -10.5711 24.4 -0.2 - vertex -10.5349 24.4109 0 - vertex -10.5711 24.4 0 + vertex -10.5829 24.4 0 + vertex -10.6709 24.5009 -3 + vertex -10.6709 24.5009 0 endloop endfacet - facet normal 0.28937 -0.957217 0 + facet normal 0.753595 0.657339 0 outer loop - vertex -10.5349 24.4109 0 - vertex -10.5711 24.4 -0.2 - vertex -10.5349 24.4109 -0.2 + vertex -10.6709 24.5009 -3 + vertex -10.5829 24.4 0 + vertex -10.5829 24.4 -3 endloop endfacet - facet normal 0.978613 0.20571 0 + facet normal 0.323243 0.946316 -0 outer loop - vertex -10.5349 24.4109 0 - vertex -10.5394 24.4322 -0.2 - vertex -10.5394 24.4322 0 + vertex -10.6709 24.5009 -3 + vertex -11.2742 24.7069 0 + vertex -10.6709 24.5009 0 endloop endfacet - facet normal 0.978613 0.20571 0 + facet normal 0.323243 0.946316 0 outer loop - vertex -10.5394 24.4322 -0.2 - vertex -10.5349 24.4109 0 - vertex -10.5349 24.4109 -0.2 + vertex -11.2742 24.7069 0 + vertex -10.6709 24.5009 -3 + vertex -11.2742 24.7069 -3 endloop endfacet - facet normal 0.497201 0.867635 -0 + facet normal 0.105601 0.994409 -0 outer loop - vertex -10.5394 24.4322 -0.2 - vertex -10.6591 24.5009 0 - vertex -10.5394 24.4322 0 + vertex -11.2742 24.7069 -3 + vertex -13.9393 24.99 0 + vertex -11.2742 24.7069 0 endloop endfacet - facet normal 0.497201 0.867635 0 + facet normal 0.105601 0.994409 0 outer loop - vertex -10.6591 24.5009 0 - vertex -10.5394 24.4322 -0.2 - vertex -10.6591 24.5009 -0.2 + vertex -13.9393 24.99 0 + vertex -11.2742 24.7069 -3 + vertex -13.9393 24.99 -3 endloop endfacet - facet normal 0.356744 0.934202 -0 + facet normal -0.0763677 0.99708 0 outer loop - vertex -10.6591 24.5009 -0.2 - vertex -10.9077 24.5958 0 - vertex -10.6591 24.5009 0 + vertex -13.9393 24.99 -3 + vertex -16.6107 24.7853 0 + vertex -13.9393 24.99 0 endloop endfacet - facet normal 0.356744 0.934202 0 + facet normal -0.0763677 0.99708 0 outer loop - vertex -10.9077 24.5958 0 - vertex -10.6591 24.5009 -0.2 - vertex -10.9077 24.5958 -0.2 - endloop - endfacet - facet normal 0.299009 0.95425 -0 - outer loop - vertex -10.9077 24.5958 -0.2 - vertex -11.2625 24.7069 0 - vertex -10.9077 24.5958 0 - endloop - endfacet - facet normal 0.299009 0.95425 0 - outer loop - vertex -11.2625 24.7069 0 - vertex -10.9077 24.5958 -0.2 - vertex -11.2625 24.7069 -0.2 - endloop - endfacet - facet normal 0.214726 0.976674 -0 - outer loop - vertex -11.2625 24.7069 -0.2 - vertex -11.7825 24.8213 0 - vertex -11.2625 24.7069 0 - endloop - endfacet - facet normal 0.214726 0.976674 0 - outer loop - vertex -11.7825 24.8213 0 - vertex -11.2625 24.7069 -0.2 - vertex -11.7825 24.8213 -0.2 - endloop - endfacet - facet normal 0.131639 0.991298 -0 - outer loop - vertex -11.7825 24.8213 -0.2 - vertex -12.4277 24.907 0 - vertex -11.7825 24.8213 0 - endloop - endfacet - facet normal 0.131639 0.991298 0 - outer loop - vertex -12.4277 24.907 0 - vertex -11.7825 24.8213 -0.2 - vertex -12.4277 24.907 -0.2 - endloop - endfacet - facet normal 0.0771921 0.997016 -0 - outer loop - vertex -12.4277 24.907 -0.2 - vertex -13.1566 24.9634 0 - vertex -12.4277 24.907 0 - endloop - endfacet - facet normal 0.0771921 0.997016 0 - outer loop - vertex -13.1566 24.9634 0 - vertex -12.4277 24.907 -0.2 - vertex -13.1566 24.9634 -0.2 - endloop - endfacet - facet normal 0.0344425 0.999407 -0 - outer loop - vertex -13.1566 24.9634 -0.2 - vertex -13.9275 24.99 0 - vertex -13.1566 24.9634 0 - endloop - endfacet - facet normal 0.0344425 0.999407 0 - outer loop - vertex -13.9275 24.99 0 - vertex -13.1566 24.9634 -0.2 - vertex -13.9275 24.99 -0.2 - endloop - endfacet - facet normal -0.00506693 0.999987 0 - outer loop - vertex -13.9275 24.99 -0.2 - vertex -14.6988 24.986 0 - vertex -13.9275 24.99 0 - endloop - endfacet - facet normal -0.00506693 0.999987 0 - outer loop - vertex -14.6988 24.986 0 - vertex -13.9275 24.99 -0.2 - vertex -14.6988 24.986 -0.2 + vertex -16.6107 24.7853 0 + vertex -13.9393 24.99 -3 + vertex -16.6107 24.7853 -3 endloop endfacet facet normal -1 0 0 @@ -44003,14716 +14841,4972 @@ solid OpenSCAD_Model endfacet facet normal 0 0 1 outer loop - vertex -28.0919 -25.8829 0 - vertex -27.8988 -26.2055 0 - vertex -27.9236 -26.0946 0 + vertex -28.5713 -25.7117 0 + vertex -27.9105 -26.2055 0 + vertex -28.1036 -25.8829 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.8988 -26.2055 0 - vertex -28.2888 -25.7968 0 - vertex -27.8924 -26.5154 0 + vertex -32.142 -25.4759 0 + vertex -28.1838 -28.4809 0 + vertex -28.5713 -25.7117 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.0919 -25.8829 0 - vertex -27.9236 -26.0946 0 - vertex -27.9636 -26.0069 0 + vertex -27.9105 -26.2055 0 + vertex -28.5713 -25.7117 0 + vertex -28.1838 -28.4809 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.0919 -25.8829 0 - vertex -27.9636 -26.0069 0 - vertex -28.0195 -25.9379 0 + vertex -35.9073 -13.512 0 + vertex -35.4871 -14.1281 0 + vertex -35.5739 -13.718 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.8988 -26.2055 0 - vertex -28.0919 -25.8829 0 - vertex -28.2888 -25.7968 0 + vertex -36.5262 -13.4531 0 + vertex -35.4871 -14.1281 0 + vertex -35.9073 -13.512 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.5596 -25.7117 0 - vertex -27.8924 -26.5154 0 - vertex -28.2888 -25.7968 0 + vertex -35.4871 -14.1281 0 + vertex -36.5262 -13.4531 0 + vertex -35.6081 -14.799 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -27.8924 -26.5154 0 - vertex -28.5596 -25.7117 0 - vertex -27.9393 -26.9734 0 + vertex -37.2393 -13.2576 0 + vertex -35.6081 -14.799 0 + vertex -36.5262 -13.4531 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.7678 -25.6646 0 - vertex -27.9393 -26.9734 0 - vertex -28.5596 -25.7117 0 + vertex -35.6081 -14.799 0 + vertex -37.2393 -13.2576 0 + vertex -37.0548 -18.7102 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.9103 -14.3386 0 - vertex -21.5729 -16.4428 0 - vertex -21.5693 -15.5508 0 + vertex -37.5366 -12.7854 0 + vertex -37.0548 -18.7102 0 + vertex -37.2393 -13.2576 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.1296 -14.5577 0 - vertex -21.5693 -15.5508 0 - vertex -21.5879 -15.2616 0 + vertex -38.8382 24.6102 0 + vertex -37.3951 -12.1929 0 + vertex -38.3729 23.836 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.8956 -13.512 0 - vertex -35.4754 -14.1281 0 - vertex -35.4904 -13.894 0 + vertex -39.1303 25.4589 0 + vertex -37.3951 -12.1929 0 + vertex -38.8382 24.6102 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.6956 -13.593 0 - vertex -35.4904 -13.894 0 - vertex -35.5189 -13.7992 0 + vertex -37.3951 -12.1929 0 + vertex -39.1303 25.4589 0 + vertex -37.5366 -12.7854 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.6956 -13.593 0 - vertex -35.5189 -13.7992 0 - vertex -35.5622 -13.718 0 + vertex -37.5366 -12.7854 0 + vertex -39.9072 -25.4747 0 + vertex -37.0548 -18.7102 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.1669 -13.4677 0 - vertex -35.4754 -14.1281 0 - vertex -35.8956 -13.512 0 + vertex -47.8577 -36.863 0 + vertex -37.5366 -12.7854 0 + vertex -39.1303 25.4589 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.6956 -13.593 0 - vertex -35.5622 -13.718 0 - vertex -35.6209 -13.6496 0 + vertex -26.0224 24.2804 0 + vertex -26.0647 23.8437 0 + vertex -24.664 24.0122 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.4904 -13.894 0 - vertex -35.6956 -13.593 0 - vertex -35.8956 -13.512 0 + vertex -26.0224 24.2804 0 + vertex -27.3687 23.7586 0 + vertex -26.0647 23.8437 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.4754 -14.1281 0 - vertex -36.1669 -13.4677 0 - vertex -35.5123 -14.4274 0 + vertex -28.1365 24.9019 0 + vertex -27.3687 23.7586 0 + vertex -26.0224 24.2804 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.5145 -13.4531 0 - vertex -35.5123 -14.4274 0 - vertex -36.1669 -13.4677 0 + vertex -28.1365 24.9019 0 + vertex -28.4642 23.8513 0 + vertex -27.3687 23.7586 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.5123 -14.4274 0 - vertex -36.5145 -13.4531 0 - vertex -35.5964 -14.799 0 + vertex -28.1365 24.9019 0 + vertex -29.3958 24.13 0 + vertex -28.4642 23.8513 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.7305 -13.4387 0 - vertex -35.5964 -14.799 0 - vertex -36.5145 -13.4531 0 + vertex -29.9035 25.8898 0 + vertex -29.3958 24.13 0 + vertex -28.1365 24.9019 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.5964 -14.799 0 - vertex -36.7305 -13.4387 0 - vertex -35.7796 -15.3934 0 + vertex -29.9035 25.8898 0 + vertex -30.2081 24.6027 0 + vertex -29.3958 24.13 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.9216 -13.3997 0 - vertex -35.7796 -15.3934 0 - vertex -36.7305 -13.4387 0 + vertex -29.9035 25.8898 0 + vertex -30.8173 24.9813 0 + vertex -30.2081 24.6027 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.0874 -13.3385 0 - vertex -35.7796 -15.3934 0 - vertex -36.9216 -13.3997 0 + vertex -31.1793 25.0376 0 + vertex -29.9035 25.8898 0 + vertex -31.116 26.9038 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.7796 -15.3934 0 - vertex -37.0874 -13.3385 0 - vertex -36.0907 -16.2655 0 + vertex -29.9035 25.8898 0 + vertex -31.1793 25.0376 0 + vertex -30.8173 24.9813 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.2276 -13.2576 0 - vertex -36.0907 -16.2655 0 - vertex -37.0874 -13.3385 0 + vertex -31.2912 27.2229 0 + vertex -31.1793 25.0376 0 + vertex -31.116 26.9038 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.0907 -16.2655 0 - vertex -37.2276 -13.2576 0 - vertex -36.5163 -17.3821 0 + vertex -34.2108 23.023 0 + vertex -31.1793 25.0376 0 + vertex -31.2912 27.2229 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.3418 -13.1594 0 - vertex -36.5163 -17.3821 0 - vertex -37.2276 -13.2576 0 + vertex -11.5389 20.1801 0 + vertex -11.1208 19.5935 0 + vertex -10.9412 20.0018 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.4296 -13.0463 0 - vertex -36.5163 -17.3821 0 - vertex -37.3418 -13.1594 0 + vertex -11.5389 20.1801 0 + vertex -12.0133 18.8648 0 + vertex -11.1208 19.5935 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.5163 -17.3821 0 - vertex -37.4296 -13.0463 0 - vertex -37.0431 -18.7102 0 + vertex -12.9783 20.2187 0 + vertex -12.0133 18.8648 0 + vertex -11.5389 20.1801 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.4908 -12.9209 0 - vertex -37.0431 -18.7102 0 - vertex -37.4296 -13.0463 0 + vertex -12.9783 20.2187 0 + vertex -15.009 16.7116 0 + vertex -12.0133 18.8648 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -16.3196 19.9968 0 + vertex -15.009 16.7116 0 + vertex -12.9783 20.2187 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.3469 -21.8682 0 - vertex -37.4908 -12.9209 0 - vertex -37.5249 -12.7854 0 + vertex -16.3196 19.9968 0 + vertex -17.0754 15.711 0 + vertex -15.009 16.7116 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.1789 19.4139 0 + vertex -17.0754 15.711 0 + vertex -16.3196 19.9968 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.3834 -12.1929 0 - vertex -38.6203 24.2212 0 - vertex -37.4611 -12.3438 0 + vertex -17.0754 15.711 0 + vertex -20.1789 19.4139 0 + vertex -19.733 14.7364 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.4908 -12.9209 0 - vertex -38.3469 -21.8682 0 - vertex -37.0431 -18.7102 0 + vertex -20.1789 19.4139 0 + vertex -22.3118 14.0374 0 + vertex -19.733 14.7364 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -24.1572 19.0472 0 + vertex -22.3118 14.0374 0 + vertex -20.1789 19.4139 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.8955 -25.4747 0 - vertex -37.5249 -12.7854 0 - vertex -37.5315 -12.6425 0 + vertex -24.1572 19.0472 0 + vertex -24.873 13.6003 0 + vertex -22.3118 14.0374 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -27.5587 18.9414 0 + vertex -24.873 13.6003 0 + vertex -24.1572 19.0472 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.8265 24.6102 0 - vertex -37.4611 -12.3438 0 - vertex -38.6203 24.2212 0 + vertex -24.873 13.6003 0 + vertex -27.5587 18.9414 0 + vertex -27.4778 13.4117 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.4611 -12.3438 0 - vertex -38.8265 24.6102 0 - vertex -37.5104 -12.4945 0 + vertex -29.687 19.1409 0 + vertex -27.4778 13.4117 0 + vertex -27.5587 18.9414 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.0227 25.0923 0 - vertex -37.5104 -12.4945 0 - vertex -38.8265 24.6102 0 + vertex -29.687 19.1409 0 + vertex -29.9412 13.2465 0 + vertex -27.4778 13.4117 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.846 -36.863 0 - vertex -37.5104 -12.4945 0 - vertex -39.0227 25.0923 0 + vertex -29.687 19.1409 0 + vertex -30.3118 13.0393 0 + vertex -29.9412 13.2465 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.0651 20.3093 0 + vertex -30.3118 13.0393 0 + vertex -29.687 19.1409 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3118 13.0393 0 + vertex -33.0651 20.3093 0 + vertex -30.3887 12.6783 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.2082 3.44442 0 + vertex 23.5966 4.95794 0 + vertex 23.3811 5.8089 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.5966 4.95794 0 + vertex 23.2082 3.44442 0 + vertex 23.5377 4.18291 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.8875 6.77518 0 + vertex 23.2082 3.44442 0 + vertex 23.3811 5.8089 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.0239 2.90744 0 + vertex 23.2082 3.44442 0 + vertex 22.8875 6.77518 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.0239 2.90744 0 + vertex 22.8875 6.77518 0 + vertex 21.7142 8.22365 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2139 -19.2263 0 + vertex 26.9177 3.98634 0 + vertex 26.953 2.16551 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -47.7274 -36.6957 0 - vertex -37.5104 -12.4945 0 - vertex -47.846 -36.863 0 + vertex 26.9177 3.98634 0 + vertex 27.209 8.08714 0 + vertex 26.8985 6.51977 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 26.7235 1.18648 0 + vertex 38.4798 -20.1181 0 + vertex 26.8464 1.29842 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.846 -36.863 0 - vertex -39.0227 25.0923 0 - vertex -39.1186 25.4589 0 + vertex 26.9177 3.98634 0 + vertex 27.528 9.70386 0 + vertex 27.209 8.08714 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -117.5 117.5 0 - vertex -39.1186 25.4589 0 - vertex -39.13 25.5984 0 + vertex 38.4798 -20.1181 0 + vertex 26.7235 1.18648 0 + vertex 29.9429 -19.4981 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 29.9429 -19.4981 0 + vertex 26.7235 1.18648 0 + vertex 28.989 -19.2301 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 19.6777 -11.13 0 + vertex 28.989 -19.2301 0 + vertex 26.7235 1.18648 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9081 -2.19366 0 + vertex 26.7235 1.18648 0 + vertex 26.5455 1.2697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.989 -19.2301 0 + vertex 19.6777 -11.13 0 + vertex 27.8281 -19.1444 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.9858 2.16372 0 + vertex 26.5455 1.2697 0 + vertex 25.9977 1.96397 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 27.8281 -19.1444 0 + vertex 19.6777 -11.13 0 + vertex 26.5413 -19.2026 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 24.7523 2.4559 0 + vertex 25.9977 1.96397 0 + vertex 25.3153 2.68052 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.7523 2.4559 0 + vertex 25.3153 2.68052 0 + vertex 25.0347 2.67962 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 23.9858 2.16372 0 + vertex 25.9977 1.96397 0 + vertex 24.7523 2.4559 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5455 1.2697 0 + vertex 23.9858 2.16372 0 + vertex 21.0968 -1.15452 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0968 -1.15452 0 + vertex 23.9858 2.16372 0 + vertex 23.1222 1.97635 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7235 1.18648 0 + vertex 20.9081 -2.19366 0 + vertex 20.4179 -3.0084 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0282 0.220415 0 + vertex 23.1222 1.97635 0 + vertex 22.8505 1.9828 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.0282 0.220415 0 + vertex 22.8505 1.9828 0 + vertex 22.7784 2.30129 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.2082 3.44442 0 + vertex 16.0239 2.90744 0 + vertex 22.7784 2.30129 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5455 1.2697 0 + vertex 21.0968 -1.15452 0 + vertex 20.9081 -2.19366 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.5413 -19.2026 0 + vertex 19.6777 -11.13 0 + vertex 25.4359 -19.4082 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.1222 1.97635 0 + vertex 21.0282 0.220415 0 + vertex 21.0968 -1.15452 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.3368 5.33522 0 + vertex 21.7142 8.22365 0 + vertex 19.7157 9.66569 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -47.5785 -36.5332 0 - vertex -37.5315 -12.6425 0 - vertex -47.7274 -36.6957 0 + vertex 19.4865 -0.127098 0 + vertex 22.7784 2.30129 0 + vertex 16.0239 2.90744 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.0107 24.2804 0 - vertex -26.053 23.8437 0 - vertex -24.6523 24.0122 0 + vertex 14.9551 7.69881 0 + vertex 19.7157 9.66569 0 + vertex 18.6847 10.137 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.5818 24.4056 0 - vertex -26.053 23.8437 0 - vertex -26.0107 24.2804 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.5818 24.4056 0 - vertex -26.7338 23.7794 0 - vertex -26.053 23.8437 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.1227 24.5501 0 - vertex -26.7338 23.7794 0 - vertex -26.5818 24.4056 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.1227 24.5501 0 - vertex -27.3569 23.7586 0 - vertex -26.7338 23.7794 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.636 24.7152 0 - vertex -27.3569 23.7586 0 - vertex -27.1227 24.5501 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.636 24.7152 0 - vertex -27.9279 23.7822 0 - vertex -27.3569 23.7586 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.1248 24.9019 0 - vertex -27.9279 23.7822 0 - vertex -27.636 24.7152 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.1248 24.9019 0 - vertex -28.4524 23.8513 0 - vertex -27.9279 23.7822 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.9359 23.9669 0 - vertex -28.1248 24.9019 0 - vertex -28.5919 25.1115 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.1248 24.9019 0 - vertex -28.9359 23.9669 0 - vertex -28.4524 23.8513 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.384 24.13 0 - vertex -28.5919 25.1115 0 - vertex -29.0402 25.3453 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.5919 25.1115 0 - vertex -29.384 24.13 0 - vertex -28.9359 23.9669 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.8023 24.3416 0 - vertex -29.0402 25.3453 0 - vertex -29.4725 25.6043 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0402 25.3453 0 - vertex -29.8023 24.3416 0 - vertex -29.384 24.13 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.5308 24.8328 0 - vertex -29.4725 25.6043 0 - vertex -29.8918 25.8898 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.4725 25.6043 0 - vertex -30.1964 24.6027 0 - vertex -29.8023 24.3416 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.4725 25.6043 0 - vertex -30.5308 24.8328 0 - vertex -30.1964 24.6027 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.8055 24.9813 0 - vertex -29.8918 25.8898 0 - vertex -30.6514 26.471 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.8918 25.8898 0 - vertex -30.8055 24.9813 0 - vertex -30.5308 24.8328 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.1676 25.0376 0 - vertex -30.6514 26.471 0 - vertex -30.9143 26.7038 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.6514 26.471 0 - vertex -31.0185 25.0493 0 - vertex -30.8055 24.9813 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.6514 26.471 0 - vertex -31.1012 25.0533 0 - vertex -31.0185 25.0493 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.1676 25.0376 0 - vertex -30.9143 26.7038 0 - vertex -31.1043 26.9038 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.6514 26.471 0 - vertex -31.1676 25.0376 0 - vertex -31.1012 25.0533 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.1043 26.9038 0 - vertex -31.2175 25.0021 0 - vertex -31.1676 25.0376 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2248 27.0754 0 - vertex -31.2175 25.0021 0 - vertex -31.1043 26.9038 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2248 27.0754 0 - vertex -31.2507 24.9472 0 - vertex -31.2175 25.0021 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.2082 23.4707 0 - vertex -31.2507 24.9472 0 - vertex -31.2248 27.0754 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.2082 23.4707 0 - vertex -31.2248 27.0754 0 - vertex -31.2795 27.2229 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.9294 20.0018 0 - vertex -10.9261 19.832 0 - vertex -10.904 19.9248 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.0035 20.0644 0 - vertex -10.9261 19.832 0 - vertex -10.9294 20.0018 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.9261 19.832 0 - vertex -11.0035 20.0644 0 - vertex -10.9948 19.7221 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.1271 20.114 0 - vertex -10.9948 19.7221 0 - vertex -11.0035 20.0644 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.9948 19.7221 0 - vertex -11.1271 20.114 0 - vertex -11.1091 19.5935 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.3013 20.1521 0 - vertex -11.1091 19.5935 0 - vertex -11.1271 20.114 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5271 20.1801 0 - vertex -11.1091 19.5935 0 - vertex -11.3013 20.1521 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.1091 19.5935 0 - vertex -11.5271 20.1801 0 - vertex -11.4702 19.2748 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.1376 20.2112 0 - vertex -11.4702 19.2748 0 - vertex -11.5271 20.1801 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.4702 19.2748 0 - vertex -12.1376 20.2112 0 - vertex -12.0016 18.8648 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.9665 20.2187 0 - vertex -12.0016 18.8648 0 - vertex -12.1376 20.2112 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.9665 20.2187 0 - vertex -13.8225 17.5152 0 - vertex -12.0016 18.8648 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.9037 20.2008 0 - vertex -13.8225 17.5152 0 - vertex -12.9665 20.2187 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.8461 20.153 0 - vertex -13.8225 17.5152 0 - vertex -13.9037 20.2008 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.8225 17.5152 0 - vertex -14.8461 20.153 0 - vertex -14.4648 17.0612 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.684 20.0825 0 - vertex -14.4648 17.0612 0 - vertex -14.8461 20.153 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.4648 17.0612 0 - vertex -15.684 20.0825 0 - vertex -14.9972 16.7116 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.3079 19.9967 0 - vertex -14.9972 16.7116 0 - vertex -15.684 20.0825 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.9972 16.7116 0 - vertex -16.3079 19.9967 0 - vertex -15.4716 16.4339 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.2235 19.8332 0 - vertex -15.4716 16.4339 0 - vertex -16.3079 19.9967 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.4716 16.4339 0 - vertex -17.2235 19.8332 0 - vertex -15.9397 16.1961 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.9397 16.1961 0 - vertex -17.2235 19.8332 0 - vertex -16.4531 15.9659 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.1791 19.6811 0 - vertex -16.4531 15.9659 0 - vertex -17.2235 19.8332 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.4531 15.9659 0 - vertex -18.1791 19.6811 0 - vertex -17.0637 15.711 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.1791 19.6811 0 - vertex -18.4061 15.1884 0 - vertex -17.0637 15.711 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -20.1671 19.4139 0 - vertex -18.4061 15.1884 0 - vertex -18.1791 19.6811 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.4061 15.1884 0 - vertex -20.1671 19.4139 0 - vertex -19.7213 14.7364 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.1849 19.2007 0 - vertex -19.7213 14.7364 0 - vertex -20.1671 19.4139 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.7213 14.7364 0 - vertex -22.1849 19.2007 0 - vertex -21.0167 14.3533 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.1849 19.2007 0 - vertex -22.3001 14.0374 0 - vertex -21.0167 14.3533 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.1455 19.0472 0 - vertex -22.3001 14.0374 0 - vertex -22.1849 19.2007 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.3001 14.0374 0 - vertex -24.1455 19.0472 0 - vertex -23.579 13.787 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.1455 19.0472 0 - vertex -24.8613 13.6003 0 - vertex -23.579 13.787 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -25.9619 18.9589 0 - vertex -24.8613 13.6003 0 - vertex -24.1455 19.0472 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.9619 18.9589 0 - vertex -26.1544 13.4758 0 - vertex -24.8613 13.6003 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.7887 18.9409 0 - vertex -26.1544 13.4758 0 - vertex -25.9619 18.9589 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.7887 18.9409 0 - vertex -27.4661 13.4117 0 - vertex -26.1544 13.4758 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.5469 18.9414 0 - vertex -27.4661 13.4117 0 - vertex -26.7887 18.9409 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2256 18.9609 0 - vertex -27.4661 13.4117 0 - vertex -27.5469 18.9414 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0548 13.353 0 - vertex -28.2256 18.9609 0 - vertex -28.8137 19.0002 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2256 18.9609 0 - vertex -29.0548 13.353 0 - vertex -27.4661 13.4117 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.3006 19.0599 0 - vertex -29.0548 13.353 0 - vertex -28.8137 19.0002 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.3006 19.0599 0 - vertex -29.5683 13.309 0 - vertex -29.0548 13.353 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.6752 19.1409 0 - vertex -29.5683 13.309 0 - vertex -29.3006 19.0599 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.6752 19.1409 0 - vertex -29.9294 13.2465 0 - vertex -29.5683 13.309 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.5811 19.4165 0 - vertex -29.9294 13.2465 0 - vertex -29.6752 19.1409 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.9294 13.2465 0 - vertex -30.5811 19.4165 0 - vertex -30.1646 13.1588 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.4466 19.7034 0 - vertex -30.1646 13.1588 0 - vertex -30.5811 19.4165 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1646 13.1588 0 - vertex -31.4466 19.7034 0 - vertex -30.2432 13.1034 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.271 20.0012 0 - vertex -30.2432 13.1034 0 - vertex -31.4466 19.7034 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.0533 20.3093 0 - vertex -30.3001 13.0393 0 - vertex -32.271 20.0012 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2432 13.1034 0 - vertex -32.271 20.0012 0 - vertex -30.3001 13.0393 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.6083 4.95794 0 - vertex 23.6129 4.5634 0 - vertex 23.6192 4.7586 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.6083 4.95794 0 - vertex 23.5897 4.3717 0 - vertex 23.6129 4.5634 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.6083 4.95794 0 - vertex 23.5494 4.18291 0 - vertex 23.5897 4.3717 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.4183 3.81156 0 - vertex 23.6083 4.95794 0 - vertex 23.5351 5.37146 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.6083 4.95794 0 - vertex 23.4183 3.81156 0 - vertex 23.5494 4.18291 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.22 3.44442 0 - vertex 23.5351 5.37146 0 - vertex 23.3929 5.8089 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.5351 5.37146 0 - vertex 23.22 3.44442 0 - vertex 23.4183 3.81156 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.1811 6.27516 0 - vertex 23.22 3.44442 0 - vertex 23.3929 5.8089 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.1811 6.27516 0 - vertex 23.0427 3.12896 0 - vertex 23.22 3.44442 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.8992 6.77518 0 - vertex 23.0427 3.12896 0 - vertex 23.1811 6.27516 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.6639 4.10009 0 - vertex 23.0427 3.12896 0 - vertex 22.8992 6.77518 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 16.0356 2.90743 0 - vertex 23.0427 3.12896 0 - vertex 15.6639 4.10009 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0427 3.12896 0 - vertex 16.0356 2.90743 0 - vertex 22.9115 2.82433 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6639 4.10009 0 - vertex 22.8992 6.77518 0 - vertex 22.6364 7.18064 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4871 9.26334 0 - vertex 26.9615 2.94949 0 - vertex 26.9647 2.16551 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9103 6.51977 0 - vertex 27.0158 7.30485 0 - vertex 26.9517 6.92758 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2208 8.08714 0 - vertex 26.9294 3.98634 0 - vertex 26.9615 2.94949 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0158 7.30485 0 - vertex 26.9103 6.51977 0 - vertex 26.8894 6.05157 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2208 8.08714 0 - vertex 26.8894 6.05157 0 - vertex 26.8871 5.49316 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.2208 8.08714 0 - vertex 26.8871 5.49316 0 - vertex 26.9294 3.98634 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.8032 1.21715 0 - vertex 41.156 -19.2119 0 - vertex 26.8581 1.29842 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.156 -19.2119 0 - vertex 26.8032 1.21715 0 - vertex 40.4513 -19.4233 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 40.4513 -19.4233 0 - vertex 26.8032 1.21715 0 - vertex 39.5298 -19.7361 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9647 2.16551 0 - vertex 27.5397 9.70386 0 - vertex 27.4871 9.26334 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9615 2.94949 0 - vertex 27.4871 9.26334 0 - vertex 27.4176 8.86037 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9615 2.94949 0 - vertex 27.4176 8.86037 0 - vertex 27.3295 8.47496 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.9615 2.94949 0 - vertex 27.3295 8.47496 0 - vertex 27.2208 8.08714 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 39.5298 -19.7361 0 - vertex 26.8032 1.21715 0 - vertex 29.9546 -19.4981 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8894 6.05157 0 - vertex 27.1048 7.68143 0 - vertex 27.0158 7.30485 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 27.1048 7.68143 0 - vertex 26.8894 6.05157 0 - vertex 27.2208 8.08714 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.9546 -19.4981 0 - vertex 26.8032 1.21715 0 - vertex 29.5013 -19.3404 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.5013 -19.3404 0 - vertex 26.8032 1.21715 0 - vertex 29.0007 -19.2301 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.7352 1.18648 0 - vertex 29.0007 -19.2301 0 - vertex 26.8032 1.21715 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.0007 -19.2301 0 - vertex 26.7352 1.18648 0 - vertex 28.4483 -19.1654 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.6819 -11.0243 0 - vertex 28.4483 -19.1654 0 - vertex 26.7352 1.18648 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.4483 -19.1654 0 - vertex 19.6819 -11.0243 0 - vertex 27.8398 -19.1444 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9199 -2.19366 0 - vertex 26.7352 1.18648 0 - vertex 26.6535 1.20459 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1085 -1.15452 0 - vertex 26.6535 1.20459 0 - vertex 26.5572 1.2697 0 + vertex 22.7784 2.30129 0 + vertex 19.4865 -0.127098 0 + vertex 21.0282 0.220415 0 endloop endfacet facet normal -0 -0 1 outer loop - vertex 19.6895 -11.13 0 - vertex 27.8398 -19.1444 0 - vertex 19.6819 -11.0243 0 + vertex 16.8564 0.883682 0 + vertex 19.4865 -0.127098 0 + vertex 16.0239 2.90744 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.9975 2.16372 0 - vertex 26.5572 1.2697 0 - vertex 26.4455 1.37999 0 + vertex 14.9551 7.69881 0 + vertex 18.6847 10.137 0 + vertex 17.337 10.3363 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.2201 2.19262 0 - vertex 26.4455 1.37999 0 - vertex 26.3175 1.53367 0 + vertex 19.4865 -0.127098 0 + vertex 16.8564 0.883682 0 + vertex 18.2674 -0.466912 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.4388 2.25734 0 - vertex 26.3175 1.53367 0 - vertex 26.0094 1.96397 0 + vertex 18.2674 -0.466912 0 + vertex 16.8564 0.883682 0 + vertex 17.6745 -0.267811 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.8398 -19.1444 0 - vertex 19.6895 -11.13 0 - vertex 27.1629 -19.1581 0 + vertex 15.3572 9.74689 0 + vertex 17.337 10.3363 0 + vertex 15.9933 10.3315 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.6285 2.34829 0 - vertex 26.0094 1.96397 0 - vertex 25.8138 2.23679 0 + vertex 15.3572 9.74689 0 + vertex 15.9933 10.3315 0 + vertex 15.6762 10.1383 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.764 2.4559 0 - vertex 25.8138 2.23679 0 - vertex 25.6376 2.44612 0 + vertex 14.9426 8.95486 0 + vertex 17.337 10.3363 0 + vertex 15.3572 9.74689 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.7142 8.22365 0 + vertex 15.3368 5.33522 0 + vertex 16.0239 2.90744 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.7157 9.66569 0 + vertex 14.9551 7.69881 0 + vertex 15.3368 5.33522 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.337 10.3363 0 + vertex 14.9426 8.95486 0 + vertex 14.9551 7.69881 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.4359 -19.4082 0 + vertex 19.6777 -11.13 0 + vertex 23.0737 -20.4525 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 26.7235 1.18648 0 + vertex 20.4179 -3.0084 0 + vertex 19.6777 -11.13 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.764 2.4559 0 - vertex 25.6376 2.44612 0 - vertex 25.4766 2.59351 0 + vertex 17.1521 -17.7131 0 + vertex 23.0737 -20.4525 0 + vertex 19.6777 -11.13 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7352 1.18648 0 - vertex 20.8331 -2.41014 0 - vertex 20.7245 -2.61588 0 + vertex 23.0737 -20.4525 0 + vertex 17.1521 -17.7131 0 + vertex 21.6367 -21.3703 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.4179 -3.0084 0 + vertex 19.5452 -10.7956 0 + vertex 19.6777 -11.13 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.9074 2.59483 0 - vertex 25.4766 2.59351 0 - vertex 25.3271 2.68052 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.0464 2.67962 0 - vertex 25.3271 2.68052 0 - vertex 25.185 2.7087 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3271 2.68052 0 - vertex 25.0464 2.67962 0 - vertex 24.9074 2.59483 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.8138 2.23679 0 - vertex 24.764 2.4559 0 - vertex 24.6285 2.34829 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.4766 2.59351 0 - vertex 24.9074 2.59483 0 - vertex 24.764 2.4559 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0094 1.96397 0 - vertex 24.6285 2.34829 0 - vertex 24.4388 2.25734 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.1629 -19.1581 0 - vertex 19.6895 -11.13 0 - vertex 26.5531 -19.2026 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.3175 1.53367 0 - vertex 24.4388 2.25734 0 - vertex 24.2201 2.19262 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.5531 -19.2026 0 - vertex 19.6598 -11.2975 0 - vertex 25.9886 -19.284 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.4455 1.37999 0 - vertex 24.2201 2.19262 0 - vertex 23.9975 2.16372 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.5572 1.2697 0 - vertex 23.9975 2.16372 0 - vertex 21.1355 -0.658014 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0469 1.94283 0 - vertex 23.9975 2.16372 0 - vertex 23.7673 2.14309 0 + vertex 19.4334 -3.80993 0 + vertex 19.5452 -10.7956 0 + vertex 20.4179 -3.0084 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.6598 -11.2975 0 - vertex 26.5531 -19.2026 0 - vertex 19.6895 -11.13 0 + vertex 17.7619 -4.80944 0 + vertex 19.5452 -10.7956 0 + vertex 19.4334 -3.80993 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.0469 1.94283 0 - vertex 23.7673 2.14309 0 - vertex 23.5277 2.10089 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0469 1.94283 0 - vertex 23.5277 2.10089 0 - vertex 23.3072 2.04326 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.7352 1.18648 0 - vertex 20.9199 -2.19366 0 - vertex 20.8331 -2.41014 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.9975 2.16372 0 - vertex 23.0469 1.94283 0 - vertex 21.1355 -0.658014 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1316 -0.233279 0 - vertex 23.0469 1.94283 0 - vertex 22.9727 1.93385 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.099 0.0745682 0 - vertex 22.9727 1.93385 0 - vertex 22.9112 1.94773 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0726 0.170561 0 - vertex 22.9112 1.94773 0 - vertex 22.8622 1.9828 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0399 0.220413 0 - vertex 22.8622 1.9828 0 - vertex 22.8257 2.03737 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0399 0.220413 0 - vertex 22.8257 2.03737 0 - vertex 22.8016 2.10976 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9772 0.235111 0 - vertex 22.8016 2.10976 0 - vertex 22.7901 2.30129 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.9115 2.82433 0 - vertex 16.2363 2.34533 0 - vertex 22.827 2.54396 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6639 4.10009 0 - vertex 22.6364 7.18064 0 - vertex 22.3621 7.54907 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.6535 1.20459 0 - vertex 21.1085 -1.15452 0 - vertex 21.0399 -1.71534 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6639 4.10009 0 - vertex 22.3621 7.54907 0 - vertex 22.0631 7.89267 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6639 4.10009 0 - vertex 22.0631 7.89267 0 - vertex 21.7259 8.22365 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.5572 1.2697 0 - vertex 21.1355 -0.658014 0 - vertex 21.1085 -1.15452 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.498 4.716 0 - vertex 21.7259 8.22365 0 - vertex 21.3371 8.55423 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.6535 1.20459 0 - vertex 21.0399 -1.71534 0 - vertex 20.9878 -1.96317 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.6535 1.20459 0 - vertex 20.9878 -1.96317 0 - vertex 20.9199 -2.19366 0 + vertex 19.5452 -10.7956 0 + vertex 17.7619 -4.80944 0 + vertex 19.0845 -10.6988 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.5653 -11.6083 0 - vertex 25.9886 -19.284 0 - vertex 19.6598 -11.2975 0 + vertex 15.0012 -6.23992 0 + vertex 19.0845 -10.6988 0 + vertex 17.7619 -4.80944 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0845 -10.6988 0 + vertex 15.0012 -6.23992 0 + vertex 16.7993 -11.2316 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.1479 -12.7477 0 - vertex 25.4477 -19.4082 0 - vertex 19.5653 -11.6083 0 + vertex 12.6103 -7.15898 0 + vertex 16.7993 -11.2316 0 + vertex 15.0012 -6.23992 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.9086 -19.5812 0 - vertex 18.3699 -14.7241 0 - vertex 24.3497 -19.8089 0 + vertex 16.7993 -11.2316 0 + vertex 12.6103 -7.15898 0 + vertex 13.71 -12.1451 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.71 -12.1451 0 + vertex 12.6103 -7.15898 0 + vertex 13.1035 -12.4147 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 18.3699 -14.7241 0 - vertex 24.9086 -19.5812 0 - vertex 19.1479 -12.7477 0 + vertex 10.2421 -7.67101 0 + vertex 13.1035 -12.4147 0 + vertex 12.6103 -7.15898 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.9886 -19.284 0 - vertex 19.5653 -11.6083 0 - vertex 25.4477 -19.4082 0 + vertex 13.1035 -12.4147 0 + vertex 10.2421 -7.67101 0 + vertex 12.6527 -12.8127 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7352 1.18648 0 - vertex 20.7245 -2.61588 0 - vertex 19.6583 -10.9333 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6583 -10.9333 0 - vertex 20.7245 -2.61588 0 - vertex 20.591 -2.8142 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6583 -10.9333 0 - vertex 20.591 -2.8142 0 - vertex 20.4297 -3.0084 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.3497 -19.8089 0 - vertex 18.3699 -14.7241 0 - vertex 23.7493 -20.0973 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6172 -10.8571 0 - vertex 20.4297 -3.0084 0 - vertex 20.2374 -3.20177 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6172 -10.8571 0 - vertex 20.2374 -3.20177 0 - vertex 20.0112 -3.39762 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.7493 -20.0973 0 - vertex 18.3699 -14.7241 0 - vertex 23.0854 -20.4525 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 17.1638 -17.7131 0 - vertex 23.0854 -20.4525 0 - vertex 18.3699 -14.7241 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0854 -20.4525 0 - vertex 17.1638 -17.7131 0 - vertex 22.3543 -20.8886 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.3543 -20.8886 0 - vertex 17.1638 -17.7131 0 - vertex 21.6485 -21.3703 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.6485 -21.3703 0 - vertex 17.1638 -17.7131 0 - vertex 20.9665 -21.899 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9665 -21.899 0 - vertex 17.1638 -17.7131 0 - vertex 20.3071 -22.4759 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3071 -22.4759 0 - vertex 17.1638 -17.7131 0 - vertex 19.6689 -23.1024 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6689 -23.1024 0 - vertex 17.1638 -17.7131 0 - vertex 19.0503 -23.7798 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.5952 -23.8342 0 - vertex 19.0503 -23.7798 0 - vertex 17.1638 -17.7131 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.0503 -23.7798 0 - vertex 14.5952 -23.8342 0 - vertex 18.4501 -24.5093 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4501 -24.5093 0 - vertex 14.5952 -23.8342 0 - vertex 17.8667 -25.2923 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.8667 -25.2923 0 - vertex 14.5952 -23.8342 0 - vertex 17.4656 -25.8764 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.4656 -25.8764 0 - vertex 14.5952 -23.8342 0 - vertex 17.0901 -26.4624 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.0901 -26.4624 0 - vertex 14.5952 -23.8342 0 - vertex 16.7406 -27.0496 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.7406 -27.0496 0 - vertex 14.5952 -23.8342 0 - vertex 16.4172 -27.6373 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.8097 -28.1484 0 - vertex 16.4172 -27.6373 0 - vertex 14.5952 -23.8342 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.4172 -27.6373 0 - vertex 12.8097 -28.1484 0 - vertex 16.1203 -28.2246 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.1203 -28.2246 0 - vertex 12.8097 -28.1484 0 - vertex 15.8502 -28.8109 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.8502 -28.8109 0 - vertex 12.8097 -28.1484 0 - vertex 15.6071 -29.3953 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6071 -29.3953 0 - vertex 12.8097 -28.1484 0 - vertex 15.3912 -29.9771 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.0447 -30.0547 0 - vertex 15.3912 -29.9771 0 - vertex 12.8097 -28.1484 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.3912 -29.9771 0 - vertex 12.0447 -30.0547 0 - vertex 15.2028 -30.5555 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9098 -31.6993 0 - vertex 11.5005 -31.4602 0 - vertex 14.8056 -32.2631 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.5005 -31.4602 0 - vertex 14.9098 -31.6993 0 - vertex 12.0447 -30.0547 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0423 -31.1299 0 - vertex 12.0447 -30.0547 0 - vertex 14.9098 -31.6993 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2028 -30.5555 0 - vertex 12.0447 -30.0547 0 - vertex 15.0423 -31.1299 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0186 22.3563 0 - vertex -30.0859 22.0525 0 - vertex -28.3394 21.9725 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.4321 22.5993 0 - vertex -30.0859 22.0525 0 - vertex -29.0186 22.3563 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.7937 22.8325 0 - vertex -30.0859 22.0525 0 - vertex -29.4321 22.5993 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1071 23.0591 0 - vertex -30.0859 22.0525 0 - vertex -29.7937 22.8325 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.5728 22.0884 0 - vertex -30.1071 23.0591 0 - vertex -30.3761 23.2826 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1071 23.0591 0 - vertex -30.5728 22.0884 0 - vertex -30.0859 22.0525 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.074 22.1513 0 - vertex -30.3761 23.2826 0 - vertex -30.6044 23.5064 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.5861 22.2399 0 - vertex -30.6044 23.5064 0 - vertex -30.7957 23.7338 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.1061 22.3529 0 - vertex -30.7957 23.7338 0 - vertex -30.9539 23.9682 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3761 23.2826 0 - vertex -31.074 22.1513 0 - vertex -30.5728 22.0884 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.1061 22.3529 0 - vertex -30.9539 23.9682 0 - vertex -31.0826 24.213 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.6306 22.489 0 - vertex -31.0826 24.213 0 - vertex -31.2103 24.5339 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.1564 22.6469 0 - vertex -31.2103 24.5339 0 - vertex -31.2656 24.779 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.6044 23.5064 0 - vertex -31.5861 22.2399 0 - vertex -31.074 22.1513 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.199 23.023 0 - vertex -31.2656 24.779 0 - vertex -31.2668 24.8727 0 + vertex 12.6527 -12.8127 0 + vertex 10.2421 -7.67101 0 + vertex 12.4073 -13.2773 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -34.7094 23.2385 0 - vertex -31.2507 24.9472 0 - vertex -35.2082 23.4707 0 + vertex 11.2177 -19.5302 0 + vertex 12.4073 -13.2773 0 + vertex 10.3474 -19.1774 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.06691 -19.2358 0 - vertex -17.4002 -11.6639 0 - vertex -17.3941 -11.77 0 + vertex 12.058 -19.7199 0 + vertex 11.2177 -19.5302 0 + vertex 11.7785 -19.8211 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.9775 12.4282 0 - vertex -17.4268 -11.5861 0 - vertex -17.4002 -11.6639 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9775 12.4282 0 - vertex -17.4764 -11.5321 0 - vertex -17.4268 -11.5861 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5514 -11.4978 0 - vertex -17.3003 12.3696 0 - vertex -17.5181 12.3491 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9775 12.4282 0 - vertex -17.5514 -11.4978 0 - vertex -17.4764 -11.5321 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5181 12.3491 0 - vertex -17.7876 -11.4712 0 - vertex -17.5514 -11.4978 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5728 12.2484 0 - vertex -17.5181 12.3491 0 - vertex -17.9556 12.3221 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5181 12.3491 0 - vertex -18.5728 12.2484 0 - vertex -17.7876 -11.4712 0 + vertex 12.4073 -13.2773 0 + vertex 11.2177 -19.5302 0 + vertex 12.058 -19.7199 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -19.2876 12.1394 0 - vertex -17.7876 -11.4712 0 - vertex -18.5728 12.2484 0 + vertex 7.54923 -7.88041 0 + vertex 12.4073 -13.2773 0 + vertex 10.2421 -7.67101 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.4073 -13.2773 0 + vertex 8.75581 -19.1712 0 + vertex 10.3474 -19.1774 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.06268 -19.3694 0 + vertex 12.4073 -13.2773 0 + vertex 7.54923 -7.88041 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.4073 -13.2773 0 + vertex 7.06268 -19.3694 0 + vertex 8.75581 -19.1712 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -20.0181 12.0063 0 - vertex -17.7876 -11.4712 0 - vertex -19.2876 12.1394 0 + vertex 5.03167 -7.88498 0 + vertex 7.06268 -19.3694 0 + vertex 7.54923 -7.88041 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.06268 -19.3694 0 + vertex 5.03167 -7.88498 0 + vertex 5.689 -19.9339 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.854 -7.59505 0 + vertex 5.689 -19.9339 0 + vertex 5.03167 -7.88498 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.854 -7.59505 0 + vertex 3.72385 -21.1527 0 + vertex 5.689 -19.9339 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -20.4772 11.9313 0 - vertex -17.7876 -11.4712 0 - vertex -20.0181 12.0063 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -21.0446 11.8651 0 - vertex -17.7876 -11.4712 0 - vertex -20.4772 11.9313 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.4311 11.7593 0 - vertex -17.7876 -11.4712 0 - vertex -21.0446 11.8651 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.175 -11.3523 0 - vertex -22.4311 11.7593 0 - vertex -24.031 11.6901 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.175 -11.3523 0 - vertex -24.031 11.6901 0 - vertex -25.698 11.6586 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.4311 11.7593 0 - vertex -27.175 -11.3523 0 - vertex -17.7876 -11.4712 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.2855 11.6658 0 - vertex -27.175 -11.3523 0 - vertex -25.698 11.6586 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.647 11.7129 0 - vertex -27.175 -11.3523 0 - vertex -27.2855 11.6658 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.0944 -11.3029 0 - vertex -28.647 11.7129 0 - vertex -29.1973 11.7518 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.0944 -11.3029 0 - vertex -29.1973 11.7518 0 - vertex -29.6362 11.801 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.0944 -11.3029 0 - vertex -29.6362 11.801 0 - vertex -29.9453 11.8607 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.7011 -11.3017 0 - vertex -29.9453 11.8607 0 - vertex -30.0456 11.8946 0 + vertex -4.70045 -19.8327 0 + vertex 3.72385 -21.1527 0 + vertex 3.854 -7.59505 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.6555 -11.3595 0 - vertex -30.0456 11.8946 0 - vertex -30.1065 11.9311 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.527 -11.5152 0 - vertex -30.1065 11.9311 0 - vertex -30.2115 12.0683 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.9755 -11.7636 0 - vertex -30.2115 12.0683 0 - vertex -30.2975 12.2549 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.2746 22.7082 0 - vertex -30.2975 12.2549 0 - vertex -30.3556 12.4664 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3001 13.0393 0 - vertex -33.0533 20.3093 0 - vertex -30.3387 12.9655 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -33.7926 20.6272 0 - vertex -30.3387 12.9655 0 - vertex -33.0533 20.3093 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3387 12.9655 0 - vertex -33.7926 20.6272 0 - vertex -30.3621 12.8813 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.647 11.7129 0 - vertex -32.0944 -11.3029 0 - vertex -27.175 -11.3523 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -34.4881 20.9542 0 - vertex -30.3621 12.8813 0 - vertex -33.7926 20.6272 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.1386 21.2899 0 - vertex -30.3621 12.8813 0 - vertex -34.4881 20.9542 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.9453 11.8607 0 - vertex -33.7011 -11.3017 0 - vertex -32.0944 -11.3029 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.3621 12.8813 0 - vertex -35.1386 21.2899 0 - vertex -30.377 12.6783 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -35.7435 21.6336 0 - vertex -30.377 12.6783 0 - vertex -35.1386 21.2899 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0456 11.8946 0 - vertex -34.8583 -11.3197 0 - vertex -33.7011 -11.3017 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.3017 21.985 0 - vertex -30.377 12.6783 0 - vertex -35.7435 21.6336 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.0456 11.8946 0 - vertex -35.6555 -11.3595 0 - vertex -34.8583 -11.3197 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.377 12.6783 0 - vertex -36.3017 21.985 0 - vertex -30.3556 12.4664 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1065 11.9311 0 - vertex -36.1819 -11.4238 0 - vertex -35.6555 -11.3595 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -36.8124 22.3433 0 - vertex -30.3556 12.4664 0 - vertex -36.3017 21.985 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.1065 11.9311 0 - vertex -36.527 -11.5152 0 - vertex -36.1819 -11.4238 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2115 12.0683 0 - vertex -36.7802 -11.6364 0 - vertex -36.527 -11.5152 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.2746 22.7082 0 - vertex -30.3556 12.4664 0 - vertex -36.8124 22.3433 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2115 12.0683 0 - vertex -36.9755 -11.7636 0 - vertex -36.7802 -11.6364 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2975 12.2549 0 - vertex -37.2746 22.7082 0 - vertex -37.1409 -11.9004 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2975 12.2549 0 - vertex -37.1409 -11.9004 0 - vertex -36.9755 -11.7636 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.6874 23.0789 0 - vertex -37.1409 -11.9004 0 - vertex -37.2746 22.7082 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.1409 -11.9004 0 - vertex -37.6874 23.0789 0 - vertex -37.2767 -12.0443 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.0499 23.455 0 - vertex -37.2767 -12.0443 0 - vertex -37.6874 23.0789 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.3611 23.836 0 - vertex -37.2767 -12.0443 0 - vertex -38.0499 23.455 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.2767 -12.0443 0 - vertex -38.3611 23.836 0 - vertex -37.3834 -12.1929 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.6203 24.2212 0 - vertex -37.3834 -12.1929 0 - vertex -38.3611 23.836 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.15561 -22.5851 0 - vertex -8.45645 -23.4267 0 - vertex -8.48242 -23.1923 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.39946 -22.5595 0 - vertex -8.45645 -23.4267 0 - vertex -9.15561 -22.5851 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.94827 -22.6394 0 - vertex -8.48242 -23.1923 0 - vertex -8.54451 -22.9989 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.45645 -23.4267 0 - vertex -9.39946 -22.5595 0 - vertex -8.46654 -23.7044 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.77736 -22.7249 0 - vertex -8.54451 -22.9989 0 - vertex -8.64279 -22.8439 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -9.67988 -22.56 0 - vertex -8.46654 -23.7044 0 - vertex -9.39946 -22.5595 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.54451 -22.9989 0 - vertex -8.77736 -22.7249 0 - vertex -8.94827 -22.6394 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.48242 -23.1923 0 - vertex -8.94827 -22.6394 0 - vertex -9.15561 -22.5851 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.46654 -23.7044 0 - vertex -9.67988 -22.56 0 - vertex -8.51259 -24.0278 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.0796 -22.6123 0 - vertex -8.51259 -24.0278 0 - vertex -9.67988 -22.56 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.51259 -24.0278 0 - vertex -10.0796 -22.6123 0 - vertex -8.59455 -24.3995 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.5344 -22.7271 0 - vertex -8.59455 -24.3995 0 - vertex -10.0796 -22.6123 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.59455 -24.3995 0 - vertex -10.5344 -22.7271 0 - vertex -8.71232 -24.8218 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.9881 -22.8877 0 - vertex -8.71232 -24.8218 0 - vertex -10.5344 -22.7271 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.3849 -23.0769 0 - vertex -8.71232 -24.8218 0 - vertex -10.9881 -22.8877 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.71232 -24.8218 0 - vertex -11.3849 -23.0769 0 - vertex -9.05502 -25.8283 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.9359 -23.4045 0 - vertex -9.05502 -25.8283 0 - vertex -11.3849 -23.0769 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -12.4007 -23.7203 0 - vertex -9.05502 -25.8283 0 - vertex -11.9359 -23.4045 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -12.7941 -24.0414 0 - vertex -9.05502 -25.8283 0 - vertex -12.4007 -23.7203 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.2098 -26.3227 0 - vertex -9.5401 -27.0667 0 - vertex -13.9508 -25.7195 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.3777 -29.1914 0 - vertex -9.5401 -27.0667 0 - vertex -14.2098 -26.3227 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.05502 -25.8283 0 - vertex -12.7941 -24.0414 0 - vertex -9.5401 -27.0667 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5815 -32.143 0 - vertex -15.3777 -29.1914 0 - vertex -11.9595 -33.0513 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.131 -24.3848 0 - vertex -9.5401 -27.0667 0 - vertex -12.7941 -24.0414 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.8163 -32.7116 0 - vertex -11.9595 -33.0513 0 - vertex -15.3777 -29.1914 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.4262 -24.7676 0 - vertex -9.5401 -27.0667 0 - vertex -13.131 -24.3848 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.9595 -33.0513 0 - vertex -16.8163 -32.7116 0 - vertex -12.3268 -33.8339 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.3268 -33.8339 0 - vertex -16.8163 -32.7116 0 - vertex -12.6843 -34.4922 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.5401 -27.0667 0 - vertex -13.4262 -24.7676 0 - vertex -13.6945 -25.2068 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.6843 -34.4922 0 - vertex -16.8163 -32.7116 0 - vertex -13.0331 -35.0276 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.5401 -27.0667 0 - vertex -13.6945 -25.2068 0 - vertex -13.9508 -25.7195 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.5401 -27.0667 0 - vertex -15.3777 -29.1914 0 - vertex -11.5815 -32.143 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.0331 -35.0276 0 - vertex -16.8163 -32.7116 0 - vertex -13.2045 -35.2497 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -14.4713 -35.9816 0 - vertex -13.2045 -35.2497 0 - vertex -16.8163 -32.7116 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.2045 -35.2497 0 - vertex -14.4713 -35.9816 0 - vertex -13.3741 -35.4417 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.3741 -35.4417 0 - vertex -14.4713 -35.9816 0 - vertex -13.5421 -35.6036 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -14.3614 -35.9691 0 - vertex -13.5421 -35.6036 0 - vertex -14.4713 -35.9816 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.5421 -35.6036 0 - vertex -14.3614 -35.9691 0 - vertex -13.7085 -35.7356 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.8736 -35.838 0 - vertex -14.3614 -35.9691 0 - vertex -14.0373 -35.911 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.0373 -35.911 0 - vertex -14.3614 -35.9691 0 - vertex -14.1999 -35.9546 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.7085 -35.7356 0 - vertex -14.3614 -35.9691 0 - vertex -13.8736 -35.838 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.1674 -33.591 0 - vertex -14.4713 -35.9816 0 - vertex -16.8163 -32.7116 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.4713 -35.9816 0 - vertex -17.1674 -33.591 0 - vertex -14.5979 -36.0176 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.5979 -36.0176 0 - vertex -17.1674 -33.591 0 - vertex -14.8831 -36.1495 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.4329 -34.3072 0 - vertex -14.8831 -36.1495 0 - vertex -17.1674 -33.591 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -16.5729 -36.2152 0 - vertex -14.8831 -36.1495 0 - vertex -17.4329 -34.3072 0 + vertex -5.57075 -19.2012 0 + vertex 3.854 -7.59505 0 + vertex 1.04019 -5.91722 0 endloop endfacet facet normal -0 -0 1 outer loop - vertex -16.3106 -36.4662 0 - vertex -15.4564 -36.5832 0 - vertex -16.4249 -36.334 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.4564 -36.5832 0 - vertex -16.237 -36.6071 0 - vertex -15.7439 -36.902 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.2485 -36.9225 0 - vertex -15.8411 -37.0399 0 - vertex -16.2109 -36.752 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.8411 -37.0399 0 - vertex -16.2485 -36.9225 0 - vertex -15.9096 -37.1689 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.3508 -37.1428 0 - vertex -15.9096 -37.1689 0 - vertex -16.2485 -36.9225 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.7439 -36.902 0 - vertex -16.2109 -36.752 0 - vertex -15.8411 -37.0399 0 + vertex -4.06681 -20.6308 0 + vertex 3.72385 -21.1527 0 + vertex -4.70045 -19.8327 0 endloop endfacet facet normal -0 -0 1 outer loop - vertex -16.2109 -36.752 0 - vertex -15.7439 -36.902 0 - vertex -16.237 -36.6071 0 + vertex -3.85646 -21.6547 0 + vertex 1.84511 -22.661 0 + vertex -4.06681 -20.6308 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.57075 -19.2012 0 + vertex 1.04019 -5.91722 0 + vertex -2.05653 -4.03047 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.84511 -22.661 0 + vertex -3.85646 -21.6547 0 + vertex 0.168338 -24.355 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.168338 -24.355 0 + vertex -3.89417 -22.8317 0 + vertex -1.19093 -26.1306 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.1272 -19.1706 0 + vertex -2.05653 -4.03047 0 + vertex -3.45272 -3.03042 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.4385 -11.5861 0 + vertex -3.45272 -3.03042 0 + vertex -3.71458 -2.66291 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -4.26405 -24.3543 0 + vertex -1.19093 -26.1306 0 + vertex -3.89417 -22.8317 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.6367 -21.3703 0 + vertex 17.1521 -17.7131 0 + vertex 20.2954 -22.4759 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2954 -22.4759 0 + vertex 17.1521 -17.7131 0 + vertex 19.0386 -23.7798 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.5835 -23.8342 0 + vertex 19.0386 -23.7798 0 + vertex 17.1521 -17.7131 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0386 -23.7798 0 + vertex 14.5835 -23.8342 0 + vertex 17.855 -25.2923 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.855 -25.2923 0 + vertex 14.5835 -23.8342 0 + vertex 16.4055 -27.6373 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.4055 -27.6373 0 + vertex 14.5835 -23.8342 0 + vertex 15.3794 -29.9771 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.3794 -29.9771 0 + vertex 11.4887 -31.4602 0 + vertex 14.7938 -32.2631 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 11.4887 -31.4602 0 + vertex 15.3794 -29.9771 0 + vertex 14.5835 -23.8342 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 25.1513 17.7384 0 + vertex 26.0816 17.5963 0 + vertex 25.9892 18.2943 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.1513 17.7384 0 + vertex 25.9892 18.2943 0 + vertex 25.7331 18.8483 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -16.237 -36.6071 0 - vertex -15.4564 -36.5832 0 - vertex -16.3106 -36.4662 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -16.4249 -36.334 0 - vertex -15.1813 -36.3448 0 - vertex -16.5729 -36.2152 0 + vertex 25.704 16.8274 0 + vertex 26.0816 17.5963 0 + vertex 25.4738 17.2443 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -15.1813 -36.3448 0 - vertex -16.4249 -36.334 0 - vertex -15.4564 -36.5832 0 + vertex 26.0816 17.5963 0 + vertex 25.704 16.8274 0 + vertex 25.8979 16.7563 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -14.8831 -36.1495 0 - vertex -16.5729 -36.2152 0 - vertex -15.1813 -36.3448 0 + vertex 24.5942 18.0475 0 + vertex 25.7331 18.8483 0 + vertex 25.3447 19.2137 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.5729 -36.2152 0 - vertex -17.4329 -34.3072 0 - vertex -16.7476 -36.1146 0 + vertex 26.0816 17.5963 0 + vertex 25.1513 17.7384 0 + vertex 25.4738 17.2443 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -16.7476 -36.1146 0 - vertex -17.4329 -34.3072 0 - vertex -16.942 -36.0369 0 + vertex 24.5942 18.0475 0 + vertex 25.3447 19.2137 0 + vertex 24.8554 19.3454 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.7331 18.8483 0 + vertex 24.5942 18.0475 0 + vertex 25.1513 17.7384 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.3909 19.6849 0 + vertex 24.5942 18.0475 0 + vertex 24.8554 19.3454 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.335 18.2522 0 + vertex 23.3909 19.6849 0 + vertex 22.6368 20.047 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.3909 19.6849 0 + vertex 22.335 18.2522 0 + vertex 24.5942 18.0475 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9591 18.304 0 + vertex 22.6368 20.047 0 + vertex 22.0911 20.5797 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.6153 -34.8741 0 - vertex -16.942 -36.0369 0 - vertex -17.4329 -34.3072 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.942 -36.0369 0 - vertex -17.6153 -34.8741 0 - vertex -17.1493 -35.9869 0 + vertex 19.6596 20.6529 0 + vertex 22.0911 20.5797 0 + vertex 21.7245 21.3239 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.7168 -35.3062 0 - vertex -17.1493 -35.9869 0 - vertex -17.6153 -34.8741 0 + vertex 19.4421 21.9215 0 + vertex 21.7245 21.3239 0 + vertex 21.508 22.3204 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.4421 21.9215 0 + vertex 21.508 22.3204 0 + vertex 21.2518 23.2891 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.0911 20.5797 0 + vertex 19.6596 20.6529 0 + vertex 19.8405 19.3078 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.9185 22.6398 0 + vertex 21.2518 23.2891 0 + vertex 20.762 24.0784 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.6368 20.047 0 + vertex 20.9591 18.304 0 + vertex 22.335 18.2522 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.9185 22.6398 0 + vertex 20.762 24.0784 0 + vertex 20.0338 24.6942 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.0911 20.5797 0 + vertex 19.8405 19.3078 0 + vertex 20.9591 18.304 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.9591 18.304 0 + vertex 19.8405 19.3078 0 + vertex 20.2006 18.5903 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.7245 21.3239 0 + vertex 19.4421 21.9215 0 + vertex 19.6596 20.6529 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.9185 22.6398 0 + vertex 20.0338 24.6942 0 + vertex 19.062 25.1422 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.2518 23.2891 0 + vertex 18.9185 22.6398 0 + vertex 19.4421 21.9215 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.062 25.1422 0 + vertex 17.6852 23.4449 0 + vertex 18.9185 22.6398 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.2513 25.98 0 + vertex 17.6852 23.4449 0 + vertex 19.062 25.1422 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.1211 24.4531 0 + vertex 17.2513 25.98 0 + vertex 15.7223 27.2873 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.4969 25.2416 0 + vertex 15.7223 27.2873 0 + vertex 15.122 28.0941 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.2513 25.98 0 + vertex 15.1211 24.4531 0 + vertex 17.6852 23.4449 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.738 -35.4761 0 - vertex -17.1493 -35.9869 0 - vertex -17.7168 -35.3062 0 + vertex 11.7374 28.4518 0 + vertex 15.122 28.0941 0 + vertex 15.0577 29.0611 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.1493 -35.9869 0 - vertex -17.738 -35.4761 0 - vertex -17.3625 -35.9691 0 + vertex 15.7223 27.2873 0 + vertex 13.4969 25.2416 0 + vertex 15.1211 24.4531 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.0303 22.3563 0 + vertex -30.0976 22.0525 0 + vertex -28.3511 21.9725 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3878 23.2826 0 + vertex -30.0976 22.0525 0 + vertex -29.0303 22.3563 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -32.1178 22.3529 0 + vertex -30.3878 23.2826 0 + vertex -31.0943 24.213 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3878 23.2826 0 + vertex -32.1178 22.3529 0 + vertex -30.0976 22.0525 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.2108 23.023 0 + vertex -31.0943 24.213 0 + vertex -31.2773 24.779 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.1793 25.0376 0 + vertex -34.2108 23.023 0 + vertex -31.2773 24.779 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5428 -26.6889 0 + vertex -23.655 -30.4649 0 + vertex -23.4462 -30.738 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.4741 -26.9141 0 + vertex -18.5428 -26.6889 0 + vertex -24.4076 -24.3815 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.5428 -26.6889 0 + vertex -25.4741 -26.9141 0 + vertex -23.655 -30.4649 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.655 -30.4649 0 + vertex -25.4741 -26.9141 0 + vertex -24.0819 -30.2475 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.0819 -30.2475 0 + vertex -25.4741 -26.9141 0 + vertex -24.4667 -30.1541 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -17.7399 -35.6175 0 - vertex -17.3625 -35.9691 0 - vertex -17.738 -35.4761 0 + vertex -26.2338 -28.3696 0 + vertex -24.4667 -30.1541 0 + vertex -25.4741 -26.9141 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -17.3625 -35.9691 0 - vertex -17.7399 -35.6175 0 - vertex -17.4702 -35.9608 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -17.7228 -35.7323 0 - vertex -17.4702 -35.9608 0 - vertex -17.7399 -35.6175 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4702 -35.9608 0 - vertex -17.7228 -35.7323 0 - vertex -17.5603 -35.9348 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -17.6869 -35.8223 0 - vertex -17.5603 -35.9348 0 - vertex -17.7228 -35.7323 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5603 -35.9348 0 - vertex -17.6869 -35.8223 0 - vertex -17.6327 -35.8892 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.56309 -35.9367 0 - vertex -7.30266 -36.7536 0 - vertex -7.29619 -36.8569 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.97004 -33.2395 0 - vertex -7.32635 -36.6539 0 - vertex -7.30266 -36.7536 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.13453 -33.8652 0 - vertex -3.97004 -33.2395 0 - vertex -7.70823 -32.8163 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.97004 -33.2395 0 - vertex -7.36727 -36.5579 0 - vertex -7.32635 -36.6539 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.97004 -33.2395 0 - vertex -7.50076 -36.3769 0 - vertex -7.36727 -36.5579 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.97004 -33.2395 0 - vertex -8.13453 -33.8652 0 - vertex -7.50076 -36.3769 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.50076 -36.3769 0 - vertex -8.13453 -33.8652 0 - vertex -7.70312 -36.2106 0 + vertex -24.4667 -30.1541 0 + vertex -26.2338 -28.3696 0 + vertex -24.8569 -30.2998 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.32474 -34.384 0 - vertex -7.70312 -36.2106 0 - vertex -8.13453 -33.8652 0 + vertex -26.8752 -29.0336 0 + vertex -24.8569 -30.2998 0 + vertex -26.2338 -28.3696 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.70312 -36.2106 0 - vertex -8.32474 -34.384 0 - vertex -7.97432 -36.0592 0 + vertex -24.8569 -30.2998 0 + vertex -26.8752 -29.0336 0 + vertex -26.8283 -32.1012 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.55649 -35.3052 0 - vertex -7.97432 -36.0592 0 - vertex -8.32474 -34.384 0 + vertex -27.5872 -29.1914 0 + vertex -26.8283 -32.1012 0 + vertex -26.8752 -29.0336 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -7.97432 -36.0592 0 - vertex -8.55649 -35.3052 0 - vertex -8.30497 -35.8814 0 + vertex -28.1878 -29.097 0 + vertex -26.8283 -32.1012 0 + vertex -27.5872 -29.1914 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.30497 -35.8814 0 - vertex -8.55649 -35.3052 0 - vertex -8.41808 -35.7975 0 + vertex -28.1878 -29.097 0 + vertex -29.0969 -33.8499 0 + vertex -26.8283 -32.1012 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.1838 -28.4809 0 + vertex -32.142 -25.4759 0 + vertex -28.1878 -29.097 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -8.57785 -35.4236 0 - vertex -8.41808 -35.7975 0 - vertex -8.55649 -35.3052 0 + vertex -35.4824 -26.6225 0 + vertex -28.1878 -29.097 0 + vertex -32.142 -25.4759 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.41808 -35.7975 0 - vertex -8.57785 -35.4236 0 - vertex -8.49955 -35.7129 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -8.57707 -35.529 0 - vertex -8.49955 -35.7129 0 - vertex -8.57785 -35.4236 0 + vertex -28.1878 -29.097 0 + vertex -30.2578 -34.4631 0 + vertex -29.0969 -33.8499 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -8.49955 -35.7129 0 - vertex -8.57707 -35.529 0 - vertex -8.55176 -35.6244 0 + vertex -28.1878 -29.097 0 + vertex -31.3644 -34.8586 0 + vertex -30.2578 -34.4631 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.88346 12.344 0 - vertex 1.92323 12.5289 0 - vertex 1.90284 12.6291 0 + vertex -35.4824 -26.6225 0 + vertex -32.142 -25.4759 0 + vertex -34.9626 -25.4747 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.92323 12.5289 0 - vertex 1.88346 12.344 0 - vertex 1.91748 12.4352 0 + vertex -28.1878 -29.097 0 + vertex -35.4824 -26.6225 0 + vertex -31.3644 -34.8586 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.81906 12.2515 0 - vertex 1.90284 12.6291 0 - vertex 1.85843 12.7398 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.90284 12.6291 0 - vertex 1.81906 12.2515 0 - vertex 1.88346 12.344 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.85843 12.7398 0 - vertex 1.72214 12.1537 0 - vertex 1.81906 12.2515 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.7147 12.9716 0 - vertex 1.72214 12.1537 0 - vertex 1.85843 12.7398 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.42228 11.926 0 - vertex 1.7147 12.9716 0 - vertex 1.51175 13.1874 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.7147 12.9716 0 - vertex 1.42228 11.926 0 - vertex 1.72214 12.1537 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.25015 13.3869 0 - vertex 1.42228 11.926 0 - vertex 1.51175 13.1874 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.25015 13.3869 0 - vertex 0.986004 11.656 0 - vertex 1.42228 11.926 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.930489 13.5702 0 - vertex 0.986004 11.656 0 - vertex 1.25015 13.3869 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.55335 13.737 0 - vertex 0.986004 11.656 0 - vertex 0.930489 13.5702 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.55335 13.737 0 - vertex 0.546849 11.4454 0 - vertex 0.986004 11.656 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.119316 13.8873 0 - vertex 0.546849 11.4454 0 - vertex 0.55335 13.737 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.119316 13.8873 0 - vertex 0.0942225 11.293 0 - vertex 0.546849 11.4454 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.382462 11.1972 0 - vertex 0.119316 13.8873 0 - vertex -0.371032 14.021 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.119316 13.8873 0 - vertex -0.382462 11.1972 0 - vertex 0.0942225 11.293 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.371032 14.021 0 - vertex -0.893798 11.1566 0 - vertex -0.382462 11.1972 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.917111 14.138 0 - vertex -0.893798 11.1566 0 - vertex -0.371032 14.021 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.917111 14.138 0 - vertex -1.45038 11.1697 0 - vertex -0.893798 11.1566 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.51834 14.2381 0 - vertex -1.45038 11.1697 0 - vertex -0.917111 14.138 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.51834 14.2381 0 - vertex -2.06279 11.235 0 - vertex -1.45038 11.1697 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.17413 14.3212 0 - vertex -2.06279 11.235 0 - vertex -1.51834 14.2381 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.17413 14.3212 0 - vertex -2.74162 11.3511 0 - vertex -2.06279 11.235 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.8839 14.3873 0 - vertex -2.74162 11.3511 0 - vertex -2.17413 14.3212 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.8839 14.3873 0 - vertex -3.43924 11.4799 0 - vertex -2.74162 11.3511 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.64708 14.4362 0 - vertex -3.43924 11.4799 0 - vertex -2.8839 14.3873 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.64708 14.4362 0 - vertex -4.06319 11.5774 0 - vertex -3.43924 11.4799 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.46307 14.4678 0 - vertex -4.06319 11.5774 0 - vertex -3.64708 14.4362 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.46307 14.4678 0 - vertex -4.60751 11.6434 0 - vertex -4.06319 11.5774 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.46307 14.4678 0 - vertex -5.06624 11.6776 0 - vertex -4.60751 11.6434 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.33129 14.482 0 - vertex -5.06624 11.6776 0 - vertex -4.46307 14.4678 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.33129 14.482 0 - vertex -5.4334 11.6797 0 - vertex -5.06624 11.6776 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.33129 14.482 0 - vertex -5.70304 11.6495 0 - vertex -5.4334 11.6797 0 + vertex -31.3644 -34.8586 0 + vertex -35.4824 -26.6225 0 + vertex -35.0529 -35.0835 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -6.25117 14.4787 0 - vertex -5.70304 11.6495 0 - vertex -5.33129 14.482 0 + vertex -38.7331 -34.5543 0 + vertex -35.0529 -35.0835 0 + vertex -35.4824 -26.6225 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.70304 11.6495 0 - vertex -6.25117 14.4787 0 - vertex -5.79943 11.6221 0 + vertex -35.0529 -35.0835 0 + vertex -38.7331 -34.5543 0 + vertex -38.4261 -34.9619 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.79943 11.6221 0 - vertex -6.25117 14.4787 0 - vertex -5.8692 11.5867 0 + vertex -18.6886 -22.3738 0 + vertex -24.4076 -24.3815 0 + vertex -18.5428 -26.6889 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -7.22211 14.4578 0 - vertex -5.8692 11.5867 0 - vertex -6.25117 14.4787 0 + vertex -23.8149 -31.5911 0 + vertex -21.28 -33.2523 0 + vertex -23.4462 -30.738 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.8692 11.5867 0 - vertex -7.22211 14.4578 0 - vertex -5.91161 11.5429 0 + vertex -18.5428 -26.6889 0 + vertex -23.4462 -30.738 0 + vertex -21.28 -33.2523 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -9.25643 14.3812 0 - vertex -5.91161 11.5429 0 - vertex -7.22211 14.4578 0 + vertex -24.7956 -33.2498 0 + vertex -21.28 -33.2523 0 + vertex -23.8149 -31.5911 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -3.70285 -2.66292 0 - vertex -17.4002 -11.6639 0 - vertex -6.14058 -19.1411 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.91161 11.5429 0 - vertex -9.25643 14.3812 0 - vertex -5.92592 11.491 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -7.11547 -19.1706 0 - vertex -6.14058 -19.1411 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -7.63584 -19.198 0 - vertex -7.11547 -19.1706 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -8.06691 -19.2358 0 - vertex -7.63584 -19.198 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.06691 -19.2358 0 - vertex -17.3941 -11.77 0 - vertex -8.43701 -19.2929 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -12.0792 -19.1571 0 - vertex -8.43701 -19.2929 0 - vertex -17.3941 -11.77 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -9.98725 14.3241 0 - vertex -5.92592 11.491 0 - vertex -9.25643 14.3812 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.43701 -19.2929 0 - vertex -12.0792 -19.1571 0 - vertex -8.77447 -19.378 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -11.9023 -19.2259 0 - vertex -8.77447 -19.378 0 - vertex -12.0792 -19.1571 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -10.6249 14.238 0 - vertex -5.92592 11.491 0 - vertex -9.98725 14.3241 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.77447 -19.378 0 - vertex -11.9023 -19.2259 0 - vertex -9.10766 -19.4997 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.2428 14.1101 0 - vertex -5.92592 11.491 0 - vertex -10.6249 14.238 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.92592 11.491 0 - vertex -11.2428 14.1101 0 - vertex -11.9142 13.9281 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -11.7723 -19.3375 0 - vertex -9.46489 -19.667 0 - vertex -11.9023 -19.2259 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.6707 -19.9072 0 - vertex -10.3649 -20.1728 0 - vertex -11.6557 -19.6804 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.3649 -20.1728 0 - vertex -11.6899 -19.4898 0 - vertex -11.6557 -19.6804 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.87453 -19.8884 0 - vertex -11.6899 -19.4898 0 - vertex -10.3649 -20.1728 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -11.6899 -19.4898 0 - vertex -9.87453 -19.8884 0 - vertex -11.7723 -19.3375 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.92592 11.491 0 - vertex -11.9142 13.9281 0 - vertex -12.7125 13.6795 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.46489 -19.667 0 - vertex -11.7723 -19.3375 0 - vertex -9.87453 -19.8884 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.10766 -19.4997 0 - vertex -11.9023 -19.2259 0 - vertex -9.46489 -19.667 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.4339 -12.0833 0 - vertex -12.0792 -19.1571 0 - vertex -17.3941 -11.77 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -13.7109 13.3517 0 - vertex -5.92592 11.491 0 - vertex -12.7125 13.6795 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0792 -19.1571 0 - vertex -17.4339 -12.0833 0 - vertex -12.302 -19.1333 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.949 12.9624 0 - vertex -5.92592 11.491 0 - vertex -13.7109 13.3517 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.5116 -12.3759 0 - vertex -12.302 -19.1333 0 - vertex -17.4339 -12.0833 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.0795 12.6436 0 - vertex -5.92592 11.491 0 - vertex -14.949 12.9624 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.6664 -12.8441 0 - vertex -12.302 -19.1333 0 - vertex -17.5116 -12.3759 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -5.92592 11.491 0 - vertex -16.0795 12.6436 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.302 -19.1333 0 - vertex -17.6664 -12.8441 0 - vertex -12.6849 -19.1929 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -16.0795 12.6436 0 - vertex -16.9775 12.4282 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.5514 -11.4978 0 - vertex -16.9775 12.4282 0 - vertex -17.3003 12.3696 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.1466 -14.1495 0 - vertex -12.6849 -19.1929 0 - vertex -17.6664 -12.8441 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.6849 -19.1929 0 - vertex -18.1466 -14.1495 0 - vertex -13.3483 -19.3556 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.3483 -19.3556 0 - vertex -18.1466 -14.1495 0 - vertex -14.1989 -19.5967 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.7537 -15.6836 0 - vertex -14.1989 -19.5967 0 - vertex -18.1466 -14.1495 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1989 -19.5967 0 - vertex -18.7537 -15.6836 0 - vertex -15.1436 -19.8912 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -19.3667 -17.1305 0 - vertex -15.1436 -19.8912 0 - vertex -18.7537 -15.6836 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.1436 -19.8912 0 - vertex -19.3667 -17.1305 0 - vertex -16.9393 -20.461 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -19.4996 -17.3696 0 - vertex -16.9393 -20.461 0 - vertex -19.3667 -17.1305 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9393 -20.461 0 - vertex -19.4996 -17.3696 0 - vertex -17.9865 -20.7653 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -19.6713 -17.584 0 - vertex -17.9865 -20.7653 0 - vertex -19.4996 -17.3696 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -19.8743 -17.7693 0 - vertex -17.9865 -20.7653 0 - vertex -19.6713 -17.584 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.9865 -20.7653 0 - vertex -19.8743 -17.7693 0 - vertex -18.1109 -20.8023 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.1109 -20.8023 0 - vertex -19.8743 -17.7693 0 - vertex -18.2248 -20.8552 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -20.1009 -17.9213 0 - vertex -18.2248 -20.8552 0 - vertex -19.8743 -17.7693 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.2248 -20.8552 0 - vertex -20.1009 -17.9213 0 - vertex -18.3284 -20.924 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -20.3435 -18.0357 0 - vertex -18.3284 -20.924 0 - vertex -20.1009 -17.9213 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.3284 -20.924 0 - vertex -20.3435 -18.0357 0 - vertex -18.4218 -21.0091 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.7355 -20.1677 0 - vertex -10.3649 -20.1728 0 - vertex -11.6707 -19.9072 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.3649 -20.1728 0 - vertex -11.7355 -20.1677 0 - vertex -11.5073 -20.829 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -11.851 -20.4599 0 - vertex -11.5073 -20.829 0 - vertex -11.7355 -20.1677 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0288 -20.9134 0 - vertex -11.5073 -20.829 0 - vertex -11.851 -20.4599 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5073 -20.829 0 - vertex -12.0288 -20.9134 0 - vertex -11.8784 -21.0286 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0594 -21.0513 0 - vertex -11.8784 -21.0286 0 - vertex -12.0288 -20.9134 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.8784 -21.0286 0 - vertex -12.0594 -21.0513 0 - vertex -12.0427 -21.102 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -12.0427 -21.102 0 - vertex -12.0594 -21.0513 0 - vertex -12.0573 -21.0889 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.3267 -22.6747 0 - vertex -17.2249 -22.8126 0 - vertex -17.2578 -22.7276 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4374 -22.6462 0 - vertex -17.2249 -22.8126 0 - vertex -17.3267 -22.6747 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.2249 -22.8126 0 - vertex -17.4374 -22.6462 0 - vertex -17.2226 -22.9371 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.8061 -22.6324 0 - vertex -17.2226 -22.9371 0 - vertex -17.4374 -22.6462 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.2226 -22.9371 0 - vertex -17.8061 -22.6324 0 - vertex -17.2873 -23.335 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.1091 -22.6172 0 - vertex -17.2873 -23.335 0 - vertex -17.8061 -22.6324 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.2873 -23.335 0 - vertex -18.1091 -22.6172 0 - vertex -17.4084 -23.7485 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.3541 -22.5704 0 - vertex -17.4084 -23.7485 0 - vertex -18.1091 -22.6172 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4084 -23.7485 0 - vertex -18.3541 -22.5704 0 - vertex -17.6656 -24.469 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5429 -22.4899 0 - vertex -17.6656 -24.469 0 - vertex -18.3541 -22.5704 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.6769 -22.3738 0 - vertex -17.6656 -24.469 0 - vertex -18.5429 -22.4899 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.6656 -24.469 0 - vertex -18.6769 -22.3738 0 - vertex -18.5311 -26.6889 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.116 -21.2395 0 - vertex -18.6769 -22.3738 0 - vertex -18.7577 -22.2202 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.116 -21.2395 0 - vertex -18.7577 -22.2202 0 - vertex -18.7869 -22.0269 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.4218 -21.0091 0 - vertex -20.3435 -18.0357 0 - vertex -18.5053 -21.1105 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -20.5945 -18.108 0 - vertex -18.5053 -21.1105 0 - vertex -20.3435 -18.0357 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5053 -21.1105 0 - vertex -20.5945 -18.108 0 - vertex -18.5788 -21.2283 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -20.8463 -18.1339 0 - vertex -18.5788 -21.2283 0 - vertex -20.5945 -18.108 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.6874 -20.0641 0 - vertex -18.5788 -21.2283 0 - vertex -22.5978 -19.6581 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.8608 -20.5868 0 - vertex -18.6967 -21.5139 0 - vertex -22.6874 -20.0641 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -23.116 -21.2395 0 - vertex -18.7869 -22.0269 0 - vertex -22.8608 -20.5868 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.6967 -21.5139 0 - vertex -22.8608 -20.5868 0 - vertex -18.766 -21.7922 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5788 -21.2283 0 - vertex -20.8463 -18.1339 0 - vertex -22.5978 -19.6581 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.585 -19.4947 0 - vertex -20.8463 -18.1339 0 - vertex -21.0912 -18.1093 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.594 -19.3555 0 - vertex -21.0912 -18.1093 0 - vertex -21.2545 -18.0693 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.6769 -22.3738 0 - vertex -23.116 -21.2395 0 - vertex -24.3958 -24.3815 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.625 -19.2389 0 - vertex -21.2545 -18.0693 0 - vertex -21.378 -18.0171 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.6782 -19.1432 0 - vertex -21.378 -18.0171 0 - vertex -21.4669 -17.9347 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.7539 -19.0668 0 - vertex -21.4669 -17.9347 0 - vertex -21.5263 -17.8042 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.9739 -18.9651 0 - vertex -21.5263 -17.8042 0 - vertex -21.5614 -17.6077 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.1186 -18.9365 0 - vertex -21.5614 -17.6077 0 - vertex -21.5774 -17.3273 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.766 -21.7922 0 - vertex -22.8608 -20.5868 0 - vertex -18.7869 -22.0269 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5729 -16.4428 0 - vertex -22.9103 -14.3386 0 - vertex -23.3301 -14.2877 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.9412 -14.6683 0 - vertex -21.5879 -15.2616 0 - vertex -21.6284 -15.0493 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.7989 -14.7733 0 - vertex -21.6284 -15.0493 0 - vertex -21.6966 -14.8935 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.6284 -15.0493 0 - vertex -21.7989 -14.7733 0 - vertex -21.9412 -14.6683 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5788 -21.2283 0 - vertex -22.6874 -20.0641 0 - vertex -18.6967 -21.5139 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5879 -15.2616 0 - vertex -21.9412 -14.6683 0 - vertex -22.1296 -14.5577 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5693 -15.5508 0 - vertex -22.1296 -14.5577 0 - vertex -22.3213 -14.4724 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.8463 -18.1339 0 - vertex -22.585 -19.4947 0 - vertex -22.5978 -19.6581 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5693 -15.5508 0 - vertex -22.3213 -14.4724 0 - vertex -22.5778 -14.3998 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.6769 -22.3738 0 - vertex -24.3958 -24.3815 0 - vertex -18.5311 -26.6889 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5693 -15.5508 0 - vertex -22.5778 -14.3998 0 - vertex -22.9103 -14.3386 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.9793 -25.8003 0 - vertex -18.5311 -26.6889 0 - vertex -24.3958 -24.3815 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.5311 -26.6889 0 - vertex -24.9793 -25.8003 0 - vertex -19.7699 -29.7113 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.0912 -18.1093 0 - vertex -22.594 -19.3555 0 - vertex -22.585 -19.4947 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2545 -18.0693 0 - vertex -22.625 -19.2389 0 - vertex -22.594 -19.3555 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.378 -18.0171 0 - vertex -22.6782 -19.1432 0 - vertex -22.625 -19.2389 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.4669 -17.9347 0 - vertex -22.7539 -19.0668 0 - vertex -22.6782 -19.1432 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5263 -17.8042 0 - vertex -22.8524 -19.008 0 - vertex -22.7539 -19.0668 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.6632 -18.9241 0 - vertex -21.5729 -16.4428 0 - vertex -23.3301 -14.2877 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5263 -17.8042 0 - vertex -22.9739 -18.9651 0 - vertex -22.8524 -19.008 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5614 -17.6077 0 - vertex -23.1186 -18.9365 0 - vertex -22.9739 -18.9651 0 + vertex -21.28 -33.2523 0 + vertex -24.7956 -33.2498 0 + vertex -22.458 -35.4568 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -23.4791 -18.9156 0 - vertex -21.5729 -16.4428 0 - vertex -23.6632 -18.9241 0 + vertex -23.6767 -35.9691 0 + vertex -22.458 -35.4568 0 + vertex -24.7956 -33.2498 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.5774 -17.3273 0 - vertex -23.4791 -18.9156 0 - vertex -23.1186 -18.9365 0 + vertex -22.458 -35.4568 0 + vertex -23.6767 -35.9691 0 + vertex -23.007 -35.8619 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -21.5729 -16.4428 0 - vertex -23.4791 -18.9156 0 - vertex -21.5774 -17.3273 0 + vertex -23.6767 -35.9691 0 + vertex -24.7956 -33.2498 0 + vertex -24.4194 -36.2501 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.4767 -14.2125 0 - vertex -23.6632 -18.9241 0 - vertex -23.3301 -14.2877 0 + vertex -27.2791 -36.8782 0 + vertex -24.4194 -36.2501 0 + vertex -24.7956 -33.2498 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.6632 -18.9241 0 - vertex -24.4767 -14.2125 0 - vertex -23.8226 -18.954 0 + vertex -24.4194 -36.2501 0 + vertex -27.2791 -36.8782 0 + vertex -24.9699 -36.888 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.8226 -18.954 0 - vertex -24.4767 -14.2125 0 - vertex -23.9653 -19.0124 0 + vertex -24.9699 -36.888 0 + vertex -27.2791 -36.8782 0 + vertex -25.157 -37.5754 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -26.1077 -14.1654 0 - vertex -23.9653 -19.0124 0 - vertex -24.4767 -14.2125 0 + vertex -22.4212 26.8695 0 + vertex -21.4485 26.3569 0 + vertex -21.2681 26.5576 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.9653 -19.0124 0 - vertex -26.1077 -14.1654 0 - vertex -24.0993 -19.1062 0 + vertex -21.4485 26.3569 0 + vertex -22.4212 26.8695 0 + vertex -22.0473 26.2369 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.0993 -19.1062 0 - vertex -26.1077 -14.1654 0 - vertex -24.2328 -19.2424 0 + vertex -24.8433 26.205 0 + vertex -22.4212 26.8695 0 + vertex -23.8902 27.3484 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.2328 -19.2424 0 - vertex -26.1077 -14.1654 0 - vertex -24.3738 -19.4278 0 + vertex -22.4212 26.8695 0 + vertex -24.8433 26.205 0 + vertex -22.0473 26.2369 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -28.2448 -14.1442 0 - vertex -24.3738 -19.4278 0 - vertex -26.1077 -14.1654 0 + vertex -24.3225 27.6757 0 + vertex -24.8433 26.205 0 + vertex -23.8902 27.3484 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3738 -19.4278 0 - vertex -28.2448 -14.1442 0 - vertex -24.7108 -19.9745 0 + vertex -27.4214 26.3653 0 + vertex -24.3225 27.6757 0 + vertex -24.3632 27.9554 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.78909 -22.7249 0 + vertex -8.46819 -23.4267 0 + vertex -8.55624 -22.9989 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.46819 -23.4267 0 + vertex -8.78909 -22.7249 0 + vertex -9.69161 -22.56 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -8.46819 -23.4267 0 + vertex -9.69161 -22.56 0 + vertex -8.72405 -24.8218 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -31.1223 -16.1487 0 - vertex -24.7108 -19.9745 0 - vertex -28.2448 -14.1442 0 + vertex -10.5461 -22.7271 0 + vertex -8.72405 -24.8218 0 + vertex -9.69161 -22.56 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -31.4477 -16.8607 0 - vertex -24.7108 -19.9745 0 - vertex -31.1223 -16.1487 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.7108 -19.9745 0 - vertex -31.4477 -16.8607 0 - vertex -24.9407 -20.3516 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.9407 -20.3516 0 - vertex -31.4477 -16.8607 0 - vertex -25.1784 -20.695 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.1784 -20.695 0 - vertex -31.4477 -16.8607 0 - vertex -25.4267 -21.0057 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.4267 -21.0057 0 - vertex -31.4477 -16.8607 0 - vertex -25.6884 -21.2849 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.6884 -21.2849 0 - vertex -31.4477 -16.8607 0 - vertex -25.9661 -21.5339 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.9661 -21.5339 0 - vertex -31.4477 -16.8607 0 - vertex -26.2627 -21.7538 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.2627 -21.7538 0 - vertex -31.4477 -16.8607 0 - vertex -26.5809 -21.9457 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.5809 -21.9457 0 - vertex -31.8034 -17.6899 0 - vertex -26.9234 -22.1109 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.9234 -22.1109 0 - vertex -31.8034 -17.6899 0 - vertex -27.2929 -22.2506 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.2929 -22.2506 0 - vertex -31.8034 -17.6899 0 - vertex -27.6923 -22.3658 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.678 -15.2903 0 - vertex -28.2448 -14.1442 0 - vertex -28.9898 -14.1579 0 + vertex -11.3967 -23.0769 0 + vertex -8.72405 -24.8218 0 + vertex -10.5461 -22.7271 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -31.8034 -17.6899 0 - vertex -26.5809 -21.9457 0 - vertex -31.4477 -16.8607 0 + vertex -12.4124 -23.7203 0 + vertex -8.72405 -24.8218 0 + vertex -11.3967 -23.0769 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.5215 -14.964 0 - vertex -28.9898 -14.1579 0 - vertex -29.549 -14.1906 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.6923 -22.3658 0 - vertex -31.8034 -17.6899 0 - vertex -28.1242 -22.4577 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.4158 -14.7057 0 - vertex -29.549 -14.1906 0 - vertex -29.9449 -14.2443 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.377 -14.5514 0 - vertex -29.9449 -14.2443 0 - vertex -30.1999 -14.321 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.9898 -14.1579 0 - vertex -30.5215 -14.964 0 - vertex -30.678 -15.2903 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.377 -14.5514 0 - vertex -30.1999 -14.321 0 - vertex -30.2816 -14.3686 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.377 -14.5514 0 - vertex -30.2816 -14.3686 0 - vertex -30.3364 -14.4227 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.377 -14.5514 0 - vertex -30.3364 -14.4227 0 - vertex -30.3673 -14.4836 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.9449 -14.2443 0 - vertex -30.377 -14.5514 0 - vertex -30.4158 -14.7057 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.549 -14.1906 0 - vertex -30.4158 -14.7057 0 - vertex -30.5215 -14.964 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2448 -14.1442 0 - vertex -30.678 -15.2903 0 - vertex -30.8691 -15.6487 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2448 -14.1442 0 - vertex -30.8691 -15.6487 0 - vertex -31.1223 -16.1487 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.1242 -22.4577 0 - vertex -31.8034 -17.6899 0 - vertex -28.5914 -22.5277 0 + vertex -8.72405 -24.8218 0 + vertex -12.4124 -23.7203 0 + vertex -9.55184 -27.0667 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -32.1476 -18.5412 0 - vertex -28.5914 -22.5277 0 - vertex -31.8034 -17.6899 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.5914 -22.5277 0 - vertex -32.1476 -18.5412 0 - vertex -29.0966 -22.5767 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0966 -22.5767 0 - vertex -32.1476 -18.5412 0 - vertex -29.6427 -22.606 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.6427 -22.606 0 - vertex -32.1476 -18.5412 0 - vertex -30.2322 -22.6168 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2322 -22.6168 0 - vertex -32.1476 -18.5412 0 - vertex -30.868 -22.6102 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.868 -22.6102 0 - vertex -32.1476 -18.5412 0 - vertex -31.8095 -22.5865 0 + vertex -13.1427 -24.3848 0 + vertex -9.55184 -27.0667 0 + vertex -12.4124 -23.7203 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -33.2902 -21.4299 0 - vertex -31.8095 -22.5865 0 - vertex -32.1476 -18.5412 0 + vertex -14.2216 -26.3227 0 + vertex -9.55184 -27.0667 0 + vertex -13.7062 -25.2068 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.8095 -22.5865 0 - vertex -33.2902 -21.4299 0 - vertex -32.5132 -22.5543 0 + vertex -9.55184 -27.0667 0 + vertex -15.3894 -29.1914 0 + vertex -11.5932 -32.143 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.5132 -22.5543 0 - vertex -33.2902 -21.4299 0 - vertex -33.0067 -22.5002 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -33.4325 -21.7956 0 - vertex -33.0067 -22.5002 0 - vertex -33.2902 -21.4299 0 + vertex -9.55184 -27.0667 0 + vertex -13.1427 -24.3848 0 + vertex -13.7062 -25.2068 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.0067 -22.5002 0 - vertex -33.4325 -21.7956 0 - vertex -33.1833 -22.4608 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -33.503 -22.0719 0 - vertex -33.1833 -22.4608 0 - vertex -33.4325 -21.7956 0 + vertex -15.3894 -29.1914 0 + vertex -9.55184 -27.0667 0 + vertex -14.2216 -26.3227 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.1833 -22.4608 0 - vertex -33.503 -22.0719 0 - vertex -33.3177 -22.4108 0 + vertex -16.8281 -32.7116 0 + vertex -11.5932 -32.143 0 + vertex -15.3894 -29.1914 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.3177 -22.4108 0 - vertex -33.503 -22.0719 0 - vertex -33.4135 -22.3486 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -33.5026 -22.1809 0 - vertex -33.4135 -22.3486 0 - vertex -33.503 -22.0719 0 + vertex -11.5932 -32.143 0 + vertex -16.8281 -32.7116 0 + vertex -12.3385 -33.8339 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.4135 -22.3486 0 - vertex -33.5026 -22.1809 0 - vertex -33.4739 -22.2725 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -23.8031 -31.5911 0 - vertex -21.2682 -33.2523 0 - vertex -23.5218 -31.031 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.2375 -32.3527 0 - vertex -21.2682 -33.2523 0 - vertex -23.8031 -31.5911 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2682 -33.2523 0 - vertex -24.2375 -32.3527 0 - vertex -21.6072 -34.0169 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.6072 -34.0169 0 - vertex -24.2375 -32.3527 0 - vertex -21.9074 -34.6287 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -23.5218 -31.031 0 - vertex -21.2682 -33.2523 0 - vertex -23.4513 -30.847 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -24.7839 -33.2498 0 - vertex -21.9074 -34.6287 0 - vertex -24.2375 -32.3527 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.7699 -29.7113 0 - vertex -23.4345 -30.738 0 - vertex -21.2682 -33.2523 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.9074 -34.6287 0 - vertex -24.7839 -33.2498 0 - vertex -22.1824 -35.1035 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.1824 -35.1035 0 - vertex -24.7839 -33.2498 0 - vertex -22.4463 -35.4568 0 + vertex -12.3385 -33.8339 0 + vertex -16.8281 -32.7116 0 + vertex -13.0448 -35.0276 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -23.665 -35.9691 0 - vertex -22.4463 -35.4568 0 - vertex -24.7839 -33.2498 0 + vertex -14.3732 -35.9691 0 + vertex -13.0448 -35.0276 0 + vertex -16.8281 -32.7116 0 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 1 outer loop - vertex -23.4513 -30.847 0 - vertex -21.2682 -33.2523 0 - vertex -23.4345 -30.738 0 + vertex -13.0448 -35.0276 0 + vertex -14.3732 -35.9691 0 + vertex -13.7203 -35.7356 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -14.3732 -35.9691 0 + vertex -16.8281 -32.7116 0 + vertex -14.8949 -36.1495 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -23.4345 -30.738 0 - vertex -19.7699 -29.7113 0 - vertex -23.4571 -30.6716 0 + vertex -16.5846 -36.2152 0 + vertex -14.8949 -36.1495 0 + vertex -16.8281 -32.7116 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.7699 -29.7113 0 - vertex -23.5012 -30.6026 0 - vertex -23.4571 -30.6716 0 + vertex -16.6989 -37.6188 0 + vertex -15.9213 -37.1689 0 + vertex -16.2226 -36.752 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.7699 -29.7113 0 - vertex -23.6433 -30.465 0 - vertex -23.5012 -30.6026 0 + vertex -14.8949 -36.1495 0 + vertex -16.5846 -36.2152 0 + vertex -15.4682 -36.5832 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.4682 -36.5832 0 + vertex -16.2226 -36.752 0 + vertex -15.9213 -37.1689 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.4682 -36.5832 0 + vertex -16.5846 -36.2152 0 + vertex -16.2226 -36.752 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.7285 -35.3062 0 + vertex -16.5846 -36.2152 0 + vertex -16.8281 -32.7116 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.5846 -36.2152 0 + vertex -17.7285 -35.3062 0 + vertex -17.3742 -35.9691 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.3742 -35.9691 0 + vertex -17.7285 -35.3062 0 + vertex -17.6987 -35.8223 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.3766 -20.1728 0 + vertex -11.7016 -19.4898 0 + vertex -11.6824 -19.9072 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.45272 -3.03042 0 + vertex -11.9141 -19.2259 0 + vertex -11.7016 -19.4898 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.45272 -3.03042 0 + vertex -17.4385 -11.5861 0 + vertex -11.9141 -19.2259 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.5299 12.3491 0 + vertex -3.71458 -2.66291 0 + vertex -13.7227 13.3517 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -17.4456 -12.0833 0 + vertex -11.9141 -19.2259 0 + vertex -17.4385 -11.5861 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.9141 -19.2259 0 + vertex -17.4456 -12.0833 0 + vertex -12.3137 -19.1333 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.7993 -11.4712 0 + vertex -3.71458 -2.66291 0 + vertex -17.5299 12.3491 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.71458 -2.66291 0 + vertex -17.7993 -11.4712 0 + vertex -17.4385 -11.5861 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.0298 12.0063 0 + vertex -17.7993 -11.4712 0 + vertex -17.5299 12.3491 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -22.4428 11.7593 0 + vertex -17.7993 -11.4712 0 + vertex -20.0298 12.0063 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.1868 -11.3523 0 + vertex -22.4428 11.7593 0 + vertex -25.7097 11.6586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.4428 11.7593 0 + vertex -27.1868 -11.3523 0 + vertex -17.7993 -11.4712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.6588 11.7129 0 + vertex -27.1868 -11.3523 0 + vertex -25.7097 11.6586 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -34.87 -11.3196 0 + vertex -28.6588 11.7129 0 + vertex -30.1182 11.9311 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.792 -11.6364 0 + vertex -30.1182 11.9311 0 + vertex -30.3887 12.6783 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -35.7552 21.6337 0 + vertex -30.3887 12.6783 0 + vertex -33.0651 20.3093 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.6588 11.7129 0 + vertex -34.87 -11.3196 0 + vertex -27.1868 -11.3523 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.6991 23.0789 0 + vertex -30.3887 12.6783 0 + vertex -35.7552 21.6337 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1182 11.9311 0 + vertex -36.1936 -11.4238 0 + vertex -34.87 -11.3196 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.1182 11.9311 0 + vertex -36.792 -11.6364 0 + vertex -36.1936 -11.4238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3887 12.6783 0 + vertex -37.6991 23.0789 0 + vertex -36.792 -11.6364 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -36.792 -11.6364 0 + vertex -37.6991 23.0789 0 + vertex -37.3951 -12.1929 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -38.3729 23.836 0 + vertex -37.3951 -12.1929 0 + vertex -37.6991 23.0789 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.80393 -35.193 0 + vertex -7.51249 -36.3769 0 + vertex -7.31439 -36.7536 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.99709 -33.5697 0 + vertex -8.33648 -34.384 0 + vertex -7.51249 -36.3769 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.51249 -36.3769 0 + vertex -8.33648 -34.384 0 + vertex -7.98605 -36.0592 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -8.56822 -35.3052 0 + vertex -7.98605 -36.0592 0 + vertex -8.33648 -34.384 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.98605 -36.0592 0 + vertex -8.56822 -35.3052 0 + vertex -8.51129 -35.7129 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.41055 11.926 0 + vertex 1.8467 12.7398 0 + vertex 1.50002 13.1874 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.8467 12.7398 0 + vertex 1.41055 11.926 0 + vertex 1.87173 12.344 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.918757 13.5702 0 + vertex 1.41055 11.926 0 + vertex 1.50002 13.1874 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.918757 13.5702 0 + vertex 0.535115 11.4454 0 + vertex 1.41055 11.926 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 0.918757 13.5702 0 + vertex -0.394194 11.1972 0 + vertex 0.535115 11.4454 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.928844 14.138 0 + vertex -0.394194 11.1972 0 + vertex 0.918757 13.5702 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.928844 14.138 0 + vertex -1.46211 11.1697 0 + vertex -0.394194 11.1972 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.928844 14.138 0 + vertex -2.75335 11.3511 0 + vertex -1.46211 11.1697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.65881 14.4362 0 + vertex -2.75335 11.3511 0 + vertex -0.928844 14.138 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.65881 14.4362 0 + vertex -5.07797 11.6776 0 + vertex -2.75335 11.3511 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.23385 14.4578 0 + vertex -5.07797 11.6776 0 + vertex -3.65881 14.4362 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.07797 11.6776 0 + vertex -7.23385 14.4578 0 + vertex -5.71478 11.6495 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.71478 11.6495 0 + vertex -7.23385 14.4578 0 + vertex -5.93765 11.491 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -13.7227 13.3517 0 + vertex -5.93765 11.491 0 + vertex -10.6367 14.238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.99153 10.6633 0 + vertex -13.7227 13.3517 0 + vertex -3.71458 -2.66291 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.45272 -3.03042 0 + vertex -8.78621 -19.378 0 + vertex -7.1272 -19.1706 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.45272 -3.03042 0 + vertex -11.7016 -19.4898 0 + vertex -8.78621 -19.378 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -11.7016 -19.4898 0 + vertex -10.3766 -20.1728 0 + vertex -8.78621 -19.378 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.8627 -20.4599 0 + vertex -10.3766 -20.1728 0 + vertex -11.6824 -19.9072 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -10.3766 -20.1728 0 + vertex -11.8627 -20.4599 0 + vertex -12.0544 -21.102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -12.3137 -19.1333 0 + vertex -17.4456 -12.0833 0 + vertex -15.1553 -19.8912 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.3785 -17.1305 0 + vertex -15.1553 -19.8912 0 + vertex -17.4456 -12.0833 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.1553 -19.8912 0 + vertex -19.3785 -17.1305 0 + vertex -17.9982 -20.7653 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -19.683 -17.584 0 + vertex -17.9982 -20.7653 0 + vertex -19.3785 -17.1305 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.1126 -17.9213 0 + vertex -17.9982 -20.7653 0 + vertex -19.683 -17.584 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.9982 -20.7653 0 + vertex -20.1126 -17.9213 0 + vertex -18.4336 -21.0091 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -17.8179 -22.6324 0 + vertex -17.299 -23.335 0 + vertex -17.2695 -22.7276 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.3659 -22.5704 0 + vertex -17.299 -23.335 0 + vertex -17.8179 -22.6324 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.3659 -22.5704 0 + vertex -18.5428 -26.6889 0 + vertex -17.299 -23.335 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.6886 -22.3738 0 + vertex -18.5428 -26.6889 0 + vertex -18.3659 -22.5704 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.7084 -21.5139 0 + vertex -22.6991 -20.0641 0 + vertex -18.7986 -22.0269 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -20.6062 -18.108 0 + vertex -18.4336 -21.0091 0 + vertex -20.1126 -17.9213 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.4336 -21.0091 0 + vertex -20.6062 -18.108 0 + vertex -18.7084 -21.5139 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.6991 -20.0641 0 + vertex -20.6062 -18.108 0 + vertex -22.6057 -19.3555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.6062 -18.108 0 + vertex -22.6991 -20.0641 0 + vertex -18.7084 -21.5139 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.6057 -19.3555 0 + vertex -20.6062 -18.108 0 + vertex -21.1029 -18.1093 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -23.1278 -21.2395 0 + vertex -18.7986 -22.0269 0 + vertex -22.6991 -20.0641 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.6057 -19.3555 0 + vertex -21.1029 -18.1093 0 + vertex -21.3898 -18.0171 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.8641 -19.008 0 + vertex -21.3898 -18.0171 0 + vertex -21.538 -17.8042 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.4908 -18.9156 0 + vertex -21.538 -17.8042 0 + vertex -21.5846 -16.4428 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1413 -14.5577 0 + vertex -21.5846 -16.4428 0 + vertex -21.6401 -15.0493 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.1413 -14.5577 0 + vertex -21.6401 -15.0493 0 + vertex -21.8106 -14.7733 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -18.7986 -22.0269 0 + vertex -23.1278 -21.2395 0 + vertex -18.6886 -22.3738 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5846 -16.4428 0 + vertex -22.1413 -14.5577 0 + vertex -23.3419 -14.2877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.4076 -24.3815 0 + vertex -18.6886 -22.3738 0 + vertex -23.1278 -21.2395 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.28 -33.2523 0 + vertex -22.458 -35.4568 0 + vertex -21.9191 -34.6287 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.3898 -18.0171 0 + vertex -22.8641 -19.008 0 + vertex -22.6057 -19.3555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.5846 -16.4428 0 + vertex -23.3419 -14.2877 0 + vertex -23.4908 -18.9156 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -21.538 -17.8042 0 + vertex -23.4908 -18.9156 0 + vertex -22.8641 -19.008 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -23.3419 -14.2877 0 + vertex -24.1111 -19.1062 0 + vertex -23.4908 -18.9156 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.1195 -14.1654 0 + vertex -24.1111 -19.1062 0 + vertex -23.3419 -14.2877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.1111 -19.1062 0 + vertex -26.1195 -14.1654 0 + vertex -24.7225 -19.9745 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -30.8809 -15.6487 0 + vertex -24.7225 -19.9745 0 + vertex -26.1195 -14.1654 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -24.7225 -19.9745 0 + vertex -30.8809 -15.6487 0 + vertex -25.7001 -21.2849 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -32.1593 -18.5412 0 + vertex -25.7001 -21.2849 0 + vertex -30.8809 -15.6487 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8809 -15.6487 0 + vertex -26.1195 -14.1654 0 + vertex -29.5608 -14.1906 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.3887 -14.5514 0 + vertex -29.5608 -14.1906 0 + vertex -30.2116 -14.321 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -29.5608 -14.1906 0 + vertex -30.3887 -14.5514 0 + vertex -30.8809 -15.6487 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.7001 -21.2849 0 + vertex -32.1593 -18.5412 0 + vertex -26.9351 -22.1109 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -26.9351 -22.1109 0 + vertex -32.1593 -18.5412 0 + vertex -28.6031 -22.5277 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.6031 -22.5277 0 + vertex -32.1593 -18.5412 0 + vertex -30.8797 -22.6102 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex -33.3019 -21.4299 0 + vertex -30.8797 -22.6102 0 + vertex -32.1593 -18.5412 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -30.8797 -22.6102 0 + vertex -33.3019 -21.4299 0 + vertex -32.5249 -22.5543 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -33.3019 -21.4299 0 + vertex -33.3295 -22.4108 0 + vertex -32.5249 -22.5543 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -23.8399 -30.3412 0 - vertex -19.7699 -29.7113 0 - vertex -24.9793 -25.8003 0 + vertex -33.3295 -22.4108 0 + vertex -33.3019 -21.4299 0 + vertex -33.5147 -22.0719 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -19.7699 -29.7113 0 - vertex -23.8399 -30.3412 0 - vertex -23.6433 -30.465 0 + vertex 14.2455 -2.23644 0 + vertex 14.2516 -3.15818 0 + vertex 14.333 -2.7489 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.2455 -2.23644 0 + vertex 13.8131 -3.7697 0 + vertex 14.2516 -3.15818 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.172 -4.2601 0 + vertex 14.2455 -2.23644 0 + vertex 13.5923 -0.94501 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.2455 -2.23644 0 + vertex 13.172 -4.2601 0 + vertex 13.8131 -3.7697 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5923 -0.94501 0 + vertex 12.4032 -4.58609 0 + vertex 13.172 -4.2601 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.2758 -4.53506 0 + vertex 13.5923 -0.94501 0 + vertex 12.3489 0.629998 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5923 -0.94501 0 + vertex 11.5814 -4.70438 0 + vertex 12.4032 -4.58609 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.74282 -3.09522 0 + vertex 12.3489 0.629998 0 + vertex 10.5724 2.40247 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.5923 -0.94501 0 + vertex 10.2758 -4.53506 0 + vertex 11.5814 -4.70438 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.41545 -1.76788 0 + vertex 10.5724 2.40247 0 + vertex 9.13441 3.60373 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3489 0.629998 0 + vertex 9.01294 -4.00814 0 + vertex 10.2758 -4.53506 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.6091 0.441775 0 + vertex 9.13441 3.60373 0 + vertex 8.18559 4.25764 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.3489 0.629998 0 + vertex 7.74282 -3.09522 0 + vertex 9.01294 -4.00814 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.5724 2.40247 0 + vertex 6.41545 -1.76788 0 + vertex 7.74282 -3.09522 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.39665 0.754678 0 + vertex 8.18559 4.25764 0 + vertex 5.26682 5.76024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.13441 3.60373 0 + vertex 4.6091 0.441775 0 + vertex 6.41545 -1.76788 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.18559 4.25764 0 + vertex 4.39665 0.754678 0 + vertex 4.6091 0.441775 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.66409 7.13679 0 + vertex 4.39665 0.754678 0 + vertex 5.26682 5.76024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.39665 0.754678 0 + vertex 1.66409 7.13679 0 + vertex 4.24084 0.464987 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.55278 -2.51803 0 + vertex 4.24084 0.464987 0 + vertex 1.66409 7.13679 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.24084 0.464987 0 + vertex 1.09298 -4.60426 0 + vertex 3.9592 -5.58648 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.55278 -2.51803 0 + vertex 1.66409 7.13679 0 + vertex -0.248642 7.94666 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.24084 0.464987 0 + vertex -1.72768 -3.30659 0 + vertex 1.09298 -4.60426 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.55278 -2.51803 0 + vertex -0.248642 7.94666 0 + vertex -2.78119 9.30203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.24084 0.464987 0 + vertex -3.55278 -2.51803 0 + vertex -1.72768 -3.30659 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -4.99153 10.6633 0 + vertex -3.55278 -2.51803 0 + vertex -2.78119 9.30203 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -1.19093 -26.1306 0 + vertex -4.26405 -24.3543 0 + vertex -2.25121 -28.0146 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.4624 -26.9141 0 - vertex -23.8399 -30.3412 0 - vertex -24.9793 -25.8003 0 + vertex -3.89417 -22.8317 0 + vertex 0.168338 -24.355 0 + vertex -3.85646 -21.6547 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.8399 -30.3412 0 - vertex -25.4624 -26.9141 0 - vertex -24.0701 -30.2475 0 + vertex 3.72385 -21.1527 0 + vertex -4.06681 -20.6308 0 + vertex 1.84511 -22.661 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.0701 -30.2475 0 - vertex -25.4624 -26.9141 0 - vertex -24.2803 -30.1833 0 + vertex -3.55278 -2.51803 0 + vertex -4.99153 10.6633 0 + vertex -3.71458 -2.66291 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -13.7227 13.3517 0 + vertex -4.99153 10.6633 0 + vertex -5.93765 11.491 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.854 -7.59505 0 + vertex -5.57075 -19.2012 0 + vertex -4.70045 -19.8327 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.8688 -27.7587 0 - vertex -24.2803 -30.1833 0 - vertex -25.4624 -26.9141 0 + vertex -10.6367 14.238 0 + vertex -5.93765 11.491 0 + vertex -7.23385 14.4578 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.2803 -30.1833 0 - vertex -25.8688 -27.7587 0 - vertex -24.455 -30.1541 0 + vertex -2.05653 -4.03047 0 + vertex -7.1272 -19.1706 0 + vertex -5.57075 -19.2012 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.455 -30.1541 0 - vertex -25.8688 -27.7587 0 - vertex -24.5406 -30.1604 0 + vertex 7.03104 -4.97268 0 + vertex 7.21237 -5.88439 0 + vertex 7.79727 -5.75259 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.81183 -5.98051 0 + vertex 7.03104 -4.97268 0 + vertex 5.97791 -3.63939 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.03104 -4.97268 0 + vertex 5.81183 -5.98051 0 + vertex 7.21237 -5.88439 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.9592 -5.58648 0 + vertex 5.97791 -3.63939 0 + vertex 5.02006 -2.01238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.9592 -5.58648 0 + vertex 5.02006 -2.01238 0 + vertex 4.37015 -0.506109 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.97791 -3.63939 0 + vertex 3.9592 -5.58648 0 + vertex 5.81183 -5.98051 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.9592 -5.58648 0 + vertex 4.37015 -0.506109 0 + vertex 4.24084 0.464987 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6656 -34.4466 0 + vertex 12.1385 -34.7994 0 + vertex 12.2351 -35.1874 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.7938 -32.2631 0 + vertex 11.871 -34.5351 0 + vertex 14.6656 -34.4466 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 14.6656 -34.4466 0 + vertex 11.871 -34.5351 0 + vertex 12.1385 -34.7994 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.0506 -28.0911 0 - vertex -24.5406 -30.1604 0 - vertex -25.8688 -27.7587 0 + vertex 10.915 -33.0747 0 + vertex 11.871 -34.5351 0 + vertex 11.4887 -31.4602 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.5406 -30.1604 0 - vertex -26.0506 -28.0911 0 - vertex -24.6311 -30.1847 0 + vertex 11.871 -34.5351 0 + vertex 10.915 -33.0747 0 + vertex 11.4551 -34.4353 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.2221 -28.3696 0 - vertex -24.6311 -30.1847 0 - vertex -26.0506 -28.0911 0 + vertex 10.7197 -33.9677 0 + vertex 11.4551 -34.4353 0 + vertex 10.915 -33.0747 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.6311 -30.1847 0 - vertex -26.2221 -28.3696 0 - vertex -24.8452 -30.2998 0 + vertex 11.4551 -34.4353 0 + vertex 10.7197 -33.9677 0 + vertex 10.9006 -34.3507 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.858 -14.1239 0 + vertex 13.2867 -16.8469 0 + vertex 14.1246 -14.3424 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.417 -13.7469 0 + vertex 13.2867 -16.8469 0 + vertex 12.858 -14.1239 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.417 -13.7469 0 + vertex 12.058 -19.7199 0 + vertex 13.2867 -16.8469 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.058 -19.7199 0 + vertex 12.417 -13.7469 0 + vertex 12.4073 -13.2773 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.3861 -28.5987 0 - vertex -24.8452 -30.2998 0 - vertex -26.2221 -28.3696 0 + vertex 11.8088 29.3224 0 + vertex 15.0577 29.0611 0 + vertex 12.0187 29.9363 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.122 28.0941 0 + vertex 11.7374 28.4518 0 + vertex 11.8052 27.5343 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.0577 29.0611 0 + vertex 11.8088 29.3224 0 + vertex 11.7374 28.4518 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.122 28.0941 0 + vertex 11.8052 27.5343 0 + vertex 12.0123 26.7794 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.122 28.0941 0 + vertex 12.0123 26.7794 0 + vertex 12.5486 25.9653 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.1542 17.4223 0 + vertex 24.7931 16.6725 0 + vertex 24.7174 17.1695 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 24.1542 17.4223 0 + vertex 23.3802 15.8262 0 + vertex 24.7931 16.6725 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.547 17.5015 0 + vertex 23.3802 15.8262 0 + vertex 24.1542 17.4223 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 22.547 17.5015 0 + vertex 21.1653 14.8489 0 + vertex 23.3802 15.8262 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2159 17.5562 0 + vertex 21.1653 14.8489 0 + vertex 22.547 17.5015 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2159 17.5562 0 + vertex 20.0668 14.6265 0 + vertex 21.1653 14.8489 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 18.4164 15.1559 0 + vertex 20.2159 17.5562 0 + vertex 19.8437 17.7553 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 16.5954 15.8977 0 + vertex 19.8437 17.7553 0 + vertex 19.5351 18.2611 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.2045 16.623 0 + vertex 19.5351 18.2611 0 + vertex 19.0948 20.2262 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.155 22.8321 0 + vertex 19.0948 20.2262 0 + vertex 18.6529 22.0992 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.2159 17.5562 0 + vertex 18.4164 15.1559 0 + vertex 20.0668 14.6265 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 13.99 17.4864 0 + vertex 19.0948 20.2262 0 + vertex 17.155 22.8321 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.8437 17.7553 0 + vertex 16.5954 15.8977 0 + vertex 18.4164 15.1559 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 12.6982 18.6425 0 + vertex 17.155 22.8321 0 + vertex 15.5055 23.4995 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.5351 18.2611 0 + vertex 15.2045 16.623 0 + vertex 16.5954 15.8977 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9729 20.5521 0 + vertex 15.5055 23.4995 0 + vertex 14.0164 24.1527 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0948 20.2262 0 + vertex 13.99 17.4864 0 + vertex 15.2045 16.623 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.9729 20.5521 0 + vertex 14.0164 24.1527 0 + vertex 13.0733 24.7212 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 17.155 22.8321 0 + vertex 12.6982 18.6425 0 + vertex 13.99 17.4864 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.71033 23.0922 0 + vertex 13.0733 24.7212 0 + vertex 12.1975 25.5292 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.07032 24.476 0 + vertex 12.1975 25.5292 0 + vertex 11.5037 26.4501 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 8.51885 25.3107 0 + vertex 11.5037 26.4501 0 + vertex 11.1066 27.3577 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 15.5055 23.4995 0 + vertex 10.9729 20.5521 0 + vertex 12.6982 18.6425 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.91411 25.7528 0 + vertex 11.1066 27.3577 0 + vertex 11.0411 28.3898 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.5458 -28.7827 0 - vertex -24.8452 -30.2998 0 - vertex -26.3861 -28.5987 0 + vertex 4.30515 36.0346 0 + vertex 12.0544 30.7144 0 + vertex 4.72188 37.0399 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.8452 -30.2998 0 - vertex -26.5458 -28.7827 0 - vertex -25.1341 -30.5242 0 + vertex 12.0544 30.7144 0 + vertex 4.30515 36.0346 0 + vertex 11.5971 30.3591 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.7039 -28.9262 0 - vertex -25.1341 -30.5242 0 - vertex -26.5458 -28.7827 0 + vertex 3.57109 31.3388 0 + vertex 11.5971 30.3591 0 + vertex 3.93589 34.5584 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -25.1341 -30.5242 0 - vertex -26.7039 -28.9262 0 - vertex -25.5344 -30.8827 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -26.8635 -29.0336 0 - vertex -25.5344 -30.8827 0 - vertex -26.7039 -28.9262 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.0275 -29.1093 0 - vertex -25.5344 -30.8827 0 - vertex -26.8635 -29.0336 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.1989 -29.1579 0 - vertex -25.5344 -30.8827 0 - vertex -27.0275 -29.1093 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.5344 -30.8827 0 - vertex -27.1989 -29.1579 0 - vertex -26.8166 -32.1012 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.3805 -29.1838 0 - vertex -26.8166 -32.1012 0 - vertex -27.1989 -29.1579 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.5755 -29.1914 0 - vertex -26.8166 -32.1012 0 - vertex -27.3805 -29.1838 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.9775 -29.1782 0 - vertex -26.8166 -32.1012 0 - vertex -27.5755 -29.1914 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.8166 -32.1012 0 - vertex -27.9775 -29.1782 0 - vertex -27.3602 -32.5933 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.0989 -29.15 0 - vertex -27.3602 -32.5933 0 - vertex -27.9775 -29.1782 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.3602 -32.5933 0 - vertex -28.0989 -29.15 0 - vertex -27.924 -33.0516 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.176 -29.097 0 - vertex -27.924 -33.0516 0 - vertex -28.0989 -29.15 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.2461 -34.4632 0 - vertex -28.176 -29.097 0 - vertex -28.2154 -29.0113 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.176 -29.097 0 - vertex -28.5012 -33.4718 0 - vertex -27.924 -33.0516 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.1303 -25.4759 0 - vertex -28.2154 -29.0113 0 - vertex -28.2235 -28.8853 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.0734 -25.6205 0 - vertex -27.9393 -26.9734 0 - vertex -28.7678 -25.6646 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -29.9179 -25.5457 0 - vertex -27.9393 -26.9734 0 - vertex -29.0734 -25.6205 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.9393 -26.9734 0 - vertex -29.9179 -25.5457 0 - vertex -28.1721 -28.4809 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.9759 -25.4949 0 - vertex -28.1721 -28.4809 0 - vertex -29.9179 -25.5457 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.1721 -28.4809 0 - vertex -30.9759 -25.4949 0 - vertex -28.2235 -28.8853 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -32.1303 -25.4759 0 - vertex -28.2235 -28.8853 0 - vertex -30.9759 -25.4949 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.176 -29.097 0 - vertex -29.0852 -33.8499 0 - vertex -28.5012 -33.4718 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.176 -29.097 0 - vertex -29.669 -34.1817 0 - vertex -29.0852 -33.8499 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2154 -29.0113 0 - vertex -32.1303 -25.4759 0 - vertex -36.4516 -28.8697 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.176 -29.097 0 - vertex -30.2461 -34.4632 0 - vertex -29.669 -34.1817 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2154 -29.0113 0 - vertex -36.4516 -28.8697 0 - vertex -30.8095 -34.6902 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2154 -29.0113 0 - vertex -30.8095 -34.6902 0 - vertex -30.2461 -34.4632 0 + vertex 11.5971 30.3591 0 + vertex 4.30515 36.0346 0 + vertex 3.93589 34.5584 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -31.9023 -34.9414 0 - vertex -30.8095 -34.6902 0 - vertex -36.4516 -28.8697 0 + vertex 4.3138 28.4461 0 + vertex 11.5971 30.3591 0 + vertex 3.57109 31.3388 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.8095 -34.6902 0 - vertex -31.5797 -34.902 0 - vertex -31.3526 -34.8586 0 + vertex 11.5971 30.3591 0 + vertex 4.3138 28.4461 0 + vertex 5.72413 26.6445 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -30.8095 -34.6902 0 - vertex -31.9023 -34.9414 0 - vertex -31.5797 -34.902 0 + vertex 4.3138 28.4461 0 + vertex 3.57109 31.3388 0 + vertex 3.67763 29.7129 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -31.9023 -34.9414 0 - vertex -36.4516 -28.8697 0 - vertex -32.7769 -35.0076 0 + vertex -6.41168 -29.738 0 + vertex -2.25121 -28.0146 0 + vertex -4.26405 -24.3543 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.4707 -26.6225 0 - vertex -32.1303 -25.4759 0 - vertex -34.9509 -25.4747 0 + vertex -2.25121 -28.0146 0 + vertex -6.41168 -29.738 0 + vertex -3.14673 -30.0798 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.4516 -28.8697 0 - vertex -32.1303 -25.4759 0 - vertex -35.4707 -26.6225 0 + vertex -3.14673 -30.0798 0 + vertex -6.41168 -29.738 0 + vertex -3.7659 -32.0301 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -32.7769 -35.0076 0 - vertex -36.4516 -28.8697 0 - vertex -33.8615 -35.0556 0 + vertex 33.8444 -30.1753 0 + vertex 30.1062 -30.7807 0 + vertex 30.2029 -31.1764 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 30.7817 -27.1595 0 + vertex 29.6885 -30.4984 0 + vertex 30.1062 -30.7807 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -37.5165 -31.4193 0 - vertex -33.8615 -35.0556 0 - vertex -36.4516 -28.8697 0 + vertex 28.9763 -27.4135 0 + vertex 29.6885 -30.4984 0 + vertex 30.7817 -27.1595 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -33.8615 -35.0556 0 - vertex -37.5165 -31.4193 0 - vertex -35.0412 -35.0835 0 + vertex 29.6885 -30.4984 0 + vertex 28.9763 -27.4135 0 + vertex 29.2916 -30.4642 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -35.0412 -35.0835 0 - vertex -37.5165 -31.4193 0 - vertex -36.2012 -35.0898 0 + vertex 28.9763 -27.4135 0 + vertex 28.199 -31.2235 0 + vertex 29.2916 -30.4642 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -38.3711 -33.5534 0 - vertex -36.2012 -35.0898 0 - vertex -37.5165 -31.4193 0 + vertex 25.3774 -27.4375 0 + vertex 28.199 -31.2235 0 + vertex 28.9763 -27.4135 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -36.2012 -35.0898 0 - vertex -38.3711 -33.5534 0 - vertex -37.2267 -35.0727 0 + vertex 28.199 -31.2235 0 + vertex 25.3774 -27.4375 0 + vertex 26.4192 -32.7448 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -37.2267 -35.0727 0 - vertex -38.3711 -33.5534 0 - vertex -38.0027 -35.0306 0 + vertex 25.3774 -27.4375 0 + vertex 24.9271 -33.7368 0 + vertex 26.4192 -32.7448 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -38.6277 -34.2404 0 - vertex -38.0027 -35.0306 0 - vertex -38.3711 -33.5534 0 + vertex 19.5138 -29.5327 0 + vertex 24.9271 -33.7368 0 + vertex 25.3774 -27.4375 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.0027 -35.0306 0 - vertex -38.6277 -34.2404 0 - vertex -38.2613 -34.9997 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.2613 -34.9997 0 - vertex -38.6277 -34.2404 0 - vertex -38.4144 -34.9619 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.4144 -34.9619 0 - vertex -38.6277 -34.2404 0 - vertex -38.5336 -34.8886 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.6277 -34.2404 0 - vertex -38.6312 -34.7874 0 - vertex -38.5336 -34.8886 0 + vertex 24.9271 -33.7368 0 + vertex 19.5138 -29.5327 0 + vertex 23.5816 -34.2758 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -38.7214 -34.5543 0 - vertex -38.6312 -34.7874 0 - vertex -38.6277 -34.2404 0 + vertex 19.3087 -31.0557 0 + vertex 23.5816 -34.2758 0 + vertex 19.5138 -29.5327 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -38.6312 -34.7874 0 - vertex -38.7214 -34.5543 0 - vertex -38.6971 -34.6715 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -23.3082 -35.9449 0 - vertex -22.4463 -35.4568 0 - vertex -23.665 -35.9691 0 + vertex 22.2417 -34.4379 0 + vertex 19.3087 -31.0557 0 + vertex 21.4183 -34.349 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.5782 -35.5929 0 - vertex -23.3082 -35.9449 0 - vertex -22.7126 -35.7044 0 + vertex 19.9054 -28.0436 0 + vertex 25.3774 -27.4375 0 + vertex 20.1129 -27.4424 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.7126 -35.7044 0 - vertex -23.3082 -35.9449 0 - vertex -22.8511 -35.7934 0 + vertex 19.5138 -29.5327 0 + vertex 25.3774 -27.4375 0 + vertex 19.9054 -28.0436 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -22.8511 -35.7934 0 - vertex -23.3082 -35.9449 0 - vertex -22.9953 -35.8619 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.9953 -35.8619 0 - vertex -23.3082 -35.9449 0 - vertex -23.1471 -35.9117 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.4463 -35.4568 0 - vertex -23.3082 -35.9449 0 - vertex -22.5782 -35.5929 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.665 -35.9691 0 - vertex -24.7839 -33.2498 0 - vertex -23.8593 -35.9891 0 + vertex 23.5816 -34.2758 0 + vertex 19.3087 -31.0557 0 + vertex 22.2417 -34.4379 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -25.4011 -34.2168 0 - vertex -23.8593 -35.9891 0 - vertex -24.7839 -33.2498 0 + vertex 19.3085 -32.3556 0 + vertex 21.4183 -34.349 0 + vertex 19.3087 -31.0557 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -23.8593 -35.9891 0 - vertex -25.4011 -34.2168 0 - vertex -24.0497 -36.0458 0 + vertex 21.4183 -34.349 0 + vertex 19.3085 -32.3556 0 + vertex 20.6651 -34.0963 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.0497 -36.0458 0 - vertex -25.4011 -34.2168 0 - vertex -24.2334 -36.1344 0 + vertex 20.6651 -34.0963 0 + vertex 19.3085 -32.3556 0 + vertex 20.0228 -33.6987 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 20.0228 -33.6987 0 + vertex 19.3085 -32.3556 0 + vertex 19.5322 -33.1754 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 45.3585 -24.1311 0 + vertex 37.9618 -36.3241 0 + vertex 38.113 -36.8464 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.0482 -35.1877 0 - vertex -24.2334 -36.1344 0 - vertex -25.4011 -34.2168 0 + vertex 36.8272 -33.2656 0 + vertex 37.9618 -36.3241 0 + vertex 38.2188 -29.6614 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.2334 -36.1344 0 - vertex -26.0482 -35.1877 0 - vertex -24.4077 -36.2501 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.4077 -36.2501 0 - vertex -26.0482 -35.1877 0 - vertex -24.57 -36.3881 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.57 -36.3881 0 - vertex -26.0482 -35.1877 0 - vertex -24.7177 -36.5437 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.7177 -36.5437 0 - vertex -26.0482 -35.1877 0 - vertex -24.8479 -36.7119 0 + vertex 37.9618 -36.3241 0 + vertex 36.8272 -33.2656 0 + vertex 37.1913 -36.0604 0 endloop endfacet facet normal -0 0 1 outer loop - vertex -26.6839 -36.0968 0 - vertex -24.8479 -36.7119 0 - vertex -26.0482 -35.1877 0 + vertex 36.2918 -35.0946 0 + vertex 37.1913 -36.0604 0 + vertex 36.8272 -33.2656 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.8479 -36.7119 0 - vertex -26.6839 -36.0968 0 - vertex -24.9582 -36.888 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.0457 -37.0673 0 - vertex -26.6839 -36.0968 0 - vertex -25.1078 -37.2448 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.9582 -36.888 0 - vertex -26.6839 -36.0968 0 - vertex -25.0457 -37.0673 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2799 26.5937 0 - vertex -21.2669 26.4994 0 - vertex -21.2563 26.5576 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.3473 26.6332 0 - vertex -21.2669 26.4994 0 - vertex -21.2799 26.5937 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.2669 26.4994 0 - vertex -21.3473 26.6332 0 - vertex -21.2997 26.4466 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.3473 26.6332 0 - vertex -21.3558 26.3992 0 - vertex -21.2997 26.4466 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.3473 26.6332 0 - vertex -21.4368 26.3569 0 - vertex -21.3558 26.3992 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5951 26.7172 0 - vertex -21.4368 26.3569 0 - vertex -21.3473 26.6332 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5951 26.7172 0 - vertex -21.6785 26.2874 0 - vertex -21.4368 26.3569 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.9618 26.7994 0 - vertex -21.6785 26.2874 0 - vertex -21.5951 26.7172 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.9618 26.7994 0 - vertex -22.0356 26.2369 0 - vertex -21.6785 26.2874 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.4095 26.8695 0 - vertex -22.0356 26.2369 0 - vertex -21.9618 26.7994 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.4095 26.8695 0 - vertex -22.5186 26.2045 0 - vertex -22.0356 26.2369 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.8078 26.9423 0 - vertex -22.5186 26.2045 0 - vertex -22.4095 26.8695 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -22.8078 26.9423 0 - vertex -23.1385 26.1891 0 - vertex -22.5186 26.2045 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.1972 27.0531 0 - vertex -23.1385 26.1891 0 - vertex -22.8078 26.9423 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.56 27.1917 0 - vertex -23.1385 26.1891 0 - vertex -23.1972 27.0531 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.8316 26.205 0 - vertex -23.56 27.1917 0 - vertex -23.8785 27.3484 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.8316 26.205 0 - vertex -23.8785 27.3484 0 - vertex -24.1346 27.513 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.8316 26.205 0 - vertex -24.1346 27.513 0 - vertex -24.3107 27.6757 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.56 27.1917 0 - vertex -24.8316 26.205 0 - vertex -23.1385 26.1891 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3632 27.7532 0 - vertex -24.8316 26.205 0 - vertex -24.3107 27.6757 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.3751 26.2567 0 - vertex -24.3632 27.7532 0 - vertex -24.3889 27.8265 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.1768 -3.32005 0 - vertex 14.3448 -2.7489 0 - vertex 14.3217 -2.5049 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.3448 -2.7489 0 - vertex 14.2634 -3.15818 0 - vertex 14.3256 -2.96711 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.0741 -3.47638 0 - vertex 14.3217 -2.5049 0 - vertex 14.2572 -2.23644 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.3448 -2.7489 0 - vertex 14.1768 -3.32005 0 - vertex 14.2634 -3.15818 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.8248 -3.7697 0 - vertex 14.2572 -2.23644 0 - vertex 14.1524 -1.94488 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.3217 -2.5049 0 - vertex 14.0741 -3.47638 0 - vertex 14.1768 -3.32005 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.5249 -4.03275 0 - vertex 14.1524 -1.94488 0 - vertex 14.008 -1.63155 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.1837 -4.26011 0 - vertex 14.008 -1.63155 0 - vertex 13.8249 -1.29782 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.2572 -2.23644 0 - vertex 13.8248 -3.7697 0 - vertex 14.0741 -3.47638 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.4149 -4.5861 0 - vertex 13.8249 -1.29782 0 - vertex 13.604 -0.945011 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.1524 -1.94488 0 - vertex 13.5249 -4.03275 0 - vertex 13.8248 -3.7697 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.26 -4.69402 0 - vertex 13.604 -0.945011 0 - vertex 13.3463 -0.574481 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.008 -1.63155 0 - vertex 13.1837 -4.26011 0 - vertex 13.5249 -4.03275 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.608 -4.6098 0 - vertex 13.3463 -0.574481 0 - vertex 13.0525 -0.187573 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.8249 -1.29782 0 - vertex 12.8106 -4.44636 0 - vertex 13.1837 -4.26011 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.65389 -4.31807 0 - vertex 13.0525 -0.187573 0 - vertex 12.7237 0.214368 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.8249 -1.29782 0 - vertex 12.4149 -4.5861 0 - vertex 12.8106 -4.44636 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.02468 -4.00814 0 - vertex 12.7237 0.214368 0 - vertex 12.3607 0.629996 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.604 -0.945011 0 - vertex 12.006 -4.67391 0 - vertex 12.4149 -4.5861 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.604 -0.945011 0 - vertex 11.5931 -4.70438 0 - vertex 12.006 -4.67391 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.0755 -3.36119 0 - vertex 12.3607 0.629996 0 - vertex 11.5355 1.49693 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.604 -0.945011 0 - vertex 11.26 -4.69402 0 - vertex 11.5931 -4.70438 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.3463 -0.574481 0 - vertex 10.9319 -4.66264 0 - vertex 11.26 -4.69402 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.3463 -0.574481 0 - vertex 10.608 -4.6098 0 - vertex 10.9319 -4.66264 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.10115 -2.48513 0 - vertex 11.5355 1.49693 0 - vertex 10.5842 2.40247 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.0525 -0.187573 0 - vertex 10.2875 -4.53506 0 - vertex 10.608 -4.6098 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.0525 -0.187573 0 - vertex 9.96977 -4.43796 0 - vertex 10.2875 -4.53506 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.0525 -0.187573 0 - vertex 9.65389 -4.31807 0 - vertex 9.96977 -4.43796 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.79491 -1.04264 0 - vertex 10.5842 2.40247 0 - vertex 9.61741 3.25086 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.7237 0.214368 0 - vertex 9.33912 -4.17495 0 - vertex 9.65389 -4.31807 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.03464 3.65533 0 - vertex 9.61741 3.25086 0 - vertex 9.29624 3.50894 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.03464 3.65533 0 - vertex 9.29624 3.50894 0 - vertex 9.14614 3.60373 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.61741 3.25086 0 - vertex 9.03464 3.65533 0 - vertex 5.79491 -1.04264 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.7237 0.214368 0 - vertex 9.02468 -4.00814 0 - vertex 9.33912 -4.17495 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.24358 -0.384283 0 - vertex 9.03464 3.65533 0 - vertex 8.81858 3.79581 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3607 0.629996 0 - vertex 8.70978 -3.81721 0 - vertex 9.02468 -4.00814 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3607 0.629996 0 - vertex 8.39365 -3.60171 0 - vertex 8.70978 -3.81721 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.62083 0.441773 0 - vertex 8.81858 3.79581 0 - vertex 8.19732 4.25764 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3607 0.629996 0 - vertex 8.0755 -3.36119 0 - vertex 8.39365 -3.60171 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.49221 0.674515 0 - vertex 8.19732 4.25764 0 - vertex 8.00725 4.39171 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5355 1.49693 0 - vertex 7.75455 -3.09522 0 - vertex 8.0755 -3.36119 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.49221 0.674515 0 - vertex 8.00725 4.39171 0 - vertex 7.75154 4.54807 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5355 1.49693 0 - vertex 7.10115 -2.48513 0 - vertex 7.75455 -3.09522 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.44662 0.733548 0 - vertex 7.75154 4.54807 0 - vertex 7.07462 4.9138 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.5842 2.40247 0 - vertex 6.42718 -1.76788 0 - vertex 7.10115 -2.48513 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.40839 0.754677 0 - vertex 7.07462 4.9138 0 - vertex 6.22936 5.32709 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.5842 2.40247 0 - vertex 5.79491 -1.04264 0 - vertex 6.42718 -1.76788 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.40839 0.754677 0 - vertex 6.22936 5.32709 0 - vertex 5.27855 5.76024 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.03464 3.65533 0 - vertex 5.24358 -0.384283 0 - vertex 5.79491 -1.04264 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.81858 3.79581 0 - vertex 4.83246 0.134689 0 - vertex 5.24358 -0.384283 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.19732 4.25764 0 - vertex 4.49221 0.674515 0 - vertex 4.62083 0.441773 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.81858 3.79581 0 - vertex 4.62083 0.441773 0 - vertex 4.83246 0.134689 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.75154 4.54807 0 - vertex 4.44662 0.733548 0 - vertex 4.49221 0.674515 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07462 4.9138 0 - vertex 4.40839 0.754677 0 - vertex 4.44662 0.733548 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.285 6.1855 0 - vertex 4.40839 0.754677 0 - vertex 5.27855 5.76024 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.40839 0.754677 0 - vertex 4.285 6.1855 0 - vertex 4.3737 0.738144 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.31149 6.57517 0 - vertex 4.3737 0.738144 0 - vertex 4.285 6.1855 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.42084 6.9015 0 - vertex 4.3737 0.738144 0 - vertex 3.31149 6.57517 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.3737 0.738144 0 - vertex 2.42084 6.9015 0 - vertex 4.33872 0.684191 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.67583 7.13679 0 - vertex 4.33872 0.684191 0 - vertex 2.42084 6.9015 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.30727 7.25861 0 - vertex 4.33872 0.684191 0 - vertex 1.67583 7.13679 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex 3.25174 -5.37115 0 - vertex 3.97093 -5.58648 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex 2.534 -5.13555 0 - vertex 3.25174 -5.37115 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.33872 0.684191 0 - vertex 1.30727 7.25861 0 - vertex 4.25257 0.464986 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex 1.81816 -4.87986 0 - vertex 2.534 -5.13555 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.87688 -2.74967 0 - vertex 4.25257 0.464986 0 - vertex 1.30727 7.25861 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -2.32857 -3.00041 0 - vertex 4.25257 0.464986 0 - vertex -2.87688 -2.74967 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex 1.10471 -4.60426 0 - vertex 1.81816 -4.87986 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.87688 -2.74967 0 - vertex 1.30727 7.25861 0 - vertex 0.855811 7.43981 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex 0.394112 -4.30895 0 - vertex 1.10471 -4.60426 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.301 -2.58026 0 - vertex 0.855811 7.43981 0 - vertex -0.23691 7.94665 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex -0.313177 -3.99411 0 - vertex 0.394112 -4.30895 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex -1.01669 -3.65993 0 - vertex -0.313177 -3.99411 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.54104 -2.51804 0 - vertex -0.23691 7.94665 0 - vertex -1.48458 8.58988 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex -1.71595 -3.30659 0 - vertex -1.01669 -3.65993 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22446 0.295049 0 - vertex -2.32857 -3.00041 0 - vertex -1.71595 -3.30659 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.62666 -2.52788 0 - vertex -1.48458 8.58988 0 - vertex -2.76946 9.30203 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.25257 0.464986 0 - vertex -2.32857 -3.00041 0 - vertex 4.22446 0.295049 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.855811 7.43981 0 - vertex -3.301 -2.58026 0 - vertex -2.87688 -2.74967 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.23691 7.94665 0 - vertex -3.54104 -2.51804 0 - vertex -3.301 -2.58026 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.48458 8.58988 0 - vertex -3.62666 -2.52788 0 - vertex -3.54104 -2.51804 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.76946 9.30203 0 - vertex -3.68113 -2.55635 0 - vertex -3.62666 -2.52788 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.97378 10.0157 0 - vertex -3.68113 -2.55635 0 - vertex -2.76946 9.30203 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -4.59396 -25.347 0 - vertex -1.45361 -26.5684 0 - vertex -4.25232 -24.3543 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -3.84473 -21.6547 0 - vertex -3.82849 -22.2203 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -3.87719 -21.3353 0 - vertex -3.84473 -21.6547 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -3.91934 -21.0662 0 - vertex -3.87719 -21.3353 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.9798 10.6633 0 - vertex -3.68113 -2.55635 0 - vertex -3.97378 10.0157 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.37165 10.9414 0 - vertex -3.68113 -2.55635 0 - vertex -4.9798 10.6633 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -3.97677 -20.8354 0 - vertex -3.91934 -21.0662 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -4.05507 -20.6308 0 - vertex -3.97677 -20.8354 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -4.15983 -20.4402 0 - vertex -4.05507 -20.6308 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -4.29663 -20.2518 0 - vertex -4.15983 -20.4402 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -4.47107 -20.0532 0 - vertex -4.29663 -20.2518 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -4.68872 -19.8327 0 - vertex -4.47107 -20.0532 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -4.93899 -19.592 0 - vertex -4.68872 -19.8327 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.66976 11.1776 0 - vertex -3.68113 -2.55635 0 - vertex -5.37165 10.9414 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -5.14898 -19.4116 0 - vertex -4.93899 -19.592 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -5.34642 -19.2839 0 - vertex -5.14898 -19.4116 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.68113 -2.55635 0 - vertex -5.66976 11.1776 0 - vertex -3.70601 -2.60189 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -5.55901 -19.2012 0 - vertex -5.34642 -19.2839 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.85942 11.3636 0 - vertex -3.70601 -2.60189 0 - vertex -5.66976 11.1776 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -5.8145 -19.1562 0 - vertex -5.55901 -19.2012 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -5.85942 11.3636 0 - vertex -5.90899 11.4352 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.85942 11.3636 0 - vertex -17.4002 -11.6639 0 - vertex -3.70601 -2.60189 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -5.90899 11.4352 0 - vertex -5.92592 11.491 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.70285 -2.66292 0 - vertex -6.14058 -19.1411 0 - vertex -5.8145 -19.1562 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.04277 -4.97268 0 - vertex 7.2241 -5.88439 0 - vertex 7.809 -5.75259 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.04277 -4.97268 0 - vertex 6.87672 -5.95074 0 - vertex 7.2241 -5.88439 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.53505 -5.98957 0 - vertex 7.04277 -4.97268 0 - vertex 6.78219 -4.68956 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.04277 -4.97268 0 - vertex 6.53505 -5.98957 0 - vertex 6.87672 -5.95074 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.82356 -5.98052 0 - vertex 6.78219 -4.68956 0 - vertex 6.51759 -4.36865 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.4311 -5.93055 0 - vertex 6.51759 -4.36865 0 - vertex 6.2523 -4.01644 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.78219 -4.68956 0 - vertex 6.18777 -5.99984 0 - vertex 6.53505 -5.98957 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.99906 -5.84891 0 - vertex 6.2523 -4.01644 0 - vertex 5.98964 -3.63939 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.78219 -4.68956 0 - vertex 5.82356 -5.98052 0 - vertex 6.18777 -5.99984 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 5.98964 -3.63939 0 - vertex 5.48552 -2.8367 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.51759 -4.36865 0 - vertex 5.4311 -5.93055 0 - vertex 5.82356 -5.98052 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 5.48552 -2.8367 0 - vertex 5.03179 -2.01239 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.2523 -4.01644 0 - vertex 4.99906 -5.84891 0 - vertex 5.4311 -5.93055 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 5.03179 -2.01239 0 - vertex 4.65505 -1.21825 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.98964 -3.63939 0 - vertex 4.51611 -5.73457 0 - vertex 4.99906 -5.84891 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 4.65505 -1.21825 0 - vertex 4.50386 -0.848697 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 4.50386 -0.848697 0 - vertex 4.38188 -0.506111 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 4.38188 -0.506111 0 - vertex 4.29244 -0.196974 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 4.29244 -0.196974 0 - vertex 4.23886 0.0722368 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.97093 -5.58648 0 - vertex 4.23886 0.0722368 0 - vertex 4.22446 0.295049 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.98964 -3.63939 0 - vertex 3.97093 -5.58648 0 - vertex 4.51611 -5.73457 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.7369 -35.0944 0 - vertex 12.2214 -34.9805 0 - vertex 12.2468 -35.1875 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.73 -32.8205 0 - vertex 11.1661 -32.3709 0 - vertex 14.6832 -33.3707 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.6656 -33.913 0 - vertex 12.1503 -34.7994 0 - vertex 12.2214 -34.9805 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.8827 -34.5351 0 - vertex 14.6832 -33.3707 0 - vertex 11.1661 -32.3709 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.6656 -33.913 0 - vertex 12.0364 -34.6492 0 - vertex 12.1503 -34.7994 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 12.0364 -34.6492 0 - vertex 14.6832 -33.3707 0 - vertex 11.8827 -34.5351 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.6832 -33.3707 0 - vertex 12.0364 -34.6492 0 - vertex 14.6656 -33.913 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.9267 -33.0747 0 - vertex 11.8827 -34.5351 0 - vertex 11.1661 -32.3709 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8827 -34.5351 0 - vertex 10.9267 -33.0747 0 - vertex 11.6919 -34.4621 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.6919 -34.4621 0 - vertex 10.9267 -33.0747 0 - vertex 11.4668 -34.4353 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.7819 -33.5982 0 - vertex 11.4668 -34.4353 0 - vertex 10.9267 -33.0747 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.7449 -33.8005 0 - vertex 11.4668 -34.4353 0 - vertex 10.7819 -33.5982 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.4668 -34.4353 0 - vertex 10.7449 -33.8005 0 - vertex 11.143 -34.4171 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.7315 -33.9677 0 - vertex 11.143 -34.4171 0 - vertex 10.7449 -33.8005 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.143 -34.4171 0 - vertex 10.7315 -33.9677 0 - vertex 11.016 -34.3915 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 10.7415 -34.103 0 - vertex 11.016 -34.3915 0 - vertex 10.7315 -33.9677 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.016 -34.3915 0 - vertex 10.7415 -34.103 0 - vertex 10.9123 -34.3507 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 10.775 -34.2097 0 - vertex 10.9123 -34.3507 0 - vertex 10.7415 -34.103 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.9123 -34.3507 0 - vertex 10.775 -34.2097 0 - vertex 10.832 -34.2912 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.0881 -14.3092 0 - vertex 14.1362 -14.4186 0 - vertex 14.1363 -14.3424 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.0003 -14.2763 0 - vertex 14.1362 -14.4186 0 - vertex 14.0881 -14.3092 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.1362 -14.4186 0 - vertex 14.0003 -14.2763 0 - vertex 14.0967 -14.5873 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.7222 -14.2141 0 - vertex 14.0967 -14.5873 0 - vertex 14.0003 -14.2763 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.0967 -14.5873 0 - vertex 13.7222 -14.2141 0 - vertex 13.9185 -15.1524 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.3346 -14.1615 0 - vertex 13.9185 -15.1524 0 - vertex 13.7222 -14.2141 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.8698 -14.1239 0 - vertex 13.9185 -15.1524 0 - vertex 13.3346 -14.1615 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.9185 -15.1524 0 - vertex 12.8698 -14.1239 0 - vertex 13.6397 -15.9386 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.7363 -14.0885 0 - vertex 13.6397 -15.9386 0 - vertex 12.8698 -14.1239 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.6397 -15.9386 0 - vertex 12.7363 -14.0885 0 - vertex 13.2984 -16.8469 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.6087 -14.0056 0 - vertex 13.2984 -16.8469 0 - vertex 12.7363 -14.0885 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.0711 -19.1496 0 - vertex 13.2984 -16.8469 0 - vertex 12.6087 -14.0056 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.0711 -19.1496 0 - vertex 12.6087 -14.0056 0 - vertex 12.5013 -13.8876 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.72114 -19.1409 0 - vertex 12.5013 -13.8876 0 - vertex 12.4287 -13.7469 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.76754 -19.1712 0 - vertex 12.4287 -13.7469 0 - vertex 12.3997 -13.6324 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.80885 -19.2424 0 - vertex 12.3997 -13.6324 0 - vertex 12.3889 -13.5153 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 10.602 -19.227 0 - vertex 13.2984 -16.8469 0 - vertex 10.3591 -19.1774 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.8205 29.3224 0 - vertex 15.0694 29.0611 0 - vertex 12.0304 29.9363 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0694 29.0611 0 - vertex 11.8205 29.3224 0 - vertex 15.0552 28.7509 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.8169 27.5343 0 - vertex 15.0574 28.4965 0 - vertex 11.7656 27.9858 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.903 27.1234 0 - vertex 15.0574 28.4965 0 - vertex 11.8169 27.5343 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.7675 28.9061 0 - vertex 15.0552 28.7509 0 - vertex 11.8205 29.3224 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0574 28.4965 0 - vertex 12.2572 26.3514 0 - vertex 12.3979 26.1543 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.9082 29.6745 0 - vertex 12.0304 29.9363 0 - vertex 11.965 29.8184 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.0304 29.9363 0 - vertex 11.9082 29.6745 0 - vertex 11.8205 29.3224 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0574 28.4965 0 - vertex 12.1339 26.5589 0 - vertex 12.2572 26.3514 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0552 28.7509 0 - vertex 11.7675 28.9061 0 - vertex 15.0574 28.4965 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0574 28.4965 0 - vertex 12.0241 26.7794 0 - vertex 12.1339 26.5589 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0574 28.4965 0 - vertex 11.7675 28.9061 0 - vertex 11.7492 28.4518 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 12.0241 26.7794 0 - vertex 15.0574 28.4965 0 - vertex 11.903 27.1234 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0574 28.4965 0 - vertex 11.7492 28.4518 0 - vertex 11.7656 27.9858 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.7548 16.6154 0 - vertex 24.8294 16.7672 0 - vertex 24.8232 16.8925 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.659 16.5397 0 - vertex 24.8232 16.8925 0 - vertex 24.789 17.0321 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8294 16.7672 0 - vertex 24.7548 16.6154 0 - vertex 24.8049 16.6725 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.5483 17.3222 0 - vertex 24.789 17.0321 0 - vertex 24.7291 17.1695 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.5483 17.3222 0 - vertex 24.7291 17.1695 0 - vertex 24.6602 17.253 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8232 16.8925 0 - vertex 24.659 16.5397 0 - vertex 24.7548 16.6154 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.789 17.0321 0 - vertex 24.5483 17.3222 0 - vertex 24.659 16.5397 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.386 17.3783 0 - vertex 24.659 16.5397 0 - vertex 24.5483 17.3222 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.386 17.3783 0 - vertex 24.3498 16.3417 0 - vertex 24.659 16.5397 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.166 17.4223 0 - vertex 24.3498 16.3417 0 - vertex 24.386 17.3783 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.166 17.4223 0 - vertex 23.9148 16.0975 0 - vertex 24.3498 16.3417 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.5226 17.4791 0 - vertex 23.9148 16.0975 0 - vertex 24.166 17.4223 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.5226 17.4791 0 - vertex 23.3919 15.8262 0 - vertex 23.9148 16.0975 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.5588 17.5015 0 - vertex 23.3919 15.8262 0 - vertex 23.5226 17.4791 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.5588 17.5015 0 - vertex 22.2336 15.278 0 - vertex 23.3919 15.8262 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0506 17.5236 0 - vertex 22.2336 15.278 0 - vertex 22.5588 17.5015 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.2336 15.278 0 - vertex 21.0506 17.5236 0 - vertex 21.6737 15.039 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.6737 15.039 0 - vertex 21.0506 17.5236 0 - vertex 21.1771 14.8489 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2276 17.5562 0 - vertex 21.1771 14.8489 0 - vertex 21.0506 17.5236 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.1771 14.8489 0 - vertex 20.2276 17.5562 0 - vertex 20.8452 14.735 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.8452 14.735 0 - vertex 20.2276 17.5562 0 - vertex 20.5722 14.6577 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.5722 14.6577 0 - vertex 20.2276 17.5562 0 - vertex 20.327 14.6203 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4469 14.7833 0 - vertex 20.2276 17.5562 0 - vertex 20.1284 17.5777 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2276 17.5562 0 - vertex 20.0785 14.6265 0 - vertex 20.327 14.6203 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4469 14.7833 0 - vertex 20.1284 17.5777 0 - vertex 20.0333 17.6179 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4281 15.1559 0 - vertex 20.0333 17.6179 0 - vertex 19.9424 17.6771 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4281 15.1559 0 - vertex 19.9424 17.6771 0 - vertex 19.8554 17.7553 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2276 17.5562 0 - vertex 19.7955 14.6797 0 - vertex 20.0785 14.6265 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.448 15.5385 0 - vertex 19.8554 17.7553 0 - vertex 19.6934 17.9694 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.448 15.5385 0 - vertex 19.6934 17.9694 0 - vertex 19.5469 18.2611 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2276 17.5562 0 - vertex 19.4469 14.7833 0 - vertex 19.7955 14.6797 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.6072 15.8977 0 - vertex 19.5469 18.2611 0 - vertex 19.4153 18.6317 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.8738 16.2527 0 - vertex 19.4153 18.6317 0 - vertex 19.2984 19.082 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2162 16.623 0 - vertex 19.2984 19.082 0 - vertex 19.1956 19.6132 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.6028 17.0277 0 - vertex 19.1956 19.6132 0 - vertex 19.1065 20.2262 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.1667 22.8321 0 - vertex 19.1065 20.2262 0 - vertex 19.0081 20.8787 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6752 22.6222 0 - vertex 19.0081 20.8787 0 - vertex 18.892 21.4494 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4732 22.2317 0 - vertex 18.892 21.4494 0 - vertex 18.7726 21.8767 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4732 22.2317 0 - vertex 18.7726 21.8767 0 - vertex 18.7163 22.0174 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4732 22.2317 0 - vertex 18.7163 22.0174 0 - vertex 18.6646 22.0992 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.892 21.4494 0 - vertex 18.4732 22.2317 0 - vertex 18.127 22.4141 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0333 17.6179 0 - vertex 18.4281 15.1559 0 - vertex 19.4469 14.7833 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.892 21.4494 0 - vertex 18.127 22.4141 0 - vertex 17.6752 22.6222 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.0081 20.8787 0 - vertex 17.6752 22.6222 0 - vertex 17.1667 22.8321 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.8554 17.7553 0 - vertex 17.448 15.5385 0 - vertex 18.4281 15.1559 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.1065 20.2262 0 - vertex 17.1667 22.8321 0 - vertex 14.0017 17.4864 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5469 18.2611 0 - vertex 16.6072 15.8977 0 - vertex 17.448 15.5385 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4153 18.6317 0 - vertex 15.8738 16.2527 0 - vertex 16.6072 15.8977 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.3813 18.0182 0 - vertex 17.1667 22.8321 0 - vertex 15.5173 23.4995 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.2984 19.082 0 - vertex 15.2162 16.623 0 - vertex 15.8738 16.2527 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.1956 19.6132 0 - vertex 14.6028 17.0277 0 - vertex 15.2162 16.623 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.6914 19.6646 0 - vertex 15.5173 23.4995 0 - vertex 14.0281 24.1527 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.1065 20.2262 0 - vertex 14.0017 17.4864 0 - vertex 14.6028 17.0277 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.9846 20.5521 0 - vertex 14.0281 24.1527 0 - vertex 13.7923 24.2655 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.6869 21.0368 0 - vertex 13.7923 24.2655 0 - vertex 13.5553 24.3991 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.1667 22.8321 0 - vertex 13.3813 18.0182 0 - vertex 14.0017 17.4864 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.3935 21.5973 0 - vertex 13.5553 24.3991 0 - vertex 13.085 24.7212 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.5173 23.4995 0 - vertex 12.71 18.6425 0 - vertex 13.3813 18.0182 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.0801 22.2703 0 - vertex 13.085 24.7212 0 - vertex 12.6316 25.1032 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.72206 23.0922 0 - vertex 12.6316 25.1032 0 - vertex 12.2092 25.5292 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.5173 23.4995 0 - vertex 12.1494 19.1886 0 - vertex 12.71 18.6425 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.38213 23.8626 0 - vertex 12.2092 25.5292 0 - vertex 11.8324 25.9834 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.5173 23.4995 0 - vertex 11.6914 19.6646 0 - vertex 12.1494 19.1886 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.08206 24.476 0 - vertex 11.8324 25.9834 0 - vertex 11.5154 26.4501 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.80411 24.9522 0 - vertex 11.5154 26.4501 0 - vertex 11.3839 26.6832 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.0281 24.1527 0 - vertex 11.3113 20.1069 0 - vertex 11.6914 19.6646 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.6679 25.145 0 - vertex 11.3839 26.6832 0 - vertex 11.2726 26.9135 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.53058 25.3107 0 - vertex 11.2726 26.9135 0 - vertex 11.1835 27.139 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.38993 25.4519 0 - vertex 11.1835 27.139 0 - vertex 11.1184 27.3577 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.24373 25.571 0 - vertex 11.1184 27.3577 0 - vertex 11.0734 27.5937 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.08977 25.6705 0 - vertex 11.0734 27.5937 0 - vertex 11.0484 27.8474 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.0281 24.1527 0 - vertex 10.9846 20.5521 0 - vertex 11.3113 20.1069 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.92584 25.7528 0 - vertex 11.0484 27.8474 0 - vertex 11.0419 28.1143 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.9476 30.6899 0 - vertex 4.89167 37.3134 0 - vertex 11.8311 30.6195 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.73361 37.0399 0 - vertex 11.8311 30.6195 0 - vertex 4.89167 37.3134 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.31688 36.0346 0 - vertex 11.8311 30.6195 0 - vertex 4.73361 37.0399 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.1227 35.3375 0 - vertex 11.8311 30.6195 0 - vertex 4.31688 36.0346 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8311 30.6195 0 - vertex 3.94762 34.5584 0 - vertex 11.7177 30.5077 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.68366 32.8976 0 - vertex 11.6088 30.3591 0 - vertex 3.79886 33.7332 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.94762 34.5584 0 - vertex 11.8311 30.6195 0 - vertex 4.1227 35.3375 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.7177 30.5077 0 - vertex 3.79886 33.7332 0 - vertex 11.6088 30.3591 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.52293 36.6141 0 - vertex 4.73361 37.0399 0 - vertex 4.62814 36.8484 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.73361 37.0399 0 - vertex 4.52293 36.6141 0 - vertex 4.31688 36.0346 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.6088 30.3591 0 - vertex 3.68366 32.8976 0 - vertex 11.5057 30.1782 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.79886 33.7332 0 - vertex 11.7177 30.5077 0 - vertex 3.94762 34.5584 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.60924 32.0876 0 - vertex 11.5057 30.1782 0 - vertex 3.68366 32.8976 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.58282 31.3388 0 - vertex 11.5057 30.1782 0 - vertex 3.60924 32.0876 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5057 30.1782 0 - vertex 5.05276 27.3884 0 - vertex 5.39739 26.9794 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5057 30.1782 0 - vertex 4.69711 27.8759 0 - vertex 5.05276 27.3884 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 3.59957 30.3654 0 - vertex 11.5057 30.1782 0 - vertex 3.58282 31.3388 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5057 30.1782 0 - vertex 4.32553 28.4461 0 - vertex 4.69711 27.8759 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5057 30.1782 0 - vertex 4.09087 28.8303 0 - vertex 4.32553 28.4461 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5057 30.1782 0 - vertex 3.59957 30.3654 0 - vertex 4.09087 28.8303 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.09087 28.8303 0 - vertex 3.59957 30.3654 0 - vertex 3.91157 29.1502 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 3.63162 30.0135 0 - vertex 3.91157 29.1502 0 - vertex 3.59957 30.3654 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.91157 29.1502 0 - vertex 3.63162 30.0135 0 - vertex 3.78021 29.4348 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.78021 29.4348 0 - vertex 3.63162 30.0135 0 - vertex 3.68937 29.7129 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.45361 -26.5684 0 - vertex -4.59396 -25.347 0 - vertex -1.72295 -27.0315 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.05721 -26.548 0 - vertex -1.72295 -27.0315 0 - vertex -4.59396 -25.347 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.72295 -27.0315 0 - vertex -5.05721 -26.548 0 - vertex -2.23947 -28.0146 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.23947 -28.0146 0 - vertex -5.05721 -26.548 0 - vertex -2.71481 -29.043 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.65492 -27.9982 0 - vertex -2.71481 -29.043 0 - vertex -5.05721 -26.548 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.71481 -29.043 0 - vertex -5.65492 -27.9982 0 - vertex -3.135 -30.0798 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -6.39994 -29.738 0 - vertex -3.135 -30.0798 0 - vertex -5.65492 -27.9982 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.135 -30.0798 0 - vertex -6.39994 -29.738 0 - vertex -3.4861 -31.0878 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.4477 -19.4082 0 - vertex 19.1479 -12.7477 0 - vertex 24.9086 -19.5812 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.7352 1.18648 0 - vertex 19.6583 -10.9333 0 - vertex 19.6819 -11.0243 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.4297 -3.0084 0 - vertex 19.6172 -10.8571 0 - vertex 19.6583 -10.9333 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0112 -3.39762 0 - vertex 19.557 -10.7956 0 - vertex 19.6172 -10.8571 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.4451 -3.80993 0 - vertex 19.557 -10.7956 0 - vertex 20.0112 -3.39762 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.557 -10.7956 0 - vertex 19.4451 -3.80993 0 - vertex 19.4763 -10.749 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 18.7073 -4.27174 0 - vertex 19.4763 -10.749 0 - vertex 19.4451 -3.80993 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4763 -10.749 0 - vertex 18.7073 -4.27174 0 - vertex 19.3736 -10.7173 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 17.7736 -4.80944 0 - vertex 19.3736 -10.7173 0 - vertex 18.7073 -4.27174 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3736 -10.7173 0 - vertex 17.7736 -4.80944 0 - vertex 19.0963 -10.6988 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.0963 -10.6988 0 - vertex 17.7736 -4.80944 0 - vertex 18.7132 -10.7406 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 16.3254 -5.59514 0 - vertex 18.7132 -10.7406 0 - vertex 17.7736 -4.80944 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.7132 -10.7406 0 - vertex 16.3254 -5.59514 0 - vertex 18.2126 -10.843 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.6549 -5.93433 0 - vertex 18.2126 -10.843 0 - vertex 16.3254 -5.59514 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.2126 -10.843 0 - vertex 15.6549 -5.93433 0 - vertex 17.5824 -11.0066 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 15.0129 -6.23993 0 - vertex 17.5824 -11.0066 0 - vertex 15.6549 -5.93433 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.5824 -11.0066 0 - vertex 15.0129 -6.23993 0 - vertex 16.811 -11.2316 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 14.3941 -6.51356 0 - vertex 16.811 -11.2316 0 - vertex 15.0129 -6.23993 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 13.793 -6.75686 0 - vertex 16.811 -11.2316 0 - vertex 14.3941 -6.51356 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.793 -6.75686 0 - vertex 13.7217 -12.1451 0 - vertex 16.811 -11.2316 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 13.2041 -6.97145 0 - vertex 13.7217 -12.1451 0 - vertex 13.793 -6.75686 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.6221 -7.15898 0 - vertex 13.7217 -12.1451 0 - vertex 13.2041 -6.97145 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.0414 -7.32107 0 - vertex 13.7217 -12.1451 0 - vertex 12.6221 -7.15898 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.7217 -12.1451 0 - vertex 12.0414 -7.32107 0 - vertex 13.4022 -12.26 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.4568 -7.45935 0 - vertex 13.4022 -12.26 0 - vertex 12.0414 -7.32107 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.4022 -12.26 0 - vertex 11.4568 -7.45935 0 - vertex 13.1153 -12.4148 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.8627 -7.57545 0 - vertex 13.1153 -12.4148 0 - vertex 11.4568 -7.45935 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.1153 -12.4148 0 - vertex 10.8627 -7.57545 0 - vertex 12.8673 -12.6015 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.2538 -7.67101 0 - vertex 12.8673 -12.6015 0 - vertex 10.8627 -7.57545 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 10.8168 -19.3006 0 - vertex 12.5806 -18.6336 0 - vertex 10.602 -19.227 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.8673 -12.6015 0 - vertex 10.2538 -7.67101 0 - vertex 12.6645 -12.8127 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 9.62459 -7.74765 0 - vertex 12.6645 -12.8127 0 - vertex 10.2538 -7.67101 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.5806 -18.6336 0 - vertex 11.0203 -19.4009 0 - vertex 12.2803 -19.3138 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.5538 -19.7266 0 - vertex 12.2803 -19.3138 0 - vertex 11.2294 -19.5302 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.2803 -19.3138 0 - vertex 11.5538 -19.7266 0 - vertex 12.0697 -19.7199 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.7902 -19.8211 0 - vertex 12.0697 -19.7199 0 - vertex 11.5538 -19.7266 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.881 -19.8313 0 - vertex 12.0697 -19.7199 0 - vertex 11.7902 -19.8211 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.6645 -12.8127 0 - vertex 9.62459 -7.74765 0 - vertex 12.513 -13.0405 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.0185 -19.7802 0 - vertex 11.881 -19.8313 0 - vertex 11.9563 -19.8175 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.0697 -19.7199 0 - vertex 11.881 -19.8313 0 - vertex 12.0185 -19.7802 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 8.96966 -7.80701 0 - vertex 12.513 -13.0405 0 - vertex 9.62459 -7.74765 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.2294 -19.5302 0 - vertex 12.2803 -19.3138 0 - vertex 11.0203 -19.4009 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 11.0203 -19.4009 0 - vertex 12.5806 -18.6336 0 - vertex 10.8168 -19.3006 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.2984 -16.8469 0 - vertex 10.602 -19.227 0 - vertex 12.5806 -18.6336 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.513 -13.0405 0 - vertex 8.96966 -7.80701 0 - vertex 12.419 -13.2773 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.2984 -16.8469 0 - vertex 10.0711 -19.1496 0 - vertex 10.3591 -19.1774 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 7.56097 -7.88041 0 - vertex 12.419 -13.2773 0 - vertex 8.96966 -7.80701 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.5013 -13.8876 0 - vertex 9.72114 -19.1409 0 - vertex 10.0711 -19.1496 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.419 -13.2773 0 - vertex 7.56097 -7.88041 0 - vertex 12.3889 -13.5153 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.4287 -13.7469 0 - vertex 8.76754 -19.1712 0 - vertex 9.72114 -19.1409 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 6.04455 -7.91255 0 - vertex 12.3889 -13.5153 0 - vertex 7.56097 -7.88041 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3997 -13.6324 0 - vertex 7.80885 -19.2424 0 - vertex 8.76754 -19.1712 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 7.42262 -19.2967 0 - vertex 12.3889 -13.5153 0 - vertex 6.04455 -7.91255 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3889 -13.5153 0 - vertex 7.42262 -19.2967 0 - vertex 7.80885 -19.2424 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.42262 -19.2967 0 - vertex 6.04455 -7.91255 0 - vertex 7.07441 -19.3694 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.49083 -7.9071 0 - vertex 7.07441 -19.3694 0 - vertex 6.04455 -7.91255 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.07441 -19.3694 0 - vertex 5.49083 -7.9071 0 - vertex 6.74616 -19.4649 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.0434 -7.88498 0 - vertex 6.74616 -19.4649 0 - vertex 5.49083 -7.9071 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.74616 -19.4649 0 - vertex 5.0434 -7.88498 0 - vertex 6.41984 -19.5879 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.67971 -7.84446 0 - vertex 6.41984 -19.5879 0 - vertex 5.0434 -7.88498 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.41984 -19.5879 0 - vertex 4.67971 -7.84446 0 - vertex 6.07737 -19.7427 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.37723 -7.78379 0 - vertex 6.07737 -19.7427 0 - vertex 4.67971 -7.84446 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.07737 -19.7427 0 - vertex 4.37723 -7.78379 0 - vertex 5.70074 -19.9339 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.70074 -19.9339 0 - vertex 4.37723 -7.78379 0 - vertex 5.20766 -20.2058 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.11342 -7.70123 0 - vertex 5.20766 -20.2058 0 - vertex 4.37723 -7.78379 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.20766 -20.2058 0 - vertex 4.11342 -7.70123 0 - vertex 4.71458 -20.5006 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.86574 -7.59505 0 - vertex 4.71458 -20.5006 0 - vertex 4.11342 -7.70123 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.71458 -20.5006 0 - vertex 3.86574 -7.59505 0 - vertex 4.22328 -20.8168 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.40104 -7.34622 0 - vertex 4.22328 -20.8168 0 - vertex 3.86574 -7.59505 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.22328 -20.8168 0 - vertex 3.40104 -7.34622 0 - vertex 3.73558 -21.1527 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.71562 -6.94693 0 - vertex 3.73558 -21.1527 0 - vertex 3.40104 -7.34622 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex 3.73558 -21.1527 0 - vertex 2.71562 -6.94693 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.73558 -21.1527 0 - vertex -3.82849 -22.2203 0 - vertex 3.25328 -21.5067 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex 2.71562 -6.94693 0 - vertex 1.05193 -5.91722 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.25328 -21.5067 0 - vertex -3.82849 -22.2203 0 - vertex 2.77819 -21.8771 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.77819 -21.8771 0 - vertex -3.82849 -22.2203 0 - vertex 2.31211 -22.2625 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex 1.05193 -5.91722 0 - vertex -0.694871 -4.82613 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.31211 -22.2625 0 - vertex -3.82849 -22.2203 0 - vertex 1.85684 -22.661 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.85684 -22.661 0 - vertex -3.82849 -22.2203 0 - vertex 1.4142 -23.0712 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex -0.694871 -4.82613 0 - vertex -2.47177 -3.7788 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.4142 -23.0712 0 - vertex -3.82849 -22.2203 0 - vertex 0.985991 -23.4913 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.985991 -23.4913 0 - vertex -3.82849 -22.2203 0 - vertex 0.574011 -23.9198 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex -2.47177 -3.7788 0 - vertex -2.8551 -3.51984 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.574011 -23.9198 0 - vertex -3.82849 -22.2203 0 - vertex 0.18007 -24.355 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -3.84589 -22.5177 0 - vertex 0.18007 -24.355 0 - vertex -3.82849 -22.2203 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex -2.8551 -3.51984 0 - vertex -3.18232 -3.26618 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -3.88244 -22.8317 0 - vertex 0.18007 -24.355 0 - vertex -3.84589 -22.5177 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex -3.18232 -3.26618 0 - vertex -3.44099 -3.03042 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.18007 -24.355 0 - vertex -3.88244 -22.8317 0 - vertex -0.194025 -24.7953 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -3.93975 -23.1672 0 - vertex -0.194025 -24.7953 0 - vertex -3.88244 -22.8317 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex -3.44099 -3.03042 0 - vertex -3.61865 -2.82513 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.194025 -24.7953 0 - vertex -3.93975 -23.1672 0 - vertex -0.546472 -25.2391 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -4.01943 -23.5295 0 - vertex -0.546472 -25.2391 0 - vertex -3.93975 -23.1672 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.546472 -25.2391 0 - vertex -4.01943 -23.5295 0 - vertex -0.875463 -25.6847 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.82849 -22.2203 0 - vertex -3.61865 -2.82513 0 - vertex -3.70285 -2.66292 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -4.25232 -24.3543 0 - vertex -0.875463 -25.6847 0 - vertex -4.01943 -23.5295 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.875463 -25.6847 0 - vertex -4.25232 -24.3543 0 - vertex -1.17919 -26.1306 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.4002 -11.6639 0 - vertex -3.70285 -2.66292 0 - vertex -3.70601 -2.60189 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.17919 -26.1306 0 - vertex -4.25232 -24.3543 0 - vertex -1.45361 -26.5684 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0469 1.94283 0 - vertex 21.1316 -0.233279 0 - vertex 21.1355 -0.658014 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.9727 1.93385 0 - vertex 21.099 0.0745682 0 - vertex 21.1316 -0.233279 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.9112 1.94773 0 - vertex 21.0726 0.170561 0 - vertex 21.099 0.0745682 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.8622 1.9828 0 - vertex 21.0399 0.220413 0 - vertex 21.0726 0.170561 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.8016 2.10976 0 - vertex 20.9772 0.235111 0 - vertex 21.0399 0.220413 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.498 4.716 0 - vertex 21.3371 8.55423 0 - vertex 20.8834 8.89663 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.7901 2.30129 0 - vertex 20.8646 0.230347 0 - vertex 20.9772 0.235111 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 20.5155 0.168137 0 - vertex 22.827 2.54396 0 - vertex 16.2363 2.34533 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.3486 5.33522 0 - vertex 20.8834 8.89663 0 - vertex 20.3513 9.26304 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.7901 2.30129 0 - vertex 20.5155 0.168137 0 - vertex 20.8646 0.230347 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2183 5.95043 0 - vertex 20.3513 9.26304 0 - vertex 19.7274 9.66569 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.827 2.54396 0 - vertex 20.5155 0.168137 0 - vertex 22.7901 2.30129 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1095 6.5543 0 - vertex 19.7274 9.66569 0 - vertex 19.4723 9.81661 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1095 6.5543 0 - vertex 19.4723 9.81661 0 - vertex 19.2206 9.94402 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1095 6.5543 0 - vertex 19.2206 9.94402 0 - vertex 18.9645 10.0501 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.5155 0.168137 0 - vertex 16.2363 2.34533 0 - vertex 20.0432 0.0451876 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0249 7.13954 0 - vertex 18.9645 10.0501 0 - vertex 18.6964 10.137 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 16.4437 1.81579 0 - vertex 20.0432 0.0451876 0 - vertex 16.2363 2.34533 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0249 7.13954 0 - vertex 18.6964 10.137 0 - vertex 18.4085 10.2069 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 16.6551 1.32614 0 - vertex 20.0432 0.0451876 0 - vertex 16.4437 1.81579 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 16.8681 0.883681 0 - vertex 19.4982 -0.127099 0 - vertex 16.6551 1.32614 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0249 7.13954 0 - vertex 18.4085 10.2069 0 - vertex 18.093 10.2619 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 17.0802 0.495742 0 - vertex 19.4982 -0.127099 0 - vertex 16.8681 0.883681 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 17.2889 0.169637 0 - vertex 18.7502 -0.369046 0 - vertex 17.0802 0.495742 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 17.4918 -0.0873203 0 - vertex 18.7502 -0.369046 0 - vertex 17.2889 0.169637 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.7502 -0.369046 0 - vertex 17.4918 -0.0873203 0 - vertex 18.4876 -0.435405 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9668 7.69881 0 - vertex 18.093 10.2619 0 - vertex 17.3487 10.3363 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4876 -0.435405 0 - vertex 17.6862 -0.267812 0 - vertex 18.2791 -0.466914 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 17.8284 -0.36402 0 - vertex 18.2791 -0.466914 0 - vertex 17.6862 -0.267812 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.1098 -0.464739 0 - vertex 17.8284 -0.36402 0 - vertex 17.9646 -0.430052 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.2791 -0.466914 0 - vertex 17.8284 -0.36402 0 - vertex 18.1098 -0.464739 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9212 8.45633 0 - vertex 17.3487 10.3363 0 - vertex 16.499 10.3797 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 17.6862 -0.267812 0 - vertex 18.4876 -0.435405 0 - vertex 17.4918 -0.0873203 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4982 -0.127099 0 - vertex 17.0802 0.495742 0 - vertex 18.7502 -0.369046 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.5399 9.97068 0 - vertex 16.499 10.3797 0 - vertex 16.2187 10.3704 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0432 0.0451876 0 - vertex 16.6551 1.32614 0 - vertex 19.4982 -0.127099 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6879 10.1383 0 - vertex 16.2187 10.3704 0 - vertex 16.005 10.3315 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.6879 10.1383 0 - vertex 16.005 10.3315 0 - vertex 15.8355 10.2563 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2187 10.3704 0 - vertex 15.6879 10.1383 0 - vertex 15.5399 9.97068 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 16.2363 2.34533 0 - vertex 22.9115 2.82433 0 - vertex 16.0356 2.90743 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.499 10.3797 0 - vertex 15.5399 9.97068 0 - vertex 15.369 9.74689 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.7259 8.22365 0 - vertex 15.498 4.716 0 - vertex 15.6639 4.10009 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.213 9.52982 0 - vertex 16.499 10.3797 0 - vertex 15.369 9.74689 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.8834 8.89663 0 - vertex 15.3486 5.33522 0 - vertex 15.498 4.716 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3513 9.26304 0 - vertex 15.2183 5.95043 0 - vertex 15.3486 5.33522 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.499 10.3797 0 - vertex 15.213 9.52982 0 - vertex 14.9212 8.45633 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7274 9.66569 0 - vertex 15.1095 6.5543 0 - vertex 15.2183 5.95043 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9262 8.72903 0 - vertex 15.213 9.52982 0 - vertex 15.0942 9.33737 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.9645 10.0501 0 - vertex 15.0249 7.13954 0 - vertex 15.1095 6.5543 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.9543 8.95485 0 - vertex 15.0942 9.33737 0 - vertex 15.0092 9.15168 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.093 10.2619 0 - vertex 14.9668 7.69881 0 - vertex 15.0249 7.13954 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0942 9.33737 0 - vertex 14.9543 8.95485 0 - vertex 14.9262 8.72903 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.213 9.52982 0 - vertex 14.9262 8.72903 0 - vertex 14.9212 8.45633 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.3487 10.3363 0 - vertex 14.9212 8.45633 0 - vertex 14.9668 7.69881 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3467 17.5167 0 - vertex 26.0933 17.5963 0 - vertex 26.0696 17.9605 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 25.4856 17.2443 0 - vertex 26.0933 17.5963 0 - vertex 25.3467 17.5167 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.163 17.7384 0 - vertex 26.0696 17.9605 0 - vertex 26.0009 18.2942 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 25.6037 16.9917 0 - vertex 26.0803 17.2678 0 - vertex 25.4856 17.2443 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0803 17.2678 0 - vertex 25.6037 16.9917 0 - vertex 26.0434 17.0172 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.0501 17.8316 0 - vertex 26.0009 18.2942 0 - vertex 25.8914 18.5921 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 25.7157 16.8274 0 - vertex 26.0434 17.0172 0 - vertex 25.6037 16.9917 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0434 17.0172 0 - vertex 25.7157 16.8274 0 - vertex 25.9855 16.8461 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.9207 17.9138 0 - vertex 25.8914 18.5921 0 - vertex 25.7448 18.8483 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 25.8187 16.7495 0 - vertex 25.9855 16.8461 0 - vertex 25.7157 16.8274 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.9855 16.8461 0 - vertex 25.8187 16.7495 0 - vertex 25.9096 16.7563 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.9207 17.9138 0 - vertex 25.7448 18.8483 0 - vertex 25.5652 19.0574 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.9096 16.7563 0 - vertex 25.8187 16.7495 0 - vertex 25.8659 16.7424 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.9207 17.9138 0 - vertex 25.5652 19.0574 0 - vertex 25.3564 19.2137 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0933 17.5963 0 - vertex 25.4856 17.2443 0 - vertex 26.0803 17.2678 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0696 17.9605 0 - vertex 25.2614 17.6336 0 - vertex 25.3467 17.5167 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0696 17.9605 0 - vertex 25.163 17.7384 0 - vertex 25.2614 17.6336 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6059 18.0475 0 - vertex 25.3564 19.2137 0 - vertex 25.1224 19.3115 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0009 18.2942 0 - vertex 25.0501 17.8316 0 - vertex 25.163 17.7384 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6059 18.0475 0 - vertex 25.1224 19.3115 0 - vertex 24.9972 19.3368 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.8914 18.5921 0 - vertex 24.9207 17.9138 0 - vertex 25.0501 17.8316 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6059 18.0475 0 - vertex 24.9972 19.3368 0 - vertex 24.8672 19.3454 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6059 18.0475 0 - vertex 24.8672 19.3454 0 - vertex 24.6124 19.3722 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3564 19.2137 0 - vertex 24.6059 18.0475 0 - vertex 24.9207 17.9138 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.2049 18.1437 0 - vertex 24.6124 19.3722 0 - vertex 24.2514 19.4451 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.6124 19.3722 0 - vertex 24.2049 18.1437 0 - vertex 24.6059 18.0475 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.7039 18.207 0 - vertex 24.2514 19.4451 0 - vertex 23.8321 19.5531 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.2514 19.4451 0 - vertex 23.7039 18.207 0 - vertex 24.2049 18.1437 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.0891 18.2417 0 - vertex 23.8321 19.5531 0 - vertex 23.4027 19.6849 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.8321 19.5531 0 - vertex 23.0891 18.2417 0 - vertex 23.7039 18.207 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.9977 19.8472 0 - vertex 23.0891 18.2417 0 - vertex 23.4027 19.6849 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.3468 18.2522 0 - vertex 22.9977 19.8472 0 - vertex 22.6486 20.047 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.5679 18.2611 0 - vertex 22.6486 20.047 0 - vertex 22.3515 20.2895 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.9977 19.8472 0 - vertex 22.3468 18.2522 0 - vertex 23.0891 18.2417 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.5679 18.2611 0 - vertex 22.3515 20.2895 0 - vertex 22.2213 20.4283 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.8522 19.3078 0 - vertex 22.2213 20.4283 0 - vertex 22.1028 20.5797 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.753 19.8896 0 - vertex 22.1028 20.5797 0 - vertex 21.8989 20.9229 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.6713 20.6529 0 - vertex 21.8989 20.9229 0 - vertex 21.7362 21.3239 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 19.58 21.4118 0 - vertex 21.7362 21.3239 0 - vertex 21.6111 21.7881 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.6486 20.047 0 - vertex 21.5679 18.2611 0 - vertex 22.3468 18.2522 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5238 21.6908 0 - vertex 21.6111 21.7881 0 - vertex 21.5197 22.3204 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.4538 21.9215 0 - vertex 21.5197 22.3204 0 - vertex 21.4205 22.8275 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3646 22.1178 0 - vertex 21.4205 22.8275 0 - vertex 21.3493 23.064 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.3646 22.1178 0 - vertex 21.3493 23.064 0 - vertex 21.2635 23.2891 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.2511 22.2936 0 - vertex 21.2635 23.2891 0 - vertex 21.1632 23.503 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.2511 22.2936 0 - vertex 21.1632 23.503 0 - vertex 21.0482 23.7058 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.8989 20.9229 0 - vertex 19.6713 20.6529 0 - vertex 19.753 19.8896 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.108 22.463 0 - vertex 21.0482 23.7058 0 - vertex 20.9184 23.8976 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.108 22.463 0 - vertex 20.9184 23.8976 0 - vertex 20.7738 24.0784 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.1028 20.5797 0 - vertex 19.753 19.8896 0 - vertex 19.8522 19.3078 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.108 22.463 0 - vertex 20.7738 24.0784 0 - vertex 20.6143 24.2484 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.2213 20.4283 0 - vertex 20.9709 18.304 0 - vertex 21.5679 18.2611 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.9302 22.6398 0 - vertex 20.6143 24.2484 0 - vertex 20.4398 24.4076 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.2213 20.4283 0 - vertex 19.8522 19.3078 0 - vertex 20.9709 18.304 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.9302 22.6398 0 - vertex 20.4398 24.4076 0 - vertex 20.2502 24.5562 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.9709 18.304 0 - vertex 19.8522 19.3078 0 - vertex 20.7319 18.3459 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 19.9169 19.0772 0 - vertex 20.7319 18.3459 0 - vertex 19.8522 19.3078 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.6454 22.8797 0 - vertex 20.2502 24.5562 0 - vertex 20.0455 24.6942 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.7319 18.3459 0 - vertex 19.9169 19.0772 0 - vertex 20.5281 18.4055 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 19.9962 18.8829 0 - vertex 20.5281 18.4055 0 - vertex 19.9169 19.0772 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.5281 18.4055 0 - vertex 19.9962 18.8829 0 - vertex 20.3561 18.486 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3561 18.486 0 - vertex 20.0935 18.7216 0 - vertex 20.2124 18.5903 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 20.0935 18.7216 0 - vertex 20.3561 18.486 0 - vertex 19.9962 18.8829 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.6454 22.8797 0 - vertex 20.0455 24.6942 0 - vertex 19.5904 24.9388 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.7362 21.3239 0 - vertex 19.58 21.4118 0 - vertex 19.6713 20.6529 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.6111 21.7881 0 - vertex 19.5238 21.6908 0 - vertex 19.58 21.4118 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.5197 22.3204 0 - vertex 19.4538 21.9215 0 - vertex 19.5238 21.6908 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.4205 22.8275 0 - vertex 19.3646 22.1178 0 - vertex 19.4538 21.9215 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.2635 23.2891 0 - vertex 19.2511 22.2936 0 - vertex 19.3646 22.1178 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0482 23.7058 0 - vertex 19.108 22.463 0 - vertex 19.2511 22.2936 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.318 23.1114 0 - vertex 19.5904 24.9388 0 - vertex 19.0737 25.1422 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.6143 24.2484 0 - vertex 18.9302 22.6398 0 - vertex 19.108 22.463 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.2502 24.5562 0 - vertex 18.6454 22.8797 0 - vertex 18.9302 22.6398 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.9883 23.3086 0 - vertex 19.0737 25.1422 0 - vertex 18.5685 25.3244 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5904 24.9388 0 - vertex 18.318 23.1114 0 - vertex 18.6454 22.8797 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6969 23.4449 0 - vertex 18.5685 25.3244 0 - vertex 18.1033 25.5216 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.0737 25.1422 0 - vertex 17.9883 23.3086 0 - vertex 18.318 23.1114 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.5685 25.3244 0 - vertex 17.6969 23.4449 0 - vertex 17.9883 23.3086 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6707 25.7385 0 - vertex 17.6969 23.4449 0 - vertex 18.1033 25.5216 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2809 23.9862 0 - vertex 17.6707 25.7385 0 - vertex 17.2631 25.98 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.2809 23.9862 0 - vertex 17.2631 25.98 0 - vertex 16.873 26.2508 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1328 24.4531 0 - vertex 16.873 26.2508 0 - vertex 16.4932 26.5558 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6707 25.7385 0 - vertex 16.2809 23.9862 0 - vertex 17.6969 23.4449 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1328 24.4531 0 - vertex 16.4932 26.5558 0 - vertex 16.116 26.8997 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.2197 24.8651 0 - vertex 16.116 26.8997 0 - vertex 15.734 27.2872 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 13.5086 25.2416 0 - vertex 15.734 27.2872 0 - vertex 15.344 27.7317 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.9664 25.6018 0 - vertex 15.344 27.7317 0 - vertex 15.2193 27.9155 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3979 26.1543 0 - vertex 15.2193 27.9155 0 - vertex 15.1337 28.0941 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.873 26.2508 0 - vertex 15.1328 24.4531 0 - vertex 16.2809 23.9862 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3979 26.1543 0 - vertex 15.1337 28.0941 0 - vertex 15.0817 28.2827 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3979 26.1543 0 - vertex 15.0817 28.2827 0 - vertex 15.0574 28.4965 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.116 26.8997 0 - vertex 14.2197 24.8651 0 - vertex 15.1328 24.4531 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1102 29.496 0 - vertex 12.23 30.2784 0 - vertex 15.0694 29.0611 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 45.6826 -24.0317 0 - vertex 38.119 -36.6694 0 - vertex 38.1248 -36.8464 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 45.3703 -24.1311 0 - vertex 38.0969 -36.5276 0 - vertex 38.119 -36.6694 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.2305 -29.6614 0 - vertex 38.0509 -36.4146 0 - vertex 38.0969 -36.5276 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 37.444 -31.6395 0 - vertex 38.0509 -36.4146 0 - vertex 38.2305 -29.6614 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.0509 -36.4146 0 - vertex 37.444 -31.6395 0 - vertex 37.9736 -36.3241 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.8389 -33.2656 0 - vertex 37.9736 -36.3241 0 - vertex 37.444 -31.6395 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.9736 -36.3241 0 - vertex 36.8389 -33.2656 0 - vertex 37.8576 -36.2498 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.8576 -36.2498 0 - vertex 36.8389 -33.2656 0 - vertex 37.6954 -36.1853 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.4479 -34.448 0 - vertex 37.6954 -36.1853 0 - vertex 36.8389 -33.2656 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.6954 -36.1853 0 - vertex 36.4479 -34.448 0 - vertex 37.203 -36.0604 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.3428 -34.844 0 - vertex 37.203 -36.0604 0 - vertex 36.4479 -34.448 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.3035 -35.0946 0 - vertex 37.203 -36.0604 0 - vertex 36.3428 -34.844 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.203 -36.0604 0 - vertex 36.3035 -35.0946 0 - vertex 36.6812 -35.9318 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.2992 -35.3418 0 - vertex 36.6812 -35.9318 0 - vertex 36.3035 -35.0946 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 36.3089 -35.532 0 - vertex 36.6812 -35.9318 0 - vertex 36.2992 -35.3418 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 36.3422 -35.6758 0 - vertex 36.5187 -35.8653 0 - vertex 36.3089 -35.532 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.6812 -35.9318 0 - vertex 36.3089 -35.532 0 - vertex 36.5187 -35.8653 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.5187 -35.8653 0 - vertex 36.3422 -35.6758 0 - vertex 36.4089 -35.7834 0 + vertex 37.1913 -36.0604 0 + vertex 36.2918 -35.0946 0 + vertex 36.3972 -35.7834 0 endloop endfacet facet normal 0 0 1 outer loop vertex 117.5 117.5 0 - vertex 47.9993 -20.1225 0 + vertex 47.9875 -20.1225 0 vertex 117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop vertex 117.5 117.5 0 - vertex 47.9745 -19.9807 0 - vertex 47.9993 -20.1225 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 47.9233 -19.8512 0 - vertex 47.9745 -19.9807 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 47.845 -19.7221 0 - vertex 47.9233 -19.8512 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 47.7384 -19.5813 0 - vertex 47.845 -19.7221 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 47.6302 -19.4614 0 - vertex 47.7384 -19.5813 0 + vertex 47.7267 -19.5813 0 + vertex 47.9875 -20.1225 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.4995 15.0808 0 - vertex 47.6302 -19.4614 0 + vertex 27.5422 14.7505 0 + vertex 47.7267 -19.5813 0 vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 47.6302 -19.4614 0 - vertex 27.4995 15.0808 0 - vertex 47.5127 -19.3635 0 + vertex 47.7267 -19.5813 0 + vertex 27.5422 14.7505 0 + vertex 47.2139 -19.2263 0 endloop endfacet facet normal -0 -0 1 outer loop - vertex 27.5539 14.7505 0 - vertex 47.5127 -19.3635 0 - vertex 27.4995 15.0808 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 27.5896 14.3319 0 - vertex 47.5127 -19.3635 0 - vertex 27.5539 14.7505 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 47.5127 -19.3635 0 - vertex 27.5896 14.3319 0 - vertex 47.3799 -19.2858 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 27.6103 13.7945 0 - vertex 47.3799 -19.2858 0 - vertex 27.5896 14.3319 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 27.6211 12.2412 0 - vertex 47.3799 -19.2858 0 - vertex 27.6103 13.7945 0 + vertex 27.6094 12.2412 0 + vertex 47.2139 -19.2263 0 + vertex 27.5422 14.7505 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.6024 10.7775 0 - vertex 47.3799 -19.2858 0 - vertex 27.6211 12.2412 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 47.3799 -19.2858 0 - vertex 27.6024 10.7775 0 - vertex 47.2257 -19.2263 0 + vertex 27.528 9.70386 0 + vertex 47.2139 -19.2263 0 + vertex 27.6094 12.2412 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.5775 10.2019 0 - vertex 47.2257 -19.2263 0 - vertex 27.6024 10.7775 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 27.5397 9.70386 0 - vertex 47.2257 -19.2263 0 - vertex 27.5775 10.2019 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 47.2257 -19.2263 0 - vertex 27.5397 9.70386 0 - vertex 47.044 -19.1833 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.9647 2.16551 0 - vertex 47.044 -19.1833 0 - vertex 27.5397 9.70386 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 47.044 -19.1833 0 - vertex 26.9647 2.16551 0 - vertex 46.8289 -19.1548 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 45.391 -19.1898 0 - vertex 41.7426 -19.1572 0 - vertex 44.9905 -19.265 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 42.162 -19.859 0 - vertex 42.9547 -20.2657 0 - vertex 42.1595 -19.6516 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 42.1212 -20.0931 0 - vertex 42.9547 -20.2657 0 - vertex 42.162 -19.859 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 43.4033 -19.9696 0 - vertex 42.1595 -19.6516 0 - vertex 42.9547 -20.2657 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 42.1595 -19.6516 0 - vertex 43.4033 -19.9696 0 - vertex 42.1149 -19.4743 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.9905 -19.265 0 - vertex 41.7426 -19.1572 0 - vertex 44.6026 -19.3768 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 41.9051 -19.2238 0 - vertex 44.6026 -19.3768 0 - vertex 41.7426 -19.1572 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 43.8201 -19.7253 0 - vertex 42.1149 -19.4743 0 - vertex 43.4033 -19.9696 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.6026 -19.3768 0 - vertex 41.9051 -19.2238 0 - vertex 44.2162 -19.5289 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.2162 -19.5289 0 - vertex 42.0297 -19.3306 0 - vertex 43.8201 -19.7253 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 42.0297 -19.3306 0 - vertex 44.2162 -19.5289 0 - vertex 41.9051 -19.2238 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 46.8289 -19.1548 0 - vertex 26.9647 2.16551 0 - vertex 46.274 -19.1343 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.9324 1.61996 0 - vertex 46.274 -19.1343 0 - vertex 26.9647 2.16551 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 46.274 -19.1343 0 - vertex 26.9324 1.61996 0 - vertex 45.8151 -19.1475 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 45.8151 -19.1475 0 - vertex 26.901 1.43209 0 - vertex 45.391 -19.1898 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.3957 -19.1543 0 - vertex 26.8581 1.29842 0 - vertex 41.156 -19.2119 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 39.5298 -19.7361 0 - vertex 29.9546 -19.4981 0 - vertex 38.4916 -20.1181 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.4916 -20.1181 0 - vertex 30.3649 -19.705 0 - vertex 37.4642 -20.5001 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 37.4642 -20.5001 0 - vertex 30.3649 -19.705 0 - vertex 36.5724 -20.813 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 30.7365 -19.9631 0 - vertex 36.5724 -20.813 0 - vertex 30.3649 -19.705 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.5724 -20.813 0 - vertex 30.7365 -19.9631 0 - vertex 35.9118 -21.0243 0 + vertex 26.9177 3.98634 0 + vertex 47.2139 -19.2263 0 + vertex 27.528 9.70386 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex 35.4013 -21.1287 0 - vertex 35.9118 -21.0243 0 - vertex 30.7365 -19.9631 0 + vertex 42.1032 -19.4743 0 + vertex 44.5909 -19.3768 0 + vertex 41.8934 -19.2238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.5909 -19.3768 0 + vertex 42.1032 -19.4743 0 + vertex 42.943 -20.2657 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.2623 -19.1343 0 + vertex 41.5319 -19.1343 0 + vertex 44.5909 -19.3768 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 44.5909 -19.3768 0 + vertex 41.5319 -19.1343 0 + vertex 41.8934 -19.2238 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 47.2139 -19.2263 0 + vertex 26.953 2.16551 0 + vertex 46.2623 -19.1343 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 46.2623 -19.1343 0 + vertex 26.8464 1.29842 0 + vertex 41.5319 -19.1343 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 32.0349 -22.2828 0 - vertex 34.6318 -22.2927 0 - vertex 34.653 -22.0706 0 + vertex 31.4974 -26.3899 0 + vertex 35.3305 -26.5156 0 + vertex 31.8275 -24.8188 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 34.6318 -22.2927 0 - vertex 31.6784 -25.7224 0 - vertex 33.8561 -30.1753 0 + vertex 31.8275 -24.8188 0 + vertex 34.62 -22.2927 0 + vertex 32.0255 -23.3848 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 31.8086 -21.404 0 + vertex 34.62 -22.2927 0 + vertex 34.9156 -21.474 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.4798 -20.1181 0 + vertex 30.7248 -19.9631 0 + vertex 35.5661 -21.102 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.62 -22.2927 0 + vertex 32.0232 -22.2828 0 + vertex 32.0255 -23.3848 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.62 -22.2927 0 + vertex 31.8086 -21.404 0 + vertex 32.0232 -22.2828 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.5661 -21.102 0 + vertex 30.7248 -19.9631 0 + vertex 35.2187 -21.2043 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 34.9156 -21.474 0 + vertex 31.3699 -20.64 0 + vertex 31.8086 -21.404 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 35.2187 -21.2043 0 + vertex 31.3699 -20.64 0 + vertex 34.9156 -21.474 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 31.3699 -20.64 0 + vertex 35.2187 -21.2043 0 + vertex 30.7248 -19.9631 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 31.5092 -26.3899 0 - vertex 33.8561 -30.1753 0 - vertex 31.6003 -26.0834 0 + vertex 26.8464 1.29842 0 + vertex 46.2623 -19.1343 0 + vertex 26.953 2.16551 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 41.5319 -19.1343 0 + vertex 26.8464 1.29842 0 + vertex 38.4798 -20.1181 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 30.7248 -19.9631 0 + vertex 38.4798 -20.1181 0 + vertex 29.9429 -19.4981 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 31.2435 -26.857 0 - vertex 33.8561 -30.1753 0 - vertex 31.3939 -26.6463 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.6318 -22.2927 0 - vertex 32.0619 -22.7991 0 - vertex 32.0372 -23.3848 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.9549 -21.8223 0 - vertex 34.653 -22.0706 0 - vertex 34.713 -21.8554 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.8204 -21.404 0 - vertex 34.713 -21.8554 0 - vertex 34.8063 -21.6543 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 31.074 -20.2742 0 - vertex 35.4013 -21.1287 0 - vertex 30.7365 -19.9631 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.6318 -22.2927 0 - vertex 32.0349 -22.2828 0 - vertex 32.0619 -22.7991 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.653 -22.0706 0 - vertex 31.9549 -21.8223 0 - vertex 32.0349 -22.2828 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 31.3816 -20.64 0 - vertex 35.2304 -21.2043 0 - vertex 31.074 -20.2742 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.713 -21.8554 0 - vertex 31.8204 -21.404 0 - vertex 31.9549 -21.8223 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.9274 -21.474 0 - vertex 31.8204 -21.404 0 - vertex 34.8063 -21.6543 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 31.8204 -21.404 0 - vertex 34.9274 -21.474 0 - vertex 31.6298 -21.0145 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.0706 -21.3217 0 - vertex 31.6298 -21.0145 0 - vertex 34.9274 -21.474 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 31.6298 -21.0145 0 - vertex 35.0706 -21.3217 0 - vertex 31.3816 -20.64 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.2304 -21.2043 0 - vertex 31.3816 -20.64 0 - vertex 35.0706 -21.3217 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.9118 -21.0243 0 - vertex 35.4013 -21.1287 0 - vertex 35.5778 -21.102 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.5436 -19.1343 0 - vertex 26.8581 1.29842 0 - vertex 41.3957 -19.1543 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 45.391 -19.1898 0 - vertex 26.901 1.43209 0 - vertex 41.7426 -19.1572 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.7426 -19.1572 0 - vertex 26.901 1.43209 0 - vertex 41.5436 -19.1343 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.8581 1.29842 0 - vertex 41.5436 -19.1343 0 - vertex 26.901 1.43209 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.4013 -21.1287 0 - vertex 31.074 -20.2742 0 - vertex 35.2304 -21.2043 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 30.3649 -19.705 0 - vertex 38.4916 -20.1181 0 - vertex 29.9546 -19.4981 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.901 1.43209 0 - vertex 45.8151 -19.1475 0 - vertex 26.9324 1.61996 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 42.1149 -19.4743 0 - vertex 43.8201 -19.7253 0 - vertex 42.0297 -19.3306 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 27.4227 15.3534 0 - vertex 27.4995 15.0808 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.5691 18.3624 0 - vertex 27.4227 15.3534 0 - vertex 117.5 117.5 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 26.6332 18.0815 0 - vertex 27.4227 15.3534 0 - vertex 26.5691 18.3624 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 26.6784 17.7808 0 - vertex 27.3198 15.5987 0 - vertex 26.6332 18.0815 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.3198 15.5987 0 - vertex 26.6784 17.7808 0 - vertex 27.1872 15.8473 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.1872 15.8473 0 - vertex 26.7051 17.4601 0 - vertex 27.0139 16.2113 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.0139 16.2113 0 - vertex 26.7051 17.4601 0 - vertex 26.8653 16.6367 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.8653 16.6367 0 - vertex 26.7051 17.4601 0 - vertex 26.7571 17.0706 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 26.7051 17.4601 0 - vertex 27.1872 15.8473 0 - vertex 26.6784 17.7808 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4227 15.3534 0 - vertex 26.6332 18.0815 0 - vertex 27.3198 15.5987 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 26.4859 18.624 0 - vertex 26.5691 18.3624 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 26.3832 18.8665 0 - vertex 26.4859 18.624 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 26.2605 19.0904 0 - vertex 26.3832 18.8665 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 26.1176 19.296 0 - vertex 26.2605 19.0904 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 25.9541 19.4837 0 - vertex 26.1176 19.296 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.4677 24.3609 0 - vertex 25.9541 19.4837 0 + vertex 26.4742 18.624 0 + vertex 27.5422 14.7505 0 vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.9541 19.4837 0 - vertex 21.4677 24.3609 0 - vertex 25.7697 19.6539 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 21.6182 24.144 0 - vertex 25.7697 19.6539 0 - vertex 21.4677 24.3609 0 + vertex 27.5422 14.7505 0 + vertex 26.4742 18.624 0 + vertex 27.1755 15.8473 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 25.7697 19.6539 0 - vertex 21.6182 24.144 0 - vertex 25.5639 19.8069 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 21.7423 23.9135 0 - vertex 25.5639 19.8069 0 - vertex 21.6182 24.144 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.5639 19.8069 0 - vertex 21.7423 23.9135 0 - vertex 25.3364 19.943 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3364 19.943 0 - vertex 21.8437 23.6658 0 - vertex 25.087 20.0627 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 21.926 23.397 0 - vertex 25.087 20.0627 0 - vertex 21.8437 23.6658 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.087 20.0627 0 - vertex 21.926 23.397 0 - vertex 24.8151 20.1664 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.8151 20.1664 0 - vertex 21.9928 23.1034 0 - vertex 24.5205 20.2543 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 22.0944 22.427 0 - vertex 24.2028 20.3268 0 - vertex 21.9928 23.1034 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.2028 20.3268 0 - vertex 22.0944 22.427 0 - vertex 23.8617 20.3844 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 22.2815 21.5943 0 - vertex 23.8617 20.3844 0 - vertex 22.1689 21.9813 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.8617 20.3844 0 - vertex 22.2815 21.5943 0 - vertex 23.4814 20.4643 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 22.4341 21.2638 0 - vertex 23.1504 20.59 0 - vertex 22.2815 21.5943 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.1504 20.59 0 - vertex 22.4341 21.2638 0 - vertex 22.8668 20.7638 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.7421 20.8693 0 - vertex 22.4341 21.2638 0 - vertex 22.6286 20.9877 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.8668 20.7638 0 - vertex 22.4341 21.2638 0 - vertex 22.7421 20.8693 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.4814 20.4643 0 - vertex 22.2815 21.5943 0 - vertex 23.1504 20.59 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 22.1689 21.9813 0 - vertex 23.8617 20.3844 0 - vertex 22.0944 22.427 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.5205 20.2543 0 - vertex 21.9928 23.1034 0 - vertex 24.2028 20.3268 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 21.9928 23.1034 0 - vertex 24.8151 20.1664 0 - vertex 21.926 23.397 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 21.8437 23.6658 0 - vertex 25.3364 19.943 0 - vertex 21.7423 23.9135 0 + vertex 27.1755 15.8473 0 + vertex 26.4742 18.624 0 + vertex 26.6933 17.4601 0 endloop endfacet facet normal 0 0 1 outer loop vertex 117.5 117.5 0 - vertex 21.2873 24.568 0 - vertex 21.4677 24.3609 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 21.0733 24.7691 0 - vertex 21.2873 24.568 0 + vertex 25.9424 19.4837 0 + vertex 26.4742 18.624 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 15.4091 30.0386 0 - vertex 21.0733 24.7691 0 + vertex 21.2755 24.568 0 + vertex 25.9424 19.4837 0 + vertex 117.5 117.5 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 21.8319 23.6658 0 + vertex 25.9424 19.4837 0 + vertex 21.2755 24.568 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.0827 22.427 0 + vertex 25.0752 20.0627 0 + vertex 21.8319 23.6658 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.0752 20.0627 0 + vertex 22.0827 22.427 0 + vertex 23.8499 20.3844 0 + endloop + endfacet + facet normal -0 -0 1 + outer loop + vertex 22.2698 21.5943 0 + vertex 23.8499 20.3844 0 + vertex 22.0827 22.427 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.1387 20.59 0 + vertex 22.2698 21.5943 0 + vertex 22.6169 20.9877 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 23.8499 20.3844 0 + vertex 22.2698 21.5943 0 + vertex 23.1387 20.59 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 25.9424 19.4837 0 + vertex 21.8319 23.6658 0 + vertex 25.0752 20.0627 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 15.3134 30.0845 0 + vertex 21.2755 24.568 0 vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.0733 24.7691 0 - vertex 15.4091 30.0386 0 - vertex 20.8221 24.9679 0 + vertex 21.2755 24.568 0 + vertex 15.3134 30.0845 0 + vertex 20.1819 25.3734 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.8221 24.9679 0 - vertex 15.4091 30.0386 0 - vertex 20.53 25.168 0 + vertex 20.1819 25.3734 0 + vertex 15.4783 29.8698 0 + vertex 18.3193 26.3216 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.53 25.168 0 - vertex 15.4091 30.0386 0 - vertex 20.1936 25.3734 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.1936 25.3734 0 - vertex 15.4091 30.0386 0 - vertex 19.3729 25.8147 0 + vertex 18.3193 26.3216 0 + vertex 15.4783 29.8698 0 + vertex 17.0772 26.9817 0 endloop endfacet facet normal -0 -0 1 outer loop - vertex 15.49 29.8698 0 - vertex 19.3729 25.8147 0 - vertex 15.4091 30.0386 0 + vertex 15.6084 29.1601 0 + vertex 17.0772 26.9817 0 + vertex 15.4783 29.8698 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.3729 25.8147 0 - vertex 15.49 29.8698 0 - vertex 18.3311 26.3216 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 15.5622 29.5773 0 - vertex 18.3311 26.3216 0 - vertex 15.49 29.8698 0 + vertex 17.0772 26.9817 0 + vertex 15.6084 29.1601 0 + vertex 16.2688 27.6146 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.6504 26.6607 0 - vertex 15.5622 29.5773 0 - vertex 17.0889 26.9817 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 15.6202 29.1601 0 - vertex 17.0889 26.9817 0 - vertex 15.5622 29.5773 0 + vertex 16.2688 27.6146 0 + vertex 15.6084 29.1601 0 + vertex 15.808 28.3106 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 17.0889 26.9817 0 - vertex 15.6202 29.1601 0 - vertex 16.6359 27.2959 0 + vertex 20.1819 25.3734 0 + vertex 15.3134 30.0845 0 + vertex 15.4783 29.8698 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.6359 27.2959 0 - vertex 15.6202 29.1601 0 - vertex 16.4467 27.454 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 15.6927 28.7106 0 - vertex 16.4467 27.454 0 - vertex 15.6202 29.1601 0 + vertex 12.2907 30.5214 0 + vertex 15.0577 29.0611 0 + vertex 15.1584 29.8123 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.2806 27.6146 0 - vertex 15.6927 28.7106 0 - vertex 16.1362 27.7792 0 + vertex 15.122 28.0941 0 + vertex 12.5486 25.9653 0 + vertex 13.4969 25.2416 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 16.1362 27.7792 0 - vertex 15.6927 28.7106 0 - vertex 16.0121 27.9491 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.0121 27.9491 0 - vertex 15.6927 28.7106 0 - vertex 15.9071 28.1258 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.9071 28.1258 0 - vertex 15.6927 28.7106 0 - vertex 15.8197 28.3106 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.8197 28.3106 0 - vertex 15.6927 28.7106 0 - vertex 15.7487 28.5051 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.4467 27.454 0 - vertex 15.6927 28.7106 0 - vertex 16.2806 27.6146 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.3311 26.3216 0 - vertex 15.5622 29.5773 0 - vertex 17.6504 26.6607 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 117.5 117.5 0 - vertex 15.3672 30.0768 0 - vertex 15.4091 30.0386 0 + vertex 12.2907 30.5214 0 + vertex 15.1584 29.8123 0 + vertex 15.3134 30.0845 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.23504 38.5484 0 - vertex 15.3672 30.0768 0 + vertex 12.0187 29.9363 0 + vertex 15.0577 29.0611 0 + vertex 12.2907 30.5214 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.15152 38.5852 0 + vertex 15.3134 30.0845 0 vertex 117.5 117.5 0 endloop endfacet - facet normal 0 0 1 + facet normal -0 -0 1 outer loop - vertex 15.3672 30.0768 0 - vertex 5.23504 38.5484 0 - vertex 15.3252 30.0845 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.23 30.2784 0 - vertex 15.1102 29.496 0 - vertex 12.2821 30.4122 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1701 29.8123 0 - vertex 12.2821 30.4122 0 - vertex 15.1102 29.496 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.2821 30.4122 0 - vertex 15.1701 29.8123 0 - vertex 12.3025 30.5214 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.734 27.2872 0 - vertex 13.5086 25.2416 0 - vertex 14.2197 24.8651 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.344 27.7317 0 - vertex 13.2184 25.4225 0 - vertex 13.5086 25.2416 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.3025 30.5214 0 - vertex 15.1701 29.8123 0 - vertex 15.2437 30.0088 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.344 27.7317 0 - vertex 12.9664 25.6018 0 - vertex 13.2184 25.4225 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2193 27.9155 0 - vertex 12.7484 25.782 0 - vertex 12.9664 25.6018 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2193 27.9155 0 - vertex 12.5603 25.9653 0 - vertex 12.7484 25.782 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2193 27.9155 0 - vertex 12.3979 26.1543 0 - vertex 12.5603 25.9653 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.0304 29.9363 0 - vertex 15.0694 29.0611 0 - vertex 12.23 30.2784 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.291 30.606 0 - vertex 15.2437 30.0088 0 - vertex 15.2838 30.0618 0 + vertex 5.25321 38.4452 0 + vertex 15.3134 30.0845 0 + vertex 5.15152 38.5852 0 endloop endfacet facet normal -0 -0 1 outer loop - vertex 5.26494 38.4452 0 - vertex 15.3252 30.0845 0 - vertex 5.23504 38.5484 0 + vertex 12.0544 30.7144 0 + vertex 15.3134 30.0845 0 + vertex 5.25321 38.4452 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.2437 30.0088 0 - vertex 12.291 30.606 0 - vertex 12.3025 30.5214 0 + vertex 13.0733 24.7212 0 + vertex 9.71033 23.0922 0 + vertex 10.9729 20.5521 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.2838 30.0618 0 - vertex 12.2478 30.6663 0 - vertex 12.291 30.606 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 12.1728 30.7024 0 - vertex 15.3252 30.0845 0 - vertex 5.26494 38.4452 0 + vertex 5.72413 26.6445 0 + vertex 11.0411 28.3898 0 + vertex 11.2319 29.4873 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 15.3252 30.0845 0 - vertex 12.2478 30.6663 0 - vertex 15.2838 30.0618 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 12.2478 30.6663 0 - vertex 15.3252 30.0845 0 - vertex 12.1728 30.7024 0 + vertex 12.1975 25.5292 0 + vertex 9.07032 24.476 0 + vertex 9.71033 23.0922 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.1728 30.7024 0 - vertex 5.26494 38.4452 0 - vertex 12.0661 30.7144 0 + vertex 5.72413 26.6445 0 + vertex 11.2319 29.4873 0 + vertex 11.5971 30.3591 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.7923 24.2655 0 - vertex 10.6869 21.0368 0 - vertex 10.9846 20.5521 0 + vertex 11.5037 26.4501 0 + vertex 8.51885 25.3107 0 + vertex 9.07032 24.476 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.55919 25.8755 0 - vertex 11.0419 28.1143 0 - vertex 11.0528 28.3898 0 + vertex 11.1066 27.3577 0 + vertex 7.91411 25.7528 0 + vertex 8.51885 25.3107 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.5553 24.3991 0 - vertex 10.3935 21.5973 0 - vertex 10.6869 21.0368 0 + vertex 11.0411 28.3898 0 + vertex 7.11433 25.9588 0 + vertex 7.91411 25.7528 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 13.085 24.7212 0 - vertex 10.0801 22.2703 0 - vertex 10.3935 21.5973 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.55919 25.8755 0 - vertex 11.0528 28.3898 0 - vertex 11.1213 28.9486 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.6316 25.1032 0 - vertex 9.72206 23.0922 0 - vertex 10.0801 22.2703 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.39739 26.9794 0 - vertex 11.1213 28.9486 0 - vertex 11.2437 29.4873 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.2092 25.5292 0 - vertex 9.38213 23.8626 0 - vertex 9.72206 23.0922 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.8324 25.9834 0 - vertex 9.08206 24.476 0 - vertex 9.38213 23.8626 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.39739 26.9794 0 - vertex 11.2437 29.4873 0 - vertex 11.4096 29.9696 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.5154 26.4501 0 - vertex 8.80411 24.9522 0 - vertex 9.08206 24.476 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.39739 26.9794 0 - vertex 11.4096 29.9696 0 - vertex 11.5057 30.1782 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.3839 26.6832 0 - vertex 8.6679 25.145 0 - vertex 8.80411 24.9522 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.2726 26.9135 0 - vertex 8.53058 25.3107 0 - vertex 8.6679 25.145 0 + vertex 11.0411 28.3898 0 + vertex 5.72413 26.6445 0 + vertex 7.11433 25.9588 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.02596 37.5856 0 - vertex 11.9476 30.6899 0 - vertex 5.13345 37.8458 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.1835 27.139 0 - vertex 8.38993 25.4519 0 - vertex 8.53058 25.3107 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.1184 27.3577 0 - vertex 8.24373 25.571 0 - vertex 8.38993 25.4519 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 11.0734 27.5937 0 - vertex 8.08977 25.6705 0 - vertex 8.24373 25.571 0 + vertex 5.19939 38.083 0 + vertex 12.0544 30.7144 0 + vertex 5.25321 38.4452 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.13345 37.8458 0 - vertex 11.9476 30.6899 0 - vertex 5.21112 38.083 0 + vertex 4.72188 37.0399 0 + vertex 12.0544 30.7144 0 + vertex 5.19939 38.083 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.0484 27.8474 0 - vertex 7.92584 25.7528 0 - vertex 8.08977 25.6705 0 + vertex 7.11433 25.9588 0 + vertex 5.72413 26.6445 0 + vertex 6.4022 26.1795 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.0419 28.1143 0 - vertex 7.55919 25.8755 0 - vertex 7.92584 25.7528 0 + vertex 15.3134 30.0845 0 + vertex 12.0544 30.7144 0 + vertex 12.2907 30.5214 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.1213 28.9486 0 - vertex 5.39739 26.9794 0 - vertex 7.12606 25.9588 0 + vertex -1.46161 28.0795 0 + vertex 1.04836 28.6106 0 + vertex 1.1273 29.8907 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 11.1213 28.9486 0 - vertex 7.12606 25.9588 0 - vertex 7.55919 25.8755 0 + vertex 1.04836 28.6106 0 + vertex -0.115935 27.2162 0 + vertex 0.858783 27.1101 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 12.0661 30.7144 0 - vertex 5.21112 38.083 0 - vertex 11.9476 30.6899 0 + vertex -2.77953 29.7664 0 + vertex 1.1273 29.8907 0 + vertex 1.37489 31.173 0 endloop endfacet - facet normal -0 -0 1 + facet normal 0 0 1 outer loop - vertex 5.73586 26.6445 0 - vertex 7.12606 25.9588 0 - vertex 5.39739 26.9794 0 + vertex 1.04836 28.6106 0 + vertex -0.786632 27.5359 0 + vertex -0.115935 27.2162 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 5.25596 38.2865 0 - vertex 12.0661 30.7144 0 - vertex 5.26494 38.4452 0 + vertex -3.97987 32.1322 0 + vertex 1.37489 31.173 0 + vertex 2.44067 33.9939 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 1.04836 28.6106 0 + vertex -1.46161 28.0795 0 + vertex -0.786632 27.5359 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 4.89167 37.3134 0 - vertex 11.9476 30.6899 0 - vertex 5.02596 37.5856 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 6.07308 26.3793 0 - vertex 7.12606 25.9588 0 - vertex 5.73586 26.6445 0 + vertex -5.55994 36.5001 0 + vertex 2.44067 33.9939 0 + vertex 4.08079 37.0842 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.12606 25.9588 0 - vertex 6.07308 26.3793 0 - vertex 6.76329 26.0408 0 + vertex 1.1273 29.8907 0 + vertex -2.77953 29.7664 0 + vertex -1.46161 28.0795 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.76329 26.0408 0 - vertex 6.07308 26.3793 0 - vertex 6.41393 26.1795 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 5.21112 38.083 0 - vertex 12.0661 30.7144 0 - vertex 5.25596 38.2865 0 + vertex -5.55994 36.5001 0 + vertex 4.08079 37.0842 0 + vertex 5.15152 38.5852 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 117.5 117.5 0 - vertex 5.20457 38.5758 0 - vertex 5.23504 38.5484 0 + vertex 1.37489 31.173 0 + vertex -3.97987 32.1322 0 + vertex -2.77953 29.7664 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 117.5 117.5 0 - vertex 5.16325 38.5852 0 - vertex 5.20457 38.5758 0 + vertex 2.44067 33.9939 0 + vertex -4.97284 35.0324 0 + vertex -3.97987 32.1322 0 endloop endfacet facet normal -0 0 1 outer loop vertex -117.5 117.5 0 - vertex 5.16325 38.5852 0 + vertex 5.15152 38.5852 0 vertex 117.5 117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -0.438314 27.347 0 - vertex 1.04514 28.0688 0 - vertex 1.0601 28.6106 0 + vertex 2.44067 33.9939 0 + vertex -5.55994 36.5001 0 + vertex -4.97284 35.0324 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.11256 27.7809 0 - vertex 1.0601 28.6106 0 - vertex 1.07949 29.2543 0 + vertex 5.15152 38.5852 0 + vertex -5.8163 36.5812 0 + vertex -5.55994 36.5001 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.04514 28.0688 0 - vertex -0.438314 27.347 0 - vertex -0.104203 27.2162 0 + vertex -8.80952 27.3973 0 + vertex -6.28322 28.2565 0 + vertex -6.22131 31.7226 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -11.546 27.7352 0 + vertex -6.22131 31.7226 0 + vertex -6.055 36.2349 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex 0.505992 27.0868 0 - vertex 1.00441 27.6053 0 - vertex 0.215611 27.1342 0 + vertex -7.25507 27.2437 0 + vertex -6.28322 28.2565 0 + vertex -8.80952 27.3973 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 1.00441 27.6053 0 - vertex 0.505992 27.0868 0 - vertex 0.944126 27.2693 0 + vertex -6.28322 28.2565 0 + vertex -7.25507 27.2437 0 + vertex -6.38329 27.6173 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -1.78547 28.4297 0 - vertex 1.07949 29.2543 0 - vertex 1.13903 29.8907 0 + vertex -6.38329 27.6173 0 + vertex -7.25507 27.2437 0 + vertex -6.55612 27.3597 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 0.944126 27.2693 0 - vertex 0.734953 27.0776 0 - vertex 0.908598 27.1645 0 + vertex -6.22131 31.7226 0 + vertex -11.546 27.7352 0 + vertex -8.80952 27.3973 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.055 36.2349 0 + vertex -13.5562 27.8374 0 + vertex -11.546 27.7352 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -22.4093 27.9007 0 + vertex -6.055 36.2349 0 + vertex -5.8163 36.5812 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.055 36.2349 0 + vertex -15.2376 27.7001 0 + vertex -13.5562 27.8374 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -6.055 36.2349 0 + vertex -20.8096 27.6578 0 + vertex -15.2376 27.7001 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -15.2376 27.7001 0 + vertex -20.8096 27.6578 0 + vertex -16.9875 27.3196 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9875 27.3196 0 + vertex -19.9485 27.2141 0 + vertex -19.335 26.703 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -16.9875 27.3196 0 + vertex -20.8096 27.6578 0 + vertex -19.9485 27.2141 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.15152 38.5852 0 + vertex -117.5 117.5 0 + vertex -5.8163 36.5812 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex 0.816408 27.0884 0 - vertex 0.908598 27.1645 0 - vertex 0.734953 27.0776 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.908598 27.1645 0 - vertex 0.816408 27.0884 0 - vertex 0.870515 27.1101 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.44583 29.2754 0 - vertex 1.13903 29.8907 0 - vertex 1.24074 30.5277 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 0.734953 27.0776 0 - vertex 0.944126 27.2693 0 - vertex 0.505992 27.0868 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.08241 30.2998 0 - vertex 1.24074 30.5277 0 - vertex 1.38662 31.173 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.04514 28.0688 0 - vertex 0.215611 27.1342 0 - vertex 1.00441 27.6053 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.38828 30.8734 0 - vertex 1.38662 31.173 0 - vertex 1.57871 31.8344 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -3.96814 32.1322 0 - vertex 1.57871 31.8344 0 - vertex 1.81903 32.5199 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 0.215611 27.1342 0 - vertex 1.04514 28.0688 0 - vertex -0.104203 27.2162 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -4.23933 32.8128 0 - vertex 1.81903 32.5199 0 - vertex 2.10958 33.2371 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.0601 28.6106 0 - vertex -0.7749 27.5359 0 - vertex -0.438314 27.347 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.73722 34.2652 0 - vertex 2.10958 33.2371 0 - vertex 2.4524 33.9939 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.96111 35.0324 0 - vertex 2.4524 33.9939 0 - vertex 2.84738 34.7996 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.0601 28.6106 0 - vertex -1.11256 27.7809 0 - vertex -0.7749 27.5359 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.11886 35.5644 0 - vertex 2.84738 34.7996 0 - vertex 3.26543 35.6052 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -5.41174 36.2975 0 - vertex 3.26543 35.6052 0 - vertex 3.68699 36.3778 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.07949 29.2543 0 - vertex -1.44988 28.0795 0 - vertex -1.11256 27.7809 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.41174 36.2975 0 - vertex 3.68699 36.3778 0 - vertex 4.09252 37.0842 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.54821 36.5001 0 - vertex 4.09252 37.0842 0 - vertex 4.46246 37.6912 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.07949 29.2543 0 - vertex -1.78547 28.4297 0 - vertex -1.44988 28.0795 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.61425 36.5608 0 - vertex 4.46246 37.6912 0 - vertex 4.77727 38.1658 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.13903 29.8907 0 - vertex -2.11792 28.8291 0 - vertex -1.78547 28.4297 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.13903 29.8907 0 - vertex -2.44583 29.2754 0 - vertex -2.11792 28.8291 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.61425 36.5608 0 - vertex 4.77727 38.1658 0 - vertex 5.01738 38.4749 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.24074 30.5277 0 - vertex -2.7678 29.7664 0 - vertex -2.44583 29.2754 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.24074 30.5277 0 - vertex -3.08241 30.2998 0 - vertex -2.7678 29.7664 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.38662 31.173 0 - vertex -3.38828 30.8734 0 - vertex -3.08241 30.2998 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.67893 36.5944 0 - vertex 5.01738 38.4749 0 - vertex 5.10332 38.557 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.57871 31.8344 0 - vertex -3.68399 31.485 0 - vertex -3.38828 30.8734 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.57871 31.8344 0 - vertex -3.96814 32.1322 0 - vertex -3.68399 31.485 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.81903 32.5199 0 - vertex -4.23933 32.8128 0 - vertex -3.96814 32.1322 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -5.74234 36.6012 0 - vertex 5.16325 38.5852 0 + vertex -31.2177 27.4629 0 + vertex -5.8163 36.5812 0 vertex -117.5 117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.4524 33.9939 0 - vertex -4.96111 35.0324 0 - vertex -4.73722 34.2652 0 + vertex -6.055 36.2349 0 + vertex -22.4093 27.9007 0 + vertex -20.8096 27.6578 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.10958 33.2371 0 - vertex -4.49616 33.5245 0 - vertex -4.23933 32.8128 0 + vertex -24.3225 27.6757 0 + vertex -27.4214 26.3653 0 + vertex -24.8433 26.205 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.10958 33.2371 0 - vertex -4.73722 34.2652 0 - vertex -4.49616 33.5245 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.84738 34.7996 0 - vertex -5.11886 35.5644 0 - vertex -4.96111 35.0324 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.26543 35.6052 0 - vertex -5.26884 35.9859 0 - vertex -5.11886 35.5644 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.26543 35.6052 0 - vertex -5.41174 36.2975 0 - vertex -5.26884 35.9859 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.09252 37.0842 0 - vertex -5.54821 36.5001 0 - vertex -5.41174 36.2975 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.46246 37.6912 0 - vertex -5.61425 36.5608 0 - vertex -5.54821 36.5001 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.01738 38.4749 0 - vertex -5.67893 36.5944 0 - vertex -5.61425 36.5608 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.10332 38.557 0 - vertex -5.74234 36.6012 0 - vertex -5.67893 36.5944 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.16325 38.5852 0 - vertex -5.74234 36.6012 0 - vertex 5.10332 38.557 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.2816 27.5955 0 - vertex -6.22417 29.538 0 - vertex -6.20957 31.7226 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.5342 27.7352 0 - vertex -6.20957 31.7226 0 - vertex -6.19415 33.3563 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.22417 29.538 0 - vertex -10.2816 27.5955 0 - vertex -8.79778 27.3973 0 + vertex -5.8163 36.5812 0 + vertex -24.3632 27.9554 0 + vertex -22.4093 27.9007 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -7.89877 27.2865 0 - vertex -6.24249 28.8007 0 - vertex -8.79778 27.3973 0 + vertex -29.2879 26.9865 0 + vertex -24.3632 27.9554 0 + vertex -30.666 27.4912 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -6.24249 28.8007 0 - vertex -7.89877 27.2865 0 - vertex -6.27149 28.2565 0 + vertex -24.3632 27.9554 0 + vertex -29.2879 26.9865 0 + vertex -27.4214 26.3653 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -12.6053 27.816 0 - vertex -6.19415 33.3563 0 - vertex -6.15766 34.7516 0 + vertex -5.8163 36.5812 0 + vertex -30.666 27.4912 0 + vertex -24.3632 27.9554 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.0943 24.213 0 + vertex -34.2108 23.023 0 + vertex -32.1178 22.3529 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -37.7877 25.1404 0 + vertex -31.2912 27.2229 0 + vertex -31.2177 27.4629 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2912 27.2229 0 + vertex -36.1697 23.9798 0 + vertex -34.2108 23.023 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2912 27.2229 0 + vertex -37.7877 25.1404 0 + vertex -36.1697 23.9798 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -5.8163 36.5812 0 + vertex -31.2177 27.4629 0 + vertex -30.666 27.4912 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -31.2177 27.4629 0 + vertex -38.5782 25.7376 0 + vertex -37.7877 25.1404 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -7.24334 27.2437 0 - vertex -6.27149 28.2565 0 - vertex -7.89877 27.2865 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -6.99768 27.2475 0 - vertex -6.31368 27.8729 0 - vertex -7.24334 27.2437 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -13.5445 27.8374 0 - vertex -6.15766 34.7516 0 - vertex -6.10555 35.7605 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -6.80178 27.2682 0 - vertex -6.31368 27.8729 0 - vertex -6.99768 27.2475 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.31368 27.8729 0 - vertex -6.80178 27.2682 0 - vertex -6.37156 27.6173 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.37156 27.6173 0 - vertex -6.65192 27.3056 0 - vertex -6.44763 27.4571 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.4014 27.7989 0 - vertex -6.10555 35.7605 0 - vertex -6.07534 36.0738 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.44763 27.4571 0 - vertex -6.65192 27.3056 0 - vertex -6.54439 27.3597 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -6.65192 27.3056 0 - vertex -6.37156 27.6173 0 - vertex -6.80178 27.2682 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.2259 27.7001 0 - vertex -6.07534 36.0738 0 - vertex -6.04327 36.2349 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.27149 28.2565 0 - vertex -7.24334 27.2437 0 - vertex -6.31368 27.8729 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.22417 29.538 0 - vertex -8.79778 27.3973 0 - vertex -6.24249 28.8007 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.20957 31.7226 0 - vertex -11.5342 27.7352 0 - vertex -10.2816 27.5955 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.4599 27.7917 0 - vertex -6.04327 36.2349 0 - vertex -5.92579 36.4611 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.19415 33.3563 0 - vertex -12.6053 27.816 0 - vertex -11.5342 27.7352 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.15766 34.7516 0 - vertex -13.5445 27.8374 0 - vertex -12.6053 27.816 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.7335 27.9892 0 - vertex -5.92579 36.4611 0 - vertex -5.86569 36.5344 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.10555 35.7605 0 - vertex -14.4014 27.7989 0 - vertex -13.5445 27.8374 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.07534 36.0738 0 - vertex -15.2259 27.7001 0 - vertex -14.4014 27.7989 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.04327 36.2349 0 - vertex -16.0674 27.5405 0 - vertex -15.2259 27.7001 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.04327 36.2349 0 - vertex -20.7979 27.6578 0 - vertex -16.0674 27.5405 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex -20.5419 27.5737 0 - vertex -16.0674 27.5405 0 - vertex -20.7979 27.6578 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.0145 27.539 0 - vertex -5.86569 36.5344 0 - vertex -5.80457 36.5812 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9758 27.3196 0 - vertex -19.9368 27.2141 0 - vertex -19.3233 26.703 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9758 27.3196 0 - vertex -20.1227 27.3549 0 - vertex -19.9368 27.2141 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.74234 36.6012 0 - vertex -117.5 117.5 0 - vertex -5.80457 36.5812 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9758 27.3196 0 - vertex -20.3206 27.4738 0 - vertex -20.1227 27.3549 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.9758 27.3196 0 - vertex -20.5419 27.5737 0 - vertex -20.3206 27.4738 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -16.0674 27.5405 0 - vertex -20.5419 27.5737 0 - vertex -16.9758 27.3196 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.04327 36.2349 0 - vertex -21.1001 27.7294 0 - vertex -20.7979 27.6578 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.04327 36.2349 0 - vertex -21.4599 27.7917 0 - vertex -21.1001 27.7294 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -31.0145 27.539 0 - vertex -5.80457 36.5812 0 + vertex -39.0347 25.8392 0 + vertex -31.2177 27.4629 0 vertex -117.5 117.5 0 endloop endfacet - facet normal 0 0 1 + facet normal 0 -0 1 outer loop - vertex -5.92579 36.4611 0 - vertex -22.3975 27.9007 0 - vertex -21.4599 27.7917 0 + vertex -47.2102 -36.2359 0 + vertex -37.5366 -12.7854 0 + vertex -47.8577 -36.863 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.92579 36.4611 0 - vertex -23.1232 27.9594 0 - vertex -22.3975 27.9007 0 + vertex -39.9072 -25.4747 0 + vertex -47.2102 -36.2359 0 + vertex -42.237 -30.9405 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -5.92579 36.4611 0 - vertex -23.7335 27.9892 0 - vertex -23.1232 27.9594 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.86569 36.5344 0 - vertex -24.1643 27.9885 0 - vertex -23.7335 27.9892 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.86569 36.5344 0 - vertex -24.2923 27.9761 0 - vertex -24.1643 27.9885 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -26.3751 26.2567 0 - vertex -24.3889 27.8265 0 - vertex -24.3858 27.8943 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3632 27.7532 0 - vertex -26.3751 26.2567 0 - vertex -24.8316 26.205 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -27.8395 26.4592 0 - vertex -24.3858 27.8943 0 - vertex -24.3515 27.9554 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3858 27.8943 0 - vertex -26.9353 26.3003 0 - vertex -26.3751 26.2567 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.3858 27.8943 0 - vertex -27.4097 26.3653 0 - vertex -26.9353 26.3003 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.86569 36.5344 0 - vertex -31.0145 27.539 0 - vertex -24.2923 27.9761 0 + vertex -42.237 -30.9405 0 + vertex -47.2102 -36.2359 0 + vertex -43.2543 -33.2915 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -29.2762 26.9865 0 - vertex -24.3515 27.9554 0 - vertex -30.0875 27.3102 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -28.7314 26.7626 0 - vertex -24.3515 27.9554 0 - vertex -29.2762 26.9865 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -27.8395 26.4592 0 - vertex -24.3515 27.9554 0 - vertex -28.2663 26.5892 0 + vertex -46.1801 -35.8499 0 + vertex -43.2543 -33.2915 0 + vertex -47.2102 -36.2359 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3858 27.8943 0 - vertex -27.8395 26.4592 0 - vertex -27.4097 26.3653 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -28.2663 26.5892 0 - vertex -24.3515 27.9554 0 - vertex -28.7314 26.7626 0 + vertex -44.1198 -34.7306 0 + vertex -46.1801 -35.8499 0 + vertex -45.0296 -35.5019 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3515 27.9554 0 - vertex -30.6543 27.4912 0 - vertex -30.0875 27.3102 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -30.8579 27.5312 0 - vertex -24.2923 27.9761 0 - vertex -31.0145 27.539 0 + vertex -43.2543 -33.2915 0 + vertex -46.1801 -35.8499 0 + vertex -44.1198 -34.7306 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -24.3515 27.9554 0 - vertex -30.8579 27.5312 0 - vertex -30.6543 27.4912 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -24.2923 27.9761 0 - vertex -30.8579 27.5312 0 - vertex -24.3515 27.9554 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.0225 24.5398 0 - vertex -31.2795 27.2229 0 - vertex -31.272 27.3506 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -30.7957 23.7338 0 - vertex -32.1061 22.3529 0 - vertex -31.5861 22.2399 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.0826 24.213 0 - vertex -32.6306 22.489 0 - vertex -32.1061 22.3529 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2103 24.5339 0 - vertex -33.1564 22.6469 0 - vertex -32.6306 22.489 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2656 24.779 0 - vertex -33.6803 22.8253 0 - vertex -33.1564 22.6469 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2656 24.779 0 - vertex -34.199 23.023 0 - vertex -33.6803 22.8253 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.5664 25.7376 0 - vertex -31.272 27.3506 0 - vertex -31.2059 27.4629 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2668 24.8727 0 - vertex -34.7094 23.2385 0 - vertex -34.199 23.023 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2507 24.9472 0 - vertex -34.7094 23.2385 0 - vertex -31.2668 24.8727 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2795 27.2229 0 - vertex -35.6921 23.7183 0 - vertex -35.2082 23.4707 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2795 27.2229 0 - vertex -36.1579 23.9798 0 - vertex -35.6921 23.7183 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2795 27.2229 0 - vertex -36.6025 24.2541 0 - vertex -36.1579 23.9798 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.8381 25.8495 0 - vertex -31.2059 27.4629 0 - vertex -31.1289 27.5158 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.0145 27.539 0 - vertex -117.5 117.5 0 - vertex -31.1289 27.5158 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.272 27.3506 0 - vertex -38.2113 25.5018 0 - vertex -37.776 25.1404 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.272 27.3506 0 - vertex -37.776 25.1404 0 - vertex -37.4147 24.8357 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.272 27.3506 0 - vertex -37.4147 24.8357 0 - vertex -37.0225 24.5398 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2795 27.2229 0 - vertex -37.0225 24.5398 0 - vertex -36.6025 24.2541 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.272 27.3506 0 - vertex -38.5664 25.7376 0 - vertex -38.2113 25.5018 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2059 27.4629 0 - vertex -38.7129 25.8089 0 - vertex -38.5664 25.7376 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -38.9416 25.8595 0 - vertex -31.1289 27.5158 0 - vertex -117.5 117.5 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.2059 27.4629 0 - vertex -38.8381 25.8495 0 - vertex -38.7129 25.8089 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -31.1289 27.5158 0 - vertex -38.9416 25.8595 0 - vertex -38.8381 25.8495 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -39.8955 -25.4747 0 - vertex -37.5315 -12.6425 0 - vertex -47.5785 -36.5332 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -47.4015 -36.3788 0 - vertex -39.8955 -25.4747 0 - vertex -47.5785 -36.5332 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.8955 -25.4747 0 - vertex -47.4015 -36.3788 0 - vertex -41.2695 -28.6585 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -41.2695 -28.6585 0 - vertex -47.1985 -36.2359 0 - vertex -42.2252 -30.9405 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -42.2252 -30.9405 0 - vertex -46.9715 -36.1082 0 - vertex -42.7651 -32.2453 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -46.7228 -35.999 0 - vertex -42.7651 -32.2453 0 - vertex -46.9715 -36.1082 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -42.7651 -32.2453 0 - vertex -46.4544 -35.9117 0 - vertex -43.2426 -33.2915 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -43.2426 -33.2915 0 - vertex -46.4544 -35.9117 0 - vertex -43.4655 -33.7273 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -43.4655 -33.7273 0 - vertex -46.1684 -35.8499 0 - vertex -43.682 -34.1098 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -43.682 -34.1098 0 - vertex -46.1684 -35.8499 0 - vertex -43.8952 -34.443 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -45.8475 -35.7893 0 - vertex -43.8952 -34.443 0 - vertex -46.1684 -35.8499 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -45.5508 -35.7136 0 - vertex -44.108 -34.7306 0 - vertex -45.8475 -35.7893 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -44.108 -34.7306 0 - vertex -45.5508 -35.7136 0 - vertex -44.3237 -34.9765 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -44.3237 -34.9765 0 - vertex -45.5508 -35.7136 0 - vertex -44.5451 -35.1844 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -44.7755 -35.3583 0 - vertex -45.5508 -35.7136 0 - vertex -45.0179 -35.5019 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -45.0179 -35.5019 0 - vertex -45.5508 -35.7136 0 - vertex -45.2753 -35.6191 0 + vertex -37.5366 -12.7854 0 + vertex -47.2102 -36.2359 0 + vertex -39.9072 -25.4747 0 endloop endfacet facet normal 0 0 1 outer loop vertex -117.5 117.5 0 - vertex -39.13 25.5984 0 - vertex -39.1175 25.7085 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -44.5451 -35.1844 0 - vertex -45.5508 -35.7136 0 - vertex -44.7755 -35.3583 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -43.8952 -34.443 0 - vertex -45.8475 -35.7893 0 - vertex -44.108 -34.7306 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -46.1684 -35.8499 0 - vertex -43.4655 -33.7273 0 - vertex -46.4544 -35.9117 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -46.4544 -35.9117 0 - vertex -42.7651 -32.2453 0 - vertex -46.7228 -35.999 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -46.9715 -36.1082 0 - vertex -42.2252 -30.9405 0 - vertex -47.1985 -36.2359 0 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex -47.1985 -36.2359 0 - vertex -41.2695 -28.6585 0 - vertex -47.4015 -36.3788 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.5249 -12.7854 0 - vertex -39.8955 -25.4747 0 - vertex -38.3469 -21.8682 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -37.5104 -12.4945 0 - vertex -47.7274 -36.6957 0 - vertex -37.5315 -12.6425 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.1186 25.4589 0 - vertex -47.9322 -37.0315 0 - vertex -47.846 -36.863 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.1186 25.4589 0 - vertex -117.5 117.5 0 - vertex -47.9322 -37.0315 0 + vertex -47.8577 -36.863 0 + vertex -39.1303 25.4589 0 endloop endfacet facet normal 0 0 1 outer loop vertex -117.5 -117.5 0 - vertex -47.984 -37.1977 0 + vertex -47.8577 -36.863 0 vertex -117.5 117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -47.9322 -37.0315 0 + vertex -39.0347 25.8392 0 vertex -117.5 117.5 0 - vertex -47.984 -37.1977 0 + vertex -39.1303 25.4589 0 endloop endfacet facet normal 0 0 1 outer loop - vertex -39.0817 25.7888 0 - vertex -117.5 117.5 0 - vertex -39.1175 25.7085 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -39.0229 25.8392 0 - vertex -117.5 117.5 0 - vertex -39.0817 25.7888 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -38.9416 25.8595 0 - vertex -117.5 117.5 0 - vertex -39.0229 25.8392 0 + vertex -31.2177 27.4629 0 + vertex -39.0347 25.8392 0 + vertex -38.5782 25.7376 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 47.9987 -20.2887 0 + vertex 47.8425 -21.0531 0 vertex 117.5 -117.5 0 - vertex 47.9993 -20.1225 0 + vertex 47.9875 -20.1225 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 47.9737 -20.4912 0 + vertex 47.5305 -21.9981 0 vertex 117.5 -117.5 0 - vertex 47.9987 -20.2887 0 + vertex 47.8425 -21.0531 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 47.8542 -21.0531 0 + vertex 47.0957 -22.796 0 vertex 117.5 -117.5 0 - vertex 47.9737 -20.4912 0 + vertex 47.5305 -21.9981 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 47.7155 -21.5429 0 + vertex 46.5684 -23.4293 0 vertex 117.5 -117.5 0 - vertex 47.8542 -21.0531 0 + vertex 47.0957 -22.796 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 37.9939 -37.5705 0 + vertex 46.5684 -23.4293 0 + vertex 45.9792 -23.8802 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.113 -36.8464 0 + vertex 45.9792 -23.8802 0 + vertex 45.3585 -24.1311 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 38.2188 -29.6614 0 + vertex 45.3585 -24.1311 0 + vertex 44.7368 -24.1643 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 40.0289 -25.46 0 + vertex 44.7368 -24.1643 0 + vertex 44.1445 -23.9621 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 47.5422 -21.9981 0 - vertex 117.5 -117.5 0 - vertex 47.7155 -21.5429 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 47.3383 -22.4165 0 - vertex 117.5 -117.5 0 - vertex 47.5422 -21.9981 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 47.1074 -22.796 0 - vertex 117.5 -117.5 0 - vertex 47.3383 -22.4165 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 46.8534 -23.1343 0 - vertex 117.5 -117.5 0 - vertex 47.1074 -22.796 0 + vertex 41.2986 -23.9223 0 + vertex 44.1445 -23.9621 0 + vertex 43.6122 -23.5069 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.0668 -37.4245 0 - vertex 46.8534 -23.1343 0 - vertex 46.5801 -23.4293 0 + vertex 41.2986 -23.9223 0 + vertex 43.6122 -23.5069 0 + vertex 42.7682 -22.851 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.0668 -37.4245 0 - vertex 46.5801 -23.4293 0 - vertex 46.2914 -23.6786 0 + vertex 44.1445 -23.9621 0 + vertex 41.2986 -23.9223 0 + vertex 40.5923 -24.6171 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.103 -37.2562 0 - vertex 46.2914 -23.6786 0 - vertex 45.9909 -23.8802 0 + vertex 44.1445 -23.9621 0 + vertex 40.5923 -24.6171 0 + vertex 40.0289 -25.46 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.1248 -36.8464 0 - vertex 45.9909 -23.8802 0 - vertex 45.6826 -24.0317 0 + vertex 44.7368 -24.1643 0 + vertex 40.0289 -25.46 0 + vertex 38.2188 -29.6614 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.119 -36.6694 0 - vertex 45.6826 -24.0317 0 - vertex 45.3703 -24.1311 0 + vertex 37.9618 -36.3241 0 + vertex 45.3585 -24.1311 0 + vertex 38.2188 -29.6614 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 38.2305 -29.6614 0 - vertex 45.3703 -24.1311 0 - vertex 45.0576 -24.176 0 + vertex 45.9792 -23.8802 0 + vertex 38.113 -36.8464 0 + vertex 37.9939 -37.5705 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 39.342 -26.9688 0 - vertex 45.0576 -24.176 0 - vertex 44.7485 -24.1643 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 39.342 -26.9688 0 - vertex 44.7485 -24.1643 0 - vertex 44.4468 -24.0937 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 40.0406 -25.46 0 - vertex 44.4468 -24.0937 0 - vertex 44.1563 -23.9621 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 41.3103 -23.9223 0 - vertex 44.1563 -23.9621 0 - vertex 43.8807 -23.7673 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.7898 -23.5063 0 - vertex 43.8807 -23.7673 0 - vertex 43.6239 -23.5069 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.2267 -23.1657 0 - vertex 43.6239 -23.5069 0 - vertex 43.3873 -23.2523 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 42.2267 -23.1657 0 - vertex 43.3873 -23.2523 0 - vertex 43.1493 -23.0437 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 42.5728 -22.9356 0 - vertex 43.1493 -23.0437 0 - vertex 42.9376 -22.9028 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 42.6968 -22.8729 0 - vertex 42.9376 -22.9028 0 - vertex 42.8503 -22.8644 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.6968 -22.8729 0 - vertex 42.8503 -22.8644 0 - vertex 42.7799 -22.851 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.9376 -22.9028 0 - vertex 42.6968 -22.8729 0 - vertex 42.5728 -22.9356 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 43.1493 -23.0437 0 - vertex 42.5728 -22.9356 0 - vertex 42.2267 -23.1657 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 43.6239 -23.5069 0 - vertex 42.2267 -23.1657 0 - vertex 41.7898 -23.5063 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 43.8807 -23.7673 0 - vertex 41.7898 -23.5063 0 - vertex 41.3103 -23.9223 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.1563 -23.9621 0 - vertex 41.3103 -23.9223 0 - vertex 40.922 -24.2835 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.1563 -23.9621 0 - vertex 40.922 -24.2835 0 - vertex 40.604 -24.6171 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.1563 -23.9621 0 - vertex 40.604 -24.6171 0 - vertex 40.3218 -24.9877 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.1563 -23.9621 0 - vertex 40.3218 -24.9877 0 - vertex 40.0406 -25.46 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.4468 -24.0937 0 - vertex 40.0406 -25.46 0 - vertex 39.7256 -26.0988 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 44.4468 -24.0937 0 - vertex 39.7256 -26.0988 0 - vertex 39.342 -26.9688 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 45.0576 -24.176 0 - vertex 39.342 -26.9688 0 - vertex 38.2305 -29.6614 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 38.0969 -36.5276 0 - vertex 45.3703 -24.1311 0 - vertex 38.2305 -29.6614 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 45.9909 -23.8802 0 - vertex 38.1248 -36.8464 0 - vertex 38.103 -37.2562 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 46.2914 -23.6786 0 - vertex 38.103 -37.2562 0 - vertex 38.0668 -37.4245 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 46.8534 -23.1343 0 - vertex 38.0668 -37.4245 0 - vertex 38.0057 -37.5705 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 46.8534 -23.1343 0 - vertex 38.0057 -37.5705 0 + vertex 46.5684 -23.4293 0 + vertex 37.9939 -37.5705 0 vertex 117.5 -117.5 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 37.9137 -37.6957 0 + vertex 37.381 -37.9628 0 vertex 117.5 -117.5 0 - vertex 38.0057 -37.5705 0 + vertex 37.9939 -37.5705 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 37.7849 -37.8018 0 + vertex 35.8907 -38.1241 0 vertex 117.5 -117.5 0 - vertex 37.9137 -37.6957 0 + vertex 37.381 -37.9628 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 37.6132 -37.8903 0 + vertex 33.1396 -38.1555 0 vertex 117.5 -117.5 0 - vertex 37.7849 -37.8018 0 + vertex 35.8907 -38.1241 0 endloop endfacet - facet normal -0 0 1 + facet normal 0 0 1 outer loop - vertex 37.3927 -37.9628 0 + vertex 29.8074 -38.0948 0 vertex 117.5 -117.5 0 - vertex 37.6132 -37.8903 0 + vertex 33.1396 -38.1555 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 21.4079 -38.2833 0 + vertex 29.8074 -38.0948 0 + vertex 28.6431 -37.8931 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 28.553 -36.8405 0 + vertex 25.9895 -35.834 0 + vertex 28.4102 -37.3704 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 37.1174 -38.0208 0 - vertex 117.5 -117.5 0 - vertex 37.3927 -37.9628 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 36.7812 -38.066 0 - vertex 117.5 -117.5 0 - vertex 37.1174 -38.0208 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 35.9024 -38.1241 0 - vertex 117.5 -117.5 0 - vertex 36.7812 -38.066 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 34.7085 -38.1497 0 - vertex 117.5 -117.5 0 - vertex 35.9024 -38.1241 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 33.1514 -38.1555 0 - vertex 117.5 -117.5 0 - vertex 34.7085 -38.1497 0 + vertex 24.0601 -37.0678 0 + vertex 28.4102 -37.3704 0 + vertex 25.9895 -35.834 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 31.1824 -38.1409 0 - vertex 117.5 -117.5 0 - vertex 33.1514 -38.1555 0 + vertex 28.4102 -37.3704 0 + vertex 24.0601 -37.0678 0 + vertex 28.6431 -37.8931 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3202 -38.5182 0 - vertex 31.1824 -38.1409 0 - vertex 29.8192 -38.0948 0 + vertex 21.4079 -38.2833 0 + vertex 28.6431 -37.8931 0 + vertex 24.0601 -37.0678 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.3202 -38.5182 0 - vertex 29.8192 -38.0948 0 - vertex 29.3448 -38.0588 0 + vertex 29.8074 -38.0948 0 + vertex 21.4079 -38.2833 0 + vertex 20.3084 -38.5182 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 20.8717 -38.4255 0 - vertex 29.3448 -38.0588 0 - vertex 28.9979 -38.0135 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.4197 -38.2833 0 - vertex 28.9979 -38.0135 0 - vertex 28.7706 -37.9584 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 22.6041 -37.8201 0 - vertex 28.7706 -37.9584 0 - vertex 28.6548 -37.8931 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.4965 -36.9693 0 - vertex 26.4377 -35.4824 0 - vertex 28.4495 -37.1014 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.0012 -35.834 0 - vertex 28.4495 -37.1014 0 - vertex 26.4377 -35.4824 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.4495 -37.1014 0 - vertex 26.0012 -35.834 0 - vertex 28.4243 -37.2355 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.4243 -37.2355 0 - vertex 26.0012 -35.834 0 - vertex 28.4219 -37.3704 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.5601 -36.1579 0 - vertex 28.4219 -37.3704 0 - vertex 26.0012 -35.834 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.4219 -37.3704 0 - vertex 25.5601 -36.1579 0 - vertex 28.443 -37.5048 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 25.1006 -36.4644 0 - vertex 28.443 -37.5048 0 - vertex 25.5601 -36.1579 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.443 -37.5048 0 - vertex 25.1006 -36.4644 0 - vertex 28.4883 -37.6376 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.6091 -36.7642 0 - vertex 28.4883 -37.6376 0 - vertex 25.1006 -36.4644 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.4883 -37.6376 0 - vertex 24.6091 -36.7642 0 - vertex 28.5587 -37.7674 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 24.0719 -37.0678 0 - vertex 28.5587 -37.7674 0 - vertex 24.6091 -36.7642 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.5587 -37.7674 0 - vertex 24.0719 -37.0678 0 - vertex 28.6548 -37.8931 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.2902 -37.4839 0 - vertex 28.6548 -37.8931 0 - vertex 24.0719 -37.0678 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.6041 -37.8201 0 - vertex 28.6548 -37.8931 0 - vertex 23.2902 -37.4839 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.7706 -37.9584 0 - vertex 22.6041 -37.8201 0 - vertex 21.9889 -38.084 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.7706 -37.9584 0 - vertex 21.9889 -38.084 0 - vertex 21.4197 -38.2833 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.9979 -38.0135 0 - vertex 21.4197 -38.2833 0 - vertex 20.8717 -38.4255 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.3448 -38.0588 0 - vertex 20.8717 -38.4255 0 - vertex 20.3202 -38.5182 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.1824 -38.1409 0 - vertex 20.3202 -38.5182 0 + vertex 29.8074 -38.0948 0 + vertex 20.3084 -38.5182 0 vertex 117.5 -117.5 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.7403 -38.5689 0 + vertex 19.0956 -38.5852 0 vertex 117.5 -117.5 0 - vertex 20.3202 -38.5182 0 + vertex 20.3084 -38.5182 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.1073 -38.5852 0 - vertex 117.5 -117.5 0 - vertex 19.7403 -38.5689 0 + vertex 5.33583 -38.4712 0 + vertex 19.0956 -38.5852 0 + vertex 17.8945 -38.4707 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 18.4669 -38.5591 0 - vertex 117.5 -117.5 0 - vertex 19.1073 -38.5852 0 + vertex 5.33583 -38.4712 0 + vertex 17.8945 -38.4707 0 + vertex 16.8412 -38.0675 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.34756 -38.4712 0 - vertex 18.4669 -38.5591 0 - vertex 18.1792 -38.5233 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.55983 -38.4413 0 - vertex 18.1792 -38.5233 0 - vertex 17.9062 -38.4707 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.81563 -38.3852 0 - vertex 17.9062 -38.4707 0 - vertex 17.6424 -38.4 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.47346 -38.1927 0 - vertex 17.6424 -38.4 0 - vertex 17.3825 -38.3101 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.35232 -37.8908 0 - vertex 17.3825 -38.3101 0 - vertex 17.1211 -38.1997 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.35232 -37.8908 0 - vertex 17.1211 -38.1997 0 - vertex 16.8529 -38.0675 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.2137 -37.0171 0 - vertex 16.8529 -38.0675 0 - vertex 16.342 -37.7658 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.5307 -36.9119 0 - vertex 16.342 -37.7658 0 - vertex 16.1153 -37.6039 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.8056 -32.2631 0 - vertex 11.5005 -31.4602 0 - vertex 14.73 -32.8205 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.1661 -32.3709 0 - vertex 14.73 -32.8205 0 - vertex 11.5005 -31.4602 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.2214 -34.9805 0 - vertex 14.6774 -34.4466 0 - vertex 14.6656 -33.913 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.2214 -34.9805 0 - vertex 14.7369 -35.0944 0 - vertex 14.6774 -34.4466 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 12.2239 -35.4151 0 - vertex 14.7369 -35.0944 0 - vertex 12.2468 -35.1875 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.7369 -35.0944 0 - vertex 12.2239 -35.4151 0 - vertex 14.8496 -35.6738 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.1496 -35.6584 0 - vertex 14.8496 -35.6738 0 - vertex 12.2239 -35.4151 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.8496 -35.6738 0 - vertex 12.1496 -35.6584 0 - vertex 14.927 -35.9398 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.0956 -35.7642 0 - vertex 14.927 -35.9398 0 - vertex 12.1496 -35.6584 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 14.927 -35.9398 0 - vertex 12.0956 -35.7642 0 - vertex 15.0191 -36.1911 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 12.0181 -35.8752 0 - vertex 15.0191 -36.1911 0 - vertex 12.0956 -35.7642 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.0191 -36.1911 0 - vertex 12.0181 -35.8752 0 - vertex 15.1264 -36.4284 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.8034 -36.1064 0 - vertex 15.1264 -36.4284 0 - vertex 12.0181 -35.8752 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.1264 -36.4284 0 - vertex 11.8034 -36.1064 0 - vertex 15.2493 -36.6526 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.2493 -36.6526 0 - vertex 11.8034 -36.1064 0 - vertex 15.3884 -36.8644 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.5264 -36.339 0 - vertex 15.3884 -36.8644 0 - vertex 11.8034 -36.1064 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.3884 -36.8644 0 - vertex 11.5264 -36.339 0 - vertex 15.544 -37.0647 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 11.208 -36.5595 0 - vertex 15.544 -37.0647 0 - vertex 11.5264 -36.339 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.544 -37.0647 0 - vertex 11.208 -36.5595 0 - vertex 15.7167 -37.2541 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.8691 -36.7549 0 - vertex 15.7167 -37.2541 0 - vertex 11.208 -36.5595 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.7167 -37.2541 0 - vertex 10.8691 -36.7549 0 - vertex 15.907 -37.4336 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15.907 -37.4336 0 - vertex 10.8691 -36.7549 0 - vertex 16.1153 -37.6039 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 10.5307 -36.9119 0 - vertex 16.1153 -37.6039 0 - vertex 10.8691 -36.7549 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.342 -37.7658 0 - vertex 10.5307 -36.9119 0 - vertex 10.2137 -37.0171 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.8529 -38.0675 0 - vertex 10.2137 -37.0171 0 - vertex 8.4835 -37.477 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.94379 -37.3156 0 - vertex 10.2137 -37.0171 0 - vertex 9.93892 -37.0575 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.37163 -37.1827 0 - vertex 9.93892 -37.0575 0 - vertex 9.71926 -37.0921 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.93892 -37.0575 0 - vertex 9.37163 -37.1827 0 - vertex 8.94379 -37.3156 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.2137 -37.0171 0 - vertex 8.94379 -37.3156 0 - vertex 8.4835 -37.477 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 16.8529 -38.0675 0 - vertex 8.4835 -37.477 0 - vertex 7.35232 -37.8908 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.3825 -38.3101 0 - vertex 7.35232 -37.8908 0 - vertex 6.47346 -38.1927 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.6424 -38.4 0 - vertex 6.47346 -38.1927 0 - vertex 5.81563 -38.3852 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 17.9062 -38.4707 0 - vertex 5.81563 -38.3852 0 - vertex 5.55983 -38.4413 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.1792 -38.5233 0 - vertex 5.55983 -38.4413 0 - vertex 5.34756 -38.4712 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 18.4669 -38.5591 0 - vertex 5.34756 -38.4712 0 - vertex 117.5 -117.5 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 5.17491 -38.475 0 - vertex 117.5 -117.5 0 - vertex 5.34756 -38.4712 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.974434 -38.4962 0 - vertex 5.17491 -38.475 0 - vertex 5.03796 -38.4533 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.32439 -38.26 0 - vertex 5.03796 -38.4533 0 - vertex 4.93281 -38.4063 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.26446 -37.4494 0 - vertex 4.74716 -37.8041 0 - vertex 4.72035 -37.4346 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.65588 -37.2809 0 - vertex 4.72035 -37.4346 0 - vertex 4.69132 -37.3222 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.72035 -37.4346 0 - vertex 4.65588 -37.2809 0 - vertex 4.26446 -37.4494 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.74716 -37.8041 0 - vertex 4.26446 -37.4494 0 - vertex 4.76904 -38.117 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.45158 -37.8545 0 - vertex 4.76904 -38.117 0 - vertex 4.26446 -37.4494 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.76904 -38.117 0 - vertex 3.45158 -37.8545 0 - vertex 4.80226 -38.2378 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.80226 -38.2378 0 - vertex 3.45158 -37.8545 0 - vertex 4.85555 -38.3343 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.20396 -37.9704 0 - vertex 4.85555 -38.3343 0 - vertex 3.45158 -37.8545 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.85555 -38.3343 0 - vertex 3.20396 -37.9704 0 - vertex 4.93281 -38.4063 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 2.93102 -38.0768 0 - vertex 4.93281 -38.4063 0 - vertex 3.20396 -37.9704 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 2.32439 -38.26 0 - vertex 4.93281 -38.4063 0 - vertex 2.93102 -38.0768 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.03796 -38.4533 0 - vertex 2.32439 -38.26 0 - vertex 1.66207 -38.4009 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.03796 -38.4533 0 - vertex 1.66207 -38.4009 0 - vertex 0.974434 -38.4962 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.17491 -38.475 0 - vertex 0.974434 -38.4962 0 - vertex 0.291868 -38.543 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.17491 -38.475 0 - vertex 0.291868 -38.543 0 - vertex 117.5 -117.5 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.355246 -38.538 0 - vertex 117.5 -117.5 0 - vertex 0.291868 -38.543 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.84865 -38.1451 0 - vertex -0.355246 -38.538 0 - vertex -0.936529 -38.478 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.657 -38.0883 0 - vertex -0.936529 -38.478 0 - vertex -1.19299 -38.4265 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.30871 -38.0303 0 - vertex -1.19299 -38.4265 0 - vertex -1.4216 -38.36 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.30871 -38.0303 0 - vertex -1.4216 -38.36 0 - vertex -1.69347 -38.2465 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -8.0676 -37.9462 0 - vertex -1.69347 -38.2465 0 - vertex -1.95525 -38.0993 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.4861 -31.0878 0 - vertex -6.39994 -29.738 0 - vertex -3.75417 -32.0301 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.75417 -32.0301 0 - vertex -6.39994 -29.738 0 - vertex -3.8527 -32.4651 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.70823 -32.8163 0 - vertex -3.8527 -32.4651 0 - vertex -6.39994 -29.738 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.8527 -32.4651 0 - vertex -7.70823 -32.8163 0 - vertex -3.92523 -32.8697 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.92523 -32.8697 0 - vertex -7.70823 -32.8163 0 - vertex -3.97004 -33.2395 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 0 - vertex -3.98536 -33.5697 0 - vertex -3.97004 -33.2395 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 0 - vertex -3.97277 -33.9877 0 - vertex -3.98536 -33.5697 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 0 - vertex -3.93569 -34.3989 0 - vertex -3.97277 -33.9877 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 0 - vertex -3.87516 -34.8013 0 - vertex -3.93569 -34.3989 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 0 - vertex -3.79219 -35.193 0 - vertex -3.87516 -34.8013 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 0 - vertex -3.68783 -35.5721 0 - vertex -3.79219 -35.193 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30266 -36.7536 0 - vertex -3.56309 -35.9367 0 - vertex -3.68783 -35.5721 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.56309 -35.9367 0 - vertex -7.29619 -36.8569 0 - vertex -3.41901 -36.2848 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.30695 -36.9638 0 - vertex -3.41901 -36.2848 0 - vertex -7.29619 -36.8569 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.41901 -36.2848 0 - vertex -7.30695 -36.9638 0 - vertex -3.25661 -36.6145 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.38017 -37.1883 0 - vertex -3.25661 -36.6145 0 - vertex -7.30695 -36.9638 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.25661 -36.6145 0 - vertex -7.38017 -37.1883 0 - vertex -3.07693 -36.924 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.07693 -36.924 0 - vertex -7.38017 -37.1883 0 - vertex -2.88099 -37.2112 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.52232 -37.4271 0 - vertex -2.88099 -37.2112 0 - vertex -7.38017 -37.1883 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.88099 -37.2112 0 - vertex -7.52232 -37.4271 0 - vertex -2.66982 -37.4742 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.73344 -37.6801 0 - vertex -2.66982 -37.4742 0 - vertex -7.52232 -37.4271 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.66982 -37.4742 0 - vertex -7.73344 -37.6801 0 - vertex -2.44446 -37.7112 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -7.8903 -37.8311 0 - vertex -2.44446 -37.7112 0 - vertex -7.73344 -37.6801 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.44446 -37.7112 0 - vertex -7.8903 -37.8311 0 - vertex -2.20592 -37.9202 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.20592 -37.9202 0 - vertex -7.8903 -37.8311 0 - vertex -1.95525 -38.0993 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -8.0676 -37.9462 0 - vertex -1.95525 -38.0993 0 - vertex -7.8903 -37.8311 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.69347 -38.2465 0 - vertex -8.0676 -37.9462 0 - vertex -8.30871 -38.0303 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.19299 -38.4265 0 - vertex -8.30871 -38.0303 0 - vertex -8.657 -38.0883 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.936529 -38.478 0 - vertex -8.657 -38.0883 0 - vertex -9.15585 -38.1249 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.936529 -38.478 0 - vertex -9.15585 -38.1249 0 - vertex -9.84865 -38.1451 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.355246 -38.538 0 - vertex -9.84865 -38.1451 0 - vertex -117.5 -117.5 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -9.84865 -38.1451 0 - vertex -11.9896 -38.1555 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -11.9896 -38.1555 0 - vertex -14.1677 -38.1469 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -14.1677 -38.1469 0 - vertex -14.8486 -38.1282 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.0369 -38.1201 0 - vertex -14.8486 -38.1282 0 - vertex -15.316 -38.0928 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.5664 -38.0841 0 - vertex -15.316 -38.0928 0 - vertex -15.614 -38.0352 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.2437 -38.0218 0 - vertex -15.614 -38.0352 0 - vertex -15.7132 -37.9965 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.9096 -37.1689 0 - vertex -16.3508 -37.1428 0 - vertex -15.9511 -37.293 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.9511 -37.293 0 - vertex -16.3508 -37.1428 0 - vertex -15.9675 -37.4163 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.5023 -37.3844 0 - vertex -15.9675 -37.4163 0 - vertex -16.3508 -37.1428 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.9675 -37.4163 0 - vertex -16.5023 -37.3844 0 - vertex -15.9604 -37.5428 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.9604 -37.5428 0 - vertex -16.5023 -37.3844 0 - vertex -15.9316 -37.6764 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.6872 -37.6188 0 - vertex -15.9316 -37.6764 0 - vertex -16.5023 -37.3844 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.9316 -37.6764 0 - vertex -16.6872 -37.6188 0 - vertex -15.8777 -37.8324 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -16.8516 -37.795 0 - vertex -15.8777 -37.8324 0 - vertex -16.6872 -37.6188 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.8777 -37.8324 0 - vertex -16.8516 -37.795 0 - vertex -15.8396 -37.8957 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.8396 -37.8957 0 - vertex -16.8516 -37.795 0 - vertex -15.7865 -37.9502 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.0213 -37.9274 0 - vertex -15.7865 -37.9502 0 - vertex -16.8516 -37.795 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.7865 -37.9502 0 - vertex -17.0213 -37.9274 0 - vertex -15.7132 -37.9965 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.2437 -38.0218 0 - vertex -15.7132 -37.9965 0 - vertex -17.0213 -37.9274 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.614 -38.0352 0 - vertex -17.2437 -38.0218 0 - vertex -17.5664 -38.0841 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.316 -38.0928 0 - vertex -17.5664 -38.0841 0 - vertex -18.0369 -38.1201 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.8486 -38.1282 0 - vertex -18.0369 -38.1201 0 - vertex -117.5 -117.5 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -18.0369 -38.1201 0 - vertex -18.7028 -38.1359 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -18.7028 -38.1359 0 - vertex -20.8109 -38.1301 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -20.8109 -38.1301 0 - vertex -23.4866 -38.0828 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2718 -38.1638 0 - vertex -23.4866 -38.0828 0 - vertex -24.3782 -38.0456 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2718 -38.1638 0 - vertex -24.3782 -38.0456 0 - vertex -24.7978 -38.0047 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2718 -38.1638 0 - vertex -24.7978 -38.0047 0 - vertex -24.9442 -37.9384 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -27.2673 -36.8782 0 - vertex -25.1078 -37.2448 0 - vertex -26.6839 -36.0968 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.1078 -37.2448 0 - vertex -27.2673 -36.8782 0 - vertex -25.1419 -37.4158 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.1419 -37.4158 0 - vertex -27.2673 -36.8782 0 - vertex -25.1453 -37.5754 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.1453 -37.5754 0 - vertex -27.2673 -36.8782 0 - vertex -25.1152 -37.719 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -28.2718 -38.1638 0 - vertex -25.1152 -37.719 0 - vertex -27.2673 -36.8782 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.1152 -37.719 0 - vertex -28.2718 -38.1638 0 - vertex -25.0491 -37.8416 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -25.0491 -37.8416 0 - vertex -28.2718 -38.1638 0 - vertex -24.9442 -37.9384 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -23.4866 -38.0828 0 - vertex -28.2718 -38.1638 0 - vertex -117.5 -117.5 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -28.2718 -38.1638 0 - vertex -37.6203 -38.1325 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -37.6203 -38.1325 0 - vertex -41.2883 -38.1087 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -41.2883 -38.1087 0 - vertex -44.3648 -38.0673 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -44.3648 -38.0673 0 - vertex -46.5272 -38.014 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -46.5272 -38.014 0 - vertex -47.1648 -37.9848 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -47.1648 -37.9848 0 - vertex -47.4529 -37.9547 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -117.5 -117.5 0 - vertex -47.4529 -37.9547 0 - vertex -47.6522 -37.8745 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.984 -37.1977 0 - vertex -117.5 -117.5 0 - vertex -47.9993 -37.3583 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.355246 -38.538 0 - vertex -117.5 -117.5 0 - vertex 117.5 -117.5 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.8044 -37.7712 0 - vertex -117.5 -117.5 0 - vertex -47.6522 -37.8745 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.9115 -37.6485 0 - vertex -117.5 -117.5 0 - vertex -47.8044 -37.7712 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.9758 -37.5097 0 - vertex -117.5 -117.5 0 - vertex -47.9115 -37.6485 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -47.9993 -37.3583 0 - vertex -117.5 -117.5 0 - vertex -47.9758 -37.5097 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.9547 -20.2657 0 - vertex 42.1212 -20.0931 0 - vertex 42.3117 -20.6924 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 42.0356 -20.3507 0 - vertex 42.3117 -20.6924 0 - vertex 42.1212 -20.0931 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 41.9515 -20.5727 0 - vertex 42.3117 -20.6924 0 - vertex 42.0356 -20.3507 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.3117 -20.6924 0 - vertex 41.9515 -20.5727 0 - vertex 42.1116 -20.8028 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 41.9099 -20.7296 0 - vertex 42.1116 -20.8028 0 - vertex 41.9515 -20.5727 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 42.1116 -20.8028 0 - vertex 41.9099 -20.7296 0 - vertex 41.9827 -20.8453 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 41.9179 -20.8207 0 - vertex 41.9827 -20.8453 0 - vertex 41.9099 -20.7296 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 41.9827 -20.8453 0 - vertex 41.9179 -20.8207 0 - vertex 41.9427 -20.8413 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.1157 -22.9178 0 - vertex 36.3671 -23.1585 0 - vertex 36.3539 -23.0402 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.1157 -22.9178 0 - vertex 36.3539 -23.0402 0 - vertex 36.3224 -22.9562 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 35.9442 -22.9618 0 - vertex 36.3671 -23.1585 0 - vertex 36.1157 -22.9178 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.2034 -22.8943 0 - vertex 36.3224 -22.9562 0 - vertex 36.2723 -22.9073 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3224 -22.9562 0 - vertex 36.2034 -22.8943 0 - vertex 36.1157 -22.9178 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.3671 -23.1585 0 - vertex 35.9442 -22.9618 0 - vertex 36.362 -23.3104 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.362 -23.3104 0 - vertex 35.9442 -22.9618 0 - vertex 36.2977 -23.7121 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 35.7166 -22.9783 0 - vertex 36.2977 -23.7121 0 - vertex 35.9442 -22.9618 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.4626 -22.9668 0 - vertex 36.2977 -23.7121 0 - vertex 35.7166 -22.9783 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.2977 -23.7121 0 - vertex 35.4626 -22.9668 0 - vertex 36.1622 -24.2394 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.2118 -22.9271 0 - vertex 36.1622 -24.2394 0 - vertex 35.4626 -22.9668 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 36.1622 -24.2394 0 - vertex 35.2118 -22.9271 0 - vertex 35.957 -24.8864 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.9345 -22.8399 0 - vertex 35.957 -24.8864 0 - vertex 35.2118 -22.9271 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.957 -24.8864 0 - vertex 34.9345 -22.8399 0 - vertex 35.6833 -25.6471 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.8338 -22.7839 0 - vertex 35.6833 -25.6471 0 - vertex 34.9345 -22.8399 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.7558 -22.7166 0 - vertex 35.6833 -25.6471 0 - vertex 34.8338 -22.7839 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 35.6833 -25.6471 0 - vertex 34.7558 -22.7166 0 - vertex 35.3422 -26.5156 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.6986 -22.636 0 - vertex 35.3422 -26.5156 0 - vertex 34.7558 -22.7166 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 33.8561 -30.1753 0 - vertex 34.6986 -22.636 0 - vertex 34.6602 -22.54 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 33.8561 -30.1753 0 - vertex 34.6602 -22.54 0 - vertex 34.6385 -22.4262 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.6986 -22.636 0 - vertex 33.8561 -30.1753 0 - vertex 35.3422 -26.5156 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 33.8561 -30.1753 0 - vertex 34.6385 -22.4262 0 - vertex 34.6318 -22.2927 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.6318 -22.2927 0 - vertex 32.0372 -23.3848 0 - vertex 31.9625 -24.0535 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.6318 -22.2927 0 - vertex 31.9625 -24.0535 0 - vertex 31.8392 -24.8188 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 34.6318 -22.2927 0 - vertex 31.8392 -24.8188 0 - vertex 31.6784 -25.7224 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 33.8561 -30.1753 0 - vertex 31.6784 -25.7224 0 - vertex 31.6003 -26.0834 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 31.3939 -26.6463 0 - vertex 33.8561 -30.1753 0 - vertex 31.5092 -26.3899 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 31.047 -27.0266 0 - vertex 33.8561 -30.1753 0 - vertex 31.2435 -26.857 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 30.7934 -27.1595 0 - vertex 33.8561 -30.1753 0 - vertex 31.047 -27.0266 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 30.2299 -31.0524 0 - vertex 33.1139 -32.0001 0 - vertex 30.2187 -30.9454 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 30.1034 -31.4773 0 - vertex 33.1139 -32.0001 0 - vertex 30.1726 -31.3179 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 33.1139 -32.0001 0 - vertex 30.1034 -31.4773 0 - vertex 32.5373 -33.371 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.8827 -31.8517 0 - vertex 32.5373 -33.371 0 - vertex 30.1034 -31.4773 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 30.2146 -31.1764 0 - vertex 33.1139 -32.0001 0 - vertex 30.2299 -31.0524 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 29.5499 -32.3032 0 - vertex 32.5373 -33.371 0 - vertex 29.8827 -31.8517 0 + vertex 10.519 -36.9119 0 + vertex 16.8412 -38.0675 0 + vertex 15.8953 -37.4336 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex 30.2187 -30.9454 0 - vertex 33.8561 -30.1753 0 - vertex 30.1812 -30.855 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 32.5373 -33.371 0 - vertex 29.5499 -32.3032 0 - vertex 32.0766 -34.3595 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.1179 -30.7807 0 - vertex 33.8561 -30.1753 0 - vertex 30.7934 -27.1595 0 + vertex 11.871 -34.5351 0 + vertex 14.7938 -32.2631 0 + vertex 11.4887 -31.4602 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.1028 -32.8352 0 - vertex 32.0766 -34.3595 0 - vertex 29.5499 -32.3032 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.9008 -30.6099 0 - vertex 30.7934 -27.1595 0 - vertex 30.4717 -27.2602 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 32.0766 -34.3595 0 - vertex 29.1028 -32.8352 0 - vertex 31.8743 -34.7329 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.8743 -34.7329 0 - vertex 29.1028 -32.8352 0 - vertex 31.6824 -35.0376 0 + vertex 12.2351 -35.1874 0 + vertex 14.8379 -35.6738 0 + vertex 14.6656 -34.4466 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 30.1726 -31.3179 0 - vertex 33.1139 -32.0001 0 - vertex 30.2146 -31.1764 0 + vertex 12.1379 -35.6584 0 + vertex 14.8379 -35.6738 0 + vertex 12.2351 -35.1874 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 33.8561 -30.1753 0 - vertex 30.2187 -30.9454 0 - vertex 33.1139 -32.0001 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 33.8561 -30.1753 0 - vertex 30.1179 -30.7807 0 - vertex 30.1812 -30.855 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.7002 -30.4984 0 - vertex 30.4717 -27.2602 0 - vertex 30.0709 -27.3331 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.7934 -27.1595 0 - vertex 29.9008 -30.6099 0 - vertex 30.1179 -30.7807 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.4717 -27.2602 0 - vertex 29.7002 -30.4984 0 - vertex 29.9008 -30.6099 0 + vertex 14.8379 -35.6738 0 + vertex 12.1379 -35.6584 0 + vertex 15.2376 -36.6526 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 29.58 -27.3827 0 - vertex 29.7002 -30.4984 0 - vertex 30.0709 -27.3331 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.58 -27.3827 0 - vertex 29.5048 -30.449 0 - vertex 29.7002 -30.4984 0 + vertex 11.7916 -36.1064 0 + vertex 15.2376 -36.6526 0 + vertex 12.1379 -35.6584 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.988 -27.4135 0 - vertex 29.5048 -30.449 0 - vertex 29.58 -27.3827 0 + vertex 11.1962 -36.5595 0 + vertex 15.2376 -36.6526 0 + vertex 11.7916 -36.1064 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.5048 -30.449 0 - vertex 28.988 -27.4135 0 - vertex 29.3033 -30.4642 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.3033 -30.4642 0 - vertex 28.988 -27.4135 0 - vertex 29.0845 -30.5466 0 + vertex 15.2376 -36.6526 0 + vertex 11.1962 -36.5595 0 + vertex 15.8953 -37.4336 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.4568 -27.4364 0 - vertex 29.0845 -30.5466 0 - vertex 28.988 -27.4135 0 + vertex 10.519 -36.9119 0 + vertex 15.8953 -37.4336 0 + vertex 11.1962 -36.5595 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.0845 -30.5466 0 - vertex 27.4568 -27.4364 0 - vertex 28.8369 -30.6989 0 + vertex 16.8412 -38.0675 0 + vertex 10.519 -36.9119 0 + vertex 9.92719 -37.0575 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.8369 -30.6989 0 - vertex 27.4568 -27.4364 0 - vertex 28.5495 -30.9236 0 + vertex 16.8412 -38.0675 0 + vertex 9.92719 -37.0575 0 + vertex 8.47177 -37.477 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 28.5495 -30.9236 0 - vertex 27.4568 -27.4364 0 - vertex 28.2108 -31.2235 0 + vertex 16.8412 -38.0675 0 + vertex 8.47177 -37.477 0 + vertex 5.33583 -38.4712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 19.0956 -38.5852 0 + vertex 5.33583 -38.4712 0 + vertex 117.5 -117.5 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 2.31266 -38.26 0 + vertex 5.33583 -38.4712 0 + vertex 4.84381 -38.3343 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 3.43985 -37.8545 0 + vertex 4.73542 -37.8041 0 + vertex 4.64415 -37.2809 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.3891 -27.4375 0 - vertex 28.2108 -31.2235 0 - vertex 27.4568 -27.4364 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.2108 -31.2235 0 - vertex 25.3891 -27.4375 0 - vertex 27.276 -32.055 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.276 -32.055 0 - vertex 25.3891 -27.4375 0 - vertex 26.4309 -32.7448 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.4309 -32.7448 0 - vertex 25.3891 -27.4375 0 - vertex 25.6577 -33.3022 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3891 -27.4375 0 - vertex 25.2926 -33.5342 0 - vertex 25.6577 -33.3022 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.3891 -27.4375 0 - vertex 24.9388 -33.7368 0 - vertex 25.2926 -33.5342 0 + vertex 3.43985 -37.8545 0 + vertex 4.84381 -38.3343 0 + vertex 4.73542 -37.8041 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.5256 -29.5327 0 - vertex 24.9388 -33.7368 0 - vertex 25.3891 -27.4375 0 + vertex 2.31266 -38.26 0 + vertex 4.84381 -38.3343 0 + vertex 3.43985 -37.8545 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.9388 -33.7368 0 - vertex 19.5256 -29.5327 0 - vertex 24.5942 -33.911 0 + vertex 5.33583 -38.4712 0 + vertex 2.31266 -38.26 0 + vertex 0.962702 -38.4962 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.33583 -38.4712 0 + vertex 0.962702 -38.4962 0 + vertex 117.5 -117.5 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.3985 -30.306 0 - vertex 24.5942 -33.911 0 - vertex 19.5256 -29.5327 0 + vertex -0.366978 -38.538 0 + vertex 117.5 -117.5 0 + vertex 0.962702 -38.4962 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.5942 -33.911 0 - vertex 19.3985 -30.306 0 - vertex 24.2566 -34.0582 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.9237 -34.1793 0 - vertex 19.3985 -30.306 0 - vertex 23.5933 -34.2758 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.5933 -34.2758 0 - vertex 19.3985 -30.306 0 - vertex 23.2634 -34.3487 0 + vertex -8.66873 -38.0883 0 + vertex -0.366978 -38.538 0 + vertex -1.43333 -38.36 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.3204 -31.0557 0 - vertex 23.2634 -34.3487 0 - vertex 19.3985 -30.306 0 + vertex -8.07933 -37.9462 0 + vertex -1.43333 -38.36 0 + vertex -2.45619 -37.7112 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 23.2634 -34.3487 0 - vertex 19.3204 -31.0557 0 - vertex 22.9315 -34.3992 0 + vertex -3.7659 -32.0301 0 + vertex -6.41168 -29.738 0 + vertex -3.99709 -33.5697 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.9315 -34.3992 0 - vertex 19.3204 -31.0557 0 - vertex 22.5956 -34.4285 0 + vertex -8.33648 -34.384 0 + vertex -3.99709 -33.5697 0 + vertex -6.41168 -29.738 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.5956 -34.4285 0 - vertex 19.3204 -31.0557 0 - vertex 22.2534 -34.4379 0 + vertex -7.51249 -36.3769 0 + vertex -3.80393 -35.193 0 + vertex -3.99709 -33.5697 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 22.2534 -34.4379 0 - vertex 19.3204 -31.0557 0 - vertex 21.8355 -34.4151 0 + vertex -3.80393 -35.193 0 + vertex -7.31439 -36.7536 0 + vertex -3.26834 -36.6145 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -7.3919 -37.1883 0 + vertex -3.26834 -36.6145 0 + vertex -7.31439 -36.7536 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -3.26834 -36.6145 0 + vertex -7.3919 -37.1883 0 + vertex -2.45619 -37.7112 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 19.2935 -31.7496 0 - vertex 21.8355 -34.4151 0 - vertex 19.3204 -31.0557 0 + vertex -7.74517 -37.6801 0 + vertex -2.45619 -37.7112 0 + vertex -7.3919 -37.1883 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 21.8355 -34.4151 0 - vertex 19.2935 -31.7496 0 - vertex 21.43 -34.349 0 + vertex -8.07933 -37.9462 0 + vertex -2.45619 -37.7112 0 + vertex -7.74517 -37.6801 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.9171 -28.0436 0 - vertex 25.3891 -27.4375 0 - vertex 20.1247 -27.4424 0 + vertex -1.43333 -38.36 0 + vertex -8.07933 -37.9462 0 + vertex -8.66873 -38.0883 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.6992 -28.7679 0 - vertex 25.3891 -27.4375 0 - vertex 19.9171 -28.0436 0 + vertex -0.366978 -38.538 0 + vertex -8.66873 -38.0883 0 + vertex -12.0013 -38.1555 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 19.5256 -29.5327 0 - vertex 25.3891 -27.4375 0 - vertex 19.6992 -28.7679 0 + vertex -0.366978 -38.538 0 + vertex -12.0013 -38.1555 0 + vertex -117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.2566 -34.0582 0 - vertex 19.3985 -30.306 0 - vertex 23.9237 -34.1793 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.43 -34.349 0 - vertex 19.2935 -31.7496 0 - vertex 21.0421 -34.2419 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.0421 -34.2419 0 - vertex 19.2935 -31.7496 0 - vertex 20.6768 -34.0963 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.6768 -34.0963 0 - vertex 19.2935 -31.7496 0 - vertex 20.3392 -33.9144 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 19.3203 -32.3556 0 - vertex 20.3392 -33.9144 0 - vertex 19.2935 -31.7496 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.3392 -33.9144 0 - vertex 19.3203 -32.3556 0 - vertex 20.0345 -33.6987 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 20.0345 -33.6987 0 - vertex 19.3203 -32.3556 0 - vertex 19.7677 -33.4516 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 19.3545 -32.6156 0 - vertex 19.7677 -33.4516 0 - vertex 19.3203 -32.3556 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 19.403 -32.8415 0 - vertex 19.7677 -33.4516 0 - vertex 19.3545 -32.6156 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.7677 -33.4516 0 - vertex 19.403 -32.8415 0 - vertex 19.5439 -33.1754 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 19.5439 -33.1754 0 - vertex 19.403 -32.8415 0 - vertex 19.466 -33.0295 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.6824 -35.0376 0 - vertex 29.1028 -32.8352 0 - vertex 31.4948 -35.2825 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.4948 -35.2825 0 - vertex 29.1028 -32.8352 0 - vertex 31.3052 -35.4767 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.3052 -35.4767 0 - vertex 29.1028 -32.8352 0 - vertex 31.1075 -35.6291 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 31.1075 -35.6291 0 - vertex 29.1028 -32.8352 0 - vertex 30.8955 -35.7486 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.8955 -35.7486 0 - vertex 29.1028 -32.8352 0 - vertex 30.6629 -35.8443 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 30.6629 -35.8443 0 - vertex 29.1028 -32.8352 0 - vertex 30.4037 -35.9251 0 + vertex -117.5 -117.5 0 + vertex -12.0013 -38.1555 0 + vertex -15.3277 -38.0928 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 28.539 -33.4515 0 - vertex 30.4037 -35.9251 0 - vertex 29.1028 -32.8352 0 + vertex -17.5781 -38.0841 0 + vertex -15.3277 -38.0928 0 + vertex -15.7983 -37.9502 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 30.4037 -35.9251 0 - vertex 28.539 -33.4515 0 - vertex 29.7804 -36.0779 0 + vertex -15.9213 -37.1689 0 + vertex -16.6989 -37.6188 0 + vertex -15.9433 -37.6764 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.7804 -36.0779 0 - vertex 28.539 -33.4515 0 - vertex 29.5705 -36.1356 0 + vertex -16.6989 -37.6188 0 + vertex -15.7983 -37.9502 0 + vertex -15.9433 -37.6764 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.856 -34.1555 0 - vertex 29.5705 -36.1356 0 - vertex 28.539 -33.4515 0 + vertex -17.033 -37.9274 0 + vertex -15.7983 -37.9502 0 + vertex -16.6989 -37.6188 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.5705 -36.1356 0 - vertex 27.856 -34.1555 0 - vertex 29.3757 -36.2065 0 + vertex -17.5781 -38.0841 0 + vertex -15.7983 -37.9502 0 + vertex -17.033 -37.9274 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.3757 -36.2065 0 - vertex 27.856 -34.1555 0 - vertex 29.1966 -36.2895 0 + vertex -15.3277 -38.0928 0 + vertex -17.5781 -38.0841 0 + vertex -117.5 -117.5 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 29.1966 -36.2895 0 - vertex 27.856 -34.1555 0 - vertex 29.034 -36.3831 0 + vertex -117.5 -117.5 0 + vertex -17.5781 -38.0841 0 + vertex -20.8226 -38.1301 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2835 -38.1638 0 + vertex -20.8226 -38.1301 0 + vertex -24.8096 -38.0047 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -27.2791 -36.8782 0 + vertex -25.0608 -37.8416 0 + vertex -25.157 -37.5754 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -28.2835 -38.1638 0 + vertex -25.0608 -37.8416 0 + vertex -27.2791 -36.8782 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -25.0608 -37.8416 0 + vertex -28.2835 -38.1638 0 + vertex -24.8096 -38.0047 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.8226 -38.1301 0 + vertex -28.2835 -38.1638 0 + vertex -117.5 -117.5 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -117.5 -117.5 0 + vertex -28.2835 -38.1638 0 + vertex -37.632 -38.1325 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -117.5 -117.5 0 + vertex -37.632 -38.1325 0 + vertex -47.4646 -37.9547 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -0.366978 -38.538 0 + vertex -117.5 -117.5 0 + vertex 117.5 -117.5 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.8161 -37.7712 0 + vertex -117.5 -117.5 0 + vertex -47.4646 -37.9547 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.9875 -37.5097 0 + vertex -117.5 -117.5 0 + vertex -47.8161 -37.7712 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -47.8577 -36.863 0 + vertex -117.5 -117.5 0 + vertex -47.9875 -37.5097 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 42.0238 -20.3507 0 + vertex 42.943 -20.2657 0 + vertex 42.1032 -19.4743 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 27.3514 -34.6537 0 - vertex 29.034 -36.3831 0 - vertex 27.856 -34.1555 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 29.034 -36.3831 0 - vertex 27.3514 -34.6537 0 - vertex 28.8888 -36.4863 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.8888 -36.4863 0 - vertex 27.3514 -34.6537 0 - vertex 28.7617 -36.5978 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.8832 -35.0925 0 - vertex 28.7617 -36.5978 0 - vertex 27.3514 -34.6537 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.7617 -36.5978 0 - vertex 26.8832 -35.0925 0 - vertex 28.6534 -36.7163 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.6534 -36.7163 0 - vertex 26.8832 -35.0925 0 - vertex 28.5648 -36.8405 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 28.5648 -36.8405 0 - vertex 26.4377 -35.4824 0 - vertex 28.4965 -36.9693 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 26.4377 -35.4824 0 - vertex 28.5648 -36.8405 0 - vertex 26.8832 -35.0925 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.5394 24.4322 0 - vertex -10.5711 24.4 0 - vertex -10.5349 24.4109 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.6591 24.5009 0 - vertex -10.5711 24.4 0 - vertex -10.5394 24.4322 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -10.9077 24.5958 0 - vertex -10.5711 24.4 0 - vertex -10.6591 24.5009 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.2625 24.7069 0 - vertex -10.5711 24.4 0 - vertex -10.9077 24.5958 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1612 23.8467 0 - vertex -11.2625 24.7069 0 - vertex -11.7825 24.8213 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1612 23.8467 0 - vertex -11.7825 24.8213 0 - vertex -12.4277 24.907 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1612 23.8467 0 - vertex -12.4277 24.907 0 - vertex -13.1566 24.9634 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -14.1612 23.8467 0 - vertex -13.1566 24.9634 0 - vertex -13.9275 24.99 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -11.2625 24.7069 0 - vertex -14.1612 23.8467 0 - vertex -10.5711 24.4 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -14.6988 24.986 0 - vertex -14.1612 23.8467 0 - vertex -13.9275 24.99 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -15.4289 24.9511 0 - vertex -14.1612 23.8467 0 - vertex -14.6988 24.986 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.0412 23.3999 0 - vertex -15.4289 24.9511 0 - vertex -16.0762 24.8844 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -17.0412 23.3999 0 - vertex -16.0762 24.8844 0 - vertex -16.599 24.7853 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15.4289 24.9511 0 - vertex -17.0412 23.3999 0 - vertex -14.1612 23.8467 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -17.1707 24.6702 0 - vertex -17.0412 23.3999 0 - vertex -16.599 24.7853 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -18.0818 24.5233 0 - vertex -17.0412 23.3999 0 - vertex -17.1707 24.6702 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -19.3158 23.0662 0 - vertex -18.0818 24.5233 0 - vertex -19.207 24.3637 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -18.0818 24.5233 0 - vertex -19.3158 23.0662 0 - vertex -17.0412 23.3999 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -20.4207 24.2101 0 - vertex -19.3158 23.0662 0 - vertex -19.207 24.3637 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.4207 24.2101 0 - vertex -20.7318 22.8633 0 - vertex -19.3158 23.0662 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.4207 24.2101 0 - vertex -21.5474 22.7309 0 - vertex -20.7318 22.8633 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex -22.0315 22.8497 0 - vertex -21.5474 22.7309 0 - vertex -20.4207 24.2101 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5474 22.7309 0 - vertex -21.755 22.7463 0 - vertex -21.6404 22.7266 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -21.5474 22.7309 0 - vertex -22.0315 22.8497 0 - vertex -21.755 22.7463 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.4207 24.2101 0 - vertex -22.3422 23.0246 0 - vertex -22.0315 22.8497 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -20.4207 24.2101 0 - vertex -22.6524 23.2546 0 - vertex -22.3422 23.0246 0 + vertex 42.0238 -20.3507 0 + vertex 41.971 -20.8453 0 + vertex 42.943 -20.2657 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex -22.6524 23.2546 0 - vertex -20.4207 24.2101 0 - vertex -23.3692 23.8604 0 + vertex 41.971 -20.8453 0 + vertex 42.0238 -20.3507 0 + vertex 41.8981 -20.7296 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.12348 -21.5274 0 - vertex 10.1807 -23.3758 0 - vertex 10.149 -22.9513 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.50498 -21.5121 0 - vertex 10.149 -22.9513 0 - vertex 10.1103 -22.7594 0 + vertex 36.104 -22.9178 0 + vertex 36.2859 -23.7121 0 + vertex 36.3422 -23.0402 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.71946 -21.5983 0 - vertex 10.1807 -23.3758 0 - vertex 8.12348 -21.5274 0 + vertex 35.2001 -22.9271 0 + vertex 36.2859 -23.7121 0 + vertex 36.104 -22.9178 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.85925 -21.5524 0 - vertex 10.1103 -22.7594 0 - vertex 10.0571 -22.5812 0 + vertex 36.2859 -23.7121 0 + vertex 35.2001 -22.9271 0 + vertex 35.3305 -26.5156 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 8.85925 -21.5524 0 - vertex 10.0571 -22.5812 0 - vertex 9.99008 -22.4166 0 + vertex 34.7441 -22.7166 0 + vertex 35.3305 -26.5156 0 + vertex 35.2001 -22.9271 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.1807 -23.3758 0 - vertex 7.71946 -21.5983 0 - vertex 10.1598 -23.7848 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.18157 -21.6481 0 - vertex 9.99008 -22.4166 0 - vertex 9.90973 -22.2656 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.18157 -21.6481 0 - vertex 9.90973 -22.2656 0 - vertex 9.81668 -22.1284 0 + vertex 31.8275 -24.8188 0 + vertex 34.7441 -22.7166 0 + vertex 34.62 -22.2927 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 7.29763 -21.7251 0 - vertex 10.1598 -23.7848 0 - vertex 7.71946 -21.5983 0 + vertex 31.8275 -24.8188 0 + vertex 35.3305 -26.5156 0 + vertex 34.7441 -22.7166 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.18157 -21.6481 0 - vertex 9.81668 -22.1284 0 - vertex 9.71152 -22.0048 0 + vertex 31.2318 -26.857 0 + vertex 35.3305 -26.5156 0 + vertex 31.4974 -26.3899 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.18157 -21.6481 0 - vertex 9.71152 -22.0048 0 - vertex 9.59484 -21.895 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.18157 -21.6481 0 - vertex 9.59484 -21.895 0 - vertex 9.46723 -21.7989 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 10.1598 -23.7848 0 - vertex 7.29763 -21.7251 0 - vertex 10.0892 -24.2416 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.99008 -22.4166 0 - vertex 9.18157 -21.6481 0 - vertex 8.85925 -21.5524 0 + vertex 35.3305 -26.5156 0 + vertex 31.2318 -26.857 0 + vertex 33.8444 -30.1753 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 6.8627 -21.9079 0 - vertex 10.0892 -24.2416 0 - vertex 7.29763 -21.7251 0 + vertex 30.7817 -27.1595 0 + vertex 33.8444 -30.1753 0 + vertex 31.2318 -26.857 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.1103 -22.7594 0 - vertex 8.85925 -21.5524 0 - vertex 8.50498 -21.5121 0 + vertex 33.8444 -30.1753 0 + vertex 30.2029 -31.1764 0 + vertex 32.5255 -33.371 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 29.8709 -31.8517 0 + vertex 32.5255 -33.371 0 + vertex 30.2029 -31.1764 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.149 -22.9513 0 - vertex 8.50498 -21.5121 0 - vertex 8.12348 -21.5274 0 + vertex 30.1062 -30.7807 0 + vertex 33.8444 -30.1753 0 + vertex 30.7817 -27.1595 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 10.0892 -24.2416 0 - vertex 6.8627 -21.9079 0 - vertex 9.95745 -24.7805 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 6.41939 -22.1469 0 - vertex 9.95745 -24.7805 0 - vertex 6.8627 -21.9079 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 5.97241 -22.4422 0 - vertex 9.95745 -24.7805 0 - vertex 6.41939 -22.1469 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 5.52647 -22.794 0 - vertex 9.75283 -25.4359 0 - vertex 5.97241 -22.4422 0 + vertex 32.5255 -33.371 0 + vertex 29.8709 -31.8517 0 + vertex 31.6707 -35.0376 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.95745 -24.7805 0 - vertex 5.97241 -22.4422 0 - vertex 9.75283 -25.4359 0 + vertex 31.6707 -35.0376 0 + vertex 29.8709 -31.8517 0 + vertex 30.8837 -35.7486 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 27.8442 -34.1555 0 + vertex 30.8837 -35.7486 0 + vertex 29.8709 -31.8517 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.75283 -25.4359 0 - vertex 5.52647 -22.794 0 - vertex 9.46376 -26.2422 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 5.08628 -23.2024 0 - vertex 9.46376 -26.2422 0 - vertex 5.52647 -22.794 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 4.45147 -23.8871 0 - vertex 9.46376 -26.2422 0 - vertex 5.08628 -23.2024 0 + vertex 30.8837 -35.7486 0 + vertex 27.8442 -34.1555 0 + vertex 29.7686 -36.0779 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.46376 -26.2422 0 - vertex 4.45147 -23.8871 0 - vertex 9.07864 -27.2338 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.85887 -24.6213 0 - vertex 9.07864 -27.2338 0 - vertex 4.45147 -23.8871 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 3.31148 -25.3951 0 - vertex 9.07864 -27.2338 0 - vertex 3.85887 -24.6213 0 + vertex 29.7686 -36.0779 0 + vertex 27.8442 -34.1555 0 + vertex 29.0223 -36.3831 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 9.07864 -27.2338 0 - vertex 3.31148 -25.3951 0 - vertex 7.97377 -29.9101 0 + vertex 29.0223 -36.3831 0 + vertex 27.8442 -34.1555 0 + vertex 28.553 -36.8405 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 2.81229 -26.1986 0 - vertex 7.97377 -29.9101 0 - vertex 3.31148 -25.3951 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 2.36428 -27.0218 0 - vertex 7.97377 -29.9101 0 - vertex 2.81229 -26.1986 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.97046 -27.8549 0 - vertex 7.97377 -29.9101 0 - vertex 2.36428 -27.0218 0 + vertex 25.9895 -35.834 0 + vertex 28.553 -36.8405 0 + vertex 27.8442 -34.1555 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.97377 -29.9101 0 - vertex 1.97046 -27.8549 0 - vertex 7.44603 -31.1479 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.63381 -28.6878 0 - vertex 7.44603 -31.1479 0 - vertex 1.97046 -27.8549 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.35733 -29.5107 0 - vertex 7.44603 -31.1479 0 - vertex 1.63381 -28.6878 0 + vertex -11.2742 24.7069 0 + vertex -10.5829 24.4 0 + vertex -10.6709 24.5009 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.44603 -31.1479 0 - vertex 1.35733 -29.5107 0 - vertex 7.00854 -32.1311 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 1.144 -30.3137 0 - vertex 7.00854 -32.1311 0 - vertex 1.35733 -29.5107 0 + vertex -14.1729 23.8467 0 + vertex -11.2742 24.7069 0 + vertex -13.9393 24.99 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 7.00854 -32.1311 0 - vertex 1.144 -30.3137 0 - vertex 6.63949 -32.8952 0 + vertex -11.2742 24.7069 0 + vertex -14.1729 23.8467 0 + vertex -10.5829 24.4 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.99682 -31.0867 0 - vertex 6.63949 -32.8952 0 - vertex 1.144 -30.3137 0 + vertex -16.6107 24.7853 0 + vertex -14.1729 23.8467 0 + vertex -13.9393 24.99 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.63949 -32.8952 0 - vertex 0.99682 -31.0867 0 - vertex 6.31707 -33.4759 0 + vertex -16.6107 24.7853 0 + vertex -19.3275 23.0662 0 + vertex -14.1729 23.8467 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.918778 -31.8199 0 - vertex 6.31707 -33.4759 0 - vertex 0.99682 -31.0867 0 + vertex -20.4324 24.2101 0 + vertex -19.3275 23.0662 0 + vertex -16.6107 24.7853 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.31707 -33.4759 0 - vertex 0.918778 -31.8199 0 - vertex 6.01946 -33.9088 0 + vertex -20.4324 24.2101 0 + vertex -21.5591 22.7309 0 + vertex -19.3275 23.0662 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.4324 24.2101 0 + vertex -22.0432 22.8497 0 + vertex -21.5591 22.7309 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex -20.4324 24.2101 0 + vertex -22.6641 23.2546 0 + vertex -22.0432 22.8497 0 endloop endfacet facet normal 0 -0 1 outer loop - vertex 5.05744 -34.678 0 - vertex 6.01946 -33.9088 0 - vertex 0.918778 -31.8199 0 + vertex -22.6641 23.2546 0 + vertex -20.4324 24.2101 0 + vertex -23.3809 23.8604 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.01946 -33.9088 0 - vertex 5.41146 -34.4742 0 - vertex 5.87315 -34.0811 0 + vertex 8.49325 -21.5121 0 + vertex 10.169 -23.3758 0 + vertex 10.0454 -22.5812 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.87315 -34.0811 0 - vertex 5.41146 -34.4742 0 - vertex 5.72486 -34.2297 0 + vertex 10.169 -23.3758 0 + vertex 7.70773 -21.5983 0 + vertex 10.0775 -24.2416 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 6.01946 -33.9088 0 - vertex 5.05744 -34.678 0 - vertex 5.41146 -34.4742 0 + vertex 9.16984 -21.6481 0 + vertex 10.0454 -22.5812 0 + vertex 9.69979 -22.0048 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.0454 -22.5812 0 + vertex 9.16984 -21.6481 0 + vertex 8.49325 -21.5121 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 10.169 -23.3758 0 + vertex 8.49325 -21.5121 0 + vertex 7.70773 -21.5983 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 0.906618 -32.1685 0 - vertex 5.05744 -34.678 0 - vertex 0.918778 -31.8199 0 + vertex 6.85097 -21.9079 0 + vertex 10.0775 -24.2416 0 + vertex 7.70773 -21.5983 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 5.05744 -34.678 0 - vertex 0.906618 -32.1685 0 - vertex 4.59905 -34.8756 0 + vertex 10.0775 -24.2416 0 + vertex 6.85097 -21.9079 0 + vertex 9.7411 -25.4359 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.96068 -22.4422 0 + vertex 9.7411 -25.4359 0 + vertex 6.85097 -21.9079 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 5.07455 -23.2024 0 + vertex 9.7411 -25.4359 0 + vertex 5.96068 -22.4422 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 3.84714 -24.6213 0 + vertex 9.7411 -25.4359 0 + vertex 5.07455 -23.2024 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 9.7411 -25.4359 0 + vertex 3.84714 -24.6213 0 + vertex 7.96204 -29.9101 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 2.80055 -26.1986 0 + vertex 7.96204 -29.9101 0 + vertex 3.84714 -24.6213 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.95873 -27.8549 0 + vertex 7.96204 -29.9101 0 + vertex 2.80055 -26.1986 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 1.3456 -29.5107 0 + vertex 7.96204 -29.9101 0 + vertex 1.95873 -27.8549 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 7.96204 -29.9101 0 + vertex 1.3456 -29.5107 0 + vertex 6.30534 -33.4759 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.985088 -31.0867 0 + vertex 6.30534 -33.4759 0 + vertex 1.3456 -29.5107 0 + endloop + endfacet + facet normal -0 0 1 + outer loop + vertex 0.901133 -32.5034 0 + vertex 6.30534 -33.4759 0 + vertex 0.985088 -31.0867 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 6.30534 -33.4759 0 + vertex 0.901133 -32.5034 0 + vertex 5.71313 -34.2297 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.71313 -34.2297 0 + vertex 0.901133 -32.5034 0 + vertex 5.04571 -34.678 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 5.04571 -34.678 0 + vertex 0.901133 -32.5034 0 + vertex 4.11511 -35.011 0 + endloop + endfacet + facet normal 0 0 1 + outer loop + vertex 4.11511 -35.011 0 + vertex 0.901133 -32.5034 0 + vertex 3.17687 -35.0966 0 endloop endfacet facet normal -0 -0 1 outer loop - vertex 0.912865 -32.5034 0 - vertex 4.59905 -34.8756 0 - vertex 0.906618 -32.1685 0 + vertex 1.11766 -33.6813 0 + vertex 3.17687 -35.0966 0 + vertex 0.901133 -32.5034 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.59905 -34.8756 0 - vertex 0.912865 -32.5034 0 - vertex 4.12685 -35.011 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 0.937893 -32.8234 0 - vertex 4.12685 -35.011 0 - vertex 0.912865 -32.5034 0 + vertex 3.17687 -35.0966 0 + vertex 1.11766 -33.6813 0 + vertex 2.32628 -34.9386 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 4.12685 -35.011 0 - vertex 0.937893 -32.8234 0 - vertex 3.65273 -35.0844 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 0.982074 -33.1272 0 - vertex 3.65273 -35.0844 0 - vertex 0.937893 -32.8234 0 + vertex 2.32628 -34.9386 0 + vertex 1.11766 -33.6813 0 + vertex 1.65861 -34.5411 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.65273 -35.0844 0 - vertex 0.982074 -33.1272 0 - vertex 3.18861 -35.0966 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 1.04578 -33.4136 0 - vertex 3.18861 -35.0966 0 - vertex 0.982074 -33.1272 0 + vertex 9.76373 17.1908 0 + vertex 9.72145 16.1788 0 + vertex 10.4258 16.5104 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 3.18861 -35.0966 0 - vertex 1.04578 -33.4136 0 - vertex 2.7464 -35.0478 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 1.1294 -33.6813 0 - vertex 2.7464 -35.0478 0 - vertex 1.04578 -33.4136 0 + vertex 9.76373 17.1908 0 + vertex 8.86535 15.8492 0 + vertex 9.72145 16.1788 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.7464 -35.0478 0 - vertex 1.1294 -33.6813 0 - vertex 2.53723 -35.0007 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 1.23329 -33.9292 0 - vertex 2.53723 -35.0007 0 - vertex 1.1294 -33.6813 0 + vertex 8.028 17.0592 0 + vertex 9.76373 17.1908 0 + vertex 8.30319 18.4459 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 2.53723 -35.0007 0 - vertex 1.23329 -33.9292 0 - vertex 2.33801 -34.9386 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.33801 -34.9386 0 - vertex 1.23329 -33.9292 0 - vertex 2.15022 -34.8616 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 1.35782 -34.1559 0 - vertex 2.15022 -34.8616 0 - vertex 1.23329 -33.9292 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.15022 -34.8616 0 - vertex 1.35782 -34.1559 0 - vertex 1.97535 -34.7696 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.8149 -34.6627 0 - vertex 1.50339 -34.3603 0 - vertex 1.67035 -34.5411 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.97535 -34.7696 0 - vertex 1.50339 -34.3603 0 - vertex 1.8149 -34.6627 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 1.50339 -34.3603 0 - vertex 1.97535 -34.7696 0 - vertex 1.35782 -34.1559 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.77546 17.1908 0 - vertex 9.73318 16.1788 0 - vertex 10.4375 16.5104 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.57086 16.213 0 - vertex 9.77546 17.1908 0 - vertex 9.46246 17.4938 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.77546 17.1908 0 - vertex 9.19116 15.9452 0 - vertex 9.73318 16.1788 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.03973 17.0592 0 - vertex 9.46246 17.4938 0 - vertex 9.09841 17.8163 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.77546 17.1908 0 - vertex 8.57086 16.213 0 - vertex 9.19116 15.9452 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 8.76553 15.9481 0 - vertex 9.19116 15.9452 0 - vertex 8.57086 16.213 0 - endloop - endfacet - facet normal -0 -0 1 - outer loop - vertex 8.83337 15.875 0 - vertex 8.99158 15.8746 0 - vertex 8.76553 15.9481 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.99158 15.8746 0 - vertex 8.83337 15.875 0 - vertex 8.87708 15.8492 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.19116 15.9452 0 - vertex 8.76553 15.9481 0 - vertex 8.99158 15.8746 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.03973 17.0592 0 - vertex 9.09841 17.8163 0 - vertex 8.31493 18.4459 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.46246 17.4938 0 - vertex 8.03973 17.0592 0 - vertex 8.57086 16.213 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.49889 18.0241 0 - vertex 8.31493 18.4459 0 - vertex 7.9444 18.7161 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.29207 18.4374 0 - vertex 7.9444 18.7161 0 - vertex 7.62063 18.9319 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 8.31493 18.4459 0 - vertex 7.49889 18.0241 0 - vertex 8.03973 17.0592 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.16351 18.7442 0 - vertex 7.62063 18.9319 0 - vertex 7.36805 19.075 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.9444 18.7161 0 - vertex 7.29207 18.4374 0 - vertex 7.49889 18.0241 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 0 - vertex 7.36805 19.075 0 - vertex 7.21113 19.1268 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.62063 18.9319 0 - vertex 7.16351 18.7442 0 - vertex 7.29207 18.4374 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.1242 19.0144 0 - vertex 7.21113 19.1268 0 - vertex 7.15267 19.0966 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.36805 19.075 0 - vertex 7.1273 18.8927 0 - vertex 7.16351 18.7442 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 7.36805 19.075 0 - vertex 7.1242 19.0144 0 - vertex 7.1273 18.8927 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 25.8138 -21.8092 0 - vertex 27.4312 -23.3865 0 - vertex 27.4186 -23.1088 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.0922 -21.8157 0 - vertex 27.4186 -23.1088 0 - vertex 27.3785 -22.8574 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4312 -23.3865 0 - vertex 25.8138 -21.8092 0 - vertex 27.4161 -23.6904 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 26.3449 -21.8501 0 - vertex 27.3785 -22.8574 0 - vertex 27.3111 -22.6325 0 + vertex 9.76373 17.1908 0 + vertex 8.028 17.0592 0 + vertex 8.86535 15.8492 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 25.51 -21.8307 0 - vertex 27.4161 -23.6904 0 - vertex 25.8138 -21.8092 0 + vertex 7.15178 18.7442 0 + vertex 8.30319 18.4459 0 + vertex 7.1994 19.1268 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.5717 -21.9122 0 - vertex 27.3111 -22.6325 0 - vertex 27.2166 -22.4344 0 + vertex 8.30319 18.4459 0 + vertex 7.15178 18.7442 0 + vertex 8.028 17.0592 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7726 -22.0019 0 - vertex 27.2166 -22.4344 0 - vertex 27.0952 -22.2631 0 + vertex 26.0804 -21.8157 0 + vertex 27.3613 -24.0204 0 + vertex 27.3668 -22.8574 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 26.7726 -22.0019 0 - vertex 27.0952 -22.2631 0 - vertex 26.9471 -22.1189 0 + vertex 26.0804 -21.8157 0 + vertex 27.3668 -22.8574 0 + vertex 26.9354 -22.1189 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.2166 -22.4344 0 - vertex 26.7726 -22.0019 0 - vertex 26.5717 -21.9122 0 + vertex 27.3613 -24.0204 0 + vertex 26.0804 -21.8157 0 + vertex 24.4233 -24.8188 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3111 -22.6325 0 - vertex 26.5717 -21.9122 0 - vertex 26.3449 -21.8501 0 + vertex 24.4233 -24.8188 0 + vertex 26.0804 -21.8157 0 + vertex 24.8153 -21.9586 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 27.3785 -22.8574 0 - vertex 26.3449 -21.8501 0 - vertex 26.0922 -21.8157 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4186 -23.1088 0 - vertex 26.0922 -21.8157 0 - vertex 25.8138 -21.8092 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.435 -24.8188 0 - vertex 27.4161 -23.6904 0 - vertex 25.51 -21.8307 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.4161 -23.6904 0 - vertex 24.435 -24.8188 0 - vertex 27.373 -24.0204 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.435 -24.8188 0 - vertex 25.51 -21.8307 0 - vertex 25.181 -21.8805 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.435 -24.8188 0 - vertex 25.181 -21.8805 0 - vertex 24.827 -21.9586 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 24.435 -24.8188 0 - vertex 24.827 -21.9586 0 - vertex 24.5319 -22.0421 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 27.373 -24.0204 0 - vertex 24.435 -24.8188 0 - vertex 27.2401 -24.8188 0 + vertex 27.3613 -24.0204 0 + vertex 24.4233 -24.8188 0 + vertex 27.2283 -24.8188 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.2621 -22.1397 0 - vertex 24.435 -24.8188 0 - vertex 24.5319 -22.0421 0 + vertex 23.7526 -22.3987 0 + vertex 24.4233 -24.8188 0 + vertex 24.8153 -21.9586 0 endloop endfacet facet normal -0 0 1 outer loop - vertex 24.0091 -22.2567 0 - vertex 24.435 -24.8188 0 - vertex 24.2621 -22.1397 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.7644 -22.3987 0 - vertex 24.435 -24.8188 0 - vertex 24.0091 -22.2567 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.5194 -22.5712 0 - vertex 24.435 -24.8188 0 - vertex 23.7644 -22.3987 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 23.2657 -22.7795 0 - vertex 24.435 -24.8188 0 - vertex 23.5194 -22.5712 0 + vertex 22.6861 -23.3258 0 + vertex 24.4233 -24.8188 0 + vertex 23.7526 -22.3987 0 endloop endfacet facet normal 0 0 1 outer loop - vertex 24.435 -24.8188 0 - vertex 23.2657 -22.7795 0 - vertex 23.3459 -24.8032 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.6979 -23.3258 0 - vertex 23.3459 -24.8032 0 - vertex 23.2657 -22.7795 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 22.2832 -23.7683 0 - vertex 23.3459 -24.8032 0 - vertex 22.6979 -23.3258 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 23.3459 -24.8032 0 - vertex 22.2832 -23.7683 0 - vertex 22.454 -24.761 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.9437 -24.1601 0 - vertex 22.454 -24.761 0 - vertex 22.2832 -23.7683 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.9437 -24.1601 0 - vertex 21.8514 -24.6984 0 - vertex 22.454 -24.761 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.7143 -24.4589 0 - vertex 21.8514 -24.6984 0 - vertex 21.9437 -24.1601 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.7143 -24.4589 0 - vertex 21.6873 -24.6616 0 - vertex 21.8514 -24.6984 0 - endloop - endfacet - facet normal -0 0 1 - outer loop - vertex 21.6518 -24.5601 0 - vertex 21.6873 -24.6616 0 - vertex 21.7143 -24.4589 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 21.6873 -24.6616 0 - vertex 21.6518 -24.5601 0 - vertex 21.63 -24.6221 0 + vertex 24.4233 -24.8188 0 + vertex 22.6861 -23.3258 0 + vertex 21.6183 -24.6221 0 endloop endfacet facet normal 1 -0 0 @@ -58743,20 +19837,6 @@ solid OpenSCAD_Model vertex -117.5 117.5 -3 endloop endfacet - facet normal 0 0 -1 - outer loop - vertex -117.5 -117.5 -3 - vertex 117.5 117.5 -3 - vertex 117.5 -117.5 -3 - endloop - endfacet - facet normal -0 0 -1 - outer loop - vertex 117.5 117.5 -3 - vertex -117.5 -117.5 -3 - vertex -117.5 117.5 -3 - endloop - endfacet facet normal 0 -1 0 outer loop vertex -117.5 -117.5 -3 From 65e3ee68540f394cfc1215b650d6d2f9df1d5c57 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Wed, 24 Oct 2018 19:46:21 +0200 Subject: [PATCH 315/423] fix and improve 4max profile --- resources/definitions/anycubic_4max.def.json | 107 +++++++++++------- .../abs/anycubic_4max_abs_draft.inst.cfg | 15 +++ .../abs/anycubic_4max_abs_high.inst.cfg | 15 +++ .../abs/anycubic_4max_abs_normal.inst.cfg | 16 +++ .../anycubic_4max_draft.inst.cfg | 49 +------- .../anycubic_4max/anycubic_4max_high.inst.cfg | 51 +-------- .../anycubic_4max_normal.inst.cfg | 48 +------- .../hips/anycubic_4max_hips_draft.inst.cfg | 14 +++ .../hips/anycubic_4max_hips_high.inst.cfg | 14 +++ .../hips/anycubic_4max_hips_normal.inst.cfg | 14 +++ .../petg/anycubic_4max_petg_draft.inst.cfg | 20 ++++ .../petg/anycubic_4max_petg_high.inst.cfg | 20 ++++ .../petg/anycubic_4max_petg_normal.inst.cfg | 20 ++++ .../pla/anycubic_4max_pla_draft.inst.cfg | 15 +++ .../pla/anycubic_4max_pla_high.inst.cfg | 14 +++ .../pla/anycubic_4max_pla_normal.inst.cfg | 14 +++ 16 files changed, 262 insertions(+), 184 deletions(-) create mode 100644 resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg create mode 100644 resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg create mode 100644 resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg create mode 100644 resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json index 222b90a70e..c14ce1ac31 100644 --- a/resources/definitions/anycubic_4max.def.json +++ b/resources/definitions/anycubic_4max.def.json @@ -1,17 +1,19 @@ { "version": 2, - "name": "Anycubic 4max", + "name": "Anycubic 4Max", "inherits": "fdmprinter", "metadata": { "visible": true, "author": "Jason Scurtu", "manufacturer": "Anycubic", + "category": "Other", "file_formats": "text/x-gcode", "icon": "icon_ultimaker2", "platform": "anycubic_4max_platform.stl", "has_materials": true, - "has_machine_quality": false, + "quality_definition": "anycubic_4max", + "has_machine_quality": true, "preferred_quality_type": "normal", "machine_extruder_trains": { @@ -21,45 +23,66 @@ "overrides": { - "machine_name": - { - "default_value": "Anycubic 4Max" - }, - "machine_heated_bed": - { - "default_value": true - }, - "machine_width": - { - "default_value": 210 - }, - "machine_height": - { - "default_value": 300 - }, - "machine_depth": - { - "default_value": 210 - }, - "machine_center_is_zero": - { - "default_value": false - }, - "gantry_height": - { - "default_value": 0 - }, - "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 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;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 F{speed_travel}\nM117 Printing...\nG5" - }, - "machine_end_gcode": - { - "default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000" - } + "machine_name": { "default_value": "Anycubic 4Max" }, + "machine_heated_bed": { "default_value": true }, + "machine_width": { "default_value": 220 }, + "machine_height": {"default_value": 300 }, + "machine_depth": { "default_value": 220 }, + "machine_center_is_zero": { "default_value": false }, + "machine_max_feedrate_x": { "default_value": 300 }, + "machine_max_feedrate_y": { "default_value": 300 }, + "machine_max_feedrate_z": { "default_value": 10 }, + "machine_acceleration": { "default_value": 1500 }, + "machine_max_acceleration_x": { "default_value": 1500 }, + "machine_max_acceleration_y": { "default_value": 1500 }, + "machine_max_acceleration_z": { "default_value": 100 }, + "machine_max_jerk_xy": { "default_value": 11.0 }, + "machine_max_jerk_z": { "default_value": 0.4 }, + "machine_max_jerk_e": { "default_value": 11.0 }, + + "jerk_enabled": { "value": "True" }, + "jerk_layer_0": { "value": "jerk_topbottom" }, + "jerk_prime_tower": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_print": { "value": "11" }, + "jerk_support": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_support_interface": { "value": "jerk_topbottom" }, + "jerk_topbottom": { "value": "math.ceil(jerk_print * 5 / 25)" }, + "jerk_wall": { "value": "math.ceil(jerk_print * 10 / 25)" }, + "jerk_wall_0": { "value": "math.ceil(jerk_wall * 5 / 10)" }, + + "gantry_height": { "default_value": 25.0 }, + "skin_overlap": { "value": "10" }, + + "acceleration_enabled": { "value": "True" }, + "acceleration_layer_0": { "value": "acceleration_topbottom" }, + "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_print": { "value": "900" }, + "acceleration_support": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_support_interface": { "value": "acceleration_topbottom" }, + "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_travel": { "value": "acceleration_print" }, + "acceleration_wall": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 1000 / 1000)" }, + + "speed_layer_0": { "value": "20" }, + "speed_print": { "value": "40" }, + "speed_support": { "value": "speed_wall_0" }, + "speed_support_interface": { "value": "speed_topbottom" }, + "speed_topbottom": { "value": "math.ceil(speed_print * 20 / 35)" }, + "speed_travel": { "value": "60" }, + "speed_wall": { "value": "math.ceil(speed_print * 30 / 35)" }, + "speed_wall_0": { "value": "math.ceil(speed_wall * 20 / 30)" }, + "speed_wall_x": { "value": "speed_wall" }, + + "infill_pattern": {"value": "'zigzag'" }, + "infill_before_walls": {"value": false }, + + "adhesion_type": { "default_value": "skirt" }, + "material_bed_temperature": { "maximum_value": "150" }, + "material_bed_temperature_layer_0": { "maximum_value": "150" }, + + "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 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;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 F{speed_travel}\nM117 Printing...\nG5"}, + "machine_end_gcode":{"default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000"} } } diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg new file mode 100644 index 0000000000..f5baa55029 --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg new file mode 100644 index 0000000000..bd613c6aad --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg new file mode 100644 index 0000000000..7cff1db4d2 --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg @@ -0,0 +1,16 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim + diff --git a/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg index 238197307e..c0114e3d6c 100644 --- a/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg +++ b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg @@ -8,53 +8,8 @@ setting_version = 5 type = quality quality_type = draft weight = 0 +global_quality = True [values] -acceleration_enabled = True -acceleration_print = 1800 -acceleration_travel = 3000 -adhesion_type = skirt -brim_width = 4.0 -cool_fan_full_at_height = 0.5 -cool_fan_speed = 100 -cool_fan_speed_0 = 100 -infill_overlap = 15 -infill_pattern = zigzag -infill_sparse_density = 25 -initial_layer_line_width_factor = 140 -jerk_enabled = True -jerk_print = 8 -jerk_travel = 10 layer_height = 0.3 -layer_height_0 = 0.3 -material_bed_temperature = 60 -material_diameter = 1.75 -material_print_temperature = 200 -material_print_temperature_layer_0 = 0 -retract_at_layer_change = False -retraction_amount = 6 -retraction_hop = 0.075 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 1.5 -retraction_speed = 40 -skirt_brim_speed = 40 -skirt_gap = 5 -skirt_line_count = 3 -speed_infill = =speed_print -speed_print = 60 -speed_support = 60 -speed_topbottom = =math.ceil(speed_print * 30 / 60) -speed_travel = 100 -speed_wall = =speed_print -speed_wall_x = =speed_print -support_angle = 60 -support_enable = True -support_interface_enable = True -support_pattern = triangles -support_roof_enable = True -support_type = everywhere -support_use_towers = False -support_xy_distance = 0.7 -top_bottom_thickness = 1.2 -wall_thickness = 1.2 + diff --git a/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg index b931f92b79..4a0993412a 100644 --- a/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg +++ b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg @@ -8,53 +8,8 @@ setting_version = 5 type = quality quality_type = high weight = 2 +global_quality = True [values] -acceleration_enabled = True -acceleration_print = 1800 -acceleration_travel = 3000 -adhesion_type = skirt -brim_width = 4.0 -cool_fan_full_at_height = 0.5 -cool_fan_speed = 100 -cool_fan_speed_0 = 100 -infill_overlap = 15 -infill_pattern = zigzag -infill_sparse_density = 25 -initial_layer_line_width_factor = 140 -jerk_enabled = True -jerk_print = 8 -jerk_travel = 10 -layer_height = 0.1 -layer_height_0 = 0.1 -material_bed_temperature = 60 -material_diameter = 1.75 -material_print_temperature = 200 -material_print_temperature_layer_0 = 0 -retract_at_layer_change = False -retraction_amount = 6 -retraction_hop = 0.075 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 1.5 -retraction_speed = 40 -skirt_brim_speed = 40 -skirt_gap = 5 -skirt_line_count = 3 -speed_infill = =speed_print -speed_print = 50 -speed_support = 30 -speed_topbottom = =math.ceil(speed_print * 20 / 50) -speed_travel = 50 -speed_wall = =speed_print -speed_wall_x = =speed_print -support_angle = 60 -support_enable = True -support_interface_enable = True -support_pattern = triangles -support_roof_enable = True -support_type = everywhere -support_use_towers = False -support_xy_distance = 0.7 -top_bottom_thickness = 1.2 -wall_thickness = 1.2 +layer_height = 0.15 + diff --git a/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg index 2fe70733e7..eeb1d699e4 100644 --- a/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg +++ b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg @@ -8,53 +8,7 @@ setting_version = 5 type = quality quality_type = normal weight = 1 +global_quality = True [values] -acceleration_enabled = True -acceleration_print = 1800 -acceleration_travel = 3000 -adhesion_type = skirt -brim_width = 4.0 -cool_fan_full_at_height = 0.5 -cool_fan_speed = 100 -cool_fan_speed_0 = 100 -infill_overlap = 15 -infill_pattern = zigzag -infill_sparse_density = 25 -initial_layer_line_width_factor = 140 -jerk_enabled = True -jerk_print = 8 -jerk_travel = 10 layer_height = 0.2 -layer_height_0 = 0.2 -material_bed_temperature = 60 -material_diameter = 1.75 -material_print_temperature = 200 -material_print_temperature_layer_0 = 0 -retract_at_layer_change = False -retraction_amount = 6 -retraction_hop = 0.075 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 1.5 -retraction_speed = 40 -skirt_brim_speed = 40 -skirt_gap = 5 -skirt_line_count = 3 -speed_infill = =speed_print -speed_print = 50 -speed_support = 30 -speed_topbottom = =math.ceil(speed_print * 20 / 50) -speed_travel = 100 -speed_wall = =speed_print -speed_wall_x = =speed_print -support_angle = 60 -support_enable = True -support_interface_enable = True -support_pattern = triangles -support_roof_enable = True -support_type = everywhere -support_use_towers = False -support_xy_distance = 0.7 -top_bottom_thickness = 1.2 -wall_thickness = 1.2 diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg new file mode 100644 index 0000000000..3cd0226bd4 --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg new file mode 100644 index 0000000000..ff5c6bee2f --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg new file mode 100644 index 0000000000..c4701ae246 --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg new file mode 100644 index 0000000000..1e8869727a --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg @@ -0,0 +1,20 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_petg + +[values] +default_material_print_temperature = 250 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 +speed_layer_0 = 20 +speed_travel = 60 diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg new file mode 100644 index 0000000000..af9fcf41ea --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg @@ -0,0 +1,20 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_petg + +[values] +default_material_print_temperature = 250 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 +speed_layer_0 = 20 +speed_travel = 60 \ No newline at end of file diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg new file mode 100644 index 0000000000..0946cacbf3 --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg @@ -0,0 +1,20 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_petg + +[values] +default_material_print_temperature = 250 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 +speed_layer_0 = 20 +speed_travel = 60 \ No newline at end of file diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg new file mode 100644 index 0000000000..eae9e3b5ef --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_pla + +[values] + + diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg new file mode 100644 index 0000000000..c856fc66a7 --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_pla + +[values] + diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg new file mode 100644 index 0000000000..be33bfe53a --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_pla + +[values] + From 47f820fe6993cde697b1d9c345aa3721db565bf9 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 25 Oct 2018 10:47:21 +0200 Subject: [PATCH 316/423] Don't disable entire view menu when viewing g-code Just disable the part about switching views. Yes, you can still select the view from the actual view selection drop-down in the main window. Well, it's an improvement, not a complete fix. The complete fix is deferred. --- resources/qml/Menus/ViewMenu.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Menus/ViewMenu.qml b/resources/qml/Menus/ViewMenu.qml index 9a2e603673..21e9557718 100644 --- a/resources/qml/Menus/ViewMenu.qml +++ b/resources/qml/Menus/ViewMenu.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2016 Ultimaker B.V. +// Copyright (c) 2018 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 @@ -11,7 +11,6 @@ Menu { title: catalog.i18nc("@title:menu menubar:toplevel", "&View"); id: base - enabled: !PrintInformation.preSliced property var multiBuildPlateModel: CuraApplication.getMultiBuildPlateModel() @@ -26,6 +25,7 @@ Menu checked: model.active exclusiveGroup: group onTriggered: UM.Controller.setActiveView(model.id) + enabled: !PrintInformation.preSliced } onObjectAdded: base.insertItem(index, object) onObjectRemoved: base.removeItem(object) From 1a6766019685b3dd0aa647143941e207f68ab2ac Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 25 Oct 2018 10:54:59 +0200 Subject: [PATCH 317/423] Hotfix: Show printer selection --- plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml index a28167d260..c2590e99a8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml @@ -8,9 +8,6 @@ import UM 1.1 as UM UM.Dialog { id: base; - property var printersModel: { - return ListModel{}; - } height: minimumHeight; leftButtons: [ Button { @@ -87,7 +84,9 @@ UM.Dialog { id: printerSelectionCombobox; Behavior on height { NumberAnimation { duration: 100 } } height: 40 * screenScaleFactor; - model: base.printersModel; + model: ListModel { + id: printersModel; + } textRole: "name"; width: parent.width; } From ebbb7ad88f582d2c7423d235943310d5184a1ab9 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 25 Oct 2018 10:55:10 +0200 Subject: [PATCH 318/423] Code style --- resources/qml/Menus/ViewMenu.qml | 42 +++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/resources/qml/Menus/ViewMenu.qml b/resources/qml/Menus/ViewMenu.qml index 21e9557718..12d4ffd7dd 100644 --- a/resources/qml/Menus/ViewMenu.qml +++ b/resources/qml/Menus/ViewMenu.qml @@ -9,7 +9,7 @@ import Cura 1.0 as Cura Menu { - title: catalog.i18nc("@title:menu menubar:toplevel", "&View"); + title: catalog.i18nc("@title:menu menubar:toplevel", "&View") id: base property var multiBuildPlateModel: CuraApplication.getMultiBuildPlateModel() @@ -30,7 +30,10 @@ Menu onObjectAdded: base.insertItem(index, object) onObjectRemoved: base.removeItem(object) } - ExclusiveGroup { id: group } + ExclusiveGroup + { + id: group + } MenuSeparator {} @@ -44,36 +47,47 @@ Menu MenuItem { action: Cura.Actions.viewRightSideCamera; } } - MenuSeparator { + MenuSeparator + { visible: UM.Preferences.getValue("cura/use_multi_build_plate") } Menu { id: buildPlateMenu; - title: catalog.i18nc("@action:inmenu menubar:view","&Build plate"); + title: catalog.i18nc("@action:inmenu menubar:view","&Build plate") visible: UM.Preferences.getValue("cura/use_multi_build_plate") Instantiator { model: base.multiBuildPlateModel - MenuItem { + MenuItem + { text: base.multiBuildPlateModel.getItem(index).name; - onTriggered: Cura.SceneController.setActiveBuildPlate(base.multiBuildPlateModel.getItem(index).buildPlateNumber); - checkable: true; - checked: base.multiBuildPlateModel.getItem(index).buildPlateNumber == base.multiBuildPlateModel.activeBuildPlate; - exclusiveGroup: buildPlateGroup; + onTriggered: Cura.SceneController.setActiveBuildPlate(base.multiBuildPlateModel.getItem(index).buildPlateNumber) + checkable: true + checked: base.multiBuildPlateModel.getItem(index).buildPlateNumber == base.multiBuildPlateModel.activeBuildPlate + exclusiveGroup: buildPlateGroup visible: UM.Preferences.getValue("cura/use_multi_build_plate") } - onObjectAdded: buildPlateMenu.insertItem(index, object); + onObjectAdded: buildPlateMenu.insertItem(index, object) onObjectRemoved: buildPlateMenu.removeItem(object) } - ExclusiveGroup { id: buildPlateGroup; } + ExclusiveGroup + { + id: buildPlateGroup + } } MenuSeparator {} - MenuItem { action: Cura.Actions.expandSidebar; } - + MenuItem + { + action: Cura.Actions.expandSidebar + } + MenuSeparator {} - MenuItem { action: Cura.Actions.toggleFullScreen; } + MenuItem + { + action: Cura.Actions.toggleFullScreen + } } From 5e8dba52669e041e860a94401fdc0a54d75b917e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 25 Oct 2018 11:07:19 +0200 Subject: [PATCH 319/423] Remove some duplicate addExtruder() and setNextStack() calls --- cura/Settings/CuraStackBuilder.py | 1 - cura/Settings/ExtruderManager.py | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index 95aa364a2e..c98c63f529 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -145,7 +145,6 @@ class CuraStackBuilder: quality_container = application.empty_quality_container ) new_extruder.setNextStack(global_stack) - global_stack.addExtruder(new_extruder) registry.addContainer(new_extruder) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 2514e17075..4c2e301c57 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -367,6 +367,7 @@ class ExtruderManager(QObject): # Single extrusion machine without an ExtruderStack, create it from cura.Settings.CuraStackBuilder import CuraStackBuilder CuraStackBuilder.createExtruderStackWithDefaultSetup(global_stack, 0) + extruder_stack_0.setNextStack(global_stack) elif extruder_stack_0.definition.getId() != expected_extruder_definition_0_id: Logger.log("e", "Single extruder printer [{printer}] expected extruder [{expected}], but got [{got}]. I'm making it [{expected}].".format( @@ -374,8 +375,6 @@ class ExtruderManager(QObject): extruder_definition = container_registry.findDefinitionContainers(id = expected_extruder_definition_0_id)[0] extruder_stack_0.definition = extruder_definition - extruder_stack_0.setNextStack(global_stack) - ## Get all extruder values for a certain setting. # # This is exposed to qml for display purposes From 39749dcaf6dbe54169bfaf02384a4135ae2b0434 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Thu, 25 Oct 2018 12:45:01 +0200 Subject: [PATCH 320/423] use "material_print_temperature" in material profile --- .../anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg | 5 ++--- .../anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg | 4 +--- .../anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg | 4 +--- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg index 1e8869727a..6852fcd421 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg @@ -11,10 +11,9 @@ weight = 0 material = generic_petg [values] -default_material_print_temperature = 250 +material_print_temperature = =default_material_print_temperature + 35 material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 -speed_layer_0 = 20 -speed_travel = 60 + diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg index af9fcf41ea..57a89c4ec2 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg @@ -11,10 +11,8 @@ weight = 2 material = generic_petg [values] -default_material_print_temperature = 250 +material_print_temperature = =default_material_print_temperature + 35 material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 -speed_layer_0 = 20 -speed_travel = 60 \ No newline at end of file diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg index 0946cacbf3..14a4607ceb 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg @@ -11,10 +11,8 @@ weight = 1 material = generic_petg [values] -default_material_print_temperature = 250 +material_print_temperature = =default_material_print_temperature + 35 material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 -speed_layer_0 = 20 -speed_travel = 60 \ No newline at end of file From 1c5817b5b69590144b0aaeafc091015436150339 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Thu, 25 Oct 2018 13:01:05 +0200 Subject: [PATCH 321/423] recheck --- .../quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg index 6852fcd421..5e0c3e204a 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg @@ -16,4 +16,3 @@ material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 - From 0e1e8d269a5084806691916afe0070560000d366 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 25 Oct 2018 13:40:34 +0200 Subject: [PATCH 322/423] Fix the extra setNextStack() --- cura/Settings/ExtruderManager.py | 1 - 1 file changed, 1 deletion(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 4c2e301c57..9089ba96e9 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -367,7 +367,6 @@ class ExtruderManager(QObject): # Single extrusion machine without an ExtruderStack, create it from cura.Settings.CuraStackBuilder import CuraStackBuilder CuraStackBuilder.createExtruderStackWithDefaultSetup(global_stack, 0) - extruder_stack_0.setNextStack(global_stack) elif extruder_stack_0.definition.getId() != expected_extruder_definition_0_id: Logger.log("e", "Single extruder printer [{printer}] expected extruder [{expected}], but got [{got}]. I'm making it [{expected}].".format( From c7b146c9fc3bc287b456e9eea5b17aad4b689086 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 25 Oct 2018 13:53:01 +0200 Subject: [PATCH 323/423] Don't make retract distances negative People are reporting that the retraction is reversed. We can't test it since we have no firmware that supports the command at all. So we'll just not make the retract distance negative. That seems more logical anyway if you read the documentation of M600 to the letter. Fixes #4249. --- .../scripts/FilamentChange.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/plugins/PostProcessingPlugin/scripts/FilamentChange.py b/plugins/PostProcessingPlugin/scripts/FilamentChange.py index 0fa52de4f1..ed0f6eb174 100644 --- a/plugins/PostProcessingPlugin/scripts/FilamentChange.py +++ b/plugins/PostProcessingPlugin/scripts/FilamentChange.py @@ -1,5 +1,6 @@ -# This PostProcessing Plugin script is released -# under the terms of the AGPLv3 or higher +# Copyright (c) 2018 Ultimaker B.V. +# The PostProcessingPlugin is released under the terms of the AGPLv3 or higher. + from typing import Optional, Tuple from UM.Logger import Logger @@ -54,17 +55,17 @@ class FilamentChange(Script): layer_nums = self.getSettingValueByKey("layer_number") initial_retract = self.getSettingValueByKey("initial_retract") later_retract = self.getSettingValueByKey("later_retract") - + color_change = "M600" - + if initial_retract is not None and initial_retract > 0.: - color_change = color_change + (" E-%.2f" % initial_retract) - + 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) - + color_change = color_change + (" L%.2f" % later_retract) + color_change = color_change + " ; Generated by FilamentChange plugin" - + layer_targets = layer_nums.split(",") if len(layer_targets) > 0: for layer_num in layer_targets: From 9d5936492a616e400bf635d8899118c447213b2d Mon Sep 17 00:00:00 2001 From: THeijmans Date: Thu, 25 Oct 2018 14:03:58 +0200 Subject: [PATCH 324/423] TPU temperatures update Removal of all final and initial print temperature offsets, and huge increase in first layer print temperature. These changes should greatly improve first layer extrusion. --- .../quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg | 6 +++--- .../quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg | 6 +++--- .../ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg | 6 +++--- .../quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg | 6 +++--- .../ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg | 6 +++--- .../ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg | 6 +++--- .../ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg | 6 +++--- .../ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg | 6 +++--- .../ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg | 6 +++--- .../ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg | 6 +++--- .../ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg | 6 +++--- .../ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg | 6 +++--- 12 files changed, 36 insertions(+), 36 deletions(-) diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index b83db28e0b..9b9dca3a16 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -31,11 +31,11 @@ line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature + 2 -material_print_temperature_layer_0 = =default_material_print_temperature + 2 +material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index 09b2a49838..e6233a8184 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -31,11 +31,11 @@ line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature + 2 -material_print_temperature_layer_0 = =default_material_print_temperature + 2 +material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index 911d5c977b..e725615854 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -30,10 +30,10 @@ line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 16 -material_print_temperature_layer_0 = =default_material_print_temperature +material_initial_print_temperature = =material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True 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 b6e6fdecb6..90b5103f20 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 @@ -25,11 +25,11 @@ jerk_support = =math.ceil(jerk_print * 25 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 105 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature - 2 -material_print_temperature_layer_0 = =material_print_temperature + 4 +material_print_temperature_layer_0 = =material_print_temperature + 19 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 prime_tower_enable = True 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 b64d37310e..a9fab40d4e 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 @@ -26,11 +26,11 @@ jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) layer_height = 0.4 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 105 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature + 2 -material_print_temperature_layer_0 = =material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature +15 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 prime_tower_enable = True 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 d9e8f9ec2e..e2ced0a364 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 @@ -26,10 +26,10 @@ jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) layer_height = 0.3 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 105 -material_initial_print_temperature = =material_print_temperature - 16 -material_print_temperature_layer_0 = =material_print_temperature + 2 +material_initial_print_temperature = =material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 prime_tower_enable = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg index 1a01303a12..9b4ab52543 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Draft_Print.inst.cfg @@ -30,11 +30,11 @@ line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature + 2 -material_print_temperature_layer_0 = =default_material_print_temperature + 2 +material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg index 226eedf431..35cf66a93b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Fast_Print.inst.cfg @@ -30,11 +30,11 @@ line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature + 2 -material_print_temperature_layer_0 = =default_material_print_temperature + 2 +material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg index 5bf258f34a..4357d765df 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_TPU_Normal_Quality.inst.cfg @@ -30,10 +30,10 @@ line_width = =machine_nozzle_size * 0.95 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 106 -material_initial_print_temperature = =material_print_temperature - 16 -material_print_temperature_layer_0 = =default_material_print_temperature +material_initial_print_temperature = =material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0 prime_tower_wipe_enabled = True 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 e8c58ce32c..e8276d54c5 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 @@ -23,11 +23,11 @@ jerk_support = =math.ceil(jerk_print * 25 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 105 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature - 2 -material_print_temperature_layer_0 = =material_print_temperature + 4 +material_print_temperature_layer_0 = =material_print_temperature + 19 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 prime_tower_enable = True 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 ff723c4ed4..7da73a200d 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 @@ -24,11 +24,11 @@ jerk_support = =math.ceil(jerk_print * 25 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 105 -material_initial_print_temperature = =material_print_temperature - 16 +material_initial_print_temperature = =material_print_temperature material_print_temperature = =default_material_print_temperature + 2 -material_print_temperature_layer_0 = =material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature + 15 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 prime_tower_enable = True 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 7e36e9d354..60dbbf38e6 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 @@ -24,10 +24,10 @@ jerk_support = =math.ceil(jerk_print * 25 / 25) jerk_wall_0 = =math.ceil(jerk_wall * 15 / 25) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 -material_final_print_temperature = =material_print_temperature - 21 +material_final_print_temperature = =material_print_temperature material_flow = 105 -material_initial_print_temperature = =material_print_temperature - 16 -material_print_temperature_layer_0 = =material_print_temperature + 2 +material_initial_print_temperature = =material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature + 17 material_standby_temperature = 100 multiple_mesh_overlap = 0.2 prime_tower_enable = True From 6fd7b49937cc4a19ad2a0b214a6a97e4841dc70a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 25 Oct 2018 15:11:02 +0200 Subject: [PATCH 325/423] Fix setting extruder material diameter in Machine Settings dialog CURA-5857 It should update the value of the selected Extruder TAB, not the active extruder on the printer. --- plugins/MachineSettingsAction/MachineSettingsAction.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index 5109aa05cb..ffd3a8cb47 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -410,7 +410,11 @@ Cura.MachineAction } function setValueFunction(value) { - Cura.MachineManager.activeStack.compatibleMaterialDiameter = value + if (settingsTabs.currentIndex > 0) + { + var extruderIndex = (settingsTabs.currentIndex - 1).toString(); + Cura.MachineManager.extruders[extruderIndex].compatibleMaterialDiameter = value; + } } property bool isExtruderSetting: true } From 73c6bdf0285c7a39f09b1d76be167221050db3c0 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Wed, 3 Oct 2018 22:09:13 +0200 Subject: [PATCH 326/423] Add Anycubic 4Max profile --- resources/definitions/anycubic_4max.def.json | 65 ++++++++++++++++++ .../anycubic_4max_extruder_0.def.json | 16 +++++ resources/meshes/anycubic_4max_platform.stl | Bin 0 -> 2284 bytes .../anycubic_4max_draft.inst.cfg | 60 ++++++++++++++++ .../anycubic_4max/anycubic_4max_high.inst.cfg | 60 ++++++++++++++++ .../anycubic_4max_normal.inst.cfg | 60 ++++++++++++++++ 6 files changed, 261 insertions(+) create mode 100644 resources/definitions/anycubic_4max.def.json create mode 100644 resources/extruders/anycubic_4max_extruder_0.def.json create mode 100644 resources/meshes/anycubic_4max_platform.stl create mode 100644 resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json new file mode 100644 index 0000000000..65e75b8bca --- /dev/null +++ b/resources/definitions/anycubic_4max.def.json @@ -0,0 +1,65 @@ +{ + "version": 2, + "name": "Anycubic 4max", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "Jason Scurtu", + "manufacturer": "Anycubic", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2", + "platform": "anycubic_4max_platform.stl", + "has_materials": true, + "has_machine_quality": true, + "preferred_quality_type": "normal", + "machine_extruder_trains": + { + "0": "anycubic_4max_extruder_0" + } + }, + + "overrides": + { + "machine_name": + { + "default_value": "Anycubic 4Max" + }, + "machine_heated_bed": + { + "default_value": true + }, + "machine_width": + { + "default_value": 210 + }, + "machine_height": + { + "default_value": 300 + }, + "machine_depth": + { + "default_value": 210 + }, + "machine_center_is_zero": + { + "default_value": false + }, + "gantry_height": + { + "default_value": 0 + }, + "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 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;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 F{speed_travel}\nM117 Printing...\nG5" + }, + "machine_end_gcode": + { + "default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000" + } + } +} diff --git a/resources/extruders/anycubic_4max_extruder_0.def.json b/resources/extruders/anycubic_4max_extruder_0.def.json new file mode 100644 index 0000000000..5c2ab8d479 --- /dev/null +++ b/resources/extruders/anycubic_4max_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "id": "anycubic_4max_extruder_0", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "anycubic_4max", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/meshes/anycubic_4max_platform.stl b/resources/meshes/anycubic_4max_platform.stl new file mode 100644 index 0000000000000000000000000000000000000000..cc3651b9f3acd67fa5ba55233ca0af407b90e003 GIT binary patch literal 2284 zcma)-Jx&8b4235W2iXHqgzzV&LL*8Fq=2X+lp+NbQRq{0oD}Ja_5@K5!Wpoi?OA8m zB%w01^NruLJ(JhP^mG38(M(>R-WK!aY|%`n%jSC6JkH*m(eUcN8D5QVZpWj$bk^Tx zwQI26<&^gAAU$t6{{7yyDXq4Hv`5VAhlqW-NDn`b*w{(Dew^TZMqBQffGSmTl4x1G z`aldHYxX1l!W`K-r%I4>sR-69LeEkqmSaN|K^!>ugxh6AP+g~<4T3DIF8qHSR%2 zXlFxJ*%L0N3P^8y&iPAL=S94GD|?V__wpXJWG-W*p|(eXX!T5%4Wa8%T0H>}k`bt^ia zDDh!nxIT72*oV3e BxSs$3 literal 0 HcmV?d00001 diff --git a/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg new file mode 100644 index 0000000000..238197307e --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg @@ -0,0 +1,60 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 + +[values] +acceleration_enabled = True +acceleration_print = 1800 +acceleration_travel = 3000 +adhesion_type = skirt +brim_width = 4.0 +cool_fan_full_at_height = 0.5 +cool_fan_speed = 100 +cool_fan_speed_0 = 100 +infill_overlap = 15 +infill_pattern = zigzag +infill_sparse_density = 25 +initial_layer_line_width_factor = 140 +jerk_enabled = True +jerk_print = 8 +jerk_travel = 10 +layer_height = 0.3 +layer_height_0 = 0.3 +material_bed_temperature = 60 +material_diameter = 1.75 +material_print_temperature = 200 +material_print_temperature_layer_0 = 0 +retract_at_layer_change = False +retraction_amount = 6 +retraction_hop = 0.075 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 1.5 +retraction_speed = 40 +skirt_brim_speed = 40 +skirt_gap = 5 +skirt_line_count = 3 +speed_infill = =speed_print +speed_print = 60 +speed_support = 60 +speed_topbottom = =math.ceil(speed_print * 30 / 60) +speed_travel = 100 +speed_wall = =speed_print +speed_wall_x = =speed_print +support_angle = 60 +support_enable = True +support_interface_enable = True +support_pattern = triangles +support_roof_enable = True +support_type = everywhere +support_use_towers = False +support_xy_distance = 0.7 +top_bottom_thickness = 1.2 +wall_thickness = 1.2 diff --git a/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg new file mode 100644 index 0000000000..b931f92b79 --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg @@ -0,0 +1,60 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 + +[values] +acceleration_enabled = True +acceleration_print = 1800 +acceleration_travel = 3000 +adhesion_type = skirt +brim_width = 4.0 +cool_fan_full_at_height = 0.5 +cool_fan_speed = 100 +cool_fan_speed_0 = 100 +infill_overlap = 15 +infill_pattern = zigzag +infill_sparse_density = 25 +initial_layer_line_width_factor = 140 +jerk_enabled = True +jerk_print = 8 +jerk_travel = 10 +layer_height = 0.1 +layer_height_0 = 0.1 +material_bed_temperature = 60 +material_diameter = 1.75 +material_print_temperature = 200 +material_print_temperature_layer_0 = 0 +retract_at_layer_change = False +retraction_amount = 6 +retraction_hop = 0.075 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 1.5 +retraction_speed = 40 +skirt_brim_speed = 40 +skirt_gap = 5 +skirt_line_count = 3 +speed_infill = =speed_print +speed_print = 50 +speed_support = 30 +speed_topbottom = =math.ceil(speed_print * 20 / 50) +speed_travel = 50 +speed_wall = =speed_print +speed_wall_x = =speed_print +support_angle = 60 +support_enable = True +support_interface_enable = True +support_pattern = triangles +support_roof_enable = True +support_type = everywhere +support_use_towers = False +support_xy_distance = 0.7 +top_bottom_thickness = 1.2 +wall_thickness = 1.2 diff --git a/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg new file mode 100644 index 0000000000..2fe70733e7 --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg @@ -0,0 +1,60 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 + +[values] +acceleration_enabled = True +acceleration_print = 1800 +acceleration_travel = 3000 +adhesion_type = skirt +brim_width = 4.0 +cool_fan_full_at_height = 0.5 +cool_fan_speed = 100 +cool_fan_speed_0 = 100 +infill_overlap = 15 +infill_pattern = zigzag +infill_sparse_density = 25 +initial_layer_line_width_factor = 140 +jerk_enabled = True +jerk_print = 8 +jerk_travel = 10 +layer_height = 0.2 +layer_height_0 = 0.2 +material_bed_temperature = 60 +material_diameter = 1.75 +material_print_temperature = 200 +material_print_temperature_layer_0 = 0 +retract_at_layer_change = False +retraction_amount = 6 +retraction_hop = 0.075 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +retraction_min_travel = 1.5 +retraction_speed = 40 +skirt_brim_speed = 40 +skirt_gap = 5 +skirt_line_count = 3 +speed_infill = =speed_print +speed_print = 50 +speed_support = 30 +speed_topbottom = =math.ceil(speed_print * 20 / 50) +speed_travel = 100 +speed_wall = =speed_print +speed_wall_x = =speed_print +support_angle = 60 +support_enable = True +support_interface_enable = True +support_pattern = triangles +support_roof_enable = True +support_type = everywhere +support_use_towers = False +support_xy_distance = 0.7 +top_bottom_thickness = 1.2 +wall_thickness = 1.2 From 9532cc70b880591047419df2e68b899ae24c7bfd Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Thu, 4 Oct 2018 09:44:24 +0200 Subject: [PATCH 327/423] Disable has_machine_quality for now.. Needs more adjustment --- resources/definitions/anycubic_4max.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json index 65e75b8bca..222b90a70e 100644 --- a/resources/definitions/anycubic_4max.def.json +++ b/resources/definitions/anycubic_4max.def.json @@ -11,7 +11,7 @@ "icon": "icon_ultimaker2", "platform": "anycubic_4max_platform.stl", "has_materials": true, - "has_machine_quality": true, + "has_machine_quality": false, "preferred_quality_type": "normal", "machine_extruder_trains": { From 2b70613345da15f5de54ed9f592416c1c142a0d3 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Wed, 24 Oct 2018 19:46:21 +0200 Subject: [PATCH 328/423] fix and improve 4max profile --- resources/definitions/anycubic_4max.def.json | 107 +++++++++++------- .../abs/anycubic_4max_abs_draft.inst.cfg | 15 +++ .../abs/anycubic_4max_abs_high.inst.cfg | 15 +++ .../abs/anycubic_4max_abs_normal.inst.cfg | 16 +++ .../anycubic_4max_draft.inst.cfg | 49 +------- .../anycubic_4max/anycubic_4max_high.inst.cfg | 51 +-------- .../anycubic_4max_normal.inst.cfg | 48 +------- .../hips/anycubic_4max_hips_draft.inst.cfg | 14 +++ .../hips/anycubic_4max_hips_high.inst.cfg | 14 +++ .../hips/anycubic_4max_hips_normal.inst.cfg | 14 +++ .../petg/anycubic_4max_petg_draft.inst.cfg | 20 ++++ .../petg/anycubic_4max_petg_high.inst.cfg | 20 ++++ .../petg/anycubic_4max_petg_normal.inst.cfg | 20 ++++ .../pla/anycubic_4max_pla_draft.inst.cfg | 15 +++ .../pla/anycubic_4max_pla_high.inst.cfg | 14 +++ .../pla/anycubic_4max_pla_normal.inst.cfg | 14 +++ 16 files changed, 262 insertions(+), 184 deletions(-) create mode 100644 resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg create mode 100644 resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg create mode 100644 resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg create mode 100644 resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg create mode 100644 resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg create mode 100644 resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json index 222b90a70e..c14ce1ac31 100644 --- a/resources/definitions/anycubic_4max.def.json +++ b/resources/definitions/anycubic_4max.def.json @@ -1,17 +1,19 @@ { "version": 2, - "name": "Anycubic 4max", + "name": "Anycubic 4Max", "inherits": "fdmprinter", "metadata": { "visible": true, "author": "Jason Scurtu", "manufacturer": "Anycubic", + "category": "Other", "file_formats": "text/x-gcode", "icon": "icon_ultimaker2", "platform": "anycubic_4max_platform.stl", "has_materials": true, - "has_machine_quality": false, + "quality_definition": "anycubic_4max", + "has_machine_quality": true, "preferred_quality_type": "normal", "machine_extruder_trains": { @@ -21,45 +23,66 @@ "overrides": { - "machine_name": - { - "default_value": "Anycubic 4Max" - }, - "machine_heated_bed": - { - "default_value": true - }, - "machine_width": - { - "default_value": 210 - }, - "machine_height": - { - "default_value": 300 - }, - "machine_depth": - { - "default_value": 210 - }, - "machine_center_is_zero": - { - "default_value": false - }, - "gantry_height": - { - "default_value": 0 - }, - "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 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;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 F{speed_travel}\nM117 Printing...\nG5" - }, - "machine_end_gcode": - { - "default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000" - } + "machine_name": { "default_value": "Anycubic 4Max" }, + "machine_heated_bed": { "default_value": true }, + "machine_width": { "default_value": 220 }, + "machine_height": {"default_value": 300 }, + "machine_depth": { "default_value": 220 }, + "machine_center_is_zero": { "default_value": false }, + "machine_max_feedrate_x": { "default_value": 300 }, + "machine_max_feedrate_y": { "default_value": 300 }, + "machine_max_feedrate_z": { "default_value": 10 }, + "machine_acceleration": { "default_value": 1500 }, + "machine_max_acceleration_x": { "default_value": 1500 }, + "machine_max_acceleration_y": { "default_value": 1500 }, + "machine_max_acceleration_z": { "default_value": 100 }, + "machine_max_jerk_xy": { "default_value": 11.0 }, + "machine_max_jerk_z": { "default_value": 0.4 }, + "machine_max_jerk_e": { "default_value": 11.0 }, + + "jerk_enabled": { "value": "True" }, + "jerk_layer_0": { "value": "jerk_topbottom" }, + "jerk_prime_tower": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_print": { "value": "11" }, + "jerk_support": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_support_interface": { "value": "jerk_topbottom" }, + "jerk_topbottom": { "value": "math.ceil(jerk_print * 5 / 25)" }, + "jerk_wall": { "value": "math.ceil(jerk_print * 10 / 25)" }, + "jerk_wall_0": { "value": "math.ceil(jerk_wall * 5 / 10)" }, + + "gantry_height": { "default_value": 25.0 }, + "skin_overlap": { "value": "10" }, + + "acceleration_enabled": { "value": "True" }, + "acceleration_layer_0": { "value": "acceleration_topbottom" }, + "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_print": { "value": "900" }, + "acceleration_support": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_support_interface": { "value": "acceleration_topbottom" }, + "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_travel": { "value": "acceleration_print" }, + "acceleration_wall": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 1000 / 1000)" }, + + "speed_layer_0": { "value": "20" }, + "speed_print": { "value": "40" }, + "speed_support": { "value": "speed_wall_0" }, + "speed_support_interface": { "value": "speed_topbottom" }, + "speed_topbottom": { "value": "math.ceil(speed_print * 20 / 35)" }, + "speed_travel": { "value": "60" }, + "speed_wall": { "value": "math.ceil(speed_print * 30 / 35)" }, + "speed_wall_0": { "value": "math.ceil(speed_wall * 20 / 30)" }, + "speed_wall_x": { "value": "speed_wall" }, + + "infill_pattern": {"value": "'zigzag'" }, + "infill_before_walls": {"value": false }, + + "adhesion_type": { "default_value": "skirt" }, + "material_bed_temperature": { "maximum_value": "150" }, + "material_bed_temperature_layer_0": { "maximum_value": "150" }, + + "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 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;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 F{speed_travel}\nM117 Printing...\nG5"}, + "machine_end_gcode":{"default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000"} } } diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg new file mode 100644 index 0000000000..f5baa55029 --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg new file mode 100644 index 0000000000..bd613c6aad --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg new file mode 100644 index 0000000000..7cff1db4d2 --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg @@ -0,0 +1,16 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim + diff --git a/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg index 238197307e..c0114e3d6c 100644 --- a/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg +++ b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg @@ -8,53 +8,8 @@ setting_version = 5 type = quality quality_type = draft weight = 0 +global_quality = True [values] -acceleration_enabled = True -acceleration_print = 1800 -acceleration_travel = 3000 -adhesion_type = skirt -brim_width = 4.0 -cool_fan_full_at_height = 0.5 -cool_fan_speed = 100 -cool_fan_speed_0 = 100 -infill_overlap = 15 -infill_pattern = zigzag -infill_sparse_density = 25 -initial_layer_line_width_factor = 140 -jerk_enabled = True -jerk_print = 8 -jerk_travel = 10 layer_height = 0.3 -layer_height_0 = 0.3 -material_bed_temperature = 60 -material_diameter = 1.75 -material_print_temperature = 200 -material_print_temperature_layer_0 = 0 -retract_at_layer_change = False -retraction_amount = 6 -retraction_hop = 0.075 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 1.5 -retraction_speed = 40 -skirt_brim_speed = 40 -skirt_gap = 5 -skirt_line_count = 3 -speed_infill = =speed_print -speed_print = 60 -speed_support = 60 -speed_topbottom = =math.ceil(speed_print * 30 / 60) -speed_travel = 100 -speed_wall = =speed_print -speed_wall_x = =speed_print -support_angle = 60 -support_enable = True -support_interface_enable = True -support_pattern = triangles -support_roof_enable = True -support_type = everywhere -support_use_towers = False -support_xy_distance = 0.7 -top_bottom_thickness = 1.2 -wall_thickness = 1.2 + diff --git a/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg index b931f92b79..4a0993412a 100644 --- a/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg +++ b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg @@ -8,53 +8,8 @@ setting_version = 5 type = quality quality_type = high weight = 2 +global_quality = True [values] -acceleration_enabled = True -acceleration_print = 1800 -acceleration_travel = 3000 -adhesion_type = skirt -brim_width = 4.0 -cool_fan_full_at_height = 0.5 -cool_fan_speed = 100 -cool_fan_speed_0 = 100 -infill_overlap = 15 -infill_pattern = zigzag -infill_sparse_density = 25 -initial_layer_line_width_factor = 140 -jerk_enabled = True -jerk_print = 8 -jerk_travel = 10 -layer_height = 0.1 -layer_height_0 = 0.1 -material_bed_temperature = 60 -material_diameter = 1.75 -material_print_temperature = 200 -material_print_temperature_layer_0 = 0 -retract_at_layer_change = False -retraction_amount = 6 -retraction_hop = 0.075 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 1.5 -retraction_speed = 40 -skirt_brim_speed = 40 -skirt_gap = 5 -skirt_line_count = 3 -speed_infill = =speed_print -speed_print = 50 -speed_support = 30 -speed_topbottom = =math.ceil(speed_print * 20 / 50) -speed_travel = 50 -speed_wall = =speed_print -speed_wall_x = =speed_print -support_angle = 60 -support_enable = True -support_interface_enable = True -support_pattern = triangles -support_roof_enable = True -support_type = everywhere -support_use_towers = False -support_xy_distance = 0.7 -top_bottom_thickness = 1.2 -wall_thickness = 1.2 +layer_height = 0.15 + diff --git a/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg index 2fe70733e7..eeb1d699e4 100644 --- a/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg +++ b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg @@ -8,53 +8,7 @@ setting_version = 5 type = quality quality_type = normal weight = 1 +global_quality = True [values] -acceleration_enabled = True -acceleration_print = 1800 -acceleration_travel = 3000 -adhesion_type = skirt -brim_width = 4.0 -cool_fan_full_at_height = 0.5 -cool_fan_speed = 100 -cool_fan_speed_0 = 100 -infill_overlap = 15 -infill_pattern = zigzag -infill_sparse_density = 25 -initial_layer_line_width_factor = 140 -jerk_enabled = True -jerk_print = 8 -jerk_travel = 10 layer_height = 0.2 -layer_height_0 = 0.2 -material_bed_temperature = 60 -material_diameter = 1.75 -material_print_temperature = 200 -material_print_temperature_layer_0 = 0 -retract_at_layer_change = False -retraction_amount = 6 -retraction_hop = 0.075 -retraction_hop_enabled = True -retraction_hop_only_when_collides = True -retraction_min_travel = 1.5 -retraction_speed = 40 -skirt_brim_speed = 40 -skirt_gap = 5 -skirt_line_count = 3 -speed_infill = =speed_print -speed_print = 50 -speed_support = 30 -speed_topbottom = =math.ceil(speed_print * 20 / 50) -speed_travel = 100 -speed_wall = =speed_print -speed_wall_x = =speed_print -support_angle = 60 -support_enable = True -support_interface_enable = True -support_pattern = triangles -support_roof_enable = True -support_type = everywhere -support_use_towers = False -support_xy_distance = 0.7 -top_bottom_thickness = 1.2 -wall_thickness = 1.2 diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg new file mode 100644 index 0000000000..3cd0226bd4 --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg new file mode 100644 index 0000000000..ff5c6bee2f --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg new file mode 100644 index 0000000000..c4701ae246 --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg new file mode 100644 index 0000000000..1e8869727a --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg @@ -0,0 +1,20 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_petg + +[values] +default_material_print_temperature = 250 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 +speed_layer_0 = 20 +speed_travel = 60 diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg new file mode 100644 index 0000000000..af9fcf41ea --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg @@ -0,0 +1,20 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_petg + +[values] +default_material_print_temperature = 250 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 +speed_layer_0 = 20 +speed_travel = 60 \ No newline at end of file diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg new file mode 100644 index 0000000000..0946cacbf3 --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg @@ -0,0 +1,20 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_petg + +[values] +default_material_print_temperature = 250 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 +speed_layer_0 = 20 +speed_travel = 60 \ No newline at end of file diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg new file mode 100644 index 0000000000..eae9e3b5ef --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_pla + +[values] + + diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg new file mode 100644 index 0000000000..c856fc66a7 --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_pla + +[values] + diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg new file mode 100644 index 0000000000..be33bfe53a --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_pla + +[values] + From 2c432944726126c57c556fae45e82e9701bd9deb Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Thu, 25 Oct 2018 12:45:01 +0200 Subject: [PATCH 329/423] use "material_print_temperature" in material profile --- .../anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg | 5 ++--- .../anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg | 4 +--- .../anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg | 4 +--- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg index 1e8869727a..6852fcd421 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg @@ -11,10 +11,9 @@ weight = 0 material = generic_petg [values] -default_material_print_temperature = 250 +material_print_temperature = =default_material_print_temperature + 35 material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 -speed_layer_0 = 20 -speed_travel = 60 + diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg index af9fcf41ea..57a89c4ec2 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg @@ -11,10 +11,8 @@ weight = 2 material = generic_petg [values] -default_material_print_temperature = 250 +material_print_temperature = =default_material_print_temperature + 35 material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 -speed_layer_0 = 20 -speed_travel = 60 \ No newline at end of file diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg index 0946cacbf3..14a4607ceb 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg @@ -11,10 +11,8 @@ weight = 1 material = generic_petg [values] -default_material_print_temperature = 250 +material_print_temperature = =default_material_print_temperature + 35 material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 -speed_layer_0 = 20 -speed_travel = 60 \ No newline at end of file From 2227c1debf68b3eef42e9ed481e6018ee27362e3 Mon Sep 17 00:00:00 2001 From: Jason Scurtu Date: Thu, 25 Oct 2018 13:01:05 +0200 Subject: [PATCH 330/423] recheck --- .../quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg index 6852fcd421..5e0c3e204a 100644 --- a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg @@ -16,4 +16,3 @@ material_bed_temperature = 70 cool_fan_enabled = False speed_print = 30 - From f1d94d921c4457988999eab16ae942ea316e93b1 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 25 Oct 2018 16:27:16 +0200 Subject: [PATCH 331/423] The MachineManager doesn't have the extruder stacks but the active machine does, so use it when setting the compatible material diameter to the current extruder. Contributes to CURA-5857. --- plugins/MachineSettingsAction/MachineSettingsAction.qml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index ffd3a8cb47..e16ecf5492 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -405,15 +405,15 @@ Cura.MachineAction { if (settingsTabs.currentIndex > 0) { - manager.updateMaterialForDiameter(settingsTabs.currentIndex - 1); + manager.updateMaterialForDiameter(settingsTabs.currentIndex - 1) } } function setValueFunction(value) { if (settingsTabs.currentIndex > 0) { - var extruderIndex = (settingsTabs.currentIndex - 1).toString(); - Cura.MachineManager.extruders[extruderIndex].compatibleMaterialDiameter = value; + var extruderIndex = (settingsTabs.currentIndex - 1).toString() + Cura.MachineManager.activeMachine.extruders[extruderIndex].compatibleMaterialDiameter = value } } property bool isExtruderSetting: true From 94d48101d98e41e04483505f232972ec2d46ee7c Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 25 Oct 2018 16:45:49 +0200 Subject: [PATCH 332/423] Use different lengths for loading skeleton and printer name Contributes to CL-1119 --- plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 79a915d0d1..76e3184f4f 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -118,7 +118,10 @@ Item { Item { id: machineNameLabel; height: UM.Theme.getSize("monitor_text_line").height; - width: Math.round(parent.width * 0.3); + width: { + var percent = printer ? 0.75 : 0.3; + return Math.round(parent.width * percent); + } // Skeleton Rectangle { From 24f9804f0340bc4465cc90ce245df4930e4180a8 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 26 Oct 2018 11:01:46 +0200 Subject: [PATCH 333/423] Disable per-meshgroup settings in the per-mesh settings when in one-at-a-time mode. [CURA-5767] The backend can't handle per mesh-group settings (as opposed to per mesh settings) when sequence was in one-at-a-time mode. The problem is that the extruder train is in between the per-meshgroup-settings (child-of) and per-mesh-settings (parent-of). For any per-mesh-group settings, the possibility exists that they'll be overridden by settings we always set (and that need to be set) per extruder. Changing this would require the engine-architecture to change, and _all_ settings would need to be thouroughly retested. As this was a too extensive change, it was decied just to disable the per-meshgroup settings when printing one-at-a-time (too). The issue was originally reported as: '"Printing Temperature Initial layer" setting per mode does not work' --- .../PerObjectSettingsTool/PerObjectSettingsPanel.qml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index 4c9ba2169c..5d4e17a102 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -407,14 +407,9 @@ Item { function updateFilter() { var new_filter = {}; - if (printSequencePropertyProvider.properties.value == "one_at_a_time") - { - new_filter["settable_per_meshgroup"] = true; - } - else - { - new_filter["settable_per_mesh"] = true; - } + new_filter["settable_per_mesh"] = true; + // Don't filter on "settable_per_meshgroup" any more when `printSequencePropertyProvider.properties.value` + // is set to "one_at_a_time", because the current backend architecture isn't ready for that. if(filterInput.text != "") { From 87086907da3ab3bb414598020adfd80410e7254a Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 26 Oct 2018 12:14:27 +0200 Subject: [PATCH 334/423] Add some Ultimaker materials to the list of bundled materials, so they will show as installed in the Toolbox. --- resources/bundled_packages/cura.json | 95 ++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index ad97f3595b..fddbc7484e 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -1238,6 +1238,25 @@ } } }, + "UltimakerBAM": { + "package_info": { + "package_id": "UltimakerBAM", + "package_type": "material", + "display_name": "Ultimaker Breakaway", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/breakaway", + "author": { + "author_id": "Ultimaker", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, "UltimakerCPE": { "package_info": { "package_id": "UltimakerCPE", @@ -1257,6 +1276,25 @@ } } }, + "UltimakerCPEP": { + "package_info": { + "package_id": "UltimakerCPEP", + "package_type": "material", + "display_name": "Ultimaker CPE+", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/cpe", + "author": { + "author_id": "Ultimaker", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, "UltimakerNylon": { "package_info": { "package_id": "UltimakerNylon", @@ -1314,6 +1352,25 @@ } } }, + "UltimakerPP": { + "package_info": { + "package_id": "UltimakerPP", + "package_type": "material", + "display_name": "Ultimaker PP", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/pp", + "author": { + "author_id": "Ultimaker", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, "UltimakerPVA": { "package_info": { "package_id": "UltimakerPVA", @@ -1333,6 +1390,44 @@ } } }, + "UltimakerTPU": { + "package_info": { + "package_id": "UltimakerTPU", + "package_type": "material", + "display_name": "Ultimaker TPU 95A", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/tpu-95a", + "author": { + "author_id": "Ultimaker", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, + "UltimakerTPLA": { + "package_info": { + "package_id": "UltimakerTPLA", + "package_type": "material", + "display_name": "Ultimaker Tough PLA", + "description": "Example package for material and quality profiles for Ultimaker materials.", + "package_version": "1.0.0", + "sdk_version": 5, + "website": "https://ultimaker.com/products/materials/tough-pla", + "author": { + "author_id": "Ultimaker", + "display_name": "Ultimaker B.V.", + "email": "materials@ultimaker.com", + "website": "https://ultimaker.com", + "description": "Professional 3D printing made accessible.", + "support_website": "https://ultimaker.com/en/resources/troubleshooting/materials" + } + } + }, "VertexDeltaABS": { "package_info": { "package_id": "VertexDeltaABS", From 517428a308fcff91c68c54a226ad95ec63ac81fd Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 28 Oct 2018 11:27:08 +0100 Subject: [PATCH 335/423] Fix typing error in NetworkedPrinterOutputDevice.post Strictly speaking the QNetworkManager.post() method takes a QByteArray instead of Python bytes, but according to the PyQt documentation, PyQt handles that conversion transparently: http://pyqt.sourceforge.net/Docs/PyQt5/gotchas.html#python-strings-qt-strings-and-unicode --- cura/PrinterOutput/NetworkedPrinterOutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index f7c7f5d233..35d2ce014a 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -213,7 +213,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): request = self._createEmptyRequest(target) self._last_request_time = time() if self._manager is not None: - reply = self._manager.post(request, data) + reply = self._manager.post(request, data.encode()) if on_progress is not None: reply.uploadProgress.connect(on_progress) self._registerOnFinishedCallback(reply, on_finished) From 7899b249fcf320a615449270c41d0461b1aa7004 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sun, 28 Oct 2018 12:12:14 +0100 Subject: [PATCH 336/423] Use preferred material instead of generic PLA when creating a new material --- cura/Machines/MaterialManager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 1a204c020b..e4300dabdb 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -622,8 +622,11 @@ class MaterialManager(QObject): machine_manager = self._application.getMachineManager() extruder_stack = machine_manager.activeStack + machine_definition = self._application.getGlobalContainerStack().definition + preferred_material = machine_definition.getMetaDataEntry("preferred_material") + approximate_diameter = str(extruder_stack.approximateMaterialDiameter) - root_material_id = "generic_pla" + root_material_id = preferred_material if preferred_material else "generic_pla" root_material_id = self.getRootMaterialIDForDiameter(root_material_id, approximate_diameter) material_group = self.getMaterialGroup(root_material_id) From 2223ff14f702dc20c5b7f616ff5dafa3101d02b1 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 29 Oct 2018 10:40:23 +0100 Subject: [PATCH 337/423] Fix extruder index for material diameter box in MachineSettings dialog CURA-5857 --- plugins/MachineSettingsAction/MachineSettingsAction.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml index e16ecf5492..004b4e3cfc 100644 --- a/plugins/MachineSettingsAction/MachineSettingsAction.qml +++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml @@ -412,7 +412,7 @@ Cura.MachineAction { if (settingsTabs.currentIndex > 0) { - var extruderIndex = (settingsTabs.currentIndex - 1).toString() + const extruderIndex = index.toString() Cura.MachineManager.activeMachine.extruders[extruderIndex].compatibleMaterialDiameter = value } } From 890ddc015e54b79ccada91ec4e056edcab67212a Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 25 Oct 2018 21:36:23 +0200 Subject: [PATCH 338/423] Add Cura.NetworkMJPGImage widget --- cura/CuraApplication.py | 4 + cura/PrinterOutput/NetworkMJPGImage.py | 153 +++++++++++++++++++++++++ 2 files changed, 157 insertions(+) create mode 100644 cura/PrinterOutput/NetworkMJPGImage.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 41dadc2d84..2b3677bcb1 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -114,6 +114,8 @@ from cura.Settings.CuraFormulaFunctions import CuraFormulaFunctions from cura.ObjectsModel import ObjectsModel +from cura.PrinterOutput.NetworkMJPGImage import NetworkMJPGImage + from UM.FlameProfiler import pyqtSlot from UM.Decorators import override @@ -947,6 +949,8 @@ class CuraApplication(QtApplication): qmlRegisterSingletonType(SimpleModeSettingsManager, "Cura", 1, 0, "SimpleModeSettingsManager", self.getSimpleModeSettingsManager) qmlRegisterSingletonType(MachineActionManager.MachineActionManager, "Cura", 1, 0, "MachineActionManager", self.getMachineActionManager) + qmlRegisterType(NetworkMJPGImage, "Cura", 1, 0, "NetworkMJPGImage") + qmlRegisterSingletonType(ObjectsModel, "Cura", 1, 0, "ObjectsModel", self.getObjectsModel) qmlRegisterType(BuildPlateModel, "Cura", 1, 0, "BuildPlateModel") qmlRegisterType(MultiBuildPlateModel, "Cura", 1, 0, "MultiBuildPlateModel") diff --git a/cura/PrinterOutput/NetworkMJPGImage.py b/cura/PrinterOutput/NetworkMJPGImage.py new file mode 100644 index 0000000000..1efc21d2ea --- /dev/null +++ b/cura/PrinterOutput/NetworkMJPGImage.py @@ -0,0 +1,153 @@ +# Copyright (c) 2018 Aldo Hoeben / fieldOfView +# NetworkMJPGImage is released under the terms of the LGPLv3 or higher. + +from PyQt5.QtCore import QUrl, pyqtProperty, pyqtSignal, pyqtSlot, QRect +from PyQt5.QtGui import QImage +from PyQt5.QtQuick import QQuickPaintedItem +from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkAccessManager + +from UM.Logger import Logger + +# +# A QQuickPaintedItem that progressively downloads a network mjpeg stream, +# picks it apart in individual jpeg frames, and paints it. +# +class NetworkMJPGImage(QQuickPaintedItem): + + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) + + self._stream_buffer = b"" + self._stream_buffer_start_index = -1 + self._network_manager = None + self._image_request = None + self._image_reply = None + self._image = QImage() + self._image_rect = QRect() + + self._source_url = QUrl() + self._started = False + + self._mirror = False + + self.setAntialiasing(True) + + ## Ensure that close gets called when object is destroyed + def __del__(self) -> None: + self.stop() + + + def paint(self, painter: "QPainter") -> None: + if self._mirror: + painter.drawImage(self.contentsBoundingRect(), self._image.mirrored()) + return + + painter.drawImage(self.contentsBoundingRect(), self._image) + + + def setSourceURL(self, source_url: "QUrl") -> None: + self._source_url = source_url + self.sourceURLChanged.emit() + if self._started: + self.start() + + def getSourceURL(self) -> "QUrl": + return self._source_url + + sourceURLChanged = pyqtSignal() + source = pyqtProperty(QUrl, fget = getSourceURL, fset = setSourceURL, notify = sourceURLChanged) + + def setMirror(self, mirror: bool) -> None: + if mirror == self._mirror: + return + self._mirror = mirror + self.mirrorChanged.emit() + self.update() + + def getMirror(self) -> bool: + return self._mirror + + mirrorChanged = pyqtSignal() + mirror = pyqtProperty(bool, fget = getMirror, fset = setMirror, notify = mirrorChanged) + + imageSizeChanged = pyqtSignal() + + @pyqtProperty(int, notify = imageSizeChanged) + def imageWidth(self) -> int: + return self._image.width() + + @pyqtProperty(int, notify = imageSizeChanged) + def imageHeight(self) -> int: + return self._image.height() + + + @pyqtSlot() + def start(self) -> None: + self.stop() # Ensure that previous requests (if any) are stopped. + + if not self._source_url: + Logger.log("w", "Unable to start camera stream without target!") + return + self._started = True + + self._image_request = QNetworkRequest(self._source_url) + if self._network_manager is None: + self._network_manager = QNetworkAccessManager() + + self._image_reply = self._network_manager.get(self._image_request) + self._image_reply.downloadProgress.connect(self._onStreamDownloadProgress) + + @pyqtSlot() + def stop(self) -> None: + self._stream_buffer = b"" + self._stream_buffer_start_index = -1 + + if self._image_reply: + try: + try: + self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) + except Exception: + pass + + if not self._image_reply.isFinished(): + self._image_reply.close() + except Exception as e: # RuntimeError + pass # It can happen that the wrapped c++ object is already deleted. + + self._image_reply = None + self._image_request = None + + self._network_manager = None + + self._started = False + + + def _onStreamDownloadProgress(self, bytes_received: int, bytes_total: int) -> None: + # An MJPG stream is (for our purpose) a stream of concatenated JPG images. + # JPG images start with the marker 0xFFD8, and end with 0xFFD9 + if self._image_reply is None: + return + self._stream_buffer += self._image_reply.readAll() + + if len(self._stream_buffer) > 2000000: # No single camera frame should be 2 Mb or larger + Logger.log("w", "MJPEG buffer exceeds reasonable size. Restarting stream...") + self.stop() # resets stream buffer and start index + self.start() + return + + if self._stream_buffer_start_index == -1: + self._stream_buffer_start_index = self._stream_buffer.indexOf(b'\xff\xd8') + stream_buffer_end_index = self._stream_buffer.lastIndexOf(b'\xff\xd9') + # If this happens to be more than a single frame, then so be it; the JPG decoder will + # ignore the extra data. We do it like this in order not to get a buildup of frames + + if self._stream_buffer_start_index != -1 and stream_buffer_end_index != -1: + jpg_data = self._stream_buffer[self._stream_buffer_start_index:stream_buffer_end_index + 2] + self._stream_buffer = self._stream_buffer[stream_buffer_end_index + 2:] + self._stream_buffer_start_index = -1 + self._image.loadFromData(jpg_data) + + if self._image.rect() != self._image_rect: + self.imageSizeChanged.emit() + + self.update() From c187b6a25c6b5dd781af6ef2392f1e202ad16294 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 25 Oct 2018 21:58:21 +0200 Subject: [PATCH 339/423] Replace NetworkCamera with NetworkMJPGImage --- cura/PrinterOutput/PrinterOutputModel.py | 18 +++++------ .../resources/qml/MonitorItem.qml | 31 +++++++------------ .../resources/qml/PrinterVideoStream.qml | 22 ++++--------- .../src/ClusterUM3OutputDevice.py | 2 +- .../src/LegacyUM3OutputDevice.py | 4 +-- 5 files changed, 30 insertions(+), 47 deletions(-) diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index c1c5586f9f..59b98364e5 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant, pyqtSlot +from PyQt5.QtCore import pyqtSignal, pyqtProperty, QObject, QVariant, pyqtSlot, QUrl from typing import List, Dict, Optional from UM.Math.Vector import Vector from cura.PrinterOutput.ConfigurationModel import ConfigurationModel @@ -50,16 +50,16 @@ class PrinterOutputModel(QObject): self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] - self._camera = None # type: Optional[NetworkCamera] + self._camera`_url = None # type: Optional[QUrl] @pyqtProperty(str, constant = True) def firmwareVersion(self) -> str: return self._firmware_version - def setCamera(self, camera: Optional["NetworkCamera"]) -> None: - if self._camera is not camera: - self._camera = camera - self.cameraChanged.emit() + def setCameraUrl(self, camera_url: Optional["QUrl"]) -> None: + if self._camera_url is not camera_url: + self._camera_url = camera_url + self.cameraUrlChanged.emit() def updateIsPreheating(self, pre_heating: bool) -> None: if self._is_preheating != pre_heating: @@ -70,9 +70,9 @@ class PrinterOutputModel(QObject): def isPreheating(self) -> bool: return self._is_preheating - @pyqtProperty(QObject, notify=cameraChanged) - def camera(self) -> Optional["NetworkCamera"]: - return self._camera + @pyqtProperty(QUrl, notify=cameraUrlChanged) + def cameraUrl(self) -> Optional["QUrl"]: + return self._camera_url @pyqtProperty(str, notify = printerTypeChanged) def type(self) -> str: diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml index 7aff32e424..41b3a93a7b 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorItem.qml @@ -10,43 +10,36 @@ Component { height: maximumHeight; width: maximumWidth; - Cura.CameraView { + Cura.NetworkMJPGImage { id: cameraImage; anchors { horizontalCenter: parent.horizontalCenter; verticalCenter: parent.verticalCenter; } Component.onCompleted: { - if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) { - OutputDevice.activePrinter.camera.start(); + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.cameraUrl != null) { + cameraImage.start(); } } height: Math.floor((imageHeight === 0 ? 600 * screenScaleFactor : imageHeight) * width / imageWidth); onVisibleChanged: { if (visible) { - if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) { - OutputDevice.activePrinter.camera.start(); + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.cameraUrl != null) { + cameraImage.start(); } } else { - if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.camera != null) { - OutputDevice.activePrinter.camera.stop(); + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.cameraUrl != null) { + cameraImage.stop(); } } } + source: { + if (OutputDevice.activePrinter != null && OutputDevice.activePrinter.cameraUrl != null) { + return OutputDevice.activePrinter.cameraUrl; + } + } width: Math.min(imageWidth === 0 ? 800 * screenScaleFactor : imageWidth, maximumWidth); z: 1; - - Connections - { - target: OutputDevice.activePrinter.camera; - onNewImage: - { - if (cameraImage.visible) { - cameraImage.image = OutputDevice.activePrinter.camera.latestImage; - cameraImage.update(); - } - } - } } } } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index 71104872a1..b247034c70 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -34,33 +34,23 @@ Item { z: 999; } - Cura.CameraView { + Cura.NetworkMJPGImage { id: cameraImage anchors.horizontalCenter: parent.horizontalCenter; anchors.verticalCenter: parent.verticalCenter; height: Math.round((imageHeight === 0 ? 600 * screenScaleFactor : imageHeight) * width / imageWidth); onVisibleChanged: { if (visible) { - if (camera != null) { - camera.start(); + if (cameraUrl != null) { + start(); } } else { - if (camera != null) { - camera.stop(); - } - } - } - - Connections - { - target: camera - onNewImage: { - if (cameraImage.visible) { - cameraImage.image = camera.latestImage; - cameraImage.update(); + if (cameraUrl != null) { + stop(); } } } + source: cameraUrl width: Math.min(imageWidth === 0 ? 800 * screenScaleFactor : imageWidth, maximumWidth); z: 1 } diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 4c7b93c145..5089b61a2a 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -548,7 +548,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def _createPrinterModel(self, data: Dict[str, Any]) -> PrinterOutputModel: printer = PrinterOutputModel(output_controller = ClusterUM3PrinterOutputController(self), number_of_extruders = self._number_of_extruders) - printer.setCamera(NetworkCamera("http://" + data["ip_address"] + ":8080/?action=stream")) + printer.setCameraUrl(QUrl("http://" + data["ip_address"] + ":8080/?action=stream")) self._printers.append(printer) return printer diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index e786840803..a49ec1f6a9 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -18,7 +18,7 @@ from UM.i18n import i18nCatalog from UM.Message import Message from PyQt5.QtNetwork import QNetworkRequest -from PyQt5.QtCore import QTimer +from PyQt5.QtCore import QTimer, QUrl from PyQt5.QtWidgets import QMessageBox from .LegacyUM3PrinterOutputController import LegacyUM3PrinterOutputController @@ -568,7 +568,7 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): # Quickest way to get the firmware version is to grab it from the zeroconf. firmware_version = self._properties.get(b"firmware_version", b"").decode("utf-8") self._printers = [PrinterOutputModel(output_controller=self._output_controller, number_of_extruders=self._number_of_extruders, firmware_version=firmware_version)] - self._printers[0].setCamera(NetworkCamera("http://" + self._address + ":8080/?action=stream")) + self._printers[0].setCameraUrl(QUrl("http://" + self._address + ":8080/?action=stream")) for extruder in self._printers[0].extruders: extruder.activeMaterialChanged.connect(self.materialIdChanged) extruder.hotendIDChanged.connect(self.hotendIdChanged) From 484b1e5ec683660001e93d7019da3caaf1de5816 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 25 Oct 2018 22:00:47 +0200 Subject: [PATCH 340/423] Remove CameraImageProvider and NetworkCamera --- cura/CameraImageProvider.py | 40 ---------- cura/CuraApplication.py | 2 - cura/PrinterOutput/NetworkCamera.py | 112 ---------------------------- 3 files changed, 154 deletions(-) delete mode 100644 cura/CameraImageProvider.py delete mode 100644 cura/PrinterOutput/NetworkCamera.py diff --git a/cura/CameraImageProvider.py b/cura/CameraImageProvider.py deleted file mode 100644 index edb0f205c7..0000000000 --- a/cura/CameraImageProvider.py +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright (c) 2018 Ultimaker B.V. -# Cura is released under the terms of the LGPLv3 or higher. - -from PyQt5.QtGui import QImage -from PyQt5.QtQuick import QQuickImageProvider -from PyQt5.QtCore import QSize - -from UM.Application import Application - -## Creates screenshots of the current scene. -class CameraImageProvider(QQuickImageProvider): - def __init__(self): - super().__init__(QQuickImageProvider.Image) - - ## Request a new image. - # - # The image will be taken using the current camera position. - # Only the actual objects in the scene will get rendered. Not the build - # plate and such! - # \param id The ID for the image to create. This is the requested image - # source, with the "image:" scheme and provider identifier removed. It's - # a Qt thing, they'll provide this parameter. - # \param size The dimensions of the image to scale to. - def requestImage(self, id, size): - for output_device in Application.getInstance().getOutputDeviceManager().getOutputDevices(): - try: - image = output_device.activePrinter.camera.getImage() - if image.isNull(): - image = QImage() - - return image, QSize(15, 15) - except AttributeError: - try: - image = output_device.activeCamera.getImage() - - return image, QSize(15, 15) - except AttributeError: - pass - - return QImage(), QSize(15, 15) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 2b3677bcb1..ba49f2b824 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -96,7 +96,6 @@ from . import PrintInformation from . import CuraActions from cura.Scene import ZOffsetDecorator from . import CuraSplashScreen -from . import CameraImageProvider from . import PrintJobPreviewImageProvider from . import MachineActionManager @@ -525,7 +524,6 @@ class CuraApplication(QtApplication): CuraApplication.Created = True def _onEngineCreated(self): - self._qml_engine.addImageProvider("camera", CameraImageProvider.CameraImageProvider()) self._qml_engine.addImageProvider("print_job_preview", PrintJobPreviewImageProvider.PrintJobPreviewImageProvider()) @pyqtProperty(bool) diff --git a/cura/PrinterOutput/NetworkCamera.py b/cura/PrinterOutput/NetworkCamera.py deleted file mode 100644 index 1fff9945c8..0000000000 --- a/cura/PrinterOutput/NetworkCamera.py +++ /dev/null @@ -1,112 +0,0 @@ -from UM.Logger import Logger - -from PyQt5.QtCore import QUrl, pyqtProperty, pyqtSignal, QObject, pyqtSlot -from PyQt5.QtGui import QImage -from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkAccessManager - - -class NetworkCamera(QObject): - newImage = pyqtSignal() - - def __init__(self, target = None, parent = None): - super().__init__(parent) - self._stream_buffer = b"" - self._stream_buffer_start_index = -1 - self._manager = None - self._image_request = None - self._image_reply = None - self._image = QImage() - - self._target = target - self._started = False - - @pyqtSlot(str) - def setTarget(self, target): - restart_required = False - if self._started: - self.stop() - restart_required = True - - self._target = target - - if restart_required: - self.start() - - @pyqtProperty(QImage, notify=newImage) - def latestImage(self): - return self._image - - @pyqtSlot() - def start(self): - # Ensure that previous requests (if any) are stopped. - self.stop() - if self._target is None: - Logger.log("w", "Unable to start camera stream without target!") - return - self._started = True - url = QUrl(self._target) - self._image_request = QNetworkRequest(url) - if self._manager is None: - self._manager = QNetworkAccessManager() - - self._image_reply = self._manager.get(self._image_request) - self._image_reply.downloadProgress.connect(self._onStreamDownloadProgress) - - @pyqtSlot() - def stop(self): - self._stream_buffer = b"" - self._stream_buffer_start_index = -1 - - if self._image_reply: - try: - # disconnect the signal - try: - self._image_reply.downloadProgress.disconnect(self._onStreamDownloadProgress) - except Exception: - pass - # abort the request if it's not finished - if not self._image_reply.isFinished(): - self._image_reply.close() - except Exception as e: # RuntimeError - pass # It can happen that the wrapped c++ object is already deleted. - - self._image_reply = None - self._image_request = None - - self._manager = None - - self._started = False - - def getImage(self): - return self._image - - ## Ensure that close gets called when object is destroyed - def __del__(self): - self.stop() - - def _onStreamDownloadProgress(self, bytes_received, bytes_total): - # An MJPG stream is (for our purpose) a stream of concatenated JPG images. - # JPG images start with the marker 0xFFD8, and end with 0xFFD9 - if self._image_reply is None: - return - self._stream_buffer += self._image_reply.readAll() - - if len(self._stream_buffer) > 2000000: # No single camera frame should be 2 Mb or larger - Logger.log("w", "MJPEG buffer exceeds reasonable size. Restarting stream...") - self.stop() # resets stream buffer and start index - self.start() - return - - if self._stream_buffer_start_index == -1: - self._stream_buffer_start_index = self._stream_buffer.indexOf(b'\xff\xd8') - stream_buffer_end_index = self._stream_buffer.lastIndexOf(b'\xff\xd9') - # If this happens to be more than a single frame, then so be it; the JPG decoder will - # ignore the extra data. We do it like this in order not to get a buildup of frames - - if self._stream_buffer_start_index != -1 and stream_buffer_end_index != -1: - jpg_data = self._stream_buffer[self._stream_buffer_start_index:stream_buffer_end_index + 2] - self._stream_buffer = self._stream_buffer[stream_buffer_end_index + 2:] - self._stream_buffer_start_index = -1 - self._image.loadFromData(jpg_data) - - self.newImage.emit() From 736bf040a85fed2af4242eb56f9313fab0d0043c Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 25 Oct 2018 22:13:20 +0200 Subject: [PATCH 341/423] Fix typing and typos --- cura/PrinterOutput/NetworkMJPGImage.py | 14 +++++++------- cura/PrinterOutput/PrinterOutputModel.py | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cura/PrinterOutput/NetworkMJPGImage.py b/cura/PrinterOutput/NetworkMJPGImage.py index 1efc21d2ea..522d684085 100644 --- a/cura/PrinterOutput/NetworkMJPGImage.py +++ b/cura/PrinterOutput/NetworkMJPGImage.py @@ -1,8 +1,8 @@ # Copyright (c) 2018 Aldo Hoeben / fieldOfView # NetworkMJPGImage is released under the terms of the LGPLv3 or higher. -from PyQt5.QtCore import QUrl, pyqtProperty, pyqtSignal, pyqtSlot, QRect -from PyQt5.QtGui import QImage +from PyQt5.QtCore import QUrl, pyqtProperty, pyqtSignal, pyqtSlot, QRect, QByteArray +from PyQt5.QtGui import QImage, QPainter from PyQt5.QtQuick import QQuickPaintedItem from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkAccessManager @@ -17,11 +17,11 @@ class NetworkMJPGImage(QQuickPaintedItem): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) - self._stream_buffer = b"" + self._stream_buffer = QByteArray() self._stream_buffer_start_index = -1 - self._network_manager = None - self._image_request = None - self._image_reply = None + self._network_manager = None # type: QNetworkAccessManager + self._image_request = None # type: QNetworkRequest + self._image_reply = None # type: QNetworkReply self._image = QImage() self._image_rect = QRect() @@ -99,7 +99,7 @@ class NetworkMJPGImage(QQuickPaintedItem): @pyqtSlot() def stop(self) -> None: - self._stream_buffer = b"" + self._stream_buffer = QByteArray() self._stream_buffer_start_index = -1 if self._image_reply: diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index 59b98364e5..b40b07e16b 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -25,7 +25,7 @@ class PrinterOutputModel(QObject): keyChanged = pyqtSignal() printerTypeChanged = pyqtSignal() buildplateChanged = pyqtSignal() - cameraChanged = pyqtSignal() + cameraUrlChanged = pyqtSignal() configurationChanged = pyqtSignal() canUpdateFirmwareChanged = pyqtSignal() @@ -50,7 +50,7 @@ class PrinterOutputModel(QObject): self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] - self._camera`_url = None # type: Optional[QUrl] + self._camera_url = None # type: Optional[QUrl] @pyqtProperty(str, constant = True) def firmwareVersion(self) -> str: From e0d6bac37d5ed161a655393c83e8f5d1152054d3 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 26 Oct 2018 15:23:51 +0200 Subject: [PATCH 342/423] Fix remaining references to NetworkCamera and OutputDevice.activeCamera --- cura/PrinterOutput/PrintJobOutputModel.py | 2 +- cura/PrinterOutput/PrinterOutputModel.py | 1 - .../resources/qml/CameraButton.qml | 6 ++-- .../resources/qml/ClusterMonitorItem.qml | 6 ++-- .../resources/qml/PrinterVideoStream.qml | 6 ++-- .../src/ClusterUM3OutputDevice.py | 29 +++++++++---------- .../src/LegacyUM3OutputDevice.py | 1 - 7 files changed, 23 insertions(+), 28 deletions(-) diff --git a/cura/PrinterOutput/PrintJobOutputModel.py b/cura/PrinterOutput/PrintJobOutputModel.py index b417e0aab3..25b168e6fd 100644 --- a/cura/PrinterOutput/PrintJobOutputModel.py +++ b/cura/PrinterOutput/PrintJobOutputModel.py @@ -54,7 +54,7 @@ class PrintJobOutputModel(QObject): @pyqtProperty(QUrl, notify=previewImageChanged) def previewImageUrl(self): self._preview_image_id += 1 - # There is an image provider that is called "camera". In order to ensure that the image qml object, that + # There is an image provider that is called "print_job_preview". In order to ensure that the image qml object, that # requires a QUrl to function, updates correctly we add an increasing number. This causes to see the QUrl # as new (instead of relying on cached version and thus forces an update. temp = "image://print_job_preview/" + str(self._preview_image_id) + "/" + self._key diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index b40b07e16b..f82d568e63 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -11,7 +11,6 @@ MYPY = False if MYPY: from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.PrinterOutputController import PrinterOutputController - from cura.PrinterOutput.NetworkCamera import NetworkCamera class PrinterOutputModel(QObject): diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index f8dd3bc467..7ec0cb880a 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -31,10 +31,10 @@ Rectangle { anchors.fill: parent; hoverEnabled: true; onClicked: { - if (OutputDevice.activeCamera !== null) { - OutputDevice.setActiveCamera(null) + if (OutputDevice.activeCameraUrl !== null) { + OutputDevice.setActiveCameraUrl(null) } else { - OutputDevice.setActiveCamera(modelData.camera); + OutputDevice.setActiveCameraUrl(modelData.cameraUrl); } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index c79092863e..a9166432ae 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -16,7 +16,7 @@ Component { height: maximumHeight; onVisibleChanged: { if (monitorFrame != null && !monitorFrame.visible) { - OutputDevice.setActiveCamera(null); + OutputDevice.setActiveCameraUrl(null); } } width: maximumWidth; @@ -125,8 +125,8 @@ Component { PrinterVideoStream { anchors.fill: parent; - camera: OutputDevice.activeCamera; - visible: OutputDevice.activeCamera != null; + cameraUrl: OutputDevice.activeCameraUrl; + visible: OutputDevice.activeCameraUrl != null; } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index b247034c70..9b79a8d008 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -8,7 +8,7 @@ import UM 1.3 as UM import Cura 1.0 as Cura Item { - property var camera: null; + property var cameraUrl: null; Rectangle { anchors.fill:parent; @@ -18,7 +18,7 @@ Item { MouseArea { anchors.fill: parent; - onClicked: OutputDevice.setActiveCamera(null); + onClicked: OutputDevice.setActiveCameraUrl(null); z: 0; } @@ -58,7 +58,7 @@ Item { MouseArea { anchors.fill: cameraImage; onClicked: { - OutputDevice.setActiveCamera(null); + OutputDevice.setActiveCameraUrl(null); } z: 1; } diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 5089b61a2a..368273102b 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -22,7 +22,6 @@ from cura.PrinterOutput.ExtruderConfigurationModel import ExtruderConfigurationM from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutputDevice, AuthState from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.MaterialOutputModel import MaterialOutputModel -from cura.PrinterOutput.NetworkCamera import NetworkCamera from .ClusterUM3PrinterOutputController import ClusterUM3PrinterOutputController from .SendMaterialJob import SendMaterialJob @@ -47,7 +46,7 @@ i18n_catalog = i18nCatalog("cura") class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): printJobsChanged = pyqtSignal() activePrinterChanged = pyqtSignal() - activeCameraChanged = pyqtSignal() + activeCameraUrlChanged = pyqtSignal() receivedPrintJobsChanged = pyqtSignal() # This is a bit of a hack, as the notify can only use signals that are defined by the class that they are in. @@ -100,7 +99,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._latest_reply_handler = None # type: Optional[QNetworkReply] self._sending_job = None - self._active_camera = None # type: Optional[NetworkCamera] + self._active_camera_url = None # type: Optional[QUrl] def requestWrite(self, nodes: List[SceneNode], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional[FileHandler] = None, **kwargs: str) -> None: self.writeStarted.emit(self) @@ -264,30 +263,28 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def activePrinter(self) -> Optional[PrinterOutputModel]: return self._active_printer - @pyqtProperty(QObject, notify=activeCameraChanged) - def activeCamera(self) -> Optional[NetworkCamera]: - return self._active_camera + @pyqtProperty(QUrl, notify=activeCameraUrlChanged) + def activeCameraUrl(self) -> Optional[QUrl]: + return self._active_camera_url @pyqtSlot(QObject) def setActivePrinter(self, printer: Optional[PrinterOutputModel]) -> None: if self._active_printer != printer: - if self._active_printer and self._active_printer.camera: - self._active_printer.camera.stop() self._active_printer = printer self.activePrinterChanged.emit() @pyqtSlot(QObject) - def setActiveCamera(self, camera: Optional[NetworkCamera]) -> None: - if self._active_camera != camera: - if self._active_camera: - self._active_camera.stop() + def setActiveCameraUrl(self, camera_url: Optional[QUrl]) -> None: + if self._active_camera_url != camera_url: + if self._active_camera_url: + self._active_camera_url.stop() - self._active_camera = camera + self._active_camera_url = camera_url - if self._active_camera: - self._active_camera.start() + if self._active_camera_url: + self._active_camera_url.start() - self.activeCameraChanged.emit() + self.activeCameraUrlChanged.emit() def _onPostPrintJobFinished(self, reply: QNetworkReply) -> None: if self._progress_message: diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index a49ec1f6a9..e45de2dbb0 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -7,7 +7,6 @@ from cura.PrinterOutput.NetworkedPrinterOutputDevice import NetworkedPrinterOutp from cura.PrinterOutput.PrinterOutputModel import PrinterOutputModel from cura.PrinterOutput.PrintJobOutputModel import PrintJobOutputModel from cura.PrinterOutput.MaterialOutputModel import MaterialOutputModel -from cura.PrinterOutput.NetworkCamera import NetworkCamera from cura.Settings.ContainerManager import ContainerManager from cura.Settings.ExtruderManager import ExtruderManager From 0c1b3931db7dc8a33180d7f7b7007853ab1a01c2 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 29 Oct 2018 10:40:54 +0100 Subject: [PATCH 343/423] Revert "WIP: Add custom CameraView for UM camera feed" This reverts commit b00ea4719a268ec4b000375343bbc4082783b435. --- cura/CuraApplication.py | 3 --- cura/PrinterOutput/CameraView.py | 41 -------------------------------- 2 files changed, 44 deletions(-) delete mode 100644 cura/PrinterOutput/CameraView.py diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index ba49f2b824..5323f1b0fa 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -961,9 +961,6 @@ class CuraApplication(QtApplication): qmlRegisterType(QualityManagementModel, "Cura", 1, 0, "QualityManagementModel") qmlRegisterType(MachineManagementModel, "Cura", 1, 0, "MachineManagementModel") - from cura.PrinterOutput.CameraView import CameraView - qmlRegisterType(CameraView, "Cura", 1, 0, "CameraView") - qmlRegisterSingletonType(QualityProfilesDropDownMenuModel, "Cura", 1, 0, "QualityProfilesDropDownMenuModel", self.getQualityProfilesDropDownMenuModel) qmlRegisterSingletonType(CustomQualityProfilesDropDownMenuModel, "Cura", 1, 0, diff --git a/cura/PrinterOutput/CameraView.py b/cura/PrinterOutput/CameraView.py deleted file mode 100644 index 4a604b7abe..0000000000 --- a/cura/PrinterOutput/CameraView.py +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (c) 2018 Ultimaker B.V. -# Cura is released under the terms of the LGPLv3 or higher. - -from PyQt5.QtCore import pyqtProperty, pyqtSignal -from PyQt5.QtGui import QImage -from PyQt5.QtQuick import QQuickPaintedItem - - -# -# A custom camera view that uses QQuickPaintedItem to present (or "paint") the image frames from a printer's -# network camera feed. -# -class CameraView(QQuickPaintedItem): - - def __init__(self, *args, **kwargs) -> None: - super().__init__(*args, **kwargs) - - self._image = QImage() - - imageChanged = pyqtSignal() - - def setImage(self, image: "QImage") -> None: - self._image = image - self.imageChanged.emit() - self.update() - - def getImage(self) -> "QImage": - return self._image - - image = pyqtProperty(QImage, fget = getImage, fset = setImage, notify = imageChanged) - - @pyqtProperty(int, notify = imageChanged) - def imageWidth(self) -> int: - return self._image.width() - - @pyqtProperty(int, notify = imageChanged) - def imageHeight(self) -> int: - return self._image.height() - - def paint(self, painter): - painter.drawImage(self.contentsBoundingRect(), self._image) From 02681a5700baa398c7d7254d70ab6226a986c839 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 29 Oct 2018 13:23:10 +0100 Subject: [PATCH 344/423] Change camera URL to non-optional QUrl Otherwise pyqt property will complain when it tries to convert a None to a QUrl. --- cura/PrinterOutput/PrinterOutputModel.py | 14 ++++++------- .../resources/qml/CameraButton.qml | 4 ++-- .../resources/qml/ClusterMonitorItem.qml | 4 ++-- .../resources/qml/PrinterVideoStream.qml | 10 ++++----- .../src/ClusterUM3OutputDevice.py | 21 +++++++------------ 5 files changed, 23 insertions(+), 30 deletions(-) diff --git a/cura/PrinterOutput/PrinterOutputModel.py b/cura/PrinterOutput/PrinterOutputModel.py index f82d568e63..4189b9fcbd 100644 --- a/cura/PrinterOutput/PrinterOutputModel.py +++ b/cura/PrinterOutput/PrinterOutputModel.py @@ -49,17 +49,21 @@ class PrinterOutputModel(QObject): self._printer_configuration.extruderConfigurations = [extruder.extruderConfiguration for extruder in self._extruders] - self._camera_url = None # type: Optional[QUrl] + self._camera_url = QUrl() # type: QUrl @pyqtProperty(str, constant = True) def firmwareVersion(self) -> str: return self._firmware_version - def setCameraUrl(self, camera_url: Optional["QUrl"]) -> None: - if self._camera_url is not camera_url: + def setCameraUrl(self, camera_url: "QUrl") -> None: + if self._camera_url != camera_url: self._camera_url = camera_url self.cameraUrlChanged.emit() + @pyqtProperty(QUrl, fset = setCameraUrl, notify = cameraUrlChanged) + def cameraUrl(self) -> "QUrl": + return self._camera_url + def updateIsPreheating(self, pre_heating: bool) -> None: if self._is_preheating != pre_heating: self._is_preheating = pre_heating @@ -69,10 +73,6 @@ class PrinterOutputModel(QObject): def isPreheating(self) -> bool: return self._is_preheating - @pyqtProperty(QUrl, notify=cameraUrlChanged) - def cameraUrl(self) -> Optional["QUrl"]: - return self._camera_url - @pyqtProperty(str, notify = printerTypeChanged) def type(self) -> str: return self._printer_type diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index 7ec0cb880a..7e5c254e5c 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -31,8 +31,8 @@ Rectangle { anchors.fill: parent; hoverEnabled: true; onClicked: { - if (OutputDevice.activeCameraUrl !== null) { - OutputDevice.setActiveCameraUrl(null) + if (OutputDevice.activeCameraUrl != "") { + OutputDevice.setActiveCameraUrl(""); } else { OutputDevice.setActiveCameraUrl(modelData.cameraUrl); } diff --git a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml index a9166432ae..d210ab40f3 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml @@ -16,7 +16,7 @@ Component { height: maximumHeight; onVisibleChanged: { if (monitorFrame != null && !monitorFrame.visible) { - OutputDevice.setActiveCameraUrl(null); + OutputDevice.setActiveCameraUrl(""); } } width: maximumWidth; @@ -126,7 +126,7 @@ Component { PrinterVideoStream { anchors.fill: parent; cameraUrl: OutputDevice.activeCameraUrl; - visible: OutputDevice.activeCameraUrl != null; + visible: OutputDevice.activeCameraUrl != ""; } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml index 9b79a8d008..77b481f6d8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterVideoStream.qml @@ -8,7 +8,7 @@ import UM 1.3 as UM import Cura 1.0 as Cura Item { - property var cameraUrl: null; + property var cameraUrl: ""; Rectangle { anchors.fill:parent; @@ -18,7 +18,7 @@ Item { MouseArea { anchors.fill: parent; - onClicked: OutputDevice.setActiveCameraUrl(null); + onClicked: OutputDevice.setActiveCameraUrl(""); z: 0; } @@ -41,11 +41,11 @@ Item { height: Math.round((imageHeight === 0 ? 600 * screenScaleFactor : imageHeight) * width / imageWidth); onVisibleChanged: { if (visible) { - if (cameraUrl != null) { + if (cameraUrl != "") { start(); } } else { - if (cameraUrl != null) { + if (cameraUrl != "") { stop(); } } @@ -58,7 +58,7 @@ Item { MouseArea { anchors.fill: cameraImage; onClicked: { - OutputDevice.setActiveCameraUrl(null); + OutputDevice.setActiveCameraUrl(""); } z: 1; } diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 368273102b..7504d55ad9 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -99,7 +99,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): self._latest_reply_handler = None # type: Optional[QNetworkReply] self._sending_job = None - self._active_camera_url = None # type: Optional[QUrl] + self._active_camera_url = QUrl() # type: QUrl def requestWrite(self, nodes: List[SceneNode], file_name: Optional[str] = None, limit_mimetypes: bool = False, file_handler: Optional[FileHandler] = None, **kwargs: str) -> None: self.writeStarted.emit(self) @@ -263,27 +263,20 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): def activePrinter(self) -> Optional[PrinterOutputModel]: return self._active_printer - @pyqtProperty(QUrl, notify=activeCameraUrlChanged) - def activeCameraUrl(self) -> Optional[QUrl]: - return self._active_camera_url - @pyqtSlot(QObject) def setActivePrinter(self, printer: Optional[PrinterOutputModel]) -> None: if self._active_printer != printer: self._active_printer = printer self.activePrinterChanged.emit() - @pyqtSlot(QObject) - def setActiveCameraUrl(self, camera_url: Optional[QUrl]) -> None: + @pyqtProperty(QUrl, notify = activeCameraUrlChanged) + def activeCameraUrl(self) -> "QUrl": + return self._active_camera_url + + @pyqtSlot(QUrl) + def setActiveCameraUrl(self, camera_url: "QUrl") -> None: if self._active_camera_url != camera_url: - if self._active_camera_url: - self._active_camera_url.stop() - self._active_camera_url = camera_url - - if self._active_camera_url: - self._active_camera_url.start() - self.activeCameraUrlChanged.emit() def _onPostPrintJobFinished(self, reply: QNetworkReply) -> None: From cc8f7f1e0a07e7d89bcdf940df9aae29e12c181a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 29 Oct 2018 15:05:08 +0100 Subject: [PATCH 345/423] Update translation templates for Cura 3.6 These are the new and changed strings for version 3.6. Contributes to issue CURA-5870. --- resources/i18n/cura.pot | 1408 ++++++++++++----------- resources/i18n/fdmextruder.def.json.pot | 17 +- resources/i18n/fdmprinter.def.json.pot | 65 +- 3 files changed, 805 insertions(+), 685 deletions(-) diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index 2fe966fe99..1874604139 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,7 +48,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." +msgid "Please prepare G-code before exporting." msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 @@ -74,6 +74,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -84,27 +89,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "" "A USB print is in progress, closing Cura will stop this print. Are you sure?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "" @@ -198,7 +203,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "" @@ -227,8 +232,8 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "" @@ -255,115 +260,110 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "" "Connected over the network. Please approve the access request on the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "" "Access to the printer requested. Please approve the request on the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "" "There is an issue with the configuration of your Ultimaker, which makes it " "impossible to start the print. Please resolve this issues before continuing." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "" "There is a mismatch between the configuration or calibration of the printer " @@ -371,33 +371,33 @@ msgid "" "that are inserted in your printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "" "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -407,19 +407,19 @@ msgctxt "@action:button" msgid "Cancel" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "" @@ -427,23 +427,23 @@ msgid "" "{remote_printcore_name}) selected for extruder {extruder_id}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "" "The PrintCores and/or materials on your printer differ from those within " @@ -451,39 +451,39 @@ msgid "" "and materials that are inserted in your printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 -#, python-brace-format -msgctxt "@info:status" -msgid "Printer '{printer_name}' has finished printing '{job_name}'." -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" +msgid "Printer '{printer_name}' has finished printing '{job_name}'." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 +#, python-brace-format +msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "" @@ -493,12 +493,17 @@ msgctxt "@action" msgid "Connect via Network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "" "@info Don't translate {machine_name}, since it gets replaced by a printer " @@ -508,38 +513,33 @@ msgid "" "update the firmware on your printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "" - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "" @@ -553,32 +553,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "" "Allow Cura to send anonymized usage statistics to help prioritize future " @@ -616,24 +616,24 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "" "Unable to slice with the current material as it is incompatible with the " "selected machine or configuration." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "" @@ -641,7 +641,7 @@ msgid "" "errors: {0}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "" @@ -649,13 +649,13 @@ msgid "" "errors on one or more models: {error_labels}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "" "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "" @@ -663,20 +663,20 @@ msgid "" "%s." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "" "Nothing to slice because none of the models fit the build volume. Please " "scale or rotate models to fit." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "" @@ -692,13 +692,13 @@ msgid "Configure Per Model Settings" msgstr "" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "" @@ -710,7 +710,7 @@ msgid "3MF File" msgstr "" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "" @@ -739,18 +739,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "" "Make sure the g-code is suitable for your printer and printer configuration " @@ -763,16 +763,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -794,11 +784,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -809,79 +794,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -895,19 +880,19 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "" "The selected material is incompatible with the selected machine or " "configuration." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "" @@ -915,7 +900,7 @@ msgid "" "[%s]" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "" @@ -947,8 +932,6 @@ msgid "Export succeeded" msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "" @@ -958,14 +941,20 @@ msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" msgstr "" +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" + #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "" "This profile {0} contains incorrect data, could not " "import it." @@ -973,47 +962,53 @@ msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "" "The machine defined in profile {0} ({1}) doesn't match " "with your current machine ({2}), could not import it." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "" -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -1040,12 +1035,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "" @@ -1062,22 +1057,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "" "Tried to restore a Cura backup that does not match your current version." @@ -1252,22 +1247,22 @@ msgctxt "@action:button" msgid "Send report" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "" "@info 'width', 'depth' and 'height' are variable names that must NOT be " @@ -1275,19 +1270,19 @@ msgctxt "" msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "" @@ -1318,9 +1313,9 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "" @@ -1472,22 +1467,32 @@ msgid "" "diameter will be overridden by the material and/or the profile." msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "" @@ -1509,41 +1514,42 @@ msgid "" msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "" @@ -1578,7 +1584,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " +msgid "Confirm uninstall" msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 @@ -1628,7 +1634,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "" @@ -1709,48 +1715,96 @@ msgid "Changelog" msgstr "" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "" +"Firmware is the piece of software running directly on your 3D printer. This " +"firmware controls the step motors, regulates the temperature and ultimately " +"makes your printer work." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "" +"The firmware shipping with new printers works, but new versions tend to have " +"more features and improvements." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "" +"Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "" +"Firmware can not be updated because the connection with the printer does not " +"support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "" @@ -1760,24 +1814,24 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "" "This printer/group is already added to Cura. Please select another printer/" "group." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your " @@ -1789,18 +1843,18 @@ msgid "" "Select your printer from the list below:" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1808,246 +1862,307 @@ msgctxt "@action:button" msgid "Remove" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "" "If your printer is not listed, read the network printing " "troubleshooting guide" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" +msgid "Printer selection" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "" +"The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "" +"The printer %1 is assigned, but the job contains an unknown material " +"configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "" +"Starting a print job with an incompatible configuration could damage your 3D " +"printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2138,17 +2253,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "" @@ -2279,23 +2394,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "" @@ -2346,6 +2461,7 @@ msgid "Type" msgstr "" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "" @@ -2363,6 +2479,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2437,84 +2554,6 @@ msgctxt "@action:button" msgid "Open" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "" -"@label Print estimates: m for meters, g for grams, %4 is currency and %3 is " -"print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2562,41 +2601,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "" -"Firmware is the piece of software running directly on your 3D printer. This " -"firmware controls the step motors, regulates the temperature and ultimately " -"makes your printer work." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "" -"The firmware shipping with new printers works, but new versions tend to have " -"more features and improvements." -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2784,7 +2788,7 @@ msgid "Customized" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "" @@ -2934,6 +2938,12 @@ msgctxt "@action:button" msgid "Import" msgstr "" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -3021,222 +3031,222 @@ msgid "Unit" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "" "You will need to restart the application for these changes to have effect." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "" "Highlight unsupported areas of the model in red. Without support these areas " "will not print properly." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "" "Moves the camera so the model is in the center of the view when a model is " "selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "" "Should models on the platform be moved so that they no longer intersect?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "" "An model may appear extremely small if its unit is for example in meters " "rather than millimeters. Should these models be scaled up?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "" "Should a prefix based on the printer name be added to the print job name " "automatically?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "" "When you have made changes to a profile and switched to a different one, a " @@ -3244,44 +3254,44 @@ msgid "" "not, or you can choose a default behaviour and never show that dialog again." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "" "Default behavior for changed setting values when switching to a different " "profile: " msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "" "Should anonymous data about your print be sent to Ultimaker? Note, no " @@ -3289,33 +3299,33 @@ msgid "" "stored." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "" @@ -3337,7 +3347,7 @@ msgid "Connection:" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "" @@ -3363,7 +3373,7 @@ msgid "Aborting print..." msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "" @@ -3446,17 +3456,17 @@ msgid "Global Settings" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "" @@ -3471,119 +3481,139 @@ msgctxt "@title:window" msgid "About Cura" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "" @@ -3593,7 +3623,7 @@ msgctxt "@label" msgid "Profile:" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the " @@ -3602,53 +3632,53 @@ msgid "" "Click to open the profile manager." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated " @@ -3667,19 +3697,19 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "" "This setting is always shared between all extruders. Changing it here will " "change the value for all extruders." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3687,7 +3717,7 @@ msgid "" "Click to restore the value of the profile." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value " @@ -3852,12 +3882,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "" @@ -3867,12 +3897,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "" @@ -3933,19 +3963,46 @@ msgid "" "G-code files cannot be modified" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "" "Recommended Print Setup

Print with the recommended settings " "for the selected printer, material and quality." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "" "Custom Print Setup

Print with finegrained control over every " @@ -3972,223 +4029,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "" msgstr[1] "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "" msgstr[1] "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "" msgstr[1] "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "" @@ -4249,7 +4306,7 @@ msgid "Select the active output device" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "" @@ -4272,147 +4329,147 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "" "Are you sure you want to start a new project? This will clear the build " "plate and any unsaved settings." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "" "We have found one or more G-Code files within the files you have selected. " @@ -4425,11 +4482,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4507,24 +4559,24 @@ msgid "" "Gradual infill will gradually increase the amount of infill towards the top." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "" "Generate structures to support parts of the model which have overhangs. " "Without these structures, such parts would collapse during printing." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "" "Select which extruder to use for support. This will build up supporting " @@ -4532,19 +4584,19 @@ msgid "" "mid air." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "" "Enable printing a brim or raft. This will add a flat area around or under " "your object which is easy to cut off afterwards." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "" "Need help improving your prints?
Read the Ultimaker " @@ -4709,6 +4761,16 @@ msgctxt "name" msgid "Changelog" msgstr "" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -5059,16 +5121,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "" - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." diff --git a/resources/i18n/fdmextruder.def.json.pot b/resources/i18n/fdmextruder.def.json.pot index 5a89eaee33..fbb003f3c6 100644 --- a/resources/i18n/fdmextruder.def.json.pot +++ b/resources/i18n/fdmextruder.def.json.pot @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE\n" @@ -169,6 +169,19 @@ msgid "" "printing." msgstr "" +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "" +"The number of the print cooling fan associated with this extruder. Only " +"change this from the default value of 0 when you have a different print " +"cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/fdmprinter.def.json.pot b/resources/i18n/fdmprinter.def.json.pot index 79bcf5c7dc..96071d82b8 100644 --- a/resources/i18n/fdmprinter.def.json.pot +++ b/resources/i18n/fdmprinter.def.json.pot @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: http://github.com/ultimaker/uranium\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE\n" @@ -1171,7 +1171,7 @@ msgctxt "connect_skin_polygons description" msgid "" "Connect top/bottom skin paths where they run next to each other. For the " "concentric pattern enabling this setting greatly reduces the travel time, " -"but because the connections can happend midway over infill this feature can " +"but because the connections can happen midway over infill this feature can " "reduce the top surface quality." msgstr "" @@ -1675,8 +1675,8 @@ msgid "" "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. Cubic, quarter cubic and octet " -"infill change with every layer to provide a more equal distribution of " +"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." msgstr "" @@ -1740,6 +1740,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3757,6 +3762,43 @@ msgid "" "is rotated in the horizontal plane." msgstr "" +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "" +"Generate a brim within the support infill regions of the first layer. This " +"brim is printed underneath the support, not around it. Enabling this setting " +"increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "" +"The width of the brim to print underneath the support. A larger brim " +"enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "" +"The number of lines used for the support brim. More brim lines enhance " +"adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -4421,6 +4463,19 @@ msgid "" "build plate, but also reduces the effective print area." msgstr "" +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "" +"Enforce brim to be printed around the model even if that space would " +"otherwise be occupied by support. This replaces some regions of the first " +"layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" From 54afa799c54bf3727481241e5e5f45dffb7e3442 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 29 Oct 2018 15:04:50 +0100 Subject: [PATCH 346/423] Ignore per-meshgroup settings in per object stack CURA-5767 --- cura/Settings/PerObjectContainerStack.py | 18 +++++++++++++++++- plugins/3MFReader/ThreeMFReader.py | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cura/Settings/PerObjectContainerStack.py b/cura/Settings/PerObjectContainerStack.py index 3589029517..3623e1e0be 100644 --- a/cura/Settings/PerObjectContainerStack.py +++ b/cura/Settings/PerObjectContainerStack.py @@ -5,6 +5,7 @@ from typing import Any, Optional from UM.Application import Application from UM.Decorators import override +from UM.Logger import Logger from UM.Settings.Interfaces import PropertyEvaluationContext from UM.Settings.SettingInstance import InstanceState @@ -57,7 +58,22 @@ class PerObjectContainerStack(CuraContainerStack): return result @override(CuraContainerStack) - def setNextStack(self, stack: CuraContainerStack) -> None: + def setProperty(self, key: str, property_name: str, property_value: Any, container: "ContainerInterface" = None, set_from_cache: bool = False) -> None: + application = Application.getInstance() + machine_manager = application.getMachineManager() + global_stack = machine_manager.activeMachine + + # Ignore all settable-per-meshgroup settings for now because the current CuraEngine architecture cannot handle + # that correctly. This check is also here is because if an old project file includes per-object settings that + # are settable-per-meshgroup, when it is loaded, we need to filter out those settings. + if not global_stack.getProperty(key, "settable_per_mesh"): + Logger.log("i", "Setting [%s] ignored as a per-object setting because it's not settable-per-mesh.", key) + return + super().setProperty(self, key, property_name, property_value, + container = container, set_from_cache = set_from_cache) + + @override(CuraContainerStack) + def setNextStack(self, stack: "CuraContainerStack") -> None: super().setNextStack(stack) # trigger signal to re-evaluate all default settings diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 49c6995d18..75ce7d932c 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -135,7 +135,7 @@ class ThreeMFReader(MeshReader): definition_id = getMachineDefinitionIDForQualitySearch(global_container_stack.definition) um_node.callDecoration("getStack").getTop().setDefinition(definition_id) - setting_container = um_node.callDecoration("getStack").getTop() + setting_container = um_node.callDecoration("getStack") for key in settings: setting_value = settings[key] From 9c65cc49e42383ef7b2eff2e7bde84d4dae1ceb1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 29 Oct 2018 15:08:03 +0100 Subject: [PATCH 347/423] Update translation templates for all languages for 3.6 This adds the new translations to 3.6 to the pre-filled translations from previous translation passes. Contributes to issue CURA-5870. --- resources/i18n/de_DE/cura.po | 1474 +++++++++-------- resources/i18n/de_DE/fdmextruder.def.json.po | 12 +- resources/i18n/de_DE/fdmprinter.def.json.po | 63 +- resources/i18n/es_ES/cura.po | 1474 +++++++++-------- resources/i18n/es_ES/fdmextruder.def.json.po | 12 +- resources/i18n/es_ES/fdmprinter.def.json.po | 63 +- resources/i18n/fi_FI/cura.po | 1390 ++++++++-------- resources/i18n/fi_FI/fdmextruder.def.json.po | 12 +- resources/i18n/fi_FI/fdmprinter.def.json.po | 51 +- resources/i18n/fr_FR/cura.po | 1474 +++++++++-------- resources/i18n/fr_FR/fdmextruder.def.json.po | 14 +- resources/i18n/fr_FR/fdmprinter.def.json.po | 65 +- resources/i18n/it_IT/cura.po | 1474 +++++++++-------- resources/i18n/it_IT/fdmextruder.def.json.po | 14 +- resources/i18n/it_IT/fdmprinter.def.json.po | 65 +- resources/i18n/ja_JP/cura.po | 1474 +++++++++-------- resources/i18n/ja_JP/fdmextruder.def.json.po | 14 +- resources/i18n/ja_JP/fdmprinter.def.json.po | 65 +- resources/i18n/ko_KR/cura.po | 1474 +++++++++-------- resources/i18n/ko_KR/fdmextruder.def.json.po | 14 +- resources/i18n/ko_KR/fdmprinter.def.json.po | 65 +- resources/i18n/nl_NL/cura.po | 1508 ++++++++++-------- resources/i18n/nl_NL/fdmextruder.def.json.po | 14 +- resources/i18n/nl_NL/fdmprinter.def.json.po | 69 +- resources/i18n/pl_PL/cura.po | 1474 +++++++++-------- resources/i18n/pl_PL/fdmextruder.def.json.po | 14 +- resources/i18n/pl_PL/fdmprinter.def.json.po | 70 +- resources/i18n/pt_BR/cura.po | 1474 +++++++++-------- resources/i18n/pt_BR/fdmextruder.def.json.po | 14 +- resources/i18n/pt_BR/fdmprinter.def.json.po | 65 +- resources/i18n/pt_PT/cura.po | 1468 +++++++++-------- resources/i18n/pt_PT/fdmextruder.def.json.po | 14 +- resources/i18n/pt_PT/fdmprinter.def.json.po | 85 +- resources/i18n/ru_RU/cura.po | 1474 +++++++++-------- resources/i18n/ru_RU/fdmextruder.def.json.po | 14 +- resources/i18n/ru_RU/fdmprinter.def.json.po | 69 +- resources/i18n/tr_TR/cura.po | 1474 +++++++++-------- resources/i18n/tr_TR/fdmextruder.def.json.po | 14 +- resources/i18n/tr_TR/fdmprinter.def.json.po | 69 +- resources/i18n/zh_CN/cura.po | 1474 +++++++++-------- resources/i18n/zh_CN/fdmextruder.def.json.po | 14 +- resources/i18n/zh_CN/fdmprinter.def.json.po | 69 +- resources/i18n/zh_TW/cura.po | 1474 +++++++++-------- resources/i18n/zh_TW/fdmextruder.def.json.po | 14 +- resources/i18n/zh_TW/fdmprinter.def.json.po | 65 +- 45 files changed, 13007 insertions(+), 10249 deletions(-) diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index 2b118f942e..a1f3658d8e 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:42+0200\n" "Last-Translator: Bothof \n" "Language-Team: German\n" @@ -48,8 +48,8 @@ msgstr "GCodeWriter unterstützt keinen Nicht-Textmodus." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Generieren Sie vor dem Speichern bitte einen G-Code." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Änderungsprotokoll anzeigen" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Das Profil wurde geglättet und aktiviert." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB-Drucken" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Über USB drucken" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Über USB drucken" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Über USB verbunden" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Ein USB-Druck wird ausgeführt. Das Schließen von Cura beendet diesen Druck. Sind Sie sicher?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeWriter unterstützt keinen Textmodus." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker Format Package" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "Auf Wechseldatenträger speichern {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Es sind keine Dateiformate zum Schreiben vorhanden!" @@ -198,7 +203,7 @@ msgstr "Konnte nicht auf dem Wechseldatenträger gespeichert werden {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Fehler" @@ -227,8 +232,8 @@ msgstr "Wechseldatenträger auswerfen {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Warnhinweis" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Wechseldatenträger" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Drucken über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Drücken über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Über Netzwerk verbunden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Über Netzwerk verbunden. Geben Sie die Zugriffsanforderung für den Drucker frei." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Über Netzwerk verbunden. Kein Zugriff auf die Druckerverwaltung." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Zugriff auf Drucker erforderlich. Bestätigen Sie den Zugriff auf den Drucker" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Authentifizierungsstatus" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Authentifizierungsstatus" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Erneut versuchen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Zugriffanforderung erneut senden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Zugriff auf den Drucker genehmigt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Kein Zugriff auf das Drucken mit diesem Drucker. Druckauftrag kann nicht gesendet werden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Zugriff anfordern" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Zugriffsanforderung für den Drucker senden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Es kann kein neuer Druckauftrag gestartet werden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Es liegt ein Problem mit der Konfiguration Ihres Ultimaker vor, das den Druckstart verhindert. Lösen Sie dieses Problem bitte, bevor Sie fortfahren." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Konfiguration nicht übereinstimmend" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Möchten Sie wirklich mit der gewählten Konfiguration drucken?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Anforderungen zwischen der Druckerkonfiguration oder -kalibrierung und Cura stimmen nicht überein. Für optimale Ergebnisse schneiden Sie stets für die PrintCores und Materialien, die in Ihren Drucker eingelegt wurden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Das Senden neuer Aufträge ist (vorübergehend) blockiert; der vorherige Druckauftrag wird noch gesendet." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Daten werden zum Drucker gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Daten werden gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Kein PrintCore geladen in Steckplatz {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Kein Material geladen in Steckplatz {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "Abweichender PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) für Extruder gewählt {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Abweichendes Material (Cura: {0}, Drucker: {1}) für Extruder {2} gewählt" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchronisieren Ihres Druckers" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Möchten Sie Ihre aktuelle Druckerkonfiguration in Cura verwenden?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Die PrintCores und/oder Materialien auf Ihrem Drucker unterscheiden sich von denen Ihres aktuellen Projekts. Für optimale Ergebnisse schneiden Sie stets für die PrintCores und Materialien, die in Ihren Drucker eingelegt wurden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Über Netzwerk verbunden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Der Druckauftrag wurde erfolgreich an den Drucker gesendet." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Daten gesendet" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "In Monitor überwachen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "Drucker '{printer_name}' hat '{job_name}' vollständig gedrückt." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "Der Druckauftrag '{job_name}' wurde ausgeführt." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Druck vollendet" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Anschluss über Netzwerk" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Überwachen" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Zugriff auf Update-Informationen nicht möglich." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Für Ihren {machine_name} sind neue Funktionen verfügbar! Es wird empfohlen, ein Firmware-Update für Ihren Drucker auszuführen." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Neue Firmware für %s verfügbar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Anleitung für die Aktualisierung" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Zugriff auf Update-Informationen nicht möglich." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Schichtenansicht" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura zeigt die Schichten nicht akkurat an, wenn Wire Printing aktiviert ist" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Simulationsansicht" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "G-Code ändern" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Erstellt ein Volumen, in dem keine Stützstrukturen gedruckt werden." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura erfasst anonymisierte Nutzungsstatistiken." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Daten werden erfasst" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Mehr Infos" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Siehe mehr Informationen dazu, was Cura sendet." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Zulassen" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Damit lassen Sie zu, dass Cura anonymisierte Nutzungsstatistiken sendet, um zukünftige Verbesserungen für Cura zu definieren. Einige Ihrer Präferenzen und Einstellungen, die Cura-Version und ein Hash der Modelle, die Sie slicen, werden gesendet." @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-Bilddatei" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Slicing mit dem aktuellen Material nicht möglich, da es mit der gewählten Maschine oder Konfiguration nicht kompatibel ist." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Slicing nicht möglich" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Die aktuellen Einstellungen lassen kein Schneiden (Slicing) zu. Die folgenden Einstellungen sind fehlerhaft:{0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Aufgrund der Pro-Modell-Einstellungen ist kein Schneiden (Slicing) möglich. Die folgenden Einstellungen sind für ein oder mehrere Modelle fehlerhaft: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Schneiden (Slicing) ist nicht möglich, da der Einzugsturm oder die Einzugsposition(en) ungültig ist (sind)." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Schneiden (Slicing) ist nicht möglich, da Objekte vorhanden sind, die mit dem deaktivierten Extruder %s verbunden sind." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Es ist kein Objekt zum Schneiden vorhanden, da keines der Modelle der Druckabmessung entspricht. Bitte die Modelle passend skalieren oder drehen." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Schichten werden verarbeitet" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informationen" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "Pro Objekteinstellungen konfigurieren" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Empfohlen" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Benutzerdefiniert" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "3MF-Datei" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Düse" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G-Datei" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-Code parsen" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-Code-Details" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Stellen Sie sicher, dass der G-Code für Ihren Drucker und Ihre Druckerkonfiguration geeignet ist, bevor Sie die Datei senden. Der Darstellung des G-Codes ist möglicherweise nicht korrekt." @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura-Profil" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Profilassistent" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Profilassistent" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Upgrades wählen" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Firmware aktualisieren" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Druckbett nivellieren" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Außenwand" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Innenwände" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Außenhaut" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Füllung" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Stützstruktur-Füllung" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Stützstruktur-Schnittstelle" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Stützstruktur" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Skirt" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Bewegungen" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Einzüge" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Sonstige" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Unbekannt" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Vorgeschnittene Datei {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Datei bereits vorhanden" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Nicht überschrieben" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Das gewählte Material ist mit der gewählten Maschine oder Konfiguration nicht kompatibel." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Material nicht kompatibel" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "Die Einstellungen wurden passend für die aktuelle Verfügbarkeit der Extruder geändert: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Einstellungen aktualisiert" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "Export erfolgreich ausgeführt" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "Import des Profils aus Datei {0} fehlgeschlagen: or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "Kein benutzerdefiniertes Profil für das Importieren in Datei {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Dieses Profil {0} enthält falsche Daten, Importieren nicht möglich." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "Die Maschine, die im Profil {0} ({1}) definiert wurde, entspricht nicht Ihrer derzeitigen Maschine ({2}). Importieren nicht möglich." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil erfolgreich importiert {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "Datei {0} enthält kein gültiges Profil." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} hat einen unbekannten Dateityp oder ist beschädigt." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Benutzerdefiniertes Profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Für das Profil fehlt eine Qualitätsangabe." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Es konnte keine Qualitätsangabe {0} für die vorliegende Konfiguration gefunden werden." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Alle Dateien (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Benutzerdefiniertes Material" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Benutzerdefiniert" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Produktabmessungen" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Konnte kein Archiv von Benutzer-Datenverzeichnis {} erstellen" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Backup" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Versucht, ein Cura-Backup-Verzeichnis ohne entsprechende Daten oder Metadaten wiederherzustellen." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Versucht, ein Cura-Backup zu erstellen, das nicht Ihrer aktuellen Version entspricht." @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Bericht senden" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Geräte werden geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Die Szene wird eingerichtet..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Die Benutzeroberfläche wird geladen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Es kann nur jeweils ein G-Code gleichzeitig geladen werden. Wichtige {0} werden übersprungen." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Wenn G-Code geladen wird, kann keine weitere Datei geöffnet werden. Wichtige {0} werden übersprungen." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Das gewählte Modell war zu klein zum Laden." @@ -1263,9 +1258,9 @@ msgstr "X (Breite)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Der Nenndurchmesser des durch den Drucker unterstützten Filaments. Der exakte Durchmesser wird durch das Material und/oder das Profil überschrieben." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "X-Versatz Düse" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Y-Versatz Düse" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "G-Code Extruder-Start" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "G-Code Extruder-Ende" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Verbindung zur Cura Paket-Datenbank konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Verbindung." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Plugins" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materialien" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Version" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Zuletzt aktualisiert" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autor" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Downloads" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Unbekannt" @@ -1505,8 +1511,8 @@ msgstr "Zurück" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Deinstallieren bestätigen " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Generische Materialien" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Installiert" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "Änderungsprotokoll" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Schließen" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Die Firmware ist der Teil der Software, der direkt auf Ihrem 3D-Drucker läuft. Diese Firmware kontrolliert die Schrittmotoren, reguliert die Temperatur und sorgt letztlich dafür, dass Ihr Drucker funktioniert." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Die mit neuen Druckern gelieferte Firmware funktioniert, allerdings enthalten neue Versionen üblicherweise mehr Funktionen und Verbesserungen." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Firmware automatisch aktualisieren" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Benutzerdefinierte Firmware hochladen" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Benutzerdefinierte Firmware wählen" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Firmware-Aktualisierung" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Die Firmware wird aktualisiert." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Firmware-Aktualisierung abgeschlossen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Die Firmware-Aktualisierung ist aufgrund eines unbekannten Fehlers fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Die Firmware-Aktualisierung ist aufgrund eines Kommunikationsfehlers fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Die Firmware-Aktualisierung ist aufgrund eines Eingabe-/Ausgabefehlers fehlgeschlagen." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Die Firmware-Aktualisierung ist aufgrund von fehlender Firmware fehlgeschlagen." @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Benutzervereinbarung" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Vorhandene Verbindung" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Diese/r Drucker/Gruppe wurde bereits zu Cura hinzugefügt. Wählen Sie bitte eine/n andere/n Drucker/Gruppe." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Anschluss an vernetzten Drucker" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "Wählen Sie Ihren Drucker aus der folgenden Liste:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Hinzufügen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Bearbeiten" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Entfernen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Aktualisieren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Wenn Ihr Drucker nicht aufgeführt ist, lesen Sie die Anleitung für Fehlerbehebung für Netzwerkdruck" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Typ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Firmware-Version" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Adresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Dieser Drucker ist nicht eingerichtet um eine Gruppe von Druckern anzusteuern." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Dieser Drucker steuert eine Gruppe von %1 Druckern an." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Der Drucker unter dieser Adresse hat nicht reagiert." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Verbinden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Druckeradresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Geben Sie die IP-Adresse oder den Hostnamen Ihres Druckers auf dem Netzwerk ein." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Drucken über Netzwerk" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Druckerauswahl" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Drucken" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Drucken über Netzwerk" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Warten auf: Drucker nicht verfügbar" +msgid "Printer selection" +msgstr "Druckerauswahl" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Warten auf: Ersten verfügbaren" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Warten auf: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Vorziehen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Druckauftrag vorziehen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Soll dieser %1 wirklich an den Anfang der Warteschlange vorgezogen werden?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Löschen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Druckauftrag löschen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Soll %1 wirklich gelöscht werden?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Warteschlange verwalten" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "In Warteschlange" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Drucken" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Drucker verwalten" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Nicht verfügbar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Nicht erreichbar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Verfügbar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Abgebrochen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Beendet" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Vorbereitung" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Wird pausiert" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Wird fortgesetzt" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Handlung erforderlich" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Warten auf: Drucker nicht verfügbar" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Warten auf: Ersten verfügbaren" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Warten auf: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Warteschlange verwalten" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "In Warteschlange" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Drucken" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Drucker verwalten" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Vorziehen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Löschen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Zurückkehren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pausieren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Abbrechen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Soll dieser %1 wirklich an den Anfang der Warteschlange vorgezogen werden?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Druckauftrag vorziehen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Soll %1 wirklich gelöscht werden?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Druckauftrag löschen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Möchten Sie %1 wirklich abbrechen?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Drucken abbrechen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Möchten Sie %1 wirklich abbrechen?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Abgebrochen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Beendet" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Vorbereitung" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Wird pausiert" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Pausiert" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Wird fortgesetzt" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Handlung erforderlich" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Mit einem Drucker verbinden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Die Druckerkonfiguration in Cura laden" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Konfiguration aktivieren" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Die Druckerkonfiguration in Cura laden" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Skripts Nachbearbeitung" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Ein Skript hinzufügen" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Einstellungen" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Aktive Skripts Nachbearbeitung ändern" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Einstellungen für Füllung von anderen Modellen bearbeiten" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Einstellungen wählen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Einstellungen für die benutzerdefinierte Anpassung dieses Modells wählen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtern..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Alle anzeigen" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "Typ" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Druckergruppe" @@ -2278,6 +2381,7 @@ msgstr "Wie soll der Konflikt im Profil gelöst werden?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2456,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Öffnen" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Zurück" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Export" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Weiter" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Tipp" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00 Stunden 00 Minuten" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Kostenangabe" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Insgesamt:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Druckexperiment" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Checkliste" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2497,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Gehe zur nächsten Position" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Firmware aktualisieren" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Die Firmware ist der Teil der Software, der direkt auf Ihrem 3D-Drucker läuft. Diese Firmware kontrolliert die Schrittmotoren, reguliert die Temperatur und sorgt letztlich dafür, dass Ihr Drucker funktioniert." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Die mit neuen Druckern gelieferte Firmware funktioniert, allerdings enthalten neue Versionen üblicherweise mehr Funktionen und Verbesserungen." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Firmware automatisch aktualisieren" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Benutzerdefinierte Firmware hochladen" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Benutzerdefinierte Firmware wählen" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2686,7 +2684,7 @@ msgid "Customized" msgstr "Angepasst" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Stets nachfragen" @@ -2834,6 +2832,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Import" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Export" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2923,283 @@ msgid "Unit" msgstr "Einheit" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Allgemein" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Schnittstelle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Sprache:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Währung:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Thema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Die Anwendung muss neu gestartet werden, um die Änderungen zu übernehmen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Bei Änderung der Einstellungen automatisch schneiden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatisch schneiden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Viewport-Verhalten" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Nicht gestützte Bereiche des Modells in rot hervorheben. Ohne Support werden diese Bereiche nicht korrekt gedruckt." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Überhang anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Bewegt die Kamera, bis sich das Modell im Mittelpunkt der Ansicht befindet, wenn ein Modell ausgewählt wurde" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Zentrieren Sie die Kamera, wenn das Element ausgewählt wurde" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Soll das standardmäßige Zoom-Verhalten von Cura umgekehrt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Kehren Sie die Richtung des Kamera-Zooms um." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Soll das Zoomen in Richtung der Maus erfolgen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "In Mausrichtung zoomen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Sollen Modelle auf der Plattform so verschoben werden, dass sie sich nicht länger überschneiden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Stellen Sie sicher, dass die Modelle getrennt gehalten werden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Sollen Modelle auf der Plattform so nach unten verschoben werden, dass sie die Druckplatte berühren?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Setzt Modelle automatisch auf der Druckplatte ab" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Warnmeldung im G-Code-Reader anzeigen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Warnmeldung in G-Code-Reader" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Soll die Schicht in den Kompatibilitätsmodus gezwungen werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Schichtenansicht Kompatibilitätsmodus erzwingen (Neustart erforderlich)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Dateien öffnen und speichern" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Sollen Modelle an das Erstellungsvolumen angepasst werden, wenn sie zu groß sind?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Große Modelle anpassen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Ein Modell kann extrem klein erscheinen, wenn seine Maßeinheit z. B. in Metern anstelle von Millimetern angegeben ist. Sollen diese Modelle hoch skaliert werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Extrem kleine Modelle skalieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Sollten Modelle gewählt werden, nachdem sie geladen wurden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Modelle wählen, nachdem sie geladen wurden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Soll ein Präfix anhand des Druckernamens automatisch zum Namen des Druckauftrags hinzugefügt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Geräte-Präfix zu Auftragsnamen hinzufügen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Soll beim Speichern einer Projektdatei eine Zusammenfassung angezeigt werden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Dialog Zusammenfassung beim Speichern eines Projekts anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Standardverhalten beim Öffnen einer Projektdatei" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Standardverhalten beim Öffnen einer Projektdatei: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Stets nachfragen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Immer als Projekt öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Modelle immer importieren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Wenn Sie Änderungen für ein Profil vorgenommen haben und zu einem anderen Profil gewechselt sind, wird ein Dialog angezeigt, der hinterfragt, ob Sie Ihre Änderungen beibehalten möchten oder nicht; optional können Sie ein Standardverhalten wählen, sodass dieser Dialog nicht erneut angezeigt wird." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profile" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Standardverhalten für geänderte Einstellungswerte beim Wechsel zu einem anderen Profil: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Geänderte Einstellungen immer verwerfen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Geänderte Einstellungen immer auf neues Profil übertragen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privatsphäre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Soll Cura bei Programmstart nach Updates suchen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Bei Start nach Updates suchen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Sollen anonyme Daten über Ihren Druck an Ultimaker gesendet werden? Beachten Sie, dass keine Modelle, IP-Adressen oder andere personenbezogene Daten gesendet oder gespeichert werden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonyme) Druckinformationen senden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Mehr Informationen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Experimentell" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Mehrfach-Druckplattenfunktion verwenden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Mehrfach-Druckplattenfunktion verwenden (Neustart erforderlich)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Drucker" @@ -3217,7 +3221,7 @@ msgid "Connection:" msgstr "Verbindung:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Der Drucker ist nicht verbunden." @@ -3243,7 +3247,7 @@ msgid "Aborting print..." msgstr "Drucken wird abgebrochen..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profile" @@ -3324,17 +3328,17 @@ msgid "Global Settings" msgstr "Globale Einstellungen" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Drucker hinzufügen" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Druckername:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Drucker hinzufügen" @@ -3349,17 +3353,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Über Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "Version: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Komplettlösung für den 3D-Druck mit geschmolzenem Filament." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3368,102 +3372,122 @@ msgstr "" "Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\n" "Cura verwendet mit Stolz die folgenden Open Source-Projekte:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Grafische Benutzerschnittstelle" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Anwendungsrahmenwerk" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "G-Code-Generator" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Bibliothek Interprozess-Kommunikation" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Programmiersprache" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI-Rahmenwerk" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUI-Rahmenwerk Einbindungen" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C/C++ Einbindungsbibliothek" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Format Datenaustausch" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Support-Bibliothek für wissenschaftliche Berechnung" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Support-Bibliothek für schnelleres Rechnen" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Support-Bibliothek für die Handhabung von STL-Dateien" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Support-Bibliothek für die Handhabung von 3MF-Dateien" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Bibliothek für serielle Kommunikation" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Bibliothek für ZeroConf-Erkennung" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Bibliothek für Polygon-Beschneidung" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Bibliothek für Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Schriftart" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG-Symbole" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Distributionsunabhängiges Format für Linux-Anwendungen" @@ -3473,7 +3497,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Profil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3484,53 +3508,53 @@ msgstr "" "\n" "Klicken Sie, um den Profilmanager zu öffnen." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Suchen..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Werte für alle Extruder kopieren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Alle geänderten Werte für alle Extruder kopieren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Diese Einstellung ausblenden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Diese Einstellung weiterhin anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Sichtbarkeit einstellen wird konfiguriert..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Alle verkleinern" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Alle vergrößern" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3551,17 +3575,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Wird beeinflusst von" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Diese Einstellung wird stets zwischen allen Extrudern geteilt. Eine Änderung ändert den Wert für alle Extruder." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Der Wert wird von Pro-Extruder-Werten gelöst " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3572,7 +3596,7 @@ msgstr "" "\n" "Klicken Sie, um den Wert des Profils wiederherzustellen." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3727,12 +3751,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Ansicht" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Kameraposition" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "&Druckplatte" @@ -3742,12 +3766,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Sichtbare Einstellungen" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Alle Einstellungen anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Sichtbarkeit einstellen verwalten..." @@ -3810,17 +3834,44 @@ msgstr "" "Druckeinrichtung deaktiviert\n" "G-Code-Dateien können nicht geändert werden" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00 Stunden 00 Minuten" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Zeitangabe" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Kostenangabe" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Insgesamt:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Empfohlene Druckeinrichtung

Drucken mit den empfohlenen Einstellungen für den gewählten Drucker, das gewählte Material und die gewählte Qualität." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Benutzerdefinierte Druckeinrichtung

Druck mit Feineinstellung über jedem einzelnen Bereich des Schneidvorgangs." @@ -3845,223 +3896,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Geschätzte verbleibende Zeit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Umschalten auf Vollbild-Modus" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Rückgängig machen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Wiederholen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Beenden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "3D-Ansicht" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Vorderansicht" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Draufsicht" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Ansicht von links" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Ansicht von rechts" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura konfigurieren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Drucker hinzufügen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Dr&ucker verwalten..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Materialien werden verwaltet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Profil mit aktuellen Einstellungen/Überschreibungen aktualisieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Aktuelle Änderungen verwerfen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "P&rofil von aktuellen Einstellungen/Überschreibungen erstellen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profile verwalten..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Online-&Dokumentation anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "&Fehler melden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Über..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Ausgewähltes Modell löschen" msgstr[1] "Ausgewählte Modelle löschen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Ausgewähltes Modell zentrieren" msgstr[1] "Ausgewählte Modelle zentrieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Ausgewähltes Modell multiplizieren" msgstr[1] "Ausgewählte Modelle multiplizieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Modell löschen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Modell auf Druckplatte ze&ntrieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Modelle &gruppieren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Gruppierung für Modelle aufheben" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Modelle &zusammenführen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "Modell &multiplizieren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Alle Modelle wählen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Druckplatte reinigen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Alle Modelle neu laden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Alle Modelle an allen Druckplatten anordnen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Alle Modelle anordnen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Anordnung auswählen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Alle Modellpositionen zurücksetzen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Alle Modelltransformationen zurücksetzen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Datei(en) öffnen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Neues Projekt..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Engine-&Protokoll anzeigen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Konfigurationsordner anzeigen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Pakete durchsuchen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Seitenleiste vergrößern/verkleinern" @@ -4122,7 +4173,7 @@ msgid "Select the active output device" msgstr "Wählen Sie das aktive Ausgabegerät" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Datei(en) öffnen" @@ -4142,145 +4193,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Datei" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Speichern..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Exportieren..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Auswahl exportieren..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Bearbeiten" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Ansicht" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&Konfiguration" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Dr&ucker" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Als aktiven Extruder festlegen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Extruder aktivieren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Extruder deaktivieren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "&Druckplatte" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Er&weiterungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Toolbox" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "E&instellungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Hilfe" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Dieses Paket wird nach einem Neustart installiert." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Datei öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Einstellungen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Neues Projekt" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Möchten Sie wirklich ein neues Projekt beginnen? Damit werden das Druckbett und alle nicht gespeicherten Einstellungen gelöscht." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Cura wird geschlossen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Möchten Sie Cura wirklich beenden?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Paket installieren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Datei(en) öffnen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Es wurden eine oder mehrere G-Code-Datei(en) innerhalb der von Ihnen gewählten Dateien gefunden. Sie können nur eine G-Code-Datei auf einmal öffnen. Wenn Sie eine G-Code-Datei öffnen möchten wählen Sie bitte nur eine Datei." @@ -4290,11 +4341,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Projekt speichern" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4365,37 +4411,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Die graduelle Füllung steigert die Menge der Füllung nach oben hin schrittweise." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Graduell aktivieren" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Stützstruktur generieren" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Damit werden Strukturen zur Unterstützung von Modellteilen mit Überhängen generiert. Ohne diese Strukturen würden solche Teile während des Druckvorgangs zusammenfallen." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Wählen Sie, welcher Extruder für die Unterstützung verwendet wird. Dient zum Konstruieren von Stützstrukturen unter dem Modell, damit dieses nicht absinkt oder frei schwebend gedruckt wird." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Druckplattenhaftung" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Drucken eines Brim- oder Raft-Elements aktivieren. Es wird ein flacher Bereich rund um oder unter Ihrem Objekt hinzugefügt, das im Anschluss leicht abgeschnitten werden kann." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Sie benötigen Hilfe für Ihre Drucke?
Lesen Sie die Ultimaker Anleitungen für Fehlerbehebung>" @@ -4557,6 +4603,16 @@ msgctxt "name" msgid "Changelog" msgstr "Änderungsprotokoll" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4907,16 +4963,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura-Profil-Writer" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Ermöglichen Sie Materialherstellern die Erstellung neuer Material- und Qualitätsprofile, indem Sie eine Drop-In-Benutzerschnittstelle verwenden." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Druckprofil-Assistent" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4947,6 +4993,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura-Profil-Reader" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Generieren Sie vor dem Speichern bitte einen G-Code." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Profilassistent" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Profilassistent" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Firmware aktualisieren" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Unbekannt" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "Kein benutzerdefiniertes Profil für das Importieren in Datei {0}" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Dieses Profil {0} enthält falsche Daten, Importieren nicht möglich." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "Die Maschine, die im Profil {0} ({1}) definiert wurde, entspricht nicht Ihrer derzeitigen Maschine ({2}). Importieren nicht möglich." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Deinstallieren bestätigen " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "Pausiert" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Zurück" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Weiter" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Tipp" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Druckexperiment" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Checkliste" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Firmware aktualisieren" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Ermöglichen Sie Materialherstellern die Erstellung neuer Material- und Qualitätsprofile, indem Sie eine Drop-In-Benutzerschnittstelle verwenden." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Druckprofil-Assistent" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Mit Doodle3D WLAN-Box drucken" diff --git a/resources/i18n/de_DE/fdmextruder.def.json.po b/resources/i18n/de_DE/fdmextruder.def.json.po index 56b6c35c93..f8dea4a739 100644 --- a/resources/i18n/de_DE/fdmextruder.def.json.po +++ b/resources/i18n/de_DE/fdmextruder.def.json.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: German\n" @@ -166,6 +166,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Die Z-Koordinate der Position, an der die Düse am Druckbeginn einzieht." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index 3b3e8b9115..ae21df1d7d 100644 --- a/resources/i18n/de_DE/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:57+0200\n" "Last-Translator: Bothof \n" "Language-Team: German\n" @@ -1077,8 +1077,8 @@ msgstr "Polygone oben/unten verbinden" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Außenhaut-Pfade oben/unten verbinden, wenn sie nebeneinander laufen. Bei konzentrischen Mustern reduziert die Aktivierung dieser Einstellung die Durchlaufzeit erheblich. Da die Verbindungen jedoch auf halbem Weg über der Füllung erfolgen können, kann diese Funktion die Oberflächenqualität reduzieren." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,8 +1497,8 @@ msgstr "Füllmuster" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Das Muster des Füllmaterials des Drucks. Die Linien- und Zickzackfüllmethode wechseln nach jeder Schicht die Richtung, um Materialkosten zu reduzieren. Die Gitter-, Dreieck- Tri-Hexagon-, Würfel-, Octahedral-, Viertelwürfel-, Quer- und konzentrischen Muster werden in jeder Schicht vollständig gedruckt. Würfel-, Viertelwürfel- und Octahedral-Füllungen wechseln mit jeder Schicht, um eine gleichmäßigere Verteilung der Stärke in allen Richtungen zu erzielen." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1560,6 +1560,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "3D-Quer" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3264,6 +3269,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Ausrichtung des Füllmusters für Unterstützung. Das Füllmuster für Unterstützung wird in der horizontalen Planfläche gedreht." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3833,6 +3868,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Die Anzahl der Linien für das Brim-Element. Eine größere Anzahl von Brim-Linien verbessert die Haftung am Druckbett, es wird dadurch aber auch der verwendbare Druckbereich verkleinert." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5657,6 +5702,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Transformationsmatrix, die beim Laden aus der Datei auf das Modell angewandt wird." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Außenhaut-Pfade oben/unten verbinden, wenn sie nebeneinander laufen. Bei konzentrischen Mustern reduziert die Aktivierung dieser Einstellung die Durchlaufzeit erheblich. Da die Verbindungen jedoch auf halbem Weg über der Füllung erfolgen können, kann diese Funktion die Oberflächenqualität reduzieren." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Das Muster des Füllmaterials des Drucks. Die Linien- und Zickzackfüllmethode wechseln nach jeder Schicht die Richtung, um Materialkosten zu reduzieren. Die Gitter-, Dreieck- Tri-Hexagon-, Würfel-, Octahedral-, Viertelwürfel-, Quer- und konzentrischen Muster werden in jeder Schicht vollständig gedruckt. Würfel-, Viertelwürfel- und Octahedral-Füllungen wechseln mit jeder Schicht, um eine gleichmäßigere Verteilung der Stärke in allen Richtungen zu erzielen." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Konzentrisch 3D" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 1c4d985f97..504dc59d16 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:55+0200\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" @@ -48,8 +48,8 @@ msgstr "GCodeWriter no es compatible con el modo sin texto." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Genere un G-code antes de guardar." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Mostrar registro de cambios" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "El perfil se ha aplanado y activado." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Impresión USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Imprimir mediante USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Imprimir mediante USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Conectado mediante USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Se está realizando una impresión con USB, si cierra Cura detendrá la impresión. ¿Desea continuar?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter no es compatible con el modo texto." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Paquete de formato Ultimaker" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "Guardar en unidad extraíble {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "¡No hay formatos de archivo disponibles con los que escribir!" @@ -198,7 +203,7 @@ msgstr "No se pudo guardar en unidad extraíble {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Error" @@ -227,8 +232,8 @@ msgstr "Expulsar dispositivo extraíble {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Advertencia" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unidad extraíble" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimir a través de la red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprime a través de la red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Conectado a través de la red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Conectado a través de la red. Apruebe la solicitud de acceso en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Conectado a través de la red. No hay acceso para controlar la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Acceso a la impresora solicitado. Apruebe la solicitud en la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Estado de la autenticación" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Estado de la autenticación" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Volver a intentar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Reenvía la solicitud de acceso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Acceso a la impresora aceptado" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "No hay acceso para imprimir con esta impresora. No se puede enviar el trabajo de impresión." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Solicitar acceso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envía la solicitud de acceso a la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "No se puede iniciar un nuevo trabajo de impresión." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Un problema con la configuración de Ultimaker impide iniciar la impresión. Soluciónelo antes de continuar." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuración desajustada" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "¿Seguro que desea imprimir con la configuración seleccionada?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "La configuración o calibración de la impresora y de Cura no coinciden. Para obtener el mejor resultado, segmente siempre los PrintCores y los materiales que se insertan en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Envío de nuevos trabajos (temporalmente) bloqueado; se sigue enviando el trabajo de impresión previo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Enviando datos a la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Enviando datos" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "No se ha cargado ningún PrintCore en la ranura {slot_number}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "No se ha cargado ningún material en la ranura {slot_number}." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore distinto (Cura: {cura_printcore_name}, impresora: {remote_printcore_name}) seleccionado para extrusor {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Material distinto (Cura: {0}, impresora: {1}) seleccionado para extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar con la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "¿Desea utilizar la configuración actual de su impresora en Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Los PrintCores o los materiales de la impresora difieren de los del proyecto actual. Para obtener el mejor resultado, segmente siempre los PrintCores y materiales que se hayan insertado en la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Conectado a través de la red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "El trabajo de impresión se ha enviado correctamente a la impresora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Fecha de envío" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Ver en pantalla" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} ha terminado de imprimir «{job_name}»." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "El trabajo de impresión '{job_name}' ha terminado." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Impresión terminada" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Conectar a través de la red" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Supervisar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "No se pudo acceder a la información actualizada." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Hay nuevas funciones disponibles para {machine_name}. Se recomienda actualizar el firmware de la impresora." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nuevo firmware de %s disponible" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Cómo actualizar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "No se pudo acceder a la información actualizada." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Vista de capas" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura no muestra correctamente las capas si la impresión de alambre está habilitada" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Vista de simulación" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modificar GCode" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Cree un volumen que no imprima los soportes." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura recopila estadísticas de uso de forma anónima." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Recopilando datos" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Más información" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Obtenga más información sobre qué datos envía Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Permitir" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Permitir a Cura enviar estadísticas de uso de forma anónima para ayudar a priorizar mejoras futuras para Cura. Se envían algunas de sus preferencias y ajustes, la versión de Cura y un resumen de los modelos que está fragmentando." @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagen GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "No se puede segmentar con el material actual, ya que es incompatible con el dispositivo o la configuración seleccionados." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "No se puede segmentar" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Los ajustes actuales no permiten la segmentación. Los siguientes ajustes contienen errores: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Los ajustes de algunos modelos no permiten la segmentación. Los siguientes ajustes contienen errores en uno o más modelos: {error_labels}." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "No se puede segmentar porque la torre auxiliar o la posición o posiciones de preparación no son válidas." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "No se puede segmentar porque hay objetos asociados al extrusor %s que está deshabilitado." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "No hay nada que segmentar porque ninguno de los modelos se adapta al volumen de impresión. Escale o rote los modelos para que se adapten." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Procesando capas" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Información" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "Configurar ajustes por modelo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "Archivo 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Tobera" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Archivo G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analizar GCode" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Datos de GCode" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Asegúrese de que el GCode es adecuado para la impresora y para su configuración antes de enviar el archivo a la misma. Es posible que la representación del GCode no sea precisa." @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Perfil de cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Asistente del perfil" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Asistente del perfil" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Seleccionar actualizaciones" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Actualizar firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivelar placa de impresión" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Pared exterior" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Paredes interiores" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Forro" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Relleno" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Relleno de soporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interfaz de soporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Soporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Falda" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Desplazamiento" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Retracciones" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Otro" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Desconocido" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Archivo {0} presegmentado" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "El archivo ya existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "No reemplazado" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "El material seleccionado no es compatible con la máquina o la configuración seleccionada." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Material incompatible" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "La configuración se ha cambiado para que coincida con los extrusores disponibles en este momento: [%s]." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Ajustes actualizados" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "Exportación correcta" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "Error al importar el perfil de {0}: {1} or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "No hay ningún perfil personalizado que importar en el archivo {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Este perfil {0} contiene datos incorrectos, no se han podido importar." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "El equipo definido en el perfil {0} ({1}) no coincide con el equipo actual ({2}), no se ha podido importar." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Perfil {0} importado correctamente" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "El archivo {0} no contiene ningún perfil válido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "El perfil {0} tiene un tipo de archivo desconocido o está corrupto." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Perfil personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Al perfil le falta un tipo de calidad." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "No se ha podido encontrar un tipo de calidad {0} para la configuración actual." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Todos los archivos (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Material personalizado" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Personalizado" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Volumen de impresión" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "No se ha podido crear el archivo desde el directorio de datos de usuario: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Copia de seguridad" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Se ha intentado restaurar una copia de seguridad de Cura sin tener los datos o metadatos adecuados." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Se ha intentado restaurar una copia de seguridad de Cura que no coincide con la versión actual." @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Enviar informe" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Cargando máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Configurando escena..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Cargando interfaz..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Solo se puede cargar un archivo GCode a la vez. Se omitió la importación de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "No se puede abrir ningún archivo si se está cargando un archivo GCode. Se omitió la importación de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "No se puede cargar el modelo seleccionado, es demasiado pequeño." @@ -1263,9 +1258,9 @@ msgstr "X (anchura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "El diámetro nominal del filamento compatible con la impresora. El diámetro exacto se sobrescribirá según el material o el perfil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Desplazamiento de la tobera sobre el eje X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Desplazamiento de la tobera sobre el eje Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "GCode inicial del extrusor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "GCode final del extrusor" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "No se ha podido conectar con la base de datos del Paquete Cura. Compruebe la conexión." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Complementos" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiales" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Versión" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Última actualización" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autor" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Descargas" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Desconocido" @@ -1505,8 +1511,8 @@ msgstr "Atrás" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Confirmar desinstalación " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Materiales genéricos" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Instalado" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "Registro de cambios" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Cerrar" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "El firmware es la parte del software que se ejecuta directamente en la impresora 3D. Este firmware controla los motores de pasos, regula la temperatura y, finalmente, hace que funcione la impresora." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "El firmware que se envía con las nuevas impresoras funciona, pero las nuevas versiones suelen tener más funciones y mejoras." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Actualización de firmware automática" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Cargar firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Seleccionar firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Actualización del firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Actualización del firmware." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Actualización del firmware completada." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Se ha producido un error al actualizar el firmware debido a un error desconocido." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Se ha producido un error al actualizar el firmware debido a un error de comunicación." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Se ha producido un error al actualizar el firmware debido a un error de entrada/salida." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Se ha producido un error al actualizar el firmware porque falta el firmware." @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Acuerdo de usuario" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Conexión existente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Esta impresora o grupo de impresoras ya se ha añadido a Cura. Seleccione otra impresora o grupo de impresoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Conectar con la impresora en red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "Seleccione la impresora de la siguiente lista:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Agregar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Editar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Eliminar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Actualizar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Si la impresora no aparece en la lista, lea la guía de solución de problemas de impresión y red" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Versión de firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Dirección" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Esta impresora no está configurada para alojar un grupo de impresoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Esta impresora aloja un grupo de %1 impresoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "La impresora todavía no ha respondido en esta dirección." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Conectar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Dirección de la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Introduzca la dirección IP o el nombre de host de la impresora en red." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "Aceptar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Imprimir a través de la red" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Selección de la impresora" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Imprimir" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimir a través de la red" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Esperando: impresora no disponible" +msgid "Printer selection" +msgstr "Selección de la impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Esperando: primera disponible" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Esperando: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Mover al principio" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Mover trabajo de impresión al principio" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "¿Seguro que desea mover %1 al principio de la cola?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Borrar" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Borrar trabajo de impresión" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "¿Seguro que desea borrar %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Administrar cola" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "En cola" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Imprimiendo" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Administrar impresoras" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "No disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "No se puede conectar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Cancelado" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminado" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Pausando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Reanudando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Acción requerida" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Esperando: impresora no disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Esperando: primera disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Esperando: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Administrar cola" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "En cola" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Imprimiendo" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Administrar impresoras" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Mover al principio" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Borrar" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Reanudar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pausar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "¿Seguro que desea mover %1 al principio de la cola?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Mover trabajo de impresión al principio" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "¿Seguro que desea borrar %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Borrar trabajo de impresión" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "¿Seguro que desea cancelar %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Cancela la impresión" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "¿Seguro que desea cancelar %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Cancelado" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Terminado" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Preparando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Pausando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "En pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Reanudando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Acción requerida" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Conecta a una impresora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Carga la configuración de la impresora en Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Activar configuración" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Carga la configuración de la impresora en Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Secuencias de comandos de posprocesamiento" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Añadir secuencia de comando" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Cambia las secuencias de comandos de posprocesamiento" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modificar ajustes del relleno de otros modelos" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Seleccionar ajustes" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Seleccionar ajustes o personalizar este modelo" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostrar todo" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Grupo de impresoras" @@ -2278,6 +2381,7 @@ msgstr "¿Cómo debería solucionarse el conflicto en el perfil?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2456,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Abrir" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Anterior" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Exportar" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Siguiente" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Consejo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00 h 00 min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Especificación de costes" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Total:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1 m/~ %2 g/~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1 m/~ %2 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Ensayo de impresión" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Lista de verificación" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2497,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Mover a la siguiente posición" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Actualización de firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "El firmware es la parte del software que se ejecuta directamente en la impresora 3D. Este firmware controla los motores de pasos, regula la temperatura y, finalmente, hace que funcione la impresora." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "El firmware que se envía con las nuevas impresoras funciona, pero las nuevas versiones suelen tener más funciones y mejoras." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Actualización de firmware automática" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Cargar firmware personalizado" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Seleccionar firmware personalizado" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2686,7 +2684,7 @@ msgid "Customized" msgstr "Valor personalizado" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Preguntar siempre" @@ -2834,6 +2832,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importar" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Exportar" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2923,283 @@ msgid "Unit" msgstr "Unidad" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "General" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interfaz" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Moneda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Tendrá que reiniciar la aplicación para que estos cambios tengan efecto." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Segmentar automáticamente al cambiar los ajustes." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Segmentar automáticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamiento de la ventanilla" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Resaltar en rojo las áreas del modelo sin soporte. Sin soporte, estas áreas no se imprimirán correctamente." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Mostrar voladizos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Mueve la cámara de manera que el modelo se encuentre en el centro de la vista cuando se selecciona un modelo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centrar cámara cuando se selecciona elemento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "¿Se debería invertir el comportamiento predeterminado del zoom de cura?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Invertir la dirección del zoom de la cámara." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "¿Debería moverse el zoom en la dirección del ratón?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Hacer zoom en la dirección del ratón" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "¿Deben moverse los modelos en la plataforma de modo que no se crucen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Asegúrese de que lo modelos están separados" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "¿Deben moverse los modelos del área de impresión de modo que no toquen la placa de impresión?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Arrastrar modelos a la placa de impresión de forma automática" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Se muestra el mensaje de advertencia en el lector de GCode." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Mensaje de advertencia en el lector de GCode" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "¿Debe forzarse el modo de compatibilidad de la capa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forzar modo de compatibilidad de la vista de capas (necesario reiniciar)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrir y guardar archivos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "¿Deben ajustarse los modelos al volumen de impresión si son demasiado grandes?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Escalar modelos de gran tamaño" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modelo puede mostrarse demasiado pequeño si su unidad son metros en lugar de milímetros, por ejemplo. ¿Deben escalarse estos modelos?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Escalar modelos demasiado pequeños" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "¿Se deberían seleccionar los modelos después de haberse cargado?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Seleccionar modelos al abrirlos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "¿Debe añadirse automáticamente un prefijo basado en el nombre de la impresora al nombre del trabajo de impresión?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Agregar prefijo de la máquina al nombre del trabajo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "¿Mostrar un resumen al guardar un archivo de proyecto?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Mostrar un cuadro de diálogo de resumen al guardar el proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamiento predeterminado al abrir un archivo del proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamiento predeterminado al abrir un archivo del proyecto: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Preguntar siempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Abrir siempre como un proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Importar modelos siempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Si ha realizado cambios en un perfil y, a continuación, ha cambiado a otro, aparecerá un cuadro de diálogo que le preguntará si desea guardar o descartar los cambios. También puede elegir el comportamiento predeterminado, así ese cuadro de diálogo no volverá a aparecer." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Perfiles" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportamiento predeterminado para los valores modificados al cambiar a otro perfil: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Descartar siempre los ajustes modificados" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Transferir siempre los ajustes modificados al nuevo perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privacidad" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "¿Debe Cura buscar actualizaciones cuando se abre el programa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Buscar actualizaciones al iniciar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "¿Deben enviarse datos anónimos sobre la impresión a Ultimaker? Tenga en cuenta que no se envían ni almacenan modelos, direcciones IP ni otra información de identificación personal." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar información (anónima) de impresión" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Más información" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Experimental" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Utilizar funcionalidad de placa de impresión múltiple" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Utilizar funcionalidad de placa de impresión múltiple (reinicio requerido)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Impresoras" @@ -3217,7 +3221,7 @@ msgid "Connection:" msgstr "Conexión:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "La impresora no está conectada." @@ -3243,7 +3247,7 @@ msgid "Aborting print..." msgstr "Cancelando impresión..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfiles" @@ -3324,17 +3328,17 @@ msgid "Global Settings" msgstr "Ajustes globales" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Agregar impresora" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nombre de la impresora:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Agregar impresora" @@ -3349,17 +3353,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Acerca de Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "versión: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Solución completa para la impresión 3D de filamento fundido." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3368,102 +3372,122 @@ msgstr "" "Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\n" "Cura se enorgullece de utilizar los siguientes proyectos de código abierto:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interfaz gráfica de usuario (GUI)" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Entorno de la aplicación" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Generador de GCode" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Biblioteca de comunicación entre procesos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Lenguaje de programación" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Entorno de la GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Enlaces del entorno de la GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Biblioteca de enlaces C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Formato de intercambio de datos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Biblioteca de apoyo para cálculos científicos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Biblioteca de apoyo para cálculos más rápidos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Biblioteca de apoyo para gestionar archivos STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Biblioteca de compatibilidad para trabajar con archivos 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Biblioteca de comunicación en serie" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Biblioteca de detección para Zeroconf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Biblioteca de recorte de polígonos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Biblioteca HTTP de Python" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Fuente" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Iconos SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Implementación de la aplicación de distribución múltiple de Linux" @@ -3473,7 +3497,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Perfil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3484,53 +3508,53 @@ msgstr "" "\n" "Haga clic para abrir el administrador de perfiles." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Buscar..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copiar valor en todos los extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copiar todos los valores cambiados en todos los extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ocultar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "No mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mostrar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar visibilidad de los ajustes..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Contraer todo" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Ampliar todo" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3551,17 +3575,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Afectado por" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Este ajuste siempre se comparte entre extrusores. Si lo modifica, modificará el valor de todos los extrusores." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "El valor se resuelve según los valores de los extrusores. " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3572,7 +3596,7 @@ msgstr "" "\n" "Haga clic para restaurar el valor del perfil." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3727,12 +3751,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Ver" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Posición de la cámara" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "P&laca de impresión" @@ -3742,12 +3766,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Ajustes visibles" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Mostrar todos los ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gestionar visibilidad de los ajustes..." @@ -3810,17 +3834,44 @@ msgstr "" "Ajustes de impresión deshabilitados\n" "No se pueden modificar los archivos GCode" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00 h 00 min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Especificación de tiempos" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Especificación de costes" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Total:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuración de impresión recomendada

Imprimir con los ajustes recomendados para la impresora, el material y la calidad seleccionados." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuración de impresión personalizada

Imprimir con un control muy detallado del proceso de segmentación." @@ -3845,223 +3896,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Tiempo restante estimado" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Alternar pantalla completa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Des&hacer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Rehacer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Salir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "Vista en 3D" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Vista frontal" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Vista superior" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Vista del lado izquierdo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Vista del lado derecho" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configurar Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Agregar impresora..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Adm&inistrar impresoras ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Administrar materiales..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Actualizar perfil con ajustes o sobrescrituras actuales" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Descartar cambios actuales" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Crear perfil a partir de ajustes o sobrescrituras actuales..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Administrar perfiles..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Mostrar &documentación en línea" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Informar de un &error" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Acerca de..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Eliminar modelo seleccionado" msgstr[1] "Eliminar modelos seleccionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Centrar modelo seleccionado" msgstr[1] "Centrar modelos seleccionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Multiplicar modelo seleccionado" msgstr[1] "Multiplicar modelos seleccionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Eliminar modelo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&ntrar modelo en plataforma" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "A&grupar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Co&mbinar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiplicar modelo..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Seleccionar todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Borrar placa de impresión" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Recargar todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Organizar todos los modelos en todas las placas de impresión" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Organizar todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Organizar selección" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Restablecer las posiciones de todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Restablecer las transformaciones de todos los modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Abrir archivo(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Nuevo proyecto..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "&Mostrar registro del motor..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Mostrar carpeta de configuración" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Examinar paquetes..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Expandir/contraer barra lateral" @@ -4122,7 +4173,7 @@ msgid "Select the active output device" msgstr "Seleccione el dispositivo de salida activo" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Abrir archivo(s)" @@ -4142,145 +4193,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Archivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Guardar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Exportar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Exportar selección..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Edición" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Ver" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "A&justes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Impresora" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Definir como extrusor activo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Habilitar extrusor" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Deshabilitar extrusor" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "&Placa de impresión" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensiones" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Cuadro de herramientas" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Pre&ferencias" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "A&yuda" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Este paquete se instalará después de reiniciar." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Abrir archivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Nuevo proyecto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "¿Está seguro de que desea iniciar un nuevo proyecto? Esto borrará la placa de impresión y cualquier ajuste no guardado." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Cerrando Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "¿Seguro que desea salir de Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Instalar paquete" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Abrir archivo(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Hemos encontrado uno o más archivos de GCode entre los archivos que ha seleccionado. Solo puede abrir los archivos GCode de uno en uno. Si desea abrir un archivo GCode, seleccione solo uno." @@ -4290,11 +4341,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Guardar proyecto" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4365,37 +4411,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Un relleno gradual aumentará gradualmente la cantidad de relleno hacia arriba." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Habilitar gradual" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Generar soporte" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Generar estructuras para soportar piezas del modelo que tengan voladizos. Sin estas estructuras, estas piezas se romperían durante la impresión." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Seleccione qué extrusor se utilizará como soporte. Esta opción formará estructuras de soporte por debajo del modelo para evitar que éste se combe o la impresión se haga en el aire." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adherencia de la placa de impresión" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Habilita la impresión de un borde o una balsa. Esta opción agregará un área plana alrededor del objeto, que es fácil de cortar después." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "¿Necesita ayuda para mejorar sus impresiones?
Lea las Guías de solución de problemas de Ultimaker" @@ -4557,6 +4603,16 @@ msgctxt "name" msgid "Changelog" msgstr "Registro de cambios" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4907,16 +4963,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Escritor de perfiles de Cura" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Permite a los fabricantes de material crear nuevos perfiles de material y calidad mediante una IU integrada." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Imprimir asistente del perfil" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4947,6 +4993,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Lector de perfiles de Cura" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Genere un G-code antes de guardar." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Asistente del perfil" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Asistente del perfil" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Actualizar firmware" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Desconocido" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "No hay ningún perfil personalizado que importar en el archivo {0}" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Este perfil {0} contiene datos incorrectos, no se han podido importar." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "El equipo definido en el perfil {0} ({1}) no coincide con el equipo actual ({2}), no se ha podido importar." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Confirmar desinstalación " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "En pausa" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Anterior" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Siguiente" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Consejo" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1 m/~ %2 g/~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1 m/~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Ensayo de impresión" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Lista de verificación" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Actualización de firmware" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Permite a los fabricantes de material crear nuevos perfiles de material y calidad mediante una IU integrada." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Imprimir asistente del perfil" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Imprimir con un enrutador Doodle3D" diff --git a/resources/i18n/es_ES/fdmextruder.def.json.po b/resources/i18n/es_ES/fdmextruder.def.json.po index ec191c5271..ca75e07ae5 100644 --- a/resources/i18n/es_ES/fdmextruder.def.json.po +++ b/resources/i18n/es_ES/fdmextruder.def.json.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" @@ -166,6 +166,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Coordenada Z de la posición en la que la tobera queda preparada al inicio de la impresión." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 99135813b2..536f79fa96 100644 --- a/resources/i18n/es_ES/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:56+0200\n" "Last-Translator: Bothof \n" "Language-Team: Spanish\n" @@ -1077,8 +1077,8 @@ msgstr "Conectar polígonos superiores/inferiores" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Conectar las trayectorias de forro superior/inferior cuando están próximas entre sí. Al habilitar este ajuste, en el patrón concéntrico se reduce considerablemente el tiempo de desplazamiento, pero las conexiones pueden producirse en mitad del relleno, con lo que la bajaría la calidad de la superficie superior." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,8 +1497,8 @@ msgstr "Patrón de relleno" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Patrón del material de relleno de la impresión. El relleno de línea y zigzag cambia de dirección en capas alternas, con lo que se reduce el coste del material. Los patrones de rejilla, triángulo, trihexagonal, cúbico, de octeto, cúbico bitruncado y transversal y concéntrico se imprimen en todas las capas por completo. El relleno cúbico, cúbico bitruncado y de octeto cambian en cada capa para proporcionar una distribución de fuerza equitativa en cada dirección." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1560,6 +1560,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Cruz 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3264,6 +3269,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Orientación del patrón de relleno para soportes. El patrón de relleno de soporte se gira en el plano horizontal." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3833,6 +3868,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Número de líneas utilizadas para un borde. Más líneas de borde mejoran la adhesión a la plataforma de impresión, pero también reducen el área de impresión efectiva." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5657,6 +5702,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matriz de transformación que se aplicará al modelo cuando se cargue desde el archivo." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Conectar las trayectorias de forro superior/inferior cuando están próximas entre sí. Al habilitar este ajuste, en el patrón concéntrico se reduce considerablemente el tiempo de desplazamiento, pero las conexiones pueden producirse en mitad del relleno, con lo que la bajaría la calidad de la superficie superior." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Patrón del material de relleno de la impresión. El relleno de línea y zigzag cambia de dirección en capas alternas, con lo que se reduce el coste del material. Los patrones de rejilla, triángulo, trihexagonal, cúbico, de octeto, cúbico bitruncado y transversal y concéntrico se imprimen en todas las capas por completo. El relleno cúbico, cúbico bitruncado y de octeto cambian en cada capa para proporcionar una distribución de fuerza equitativa en cada dirección." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Concéntrico 3D" diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index ede84960be..c2db6edb6d 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Finnish\n" @@ -46,7 +46,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." +msgid "Please prepare G-code before exporting." msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 @@ -69,6 +69,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Näytä muutosloki" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -79,27 +84,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Profiili on tasoitettu ja aktivoitu." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB-tulostus" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Tulosta USB:n kautta" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Tulosta USB:n kautta" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Yhdistetty USB:n kautta" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "" @@ -131,7 +136,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "" @@ -153,7 +158,7 @@ msgid "Save to Removable Drive {0}" msgstr "Tallenna siirrettävälle asemalle {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "" @@ -192,7 +197,7 @@ msgstr "Ei voitu tallentaa siirrettävälle asemalle {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Virhe" @@ -221,8 +226,8 @@ msgstr "Poista siirrettävä asema {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Varoitus" @@ -249,141 +254,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Siirrettävä asema" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Tulosta verkon kautta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Tulosta verkon kautta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Yhdistetty verkon kautta tulostimeen." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Yhdistetty verkon kautta. Hyväksy tulostimen käyttöoikeuspyyntö." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Yhdistetty verkon kautta tulostimeen. Ei käyttöoikeutta tulostimen hallintaan." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Tulostimen käyttöoikeutta pyydetty. Hyväksy tulostimen pyyntö" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Yritä uudelleen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Lähetä käyttöoikeuspyyntö uudelleen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Tulostimen käyttöoikeus hyväksytty" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Tällä tulostimella tulostukseen ei ole käyttöoikeutta. Tulostustyön lähetys ei onnistu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Pyydä käyttöoikeutta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Lähetä tulostimen käyttöoikeuspyyntö" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Ristiriitainen määritys" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Haluatko varmasti tulostaa valitulla määrityksellä?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Tulostimen ja Curan määrityksen tai kalibroinnin välillä on ristiriita. Parhaat tulokset saavutetaan viipaloimalla aina tulostimeen asetetuille PrintCoreille ja materiaaleille." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Uusien töiden lähettäminen (tilapäisesti) estetty, edellistä tulostustyötä lähetetään vielä." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Lähetetään tietoja tulostimeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Lähetetään tietoja" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -393,78 +393,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Peruuta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Eri materiaali (Cura: {0}, tulostin: {1}) valittu suulakkeelle {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synkronoi tulostimen kanssa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Haluatko käyttää nykyistä tulostimen määritystä Curassa?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Tulostimen PrintCoret tai materiaalit eivät vastaa tulostettavan projektin asetuksia. Parhaat tulokset saavutetaan viipaloimalla aina tulostimeen asetetuille PrintCoreille ja materiaaleille." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} on tulostanut työn '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Tulosta valmis" @@ -474,49 +474,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Yhdistä verkon kautta" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Päivitystietoja ei löytynyt." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Uusi tulostimen %s laiteohjelmisto saatavilla" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Päivitystietoja ei löytynyt." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Kerrosnäkymä" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura ei näytä kerroksia täsmällisesti, kun rautalankatulostus on käytössä" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Muokkaa GCode-arvoa" @@ -530,32 +530,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Kerätään tietoja" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "" @@ -590,56 +590,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-kuva" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Viipalointi ei onnistu nykyisellä materiaalilla, sillä se ei sovellu käytettäväksi valitun laitteen tai kokoonpanon kanssa." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Viipalointi ei onnistu" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Viipalointi ei onnistu nykyisten asetuksien ollessa voimassa. Seuraavissa asetuksissa on virheitä: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Viipalointi ei onnistu, koska esitäyttötorni tai esitäytön sijainti tai sijainnit eivät kelpaa." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Ei viipaloitavaa, koska mikään malleista ei sovellu tulostustilavuuteen. Skaalaa tai pyöritä mallia, kunnes se on sopiva." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Käsitellään kerroksia" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Tiedot" @@ -655,13 +655,13 @@ msgid "Configure Per Model Settings" msgstr "Määritä mallikohtaiset asetukset" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Suositeltu" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Mukautettu" @@ -673,7 +673,7 @@ msgid "3MF File" msgstr "3MF-tiedosto" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Suutin" @@ -699,18 +699,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G File -tiedosto" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-coden jäsennys" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-coden tiedot" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Varmista, että G-code on tulostimelle ja sen tulostusasetuksille soveltuva, ennen kuin lähetät tiedoston siihen. G-coden esitys ei välttämättä ole tarkka." @@ -721,16 +721,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura-profiili" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -752,11 +742,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Valitse päivitykset" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Päivitä laiteohjelmisto" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -767,79 +752,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Tasaa alusta" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Ulkoseinämä" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Sisäseinämät" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Pintakalvo" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Täyttö" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Tuen täyttö" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Tukiliittymä" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Tuki" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Helma" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Siirtoliike" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Takaisinvedot" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Muu" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Esiviipaloitu tiedosto {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Tiedosto on jo olemassa" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -851,23 +836,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Valittu materiaali ei sovellu käytettäväksi valitun laitteen tai kokoonpanon kanssa." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Yhteensopimaton materiaali" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "" @@ -896,8 +881,6 @@ msgid "Export succeeded" msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -905,58 +888,70 @@ msgstr "Profiilin tuonti epäonnistui tiedostosta {0}: or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" msgstr "" +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" + #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Onnistuneesti tuotu profiili {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profiililla {0} on tuntematon tiedostotyyppi tai se on vioittunut." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Mukautettu profiili" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Profiilista puuttuu laatutyyppi." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Laatutyyppiä {0} ei löydy nykyiselle kokoonpanolle." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -983,12 +978,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Mukautettu materiaali" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Mukautettu" @@ -1003,22 +998,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Tulostustilavuus" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "" @@ -1185,40 +1180,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Ladataan laitteita..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Asetetaan näkymää..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Ladataan käyttöliittymää..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Vain yksi G-code-tiedosto voidaan ladata kerralla. Tiedoston {0} tuonti ohitettiin." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Muita tiedostoja ei voida ladata, kun G-code latautuu. Tiedoston {0} tuonti ohitettiin." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "" @@ -1249,9 +1244,9 @@ msgstr "X (leveys)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1386,22 +1381,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Tulostimen tukema tulostuslangan nimellinen halkaisija. Materiaali ja/tai profiili korvaa tarkan halkaisijan." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Suuttimen X-siirtymä" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Suuttimen Y-siirtymä" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "" @@ -1422,41 +1427,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiaalit" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Tuntematon" @@ -1491,7 +1497,7 @@ msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " +msgid "Confirm uninstall" msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 @@ -1539,7 +1545,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "" @@ -1618,48 +1624,88 @@ msgid "Changelog" msgstr "Muutosloki" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Sulje" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Laiteohjelmisto on suoraan 3D-tulostimessa toimiva ohjelma. Laiteohjelmisto ohjaa askelmoottoreita, säätää lämpötilaa ja saa tulostimen toimimaan." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Uusien tulostimien mukana toimitettava laiteohjelmisto toimii, mutta uusissa versioissa on yleensä enemmän toimintoja ja parannuksia." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Päivitä laiteohjelmisto automaattisesti" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Lataa mukautettu laiteohjelmisto" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Valitse mukautettu laiteohjelmisto" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Laiteohjelmiston päivitys" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Päivitetään laiteohjelmistoa." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Laiteohjelmiston päivitys suoritettu." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Laiteohjelmiston päivitys epäonnistui tuntemattoman virheen takia." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Laiteohjelmiston päivitys epäonnistui tietoliikennevirheen takia." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Laiteohjelmiston päivitys epäonnistui tiedoston lukemiseen tai kirjoittamiseen liittyvän virheen takia." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Laiteohjelmiston päivitys epäonnistui puuttuvan laiteohjelmiston takia." @@ -1669,22 +1715,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Yhdistä verkkotulostimeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1695,18 +1741,18 @@ msgstr "" "\n" "Valitse tulostin alla olevasta luettelosta:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Lisää" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Muokkaa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1714,244 +1760,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Poista" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Päivitä" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Jos tulostinta ei ole luettelossa, lue verkkotulostuksen vianetsintäopas" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tyyppi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Laiteohjelmistoversio" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Osoite" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Tämän osoitteen tulostin ei ole vielä vastannut." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Yhdistä" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Tulostimen osoite" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Anna verkon tulostimen IP-osoite tai isäntänimi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Tulosta verkon kautta" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Tulosta" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Tulosta verkon kautta" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" +msgid "Printer selection" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Jonossa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Tulostetaan" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Valmis" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Valmistellaan" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Vaatii toimenpiteitä" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Jonossa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Tulostetaan" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Keskeytä tulostus" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Valmis" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Valmistellaan" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Vaatii toimenpiteitä" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Yhdistä tulostimeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Lataa tulostimen määritys Curaan" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Aktivoi määritys" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Lataa tulostimen määritys Curaan" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2042,17 +2144,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Jälkikäsittelykomentosarjat" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Lisää komentosarja" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Asetukset" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Muuta aktiivisia jälkikäsittelykomentosarjoja" @@ -2177,23 +2279,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Valitse asetukset" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Valitse tätä mallia varten mukautettavat asetukset" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Suodatin..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Näytä kaikki" @@ -2244,6 +2346,7 @@ msgid "Type" msgstr "Tyyppi" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "" @@ -2261,6 +2364,7 @@ msgstr "Miten profiilin ristiriita pitäisi ratkaista?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2335,82 +2439,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Avaa" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Vie" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2452,36 +2480,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Siirry seuraavaan positioon" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Laiteohjelmiston päivitys" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Laiteohjelmisto on suoraan 3D-tulostimessa toimiva ohjelma. Laiteohjelmisto ohjaa askelmoottoreita, säätää lämpötilaa ja saa tulostimen toimimaan." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Uusien tulostimien mukana toimitettava laiteohjelmisto toimii, mutta uusissa versioissa on yleensä enemmän toimintoja ja parannuksia." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Päivitä laiteohjelmisto automaattisesti" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Lataa mukautettu laiteohjelmisto" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Valitse mukautettu laiteohjelmisto" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2669,7 +2667,7 @@ msgid "Customized" msgstr "Mukautettu" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Kysy aina" @@ -2817,6 +2815,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Tuo" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Vie" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2902,283 +2906,283 @@ msgid "Unit" msgstr "Yksikkö" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Yleiset" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Käyttöliittymä" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Kieli:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Valuutta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Teema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Sovellus on käynnistettävä uudelleen, jotta nämä muutokset tulevat voimaan." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Viipaloi automaattisesti, kun asetuksia muutetaan." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Viipaloi automaattisesti" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Näyttöikkunan käyttäytyminen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Korosta mallin vailla tukea olevat alueet punaisella. Ilman tukea nämä alueet eivät tulostu kunnolla." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Näytä uloke" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Siirtää kameraa siten, että valittuna oleva malli on näkymän keskellä." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Keskitä kamera kun kohde on valittu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Pitääkö Curan oletusarvoinen zoom-toimintatapa muuttaa päinvastaiseksi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Käännä kameran zoomin suunta päinvastaiseksi." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Tuleeko zoomauksen siirtyä hiiren suuntaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoomaa hiiren suuntaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Pitäisikö alustalla olevia malleja siirtää niin, etteivät ne enää leikkaa toisiaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Varmista, että mallit ovat erillään" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Pitäisikö tulostusalueella olevia malleja siirtää alas niin, että ne koskettavat tulostusalustaa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Pudota mallit automaattisesti alustalle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Pakotetaanko kerros yhteensopivuustilaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Pakota kerrosnäkymän yhteensopivuustila (vaatii uudelleenkäynnistyksen)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Tiedostojen avaaminen ja tallentaminen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Pitäisikö mallit skaalata tulostustilavuuteen, jos ne ovat liian isoja?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Skaalaa suuret mallit" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Malli voi vaikuttaa erittäin pieneltä, jos sen koko on ilmoitettu esimerkiksi metreissä eikä millimetreissä. Pitäisikö nämä mallit suurentaa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Skaalaa erittäin pienet mallit" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Pitäisikö tulostustyön nimeen lisätä automaattisesti tulostimen nimeen perustuva etuliite?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Lisää laitteen etuliite työn nimeen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Näytetäänkö yhteenveto, kun projektitiedosto tallennetaan?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Näytä yhteenvetoikkuna, kun projekti tallennetaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Projektitiedoston avaamisen oletustoimintatapa" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Projektitiedoston avaamisen oletustoimintatapa: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Avaa aina projektina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Tuo mallit aina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Kun olet tehnyt muutokset profiiliin ja vaihtanut toiseen, näytetään valintaikkuna, jossa kysytään, haluatko säilyttää vai hylätä muutokset. Tässä voit myös valita oletuskäytöksen, jolloin valintaikkunaa ei näytetä uudelleen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Tietosuoja" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Pitäisikö Curan tarkistaa saatavilla olevat päivitykset, kun ohjelma käynnistetään?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Tarkista päivitykset käynnistettäessä" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Pitäisikö anonyymejä tietoja tulosteesta lähettää Ultimakerille? Huomaa, että malleja, IP-osoitteita tai muita henkilökohtaisia tietoja ei lähetetä eikä tallenneta." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Lähetä (anonyymit) tulostustiedot" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Tulostimet" @@ -3200,7 +3204,7 @@ msgid "Connection:" msgstr "Yhteys:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Tulostinta ei ole yhdistetty." @@ -3226,7 +3230,7 @@ msgid "Aborting print..." msgstr "Keskeytetään tulostus..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiilit" @@ -3307,17 +3311,17 @@ msgid "Global Settings" msgstr "Yleiset asetukset" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Lisää tulostin" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Tulostimen nimi:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Lisää tulostin" @@ -3332,17 +3336,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Tietoja Curasta" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Kokonaisvaltainen sulatettavan tulostuslangan 3D-tulostusratkaisu." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3351,102 +3355,122 @@ msgstr "" "Cura-ohjelman on kehittänyt Ultimaker B.V. yhteistyössä käyttäjäyhteisön kanssa.\n" "Cura hyödyntää seuraavia avoimeen lähdekoodiin perustuvia projekteja:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Graafinen käyttöliittymä" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Sovelluskehys" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Prosessien välinen tietoliikennekirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Ohjelmointikieli" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI-kehys" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUI-kehyksen sidonnat" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C/C++ -sidontakirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Data Interchange Format" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Tieteellisen laskennan tukikirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Nopeamman laskennan tukikirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "STL-tiedostojen käsittelyn tukikirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Tukikirjasto 3MF-tiedostojen käsittelyyn" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Sarjatietoliikennekirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "ZeroConf-etsintäkirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Monikulmion leikkauskirjasto" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Fontti" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG-kuvakkeet" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "" @@ -3456,7 +3480,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Profiili:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3467,53 +3491,53 @@ msgstr "" "\n" "Avaa profiilin hallinta napsauttamalla." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Haku…" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Kopioi arvo kaikkiin suulakepuristimiin" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Piilota tämä asetus" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Älä näytä tätä asetusta" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Pidä tämä asetus näkyvissä" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Määritä asetusten näkyvyys..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3534,17 +3558,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Riippuu seuraavista:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Arvo perustuu suulakepuristimien arvoihin " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3555,7 +3579,7 @@ msgstr "" "\n" "Palauta profiilin arvo napsauttamalla." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3710,12 +3734,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Näytä" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "" @@ -3725,12 +3749,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "" @@ -3793,17 +3817,44 @@ msgstr "" "Tulostuksen asennus ei käytössä\n" "G-code-tiedostoja ei voida muokata" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Suositeltu tulostuksen asennus

Tulosta valitun tulostimen, materiaalin ja laadun suositelluilla asetuksilla." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Mukautettu tulostuksen asennus

Tulosta hallitsemalla täysin kaikkia viipalointiprosessin vaiheita." @@ -3828,223 +3879,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Aikaa jäljellä arviolta" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Vaihda koko näyttöön" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Kumoa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "Tee &uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Lopeta" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Määritä Curan asetukset..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "L&isää tulostin..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Tulostinten &hallinta..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Hallitse materiaaleja..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Päivitä nykyiset asetukset tai ohitukset profiiliin" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Hylkää tehdyt muutokset" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Luo profiili nykyisten asetusten tai ohitusten perusteella..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profiilien hallinta..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Näytä sähköinen &dokumentaatio" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Ilmoita &virheestä" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Tietoja..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Poista valittu malli" msgstr[1] "Poista valitut mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Keskitä valittu malli" msgstr[1] "Keskitä valitut mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Kerro valittu malli" msgstr[1] "Kerro valitut mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Poista malli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ke&skitä malli alustalle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Ryhmittele mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Poista mallien ryhmitys" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Yhdistä mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Kerro malli..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Valitse kaikki mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Tyhjennä tulostusalusta" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Lataa kaikki mallit uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Järjestä kaikki mallit" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Järjestä valinta" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Määritä kaikkien mallien positiot uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Määritä kaikkien mallien muutokset uudelleen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Avaa tiedosto(t)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Uusi projekti..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Näytä moottorin l&oki" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Näytä määrityskansio" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "" @@ -4105,7 +4156,7 @@ msgid "Select the active output device" msgstr "Valitse aktiivinen tulostusväline" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Avaa tiedosto(t)" @@ -4125,145 +4176,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "Tie&dosto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Muokkaa" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Näytä" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&Asetukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Tulostin" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Materiaali" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Aseta aktiiviseksi suulakepuristimeksi" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Profiili" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Laa&jennukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "L&isäasetukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Ohje" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Avaa tiedosto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Asetukset" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Uusi projekti" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Haluatko varmasti aloittaa uuden projektin? Se tyhjentää alustan ja kaikki tallentamattomat asetukset." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Avaa tiedosto(t)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Löysimme vähintään yhden Gcode-tiedoston valitsemiesi tiedostojen joukosta. Voit avata vain yhden Gcode-tiedoston kerrallaan. Jos haluat avata Gcode-tiedoston, valitse vain yksi." @@ -4273,11 +4324,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Tallenna projekti" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4348,37 +4394,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Asteittainen täyttö lisää täytön tiheyttä vähitellen yläosaa kohti." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Ota asteittainen käyttöön" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Muodosta tuki" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Muodosta rakenteita, jotka tukevat mallin ulokkeita sisältäviä osia. Ilman tukirakenteita kyseiset osat luhistuvat tulostuksen aikana." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Valitse tukena käytettävä suulakepuristin. Näin mallin alle rakennetaan tukirakenteita estämään mallin painuminen tai tulostuminen ilmaan." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Alustan tarttuvuus" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Ota reunuksen tai pohjaristikon tulostus käyttöön. Tämä lisää kappaleen ympärille tai alle tasaisen alueen, joka on helppo leikata pois myöhemmin." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Tarvitsetko apua tulosteiden parantamiseen?
Lue Ultimakerin vianmääritysoppaat" @@ -4540,6 +4586,16 @@ msgctxt "name" msgid "Changelog" msgstr "Muutosloki" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4890,16 +4946,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura-profiilin kirjoitin" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "" - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4930,6 +4976,14 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura-profiilin lukija" +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Päivitä laiteohjelmisto" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Laiteohjelmiston päivitys" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Tulostus Doodle3D WiFi-Boxin avulla" diff --git a/resources/i18n/fi_FI/fdmextruder.def.json.po b/resources/i18n/fi_FI/fdmextruder.def.json.po index 381991d5e4..8550e76b4d 100644 --- a/resources/i18n/fi_FI/fdmextruder.def.json.po +++ b/resources/i18n/fi_FI/fdmextruder.def.json.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n" "Last-Translator: Bothof \n" "Language-Team: Finnish\n" @@ -166,6 +166,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Z-koordinaatti sijainnille, jossa suutin esitäytetään tulostusta aloitettaessa." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/fi_FI/fdmprinter.def.json.po b/resources/i18n/fi_FI/fdmprinter.def.json.po index 6c1decafbf..67946648d8 100644 --- a/resources/i18n/fi_FI/fdmprinter.def.json.po +++ b/resources/i18n/fi_FI/fdmprinter.def.json.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Finnish\n" @@ -1072,7 +1072,7 @@ msgstr "" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." msgstr "" #: fdmprinter.def.json @@ -1492,7 +1492,7 @@ msgstr "Täyttökuvio" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +msgid "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." msgstr "" #: fdmprinter.def.json @@ -1555,6 +1555,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Risti 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3257,6 +3262,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "" +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3824,6 +3859,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Reunukseen käytettävien linjojen lukumäärä. Useampi reunuslinja parantaa kiinnitystä alustaan, mutta rajoittaa tehokasta tulostusaluetta." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index eb7aa05b2b..abdf234aa9 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:59+0200\n" "Last-Translator: Bothof \n" "Language-Team: French\n" @@ -48,8 +48,8 @@ msgstr "GCodeWriter ne prend pas en charge le mode non-texte." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Veuillez générer le G-Code avant d'enregistrer." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Afficher le récapitulatif des changements" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Le profil a été aplati et activé." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Impression par USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Imprimer via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Imprimer via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Connecté via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Une impression USB est en cours, la fermeture de Cura arrêtera cette impression. Êtes-vous sûr ?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter ne prend pas en charge le mode texte." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker Format Package" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "Enregistrer sur un lecteur amovible {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Aucun format de fichier n'est disponible pour écriture !" @@ -198,7 +203,7 @@ msgstr "Impossible d'enregistrer sur le lecteur {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Erreur" @@ -227,8 +232,8 @@ msgstr "Ejecter le lecteur amovible {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Avertissement" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Lecteur amovible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimer sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprimer sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Connecté sur le réseau." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Connecté sur le réseau. Veuillez approuver la demande d'accès sur l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Connecté sur le réseau. Pas d'accès pour commander l'imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Accès à l'imprimante demandé. Veuillez approuver la demande sur l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Statut d'authentification" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Statut d'authentification" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Réessayer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Renvoyer la demande d'accès" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Accès à l'imprimante accepté" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Aucun accès pour imprimer avec cette imprimante. Impossible d'envoyer la tâche d'impression." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Demande d'accès" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envoyer la demande d'accès à l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Impossible de démarrer une nouvelle tâche d'impression." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Un problème avec la configuration de votre Ultimaker empêche le démarrage de l'impression. Veuillez résoudre ce problème avant de continuer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuration différente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Êtes-vous sûr(e) de vouloir imprimer avec la configuration sélectionnée ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Problème de compatibilité entre la configuration ou l'étalonnage de l'imprimante et Cura. Pour un résultat optimal, découpez toujours pour les PrintCores et matériaux insérés dans votre imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Envoi de nouvelles tâches (temporairement) bloqué, envoi de la tâche d'impression précédente en cours." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Envoi des données à l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Envoi des données" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Annuler" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Pas de PrintCore inséré dans la fente {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Aucun matériau inséré dans la fente {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore différent (Cura : {cura_printcore_name}, Imprimante : {remote_printcore_name}) sélectionné pour l'extrudeuse {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Matériau différent (Cura : {0}, Imprimante : {1}) sélectionné pour l'extrudeuse {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchroniser avec votre imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Voulez-vous utiliser votre configuration d'imprimante actuelle dans Cura ?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Les PrintCores et / ou matériaux sur votre imprimante diffèrent de ceux de votre projet actuel. Pour un résultat optimal, découpez toujours pour les PrintCores et matériaux insérés dans votre imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Connecté sur le réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "L'envoi de la tâche d'impression à l'imprimante a réussi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Données envoyées" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Afficher sur le moniteur" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} a terminé d'imprimer '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "La tâche d'impression '{job_name}' est terminée." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Impression terminée" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Connecter via le réseau" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Surveiller" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Impossible d'accéder aux informations de mise à jour." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "De nouvelles fonctionnalités sont disponibles pour votre {machine_name} ! Il est recommandé de mettre à jour le firmware sur votre imprimante." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nouveau firmware %s disponible" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Comment effectuer la mise à jour" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Impossible d'accéder aux informations de mise à jour." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Vue en couches" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura n'affiche pas les couches avec précision lorsque l'impression filaire est activée" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Vue simulation" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modifier le G-Code" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Créer un volume dans lequel les supports ne sont pas imprimés." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura recueille des statistiques d'utilisation anonymes." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Collecte des données" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Plus d'informations" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Voir plus d'informations sur les données envoyées par Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Autoriser" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Autoriser Cura à envoyer des statistiques d'utilisation anonymes pour mieux prioriser les améliorations futures apportées à Cura. Certaines de vos préférences et paramètres sont envoyés, ainsi que la version du logiciel Cura et un hachage des modèles que vous découpez." @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Image GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Impossible de découper le matériau actuel, car celui-ci est incompatible avec la machine ou la configuration sélectionnée." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Impossible de découper" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Impossible de couper avec les paramètres actuels. Les paramètres suivants contiennent des erreurs : {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Impossible de couper en raison de certains paramètres par modèle. Les paramètres suivants contiennent des erreurs sur un ou plusieurs modèles : {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Impossible de couper car la tour primaire ou la (les) position(s) d'amorçage ne sont pas valides." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Impossible de couper car il existe des objets associés à l'extrudeuse désactivée %s." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Rien à couper car aucun des modèles ne convient au volume d'impression. Mettez à l'échelle ou faites pivoter les modèles pour les faire correspondre." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Traitement des couches" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informations" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "Configurer les paramètres par modèle" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Recommandé" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personnalisé" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "Fichier 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Buse" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Fichier G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analyse du G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Détails G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Assurez-vous que le g-code est adapté à votre imprimante et à la configuration de l'imprimante avant d'y envoyer le fichier. La représentation du g-code peut ne pas être exacte." @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Profil Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Assistant de profil" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Assistant de profil" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Sélectionner les mises à niveau" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Mise à niveau du firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivellement du plateau" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Paroi externe" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Parois internes" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Couche extérieure" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Remplissage" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Remplissage du support" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interface du support" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Support" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Jupe" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Déplacement" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Rétractions" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Autre" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Inconnu" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Fichier {0} prédécoupé" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Le fichier existe déjà" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Pas écrasé" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Le matériau sélectionné est incompatible avec la machine ou la configuration sélectionnée." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Matériau incompatible" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "Les paramètres ont été modifiés pour correspondre aux extrudeuses actuellement disponibles : [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Paramètres mis à jour" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "L'exportation a réussi" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "Échec de l'importation du profil depuis le fichier {0} or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "Aucun profil personnalisé à importer dans le fichier {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Le profil {0} contient des données incorrectes ; échec de l'importation." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "La machine définie dans le profil {0} ({1}) ne correspond pas à votre machine actuelle ({2}) ; échec de l'importation." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Importation du profil {0} réussie" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "Le fichier {0} ne contient pas de profil valide." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Le profil {0} est un type de fichier inconnu ou est corrompu." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Personnaliser le profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Il manque un type de qualité au profil." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Impossible de trouver un type de qualité {0} pour la configuration actuelle." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Tous les fichiers (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Matériau personnalisé" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Personnalisé" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Volume d'impression" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Impossible de créer une archive à partir du répertoire de données de l'utilisateur : {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Sauvegarde" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "A essayé de restaurer une sauvegarde Cura sans disposer de données ou de métadonnées appropriées." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "A essayé de restaurer une sauvegarde Cura qui ne correspond pas à votre version actuelle." @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Envoyer rapport" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Chargement des machines..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Préparation de la scène..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Chargement de l'interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Un seul fichier G-Code peut être chargé à la fois. Importation de {0} sautée" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Impossible d'ouvrir un autre fichier si le G-Code est en cours de chargement. Importation de {0} sautée" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Le modèle sélectionné était trop petit pour être chargé." @@ -1263,9 +1258,9 @@ msgstr "X (Largeur)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Le diamètre nominal de filament pris en charge par l'imprimante. Le diamètre exact sera remplacé par le matériau et / ou le profil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Décalage buse X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Décalage buse Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Extrudeuse G-Code de démarrage" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Extrudeuse G-Code de fin" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Impossible de se connecter à la base de données Cura Package. Veuillez vérifier votre connexion." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Plug-ins" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Matériaux" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Version" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Dernière mise à jour" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Auteur" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Téléchargements" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Inconnu" @@ -1505,8 +1511,8 @@ msgstr "Précédent" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Confirmer la désinstallation " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Matériaux génériques" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Installé" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "Récapitulatif des changements" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Fermer" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Le firmware est le logiciel fonctionnant directement dans votre imprimante 3D. Ce firmware contrôle les moteurs pas à pas, régule la température et surtout, fait que votre machine fonctionne." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Le firmware fourni avec les nouvelles imprimantes fonctionne, mais les nouvelles versions ont tendance à fournir davantage de fonctionnalités ainsi que des améliorations." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Mise à niveau automatique du firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Charger le firmware personnalisé" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Sélectionner le firmware personnalisé" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Mise à jour du firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Mise à jour du firmware en cours." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Mise à jour du firmware terminée." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Échec de la mise à jour du firmware en raison d'une erreur inconnue." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Échec de la mise à jour du firmware en raison d'une erreur de communication." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Échec de la mise à jour du firmware en raison d'une erreur d'entrée/de sortie." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Échec de la mise à jour du firmware en raison du firmware manquant." @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Accord utilisateur" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Connexion existante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Ce groupe / cette imprimante a déjà été ajouté à Cura. Veuillez sélectionner un autre groupe / imprimante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Connecter à l'imprimante en réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "Sélectionnez votre imprimante dans la liste ci-dessous :" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Ajouter" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Modifier" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Supprimer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Rafraîchir" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Si votre imprimante n'apparaît pas dans la liste, lisez le guide de dépannage de l'impression en réseau" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Version du firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Adresse" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Cette imprimante n'est pas configurée pour héberger un groupe d'imprimantes." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Cette imprimante est l'hôte d'un groupe d'imprimantes %1." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "L'imprimante à cette adresse n'a pas encore répondu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Connecter" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Adresse de l'imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Saisissez l'adresse IP ou le nom d'hôte de votre imprimante sur le réseau." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Imprimer sur le réseau" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Sélection d'imprimantes" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Imprimer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimer sur le réseau" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "En attente : imprimante non disponible" +msgid "Printer selection" +msgstr "Sélection d'imprimantes" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "En attente : première imprimante disponible" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "En attente : " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Déplacer l'impression en haut" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Déplacer l'impression en haut de la file d'attente" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Êtes-vous sûr de vouloir déplacer %1 en haut de la file d'attente ?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Effacer" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Supprimer l'impression" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Êtes-vous sûr de vouloir supprimer %1 ?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Gérer la file d'attente" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Mis en file d'attente" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Impression" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Gérer les imprimantes" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Non disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Injoignable" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponible" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Abandonné" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminé" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Préparation" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Mise en pause" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Reprise" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Action requise" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "En attente : imprimante non disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "En attente : première imprimante disponible" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "En attente : " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Gérer la file d'attente" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Mis en file d'attente" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Impression" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Gérer les imprimantes" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Déplacer l'impression en haut" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Effacer" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Reprendre" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pause" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Abandonner" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Êtes-vous sûr de vouloir déplacer %1 en haut de la file d'attente ?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Déplacer l'impression en haut de la file d'attente" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Êtes-vous sûr de vouloir supprimer %1 ?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Supprimer l'impression" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Êtes-vous sûr de vouloir annuler %1 ?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Abandonner l'impression" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Êtes-vous sûr de vouloir annuler %1 ?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Abandonné" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Terminé" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Préparation" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Mise en pause" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "En pause" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Reprise" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Action requise" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Connecter à une imprimante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Charger la configuration de l'imprimante dans Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Activer la configuration" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Charger la configuration de l'imprimante dans Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Scripts de post-traitement" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Ajouter un script" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Paramètres" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifier les scripts de post-traitement actifs" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modifier les paramètres de remplissage d'autres modèles" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Sélectionner les paramètres" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Sélectionner les paramètres pour personnaliser ce modèle" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrer..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Afficher tout" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "Type" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Groupe d'imprimantes" @@ -2278,6 +2381,7 @@ msgstr "Comment le conflit du profil doit-il être résolu ?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2456,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Ouvrir" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Précédent" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Exporter" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Suivant" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Astuce" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Spécification de coût" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Total :" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Test d'impression" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Liste de contrôle" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2497,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Aller à la position suivante" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Mise à niveau du firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Le firmware est le logiciel fonctionnant directement dans votre imprimante 3D. Ce firmware contrôle les moteurs pas à pas, régule la température et surtout, fait que votre machine fonctionne." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Le firmware fourni avec les nouvelles imprimantes fonctionne, mais les nouvelles versions ont tendance à fournir davantage de fonctionnalités ainsi que des améliorations." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Mise à niveau automatique du firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Charger le firmware personnalisé" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Sélectionner le firmware personnalisé" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2686,7 +2684,7 @@ msgid "Customized" msgstr "Personnalisé" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Toujours me demander" @@ -2834,6 +2832,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importer" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Exporter" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2923,283 @@ msgid "Unit" msgstr "Unité" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Général" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Langue :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Devise :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Thème :" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Vous devez redémarrer l'application pour que ces changements prennent effet." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Découper automatiquement si les paramètres sont modifiés." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Découper automatiquement" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportement Viewport" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Surligne les parties non supportées du modèle en rouge. Sans ajouter de support, ces zones ne s'imprimeront pas correctement." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Mettre en surbrillance les porte-à-faux" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Déplace la caméra afin que le modèle sélectionné se trouve au centre de la vue" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centrer la caméra lorsqu'un élément est sélectionné" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Le comportement de zoom par défaut de Cura doit-il être inversé ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverser la direction du zoom de la caméra." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Le zoom doit-il se faire dans la direction de la souris ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoomer vers la direction de la souris" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Les modèles dans la zone d'impression doivent-ils être déplacés afin de ne plus se croiser ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Veillez à ce que les modèles restent séparés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Les modèles dans la zone d'impression doivent-ils être abaissés afin de toucher le plateau ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Abaisser automatiquement les modèles sur le plateau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Afficher le message d'avertissement dans le lecteur G-Code." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Message d'avertissement dans le lecteur G-Code" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "La couche doit-elle être forcée en mode de compatibilité ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forcer l'affichage de la couche en mode de compatibilité (redémarrage requis)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Ouvrir et enregistrer des fichiers" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Les modèles doivent-ils être mis à l'échelle du volume d'impression s'ils sont trop grands ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Réduire la taille des modèles trop grands" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modèle peut apparaître en tout petit si son unité est par exemple en mètres plutôt qu'en millimètres. Ces modèles doivent-ils être agrandis ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Mettre à l'échelle les modèles extrêmement petits" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Les modèles doivent-ils être sélectionnés après leur chargement ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Sélectionner les modèles lorsqu'ils sont chargés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Un préfixe basé sur le nom de l'imprimante doit-il être automatiquement ajouté au nom de la tâche d'impression ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Ajouter le préfixe de la machine au nom de la tâche" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Un résumé doit-il être affiché lors de l'enregistrement d'un fichier de projet ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Afficher la boîte de dialogue du résumé lors de l'enregistrement du projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportement par défaut lors de l'ouverture d'un fichier de projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportement par défaut lors de l'ouverture d'un fichier de projet : " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Toujours me demander" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Toujours ouvrir comme projet" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Toujours importer les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Lorsque vous apportez des modifications à un profil puis passez à un autre profil, une boîte de dialogue apparaît, vous demandant si vous souhaitez conserver les modifications. Vous pouvez aussi choisir une option par défaut, et le dialogue ne s'affichera plus." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profils" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportement par défaut pour les valeurs de paramètres modifiées lors du passage à un profil différent : " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Toujours rejeter les paramètres modifiés" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Toujours transférer les paramètres modifiés dans le nouveau profil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Confidentialité" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura doit-il vérifier les mises à jour au démarrage du programme ?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Vérifier les mises à jour au démarrage" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Les données anonymes de votre impression doivent-elles être envoyées à Ultimaker ? Notez qu'aucun modèle, aucune adresse IP ni aucune autre information permettant de vous identifier personnellement ne seront envoyés ou stockés." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Envoyer des informations (anonymes) sur l'impression" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Plus d'informations" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Expérimental" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Utiliser la fonctionnalité multi-plateau" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Utiliser la fonctionnalité multi-plateau (redémarrage requis)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Imprimantes" @@ -3217,7 +3221,7 @@ msgid "Connection:" msgstr "Connexion :" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "L'imprimante n'est pas connectée." @@ -3243,7 +3247,7 @@ msgid "Aborting print..." msgstr "Abandon de l'impression..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profils" @@ -3324,17 +3328,17 @@ msgid "Global Settings" msgstr "Paramètres généraux" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Ajouter une imprimante" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nom de l'imprimante :" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Ajouter une imprimante" @@ -3349,17 +3353,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "À propos de Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "version : %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Solution complète pour l'impression 3D par dépôt de filament fondu." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3368,102 +3372,122 @@ msgstr "" "Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\n" "Cura est fier d'utiliser les projets open source suivants :" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interface utilisateur graphique" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Cadre d'application" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Générateur G-Code" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Bibliothèque de communication interprocess" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Langage de programmation" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Cadre IUG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Liens cadre IUG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Bibliothèque C/C++ Binding" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Format d'échange de données" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Prise en charge de la bibliothèque pour le calcul scientifique" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Prise en charge de la bibliothèque pour des maths plus rapides" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Prise en charge de la bibliothèque pour le traitement des fichiers STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Prise en charge de la bibliothèque pour le traitement des fichiers 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Bibliothèque de communication série" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Bibliothèque de découverte ZeroConf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Bibliothèque de découpe polygone" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Bibliothèque Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Police" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Icônes SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Déploiement d'applications sur multiples distributions Linux" @@ -3473,7 +3497,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Profil :" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3484,53 +3508,53 @@ msgstr "" "\n" "Cliquez pour ouvrir le gestionnaire de profils." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Rechercher..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copier la valeur vers tous les extrudeurs" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copier toutes les valeurs modifiées vers toutes les extrudeuses" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Masquer ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Afficher ce paramètre" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurer la visibilité des paramètres..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Réduire tout" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Développer tout" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3551,17 +3575,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Touché par" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Ce paramètre est toujours partagé par toutes les extrudeuses. Le modifier ici entraînera la modification de la valeur pour toutes les extrudeuses." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "La valeur est résolue à partir des valeurs par extrudeur " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3572,7 +3596,7 @@ msgstr "" "\n" "Cliquez pour restaurer la valeur du profil." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3727,12 +3751,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Visualisation" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "Position de la &caméra" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "&Plateau" @@ -3742,12 +3766,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Paramètres visibles" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Afficher tous les paramètres" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gérer la visibilité des paramètres..." @@ -3810,17 +3834,44 @@ msgstr "" "Configuration de l'impression désactivée\n" "Les fichiers G-Code ne peuvent pas être modifiés" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Spécification de temps" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Spécification de coût" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Total :" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuration de l'impression recommandée

Imprimer avec les paramètres recommandés pour l'imprimante, le matériau et la qualité sélectionnés." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuration de l'impression personnalisée

Imprimer avec un contrôle fin de chaque élément du processus de découpe." @@ -3845,223 +3896,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Durée restante estimée" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Passer en Plein écran" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Annuler" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Rétablir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Quitter" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "Vue 3D" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Vue de face" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Vue du dessus" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Vue latérale gauche" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Vue latérale droite" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configurer Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Ajouter une imprimante..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Gérer les &imprimantes..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Gérer les matériaux..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Mettre à jour le profil à l'aide des paramètres / forçages actuels" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Ignorer les modifications actuelles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Créer un profil à partir des paramètres / forçages actuels..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Gérer les profils..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Afficher la &documentation en ligne" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Notifier un &bug" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "À propos de..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Supprimer le modèle sélectionné" msgstr[1] "Supprimer les modèles sélectionnés" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Centrer le modèle sélectionné" msgstr[1] "Centrer les modèles sélectionnés" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Multiplier le modèle sélectionné" msgstr[1] "Multiplier les modèles sélectionnés" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Supprimer le modèle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&ntrer le modèle sur le plateau" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Grouper les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Dégrouper les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Fusionner les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiplier le modèle..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Sélectionner tous les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Supprimer les objets du plateau" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Recharger tous les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Réorganiser tous les modèles sur tous les plateaux" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Réorganiser tous les modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Réorganiser la sélection" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Réinitialiser toutes les positions des modèles" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Réinitialiser tous les modèles et transformations" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Ouvrir le(s) fichier(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Nouveau projet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Afficher le &journal du moteur..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Afficher le dossier de configuration" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Parcourir les paquets..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Déplier / replier la barre latérale" @@ -4122,7 +4173,7 @@ msgid "Select the active output device" msgstr "Sélectionner le périphérique de sortie actif" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Ouvrir le(s) fichier(s)" @@ -4142,145 +4193,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Fichier" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "Enregi&strer..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Exporter..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Exporter la sélection..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Modifier" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Visualisation" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&Paramètres" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Im&primante" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Matériau" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Définir comme extrudeur actif" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Activer l'extrudeuse" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Désactiver l'extrudeuse" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "Plateau" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensions" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Boîte à outils" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&références" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Aide" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Ce paquet sera installé après le redémarrage." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Ouvrir un fichier" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Paramètres" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Nouveau projet" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Êtes-vous sûr(e) de souhaiter lancer un nouveau projet ? Cela supprimera les objets du plateau ainsi que tous paramètres non enregistrés." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Fermeture de Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Êtes-vous sûr de vouloir quitter Cura ?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Installer le paquet" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Ouvrir le(s) fichier(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Nous avons trouvé au moins un fichier G-Code parmi les fichiers que vous avez sélectionné. Vous ne pouvez ouvrir qu'un seul fichier G-Code à la fois. Si vous souhaitez ouvrir un fichier G-Code, veuillez ne sélectionner qu'un seul fichier de ce type." @@ -4290,11 +4341,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Enregistrer le projet" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4365,37 +4411,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Un remplissage graduel augmentera la quantité de remplissage vers le haut." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Permettre le remplissage graduel" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Générer les supports" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Générer des structures pour soutenir les parties du modèle qui possèdent des porte-à-faux. Sans ces structures, ces parties s'effondreront durant l'impression." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Sélectionnez l'extrudeur à utiliser comme support. Cela créera des structures de support sous le modèle afin de l'empêcher de s'affaisser ou de s'imprimer dans les airs." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adhérence au plateau" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Activez l'impression d'une bordure ou plaquette (Brim/Raft). Cela ajoutera une zone plate autour de ou sous votre objet qui est facile à découper par la suite." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Besoin d'aide pour améliorer vos impressions ?
Lisez les Guides de dépannage Ultimaker" @@ -4557,6 +4603,16 @@ msgctxt "name" msgid "Changelog" msgstr "Récapitulatif des changements" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4907,16 +4963,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Générateur de profil Cura" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Permet aux fabricants de matériaux de créer de nouveaux matériaux et profils de qualité à l'aide d'une interface utilisateur ad hoc." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Assistant de profil d'impression" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4947,6 +4993,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Lecteur de profil Cura" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Veuillez générer le G-Code avant d'enregistrer." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Assistant de profil" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Assistant de profil" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Mise à niveau du firmware" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Inconnu" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "Aucun profil personnalisé à importer dans le fichier {0}" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Le profil {0} contient des données incorrectes ; échec de l'importation." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "La machine définie dans le profil {0} ({1}) ne correspond pas à votre machine actuelle ({2}) ; échec de l'importation." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Confirmer la désinstallation " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "En pause" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Précédent" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Suivant" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Astuce" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Test d'impression" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Liste de contrôle" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Mise à niveau du firmware" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Permet aux fabricants de matériaux de créer de nouveaux matériaux et profils de qualité à l'aide d'une interface utilisateur ad hoc." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Assistant de profil d'impression" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Imprimer avec Doodle3D WiFi-Box" diff --git a/resources/i18n/fr_FR/fdmextruder.def.json.po b/resources/i18n/fr_FR/fdmextruder.def.json.po index b2b54fbced..a8b6b127b8 100644 --- a/resources/i18n/fr_FR/fdmextruder.def.json.po +++ b/resources/i18n/fr_FR/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: French\n" @@ -166,6 +166,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Les coordonnées Z de la position à laquelle la buse s'amorce au début de l'impression." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index b76aa532cb..a8dda56074 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:00+0200\n" "Last-Translator: Bothof \n" "Language-Team: French\n" @@ -15,7 +16,6 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.6\n" -"POT-Creation-Date: \n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -1077,8 +1077,8 @@ msgstr "Relier les polygones supérieurs / inférieurs" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Relier les voies de couche extérieure supérieures / inférieures lorsqu'elles sont côte à côte. Pour le motif concentrique, ce paramètre réduit considérablement le temps de parcours, mais comme les liens peuvent se trouver à mi-chemin sur le remplissage, cette fonctionnalité peut réduire la qualité de la surface supérieure." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,8 +1497,8 @@ msgstr "Motif de remplissage" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Motif du matériau de remplissage de l'impression. La ligne et le remplissage en zigzag changent de sens à chaque alternance de couche, réduisant ainsi les coûts matériels. Les motifs en grille, en triangle, trihexagonaux, cubiques, octaédriques, quart cubiques et concentriques sont entièrement imprimés sur chaque couche. Les remplissages cubique, quart cubique et octaédrique changent à chaque couche afin d'offrir une répartition plus égale de la solidité dans chaque direction." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1560,6 +1560,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Entrecroisé 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3264,6 +3269,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Orientation du motif de remplissage pour les supports. Le motif de remplissage du support pivote dans le plan horizontal." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3833,6 +3868,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Le nombre de lignes utilisées pour une bordure. Un plus grand nombre de lignes de bordure renforce l'adhérence au plateau mais réduit également la zone d'impression réelle." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5657,6 +5702,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matrice de transformation à appliquer au modèle lors de son chargement depuis le fichier." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Relier les voies de couche extérieure supérieures / inférieures lorsqu'elles sont côte à côte. Pour le motif concentrique, ce paramètre réduit considérablement le temps de parcours, mais comme les liens peuvent se trouver à mi-chemin sur le remplissage, cette fonctionnalité peut réduire la qualité de la surface supérieure." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Motif du matériau de remplissage de l'impression. La ligne et le remplissage en zigzag changent de sens à chaque alternance de couche, réduisant ainsi les coûts matériels. Les motifs en grille, en triangle, trihexagonaux, cubiques, octaédriques, quart cubiques et concentriques sont entièrement imprimés sur chaque couche. Les remplissages cubique, quart cubique et octaédrique changent à chaque couche afin d'offrir une répartition plus égale de la solidité dans chaque direction." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Concentrique 3D" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 7ce106e07c..2ba9f18724 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 15:01+0200\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" @@ -48,8 +48,8 @@ msgstr "GCodeWriter non supporta la modalità non di testo." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Generare il codice G prima di salvare." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Visualizza registro modifiche" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Il profilo è stato appiattito e attivato." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Stampa USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Stampa tramite USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Stampa tramite USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Connesso tramite USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Stampa tramite USB in corso, la chiusura di Cura interrompe la stampa. Confermare?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter non supporta la modalità di testo." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Pacchetto formato Ultimaker" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "Salva su unità rimovibile {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Non ci sono formati di file disponibili per la scrittura!" @@ -198,7 +203,7 @@ msgstr "Impossibile salvare su unità rimovibile {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Errore" @@ -227,8 +232,8 @@ msgstr "Rimuovi il dispositivo rimovibile {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Avvertenza" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unità rimovibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Stampa sulla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Stampa sulla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Collegato alla rete." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Collegato alla rete. Si prega di approvare la richiesta di accesso sulla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Collegato alla rete. Nessun accesso per controllare la stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Richiesto accesso alla stampante. Approvare la richiesta sulla stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Stato di autenticazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Stato di autenticazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Riprova" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Invia nuovamente la richiesta di accesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Accesso alla stampante accettato" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Nessun accesso per stampare con questa stampante. Impossibile inviare il processo di stampa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Richiesta di accesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Invia la richiesta di accesso alla stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Impossibile avviare un nuovo processo di stampa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "È presente un problema di configurazione della stampante che rende impossibile l’avvio della stampa. Risolvere il problema prima di continuare." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Mancata corrispondenza della configurazione" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Sei sicuro di voler stampare con la configurazione selezionata?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Le configurazioni o la calibrazione della stampante e di Cura non corrispondono. Per ottenere i migliori risultati, sezionare sempre per i PrintCore e i materiali inseriti nella stampante utilizzata." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Invio nuovi processi (temporaneamente) bloccato, invio in corso precedente processo di stampa." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Invio dati alla stampante in corso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Invio dati" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Annulla" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Nessun PrintCore caricato nello slot {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Nessun materiale caricato nello slot {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore diverso (Cura: {cura_printcore_name}, Stampante: {remote_printcore_name}) selezionata per estrusore {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Materiale diverso (Cura: {0}, Stampante: {1}) selezionato per l’estrusore {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizzazione con la stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Desideri utilizzare la configurazione corrente della tua stampante in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "I PrintCore e/o i materiali sulla stampante differiscono da quelli contenuti nel tuo attuale progetto. Per ottenere i risultati migliori, sezionare sempre per i PrintCore e i materiali inseriti nella stampante utilizzata." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Collegato alla rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Processo di stampa inviato con successo alla stampante." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Dati inviati" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Visualizzazione in Controlla" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "La stampante '{printer_name}' ha finito di stampare '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "Il processo di stampa '{job_name}' è terminato." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Stampa finita" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Collega tramite rete" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Controlla" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Non è possibile accedere alle informazioni di aggiornamento." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Sono disponibili nuove funzioni per la {machine_name}! Si consiglia di aggiornare il firmware sulla stampante." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nuovo firmware %s disponibile" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Modalità di aggiornamento" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Non è possibile accedere alle informazioni di aggiornamento." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Visualizzazione strato" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura non visualizza in modo accurato gli strati se la funzione Wire Printing è abilitata" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Vista simulazione" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modifica G-code" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Crea un volume in cui i supporti non vengono stampati." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura raccoglie statistiche di utilizzo in forma anonima." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Acquisizione dati" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Per saperne di più" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Vedere ulteriori informazioni sui dati inviati da Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Consenti" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Consente a Cura di inviare in forma anonima statistiche d’uso, riguardanti alcune delle preferenze e impostazioni, la versione cura e una serie di modelli in sezionamento, per aiutare a dare priorità a miglioramenti futuri in Cura." @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Immagine GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Impossibile eseguire il sezionamento con il materiale corrente in quanto incompatibile con la macchina o la configurazione selezionata." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Sezionamento impossibile" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Impossibile eseguire il sezionamento con le impostazioni attuali. Le seguenti impostazioni presentano errori: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Impossibile eseguire il sezionamento a causa di alcune impostazioni per modello. Le seguenti impostazioni presentano errori su uno o più modelli: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Impossibile eseguire il sezionamento perché la torre di innesco o la posizione di innesco non sono valide." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Impossibile effettuare il sezionamento in quanto vi sono oggetti associati a Extruder %s disabilitato." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nulla da sezionare in quanto nessuno dei modelli corrisponde al volume di stampa. Ridimensionare o ruotare i modelli secondo necessità." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Elaborazione dei livelli" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informazioni" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "Configura impostazioni per modello" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Consigliata" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizzata" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "File 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Ugello" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "File G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Parsing codice G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Dettagli codice G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Verifica che il codice G sia idoneo alla tua stampante e alla sua configurazione prima di trasmettere il file. La rappresentazione del codice G potrebbe non essere accurata." @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Profilo Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Assistente profilo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Assistente profilo" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Seleziona aggiornamenti" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Aggiorna firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Livella piano di stampa" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Parete esterna" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Pareti interne" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Rivestimento esterno" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Riempimento" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Riempimento del supporto" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interfaccia supporto" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Supporto" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Skirt" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Spostamenti" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Retrazioni" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Altro" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Sconosciuto" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "File pre-sezionato {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Il file esiste già" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Non sottoposto a override" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Il materiale selezionato è incompatibile con la macchina o la configurazione selezionata." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Materiale incompatibile" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "Le impostazioni sono state modificate in base all’attuale disponibilità di estrusori: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Impostazioni aggiornate" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "Esportazione riuscita" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "Impossibile importare il profilo da {0}: { #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "Nessun profilo personalizzato da importare nel file {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Questo profilo {0} contiene dati errati, impossibile importarlo." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "La macchina definita nel profilo {0} ({1}) non corrisponde alla macchina corrente ({2}), impossibile importarlo." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profilo importato correttamente {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "Il file {0} non contiene nessun profilo valido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Il profilo {0} ha un tipo di file sconosciuto o corrotto." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Profilo personalizzato" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Il profilo è privo del tipo di qualità." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Impossibile trovare un tipo qualità {0} per la configurazione corrente." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Tutti i file (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Materiale personalizzato" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Personalizzata" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Volume di stampa" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Impossibile creare un archivio dalla directory dei dati utente: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Backup" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Tentativo di ripristinare un backup di Cura senza dati o metadati appropriati." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Tentativo di ripristinare un backup di Cura non corrispondente alla versione corrente." @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Invia report" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Caricamento macchine in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Impostazione scena in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Caricamento interfaccia in corso..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "È possibile caricare un solo file codice G per volta. Importazione saltata {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Impossibile aprire altri file durante il caricamento del codice G. Importazione saltata {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Il modello selezionato è troppo piccolo per il caricamento." @@ -1263,9 +1258,9 @@ msgstr "X (Larghezza)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Diametro nominale del filamento supportato dalla stampante. Il diametro esatto verrà sovrapposto dal materiale e/o dal profilo." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Scostamento X ugello" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Scostamento Y ugello" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Codice G avvio estrusore" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Codice G fine estrusore" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Impossibile connettersi al database pacchetto Cura. Verificare la connessione." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Plugin" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiali" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Versione" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Ultimo aggiornamento" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autore" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Download" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Sconosciuto" @@ -1505,8 +1511,8 @@ msgstr "Indietro" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Conferma disinstalla " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Materiali generici" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Installa" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "Registro modifiche" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Chiudi" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Il firmware è la parte di software eseguita direttamente sulla stampante 3D. Questo firmware controlla i motori passo-passo, regola la temperatura e, in ultima analisi, consente il funzionamento della stampante." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Il firmware inviato a corredo delle nuove stampanti funziona, tuttavia le nuove versioni tendono ad avere più funzioni ed ottimizzazioni." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Aggiorna automaticamente il firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Carica il firmware personalizzato" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Seleziona il firmware personalizzato" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Aggiornamento del firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Aggiornamento firmware." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Aggiornamento del firmware completato." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Aggiornamento firmware non riuscito a causa di un errore sconosciuto." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Aggiornamento firmware non riuscito a causa di un errore di comunicazione." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Aggiornamento firmware non riuscito a causa di un errore di input/output." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Aggiornamento firmware non riuscito per firmware mancante." @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Contratto di licenza" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Collegamento esistente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Stampante/gruppo già aggiunto a Cura. Selezionare un’altra stampante o un altro gruppo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Collega alla stampante in rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "Selezionare la stampante dall’elenco seguente:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Aggiungi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Modifica" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Rimuovi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Aggiorna" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Se la stampante non è nell’elenco, leggere la guida alla risoluzione dei problemi per la stampa in rete" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Versione firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Indirizzo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Questa stampante non è predisposta per comandare un gruppo di stampanti." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Questa stampante comanda un gruppo di %1 stampanti." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "La stampante a questo indirizzo non ha ancora risposto." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Collega" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Indirizzo stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Inserire l’indirizzo IP o l’hostname della stampante sulla rete." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Stampa sulla rete" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Selezione stampante" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Stampa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Stampa sulla rete" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "In attesa: stampante non disponibile" +msgid "Printer selection" +msgstr "Selezione stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "In attesa della prima disponibile" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "In attesa: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Sposta in alto" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Sposta il processo di stampa in alto" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Sei sicuro di voler spostare 1% all’inizio della coda?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Cancella" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Cancella processo di stampa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Sei sicuro di voler cancellare %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Gestione coda di stampa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Coda di stampa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Stampa in corso" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Gestione stampanti" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Non disponibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Non raggiungibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponibile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Interrotto" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Terminato" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparazione in corso" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Messa in pausa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Ripresa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Richiede un'azione" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "In attesa: stampante non disponibile" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "In attesa della prima disponibile" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "In attesa: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Gestione coda di stampa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Coda di stampa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Stampa in corso" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Gestione stampanti" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Sposta in alto" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Cancella" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Riprendi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pausa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Interrompi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Sei sicuro di voler spostare 1% all’inizio della coda?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Sposta il processo di stampa in alto" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Sei sicuro di voler cancellare %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Cancella processo di stampa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Sei sicuro di voler interrompere %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Interrompi la stampa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Sei sicuro di voler interrompere %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Interrotto" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Terminato" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Preparazione in corso" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Messa in pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "In pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Ripresa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Richiede un'azione" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Collega a una stampante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Carica la configurazione della stampante in Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Attiva la configurazione" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Carica la configurazione della stampante in Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Script di post-elaborazione" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Aggiungi uno script" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Impostazioni" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Modifica script di post-elaborazione attivi" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modifica impostazioni per riempimento di altri modelli" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Seleziona impostazioni" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Seleziona impostazioni di personalizzazione per questo modello" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtro..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostra tutto" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Gruppo stampanti" @@ -2278,6 +2381,7 @@ msgstr "Come può essere risolto il conflitto nel profilo?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2456,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Apri" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Precedente" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Esporta" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Avanti" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Suggerimento" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Indicazione di costo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Totale:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Prova di stampa" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Lista di controllo" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2497,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Spostamento alla posizione successiva" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Aggiorna firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Il firmware è la parte di software eseguita direttamente sulla stampante 3D. Questo firmware controlla i motori passo-passo, regola la temperatura e, in ultima analisi, consente il funzionamento della stampante." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Il firmware inviato a corredo delle nuove stampanti funziona, tuttavia le nuove versioni tendono ad avere più funzioni ed ottimizzazioni." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Aggiorna automaticamente il firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Carica il firmware personalizzato" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Seleziona il firmware personalizzato" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2686,7 +2684,7 @@ msgid "Customized" msgstr "Valore personalizzato" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Chiedi sempre" @@ -2834,6 +2832,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importa" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Esporta" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2923,283 @@ msgid "Unit" msgstr "Unità" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Generale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interfaccia" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Lingua:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Valuta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Riavviare l'applicazione per rendere effettive le modifiche." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Seziona automaticamente alla modifica delle impostazioni." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Seziona automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento del riquadro di visualizzazione" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Evidenzia in rosso le zone non supportate del modello. In assenza di supporto, queste aree non saranno stampate in modo corretto." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Visualizza sbalzo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Sposta la fotocamera in modo che il modello si trovi al centro della visualizzazione quando è selezionato" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centratura fotocamera alla selezione dell'elemento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Il comportamento dello zoom predefinito di Cura dovrebbe essere invertito?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverti la direzione dello zoom della fotocamera." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Lo zoom si muove nella direzione del mouse?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoom verso la direzione del mouse" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "I modelli sull’area di stampa devono essere spostati per evitare intersezioni?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Assicurarsi che i modelli siano mantenuti separati" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "I modelli sull’area di stampa devono essere portati a contatto del piano di stampa?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Rilascia automaticamente i modelli sul piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Visualizza il messaggio di avvertimento sul lettore codice G." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Messaggio di avvertimento sul lettore codice G" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Lo strato deve essere forzato in modalità di compatibilità?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forzare la modalità di compatibilità visualizzazione strato (riavvio necessario)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Apertura e salvataggio file" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "I modelli devono essere ridimensionati al volume di stampa, se troppo grandi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Ridimensiona i modelli troppo grandi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Un modello può apparire eccessivamente piccolo se la sua unità di misura è espressa in metri anziché in millimetri. Questi modelli devono essere aumentati?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Ridimensiona i modelli eccessivamente piccoli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "I modelli devono essere selezionati dopo essere stati caricati?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Selezionare i modelli dopo il caricamento" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Al nome del processo di stampa deve essere aggiunto automaticamente un prefisso basato sul nome della stampante?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Aggiungi al nome del processo un prefisso macchina" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Quando si salva un file di progetto deve essere visualizzato un riepilogo?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Visualizza una finestra di riepilogo quando si salva un progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamento predefinito all'apertura di un file progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamento predefinito all'apertura di un file progetto: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Chiedi sempre" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Apri sempre come progetto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Importa sempre i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Dopo aver modificato un profilo ed essere passati a un altro, si apre una finestra di dialogo che chiede se mantenere o eliminare le modifiche oppure se scegliere un comportamento predefinito e non visualizzare più tale finestra di dialogo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profili" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportamento predefinito per i valori di impostazione modificati al passaggio a un profilo diverso: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Elimina sempre le impostazioni modificate" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Trasferisci sempre le impostazioni modificate a un nuovo profilo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura deve verificare la presenza di eventuali aggiornamenti all’avvio del programma?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Controlla aggiornamenti all’avvio" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "I dati anonimi sulla stampa devono essere inviati a Ultimaker? Nota, non sono trasmessi o memorizzati modelli, indirizzi IP o altre informazioni personali." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Invia informazioni di stampa (anonime)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Ulteriori informazioni" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Sperimentale" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Utilizzare la funzionalità piano di stampa multiplo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Utilizzare la funzionalità piano di stampa multiplo (necessario riavvio)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Stampanti" @@ -3217,7 +3221,7 @@ msgid "Connection:" msgstr "Collegamento:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "La stampante non è collegata." @@ -3243,7 +3247,7 @@ msgid "Aborting print..." msgstr "Interruzione stampa in corso..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profili" @@ -3324,17 +3328,17 @@ msgid "Global Settings" msgstr "Impostazioni globali" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Aggiungi stampante" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nome stampante:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Aggiungi stampante" @@ -3349,17 +3353,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Informazioni su Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "versione: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Soluzione end-to-end per la stampa 3D con filamento fuso." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3368,102 +3372,122 @@ msgstr "" "Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\n" "Cura è orgogliosa di utilizzare i seguenti progetti open source:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interfaccia grafica utente" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Struttura applicazione" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Generatore codice G" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Libreria di comunicazione intra-processo" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Lingua di programmazione" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Struttura GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Vincoli struttura GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Libreria vincoli C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Formato scambio dati" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Libreria di supporto per calcolo scientifico" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Libreria di supporto per calcolo rapido" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Libreria di supporto per gestione file STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Libreria di supporto per gestione file 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Libreria di comunicazione seriale" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Libreria scoperta ZeroConf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Libreria ritaglio poligono" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Libreria Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Font" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Icone SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Apertura applicazione distribuzione incrociata Linux" @@ -3473,7 +3497,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Profilo:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3484,53 +3508,53 @@ msgstr "" "\n" "Fare clic per aprire la gestione profili." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Ricerca..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copia valore su tutti gli estrusori" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copia tutti i valori modificati su tutti gli estrusori" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Nascondi questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Mantieni visibile questa impostazione" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configura visibilità delle impostazioni..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Comprimi tutto" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Espandi tutto" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3551,17 +3575,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Influenzato da" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Questa impostazione è sempre condivisa tra tutti gli estrusori. La sua modifica varierà il valore per tutti gli estrusori." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Questo valore è risolto da valori per estrusore " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3572,7 +3596,7 @@ msgstr "" "\n" "Fare clic per ripristinare il valore del profilo." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3727,12 +3751,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Visualizza" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Posizione fotocamera" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "P&iano di stampa" @@ -3742,12 +3766,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Impostazioni visibili" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Mostra tutte le impostazioni" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gestisci Impostazione visibilità..." @@ -3810,17 +3834,44 @@ msgstr "" "Impostazione di stampa disabilitata\n" "I file codice G non possono essere modificati" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Indicazioni di tempo" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Indicazione di costo" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Totale:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Impostazione di stampa consigliata

Stampa con le impostazioni consigliate per la stampante, il materiale e la qualità selezionati." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Impostazione di stampa personalizzata

Stampa con il controllo grana fine su ogni sezione finale del processo di sezionamento." @@ -3845,223 +3896,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Tempo residuo stimato" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Attiva/disattiva schermo intero" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Annulla" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "Ri&peti" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Esci" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "Visualizzazione 3D" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Visualizzazione frontale" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Visualizzazione superiore" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Visualizzazione lato sinistro" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Visualizzazione lato destro" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configura Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Aggiungi stampante..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Gestione stampanti..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Gestione materiali..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Aggiorna il profilo con le impostazioni/esclusioni correnti" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Elimina le modifiche correnti" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Crea profilo dalle impostazioni/esclusioni correnti..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Gestione profili..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Mostra documentazione &online" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Se&gnala un errore" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Informazioni..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Cancella modello selezionato" msgstr[1] "Cancella modelli selezionati" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Centra modello selezionato" msgstr[1] "Centra modelli selezionati" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Moltiplica modello selezionato" msgstr[1] "Moltiplica modelli selezionati" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Elimina modello" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "C&entra modello su piattaforma" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Raggruppa modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Separa modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Unisci modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "Mo<iplica modello..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Seleziona tutti i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Cancellare piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Ricarica tutti i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Sistema tutti i modelli su tutti i piani di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Sistema tutti i modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Sistema selezione" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Reimposta tutte le posizioni dei modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Reimposta tutte le trasformazioni dei modelli" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Apri file..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Nuovo Progetto..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Mostra &log motore..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Mostra cartella di configurazione" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Sfoglia i pacchetti..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Espandi/Riduci barra laterale" @@ -4122,7 +4173,7 @@ msgid "Select the active output device" msgstr "Seleziona l'unità di uscita attiva" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Apri file" @@ -4142,145 +4193,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&File" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Salva..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Esporta..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Esporta selezione..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Modifica" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Visualizza" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&Impostazioni" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "S&tampante" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "Ma&teriale" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Imposta come estrusore attivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Abilita estrusore" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Disabilita estrusore" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "&Piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Profilo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Es&tensioni" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Casella degli strumenti" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&referenze" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Questo pacchetto sarà installato dopo il riavvio." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Apri file" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Impostazioni" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Nuovo progetto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Sei sicuro di voler aprire un nuovo progetto? Questo cancellerà il piano di stampa e tutte le impostazioni non salvate." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Chiusura di Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Sei sicuro di voler uscire da Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Installa il pacchetto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Apri file" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Rilevata la presenza di uno o più file codice G tra i file selezionati. È possibile aprire solo un file codice G alla volta. Se desideri aprire un file codice G, selezionane uno solo." @@ -4290,11 +4341,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Salva progetto" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4365,37 +4411,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Un riempimento graduale aumenterà gradualmente la quantità di riempimento verso l'alto." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Consenti variazione graduale" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Generazione supporto" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Genera strutture per supportare le parti del modello a sbalzo. Senza queste strutture, queste parti collasserebbero durante la stampa." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Seleziona l’estrusore da utilizzare per la stampa di strutture di supporto. Ciò consentirà di costruire strutture di supporto sotto il modello per evitare cedimenti del modello o di stampare a mezz'aria." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Adesione piano di stampa" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Abilita stampa di brim o raft. Questa funzione aggiunge un’area piana attorno o sotto l’oggetto, facile da tagliare successivamente." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Serve aiuto per migliorare le tue stampe?
Leggi la Guida alla ricerca e riparazione guasti Ultimaker" @@ -4557,6 +4603,16 @@ msgctxt "name" msgid "Changelog" msgstr "Registro modifiche" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4907,16 +4963,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Writer profilo Cura" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Consente ai produttori di materiali di creare nuovi profili materiale e di qualità utilizzando una UI drop-in." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Assistente profilo di stampa" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4947,6 +4993,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Lettore profilo Cura" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Generare il codice G prima di salvare." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Assistente profilo" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Assistente profilo" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Aggiorna firmware" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Sconosciuto" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "Nessun profilo personalizzato da importare nel file {0}" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Questo profilo {0} contiene dati errati, impossibile importarlo." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "La macchina definita nel profilo {0} ({1}) non corrisponde alla macchina corrente ({2}), impossibile importarlo." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Conferma disinstalla " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "In pausa" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Precedente" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Avanti" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Suggerimento" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Prova di stampa" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Lista di controllo" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Aggiorna firmware" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Consente ai produttori di materiali di creare nuovi profili materiale e di qualità utilizzando una UI drop-in." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Assistente profilo di stampa" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Stampa con Doodle3D WiFi-Box" diff --git a/resources/i18n/it_IT/fdmextruder.def.json.po b/resources/i18n/it_IT/fdmextruder.def.json.po index 3fa62440ea..12181431d6 100644 --- a/resources/i18n/it_IT/fdmextruder.def.json.po +++ b/resources/i18n/it_IT/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" @@ -166,6 +166,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Indica la coordinata Z della posizione in cui l’ugello si innesca all’avvio della stampa." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index 135c07b4ab..043a49a904 100644 --- a/resources/i18n/it_IT/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:02+0200\n" "Last-Translator: Bothof \n" "Language-Team: Italian\n" @@ -14,7 +15,6 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: \n" "X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json @@ -1077,8 +1077,8 @@ msgstr "Collega poligoni superiori/inferiori" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Collega i percorsi del rivestimento esterno superiore/inferiore quando corrono uno accanto all’altro. Per le configurazioni concentriche, l’abilitazione di questa impostazione riduce notevolmente il tempo di spostamento, tuttavia poiché i collegamenti possono aver luogo a metà del riempimento, con questa funzione la qualità della superficie superiore potrebbe risultare inferiore." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,8 +1497,8 @@ msgstr "Configurazione di riempimento" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Configurazione del materiale di riempimento della stampa. Il riempimento a linea e a zig zag cambia direzione su strati alternati, riducendo il costo del materiale. Le configurazioni a griglia, a triangolo, tri-esagonali, cubiche, ottagonali, a quarto di cubo, incrociate e concentriche sono stampate completamente su ogni strato. Le configurazioni cubiche, a quarto di cubo e ottagonali variano per ciascuno strato per garantire una più uniforme distribuzione della forza in ogni direzione." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1560,6 +1560,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Incrociata 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3264,6 +3269,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Indica l’orientamento della configurazione del riempimento per i supporti. La configurazione del riempimento del supporto viene ruotata sul piano orizzontale." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3833,6 +3868,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Corrisponde al numero di linee utilizzate per un brim. Più linee brim migliorano l’adesione al piano di stampa, ma con riduzione dell'area di stampa." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5657,6 +5702,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matrice di rotazione da applicare al modello quando caricato dal file." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Collega i percorsi del rivestimento esterno superiore/inferiore quando corrono uno accanto all’altro. Per le configurazioni concentriche, l’abilitazione di questa impostazione riduce notevolmente il tempo di spostamento, tuttavia poiché i collegamenti possono aver luogo a metà del riempimento, con questa funzione la qualità della superficie superiore potrebbe risultare inferiore." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Configurazione del materiale di riempimento della stampa. Il riempimento a linea e a zig zag cambia direzione su strati alternati, riducendo il costo del materiale. Le configurazioni a griglia, a triangolo, tri-esagonali, cubiche, ottagonali, a quarto di cubo, incrociate e concentriche sono stampate completamente su ogni strato. Le configurazioni cubiche, a quarto di cubo e ottagonali variano per ciascuno strato per garantire una più uniforme distribuzione della forza in ogni direzione." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "3D concentrica" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 80fefa2b42..3a92f06dca 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 15:19+0200\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" @@ -48,8 +48,8 @@ msgstr "GCodeWriter は非テキストモードはサポートしていません #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "保存する前に G-code を生成してください。" +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Changelogの表示" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -86,27 +91,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "プロファイルが平らになり、アクティベートされました。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USBプリンティング" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "USBを使ってプリントする" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "USBを使ってプリントする" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "USBにて接続する" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "USBプリントを実行しています。Cura を閉じるとこのプリントも停止します。実行しますか?" @@ -138,7 +143,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter はテキストモードをサポートしていません。" -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimakerフォーマットパッケージ" @@ -160,7 +165,7 @@ msgid "Save to Removable Drive {0}" msgstr "リムーバブルドライブ{0}に保存" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "書き出すために利用可能な形式のファイルがありません!" @@ -199,7 +204,7 @@ msgstr "リムーバブルドライブ{0}に保存することができません #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "エラー" @@ -228,8 +233,8 @@ msgstr "リムーバブルデバイス{0}を取り出す" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "警告" @@ -256,141 +261,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "リムーバブルドライブ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "ネットワーク上のプリント" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "ネットワークのプリント" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "ネットワーク上で接続。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "ネットワーク上で接続。プリンタへのリクエストを承認してください。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "ネットワーク上で接続。プリントを操作するアクセス権がありません。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "プリンターへのアクセスが申請されました。プリンタへのリクエストを承認してください" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "認証ステータス" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "認証ステータス" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "再試行" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "アクセスリクエストを再送信" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "プリンターへのアクセスが承認されました" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "このプリンターへのアクセスが許可されていないため、プリントジョブの送信ができませんでした。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "アクセスのリクエスト" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "アクセスのリクエスト送信" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "新しいプリントジョブを開始できません。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Ultimakerの設定に問題があるため、印刷が開始できません。問題を解消してからやり直してください。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "ミスマッチの構成" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "選択された構成にてプリントを開始してもいいですか。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "プリンターの設定、キャリブレーションとCuraの構成にミスマッチがあります。プリンターに設置されたプリントコア及びフィラメントを元にCuraをスライスすることで最良の印刷結果を出すことができます。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "新しいデータの送信 (temporarily) をブロックします、前のプリントジョブが送信中です。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "プリンターにプリントデータを送信中" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "プリントデータを送信中" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -400,78 +400,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "キャンセル" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "プリントコアがスロット{slot_number}に入っていません。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "材料がスロット{slot_number}に入っていません。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "エクストルーダー {extruder_id} に対して異なるプリントコア(Cura: {cura_printcore_name}, プリンター: {remote_printcore_name})が選択されています。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "異なるフィラメントが入っています(Cura:{0}, プリンター{1})エクストルーダー{2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "プリンターと同期する" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Curaで設定しているプリンタ構成を使用されますか?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "プリンターのプリントコア及びフィラメントが現在のプロジェクトと異なります。最善な印刷結果のために、プリンタに装着しているプリントコア、フィラメントに合わせてスライスして頂くことをお勧めします。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "ネットワーク上で接続" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "プリントジョブは正常にプリンターに送信されました。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "データを送信しました" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "モニター表示" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "プリンター’{printer_name}’が’{job_name}’のプリントを終了しました。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "プリントジョブ '{job_name}' は完了しました。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "プリント終了" @@ -481,49 +481,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "ネットワーク上にて接続" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "モニター" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "必要なアップデートの情報にアクセスできません。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "{machine_name} で利用可能な新しい機能があります。プリンターのファームウェアをアップデートしてください。" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "新しい利用可能な%sファームウェアのアップデートがあります" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "アップデートの仕方" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "必要なアップデートの情報にアクセスできません。" - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "レイヤービュー" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Curaはワイヤープリンティング設定中には正確にレイヤーを表示しません" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "シミュレーションビュー" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "G-codeを修正" @@ -537,32 +537,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "サポートが印刷されないボリュームを作成します。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Curaは、匿名化した利用統計を収集します。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "データを収集中" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "詳細" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Curaが送信するデータについて詳しくご覧ください。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "許可" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Curaが匿名化した利用統計を送信することを許可し、Curaの将来の改善を優先的に行うことに貢献します。プレファレンスと設定の一部、Curaのバージョン、スライスしているモデルのハッシュが送信されます。" @@ -597,56 +597,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF画像" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "選ばれたプリンターまたは選ばれたプリント構成が異なるため進行中の材料にてスライスを完了できません。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "スライスできません" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "現在の設定でスライスが完了できません。以下の設定にエラーがあります: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "モデル別の設定があるためスライスできません。1つまたは複数のモデルで以下の設定にエラーが発生しました:{error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "プライムタワーまたはプライム位置が無効なためスライスできません。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "無効な Extruder %s に関連付けられている造形物があるため、スライスできません。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "モデルのデータがビルトボリュームに入っていないためスライスできるものがありません。スケールやローテーションにて合うように設定してください。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "レイヤーを処理しています" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "インフォメーション" @@ -662,13 +662,13 @@ msgid "Configure Per Model Settings" msgstr "各モデル構成設定" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "推奨" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "カスタム" @@ -680,7 +680,7 @@ msgid "3MF File" msgstr "3MF ファイル" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "ノズル" @@ -706,18 +706,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Gファイル" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-codeを解析" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-codeの詳細" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "データファイルを送信する前に、プリンターとプリンターの構成設定にそのG-codeが適応しているか確認してください。G-codeの表示が適切でない場合があります。" @@ -728,16 +728,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Curaプロファイル" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "プロファイルアシスタント" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "プロファイルアシスタント" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -759,11 +749,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "アップグレードを選択する" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "ファームウェアをアップグレード" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -774,79 +759,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "ビルドプレートを調整する" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "アウターウォール" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "インナーウォール" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "スキン" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "インフィル" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "サポートイルフィル" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "サポートインターフェイス" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "サポート" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "スカート" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "移動" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "退却" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "他" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "不明" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "スライス前ファイル {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "すでに存在するファイルです" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -858,23 +843,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "上書きできません" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "選択されたフィラメントはプリンターとそのプリント構成に適応しておりません。" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "不適合フィラメント" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "現在利用可能なエクストルーダー [%s] に合わせて設定が変更されました。" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "設定が更新されました" @@ -903,8 +888,6 @@ msgid "Export succeeded" msgstr "書き出し完了" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -912,58 +895,70 @@ msgstr "{0}: {1}からプロファイル #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "ファイル{0}にはカスタムプロファイルがインポートされていません" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "このプロファイル{0}には、正しくないデータが含まれていて、インポートできません。" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "プロファイル{0}の中で定義されているマシン({1})は、現在お使いのマシン({2})と一致しませんので、インポートできませんでした。" +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "プロファイル {0}の取り込み完了" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "ファイル{0}には、正しいプロファイルが含まれていません。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "プロファイル{0}は不特定なファイルまたは破損があります。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "カスタムプロファイル" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "プロファイルはクオリティータイプが不足しています。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "進行中のプリント構成にあったクオリティータイプ{0}が見つかりませんでした。" -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -990,12 +985,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "全てのファイル" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "カスタムフィラメント" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "カスタム" @@ -1010,22 +1005,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "造形サイズ" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "ユーザーデータディレクトリからアーカイブを作成できません: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "バックアップ" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "適切なデータまたはメタデータがないのにCuraバックアップをリストアしようとしました。" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "現行バージョンと一致しないCuraバックアップをリストアしようとしました。" @@ -1200,40 +1195,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "レポート送信" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "プリンターを読み込み中…" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "シーンをセットアップ中…" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "インターフェイスを読み込み中…" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "一度に一つのG-codeしか読み取れません。{0}の取り込みをスキップしました。" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "G-codeを読み込み中は他のファイルを開くことができません。{0}の取り込みをスキップしました。" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "選択したモデルは読み込むのに小さすぎます。" @@ -1264,9 +1259,9 @@ msgstr "X(幅)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1401,22 +1396,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "プリンターに対応したフィラメントの直径。正確な直径はフィラメント及びまたはプロファイルに変動します。" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "ノズルオフセットX" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "ノズルオフセットY" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "エクストルーダーがG-Codeを開始する" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "エクストルーダーがG-Codeを終了する" @@ -1437,41 +1442,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Curaパッケージデータベースに接続できません。接続を確認してください。" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "プラグイン" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "マテリアル" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "バージョン" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "最終更新日" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "著者" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "ダウンロード" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "不明" @@ -1506,8 +1512,8 @@ msgstr "戻る" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "アンインストール確認 " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1554,7 +1560,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "汎用材料" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "インストールした" @@ -1636,48 +1642,88 @@ msgid "Changelog" msgstr "Changelogの表示" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "閉める" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "ファームウェアとは直接お持ちの3Dプリンターを動かすソフトウェアです。このファームウェアはステップモーターを操作し、温度を管理し、プリンターとして成すべき点を補います。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "配達時のファームウェアで動かすことはできますが、新しいバージョンの方がより改善され、便利なフィーチャーがついてきます。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "自動でファームウェアをアップグレード" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "カスタムファームウェアをアップロードする" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "カスタムファームウェアを選択する" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "ファームウェアアップデート" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "ファームウェアアップデート中。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "ファームウェアアップデート完了。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "不特定なエラーの発生によりファームウェアアップデート失敗しました。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "コミュニケーションエラーによりファームウェアアップデート失敗しました。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "インプット/アウトプットエラーによりファームウェアアップデート失敗しました。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "ファームウェアが見つからず、ファームウェアアップデート失敗しました。" @@ -1687,22 +1733,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "ユーザー用使用許諾契約" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "既存の接続" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "このプリンター/グループはすでにCuraに追加されています。別のプリンター/グループを選択しえください。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "ネットワーク上で繋がったプリンターに接続" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1710,18 +1756,18 @@ msgid "" "Select your printer from the list below:" msgstr "ネットワーク接続にて直接プリントするためには、必ずケーブルまたはWifiネットワークにて繋がっていることを確認してください。Curaをプリンターに接続していない場合でも、USBメモリを使って直接プリンターにg-codeファイルをトランスファーできます。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "追加" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "編集" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1729,244 +1775,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "取り除く" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "更新" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "お持ちのプリンターがリストにない場合、ネットワーク・プリンティング・トラブルシューティング・ガイドを読んでください" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "タイプ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "ファームウェアバージョン" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "アドレス" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "このプリンターは、プリンターのグループをホストするために設定されていません。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "このプリンターは %1 プリンターのループのホストプリンターです。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "このアドレスのプリンターは応答していません。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "接続" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "プリンターアドレス" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "ネットワーク内のプリンターのIPアドレスまたはホストネームを入力してください。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "ネットワーク上のプリント" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "プリンターの選択" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "プリント" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "ネットワーク上のプリント" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "待ち時間: 利用できないプリンター" +msgid "Printer selection" +msgstr "プリンターの選択" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "待ち時間: 次の空き" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "待ち時間: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "最上位に移動" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "印刷ジョブを最上位に移動する" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "%1 をキューの最上位に移動しますか?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "削除" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "印刷ジョブの削除" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "%1 を削除しますか?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "キュー管理" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "順番を待つ" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "プリント中" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "プリンター管理" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "利用できません" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "到達不能" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "利用可能" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "中止しました" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "終了" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "準備中" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "一時停止中" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "再開" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "アクションが必要です" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "待ち時間: 利用できないプリンター" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "待ち時間: 次の空き" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "待ち時間: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "キュー管理" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "順番を待つ" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "プリント中" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "プリンター管理" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "最上位に移動" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "削除" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "再開" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "一時停止" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "中止" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "%1 をキューの最上位に移動しますか?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "印刷ジョブを最上位に移動する" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "%1 を削除しますか?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "印刷ジョブの削除" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "%1 を中止してよろしいですか?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "プリント中止" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "%1 を中止してよろしいですか?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "中止しました" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "終了" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "準備中" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "一時停止中" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "一時停止" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "再開" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "アクションが必要です" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "プリンターにつなぐ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "プリンターの構成をCuraに取り入れる" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "プリント構成をアクティベートする" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "プリンターの構成をCuraに取り入れる" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2057,17 +2159,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "スクリプトの処理後" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "スクリプトを加える" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "設定" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "処理したスクリプトを変更する" @@ -2192,23 +2294,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "他のモデルのインフィルの設定を変更" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "設定を選択する" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "このモデルをカスタマイズする設定を選択する" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "フィルター…" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "すべて表示する" @@ -2259,6 +2361,7 @@ msgid "Type" msgstr "タイプ" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "プリンターグループ" @@ -2276,6 +2379,7 @@ msgstr "このプロファイルの問題をどのように解決すればいい #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2456,6 @@ msgctxt "@action:button" msgid "Open" msgstr "開く" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "前" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "書き出す" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "次" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "ヒント" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00時間 00分" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "コスト仕様" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "合計:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "試し印刷" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "チェックリスト" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2497,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "次のポジションに移動" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "ファームウェアをアップグレード" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "ファームウェアとは直接お持ちの3Dプリンターを動かすソフトウェアです。このファームウェアはステップモーターを操作し、温度を管理し、プリンターとして成すべき点を補います。" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "配達時のファームウェアで動かすことはできますが、新しいバージョンの方がより改善され、便利なフィーチャーがついてきます。" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "自動でファームウェアをアップグレード" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "カスタムファームウェアをアップロードする" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "カスタムファームウェアを選択する" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2684,7 +2682,7 @@ msgid "Customized" msgstr "カスタマイズ" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "毎回確認する" @@ -2832,6 +2830,12 @@ msgctxt "@action:button" msgid "Import" msgstr "取り込む" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "書き出す" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2917,283 +2921,283 @@ msgid "Unit" msgstr "ユニット" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "一般" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "インターフェイス" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "言語:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "通貨:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "テーマ:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "それらの変更を有効にするためにはアプリケーションを再起動しなけらばなりません。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "セッティングを変更すると自動にスライスします。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "自動的にスライスする" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "ビューポイント機能" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "赤でサポートができないエリアをハイライトしてください。サポートがない場合、正確にプリントができない場合があります。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "ディスプレイオーバーハング" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "モデルの選択時にモデルがカメラの中心に見えるようにカメラを移動する" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "アイテムを選択するとカメラが中心にきます" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Curaのデフォルトのズーム機能は変更できるべきか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "カメラのズーム方向を反転する。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "ズームはマウスの方向に動くべきか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "マウスの方向にズームする" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "交差を避けるためにプラットホーム上のモデルを移動するべきですか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "モデルの距離が離れているように確認する" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "プラットホーム上のモデルはブルドプレートに触れるように下げるべきか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "自動的にモデルをビルドプレートに落とす" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "G-codeリーダーに注意メッセージを表示します。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "G-codeリーダーに注意メッセージ" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "レイヤーはコンパティビリティモードに強制されるべきか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "レイヤービューコンパティビリティモードを強制する。(再起動が必要)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "ファイルを開くまた保存" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "モデルがビルドボリュームに対して大きすぎる場合はスケールされるべきか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "大きなモデルをスケールする" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "ユニット値がミリメートルではなくメートルの場合、モデルが極端に小さく現れる場合があります。モデルはスケールアップされるべきですか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "極端に小さなモデルをスケールアップする" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "モデルはロード後に選択しますか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "ロード後にモデルを選択" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "プリンター名の敬称はプリントジョブの名前に自動的に加えられるべきか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "プリンターの敬称をジョブネームに加える" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "プロジェクトファイルを保存時にサマリーを表示するべきか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "プロジェクトを保存時にダイアログサマリーを表示する" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "プロジェクトファイルを開く際のデフォルト機能" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "プロジェクトファイル開く際のデフォルト機能: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "毎回確認する" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "常にプロジェクトとして開く" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "常にモデルを取り込む" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "プロファイル内を変更し異なるプロファイルにしました、どこの変更点を保持、破棄したいのダイアログが表示されます、また何度もダイアログが表示されないようにデフォルト機能を選ぶことができます。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "プロファイル" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "プロファイル交換時に設定値を変更するためのデフォルト処理: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "常に変更した設定を廃棄する" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "常に変更した設定を新しいプロファイルに送信する" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "プライバシー" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Curaのプログラム開始時にアップデートがあるかチェックしますか?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "スタート時にアップデートあるかどうかのチェック" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "プリンターの不明なデータをUltimakerにおくりますか?メモ、モデル、IPアドレス、個人的な情報は送信されたり保存されたりはしません。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(不特定な) プリントインフォメーションを送信" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "詳細" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "実験" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "マルチビルドプレート機能を使用" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "マルチビルドプレート機能を使用 (再起動が必要)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "プリンター" @@ -3215,7 +3219,7 @@ msgid "Connection:" msgstr "コネクション:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "このプリンターはつながっていません。" @@ -3241,7 +3245,7 @@ msgid "Aborting print..." msgstr "プリントを停止します…" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "プロファイル" @@ -3322,17 +3326,17 @@ msgid "Global Settings" msgstr "グローバル設定" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "プリンターを追加する" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "プリンター名:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "プリンターについて" @@ -3347,119 +3351,139 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Curaについて" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "バージョン: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "熱溶解積層型3Dプリンティングのエンドtoエンドソリューション。" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" msgstr "CuraはUltimakerB.Vのコミュニティの協力によって開発され、Curaはオープンソースで使えることを誇りに思います:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "グラフィックユーザーインターフェイス" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "アプリケーションフレームワーク" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "G-codeの生成" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "インタープロセスコミュニケーションライブラリー" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "プログラミング用語" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUIフレームワーク" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUIフレームワークバインディング" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C/C++ バインディングライブラリー" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "データインターフェイスフォーマット" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "サイエンスコンピューティングを操作するためのライブラリーサポート" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "ファターマスを操作するためのライブラリーサポート" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "STLファイルを操作するためのライブラリーサポート" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "3MFファイルを操作するためのライブラリーサポート" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "シリアルコミュニケーションライブラリー" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "ZeroConfディスカバリーライブラリー" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "ポリゴンクリッピングライブラリー" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Python HTTPライブラリー" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "フォント" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVGアイコン" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Linux 分散アプリケーションの開発" @@ -3469,7 +3493,7 @@ msgctxt "@label" msgid "Profile:" msgstr "プロファイル:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3479,53 +3503,53 @@ msgstr "" "いくらかの設定プロファイルにある値とことなる場合無効にします。\n" "プロファイルマネージャーをクリックして開いてください。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "検索…" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "すべてのエクストルーダーの値をコピーする" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "すべてのエクストルーダーに対して変更された値をコピーする" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "この設定を非表示にする" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "この設定を表示しない" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "常に見えるように設定する" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "視野のセッティングを構成する" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "すべて折りたたむ" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "すべて展開する" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3545,17 +3569,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "次によって影響を受ける" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "この設定は常に全てのエクストルーダーに共有されています。ここですべてのエクストルーダーの数値を変更できます。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "この値は各エクストルーダーの値から取得します " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3565,7 +3589,7 @@ msgstr "" "この設定にプロファイルと異なった値があります。\n" "プロファイルの値を戻すためにクリックしてください。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3719,12 +3743,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&ビュー" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "カメラ位置 (&C)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "ビルドプレート (&B)" @@ -3734,12 +3758,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "ビジブル設定" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "すべての設定を表示" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "視野のセッティングを管理する" @@ -3802,17 +3826,44 @@ msgstr "" "プリントセットアップが無効\n" "G-codeファイルを修正することができません" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00時間 00分" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "時間仕様" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "コスト仕様" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "合計:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "おすすめプリントセットアップ

選択されたプリンターにておすすめの設定、フィラメント、質にてプリントしてください。" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "カスタムプリントセットアップ

スライス処理のきめ細かなコントロールにてプリントする。" @@ -3837,223 +3888,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "残り時間" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "留め金 フルスクリーン" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&取り消す" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&やりなおす" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&やめる" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "3Dビュー" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "フロントビュー" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "トップビュー" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "左サイドビュー" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "右サイドビュー" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Curaを構成する…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&プリンターを追加する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "プリンターを管理する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "フィラメントを管理する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&現在の設定/無効にプロファイルをアップデートする" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&変更を破棄する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&今の設定/無効からプロファイルを作成する…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "プロファイルを管理する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "オンラインドキュメントを表示する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "報告&バグ" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "アバウト..." # can’t enter japanese text -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "&選択したモデルを削除" # can’t enter japanese text -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "選択したモデルを中央に移動" # can’t edit japanese text -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "選択した複数のモデル" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "モデルを消去する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "プラットホームの中心にモデルを配置" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&モデルグループ" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "モデルを非グループ化" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "モ&デルの合体" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&モデルを増倍する…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "すべてのモデル選択" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "ビルドプレート上のクリア" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "すべてのモデルを読み込む" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "すべてのモデルをすべてのビルドプレートに配置" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "すべてのモデルをアレンジする" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "選択をアレンジする" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "すべてのモデルのポジションをリセットする" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "すべてのモデル&変更点をリセットする" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&ファイルを開く(s)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&新しいプロジェクト…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "エンジン&ログを表示する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "コンフィグレーションのフォルダーを表示する" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "パッケージを見る…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "サイドバーを展開する/たたむ" @@ -4114,7 +4165,7 @@ msgid "Select the active output device" msgstr "アクティブなアウトプットデバイスを選択する" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "ファイルを開く" @@ -4134,145 +4185,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&ファイル" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&保存..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&エクスポート..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "選択エクスポート..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&編集" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&ビュー" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&設定" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&プリンター" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&フィラメント" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "アクティブエクストルーダーとしてセットする" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "エクストルーダーを有効にする" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "エクストルーダーを無効にする" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "ビルドプレート (&B)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&プロファイル" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "拡張子" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&ツールボックス" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "プレファレンス" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "ヘルプ" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "このパッケージは再起動後にインストールされます。" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "ファイルを開く" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "設定" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "新しいプロジェクト…" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "新しいプロジェクトを開始しますか?この作業では保存していない設定やビルドプレートをクリアします。" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Cura を閉じる" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Cura を終了しますか?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "パッケージをインストール" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "ファイルを開く(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "選択したファイルの中に複数のG-codeが存在します。1つのG-codeのみ一度に開けます。G-codeファイルを開く場合は、1点のみ選んでください。" @@ -4282,11 +4333,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "プロジェクトを保存" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4357,37 +4403,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "グラデュアルインフィルはトップに向かうに従ってインフィルの量を増やします。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "グラデュアルを有効にする" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "サポートを生成します" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "オーバーハングがあるモデルにサポートを生成します。このサポート構造なしでは、プリント中にオーバーハングのパーツが崩壊してしまいます。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "サポートに使うエクストルーダーを選択してください。モデルの垂れや中空プリントを避けるためにモデルの下にサポート構造を生成します。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "ビルドプレートの接着" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "ブリムまたはラフトのプリントの有効化。それぞれ、プリントの周り、また造形物の下に底面を加え切り取りやすくします。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "プリントにヘルプが必要ですか?
Ultimakerトラブルシューティングガイドを読んでください" @@ -4549,6 +4595,16 @@ msgctxt "name" msgid "Changelog" msgstr "Changelog" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4899,16 +4955,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Curaプロファイルライター" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "材料メーカーがドロップインUIを使用して新しい材料と品質のプロファイルを作成できるようにします。" - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "プリントプロファイルアシスタント" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4939,6 +4985,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Curaプロファイルリーダー" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "保存する前に G-code を生成してください。" + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "プロファイルアシスタント" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "プロファイルアシスタント" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "ファームウェアをアップグレード" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "不明" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "ファイル{0}にはカスタムプロファイルがインポートされていません" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "このプロファイル{0}には、正しくないデータが含まれていて、インポートできません。" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "プロファイル{0}の中で定義されているマシン({1})は、現在お使いのマシン({2})と一致しませんので、インポートできませんでした。" + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "アンインストール確認 " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "一時停止" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "前" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "次" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "ヒント" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "試し印刷" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "チェックリスト" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "ファームウェアをアップグレード" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "材料メーカーがドロップインUIを使用して新しい材料と品質のプロファイルを作成できるようにします。" + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "プリントプロファイルアシスタント" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Doodle3D WiFi-Boxでプリントする" diff --git a/resources/i18n/ja_JP/fdmextruder.def.json.po b/resources/i18n/ja_JP/fdmextruder.def.json.po index c18a660997..ab5fe2b8ac 100644 --- a/resources/i18n/ja_JP/fdmextruder.def.json.po +++ b/resources/i18n/ja_JP/fdmextruder.def.json.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:24+0200\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" @@ -15,7 +16,6 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.6\n" -"POT-Creation-Date: \n" #: fdmextruder.def.json msgctxt "machine_settings label" @@ -167,6 +167,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "印刷開始時にノズルがポジションを確認するZ座標。" +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index c584466616..f14ed87c12 100644 --- a/resources/i18n/ja_JP/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.comPOT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:27+0200\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" @@ -16,7 +17,6 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.0.6\n" -"POT-Creation-Date: \n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -1122,8 +1122,8 @@ msgstr "上層/底層ポリゴンに接合" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "互いに次に実行する上層/底層スキンパスに接合します。同心円のパターンの場合、この設定を有効にすることにより、移動時間が短縮されますが、インフィルまでの途中で接合があるため、この機能で上層面の品質が損なわれることがあります。" +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1568,8 +1568,8 @@ msgstr "インフィルパターン" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "印刷用インフィル材料のパターン。代替層のラインとジグザグの面詰めスワップ方向、材料コストを削減します。グリッド、トライアングル、トライ六角、キュービック、オクテット、クォーターキュービック、クロスと同心円のパターンは、すべてのレイヤーを完全に印刷されます。キュービック、クォーターキュービック、オクテットのインフィルは、各レイヤーを変更して各方向の強度をより均等な分布にします。" +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1634,6 +1634,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "3Dクロス" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + # msgstr "クロス3D" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -3366,6 +3371,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "対応するインフィルラインの向きです。サポートインフィルパターンは平面で回転します。" +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3963,6 +3998,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "ブリムに使用される線数。ブリムの線数は、ビルドプレートへの接着性を向上させるだけでなく、有効な印刷面積を減少させる。" +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5808,6 +5853,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "ファイルから読み込むときに、モデルに適用するトランスフォーメーションマトリックス。" +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "互いに次に実行する上層/底層スキンパスに接合します。同心円のパターンの場合、この設定を有効にすることにより、移動時間が短縮されますが、インフィルまでの途中で接合があるため、この機能で上層面の品質が損なわれることがあります。" + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "印刷用インフィル材料のパターン。代替層のラインとジグザグの面詰めスワップ方向、材料コストを削減します。グリッド、トライアングル、トライ六角、キュービック、オクテット、クォーターキュービック、クロスと同心円のパターンは、すべてのレイヤーを完全に印刷されます。キュービック、クォーターキュービック、オクテットのインフィルは、各レイヤーを変更して各方向の強度をより均等な分布にします。" + # msgstr "同心円" #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index a97c5cf05b..4a63fece94 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" @@ -48,8 +48,8 @@ msgstr "GCodeWriter는 텍스트가 아닌 모드는 지원하지 않습니다." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "저장하기 전에 G-code를 생성하십시오." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "변경 내역 표시" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "프로파일이 병합되고 활성화되었습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "USB를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "USB를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "USB를 통해 연결" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "USB 인쇄가 진행 중입니다. Cura를 닫으면 인쇄도 중단됩니다. 계속하시겠습니까?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter는 텍스트 모드는 지원하지 않습니다." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker 포맷 패키지" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "이동식 드라이브 {0}에 저장" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "쓸 수있는 파일 형식이 없습니다!" @@ -198,7 +203,7 @@ msgstr "이동식 드라이브 {0}: {1} 에 저장할 수 없습니다 :" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "오류" @@ -227,8 +232,8 @@ msgstr "이동식 장치 {0} 꺼내기" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "경고" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "이동식 드라이브" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "네트워크를 통해 프린팅" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "네트워크를 통해 연결됨." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "네트워크를 통해 연결되었습니다. 프린터의 접근 요청을 승인하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "네트워크를 통해 연결되었습니다. 프린터를 제어할 수 있는 권한이 없습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "요청된 프린터에 대한 액세스. 프린터에서 요청을 승인하십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "인증 상태" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "인증 상태" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "재시도" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "접근 요청 다시 보내기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "허용 된 프린터에 대한 접근 허용" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "이 프린터로 프린팅 할 수 없습니다. 프린팅 작업을 보낼 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "접근 요청" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "프린터에 접근 요청 보내기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "새 프린팅 작업을 시작할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Ultimaker의 설정에 문제가 있어 프린팅을 시작할 수 없습니다. 계속하기 전에 이 문제를 해결하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "일치하지 않는 구성" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "선택한 구성으로 프린팅 하시겠습니까?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "프린터와 Cura의 설정이 일치하지 않습니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료로 슬라이싱을 하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "새로운 작업 전송 (일시적)이 차단되어 이전 프린팅 작업을 계속 보냅니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "프린터로 데이터 보내기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "데이터 전송 중" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "취소" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "{slot_number} 슬롯에 로드 된 프린터코어가 없음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "{slot_number}에 로드 된 재료가 없음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "익스트루더 {extruder_id}에 대해 다른 프린터코어 (Cura : {cura_printcore_name}, 프린터 : {remote_printcore_name})가 선택되었습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "익스트루더 {2}에 다른 재료 (Cura : {0}, Printer : {1})가 선택됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "프린터와 동기화" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Cura에서 현재 프린터 구성을 사용 하시겠습니까?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "프린터의 PrintCores와 재료는 현재 프로젝트 내의 재료와 다릅니다. 최상의 결과를 얻으려면 프린터에 삽입 된 PrintCores 및 재료로 슬라이싱 하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "네트워크를 통해 연결됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "출력 작업이 프린터에 성공적으로 보내졌습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "데이터 전송 됨" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "모니터에서 보기" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "'{printer_name} 프린터가 '{job_name}' 프린팅을 완료했습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "인쇄 작업 ‘{job_name}’이 완료되었습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "프린팅이 완료됨" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "네트워크를 통해 연결" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "모니터" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "업데이트 정보에 액세스 할 수 없습니다." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "{machine_name}의 새로운 기능을 사용할 수 있습니다! 프린터의 펌웨어를 업데이트하는 것이 좋습니다." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "새로운 %s 펌웨어를 사용할 수 있습니다" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "업데이트하는 방법" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "업데이트 정보에 액세스 할 수 없습니다." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "레이어 뷰" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "와이어 프린팅이 활성화되어 있을 때 Cura는 레이어를 정확하게 표시하지 않습니다" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "시뮬레이션 뷰" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "G 코드 수정" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "서포트가 프린팅되지 않는 볼륨을 만듭니다." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura는 익명의 사용 통계를 수집합니다." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "데이터 수집" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "추가 정보" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Cura가 전송하는 데이터에 대한 추가 정보를 확인하십시오." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "허용" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Cura가 익명의 사용 통계를 보내 Cura에 대한 향후 개선을 우선화하는 데 도움을 줍니다. Cura 버전과 슬라이싱하는 모델의 해쉬 등 일부 환경설정 값이 발송됩니다." @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF 이미지" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "선택한 소재 또는 구성과 호환되지 않기 때문에 현재 소재로 슬라이스 할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "슬라이스 할 수 없습니다" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "현재 설정으로 슬라이스 할 수 없습니다. 다음 설정에는 오류가 있습니다 : {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "일부 모델별 설정으로 인해 슬라이스할 수 없습니다. 하나 이상의 모델에서 다음 설정에 오류가 있습니다. {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "프라임 타워 또는 위치가 유효하지 않아 슬라이스 할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "비활성화된 익스트루더 %s(와)과 연결된 개체가 있기 때문에 슬라이스할 수 없습니다." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "어떤 모델도 빌드 볼륨에 맞지 않으므로 슬라이스 할 수 없습니다. 크기에 맞게 모델을 회전하거나 회전하십시오." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "레이어 처리 중" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "정보" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "모델 별 설정 구성" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "추천" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "사용자 정의" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "3MF 파일" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "노즐" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G 파일" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G 코드 파싱" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-코드 세부 정보" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "파일을 보내기 전에 g-코드가 프린터 및 프린터 구성에 적합한 지 확인하십시오. g-코드가 정확하지 않을 수 있습니다." @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura 프로파일" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "프로파일 어시스턴트" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "프로파일 어시스턴트" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "업그레이드 선택" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "펌웨어 업그레이드" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "레벨 빌드 플레이트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "외벽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "내벽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "스킨" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "내부채움" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "내부채움 서포트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "지원하는 인터페이스" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "서포트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "스커트" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "움직임 경로" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "리트랙션" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "다른" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "알 수 없음" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "미리 슬라이싱한 파일 {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "파일이 이미 있습니다" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "재정의되지 않음" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "선택한 재료가 선택한 기기 또는 구성과 호환되지 않습니다." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "호환되지 않는 재료" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "현재 사용가능한 익스트루더: [% s]에 맞도록 설정이 변경되었습니다" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "설정이 업데이트되었습니다" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "내보내기 완료" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "{0}: {1} 에서 프로파일을 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "{0} 로 가져올 사용자 정의 프로파일이 없습니다" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "프로파일 {0} 에는 정확하지 않은 데이터가 포함되어 있으므로, 불러올 수 없습니다." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "The machine defined in profile {0} ({1}) doesn’t match with your current machine ({2}), could not import it." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "프로파일 {0}을 성공적으로 가져 왔습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "파일 {0}에 유효한 프로파일이 포함되어 있지 않습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "프로파일 {0}에 알 수 없는 파일 유형이 있거나 손상되었습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "사용자 정의 프로파일" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "프로파일에 품질 타입이 누락되었습니다." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "현재 구성에 대해 품질 타입 {0}을 찾을 수 없습니다." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "모든 파일 (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "사용자 정의 소재" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "사용자 정의" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "출력물 크기" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "사용자 데이터 디렉터리에서 압축 파일을 만들 수 없습니다: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "백업" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "적절한 데이터 또는 메타 데이터 없이 Cura 백업을 복원하려고 시도했습니다." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "현재 버전과 일치하지 않는 Cura 백업을 복원하려고 시도했습니다." @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "보고서 전송" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "기기로드 중 ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "장면 설정 중..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "인터페이스 로드 중 ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "한 번에 하나의 G-코드 파일만 로드 할 수 있습니다. {0} 가져 오기를 건너 뛰었습니다." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "G-코드가 로드되어 있으면 다른 파일을 열 수 없습니다. {0} 가져 오기를 건너 뛰었습니다." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "선택한 모델이 너무 작아서 로드할 수 없습니다." @@ -1263,9 +1258,9 @@ msgstr "X (너비)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "프린터가 지원하는 필라멘트의 직경. 정확한 직경은 소재 및 / 또는 프로파일에 의해 덮어써집니다." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "노즐 오프셋 X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "노즐 오프셋 Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "익스트루더 시작 Gcode" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "익스트루더 종료 Gcode" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Cura 패키지 데이터베이스에 연결할 수 없습니다. 연결을 확인하십시오." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "플러그인" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "재료" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "버전" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "마지막으로 업데이트한 날짜" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "원작자" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "다운로드" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "알 수 없는" @@ -1505,8 +1511,8 @@ msgstr "뒤로" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "제거 확인 " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "일반 재료" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "설치됨" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "변경 내역" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "닫기" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "펌웨어는 3D 프린터에서 직접 실행되는 소프트웨어입니다. 이 펌웨어는 스텝 모터를 제어하고 온도를 조절하며 프린터를 작동시킵니다." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "새 프린터와 함께 제공되는 펌웨어는 작동하지만 새로운 버전은 더 많은 기능과 향상된 기능을 제공하는 경향이 있습니다." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "펌웨어 자동 업그레이드" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "사용자 정의 펌웨어 업로드" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "사용자 정의 펌웨어 선택" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "펌웨어 업데이트" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "펌웨어 업데이트 중." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "펌웨어 업데이트가 완료되었습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "알 수 없는 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "통신 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "입/출력 오류로 인해 펌웨어 업데이트에 실패했습니다." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "펌웨어 누락으로 인해 펌웨어 업데이트에 실패했습니다." @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "사용자 계약" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "기존 연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "이 프린터/그룹은 이미 Cura에 추가되었습니다. 다른 프린터/그룹을 선택하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "네트워크 프린터에 연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "아래 목록에서 프린터를 선택하십시오:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "추가" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "편집" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "제거" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "새로고침" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "프린터가 목록에 없으면 네트워크 프린팅 문제 해결 가이드를 읽어보십시오" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "유형" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "펌웨어 버전" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "주소" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "이 프린터는 프린터 그룹을 호스트하도록 설정되어 있지 않습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "이 프린터는 1%개 프린터 그룹의 호스트입니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "이 주소의 프린터가 아직 응답하지 않았습니다." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "프린터 주소" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "네트워크에 프린터의 IP 주소 또는 호스트 이름을 입력하십시오." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "확인" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "네트워크를 통해 프린팅" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "프린터 선택" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "프린트" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "네트워크를 통해 프린팅" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "대기: 사용할 수 없는 프린터" +msgid "Printer selection" +msgstr "프린터 선택" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "대기: 첫 번째로 사용 가능" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "대기: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "맨 위로 이동" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "인쇄 작업을 맨 위로 이동" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "%1(을)를 대기열의 맨 위로 이동하시겠습니까?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "삭제" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "인쇄 작업 삭제" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "%1(을)를 삭제하시겠습니까?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "대기열 관리" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "대기 중" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "프린팅" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "프린터 관리" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "사용 불가" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "연결할 수 없음" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "유효한" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "중단됨" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "끝마친" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "준비중인" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "일시 정지 중" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "다시 시작" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "조치가 필요함" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "대기: 사용할 수 없는 프린터" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "대기: 첫 번째로 사용 가능" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "대기: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "대기열 관리" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "대기 중" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "프린팅" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "프린터 관리" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "맨 위로 이동" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "삭제" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "재개" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "중지" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "중단" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "%1(을)를 대기열의 맨 위로 이동하시겠습니까?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "인쇄 작업을 맨 위로 이동" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "%1(을)를 삭제하시겠습니까?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "인쇄 작업 삭제" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "%1(을)를 정말로 중지하시겠습니까?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "프린팅 중단" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "%1(을)를 정말로 중지하시겠습니까?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "중단됨" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "끝마친" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "준비중인" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "일시 정지 중" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "일시 중지됨" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "다시 시작" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "조치가 필요함" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "프린터에 연결" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Cura에 프린터 설정 로드" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "설정 활성화" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Cura에 프린터 설정 로드" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "후처리 스크립트" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "스크립트 추가" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "설정" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "활성 사후 처리 스크립트 변경" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "다른 모델의 내부채움에 대한 설정 수정" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "설정 선택" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "이 모델에 맞게 사용자 정의 설정을 선택하십시오" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "필터..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "모두 보이기" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "유형" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "프린터 그룹" @@ -2278,6 +2381,7 @@ msgstr "프로파일의 충돌을 어떻게 해결해야합니까?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2350,82 +2454,6 @@ msgctxt "@action:button" msgid "Open" msgstr "열기" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "이전" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "내보내기" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "다음" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "팁" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00시간 00분" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "비용 사양" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "총계:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "인쇄 실험" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "체크리스트" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2467,36 +2495,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "다음 위치로 이동" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "펌웨어 업그레이드" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "펌웨어는 3D 프린터에서 직접 실행되는 소프트웨어입니다. 이 펌웨어는 스텝 모터를 제어하고 온도를 조절하며 프린터를 작동시킵니다." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "새 프린터와 함께 제공되는 펌웨어는 작동하지만 새로운 버전은 더 많은 기능과 향상된 기능을 제공하는 경향이 있습니다." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "펌웨어 자동 업그레이드" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "사용자 정의 펌웨어 업로드" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "사용자 정의 펌웨어 선택" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2684,7 +2682,7 @@ msgid "Customized" msgstr "사용자 정의" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "항상 묻기" @@ -2832,6 +2830,12 @@ msgctxt "@action:button" msgid "Import" msgstr "가져오기" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "내보내기" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2917,283 +2921,283 @@ msgid "Unit" msgstr "단위" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "일반" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "인터페이스" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "언어:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "통화:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "테마:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "이러한 변경 사항을 적용하려면 응용 프로그램을 다시 시작해야합니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "설정이 변경되면 자동으로 슬라이싱 합니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "자동으로 슬라이싱" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "뷰포트 동작" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "지원되지 않는 모델 영역을 빨간색으로 강조 표시하십시오. 서포트가 없으면 이 영역이 제대로 프린팅되지 않습니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "오버행 표시" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "모델을 선택하면 모델이 뷰의 가운데에 오도록 카메라를 이동합니다" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "항목을 선택하면 카메라를 중앙에 위치" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "큐라의 기본 확대 동작을 반전시켜야 합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "카메라 줌의 방향을 반전시키기." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "확대가 마우스 방향으로 이동해야 합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "마우스 방향으로 확대" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "모델을 더 이상 교차시키지 않도록 이동해야합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "모델이 분리되어 있는지 확인" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "모델을 빌드 플레이트에 닿도록 아래로 움직여야합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "모델을 빌드 플레이트에 자동으로 놓기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "g-code 리더에 주의 메시지를 표시하기." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "g-code 리더의 주의 메시지" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "레이어가 호환 모드로 강제 설정되어야합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "레이어 뷰 호환성 모드로 전환 (다시 시작해야 함)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "파일 열기 및 저장" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "크기가 너무 큰 경우 모델을 빌드 볼륨에 맞게 조정해야합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "큰 모델의 사이즈 수정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "단위가 밀리미터가 아닌 미터 단위 인 경우 모델이 매우 작게 나타날 수 있습니다. 이 모델을 확대할까요?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "매우 작은 모델의 크기 조정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "모델을 로드한 후에 선택해야 합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "로드된 경우 모델 선택" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "프린터 이름에 기반한 접두어가 프린팅 작업 이름에 자동으로 추가되어야합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "작업 이름에 기기 접두어 추가" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "프로젝트 파일을 저장할 때 요약이 표시되어야합니까?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "프로젝트 저장시 요약 대화 상자 표시" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "프로젝트 파일을 열 때 기본 동작" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "프로젝트 파일을 열 때 기본 동작 " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "항상 묻기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "항상 프로젝트로 열기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "항상 모델 가져 오기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "프로파일을 변경하고 다른 프로파일로 전환하면 수정 사항을 유지할지 여부를 묻는 대화 상자가 표시됩니다. 기본 행동을 선택하면 해당 대화 상자를 다시 표시 하지 않을 수 있습니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "프로파일" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "다른 프로파일로 변경하는 경우 변경된 설정값에 대한 기본 동작 " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "항상 변경된 설정 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "항상 변경된 설정을 새 프로파일로 전송" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "보안" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura가 프로그램이 시작될 때 업데이트를 확인할까요?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "시작시 업데이트 확인" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "프린터에 대한 익명의 데이터를 Ultimaker로 보낼까요? 모델, IP 주소 또는 기타 개인 식별 정보는 전송되거나 저장되지 않습니다." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(익명) 프린터 정보 보내기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "추가 정보" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "실험적 설정" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "다수의 빌드 플레이트 사용하기" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "다수의 빌드 플레이트 사용하기(다시 시작해야 합니다)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "프린터" @@ -3215,7 +3219,7 @@ msgid "Connection:" msgstr "연결:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "프린터가 연결되어 있지 않습니다." @@ -3241,7 +3245,7 @@ msgid "Aborting print..." msgstr "프린팅 중단 중 ..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "프로파일" @@ -3322,17 +3326,17 @@ msgid "Global Settings" msgstr "전역 설정" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "프린터 추가" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "프린터 이름 :" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "프린터 추가" @@ -3347,17 +3351,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Cura 소개" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "버전: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "3D 프린팅을 위한 엔드 투 엔트 솔루션." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3366,102 +3370,122 @@ msgstr "" "Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\n" "Cura는 다음의 오픈 소스 프로젝트를 사용합니다:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "그래픽 사용자 인터페이스" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "애플리케이션 프레임 워크" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "GCode 생성기" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "프로세스간 통신 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "프로그래밍 언어" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI 프레임 워크" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUI 프레임 워크 바인딩" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C/C ++ 바인딩 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "데이터 교환 형식" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "과학 컴퓨팅을 위한 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "더 빠른 수학연산을 위한 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "STL 파일 처리를 위한 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "3MF 파일 처리를 위한 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "직렬 통신 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "ZeroConf discovery 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "다각형 클리핑 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Python HTTP 라이브러리" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "폰트" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG 아이콘" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Linux 교차 배포 응용 프로그램 배포" @@ -3471,7 +3495,7 @@ msgctxt "@label" msgid "Profile:" msgstr "프로파일:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3482,53 +3506,53 @@ msgstr "" "\n" "프로파일 매니저를 열려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "찾기..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "모든 익스트루더에 값 복사" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "변경된 사항을 모든 익스트루더에 복사" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "이 설정 숨기기" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "이 설정을 표시하지 않음" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "이 설정을 계속 표시하십시오" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "설정 보기..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "모두 축소" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "모두 확장" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3549,17 +3573,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "영향을 받다" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "이 설정은 항상 모든 익스트루더 사이에 공유됩니다. 여기서 변경하면 모든 익스트루더에 대한 값이 변경됩니다." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "이 값은 익스트루더마다 결정됩니다 " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3570,7 +3594,7 @@ msgstr "" "\n" "프로파일 값을 복원하려면 클릭하십시오." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3725,12 +3749,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "보기(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "카메라 위치(&C)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "빌드 플레이트(&B)" @@ -3740,12 +3764,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "표시 설정" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "모든 설정 보기" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "보기 설정 관리..." @@ -3806,17 +3830,44 @@ msgstr "" "프린팅 설정 사용 안 함\n" "G-코드 파일은 수정할 수 없습니다" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00시간 00분" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "시간 사양" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "비용 사양" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "총계:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "권장 프린팅 설정

선택한 프린터, 재료 및 품질에 대한 권장 설정으로 프린팅하십시오." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "사용자 정의 프린팅 설정

미세하게 슬라이싱 설정을 조절하여 프린팅하십시오." @@ -3841,220 +3892,220 @@ msgctxt "@label" msgid "Estimated time left" msgstr "예상 남은 시간" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "전채 화면 전환" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "되돌리기(&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "다시하기(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "종료(&Q)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "3D 보기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "앞에서 보기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "위에서 보기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "왼쪽에서 보기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "오른쪽에서 보기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura 구성 ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "프린터 추가..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "프린터 관리 ..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "재료 관리..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "현재 설정으로로 프로파일 업데이트" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "현재 변경 사항 무시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "현재 설정으로 프로파일 생성..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "프로파일 관리..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "온라인 문서 표시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "버그 리포트" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "소개..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "선택한 모델 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "선택한 모델 중심에 놓기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "선택한 모델 복제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "모델 삭제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "플랫폼중심에 모델 위치하기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "모델 그룹화" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "모델 그룹 해제" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "모델 합치기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "모델 복제..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "모든 모델 선택" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "빌드 플레이트 지우기" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "모든 모델 다시 로드" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "모든 모델을 모든 빌드 플레이트에 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "모든 모델 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "선택한 모델 정렬" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "모든 모델의 위치 재설정" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "모든 모델의 변환 재설정" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "파일 열기..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "새로운 프로젝트..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "엔진 로그 표시..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "설정 폴더 표시" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "패키지 찾아보기..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "사이드바 확장/축소" @@ -4115,7 +4166,7 @@ msgid "Select the active output device" msgstr "활성 출력 장치 선택" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "파일 열기" @@ -4135,145 +4186,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "파일" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "저장(&S)..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "내보내기(&E)..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "내보내기 선택..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "편집(&E)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "보기(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "설정(&S)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "프린터(&P)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "재료(&M)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "활성 익스트루더로 설정" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "익스트루더 사용" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "익스트루더 사용하지 않음" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "빌드 플레이트(&B)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "프로파일(&P)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "확장 프로그램(&X)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "도구 상자(&T)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "환경설정(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "도움말(&H)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "다시 시작한 후에 이 패키지가 설치됩니다." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "설정" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "새 프로젝트" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "새 프로젝트를 시작 하시겠습니까? 빌드 플레이트 및 저장하지 않은 설정이 지워집니다." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Cura 닫기" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Cura를 정말로 종료하시겠습니까?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "패키지 설치" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "파일 열기" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "선택한 파일 내에 하나 이상의 G-코드 파일이 있습니다. 한 번에 하나의 G-코드 파일 만 열 수 있습니다. G-코드 파일을 열려면 하나만 선택하십시오." @@ -4283,11 +4334,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "프로젝트 저장" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4358,37 +4404,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "점차적인 내부채움은 점차적으로 빈 공간 채우기의 양을 증가시킵니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "점진적으로 사용" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "서포트 생성" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "오버행이 있는 모델 서포트를 생성합니다. 이러한 구조가 없으면 이러한 부분이 프린팅 중에 붕괴됩니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "서포트에 사용할 익스트루더를 선택하십시오. 이렇게 하면 모형 아래에 지지 구조가 만들어져 모델이 중간 공기에서 처지거나 프린팅되는 것을 방지합니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "빌드 플레이트 고정" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "브림이나 라프트를 사용합니다. 이렇게하면 출력물 주변이나 아래에 평평한 영역이 추가되어 나중에 쉽게 자를 수 있습니다." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "프린팅물 개선에 도움이 필요하십니까?Ultimaker Troubleshooting Guides 읽기" @@ -4549,6 +4595,16 @@ msgctxt "name" msgid "Changelog" msgstr "변경 내역" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4899,16 +4955,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura 프로파일 작성자" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "재료 제조사가 드롭 인 UI를 사용하여 새로운 재료와 품질 프로파일을 만들 수 있게 합니다." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "프린트 프로파일 어시스턴트" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4939,6 +4985,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura 프로파일 리더" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "저장하기 전에 G-code를 생성하십시오." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "프로파일 어시스턴트" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "프로파일 어시스턴트" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "펌웨어 업그레이드" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "알 수 없음" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "{0} 로 가져올 사용자 정의 프로파일이 없습니다" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "프로파일 {0} 에는 정확하지 않은 데이터가 포함되어 있으므로, 불러올 수 없습니다." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "The machine defined in profile {0} ({1}) doesn’t match with your current machine ({2}), could not import it." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "제거 확인 " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "일시 중지됨" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "이전" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "다음" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "팁" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "인쇄 실험" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "체크리스트" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "펌웨어 업그레이드" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "재료 제조사가 드롭 인 UI를 사용하여 새로운 재료와 품질 프로파일을 만들 수 있게 합니다." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "프린트 프로파일 어시스턴트" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Doodle3D WiFi-Box로 프린팅" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index b3cf7e0e9d..e83d037d0d 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" @@ -168,6 +168,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 Z 좌표입니다." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index adddd9e5c1..40947b4965 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:10+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" @@ -1078,8 +1078,8 @@ msgstr "상단/하단 다각형 연결" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "스킨 경로가 나란히 이어지는 상단/하단 스킨 경로를 연결합니다. 동심원 패턴의 경우 이 설정을 사용하면 이동 시간이 크게 감소하지만, 내부채움의 중간에 연결될 수 있기 때문에 이 기능은 상단 표면 품질을 저하시킬 수 있습니다." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,8 +1498,8 @@ msgstr "내부채움 패턴" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "프린트 내부채움 재료의 패턴입니다. 선과 지그재그 내부채움이 레이어를 하나 걸러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼-육각형, 입방체, 옥텟, 쿼터 큐빅, 십자, 동심원 패턴이 레이어마다 프린팅됩니다. 입방체, 4분 입방체, 옥텟 내부채움이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩니다." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1561,6 +1561,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "십자형 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3265,6 +3270,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "서포트에 대한 내부채움 패턴 방향. 서포트 내부채움 패턴은 수평면에서 회전합니다." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3834,6 +3869,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "브림에 사용되는 선의 수입니다. 더 많은 브림 선이 빌드 플레이트에 대한 접착력을 향상 시키지만 유효 프린트 영역도 감소시킵니다." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5656,6 +5701,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "파일로부터 로드 하는 경유, 모델에 적용될 변환 행렬입니다." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "스킨 경로가 나란히 이어지는 상단/하단 스킨 경로를 연결합니다. 동심원 패턴의 경우 이 설정을 사용하면 이동 시간이 크게 감소하지만, 내부채움의 중간에 연결될 수 있기 때문에 이 기능은 상단 표면 품질을 저하시킬 수 있습니다." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "프린트 내부채움 재료의 패턴입니다. 선과 지그재그 내부채움이 레이어를 하나 걸러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼-육각형, 입방체, 옥텟, 쿼터 큐빅, 십자, 동심원 패턴이 레이어마다 프린팅됩니다. 입방체, 4분 입방체, 옥텟 내부채움이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩니다." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "동심원 3D" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index c26da0d505..a139b20f0e 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 11:30+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" @@ -46,8 +46,8 @@ msgstr "GCodeWriter ondersteunt geen non-tekstmodus." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Genereer G-code voordat u het bestand opslaat." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -73,6 +73,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Wijzigingenlogboek Weergeven" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -83,27 +88,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Profiel is platgemaakt en geactiveerd." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB-printen" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Printen via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Via USB Printen" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Aangesloten via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Er wordt momenteel via USB geprint. Wanneer u Cura afsluit, wordt het printen gestopt. Weet u zeker dat u wilt afsluiten?" @@ -135,7 +140,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter ondersteunt geen tekstmodus." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker Format Package" @@ -157,7 +162,7 @@ msgid "Save to Removable Drive {0}" msgstr "Opslaan op Verwisselbaar Station {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Er zijn geen bestandsindelingen beschikbaar om te schrijven!" @@ -196,7 +201,7 @@ msgstr "Kan niet opslaan op verwisselbaar station {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Fout" @@ -225,8 +230,8 @@ msgstr "Verwisselbaar station {0} uitwerpen" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Waarschuwing" @@ -253,141 +258,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Verwisselbaar Station" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Printen via netwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Printen via netwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Via het netwerk verbonden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Via het netwerk verbonden. Keur de aanvraag goed op de printer." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Via het netwerk verbonden. Kan de printer niet beheren." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Er is een toegangsaanvraag voor de printer verstuurd. Keur de aanvraag goed op de printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Verificatiestatus" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Verificatiestatus" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Opnieuw proberen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "De toegangsaanvraag opnieuw verzenden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Toegang tot de printer is geaccepteerd" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Kan geen toegang verkrijgen om met deze printer te printen. Kan de printtaak niet verzenden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Toegang aanvragen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Toegangsaanvraag naar de printer verzenden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Er kan geen nieuwe taak worden gestart." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Er is een probleem met de configuratie van de Ultimaker waardoor het niet mogelijk is het printen te starten. Los het probleem op voordat u verder gaat." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "De configuratie komt niet overeen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Weet u zeker dat u met de geselecteerde configuratie wilt printen?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "De configuratie of kalibratie van de printer komt niet overeen met de configuratie van Cura. Slice voor het beste resultaat altijd voor de PrintCores en materialen die in de printer zijn ingevoerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Het verzenden van nieuwe taken is (tijdelijk) geblokkeerd. Nog bezig met het verzenden van de vorige printtaak." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "De gegevens worden naar de printer verzonden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Gegevens Verzenden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -397,78 +397,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Annuleren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Er is geen PrintCore geladen in de sleuf {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Er is geen materiaal geladen in de sleuf {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "Er is een afwijkende PrintCore (Cura: {cura_printcore_name}, printer: {remote_printcore_name}) geselecteerd voor de extruder {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Afwijkend materiaal (Cura: {0}, Printer: {1}) geselecteerd voor de extruder {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchroniseren met de printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Wilt u uw huidige printerconfiguratie gebruiken in Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "De PrintCores en/of materialen in de printer wijken af van de PrintCores en/of materialen in uw huidige project. Slice voor het beste resultaat altijd voor de PrintCores en materialen die in de printer zijn ingevoerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Via het netwerk verbonden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "De printtaak is naar de printer verzonden." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Gegevens verzonden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "In monitor weergeven" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "Printer '{printer_name}' is klaar met het printen van '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "De printtaak '{job_name}' is voltooid." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Print klaar" @@ -478,49 +478,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Verbinding Maken via Netwerk" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Controleren" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Geen toegang tot update-informatie." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Er zijn nieuwe functies beschikbaar voor uw {machine_name}! Het wordt aanbevolen de firmware van uw printer bij te werken." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nieuwe firmware voor %s beschikbaar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Instructies voor bijwerken" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Geen toegang tot update-informatie." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Laagweergave" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Als draadprinten is ingeschakeld, geeft Cura lagen niet nauwkeurig weer" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Simulatieweergave" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "G-code wijzigen" @@ -534,32 +534,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Maak een volume waarin supportstructuren niet worden geprint." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura verzamelt geanonimiseerde gebruiksstatistieken." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Gegevens verzamelen" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Meer informatie" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Lees meer over welke gegevens Cura verzendt." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Toestaan" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Cura toestaan geanonimiseerde gebruiksstatistieken te verzenden om toekomstige verbeteringen aan Cura te helpen prioriteren. Onder de verzonden gegevens bevindt zich informatie over uw voorkeuren en instellingen, de Cura-versie en een selectie van de modellen die u slicet." @@ -594,56 +594,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF-afbeelding" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Met het huidige materiaal is slicen niet mogelijk, omdat het materiaal niet compatibel is met de geselecteerde machine of configuratie." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Kan niet slicen" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Met de huidige instellingen is slicing niet mogelijk. De volgende instellingen bevatten fouten: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Slicing is niet mogelijk vanwege enkele instellingen per model. De volgende instellingen bevatten fouten voor een of meer modellen: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Slicen is niet mogelijk omdat de terugduwpijler of terugduwpositie(s) ongeldig zijn." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Slicen is niet mogelijk omdat er objecten gekoppeld zijn aan uitgeschakelde Extruder %s." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Er valt niets te slicen omdat geen van de modellen in het bouwvolume past. Schaal of roteer de modellen totdat deze passen." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Lagen verwerken" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informatie" @@ -659,13 +659,13 @@ msgid "Configure Per Model Settings" msgstr "Instellingen per Model configureren" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Aanbevolen" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Aangepast" @@ -677,7 +677,7 @@ msgid "3MF File" msgstr "3MF-bestand" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Nozzle" @@ -703,18 +703,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G-bestand" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-code parseren" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Details van de G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Zorg ervoor dat de G-code geschikt is voor uw printer en de printerconfiguratie voordat u het bestand verzendt. Mogelijk is de weergave van de G-code niet nauwkeurig." @@ -725,16 +725,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura-profiel" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Profielassistent" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Profielassistent" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -756,11 +746,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Upgrades selecteren" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Firmware-upgrade Uitvoeren" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -771,79 +756,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Platform kalibreren" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Buitenwand" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Binnenwanden" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Skin" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Vulling" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Supportvulling" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Verbindingsstructuur" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Supportstructuur" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Skirt" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Beweging" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Intrekkingen" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Overig(e)" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Onbekend" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Vooraf geslicet bestand {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Het Bestand Bestaat Al" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -855,23 +840,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Niet overschreven" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Het geselecteerde materiaal is niet compatibel met de geselecteerde machine of configuratie." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Niet-compatibel materiaal" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "De instellingen zijn gewijzigd zodat deze overeenkomen met de huidige beschikbaarheid van de extruders: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "De instellingen zijn bijgewerkt" @@ -900,8 +885,6 @@ msgid "Export succeeded" msgstr "De export is voltooid" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -909,58 +892,70 @@ msgstr "Kan het profiel niet importeren uit {0}: { #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "Er is geen aangepast profiel om in het bestand {0} te importeren" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Dit profiel {0} bevat incorrecte gegevens. Kan het profiel niet importeren." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "De machine die is vastgelegd in het profiel {0} ({1}) komt niet overeen met uw huidige machine ({2}). Kan het profiel niet importeren." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Het profiel {0} is geïmporteerd" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "Het bestand {0} bevat geen geldig profiel." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Het profiel {0} heeft een onbekend bestandstype of is beschadigd." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Aangepast profiel" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Er ontbreekt een kwaliteitstype in het profiel." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Kan geen kwaliteitstype {0} vinden voor de huidige configuratie." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -987,12 +982,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Alle Bestanden (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Aangepast materiaal" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Aangepast" @@ -1007,22 +1002,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Werkvolume" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Kan geen archief maken van gegevensmap van gebruiker: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Back-up" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Geprobeerd een Cura-back-up te herstellen zonder correcte gegevens of metadata." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Geprobeerd een Cura-back-up te herstellen die niet overeenkomt met uw huidige versie." @@ -1197,40 +1192,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Rapport verzenden" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Machines laden..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Scene instellen..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Interface laden..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Er kan slechts één G-code-bestand tegelijkertijd worden geladen. Het importeren van {0} is overgeslagen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Kan geen ander bestand openen als G-code wordt geladen. Het importeren van {0} is overgeslagen" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Het geselecteerde model is te klein om te laden." @@ -1261,9 +1256,9 @@ msgstr "X (Breedte)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1398,22 +1393,47 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "De nominale diameter van het filament dat wordt ondersteund door de printer. De exacte diameter wordt overschreven door het materiaal en/of het profiel." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Nozzle-offset X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Nozzle-offset Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-13 17:41+0200\n" +"PO-Revision-Date: 2016-09-29 13:44+0200\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Start-G-code van Extruder" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Eind-G-code van Extruder" @@ -1434,41 +1454,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Kan geen verbinding maken met de Cura Package-database. Controleer uw verbinding." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Invoegtoepassingen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materialen" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Versie" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Laatst bijgewerkt" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Auteur" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Downloads" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Onbekend" @@ -1503,8 +1524,8 @@ msgstr "Terug" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Bevestig de-installeren " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1551,7 +1572,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Standaard materialen" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Geïnstalleerd" @@ -1633,48 +1654,88 @@ msgid "Changelog" msgstr "Wijzigingenlogboek" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Sluiten" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Firmware is de software die direct op de 3D-printer wordt uitgevoerd. Deze firmware bedient de stappenmotoren, regelt de temperatuur en zorgt er in feite voor dat de printer doet wat deze moet doen." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "De firmware die bij nieuwe printers wordt geleverd, werkt wel, maar nieuwe versies hebben vaak meer functies en verbeteringen." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Firmware-upgrade Automatisch Uitvoeren" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Aangepaste Firmware Uploaden" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Aangepaste firmware selecteren" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Firmware-update" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "De firmware wordt bijgewerkt." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "De firmware-update is voltooid." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Firmware-update mislukt door een onbekende fout." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Firmware-update mislukt door een communicatiefout." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Firmware-update mislukt door een invoer-/uitvoerfout." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Firmware-update mislukt door ontbrekende firmware." @@ -1684,22 +1745,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Gebruikersovereenkomst" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Bestaande verbinding" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Deze printer/groep is al aan Cura toegevoegd. Selecteer een andere printer/groep." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Verbinding Maken met Printer in het Netwerk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1710,18 +1771,18 @@ msgstr "" "\n" "Selecteer uw printer in de onderstaande lijst:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Toevoegen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Bewerken" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1729,244 +1790,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Verwijderen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Vernieuwen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Raadpleeg de handleiding voor probleemoplossing bij printen via het netwerk als uw printer niet in de lijst wordt vermeld" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Type" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Firmwareversie" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Adres" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Deze printer is niet ingesteld voor het hosten van een groep printers." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Deze printer is de host voor een groep van %1 printers." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "De printer op dit adres heeft nog niet gereageerd." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Verbinden" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Printeradres" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Voer het IP-adres of de hostnaam van de printer in het netwerk in." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Printen via netwerk" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Printerselectie" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Printen" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Printen via netwerk" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Wachten op: Niet-beschikbare printer" +msgid "Printer selection" +msgstr "Printerselectie" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Wachten op: Eerst beschikbare" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Wachten op: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Plaats bovenaan" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Plaats printtaak bovenaan" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Weet u zeker dat u %1 bovenaan de wachtrij wilt plaatsen?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Verwijderen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Printtaak verwijderen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Weet u zeker dat u %1 wilt verwijderen?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Wachtrij beheren" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "In wachtrij" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Printen" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Printers beheren" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Niet beschikbaar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Niet bereikbaar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Beschikbaar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Afgebroken" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Gereed" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Voorbereiden" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Pauzeren" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Hervatten" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Handeling nodig" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Wachten op: Niet-beschikbare printer" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Wachten op: Eerst beschikbare" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Wachten op: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Wachtrij beheren" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "In wachtrij" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Printen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Printers beheren" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Plaats bovenaan" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Verwijderen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Hervatten" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pauzeren" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Afbreken" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Weet u zeker dat u %1 bovenaan de wachtrij wilt plaatsen?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Plaats printtaak bovenaan" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Weet u zeker dat u %1 wilt verwijderen?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Printtaak verwijderen" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Weet u zeker dat u %1 wilt afbreken?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Printen afbreken" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Weet u zeker dat u %1 wilt afbreken?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Afgebroken" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Gereed" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Voorbereiden" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Pauzeren" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Gepauzeerd" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Hervatten" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Handeling nodig" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Verbinding maken met een printer" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "De configuratie van de printer in Cura laden" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Configuratie Activeren" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "De configuratie van de printer in Cura laden" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2057,17 +2174,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Scripts voor Nabewerking" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Een script toevoegen" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Instellingen" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Actieve scripts voor nabewerking wijzigen" @@ -2192,23 +2309,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Instellingen aanpassen voor vulling van andere modellen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Instellingen selecteren" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Instellingen Selecteren om Dit Model Aan te Passen" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filteren..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Alles weergeven" @@ -2259,6 +2376,7 @@ msgid "Type" msgstr "Type" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Printergroep" @@ -2276,6 +2394,7 @@ msgstr "Hoe dient het conflict in het profiel te worden opgelost?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2350,82 +2469,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Openen" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Vorige" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Exporteren" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Volgende" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Tip" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00u 00min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Kostenspecificatie" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Totaal:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1 m / ~ %2 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Print experiment" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Checklist" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2467,36 +2510,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Beweeg Naar de Volgende Positie" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Firmware-upgrade Uitvoeren" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Firmware is de software die direct op de 3D-printer wordt uitgevoerd. Deze firmware bedient de stappenmotoren, regelt de temperatuur en zorgt er in feite voor dat de printer doet wat deze moet doen." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "De firmware die bij nieuwe printers wordt geleverd, werkt wel, maar nieuwe versies hebben vaak meer functies en verbeteringen." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Firmware-upgrade Automatisch Uitvoeren" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Aangepaste Firmware Uploaden" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Aangepaste firmware selecteren" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2684,7 +2697,7 @@ msgid "Customized" msgstr "Aangepast" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Altijd vragen" @@ -2832,6 +2845,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importeren" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Exporteren" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2917,283 +2936,283 @@ msgid "Unit" msgstr "Eenheid" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Algemeen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Taal:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Valuta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Thema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "U moet de toepassing opnieuw starten voordat deze wijzigingen van kracht worden." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Automatisch slicen bij wijzigen van instellingen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatisch slicen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Gedrag kijkvenster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Geef niet-ondersteunde gedeelten van het model een rode markering. Zonder ondersteuning zullen deze gedeelten niet goed worden geprint." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Overhang weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Verplaatst de camera zodanig dat wanneer een model wordt geselecteerd, het model in het midden van het beeld wordt weergegeven" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Camera centreren wanneer een item wordt geselecteerd" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Moet het standaard zoomgedrag van Cura worden omgekeerd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Keer de richting van de camerazoom om." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Moet het zoomen in de richting van de muis gebeuren?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Zoomen in de richting van de muis" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Moeten modellen op het platform zodanig worden verplaatst dat ze elkaar niet meer doorsnijden?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Modellen gescheiden houden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Moeten modellen in het printgebied omlaag worden gebracht zodat ze het platform raken?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Modellen automatisch op het platform laten vallen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Toon het waarschuwingsbericht in de G-code-lezer." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Waarschuwingsbericht in de G-code-lezer" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Moet de laag in de compatibiliteitsmodus worden geforceerd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Compatibiliteitsmodus voor laagweergave forceren (opnieuw opstarten vereist)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Bestanden openen en opslaan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Moeten modellen worden geschaald naar het werkvolume als ze te groot zijn?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Grote modellen schalen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Een model wordt mogelijk extreem klein weergegeven als de eenheden bijvoorbeeld in meters zijn in plaats van in millimeters. Moeten dergelijke modellen worden opgeschaald?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Extreem kleine modellen schalen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Moeten modellen worden geselecteerd nadat ze zijn geladen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Modellen selecteren wanneer ze geladen zijn" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Moet er automatisch een op de printernaam gebaseerde voorvoegsel aan de naam van de printtaak worden toegevoegd?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Machinevoorvoegsel toevoegen aan taaknaam" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Dient er een samenvatting te worden weergegeven wanneer een projectbestand wordt opgeslagen?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Dialoogvenster voor samenvatting weergeven tijdens het opslaan van een project" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Standaardgedrag tijdens het openen van een projectbestand" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Standaardgedrag tijdens het openen van een projectbestand: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Altijd vragen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Altijd als project openen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Altijd modellen importeren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Wanneer u wijzigingen hebt aangebracht aan een profiel en naar een ander profiel wisselt, wordt een dialoogvenster weergegeven waarin u wordt gevraagd of u de aanpassingen wilt behouden. U kunt ook een standaardgedrag kiezen en het dialoogvenster nooit meer laten weergeven." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profielen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Standaardgedrag voor gewijzigde instellingen wanneer er naar een ander profiel wordt overgeschakeld: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Gewijzigde instellingen altijd verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Gewijzigde instellingen altijd naar nieuw profiel overbrengen" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privacy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Moet Cura op updates controleren wanneer het programma wordt gestart?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Bij starten op updates controleren" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Mogen anonieme gegevens over uw print naar Ultimaker worden verzonden? Opmerking: er worden geen modellen, IP-adressen of andere persoonlijk identificeerbare gegevens verzonden of opgeslagen." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonieme) printgegevens verzenden" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Meer informatie" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Experimenteel" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Functionaliteit voor meerdere platformen gebruiken" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Functionaliteit voor meerdere platformen gebruiken (opnieuw opstarten vereist)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Printers" @@ -3215,7 +3234,7 @@ msgid "Connection:" msgstr "Verbinding:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Er is geen verbinding met de printer." @@ -3241,7 +3260,7 @@ msgid "Aborting print..." msgstr "Printen afbreken..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profielen" @@ -3322,17 +3341,17 @@ msgid "Global Settings" msgstr "Algemene Instellingen" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Printer Toevoegen" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Printernaam:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Printer Toevoegen" @@ -3347,17 +3366,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Over Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "versie: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "End-to-end-oplossing voor fused filament 3D-printen." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3366,102 +3385,122 @@ msgstr "" "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\n" "Cura maakt met trots gebruik van de volgende opensourceprojecten:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Grafische gebruikersinterface (GUI)" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Toepassingskader" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "G-code-generator" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "InterProcess Communication-bibliotheek" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Programmeertaal" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI-kader" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Bindingen met GUI-kader" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Bindingenbibliotheek C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Indeling voor gegevensuitwisseling" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Ondersteuningsbibliotheek voor wetenschappelijke berekeningen" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Ondersteuningsbibliotheek voor snellere berekeningen" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Ondersteuningsbibliotheek voor het verwerken van STL-bestanden" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Ondersteuningsbibliotheek voor het verwerken van 3MF-bestanden" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Seriële-communicatiebibliotheek" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "ZeroConf-detectiebibliotheek" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Bibliotheek met veelhoeken" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Python HTTP-bibliotheek" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Lettertype" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG-pictogrammen" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Implementatie van Linux-toepassing voor kruisdistributie" @@ -3471,7 +3510,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Profiel:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3482,53 +3521,53 @@ msgstr "" "\n" "Klik om het profielbeheer te openen." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Zoeken..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Waarde naar alle extruders kopiëren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Alle gewijzigde waarden naar alle extruders kopiëren" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Deze instelling verbergen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Deze instelling verbergen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Deze instelling zichtbaar houden" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Zichtbaarheid Instelling Configureren..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Alles samenvouwen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Alles uitvouwen" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3549,17 +3588,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Beïnvloed door" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Deze instelling wordt altijd door alle extruders gedeeld. Als u hier de instelling wijzigt, wordt de waarde voor alle extruders gewijzigd" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "De waarde wordt afgeleid van de waarden per extruder " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3570,7 +3609,7 @@ msgstr "" "\n" "Klik om de waarde van het profiel te herstellen." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3725,12 +3764,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "Beel&d" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Camerapositie" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "&Platform" @@ -3740,12 +3779,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Zichtbare instellingen" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Alle instellingen weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Instelling voor zichtbaarheid beheren..." @@ -3808,17 +3847,44 @@ msgstr "" "Instelling voor printen uitgeschakeld\n" "G-code-bestanden kunnen niet worden aangepast" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00u 00min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Tijdspecificatie" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Kostenspecificatie" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Totaal:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Aanbevolen instellingen voor printen

Print met de aanbevolen instellingen voor de geselecteerde printer en kwaliteit, en het geselecteerde materiaal." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Aangepaste instellingen voor printen

Print met uiterst precieze controle over elk detail van het slice-proces." @@ -3843,223 +3909,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Geschatte resterende tijd" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Volledig Scherm In-/Uitschakelen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Ongedaan &Maken" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Opnieuw" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Afsluiten" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "3D-weergave" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Weergave voorzijde" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Weergave bovenzijde" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Weergave linkerzijde" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Weergave rechterzijde" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura Configureren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Printer Toevoegen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Pr&inters Beheren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Materialen Beheren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "Profiel bijwerken met h&uidige instellingen/overschrijvingen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "Hui&dige wijzigingen verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "Profiel maken op basis van huidige instellingen/overs&chrijvingen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profielen Beheren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Online &Documentatie Weergeven" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Een &Bug Rapporteren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Over..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Geselecteerd model verwijderen" msgstr[1] "Geselecteerde modellen verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Geselecteerd model centreren" msgstr[1] "Geselecteerde modellen centreren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Geselecteerd model verveelvoudigen" msgstr[1] "Geselecteerde modellen verveelvoudigen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Model Verwijderen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Model op Platform Ce&ntreren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Modellen &Groeperen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Groeperen van Modellen Opheffen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Modellen Samen&voegen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Model verveelvoudigen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Alle Modellen Selecteren" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Platform Leegmaken" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Alle Modellen Opnieuw Laden" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Alle modellen schikken op alle platformen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Alle modellen schikken" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Selectie schikken" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Alle Modelposities Herstellen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Alle Modeltransformaties Herstellen" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "Bestand(en) &openen..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Nieuw project..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Engine-&logboek Weergeven..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Open Configuratiemap" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Door packages bladeren..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Zijbalk uitbreiden/samenvouwen" @@ -4120,7 +4186,7 @@ msgid "Select the active output device" msgstr "Actief Uitvoerapparaat Selecteren" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Bestand(en) openen" @@ -4140,145 +4206,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Bestand" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Opslaan..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Exporteren..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Selectie Exporteren..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "B&ewerken" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "Beel&d" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "In&stellingen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Printer" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Materiaal" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Instellen als Actieve Extruder" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Extruder inschakelen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Extruder uitschakelen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "&Platform" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Profiel" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensies" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "Werkse&t" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Voo&rkeuren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Help" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Dit package wordt na opnieuw starten geïnstalleerd." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Bestand Openen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Instellingen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Nieuw project" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Weet u zeker dat u een nieuw project wilt starten? Hiermee wordt het platform leeggemaakt en worden eventuele niet-opgeslagen instellingen verwijderd." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Cura afsluiten" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Weet u zeker dat u Cura wilt verlaten?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Package installeren" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Bestand(en) openen" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Binnen de door u geselecteerde bestanden zijn een of meer G-code-bestanden aangetroffen. U kunt maximaal één G-code-bestand tegelijk openen. Selecteer maximaal één bestand als u dit wilt openen als G-code-bestand." @@ -4288,11 +4354,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Project opslaan" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4363,37 +4424,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Met geleidelijke vulling neemt de hoeveelheid vulling naar boven toe." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Geleidelijke vulling" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Support genereren" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Genereer structuren om delen van het model met overhang te ondersteunen. Zonder deze structuren zakken dergelijke delen in tijdens het printen." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Selecteren welke extruder voor support wordt gebruikt. Deze optie zorgt ervoor dat onder het model ondersteuning wordt geprint, om te voorkomen dat dit doorzakt of dat er midden in de lucht moet worden geprint." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Hechting aan platform" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Het printen van een brim of raft inschakelen. Deze optie zorgt ervoor dat er extra materiaal rondom of onder het object wordt neergelegd, dat er naderhand eenvoudig kan worden afgesneden." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Hebt u hulp nodig om betere prints te krijgen?
Lees de Ultimaker Troubleshooting Guides (Handleiding voor probleemoplossing)" @@ -4555,6 +4616,16 @@ msgctxt "name" msgid "Changelog" msgstr "Wijzigingenlogboek" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4905,16 +4976,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura-profielschrijver" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Maakt het fabrikanten mogelijk nieuwe materiaal- en kwaliteitsprofielen aan te maken met behulp van een drop-in-gebruikersinterface." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Profielassistent afdrukken" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4945,6 +5006,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura-profiellezer" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Genereer G-code voordat u het bestand opslaat." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Profielassistent" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Profielassistent" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Firmware-upgrade Uitvoeren" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Onbekend" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "Er is geen aangepast profiel om in het bestand {0} te importeren" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Dit profiel {0} bevat incorrecte gegevens. Kan het profiel niet importeren." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "De machine die is vastgelegd in het profiel {0} ({1}) komt niet overeen met uw huidige machine ({2}). Kan het profiel niet importeren." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Bevestig de-installeren " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "Gepauzeerd" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Vorige" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Volgende" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Tip" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Print experiment" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Checklist" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Firmware-upgrade Uitvoeren" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Maakt het fabrikanten mogelijk nieuwe materiaal- en kwaliteitsprofielen aan te maken met behulp van een drop-in-gebruikersinterface." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Profielassistent afdrukken" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Printen via Doodle3D WiFi-Box" @@ -6165,25 +6306,6 @@ msgstr "Cura-profiellezer" #~ msgid "Extruder Temperature: %1/%2°C" #~ msgstr "Extrudertemperatuur: %1/%2°C" -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#~ msgctxt "@label" -#~ msgid "" -#~ msgstr "" -#~ "Project-Id-Version: PACKAGE VERSION\n" -#~ "Report-Msgid-Bugs-To: \n" -#~ "POT-Creation-Date: 2016-09-13 17:41+0200\n" -#~ "PO-Revision-Date: 2016-09-29 13:44+0200\n" -#~ "Last-Translator: FULL NAME \n" -#~ "Language-Team: LANGUAGE \n" -#~ "Language: \n" -#~ "MIME-Version: 1.0\n" -#~ "Content-Type: text/plain; charset=UTF-8\n" -#~ "Content-Transfer-Encoding: 8bit\n" - #~ msgctxt "@label" #~ msgid "Bed Temperature: %1/%2°C" #~ msgstr "Printbedtemperatuur: %1/%2°C" diff --git a/resources/i18n/nl_NL/fdmextruder.def.json.po b/resources/i18n/nl_NL/fdmextruder.def.json.po index f7fd1717b0..69632907ea 100644 --- a/resources/i18n/nl_NL/fdmextruder.def.json.po +++ b/resources/i18n/nl_NL/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" @@ -166,6 +166,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "De Z-coördinaat van de positie waar filament in de nozzle wordt teruggeduwd aan het begin van het printen." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index 5853829744..90dce25e8d 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:10+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" @@ -1076,8 +1076,8 @@ msgstr "Boven-/onderkant Polygonen Verbinden" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Skinpaden aan boven-/onderkant verbinden waar ze naast elkaar lopen. Met deze instelling wordt bij concentrische patronen de bewegingstijd aanzienlijk verkort. Dit kan echter ten koste gaan van de kwaliteit van de bovenste laag aangezien de verbindingen in het midden van de vulling kunnen komen te liggen." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1496,8 +1496,8 @@ msgstr "Vulpatroon" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Het patroon van het vulmateriaal van de print. De lijn- en zigzagvulling veranderen per vullaag van richting, waardoor wordt bespaard op materiaalkosten. De raster-, driehoeks-, tri-hexagonale, kubische, achtvlaks-, afgeknotte kubus-, kruis- en concentrische patronen worden elke laag volledig geprint. Kubische, afgeknotte kubus- en achtvlaksvullingen veranderen elke laag voor een meer gelijke krachtsverdeling in elke richting." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1559,6 +1559,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Kruis 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -1629,7 +1634,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Voeg extra wanden toe rondom de vulling. Deze wanden kunnen ervoor zorgen dat de skin aan de boven-/onderkant minder doorzakt. Dit betekent dat u met alleen wat extra materiaal voor dezelfde kwaliteit minder skinlagen aan de boven-/onderkant nodig hebt.\nDeze optie kan in combinatie met de optie 'Polygonen voor de vulling verbinden' worden gebruikt om alle vulling in één doorvoerpad te verbinden zonder extra bewegingen of intrekkingen, mits correct ingesteld." +msgstr "" +"Voeg extra wanden toe rondom de vulling. Deze wanden kunnen ervoor zorgen dat de skin aan de boven-/onderkant minder doorzakt. Dit betekent dat u met alleen wat extra materiaal voor dezelfde kwaliteit minder skinlagen aan de boven-/onderkant nodig hebt.\n" +"Deze optie kan in combinatie met de optie 'Polygonen voor de vulling verbinden' worden gebruikt om alle vulling in één doorvoerpad te verbinden zonder extra bewegingen of intrekkingen, mits correct ingesteld." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3261,6 +3268,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Richting van het vulpatroon voor supportstructuren. Het vulpatroon voor de supportstructuur wordt in het horizontale vlak gedraaid." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3830,6 +3867,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Het aantal lijnen dat voor een brim wordt gebruikt. Meer lijnen zorgen voor betere hechting aan het platform, maar verkleinen uw effectieve printgebied." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5654,6 +5701,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Omzettingsmatrix die moet worden toegepast op het model wanneer dit wordt geladen vanuit een bestand." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Skinpaden aan boven-/onderkant verbinden waar ze naast elkaar lopen. Met deze instelling wordt bij concentrische patronen de bewegingstijd aanzienlijk verkort. Dit kan echter ten koste gaan van de kwaliteit van de bovenste laag aangezien de verbindingen in het midden van de vulling kunnen komen te liggen." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Het patroon van het vulmateriaal van de print. De lijn- en zigzagvulling veranderen per vullaag van richting, waardoor wordt bespaard op materiaalkosten. De raster-, driehoeks-, tri-hexagonale, kubische, achtvlaks-, afgeknotte kubus-, kruis- en concentrische patronen worden elke laag volledig geprint. Kubische, afgeknotte kubus- en achtvlaksvullingen veranderen elke laag voor een meer gelijke krachtsverdeling in elke richting." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Concentrisch 3D" diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index 5003eee692..08dbc7169f 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-21 20:52+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" "Language-Team: reprapy.pl\n" @@ -48,8 +48,8 @@ msgstr "Zapisywacz G-code nie obsługuje trybu nietekstowego." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Wygeneruj G-code przed zapisem." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Pokaż Dziennik" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Profil został spłaszczony i aktywowany." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Drukowanie USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Drukuj przez USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Drukuj przez USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Połączono przez USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Trwa drukowanie przez USB, zamknięcie Cura spowoduje jego zatrzymanie. Jesteś pewien?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "Zapisywacz skompresowanego G-code nie obsługuje trybu tekstowego." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Pakiet Formatu Ultimaker" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "Zapisz na dysk wymienny {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Nie ma żadnych formatów plików do zapisania!" @@ -198,7 +203,7 @@ msgstr "Nie można zapisać na wymiennym dysku {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Błąd" @@ -227,8 +232,8 @@ msgstr "Wyjmij urządzenie wymienne {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Ostrzeżenie" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Dysk wymienny" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Drukuj przez sieć" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Drukuj przez sieć" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Połączono przez sieć." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Połączono przez sieć. Proszę zatwierdzić żądanie dostępu na drukarce." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Połączono przez sieć. Brak dostępu do sterowania drukarką." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Wymagany dostęp do drukarki. Proszę zatwierdzić prośbę na drukarce" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Status uwierzytelniania" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Status Uwierzytelniania" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Spróbuj ponownie" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Prześlij ponownie żądanie dostępu" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Dostęp do drukarki został zaakceptowany" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Brak dostępu do tej drukarki. Nie można wysłać zadania drukowania." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Poproś o dostęp" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Wyślij żądanie dostępu do drukarki" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Nie można uruchomić nowego zadania drukowania." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Wystąpił problem z konfiguracją twojego Ultimaker'a, przez który nie można rozpocząć wydruku. Proszę rozwiąż te problemy przed kontynuowaniem." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Niedopasowana konfiguracja" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Czy na pewno chcesz drukować z wybraną konfiguracją?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Występuje niezgodność między konfiguracją lub kalibracją drukarki a Curą. Aby uzyskać najlepszy rezultat, zawsze tnij dla Print core'ów i materiałów włożonych do drukarki." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Wysyłanie nowych zadań (tymczasowo) zostało zablokowane, dalej wysyłane jest poprzednie zadanie." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Wysyłanie danych do drukarki" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Wysyłanie danych" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Anuluj" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Brak Printcore'a w slocie {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Brak załadowanego materiału w slocie {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "Inny PrintCore (Cura: {cura_printcore_name}, Drukarka: {remote_printcore_name}) wybrany dla extrudera {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Różne materiały (Cura: {0}, Drukarka: {1}) wybrane do dzyszy {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Synchronizuj się z drukarką" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Czy chcesz używać bieżącej konfiguracji drukarki w programie Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "PrintCore'y i/lub materiały w drukarce różnią się od tych w obecnym projekcie. Dla najlepszego rezultatu, zawsze tnij dla wybranych PrinCore'ów i materiałów, które są umieszczone w drukarce." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Połączone przez sieć" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Zadanie drukowania zostało pomyślnie wysłane do drukarki." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Dane Wysłane" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Zobacz w Monitorze" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} skończyła drukowanie '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "Zadanie '{job_name}' zostało zakończone." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Drukowanie zakończone" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Połącz przez sieć" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Monitor" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Nie można uzyskać dostępu do informacji o aktualizacji." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Nowe funkcje są dostępne dla twojej {machine_name}! Rekomendowane jest zaktualizowanie oprogramowania drukarki." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Nowe oprogramowanie %s jest dostępne" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Jak zaktualizować" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Nie można uzyskać dostępu do informacji o aktualizacji." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Widok warstwy" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura nie wyświetla dokładnie warstw kiedy drukowanie przewodowe jest włączone" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Widok symulacji" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modyfikuj G-Code" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Stwórz obszar, w którym podpory nie będą drukowane." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura zbiera anonimowe dane statystyczne." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Zbieranie Danych" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Więcej informacji" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Zobacz więcej informacji o tym, jakie dane przesyła Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Zezwól" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Zezwól Cura na wysyłanie anonimowych danych statystycznych, aby pomóc w wyborze przyszłych usprawnień Cura. Część twoich ustawień i preferencji jest wysyłana, a także wersja Cury i kod modelu który tniesz." @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Obraz GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Nie można pociąć z obecnym materiałem, ponieważ nie jest on kompatybilny z wybraną maszyną lub konfiguracją." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Nie można pociąć" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Nie można pociąć z bieżącymi ustawieniami. Następujące ustawienia mają błędy: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Nie można pokroić przez ustawienia osobne dla modelu. Następujące ustawienia mają błędy w jednym lub więcej modeli: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Nie można pociąć, ponieważ wieża czyszcząca lub jej pozycja(e) są niewłaściwe." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Nie można pociąć, ponieważ obecne są obiekty powiązane z wyłączonym ekstruderem %s." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nic do pocięcia, ponieważ żaden z modeli nie pasuje do obszaru roboczego. Proszę o przeskalowanie lub obrócenie modelu, żeby pasował." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Przetwarzanie warstw" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informacja" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "Konfiguruj ustawienia każdego modelu z osobna" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Zalecane" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Niestandardowe" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "Plik 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Dysza" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Plik G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Analizowanie G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Szczegóły G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Przed wysłaniem pliku upewnij się, że G-code jest odpowiedni do konfiguracji drukarki. Przedstawienie G-kodu może nie być dokładne." @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Profile Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Asystent Profilu" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Asystent Profilu" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Wybierz aktualizacje" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Uaktualnij oprogramowanie układowe" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Wypoziomuj stół" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Zewnętrzna ściana" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Ściany wewnętrzne" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Skin" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Wypełnienie" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Wypełnienie podpór" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Łączenie podpory" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Podpory" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Obwódka" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Ruch jałowy" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Retrakcja" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Inny" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Nieznany" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Plik pocięty wcześniej {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Plik już istnieje" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Nie zastąpione" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Wybrany materiał jest niezgodny z wybranym urządzeniem lub konfiguracją." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Niekompatybilny Materiał" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "Ustawienia został zmienione, aby pasowały do obecnej dostępności extruderów: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Ustawienia zostały zaaktualizowane" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "Eksport udany" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "Nie udało się zaimportować profilu z {0}: or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "Brak niestandardowego profilu do zaimportowania do pliku {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Ten profil {0} zawiera błędne dane, nie można go zaimportować." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "Maszyna zdefiniowana w profilu {0} ({1}) nie zgadza się z obecnie wybraną maszyną ({2}), nie można tego zaimportować." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil zaimportowany {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "Plik {0} nie zawiera żadnego poprawnego profilu." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} ma nieznany typ pliku lub jest uszkodzony." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Niestandardowy profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Profilowi brakuje typu jakości." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Nie można znaleźć typu jakości {0} dla bieżącej konfiguracji." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Wszystkie Pliki (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Niestandardowy materiał" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Niestandardowy" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Obszar Roboczy" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Nie można utworzyć archiwum z folderu danych użytkownika: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Kopia zapasowa" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Podjęto próbę przywrócenia kopii zapasowej Cura na podstawie niepoprawnych danych lub metadanych." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Podjęto próbę przywrócenia kopii zapasowej Cura, która nie odpowiada obecnej wersji programu." @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Wyślij raport" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Ładowanie drukarek..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Ustawianie sceny ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Ładowanie interfejsu ..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Jednocześnie można załadować tylko jeden plik G-code. Pominięto importowanie {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Nie można otworzyć żadnego innego pliku, jeśli ładuje się G-code. Pominięto importowanie {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Wybrany model był zbyta mały do załadowania." @@ -1263,9 +1258,9 @@ msgstr "X (Szerokość)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Nominalna średnica filamentu wspierana przez drukarkę. Dokładna średnica będzie nadpisana przez materiał i/lub profil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Korekcja dyszy X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Korekcja dyszy Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Początkowy G-code Ekstrudera" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Końcowy G-code Ekstrudera" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Nie można połączyć się z bazą danych pakietów Cura. Sprawdź swoje połączenie z internetem." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Wtyczki" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiał" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Wersja" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Ostatnia aktualizacja" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autor" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Pobrań" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Nieznany" @@ -1505,8 +1511,8 @@ msgstr "Powrót" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Potwierdź odinstalowanie " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Materiały Podstawowe" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Zainstalowano" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "Dziennik" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Zamknij" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Oprogramowanie ukłądowe jest częścią oprogramowania działającego bezpośrednio na drukarce 3D. Oprogramowanie to steruje silnikami krokowymi, reguluje temperaturę i ostatecznie sprawia, że drukarka działa." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Oprogramowanie ukłądowe dostarczane z nowymi drukarkami działa, ale nowe wersje mają zazwyczaj więcej funkcji i ulepszeń." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Automatycznie uaktualnij oprogramowanie" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Prześlij niestandardowe oprogramowanie" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Wybierz niestandardowe oprogramowanie" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Aktualizacja oprogramowania układowego" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Aktualizowanie oprogramowania." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Aktualizacja oprogramowania zakończona." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Aktualizacja oprogramowania nie powiodła się z powodu nieznanego błędu." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Aktualizacja oprogramowania nie powiodła się z powodu błędu komunikacji." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Aktualizacja oprogramowania nie powiodła się z powodu błędu wejścia / wyjścia." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Aktualizacja oprogramowania nie powiodła się z powodu utraconego oprogramowania." @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Zgoda Użytkownika" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Istniejące Połączenie" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Ta drukarka/grupa jest już dodana do Cura. Proszę wybierz inną drukarkę/grupę." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Połącz się z drukarką sieciową" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "Wybierz drukarkę z poniższej listy:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Dodaj" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Edycja" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Usunąć" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Odśwież" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Jeżeli twojej drukarki nie ma na liście, przeczytaj poradnik o problemach z drukowaniem przez sieć" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Rodzaj" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Wersja oprogramowania" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Adres" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Ta drukarka nie jest skonfigurowana jako host dla grupy drukarek." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Ta drukarka jest hostem grupy %1 drukarek." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Drukarka pod tym adresem jeszcze nie odpowiedziała." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Połącz" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Adres drukarki" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Wpisz adres IP lub nazwę hosta drukarki w sieci." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Drukuj przez sieć" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Wybór drukarki" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Drukuj" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Drukuj przez sieć" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Oczekiwanie na: Niedostępną drukarkę" +msgid "Printer selection" +msgstr "Wybór drukarki" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Oczekiwanie na: Pierwszą dostępną" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Oczekiwanie na: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Przesuń na początek" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Przesuń zadanie drukowania na początek" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Czy jesteś pewien, że chcesz przesunąć %1 na początek kolejki?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Usuń" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Usuń zadanie drukowania" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Czy jesteś pewien, że chcesz usunąć %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Zarządzaj kolejką" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "W kolejce" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Drukowanie" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Zarządzaj drukarkami" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Niedostępny" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Nieosiągalny" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Dostępny" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Anulowano" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Zakończono" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Przygotowywanie" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Wstrzymywanie" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Wznawianie" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Konieczne są działania" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Oczekiwanie na: Niedostępną drukarkę" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Oczekiwanie na: Pierwszą dostępną" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Oczekiwanie na: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Zarządzaj kolejką" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "W kolejce" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Drukowanie" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Zarządzaj drukarkami" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Przesuń na początek" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Usuń" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Ponów" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Wstrzymaj" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Anuluj" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Czy jesteś pewien, że chcesz przesunąć %1 na początek kolejki?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Przesuń zadanie drukowania na początek" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Czy jesteś pewien, że chcesz usunąć %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Usuń zadanie drukowania" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Czy jesteś pewien, że chcesz anulować %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Anuluj wydruk" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Czy jesteś pewien, że chcesz anulować %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Anulowano" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Zakończono" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Przygotowywanie" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Wstrzymywanie" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Wstrzymana" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Wznawianie" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Konieczne są działania" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Podłącz do drukarki" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Załaduj konfigurację drukarki do Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Uaktywnij konfigurację" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Załaduj konfigurację drukarki do Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Skrypty post-processingu" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Dodaj skrypt" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Ustawienia" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Zmień aktywne skrypty post-processingu" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modyfikuj ustawienia wypełnienia innych modeli" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Wybierz ustawienia" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Wybierz Ustawienia, aby dostosować ten model" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtr..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Pokaż wszystko" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "Typ" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Grupa drukarek" @@ -2278,6 +2381,7 @@ msgstr "Jak powinien zostać rozwiązany problem z profilem?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2352,82 +2456,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Otwórz" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Poprzedni" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Eksportuj" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Następny" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Końcówka" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00godz. 00min." - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Szacowanie kosztów" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Razem:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Próbny wydruk" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Lista kontrolna" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2469,36 +2497,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Przejdź do następnego położenia" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Uaktualnij oprogramowanie" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Oprogramowanie ukłądowe jest częścią oprogramowania działającego bezpośrednio na drukarce 3D. Oprogramowanie to steruje silnikami krokowymi, reguluje temperaturę i ostatecznie sprawia, że drukarka działa." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Oprogramowanie ukłądowe dostarczane z nowymi drukarkami działa, ale nowe wersje mają zazwyczaj więcej funkcji i ulepszeń." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Automatycznie uaktualnij oprogramowanie" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Prześlij niestandardowe oprogramowanie" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Wybierz niestandardowe oprogramowanie" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2686,7 +2684,7 @@ msgid "Customized" msgstr "Dostosowane" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Zawsze pytaj o to" @@ -2834,6 +2832,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importuj" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Eksportuj" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2919,283 +2923,283 @@ msgid "Unit" msgstr "Jednostka" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Ogólny" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interfejs" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Język:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Waluta:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Motyw:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Musisz zrestartować aplikację, aby te zmiany zaczęły obowiązywać." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Tnij automatycznie podczas zmiany ustawień." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Automatyczne Cięcie" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Zachowanie okna edycji" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Zaznacz nieobsługiwane obszary modelu na czerwono. Bez wsparcia te obszary nie będą drukowane prawidłowo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Wyświetl zwis" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Przenosi kamerę, aby model był w centrum widoku, gdy wybrano model" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Wyśrodkuj kamerę kiedy przedmiot jest zaznaczony" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Czy domyślne zachowanie zoomu powinno zostać odwrócone?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Odwróć kierunek zoomu kamery." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Czy przybliżanie powinno poruszać się w kierunku myszy?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Przybliżaj w kierunku myszy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Czy modele na platformie powinny być przenoszone w taki sposób, aby nie przecinały się?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Upewnij się, że modele są oddzielone" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Czy modele na platformie powinny być przesunięte w dół, aby dotknęły stołu roboczego?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Automatycznie upuść modele na stół roboczy" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Pokaż wiadomości ostrzegawcze w czytniku g-code." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Wiadomość ostrzegawcza w czytniku g-code" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Czy warstwa powinna być wymuszona w trybie zgodności?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Wymuszenie widoku warstw w trybie zgodności (wymaga ponownego uruchomienia)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Otwieranie i zapisywanie plików" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Czy modele powinny być skalowane do wielkości obszaru roboczego, jeśli są zbyt duże?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Skaluj duże modele" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Model może wydawać się bardzo mały, jeśli jego jednostka jest na przykład w metrach, a nie w milimetrach. Czy takie modele powinny być skalowane?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Skaluj bardzo małe modele" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Czy modele powinny zostać zaznaczone po załadowaniu?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Zaznaczaj modele po załadowaniu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Czy przedrostek oparty na nazwie drukarki powinien być automatycznie dodawany do nazwy zadania?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Dodaj przedrostek maszyny do nazwy zadania" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Czy podsumowanie powinno być wyświetlane podczas zapisu projektu?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Pokaż okno podsumowania podczas zapisywaniu projektu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Domyślne zachowanie podczas otwierania pliku projektu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Domyślne zachowanie podczas otwierania pliku projektu: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Zawsze pytaj" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Zawsze otwieraj jako projekt" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Zawsze importuj modele" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Kiedy dokonasz zmian w profilu i przełączysz się na inny, zostanie wyświetlone okno z pytaniem, czy chcesz zachować twoje zmiany, czy nie. Możesz też wybrać domyślne zachowanie, żeby to okno już nigdy nie było pokazywane." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profile" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Domyślne zachowanie dla zmienionych ustawień podczas zmiany profilu na inny: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Zawsze odrzucaj wprowadzone zmiany" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Zawsze przenoś wprowadzone zmiany do nowego profilu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Prywatność" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Czy Cura ma sprawdzać dostępność aktualizacji podczas uruchamiania programu?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Sprawdź, dostępność aktualizacji podczas uruchamiania" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Czy anonimowe dane na temat wydruku mają być wysyłane do Ultimaker? Uwaga. Żadne modele, adresy IP, ani żadne inne dane osobiste nie będą wysyłane i/lub przechowywane." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Wyślij (anonimowe) informacje o drukowaniu" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Więcej informacji" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Eksperymentalne" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Użyj funkcji wielu pól roboczych" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Użyj funkcji wielu pól roboczych (wymagany restart)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Drukarki" @@ -3217,7 +3221,7 @@ msgid "Connection:" msgstr "Połączenie:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Drukarka nie jest podłączona." @@ -3243,7 +3247,7 @@ msgid "Aborting print..." msgstr "Przerywanie drukowania..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profile" @@ -3324,17 +3328,17 @@ msgid "Global Settings" msgstr "Ustawienia ogólne" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Dodaj drukarkę" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nazwa drukarki:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Dodaj drukarkę" @@ -3349,17 +3353,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "O Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "version: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Kompletne rozwiązanie do druku przestrzennego." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3368,102 +3372,122 @@ msgstr "" "Cura jest rozwijana przez firmę Ultimaker B.V. we współpracy ze społecznością.\n" "Cura z dumą korzysta z następujących projektów open source:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Graficzny interfejs użytkownika" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Struktura aplikacji" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Generator g-code" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Biblioteka komunikacji międzyprocesowej" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Język programowania" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Framework GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Powiązania Frameworka GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Biblioteka Powiązań C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Format wymiany danych" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Wsparcie biblioteki do obliczeń naukowych" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Wsparcie biblioteki dla szybszej matematyki" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Wsparcie biblioteki do obsługi plików STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Wsparcie biblioteki do obsługi plików 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Biblioteka komunikacji szeregowej" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Bilbiotek poszukująca Zeroconf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Biblioteka edytująca pola" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Biblioteka Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Czcionka" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Ikony SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Wdrożenie aplikacji pomiędzy dystrybucjami Linux" @@ -3473,7 +3497,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Profil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3484,53 +3508,53 @@ msgstr "" "\n" "Kliknij, aby otworzyć menedżer profili." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Szukanie..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Skopiuj wartość do wszystkich ekstruderów" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Skopiuj wszystkie zmienione wartości do wszystkich ekstruderów" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ukryj tę opcję" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Nie pokazuj tej opcji" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Pozostaw tę opcję widoczną" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Skonfiguruj widoczność ustawień ..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Schowaj wszystkie" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Rozwiń wszystkie" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3551,17 +3575,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Pod wpływem" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "To ustawienie jest dzielone pomiędzy wszystkimi ekstruderami. Zmiana tutaj spowoduje zmianę dla wszystkich ekstruderów." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Wartość jest pobierana z osobna dla każdego ekstrudera " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3572,7 +3596,7 @@ msgstr "" "\n" "Kliknij, aby przywrócić wartość z profilu." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3727,12 +3751,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Widok" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Pozycja kamery" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "P&ole robocze" @@ -3742,12 +3766,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Widoczne Ustawienia" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Pokaż Wszystkie Ustawienia" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Ustaw Widoczność Ustawień..." @@ -3810,17 +3834,44 @@ msgstr "" "Konfiguracja wydruku jest wyłączona\n" "Pliki G-code nie mogą zostać zmodyfikowane" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00godz. 00min." + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Specyfikacja czasu" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Szacowanie kosztów" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Razem:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Zalecana konfiguracja wydruku

Drukowanie z zalecanymi ustawieniami dla wybranej drukarki, materiału i jakości." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Niestandardowa konfiguracja wydruku

Drukowanie z precyzyjną kontrolą nad każdym elementem procesu cięcia." @@ -3845,223 +3896,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Szacowany czas pozostały" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Przełącz tryb pełnoekranowy" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Cofnij" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Ponów" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Zamknij" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "Widok 3D" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Widok z przodu" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Widok z góry" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Widok z lewej strony" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Widok z prawej strony" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Konfiguruj Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Dodaj drukarkę..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Zarządzaj drukarkami..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Zarządzaj materiałami..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Aktualizuj profil z bieżącymi ustawieniami" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Odrzuć bieżące zmiany" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Utwórz profil z bieżących ustawień..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Zarządzaj profilami..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Pokaż dokumentację internetową" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Zgłoś błąd" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "O..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Usuń wybrany model" msgstr[1] "Usuń wybrane modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Wyśrodkuj wybrany model" msgstr[1] "Wyśrodkuj wybrane modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Rozmnóż wybrany model" msgstr[1] "Rozmnóż wybrane modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Usuń model" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Wyśrodkuj model na platformie" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Grupuj modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Rozgrupuj modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Połącz modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Powiel model..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Wybierz wszystkie modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Wyczyść stół" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Przeładuj wszystkie modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Rozłóż Wszystkie Modele na Wszystkie Platformy Robocze" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Ułóż wszystkie modele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Wybór ułożenia" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Zresetuj wszystkie pozycje modelu" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Zresetuj wszystkie przekształcenia modelu" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Otwórz plik(i)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Nowy projekt..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Pokaż &dziennik silnika..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Pokaż folder konfiguracji" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Przeglądaj pakiety..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Rozłóż/Schowaj Pasek Boczny" @@ -4122,7 +4173,7 @@ msgid "Select the active output device" msgstr "Wybierz aktywne urządzenie wyjściowe" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Otwórz plik(i)" @@ -4142,145 +4193,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Cura Ultimaker" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Plik" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Zapisz..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Eksportuj..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Eksportuj Zaznaczenie..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Edytuj" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Widok" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&Ustawienia" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Drukarka" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Materiał" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Ustaw jako aktywną głowicę" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Włącz Ekstruder" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Wyłącz Ekstruder" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "&Pole robocze" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "&Rozszerzenia" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Narzędzia" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Preferencje" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "P&omoc" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Ten pakiet zostanie zainstalowany po ponownym uruchomieniu." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Otwórz plik" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Ustawienia" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Nowy projekt" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Czy na pewno chcesz rozpocząć nowy projekt? Spowoduje to wyczyszczenie stołu i niezapisanych ustawień." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Zamykanie Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Czy jesteś pewien, że chcesz zakończyć Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Instaluj pakiety" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Otwórz plik(i)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Znaleziono jeden lub więcej plików G-code w wybranych plikach. Możesz otwierać tylko jeden plik G-code jednocześnie. Jeśli chcesz otworzyć plik G-code, proszę wybierz tylko jeden." @@ -4290,11 +4341,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Zapisz projekt" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4365,37 +4411,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Stopniowe wypełnienie stopniowo zwiększa ilość wypełnień w górę." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Włącz stopniowane" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Generuj podpory" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Generuje podpory wspierające części modelu, które mają zwis. Bez tych podpór takie części mogłyby spaść podczas drukowania." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Wybierz, który ekstruder ma służyć do drukowania podpór. Powoduje to tworzenie podpór poniżej modelu, aby zapobiec spadaniu lub drukowaniu modelu w powietrzu." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Popraw przycz. modelu" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Włącz drukowanie obrysu lub tratwy. Spowoduje to dodanie płaskiej powierzchni wokół lub pod Twoim obiektem, która jest łatwa do usunięcia po wydruku." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Potrzebujesz pomocy w ulepszaniu wydruków?
Przeczytaj instrukcje dotyczące rozwiązywania problemów" @@ -4557,6 +4603,16 @@ msgctxt "name" msgid "Changelog" msgstr "Lista zmian" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4907,16 +4963,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura Profile Writer" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Pozwala twórcą materiałów na tworzenie nowych profili materiałów i jakości używając rozwijanego menu." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Asystent Profilów Druku" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4947,6 +4993,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Czytnik Profili Cura" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Wygeneruj G-code przed zapisem." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Asystent Profilu" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Asystent Profilu" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Uaktualnij oprogramowanie układowe" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Nieznany" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "Brak niestandardowego profilu do zaimportowania do pliku {0}" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Ten profil {0} zawiera błędne dane, nie można go zaimportować." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "Maszyna zdefiniowana w profilu {0} ({1}) nie zgadza się z obecnie wybraną maszyną ({2}), nie można tego zaimportować." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Potwierdź odinstalowanie " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "Wstrzymana" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Poprzedni" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Następny" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Końcówka" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Próbny wydruk" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Lista kontrolna" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Uaktualnij oprogramowanie" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Pozwala twórcą materiałów na tworzenie nowych profili materiałów i jakości używając rozwijanego menu." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Asystent Profilów Druku" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Drukuj z Doodle3D WiFi-Box" diff --git a/resources/i18n/pl_PL/fdmextruder.def.json.po b/resources/i18n/pl_PL/fdmextruder.def.json.po index 80605978ce..ecb220063a 100644 --- a/resources/i18n/pl_PL/fdmextruder.def.json.po +++ b/resources/i18n/pl_PL/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-03-30 20:33+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak and Andrzej 'anraf1001' Rafalski\n" "Language-Team: reprapy.pl\n" @@ -168,6 +168,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Współrzędna Z, w której dysza jest czyszczona na początku wydruku." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index a8b07e032c..7a9294b924 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-21 21:52+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" "Language-Team: reprapy.pl\n" @@ -16,7 +16,6 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.1.1\n" -"POT-Creation-Date: \n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -1078,8 +1077,8 @@ msgstr "Połącz Górne/Dolne Wieloboki" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Łączy górne/dolne ścieżki powłoki, gdy są one prowadzone obok siebie. Przy wzorze koncentrycznym, załączenie tego ustawienia znacznie zredukuje czas ruchów jałowych, ale ze względu na to, że połączenie może nastąpić w połowie drogi ponad wypełnieniem, ta fukncja może pogorszyć jakość górnej powierzchni." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,8 +1497,8 @@ msgstr "Wzór Wypełn." #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Wzór materiału wypełniającego wydruk. Linie i zygzaki zmieniają kierunek na przemiennych warstwach, redukując koszty materiału. Kratka, trójkąty, tri-sześciokąt, sześcienne, ośmiościenne, ćwierć sześcienny i koncentryczny wzór są drukowane w pełni na każdej warstwie. Sześcienne, ćwierć sześcienne i czworościenne wypełnienie zmienia się co każdą warstwę, aby zapewnić równy rozkład siły w każdym kierunku." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1561,6 +1560,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Krzyż 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -2783,9 +2787,7 @@ msgstr "Tryb Kombinowania" #: fdmprinter.def.json msgctxt "retraction_combing description" msgid "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases." -msgstr "" -"Kombinowanie utrzymuje dyszę w już zadrukowanych obszarach podczas ruchu jałowego. Powoduje to nieco dłuższe ruchy jałowe, ale zmniejsza potrzebę retrakcji. Jeśli kombinowanie jest wyłączone, materiał się cofa, a dysza przemieszcza się w linii prostej do następnego punktu. Można też unikać kombinowania na górnych/dolnych obszarach powłoki, a także kombinować tylko wewnątrz wypełnienia. Opcja \"Wewnątrz Wypełnienia\" wymusza takie samo zachowanie, jak opcja \"Nie w Powłoce\" we wcześniejszych " -"wydaniach Cura." +msgstr "Kombinowanie utrzymuje dyszę w już zadrukowanych obszarach podczas ruchu jałowego. Powoduje to nieco dłuższe ruchy jałowe, ale zmniejsza potrzebę retrakcji. Jeśli kombinowanie jest wyłączone, materiał się cofa, a dysza przemieszcza się w linii prostej do następnego punktu. Można też unikać kombinowania na górnych/dolnych obszarach powłoki, a także kombinować tylko wewnątrz wypełnienia. Opcja \"Wewnątrz Wypełnienia\" wymusza takie samo zachowanie, jak opcja \"Nie w Powłoce\" we wcześniejszych wydaniach Cura." #: fdmprinter.def.json msgctxt "retraction_combing option off" @@ -3267,6 +3269,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Orientacja wzoru wypełnienia dla podpór. Wzór podpory jest obracany w płaszczyźnie poziomej." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3836,6 +3868,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Liczba linii używana dla obrysu. Więcej linii obrysu poprawia przyczepność do stołu, ale zmniejsza rzeczywiste pole wydruku." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5660,6 +5702,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Forma przesunięcia, która ma być zastosowana do modelu podczas ładowania z pliku." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Łączy górne/dolne ścieżki powłoki, gdy są one prowadzone obok siebie. Przy wzorze koncentrycznym, załączenie tego ustawienia znacznie zredukuje czas ruchów jałowych, ale ze względu na to, że połączenie może nastąpić w połowie drogi ponad wypełnieniem, ta fukncja może pogorszyć jakość górnej powierzchni." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Wzór materiału wypełniającego wydruk. Linie i zygzaki zmieniają kierunek na przemiennych warstwach, redukując koszty materiału. Kratka, trójkąty, tri-sześciokąt, sześcienne, ośmiościenne, ćwierć sześcienny i koncentryczny wzór są drukowane w pełni na każdej warstwie. Sześcienne, ćwierć sześcienne i czworościenne wypełnienie zmienia się co każdą warstwę, aby zapewnić równy rozkład siły w każdym kierunku." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Koncentryczny 3D" diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index c6cc088249..3faed5d57d 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 03:20-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" @@ -47,8 +47,8 @@ msgstr "O GCodeWriter não suporta modo binário." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Por favor gere o G-Code antes de salvar." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -74,6 +74,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Exibir registro de alterações" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -84,27 +89,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "O perfil foi achatado & ativado." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Impressão USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Imprimir pela USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Imprimir pela USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Conectado via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Uma impressão USB está em progresso, fechar o Cura interromperá esta impressão. Tem certeza?" @@ -136,7 +141,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "O GCodeGzWriter não suporta modo binário." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Pacote de Formato da Ultimaker" @@ -158,7 +163,7 @@ msgid "Save to Removable Drive {0}" msgstr "Salvar em Unidade Removível {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Não há formatos de arquivo disponíveis com os quais escrever!" @@ -197,7 +202,7 @@ msgstr "Não foi possível salvar em unidade removível {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Erro" @@ -226,8 +231,8 @@ msgstr "Ejetar dispositivo removível {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Aviso" @@ -254,141 +259,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Unidade Removível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimir pela rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprime pela rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Conectado pela rede." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Conectado pela rede. Por favor aprove a requisição de acesso na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Conectado pela rede. Sem acesso para controlar a impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Acesso à impressora solicitado. Por favor aprove a requisição na impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Status da autenticação" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Status da Autenticação" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Tentar novamente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Reenvia o pedido de acesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Acesso à impressora confirmado" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Sem acesso para imprimir por esta impressora. Incapaz de enviar o trabalho de impressão." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Solicitar acesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Envia pedido de acesso à impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Incapaz de iniciar novo trabalho de impressão." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Há um problema com a configuração de sua Ultimaker, o que torna impossível iniciar a impressão. Por favor resolva este problema antes de continuar." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Configuração conflitante" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Tem certeza que quer imprimir com a configuração selecionada?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Há divergências entre a configuração ou calibração da impressora e do Cura. Para melhores resultados, sempre fatie com os PrintCores e materiais que estão carregados em sua impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Envio de novos trabalhos (temporariamente) bloqueado, ainda enviando o trabalho de impressão anterior." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Enviando dados à impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Enviando Dados" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -398,78 +398,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Printcore não carregado no slot {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Nenhum material carregado no slot {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore Diferente (Cura: {cure_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Material diferente (Cura: {0}, Impressora: {1}) selecionado para o extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar com a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Deseja usar a configuração atual de sua impressora no Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Os PrintCores e/ou materiais da sua impressora diferem dos que estão dentro de seu projeto atual. Para melhores resultados, sempre fatie para os PrintCores e materiais que estão na sua impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Conectado pela rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Trabalho de impressão enviado à impressora com sucesso." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Dados Enviados" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Ver no Monitor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} acabou de imprimir '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "O trabalho de impressão '{job_name}' terminou." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Impressão Concluída" @@ -479,49 +479,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Conectar pela rede" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Monitor" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Não foi possível acessar informação de atualização." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Novos recursos estão disponível para sua {machine_name}! Recomenda-se atualizar o firmware da impressora." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Novo firmware de %s disponível" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Como atualizar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Não foi possível acessar informação de atualização." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Visão de Camadas" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "O Cura não mostra as camadas corretamente quando Impressão em Arame estiver habilitada" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Visão Simulada" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modificar G-Code" @@ -535,32 +535,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Cria um volume em que os suportes não são impressos." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "O Cura coleta estatísticas anônimas de uso." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Coletando Dados" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Mais informações" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Ver mais informações sobre os dados enviados pelo Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Permitir" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Permite que o Cura envie estatísticas anônimas de uso para ajudar a priorizar futuras melhorias ao software. Algumas de suas preferências e ajustes são enviados junto à versão atual do Cura e um hash dos modelos que estão sendo fatiados." @@ -595,56 +595,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagem GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Incapaz de fatiar com o material atual visto que é incompatível com a máquina ou configuração selecionada." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Incapaz de fatiar" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Incapaz de fatiar com os ajustes atuais. Os seguintes ajustes têm erros: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Incapaz de fatiar devido a alguns ajustes por modelo. Os seguintes ajustes têm erros em um dos modelos ou mais: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Incapaz de fatiar porque a torre de purga ou posição de purga são inválidas." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Incapaz de fatiar porque há objetos associados com o Extrusor desabilitado %s." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Nada a fatiar porque nenhum dos modelos cabe no volume de impressão. Por favor redimensione ou rotacione os modelos para caberem." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Processando Camadas" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informação" @@ -660,13 +660,13 @@ msgid "Configure Per Model Settings" msgstr "Configurar ajustes por Modelo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" @@ -678,7 +678,7 @@ msgid "3MF File" msgstr "Arquivo 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Bico" @@ -704,18 +704,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Arquivo G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Interpretando G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Detalhes do G-Code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Assegure-se que o g-code é adequado para sua impressora e configuração antes de enviar o arquivo. A representação de g-code pode não ser acurada." @@ -726,16 +726,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Perfil do Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Assistente de Perfil" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Assistente de Perfil" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -757,11 +747,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Selecionar Atualizações" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Atualizar Firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -772,79 +757,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivelar mesa" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Parede Externa" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Paredes Internas" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Contorno" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Preenchimento" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Preenchimento de Suporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interface de Suporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Suporte" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Skirt (Saia)" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Percurso" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Retrações" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Outros" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Desconhecido" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Arquivo pré-fatiado {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "O Arquivo Já Existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -856,23 +841,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Não sobreposto" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "O material selecionado é incompatível com a máquina ou configuração selecionada." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Material Incompatível" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "Os ajustes foram mudados para atender à atual disponibilidade de extrusores: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Ajustes atualizados" @@ -901,8 +886,6 @@ msgid "Export succeeded" msgstr "Exportação concluída" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -910,58 +893,70 @@ msgstr "Falha ao importa perfil de {0}: {1}
or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "Não há perfil personalizado para importar no arquivo {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Este perfil {0} contém dados incorretos, não foi possível importá-lo." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), não foi possível importá-la." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Perfil {0} importado com sucesso" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "Arquivo {0} não contém nenhum perfil válido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "O Perfil {0} tem tipo de arquivo desconhecido ou está corrompido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Perfil personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Falta um tipo de qualidade ao Perfil." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Não foi possível encontrar tipo de qualidade {0} para a configuração atual." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -988,12 +983,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Todos Os Arquivos (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Material Personalizado" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Personalizado" @@ -1008,22 +1003,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Volume de Impressão" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Não pude criar arquivo do diretório de dados de usuário: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Backup" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Tentativa de restauração de backup do Cura sem dados ou metadados apropriados." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Tentativa de restauração de backup do Cura que não corresponde à versão atual." @@ -1198,40 +1193,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Enviar relatório" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Carregando máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Configurando cena..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Carregando interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Somente um arquivo G-Code pode ser carregado por vez. Pulando importação de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Não é possível abrir nenhum outro arquivo se G-Code estiver sendo carregado. Pulando importação de {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "O modelo selecionado é pequenos demais para carregar." @@ -1262,9 +1257,9 @@ msgstr "X (largura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1399,22 +1394,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "O diâmetro nominal do filamento suportado pela impressora. O diâmetro exato será sobreposto pelo material e/ou perfil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Deslocamento X do Bico" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Deslocamento Y do Bico" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "G-Code Inicial do Extrusor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "G-Code Final do Extrusor" @@ -1435,41 +1440,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Não foi possível conectar-se à base de dados de Pacotes do Cura. Por favor verifique sua conexão." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Complementos" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiais" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Versão" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Última atualização" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autor" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Downloads" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Desconhecido" @@ -1504,8 +1510,8 @@ msgstr "Voltar" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Confirme a deinstalação" +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1552,7 +1558,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Materiais Genéricos" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Instalado" @@ -1634,48 +1640,88 @@ msgid "Changelog" msgstr "Registro de alterações" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Fechar" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "O firmware é o software rodando diretamente no maquinário de sua impressora 3D. Este firmware controla os motores de passo, regula a temperatura e é o que faz a sua impressora funcionar." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "O firmware que já vêm embutido nas novas impressoras funciona, mas novas versões costumam ter mais recursos, correções e melhorias." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Automaticamente atualizar Firmware" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Carregar Firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Selecionar firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Atualização do Firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Atualizando firmware." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Atualização do Firmware completada." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "A atualização de Firmware falhou devido a um erro desconhecido." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "A atualização de firmware falhou devido a um erro de comunicação." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "A atualização de firmware falhou devido a um erro de entrada e saída." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "A atualização de firmware falhou devido a firmware não encontrado." @@ -1685,22 +1731,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Termos de Acordo do Usuário" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Conexão Existente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Esta impressora ou grupo já foi adicionada ao Cura. Por favor selecione outra impressora ou grupo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Conectar a Impressora de Rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1711,18 +1757,18 @@ msgstr "" "\n" "Selecione sua impressora da lista abaixo:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Adicionar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Editar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1730,244 +1776,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Remover" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Atualizar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Se sua impressora não está listada, leia o guia de resolução de problemas de impressão em rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Versão do firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Endereço" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Esta impressora não está configurada para hospedar um grupo de impressoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Esta impressora é a hospedeira de um grupo de %1 impressoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "A impressora neste endereço ainda não respondeu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Conectar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Endereço da Impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Introduza o endereço IP ou hostname da sua impressora na rede." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "Ok" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Imprimir pela rede" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Seleção de impressora" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Imprimir" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimir pela rede" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Aguardando por: Impressora indisponível" +msgid "Printer selection" +msgstr "Seleção de impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Aguardando por: A primeira disponível" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Aguardando por: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Mover para o topo" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Move o trabalho de impressão para o topo da fila" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Você tem certeza que quer mover %1 para o topo da fila?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Remover" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Remover trabalho de impressão" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Você tem certeza que quer remover %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Gerenciar fila" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Enfileirados" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Imprimindo" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Gerenciar impressoras" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Não disponível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Inacessível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Abortado" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Finalizado" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Preparando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Pausando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Continuando" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Necessária uma ação" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Aguardando por: Impressora indisponível" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Aguardando por: A primeira disponível" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Aguardando por: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Gerenciar fila" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Enfileirados" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Imprimindo" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Gerenciar impressoras" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Mover para o topo" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Remover" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Continuar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Pausar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Abortar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Você tem certeza que quer mover %1 para o topo da fila?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Move o trabalho de impressão para o topo da fila" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Você tem certeza que quer remover %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Remover trabalho de impressão" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Você tem certeza que quer abortar %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Abortar impressão" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Você tem certeza que quer abortar %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Abortado" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Finalizado" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Preparando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Pausando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Pausado" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Continuando" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Necessária uma ação" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Conecta a uma impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Carrega a configuração da impressora no Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Ativar Configuração" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Carrega a configuração da impressora no Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2058,17 +2160,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Scripts de Pós-Processamento" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Adicionar um script" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Troca os scripts de pós-processamento ativos" @@ -2193,23 +2295,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modificar ajustes para preenchimento de outros modelos" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Selecionar ajustes" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Selecionar Ajustes a Personalizar para este modelo" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Exibir tudo" @@ -2260,6 +2362,7 @@ msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Grupo de Impressora" @@ -2277,6 +2380,7 @@ msgstr "Como o conflito no perfil deve ser resolvido?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2351,82 +2455,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Abrir" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Anterior" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Exportar" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Próximo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Dica" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00h 00min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Especificação de custo" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Total:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Imprimir experimento" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Lista de verificação" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2468,36 +2496,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Mover pra a Posição Seguinte" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Atualizar Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "O firmware é o software rodando diretamente no maquinário de sua impressora 3D. Este firmware controla os motores de passo, regula a temperatura e é o que faz a sua impressora funcionar." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "O firmware que já vêm embutido nas novas impressoras funciona, mas novas versões costumam ter mais recursos, correções e melhorias." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Automaticamente atualizar Firmware" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Carregar Firmware personalizado" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Selecionar firmware personalizado" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2685,7 +2683,7 @@ msgid "Customized" msgstr "Personalizado" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Sempre perguntar" @@ -2833,6 +2831,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importar" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Exportar" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2918,283 +2922,283 @@ msgid "Unit" msgstr "Unidade" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Geral" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Moeda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Você precisará reiniciar a aplicação para que essas mudanças tenham efeito." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Fatiar automaticamente quando mudar ajustes." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Fatiar automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento da área de visualização" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Ressaltar áreas sem suporte do modelo em vermelho. Sem suporte, estas áreas não serão impressas corretamente." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Exibir seções pendentes" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Move a câmera de modo que o modelo fique no centro da visão quando for selecionado." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centralizar câmera quanto o item é selecionado" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "O comportamento default de ampliação deve ser invertido?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverter a direção da ampliação de câmera." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "A ampliação (zoom) deve se mover na direção do mouse?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Ampliar na direção do mouse" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Os modelos devem ser movidos na plataforma de modo que não se sobreponham?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Assegurar que os modelos sejam mantidos separados" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Os modelos devem ser movidos pra baixo pra se assentar na plataforma de impressão?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Automaticamente fazer os modelos caírem na mesa de impressão." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Exibir mensagem de alerta no leitor de G-Code." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Mensagem de alera no leitor de G-Code" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "A Visão de Camada deve ser forçada a ficar em modo de compatibilidade?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forçar modo de compatibilidade da visão de camadas (requer reinício)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrindo e salvando arquivos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Os modelos devem ser redimensionados dentro do volume de impressão se forem muito grandes?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Redimensionar modelos grandes" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Um modelo pode ser carregado diminuto se sua unidade for por exemplo em metros ao invés de milímetros. Devem esses modelos ser redimensionados?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Redimensionar modelos minúsculos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Os modelos devem ser selecionados após serem carregados?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Selecionar modelos ao carregar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Um prefixo baseado no nome da impressora deve ser adicionado ao nome do trabalho de impressão automaticamente?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Adicionar prefixo de máquina ao nome do trabalho" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Um resumo deve ser exibido ao salvar um arquivo de projeto?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Exibir diálogo de resumo ao salvar projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamento default ao abrir um arquivo de projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamento default ao abrir um arquivo de projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Sempre me perguntar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Sempre abrir como projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Sempre importar modelos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Quando você faz alterações em um perfil e troca para um diferent, um diálogo aparecerá perguntando se você quer manter ou aplicar suas modificações, ou você pode forçar um comportamento default e não ter o diálogo." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Perfis" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportamento default para valores de configuração alterados ao mudar para um perfil diferente: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Sempre descartar alterações da configuração" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Sempre transferir as alterações para o novo perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privacidade" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "O Cura deve verificar novas atualizações quando o programa for iniciado?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Verificar atualizações na inicialização" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Dados anônimos sobre sua impressão podem ser enviados para a Ultimaker? Nota: nenhuma informação pessoalmente identificável, modelos ou endereços IP são enviados ou armazenados." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar informação (anônima) de impressão." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Mais informações" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Experimental" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Usar funcionalidade de plataforma múltipla de impressão" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Usar funcionalidade de plataforma múltipla de impressão (reinício requerido)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Impressoras" @@ -3216,7 +3220,7 @@ msgid "Connection:" msgstr "Conexão:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "A impressora não está conectada." @@ -3242,7 +3246,7 @@ msgid "Aborting print..." msgstr "Abortando impressão..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfis" @@ -3323,17 +3327,17 @@ msgid "Global Settings" msgstr "Ajustes globais" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Adicionar Impressora" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nome da Impressora:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Adicionar Impressora" @@ -3348,17 +3352,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Sobre o Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "versão: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Solução completa para impressão 3D com filamento fundido." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3367,102 +3371,122 @@ msgstr "" "Cura é desenvolvido pela Ultimaker B.V. em cooperação com a comunidade.\n" "Cura orgulhosamente usa os seguintes projetos open-source:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interface Gráfica de usuário" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Framework de Aplicações" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Gerador de G-Code" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Biblioteca de comunicação interprocessos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Linguagem de Programação" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Framework Gráfica" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Ligações da Framework Gráfica" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Biblioteca de Ligações C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Formato de Intercâmbio de Dados" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Bibliteca de suporte para computação científica" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Biblioteca de suporte para matemática acelerada" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Biblioteca de suporte para manuseamento de arquivos STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Biblioteca de suporte para manuseamento de arquivos 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Biblioteca de comunicação serial" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Biblioteca de descoberta 'ZeroConf'" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Biblioteca de recorte de polígonos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Biblioteca de HTTP Python" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Fonte" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Ícones SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Implementação de aplicação multidistribuição em Linux" @@ -3472,7 +3496,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Perfil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3483,53 +3507,53 @@ msgstr "" "\n" "Clique para abrir o gerenciador de perfis." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Buscar..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copiar valor para todos os extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copiar todos os valores alterados para todos os extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Ocultar este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Não exibir este ajuste" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Manter este ajuste visível" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar a visibilidade dos ajustes..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Encolher Todos" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Expandir Todos" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3550,17 +3574,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Afetado Por" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Este ajuste é sempre compartilhado entre todos os extrusores. Modificá-lo aqui mudará o valor para todos." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "O valor é resolvido de valores específicos de cada extrusor" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3571,7 +3595,7 @@ msgstr "" "\n" "Clique para restaurar o valor do perfil." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3726,12 +3750,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Ver" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "Posição da &câmera" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "Plataforma de Impressão (&B)" @@ -3741,12 +3765,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Ajustes Visíveis" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Mostrar Todos Os Ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gerenciar Visibilidade dos Ajustes..." @@ -3809,17 +3833,44 @@ msgstr "" "Configuração de Impressão desabilitada\n" "Arquivos G-Code não podem ser modificados" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00h 00min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Especificação de tempo" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Especificação de custo" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Total:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuração Recomendada de Impressão

Imprimir com os ajustes recomendados para a impressora, material e qualidade selecionados." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuração de Impressão Personalizada

Imprimir com controle fino sobre cada parte do processo de fatiamento." @@ -3844,223 +3895,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Tempo restante estimado" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Alternar Tela Cheia" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Desfazer (&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Refazer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "Sair (&Q)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "Visão &3D" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Visão Frontal" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Visão Superior" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Visão do Lado Esquerdo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Visão do Lado Direito" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configurar Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Adicionar Impressora..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Adm&inistrar Impressoras..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Administrar Materiais..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "At&ualizar perfil com valores e sobreposições atuais" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Descartar ajustes atuais" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Criar perfil a partir de ajustes/sobreposições atuais..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Administrar perfis..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Exibir &Documentação Online" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Relatar um &Bug" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Sobre..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Remover Modelo Selecionado" msgstr[1] "Remover Modelos Selecionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Centralizar Modelo Selecionado" msgstr[1] "Centralizar Modelos Selecionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Multiplicar Modelo Selecionado" msgstr[1] "Multiplicar Modelos Selecionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Remover Modelo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&ntralizar Modelo na Mesa" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "A&grupar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Co&mbinar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiplicar Modelo..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Selecionar Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Esvaziar a Mesa de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Recarregar Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Posicionar Todos os Modelos em Todas as Plataformas de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Posicionar Todos os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Posicionar Seleção" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Reestabelecer as Posições de Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Remover as Transformações de Todos Os Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "Abrir Arquiv&o(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Novo Projeto..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Exibir o Registro do Motor de Fatiamento (&L)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Exibir Pasta de Configuração" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Navegar pacotes..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Expandir/Encolher Barra Lateral" @@ -4121,7 +4172,7 @@ msgid "Select the active output device" msgstr "Selecione o dispositivo de saída ativo" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Abrir arquivo(s)" @@ -4141,145 +4192,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "Arquivo (&F)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Salvar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Exportar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Exportar Seleção..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Editar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Ver" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "Aju&stes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Im&pressora" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Definir Como Extrusor Ativo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Habilitar Extrusor" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Desabilitar Extrusor" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "Plataforma de Impressão (&B)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensões" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "Ferramen&tas" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&referências" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "Ajuda (&H)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Este pacote será instalado após o reinício." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Abrir arquivo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Ajustes" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Novo projeto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Tem certeza que quer iniciar novo projeto? Isto esvaziará a mesa de impressão e quaisquer ajustes não salvos." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Fechando o Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Você tem certeza que deseja sair do Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Instalar Pacote" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Abrir Arquivo(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Encontramos um ou mais arquivos de G-Code entre os arquivos que você selecionou. Você só pode abrir um arquivo de G-Code por vez. Se você quiser abrir um arquivo de G-Code, por favor selecione somente um." @@ -4289,11 +4340,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Salvar Projeto" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4364,37 +4410,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Preenchimento gradual aumentará gradualmente a quantidade de preenchimento em direção ao topo." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Habilitar gradual" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Gerar Suportes" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Gera estrutura que suportarão partes do modelo que têm seções pendentes. Sem estas estruturas, tais partes desabariam durante a impressão." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Selecione qual extrusor a usar para o suporte. Isto construirá estruturas de suportes abaixo do modelo para prevenir que o modelo desabe ou seja impresso no ar." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Aderência à Mesa de Impressão" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Habilita imprimir um brim (bainha) ou raft (jangada). Adicionará uma área chata em volta ou sob o objeto que é fácil de remover após a impressão ter finalizado." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Precisa de ajuda para melhorar sua impressões?
Leia os Guias de Resolução de Problema da Ultimaker" @@ -4556,6 +4602,16 @@ msgctxt "name" msgid "Changelog" msgstr "Registro de Alterações" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4906,16 +4962,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Gravador de Perfis do Cura" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Permite que fabricantes de material criem novos perfis de material e qualidade usando uma interface drop-in." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Assistente de Perfil de Impressão" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4946,6 +4992,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Leitor de Perfis do Cura" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Por favor gere o G-Code antes de salvar." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Assistente de Perfil" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Assistente de Perfil" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Atualizar Firmware" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "Não há perfil personalizado para importar no arquivo {0}" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Este perfil {0} contém dados incorretos, não foi possível importá-lo." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), não foi possível importá-la." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Confirme a deinstalação" + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "Pausado" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Anterior" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Próximo" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Dica" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Imprimir experimento" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Lista de verificação" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Atualizar Firmware" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Permite que fabricantes de material criem novos perfis de material e qualidade usando uma interface drop-in." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Assistente de Perfil de Impressão" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Imprimir com a WiFi-Box do Doodle3D" diff --git a/resources/i18n/pt_BR/fdmextruder.def.json.po b/resources/i18n/pt_BR/fdmextruder.def.json.po index 87eb768e57..0596e098cb 100644 --- a/resources/i18n/pt_BR/fdmextruder.def.json.po +++ b/resources/i18n/pt_BR/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-02 05:00-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" @@ -167,6 +167,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "A coordenada Z da posição onde o bico faz a purga no início da impressão." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index a352af777e..73565a2769 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-02 06:30-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" @@ -1077,8 +1077,8 @@ msgstr "Conectar Polígonos do Topo e Base" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Conectar camihos de contorno do topo e base onde se situarem próximos. Habilitar para o padrão concêntrico reduzirá bastante o tempo de percurso, mas visto que as conexões podem acontecer sobre o preenchimento no meio do caminho, este recurso pode reduzir a qualidade da superfície superior." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,8 +1497,8 @@ msgstr "Padrão de Preenchimento" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "O padrão do material de preenchimento da impressão. Preenchimento de Linhas e Ziguezague trocam direções em camadas alternadas, reduzindo custo do material. Os padrões de Grade, Triângulo, Tri-Hexágono, Cúbico, Octeto, Quarto Cúbico, Cruzado e Concêntrico são totalmente impressos em cada camada. Os preenchimentos Cúbico, Quarto Cúbico e Octeto mudam em cada camada para prover uma distribuição mais uniforme de forças em cada direção." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1560,6 +1560,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Cruzado 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3264,6 +3269,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Orientação do padrão de preenchimento para suportes. O padrão de preenchimento do suporte é rotacionado no plano horizontal." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3833,6 +3868,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "O número de linhas usada para o brim. Mais linhas de brim melhoram a aderência à mesa, mas também reduzem a área efetiva de impressão." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5657,6 +5702,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matriz de transformação a ser aplicada ao modelo após o carregamento do arquivo." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Conectar camihos de contorno do topo e base onde se situarem próximos. Habilitar para o padrão concêntrico reduzirá bastante o tempo de percurso, mas visto que as conexões podem acontecer sobre o preenchimento no meio do caminho, este recurso pode reduzir a qualidade da superfície superior." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "O padrão do material de preenchimento da impressão. Preenchimento de Linhas e Ziguezague trocam direções em camadas alternadas, reduzindo custo do material. Os padrões de Grade, Triângulo, Tri-Hexágono, Cúbico, Octeto, Quarto Cúbico, Cruzado e Concêntrico são totalmente impressos em cada camada. Os preenchimentos Cúbico, Quarto Cúbico e Octeto mudam em cada camada para prover uma distribuição mais uniforme de forças em cada direção." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Concêntrico 3D" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index 5c5abfe44f..b9ee847871 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:15+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" @@ -48,8 +48,8 @@ msgstr "O GCodeWriter não suporta modo sem texto." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Crie um G-code antes de guardar." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -76,6 +76,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Mostrar Lista das Alterações de cada Versão" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + # rever! # flatten -ver contexto! # nivelar? @@ -89,27 +94,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "O perfil foi nivelado & ativado." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Impressão USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Imprimir por USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Imprimir por USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Ligado via USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Existe uma impressão por USB em curso; fechar o Cura irá interromper esta impressão. Tem a certeza?" @@ -141,7 +146,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "O GCodeGzWriter não suporta modo de texto." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Arquivo Ultimaker Format" @@ -165,7 +170,7 @@ msgstr "Guardar no Disco Externo {0}" # rever! # contexto #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Não existem quaisquer formatos disponíveis para gravar o ficheiro!" @@ -204,7 +209,7 @@ msgstr "Não foi possível guardar no Disco Externo {0}: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Erro" @@ -236,8 +241,8 @@ msgstr "Ejetar Disco Externo {0}" # Atenção? #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Aviso" @@ -264,97 +269,92 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Disco Externo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Imprimir através da rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Imprimir através da rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Ligado através da rede." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Ligado através da rede. Por favor aprove o pedido de acesso, na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Ligado através da rede. Sem autorização para controlar a impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Acesso à impressora solicitado. Por favor aprove o pedido de acesso, na impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Estado da autenticação" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Estado da autenticação" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Tentar de Novo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Reenviar a solicitação de acesso" # rever! # aceite? -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Acesso à impressora confirmado" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Sem autorização para imprimir com esta impressora. Não foi possível enviar o trabalho de impressão." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Solicitar Acesso" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Enviar pedido de acesso para a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Não é possível iniciar um novo trabalho de impressão." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Existe um problema com a configuração da sua Ultimaker, o qual impede o inicio da impressão. Por favor resolva este problema antes de continuar." @@ -362,48 +362,48 @@ msgstr "Existe um problema com a configuração da sua Ultimaker, o qual impede # rever! # ver contexto! pode querer dizer # Configuração incompatível -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Divergência de Configuração" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Tem a certeza de que deseja imprimir com a configuração selecionada?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Existe uma divergência entre a configuração ou calibração da impressora e o Cura. Para se obter os melhores resultados, o seccionamento (no Cura) deve ser sempre feito para os núcleos de impressão e para os materiais que estão introduzidos na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "O envio de novos trabalhos está (temporariamente) bloqueado; o trabalho de impressão anterior ainda está a ser enviado." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "A enviar dados para a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "A Enviar Dados" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -413,74 +413,74 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Cancelar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Nenhum PrintCore instalado na ranhura {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Nenhum material carregado na ranhura {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "PrintCore diferente (Cura: {cura_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Material diferente (Cura: {0}, Impressora: {1}) selecionado para o extrusor {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Sincronizar com a impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Deseja utilizar a configuração atual da impressora no Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Os núcleos de impressão e/ou materiais na sua impressora são diferentes dos definidos no seu projeto atual. Para se obter os melhores resultados, o seccionamento (no Cura) deve ser sempre feito para os núcleos de impressão e para os materiais que estão introduzidos na impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Ligado através da rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "O trabalho de impressão foi enviado com sucesso para a impressora." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Dados Enviados" # rever! # contexto -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Ver no Monitor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "A impressora {printer_name} terminou a impressão de \"{job_name}\"." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." @@ -488,7 +488,7 @@ msgstr "O trabalho de impressão '{job_name}' terminou." # rever! # Concluída? -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Impressão terminada" @@ -498,49 +498,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Ligar Através da Rede" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Monitorizar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Não foi possível aceder às informações de atualização." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Estão disponíveis novas funcionalidades para a impressora {machine_name}! É recomendado atualizar o firmware da impressora." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Novo firmware para %s está disponível" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Como atualizar" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Não foi possível aceder às informações de atualização." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Vista Camadas" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Quando a opção \"Wire Printing\" está ativa, o Cura não permite visualizar as camadas de uma forma precisa" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Visualização por Camadas" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Modificar G-code" @@ -554,32 +554,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Criar um volume dentro do qual não são impressos suportes." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "O Cura recolhe, de forma anónima, estatísticas sobre as opções usadas." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "A Recolher Dados" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Mais informação" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Saiba mais sobre que informação o Cura envia." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Permitir" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Permitir que o Cura envie de forma anónima, estatísticas sobre as opções usadas, para nos ajudar a estabelecer as prioridades para os futuros desenvolvimentos do Cura. São enviadas apenas algumas das preferências e definições usadas, a versão do Cura e um valor \"hash\" dos modelos que está a seccionar." @@ -614,39 +614,39 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "Imagem GIF" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Não é possível seccionar com o material atual, uma vez que é incompatível com a impressora ou configuração selecionada." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Não é possível Seccionar" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Não é possível seccionar com as definições atuais. As seguintes definições apresentam erros: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Não é possível seccionar devido a algumas definições por modelo. As seguintes definições apresentam erros num ou mais modelos: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Não é possível seccionar porque a torre de preparação ou a(s) posição(ões) de preparação é(são) inválidas." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." @@ -658,18 +658,18 @@ msgstr "Não é possível seccionar porque existem objetos associados à extruso # contido pelo # se adapta? # cabem no...? -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Sem conteúdo para seccionar porque nenhum dos modelos está dentro do volume de construção. Por favor redimensione, mova ou rode os modelos para os adaptar ao volume de construção." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "A Processar Camadas" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Informações" @@ -685,13 +685,13 @@ msgid "Configure Per Model Settings" msgstr "Configurar definições individuais Por-Modelo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Recomendado" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Personalizado" @@ -703,7 +703,7 @@ msgid "3MF File" msgstr "Ficheiro 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Nozzle" @@ -729,18 +729,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Ficheiro G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "A analisar G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Detalhes do G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Certifique-se de que este g-code é apropriado para a sua impressora e respetiva configuração, antes de enviar o ficheiro para a impressora. A representação do g-code poderá não ser exata." @@ -751,16 +751,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Perfil Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Assistente de perfis" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Assistente de perfis" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -782,11 +772,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Selecionar atualizações" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Atualizar firmware" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -797,79 +782,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Nivelar base de construção" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Parede Exterior" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Paredes Interiores" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Revestimento" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Enchimento" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Enchimento dos Suportes" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Interface dos Suportes" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Suportes" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Contorno" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Deslocação" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Retrações" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Outro" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Desconhecido" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Ficheiro pré-seccionado {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "O Ficheiro Já Existe" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -881,23 +866,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Manter" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "O material selecionado é incompatível com a máquina ou a configuração selecionada." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Material incompatível" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "As definições foram alteradas de forma a corresponder aos extrusores disponíveis de momento: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Definições atualizadas" @@ -926,8 +911,6 @@ msgid "Export succeeded" msgstr "Exportação bem-sucedida" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -935,58 +918,70 @@ msgstr "Falha ao importar perfil de {0}: {1} or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "O ficheiro {0} não contém qualquer perfil personalizado para importar" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "O perfil {0} contém dados incorretos, não foi possível importá-lo." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), e não foi possível importá-la." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Perfil {0} importado com êxito" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "O ficheiro {0} não contém qualquer perfil válido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "O perfil {0} é de um formato de ficheiro desconhecido ou está corrompido." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Perfil personalizado" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "O perfil não inclui qualquer tipo de qualidade." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Não foi possível encontrar um tipo de qualidade {0} para a configuração atual." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -1015,12 +1010,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Todos os Ficheiros (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Material Personalizado" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Personalizado" @@ -1035,22 +1030,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Volume de construção" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Não é possível criar um arquivo a partir do directório de dados do utilizador: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Backup" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Tentou restaurar um Cura backup sem existirem dados ou metadados correctos." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Tentou restaurar um Cura backup que não corresponde á sua versão actual." @@ -1230,40 +1225,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Enviar relatório" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "A carregar máquinas..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "A configurar cenário..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "A carregar interface..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Apenas pode ser carregado um ficheiro G-code de cada vez. Importação {0} ignorada" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Não é possível abrir outro ficheiro enquanto o G-code estiver a carregar. Importação {0} ignorada" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "O modelo selecionado era demasiado pequeno para carregar." @@ -1294,9 +1289,9 @@ msgstr "X (Largura)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1431,22 +1426,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "O diâmetro nominal do filamento suportado pela impressora. O diâmetro exato será substituído pelo material e/ou perfil." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Desvio X do Nozzle" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Desvio Y do Nozzle" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "G-code Inicial do Extrusor" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "G-code Final do Extrusor" @@ -1467,41 +1472,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Não foi possível aceder á base de dados de Pacotes do Cura. Por favor verifique a sua ligação." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Plug-ins" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Materiais" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Versão" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Actualizado em" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Autor" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Transferências" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Desconhecido" @@ -1536,8 +1542,8 @@ msgstr "Anterior" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Confirmar desinstalação " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1584,7 +1590,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Materiais genéricos" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Instalado" @@ -1666,48 +1672,89 @@ msgid "Changelog" msgstr "Lista das Alterações" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Fechar" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +# rever! +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "O firmware é o software que é executado diretamente na sua impressora 3D. Este firmware controla os motores de passo, regula a temperatura e basicamente assegura o funcionamento da sua impressora." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "O firmware que é expedido com as novas impressoras funciona corretamente, mas as novas versões costumam ter mais funcionalidades e melhorias." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Atualizar firmware automaticamente" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Carregar firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Selecionar firmware personalizado" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Atualização de firmware" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "A atualizar firmware." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Atualização de firmware concluída." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "A atualização de firmware falhou devido a um erro desconhecido." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "A atualização de firmware falhou devido a um erro de comunicação." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "A atualização de firmware falhou devido a um erro de entrada/saída." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "A atualização de firmware falhou devido à ausência de firmware." @@ -1717,22 +1764,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Contrato de Utilizador" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Ligação Existente" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Esta impressora/grupo já foi adicionada ao Cura. Por favor selecione outra impressora/grupo." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Ligar a uma Impressora em Rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1743,18 +1790,18 @@ msgstr "" "\n" "Selecione a sua impressora na lista em baixo:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Adicionar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Editar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1762,246 +1809,302 @@ msgctxt "@action:button" msgid "Remove" msgstr "Remover" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Atualizar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Se a sua impressora não estiver na lista, por favor, consulte o guia de resolução de problemas de impressão em rede" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tipo" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Versão de Firmware" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Endereço" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Esta impressora não está configurada para alojar um grupo de impressoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Esta impressora aloja um grupo de %1 impressoras." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "A impressora neste endereço ainda não respondeu." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Ligar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Endereço da Impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Introduza o endereço IP ou o hostname da sua impressora na rede." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Imprimir Através da Rede" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Seleção de Impressora" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Imprimir" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Imprimir Através da Rede" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "A aguardar: Impressora indisponível" +msgid "Printer selection" +msgstr "Seleção de Impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "A aguardar: Primeira disponível" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "A aguardar: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "Mover para o topo" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Mover trabalho de impressão para o topo" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Tem a certeza de que pretende mover %1 para o topo da fila?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Eliminar" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Eliminar trabalho de impressão" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Tem a certeza de que pretende eliminar %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Gerir fila" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Em fila" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "A Imprimir" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Gerir impressoras" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Não disponível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Inacessível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Disponível" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 -msgctxt "@label" -msgid "Resume" -msgstr "Retomar" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 -msgctxt "@label" -msgid "Pause" -msgstr "Colocar em pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 -msgctxt "@label" -msgid "Abort" -msgstr "Cancelar" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 -#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 -msgctxt "@window:title" -msgid "Abort print" -msgstr "Cancelar impressão" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Tem a certeza de que deseja cancelar %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 msgctxt "@label:status" msgid "Aborted" msgstr "Cancelado" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 msgctxt "@label:status" msgid "Finished" msgstr "Impressão terminada" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 msgctxt "@label:status" msgid "Preparing" msgstr "A preparar" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 msgctxt "@label:status" msgid "Pausing" msgstr "A colocar em pausa" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Em Pausa" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 msgctxt "@label:status" msgid "Resuming" msgstr "A Recomeçar" # rever! # ver contexto! -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 msgctxt "@label:status" msgid "Action required" msgstr "Ação necessária" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "A aguardar: Impressora indisponível" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "A aguardar: Primeira disponível" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "A aguardar: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Gerir fila" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Em fila" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "A Imprimir" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Gerir impressoras" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "Mover para o topo" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Eliminar" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 +msgctxt "@label" +msgid "Resume" +msgstr "Retomar" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 +msgctxt "@label" +msgid "Pause" +msgstr "Colocar em pausa" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 +msgctxt "@label" +msgid "Abort" +msgstr "Cancelar" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Tem a certeza de que pretende mover %1 para o topo da fila?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Mover trabalho de impressão para o topo" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Tem a certeza de que pretende eliminar %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Eliminar trabalho de impressão" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Tem a certeza de que deseja cancelar %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 +msgctxt "@window:title" +msgid "Abort print" +msgstr "Cancelar impressão" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Ligar a uma impressora" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Importar a configuração da impressora para o Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Ativar Configuração" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Importar a configuração da impressora para o Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2098,17 +2201,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Scripts de pós-processamento" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Adicionar um script" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Definições" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Alterar scripts de pós-processamento ativos" @@ -2234,23 +2337,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Modificar definições do enchimento de outros modelos" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Selecionar definições" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Selecionar definições a personalizar para este modelo" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrar..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Mostrar tudo" @@ -2301,6 +2404,7 @@ msgid "Type" msgstr "Tipo" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Grupo da Impressora" @@ -2318,6 +2422,7 @@ msgstr "Como deve ser resolvido o conflito no perfil?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2394,82 +2499,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Abrir" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Anterior" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Exportar" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Seguinte" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Sugestão" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00h00min" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Especificação de custos" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Total:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1 m / ~ %2 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Experimento de impressão" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Lista de verificação" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2511,37 +2540,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Avançar para Posição Seguinte" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Atualizar Firmware" - -# rever! -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "O firmware é o software que é executado diretamente na sua impressora 3D. Este firmware controla os motores de passo, regula a temperatura e basicamente assegura o funcionamento da sua impressora." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "O firmware que é expedido com as novas impressoras funciona corretamente, mas as novas versões costumam ter mais funcionalidades e melhorias." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Atualizar firmware automaticamente" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Carregar firmware personalizado" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Selecionar firmware personalizado" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2736,7 +2734,7 @@ msgid "Customized" msgstr "Personalizado" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Perguntar sempre isto" @@ -2884,6 +2882,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Importar" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Exportar" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2969,287 +2973,287 @@ msgid "Unit" msgstr "Unidade" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Geral" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Interface" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Idioma:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Moeda:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "É necessário reiniciar a aplicação para que estas alterações sejam aplicadas." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Seccionar automaticamente ao alterar as definições." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Seccionar automaticamente" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Comportamento da janela" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Realçar, a vermelho, as áreas do modelo sem apoio. Sem suporte, estas áreas podem não ser impressas correctamente." # rever! # consolas? -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Mostrar Saliências (Overhangs)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Move a câmara de forma que o modelo fique no centro da visualização quando é selecionado um modelo" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Centrar câmara ao selecionar item" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "O comportamento de zoom predefinido do Cura deve ser invertido?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Inverta a direção do zoom da câmera." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "O zoom deve deslocar-se na direção do rato?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Fazer Zoom na direção do rato" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Os modelos, na plataforma, devem ser movidos para que não se intersectem?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Garantir que os modelos não se interceptam" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Pousar os modelos na base de construção?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Pousar automaticamente os modelos na base de construção" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Mostrar mensagem de aviso no leitor de g-code." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Mensagem de aviso no leitor de g-code" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "A vista por camada deve ser forçada a utilizar o modo de compatibilidade?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Forçar o modo de compatibilidade na visualização por camada (é necessário reiniciar)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Abrir e guardar ficheiros" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Os modelos devem ser redimensionados até ao volume de construção se forem demasiado grandes?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Redimensionar modelos demasiado grandes" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Um modelo pode parecer extremamente pequeno se, por exemplo, este tiver sido criado em metros e não em milímetros. Estes modelos devem ser redimensionados?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Redimensionar modelos extremamente pequenos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Selecionar os modelos depois de abertos?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Selecionar os modelos depois de abertos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Deve um prefixo com base no nome da impressora ser adicionado ao nome do trabalho de impressão automaticamente?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Adicionar prefixo da máquina ao nome do trabalho" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Deve ser apresentado um resumo ao guardar um ficheiro de projeto?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Mostrar caixa de diálogo de resumo ao guardar projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Comportamento predefinido ao abrir um ficheiro de projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Comportamento predefinido ao abrir um ficheiro de projeto: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Perguntar sempre isto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Abrir sempre como projeto" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Importar sempre modelos" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Quando tiver realizado alterações a um perfil e mudado para outro, será apresentada uma caixa de diálogo a perguntar se pretende manter as alterações. Caso contrário, pode escolher um comportamento predefinido, sendo que a caixa de diálogo nunca mais é apresentada." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Perfis" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Comportamento predefinido para valores de definição alterados ao mudar para um perfil diferente: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Descartar sempre definições alteradas" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Transferir sempre definições alteradas para o novo perfil" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Privacidade" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "O Cura deve procurar atualizações quando o programa é iniciado?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Procurar atualizações ao iniciar" # rever! # legal wording -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Podem alguns dados anónimos sobre a impressão ser enviados para a Ultimaker? Não são enviadas, nem armazenadas, quaisquer informações pessoais, incluindo modelos, endereços IP ou outro tipo de identificação pessoal." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Enviar dados (anónimos) sobre a impressão" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Mais informação" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Experimental" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Usar a funcionalidade de múltiplas bases de construção" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Usar a funcionalidade de múltiplas bases de construção (é necessário reiniciar)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Impressoras" @@ -3271,7 +3275,7 @@ msgid "Connection:" msgstr "Ligação:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "A impressora não está ligada." @@ -3297,7 +3301,7 @@ msgid "Aborting print..." msgstr "A cancelar impressão..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Perfis" @@ -3378,17 +3382,17 @@ msgid "Global Settings" msgstr "Definições Globais" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Adicionar Impressora" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Nome da Impressora:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Adicionar Impressora" @@ -3403,17 +3407,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Sobre o Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "versão: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "A Solução completa para a impressão 3D por filamento fundido." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3422,105 +3426,125 @@ msgstr "" "O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\n" "O Cura tem o prazer de utilizar os seguintes projetos open source:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Interface gráfica do utilizador" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Framework da aplicação" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Gerador de G-code" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Biblioteca de comunicação interprocessual" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Linguagem de programação" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI framework" # rever! # use eng programing terms? -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Ligações de estrutura da GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "Biblioteca de ligações C/C++" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Formato de intercâmbio de dados" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Biblioteca de apoio para computação científica" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Biblioteca de apoio para cálculos mais rápidos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Biblioteca de apoio para processamento de ficheiros STL" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Biblioteca de apoio para processamento de ficheiros 3MF" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Biblioteca de comunicação em série" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Biblioteca de deteção ZeroConf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Biblioteca de recortes de polígonos" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Biblioteca de HTTP Python" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Tipo de letra" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Ícones SVG" # rever! -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Implementação da aplicação de distribuição cruzada Linux" @@ -3530,7 +3554,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Perfil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3541,48 +3565,48 @@ msgstr "" "\n" "Clique para abrir o gestor de perfis." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Procurar..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Copiar valor para todos os extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Copiar todos os valores alterados para todos os extrusores" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Esconder esta definição" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Não mostrar esta definição" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Manter esta definição visível" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Configurar visibilidade das definições..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Esconder Tudo" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Mostrar Tudo" @@ -3591,7 +3615,7 @@ msgstr "Mostrar Tudo" # ocultas? # escondidas? # valor normal? automatico? -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3617,7 +3641,7 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Modificado Por" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Esta definição é sempre partilhada entre todos os extrusores. Ao alterá-la aqui, o valor será alterado em todos os extrusores." @@ -3626,12 +3650,12 @@ msgstr "Esta definição é sempre partilhada entre todos os extrusores. Ao alte # contexto?! # resolvido? # por-extrusor -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "O valor é calculado com base nos valores por-extrusor " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3642,7 +3666,7 @@ msgstr "" "\n" "Clique para restaurar o valor do perfil." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3803,12 +3827,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Visualizar" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Posição da câmara" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "&Base de impressão" @@ -3818,12 +3842,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Definições Visíveis" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Mostrar Todas as Definições" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Gerir Visibilidade das Definições..." @@ -3888,17 +3912,44 @@ msgstr "" "Configuração da Impressão desativada\n" "Os ficheiros G-code não podem ser modificados" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00h00min" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Especificação de tempo" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Especificação de custos" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Total:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Configuração de Impressão Recomendada

Imprimir com as definições recomendadas para a Impressora, Material e Qualidade selecionadas." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Configuração de Impressão Personalizada

Imprimir com um controlo detalhado de todas as definições específicas de cada uma das etapas do processo de seccionamento." @@ -3923,225 +3974,225 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Tempo restante estimado" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Alternar para ecrã inteiro" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Desfazer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Refazer" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Sair" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "Vista 3D" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Vista Frente" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Vista Cima" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Vista Lado Esquerdo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Vista Lado Direito" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Configurar Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Adicionar Impressora..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Gerir Im&pressoras..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Gerir Materiais..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Atualizar perfil com as definições/substituições atuais" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Descartar alterações atuais" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "&Criar perfil a partir das definições/substituições atuais..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Gerir Perfis..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Mostrar &documentação online" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Reportar um &erro" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Sobre..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Apagar Modelo Selecionado" msgstr[1] "Apagar Modelos Selecionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Centrar modelo selecionado" msgstr[1] "Centrar modelos selecionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Multiplicar modelo selecionado" msgstr[1] "Multiplicar modelos selecionados" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Apagar Modelo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Ce&ntrar Modelo na Base" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "&Agrupar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Combinar Modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Multiplicar Modelo..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Selecionar todos os modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Limpar base de construção" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Recarregar todos os modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Dispor todos os modelos em todas as bases de construção" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Dispor todos os modelos" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Dispor seleção" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Repor todas as posições de modelos" # rever! # Cancelar todas? -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Repor Todas as Transformações do Modelo" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Abrir Ficheiro(s)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Novo Projeto..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Mostrar ®isto de motor..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Mostrar pasta de configuração" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Procurar pacotes..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Mostrar/Esconder Barra Lateral" @@ -4209,7 +4260,7 @@ msgid "Select the active output device" msgstr "Selecione o dispositivo de saída" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Abrir ficheiro(s)" @@ -4229,145 +4280,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Ficheiro" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Guardar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Exportar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Exportar seleção..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "&Editar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Visualizar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&Definições" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Impressora" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Material" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Definir como Extrusor Ativo" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Ativar Extrusor" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Desativar Extrusor" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "&Base de construção" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Perfil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "E&xtensões" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Toolbox" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "P&referências" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Ajuda" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Este pacote será instalado após reiniciar." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Abrir ficheiro" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Definições" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Novo projeto" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Tem a certeza de que deseja iniciar um novo projeto? Isto irá apagar tudo na base de construção assim como quaisquer definições que não tenham sido guardadas." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Fechar Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Tem a certeza de que deseja sair do Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Instalar Pacote" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Abrir ficheiro(s)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Encontrámos um ou mais ficheiros G-code nos ficheiros selecionados. Só é possível abrir um ficheiro G-code de cada vez. Se pretender abrir um ficheiro G-code, selecione apenas um." @@ -4377,11 +4428,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Guardar projeto" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4452,12 +4498,12 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "O enchimento gradual irá aumentar progressivamente a densidade do enchimento em direção ao topo." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Enchimento Gradual" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Criar Suportes" @@ -4465,7 +4511,7 @@ msgstr "Criar Suportes" # rever! # collapse ? # desmoronar? desabar? -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Criar estruturas para suportar partes do modelo, suspensas ou com saliências. Sem estas estruturas, essas partes do modelo podem desmoronar durante a impressão." @@ -4475,22 +4521,22 @@ msgstr "Criar estruturas para suportar partes do modelo, suspensas ou com saliê # sagging? deformar? # Isto irá construir estruturas de suporte debaixo do modelo para impedir a deformação de partes suspensas do modelo ou que a impressão seja feita no ar. # a utilizar? usado? -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Selecionar qual o extrusor usado para imprimir os suportes. Isto irá construir estruturas de suporte por debaixo do modelo para impedir que as partes suspensas do modelo se deformem ou que sejam impressas no ar." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Aderência à Base" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Permite a impressão de uma Aba (Brim) ou Raft. Isto irá adicionar, respectivamente, uma área plana em torno ou sob a base do seu objeto, que são fáceis de retirar posteriormente." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Precisa de ajuda para melhorar as suas impressões?
Por favor leia os Guias Ultimaker de Resolução de Problemas" @@ -4657,6 +4703,16 @@ msgctxt "name" msgid "Changelog" msgstr "Lista das Alterações" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + # rever! # contexto! # flattend - aplanado? nivelado? limpo? basico? @@ -5018,16 +5074,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Gravador de perfis Cura" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Permite aos fabricantes de materiais criar novos materiais e perfis de qualidade utilizando uma IU de fácil acesso." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Assistente de perfis de impressão" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -5058,6 +5104,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Leitor de Perfis Cura" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Crie um G-code antes de guardar." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Assistente de perfis" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Assistente de perfis" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Atualizar firmware" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Desconhecido" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "O ficheiro {0} não contém qualquer perfil personalizado para importar" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "O perfil {0} contém dados incorretos, não foi possível importá-lo." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), e não foi possível importá-la." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Confirmar desinstalação " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "Em Pausa" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Anterior" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Seguinte" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Sugestão" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Experimento de impressão" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Lista de verificação" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Atualizar Firmware" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Permite aos fabricantes de materiais criar novos materiais e perfis de qualidade utilizando uma IU de fácil acesso." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Assistente de perfis de impressão" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Imprimir com a Doodle3D WiFi-Box" diff --git a/resources/i18n/pt_PT/fdmextruder.def.json.po b/resources/i18n/pt_PT/fdmextruder.def.json.po index 1d66fdb2f9..41443bebdf 100644 --- a/resources/i18n/pt_PT/fdmextruder.def.json.po +++ b/resources/i18n/pt_PT/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" @@ -168,6 +168,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "A coordenada Z da posição onde o nozzle é preparado ao iniciar a impressão." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index b3f44a22fd..d5faf47ec4 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:15+0100\n" "Last-Translator: Paulo Miranda \n" "Language-Team: Paulo Miranda , Portuguese \n" @@ -1098,8 +1098,8 @@ msgstr "Ligar polígonos superiores/inferiores" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Ligar caminhos de revestimento superiores/inferiores quando as trajetórias são paralelas. Para o padrão concêntrico, ativar esta definição reduz consideravelmente o tempo de deslocação mas, uma vez que as ligações podem suceder num ponto intermediário sobre o enchimento, esta funcionalidade pode reduzir a qualidade da superfície superior." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1556,18 +1556,10 @@ msgctxt "infill_pattern label" msgid "Infill Pattern" msgstr "Padrão de Enchimento" -# of the print -# da impressão? da peça? -# A direção do -# No enchimento com Linha e Ziguezague a direção é invertida em camadas alternadas -# invertido? rodado? -# padrões - ?geometricos?? -# alterados? mudam? movidos? delocados? -# fornecer uma? permitir uma? #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "O padrão geométrico do enchimento da impressão. A direção do enchimento com Linhas e Ziguezague é invertida em camadas alternadas, reduzindo os custos em material. Os padrões em Grelha, Triângulo, Tri-Hexágono, Cúbico, Octeto, Quarto Cúbico, Cruz e Concêntrico são totalmente impressos em cada camada. Os enchimentos Cúbico, Quarto Cúbico e Octeto são deslocados em cada camada para permitir uma distribuição mais uniforme da resistência em cada direção." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1629,6 +1621,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Cruz 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -1702,7 +1699,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Adicionar paredes adicionais em torno da área de enchimento. Essas paredes podem fazer com que as linhas de revestimento superiores/inferiores desçam menos, o que significa que são necessárias menos camadas de revestimento superior/inferior para a mesma qualidade à custa de algum material adicional.\nEsta funcionalidade pode ser combinada com a opção Ligar polígonos de enchimento para unir todo o enchimento num único caminho de extrusão sem necessidade de deslocações ou retrações, se configurado corretamente." +msgstr "" +"Adicionar paredes adicionais em torno da área de enchimento. Essas paredes podem fazer com que as linhas de revestimento superiores/inferiores desçam menos, o que significa que são necessárias menos camadas de revestimento superior/inferior para a mesma qualidade à custa de algum material adicional.\n" +"Esta funcionalidade pode ser combinada com a opção Ligar polígonos de enchimento para unir todo o enchimento num único caminho de extrusão sem necessidade de deslocações ou retrações, se configurado corretamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3401,6 +3400,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Orientação do padrão de enchimento para suportes. O padrão de enchimento do suporte gira no plano horizontal." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3976,6 +4005,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "O número de linhas utilizado para uma aba. Um maior número de linhas da aba melhora a aderência à base de construção, mas também reduz a área de impressão efetiva." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5842,6 +5881,22 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Matriz de transformação a ser aplicada ao modelo quando abrir o ficheiro." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Ligar caminhos de revestimento superiores/inferiores quando as trajetórias são paralelas. Para o padrão concêntrico, ativar esta definição reduz consideravelmente o tempo de deslocação mas, uma vez que as ligações podem suceder num ponto intermediário sobre o enchimento, esta funcionalidade pode reduzir a qualidade da superfície superior." + +# of the print +# da impressão? da peça? +# A direção do +# No enchimento com Linha e Ziguezague a direção é invertida em camadas alternadas +# invertido? rodado? +# padrões - ?geometricos?? +# alterados? mudam? movidos? delocados? +# fornecer uma? permitir uma? +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "O padrão geométrico do enchimento da impressão. A direção do enchimento com Linhas e Ziguezague é invertida em camadas alternadas, reduzindo os custos em material. Os padrões em Grelha, Triângulo, Tri-Hexágono, Cúbico, Octeto, Quarto Cúbico, Cruz e Concêntrico são totalmente impressos em cada camada. Os enchimentos Cúbico, Quarto Cúbico e Octeto são deslocados em cada camada para permitir uma distribuição mais uniforme da resistência em cada direção." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Concêntrico 3D" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index c343202511..b142f3c2a6 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" @@ -48,8 +48,8 @@ msgstr "Средство записи G-кода (GCodeWriter) не поддер #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Сгенерируйте G-код перед сохранением." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Показать журнал изменений" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Профиль был нормализован и активирован." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "Печать через USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "Печатать через USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "Печатать через USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "Подключено через USB" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "Выполняется печать через USB, закрытие Cura остановит эту печать. Вы уверены?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "Средство записи G-кода с расширением GZ (GCodeGzWriter) не поддерживает текстовый режим." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Пакет формата Ultimaker" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "Сохранить на внешний носитель {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Ни один из форматов файлов не доступен для записи!" @@ -198,7 +203,7 @@ msgstr "Невозможно сохранить на внешний носите #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Ошибка" @@ -227,8 +232,8 @@ msgstr "Извлекает внешний носитель {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Внимание" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Внешний носитель" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Печать через сеть" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Печать через сеть" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Подключен по сети." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Подключен по сети. Пожалуйста, подтвердите запрос на принтере." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Подключен по сети. Нет доступа к управлению принтером." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "Запрошен доступ к принтеру. Пожалуйста, подтвердите запрос на принтере" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Состояние аутентификации" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Состояние аутентификации" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Повторить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Послать запрос доступа ещё раз" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Доступ к принтеру получен" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Нет доступа к использованию этого принтера. Невозможно отправить задачу на печать." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Запросить доступ" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Отправить запрос на доступ к принтеру" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Не удалось начать новое задание печати." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Возникла проблема конфигурации Ultimaker, из-за которой невозможно начать печать. Перед продолжением работы решите возникшую проблему." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Несовпадение конфигурации" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Вы уверены, что желаете печатать с использованием выбранной конфигурации?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Есть несовпадение между конфигурацией или калибровкой принтера и Cura. Для лучшего результата, всегда производите слайсинг для PrintCore и материала, которые установлены в вашем принтере." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Отправка новых заданий (временно) заблокирована, идёт отправка предыдущего задания." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Отправка данных на принтер" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Отправка данных" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "Отмена" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Модуль экструдера PrintCore не загружен в слот {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Материал не загружен в слот {slot_number}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "Другой модуль экструдера PrintCore (Cura: {cura_printcore_name}, принтер: {remote_printcore_name}) выбран для экструдера {extruder_id}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Разный материал (Cura: {0}, Принтер: {1}) выбран для экструдера {2}" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Синхронизация с вашим принтером" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Желаете использовать текущую конфигурацию принтера в Cura?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Модуль PrintCore и/или материал в вашем принтере отличается от тех, что вы используете в текущем проекте. Для наилучшего результата всегда указывайте правильный модуль PrintCore и материалы, которые вставлены в ваш принтер." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Подключен по сети." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Задание печати успешно отправлено на принтер." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Данные отправлены" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Просмотр на мониторе" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name} завершил печать '{job_name}'." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "Задание печати '{job_name}' выполнено." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Печать завершена" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Подключиться через сеть" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Монитор" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Не могу получить информацию об обновлениях." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "Для {machine_name} доступны новые функции! Рекомендуется обновить встроенное программное обеспечение принтера." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Доступна новая прошивка %s" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Порядок обновления" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Не могу получить информацию об обновлениях." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Просмотр слоёв" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Cura не аккуратно отображает слои при использовании печати через кабель" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Вид моделирования" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "Изменить G-код" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Создание объема без печати элементов поддержки." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura собирает анонимизированную статистику об использовании." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Сбор данных" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Дополнительно" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Ознакомьтесь с дополнительной информацией о данных, отправляемых Cura." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "Разрешить" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Разрешить Cura отправлять анонимизированную статистику об использовании, чтобы помочь назначить приоритеты будущим улучшениям в Cura. Отправлены некоторые ваши настройки и параметры, включая версию Cura и хэш моделей, разделяемых на слои." @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF изображение" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Невозможно нарезать модель, используя текущий материал, так как он несовместим с выбранной машиной или конфигурацией." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Невозможно нарезать" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Не могу выполнить слайсинг на текущих настройках. Проверьте следующие настройки: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Не удалось выполнить слайсинг из-за настроек модели. Следующие настройки ошибочны для одной или нескольких моделей: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "Слайсинг невозможен, так как черновая башня или её позиция неверные." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Невозможно разделить на слои из-за наличия объектов, связанных с отключенным экструдером %s." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Нечего нарезать, так как ни одна модель не попадает в объём принтера. Пожалуйста, отмасштабируйте или поверните модель." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Обработка слоёв" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Информация" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "Правка параметров модели" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Рекомендованная" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Своя" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "Файл 3MF" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Сопло" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "Файл G" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "Обработка G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "Параметры G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Перед отправкой G-code на принтер удостоверьтесь в его соответствии вашему принтеру и его настройкам. Возможны неточности в G-code." @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Профиль Cura" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Помощник по профилю" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Помощник по профилю" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Выбор обновлений" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Обновление прошивки" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Выравнивание стола" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Внешняя стенка" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "Внутренние стенки" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Покрытие" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Заполнение" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Заполнение поддержек" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Связующий слой поддержек" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Поддержки" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Юбка" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Перемещение" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Откаты" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Другое" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Неизвестно" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Предообратка файла {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Файл уже существует" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Не переопределен" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Выбранный материал несовместим с выбранным принтером или конфигурацией." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Несовместимый материал" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "Настройки изменены в соответствии с текущей доступностью экструдеров: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Настройки обновлены" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "Экспорт успешно завершен" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "Невозможно импортировать профиль из or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "Отсутствует собственный профиль для импорта в файл {0}" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Данный профиль {0} содержит неверные данные, поэтому его невозможно импортировать." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "Принтер, заданный в профиле {0} ({1}), не совпадает с вашим текущим принтером ({2}), поэтому его невозможно импортировать." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Успешно импортирован профиль {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "В файле {0} нет подходящих профилей." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Профиль {0} имеет неизвестный тип файла или повреждён." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Собственный профиль" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "У профайла отсутствует тип качества." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Невозможно найти тип качества {0} для текущей конфигурации." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Все файлы (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Собственный материал" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Своё" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Объём печати" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Не удалось создать архив из каталога с данными пользователя: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Резервное копирование" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Попытка восстановить резервную копию Cura при отсутствии необходимых данных или метаданных." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Попытка восстановить резервную копию Cura, не совпадающую с вашей текущей версией." @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Отправить отчёт" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Загрузка принтеров..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Настройка сцены..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Загрузка интерфейса..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f мм" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Только один G-code файла может быть загружен в момент времени. Пропускаю импортирование {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "Невозможно открыть любой другой файл, если G-code файл уже загружен. Пропускаю импортирование {0}" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Выбранная модель слишком мала для загрузки." @@ -1263,9 +1258,9 @@ msgstr "X (Ширина)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "мм" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Номинальный диаметр материала, поддерживаемый принтером. Точный диаметр будет указан в материале и/или в профиле." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Смещение сопла по оси X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Смещение сопла по оси Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Стартовый G-код экструдера" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Завершающий G-код экструдера" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Не удалось подключиться к базе данных пакета Cura. Проверьте свое подключение." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Плагины" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Материалы" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Версия" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Последнее обновление" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Автор" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "Загрузки" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Неизвестно" @@ -1505,8 +1511,8 @@ msgstr "Назад" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Подтвердить удаление " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Универсальные материалы" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Установлено" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "Журнал изменений" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Закрыть" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Прошивка является программным обеспечением, которое работает на плате вашего 3D принтера. Прошивка управляет шаговыми моторами, регулирует температуру и, в конечном счёте, обеспечивает работу вашего принтера." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Поставляемая с новыми принтерами прошивка работоспособна, но обновления предоставляют больше возможностей и усовершенствований." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Автоматическое обновление прошивки" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Залить собственную прошивку" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Выбрать собственную прошивку" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Обновление прошивки" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Обновление прошивки." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Обновление прошивки завершено." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Обновление прошивки не удалось из-за неизвестной ошибки." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Обновление прошивки не удалось из-за ошибки связи." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Обновление прошивки не удалось из-за ошибки ввода-вывода." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Обновление прошивки не удалось из-за её отсутствия." @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Пользовательское соглашение" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Текущее подключение" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Этот принтер/группа уже добавлен (-а) в Cura. Выберите другой (-ую) принтер/группу." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Подключение к сетевому принтеру" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "Укажите ваш принтер в списке ниже:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Добавить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Правка" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Удалить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Обновить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Если ваш принтер отсутствует в списке, обратитесь к руководству по решению проблем с сетевой печатью" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Тип" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Версия прошивки" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Адрес" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Данный принтер не настроен для управления группой принтеров." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Данный принтер управляет группой из %1 принтера (-ов)." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Принтер по этому адресу ещё не отвечал." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Подключить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Адрес принтера" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "Введите IP-адрес принтера или его имя в сети." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "OK" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Печать через сеть" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Выбор принтера" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Печать" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Печать через сеть" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Ожидание: недоступный принтер" +msgid "Printer selection" +msgstr "Выбор принтера" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Ожидание: первое доступное" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Ожидание: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "переместить в начало" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Переместить задание печати в начало очереди" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "Вы уверены, что хотите переместить %1 в начало очереди?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Удалить" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Удалить задание печати" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "Вы уверены, что хотите удалить %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Управление очередью" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Запланировано" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Печать" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Управление принтерами" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Недоступно" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Недостижимо" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Доступен" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Прервано" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Завершено" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Подготовка" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Приостановка" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Возобновляется" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Необходимое действие" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Ожидание: недоступный принтер" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Ожидание: первое доступное" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Ожидание: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Управление очередью" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Запланировано" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Печать" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Управление принтерами" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "переместить в начало" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Удалить" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Продолжить" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Пауза" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Прервать" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "Вы уверены, что хотите переместить %1 в начало очереди?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Переместить задание печати в начало очереди" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "Вы уверены, что хотите удалить %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Удалить задание печати" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "Вы уверены, что хотите прервать %1?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Прервать печать" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "Вы уверены, что хотите прервать %1?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Прервано" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Завершено" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Подготовка" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Приостановка" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Приостановлено" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Возобновляется" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Необходимое действие" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Подключение к принтеру" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Загрузка конфигурации принтера в Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Активировать конфигурацию" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Загрузка конфигурации принтера в Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Скрипты пост-обработки" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Добавить скрипт" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Параметры" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Изменить активные скрипты пост-обработки" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Изменять настройки для заполнения других моделей" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Выберите параметры" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Выберите параметр для изменения этой модели" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Фильтр..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Показать всё" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "Тип" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Группа принтеров" @@ -2278,6 +2381,7 @@ msgstr "Как следует решать конфликт в профиле?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2354,82 +2458,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Открыть" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Предыдущий" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Экспорт" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Следующий" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "Кончик" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00 ч 00 мин" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Настройка расчета стоимости" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 м" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 г" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Итого:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1 м / ~ %2 г / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1 м / ~ %2 г" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Пробная печать" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Контрольный список" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2471,36 +2499,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Перейти к следующей позиции" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Обновление прошивки" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Прошивка является программным обеспечением, которое работает на плате вашего 3D принтера. Прошивка управляет шаговыми моторами, регулирует температуру и, в конечном счёте, обеспечивает работу вашего принтера." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Поставляемая с новыми принтерами прошивка работоспособна, но обновления предоставляют больше возможностей и усовершенствований." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Автоматическое обновление прошивки" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Залить собственную прошивку" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Выбрать собственную прошивку" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2688,7 +2686,7 @@ msgid "Customized" msgstr "Свой" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Всегда спрашивать меня" @@ -2836,6 +2834,12 @@ msgctxt "@action:button" msgid "Import" msgstr "Импорт" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Экспорт" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2921,283 +2925,283 @@ msgid "Unit" msgstr "Единица" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Общее" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Интерфейс" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Язык:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Валюта:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Тема:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Для применения данных изменений вам потребуется перезапустить приложение." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Нарезать автоматически при изменении настроек." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Нарезать автоматически" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Поведение окна" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Подсвечивать красным области модели, требующие поддержек. Без поддержек эти области не будут напечатаны правильно." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Отобразить нависания" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Перемещать камеру так, чтобы выбранная модель помещалась в центр экрана" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Центрировать камеру на выбранном объекте" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Следует ли инвертировать стандартный способ увеличения в Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Инвертировать направление увеличения камеры." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Увеличивать по мере движения мышкой?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Увеличивать по движению мышки" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Следует ли размещать модели на столе так, чтобы они больше не пересекались?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Удостовериться, что модели размещены рядом" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Следует ли опустить модели на стол?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Автоматически опускать модели на стол" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "Показывать предупреждающее сообщение в средстве считывания G-кода." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "Предупреждающее сообщение в средстве считывания G-кода" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Должен ли слой быть переведён в режим совместимости?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Просматривать слои в режиме совместимости (требуется перезапуск)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Открытие и сохранение файлов" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Масштабировать ли модели для размещения внутри печатаемого объёма, если они не влезают в него?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Масштабировать большие модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Модель может показаться очень маленькой, если её размерность задана в метрах, а не миллиметрах. Следует ли масштабировать такие модели?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Масштабировать очень маленькие модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Выбрать модели после их загрузки?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Выбрать модели при загрузке" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Надо ли автоматически добавлять префикс, основанный на имени принтера, к названию задачи на печать?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Добавить префикс принтера к имени задачи" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Показывать сводку при сохранении файла проекта?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Показывать сводку при сохранении проекта" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Стандартное поведение при открытии файла проекта" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Стандартное поведение при открытии файла проекта: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Всегда спрашивать меня" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Всегда открывать как проект" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Всегда импортировать модели" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "При внесении изменений в профиль и переключении на другой, будет показан диалог, запрашивающий ваше решение о сохранении ваших изменений, или вы можете указать стандартное поведение и не показывать такой диалог." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Профили" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Поведение по умолчанию для измененных значений настройки при переключении на другой профиль: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Всегда сбрасывать измененные настройки" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Всегда передавать измененные настройки новому профилю" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Приватность" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Должна ли Cura проверять обновления программы при старте?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Проверять обновления при старте" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Можно ли отправлять анонимную информацию о вашей печати в Ultimaker? Следует отметить, что ни модели, ни IP-адреса и никакая другая персональная информация не будет отправлена или сохранена." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "Отправлять (анонимно) информацию о печати" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Дополнительная информация" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Экспериментальное" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Использовать функционал нескольких рабочих столов" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Использовать функционал нескольких рабочих столов (требуется перезапуск)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Принтеры" @@ -3219,7 +3223,7 @@ msgid "Connection:" msgstr "Соединение:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Принтер не подключен." @@ -3245,7 +3249,7 @@ msgid "Aborting print..." msgstr "Прерывание печати…" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Профили" @@ -3326,17 +3330,17 @@ msgid "Global Settings" msgstr "Общие параметры" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Добавление принтера" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Имя принтера:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Добавить принтер" @@ -3351,17 +3355,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "О Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "версия: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Полное решение для 3D печати методом наплавления материала." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3370,102 +3374,122 @@ msgstr "" "Cura разработана компанией Ultimaker B.V. совместно с сообществом.\n" "Cura использует следующие проекты с открытым исходным кодом:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Графический интерфейс пользователя" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Фреймворк приложения" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "Генератор G-кода" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "Библиотека межпроцессного взаимодействия" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Язык программирования" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "Фреймворк GUI" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "Фреймворк GUI, интерфейс" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C/C++ библиотека интерфейса" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Формат обмена данными" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Вспомогательная библиотека для научных вычислений" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Вспомогательная библиотека для быстрых расчётов" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "Вспомогательная библиотека для работы с STL файлами" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "Вспомогательная библиотека для работы с 3MF файлами" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Библиотека последовательного интерфейса" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "Библиотека ZeroConf" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Библиотека обрезки полигонов" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Библиотека Python HTTP" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Шрифт" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "Иконки SVG" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Развертывание приложений для различных дистрибутивов Linux" @@ -3475,7 +3499,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Профиль:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3486,53 +3510,53 @@ msgstr "" "\n" "Нажмите для открытия менеджера профилей." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Поиск..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Скопировать значение для всех экструдеров" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Копировать все измененные значения для всех экструдеров" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Спрятать этот параметр" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Не показывать этот параметр" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Оставить этот параметр видимым" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Видимость параметров…" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Свернуть все" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Развернуть все" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3553,17 +3577,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "Зависит от" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Данная настройка всегда используется совместно всеми экструдерами. Изменение данного значения приведет к изменению значения для всех экструдеров." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Значение получается из параметров каждого экструдера " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3574,7 +3598,7 @@ msgstr "" "\n" "Щёлкните для восстановления значения из профиля." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3729,12 +3753,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "Вид" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "Положение камеры" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "Рабочий стол" @@ -3744,12 +3768,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Видимые параметры" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Показывать все настройки" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Управление видимостью настроек…" @@ -3814,17 +3838,44 @@ msgstr "" "Настройка принтера отключена\n" "G-code файлы нельзя изменять" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00 ч 00 мин" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Настройка расчета времени" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Настройка расчета стоимости" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 м" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 г" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Итого:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Рекомендованные параметры печати

Печатайте с рекомендованными параметрами для выбранных принтера, материала и качества." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Свои параметры печати

Печатайте с полным контролем над каждой особенностью процесса слайсинга." @@ -3849,107 +3900,107 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Осталось примерно" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Полный экран" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "Отмена" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "Возврат" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "Выход" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "Трехмерный вид" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Вид спереди" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Вид сверху" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Вид слева" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Вид справа" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Настроить Cura…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "Добавить принтер..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Управление принтерами..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Управление материалами…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "Обновить профиль текущими параметрами" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "Сбросить текущие параметры" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "Создать профиль из текущих параметров…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Управление профилями..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Показать онлайн документацию" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Отправить отчёт об ошибке" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "О Cura..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" @@ -3957,7 +4008,7 @@ msgstr[0] "Удалить выбранную модель" msgstr[1] "Удалить выбранные модели" msgstr[2] "Удалить выбранные модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" @@ -3965,7 +4016,7 @@ msgstr[0] "Центрировать выбранную модель" msgstr[1] "Центрировать выбранные модели" msgstr[2] "Центрировать выбранные модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" @@ -3973,102 +4024,102 @@ msgstr[0] "Размножить выбранную модель" msgstr[1] "Размножить выбранные модели" msgstr[2] "Размножить выбранные модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Удалить модель" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Поместить модель по центру" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Сгруппировать модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Разгруппировать модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "Объединить модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "Дублировать модель..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Выбрать все модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Очистить стол" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Перезагрузить все модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Выровнять все модели по всем рабочим столам" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Выровнять все модели" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Выровнять выбранные" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Сбросить позиции всех моделей" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Сбросить преобразования всех моделей" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "Открыть файл(ы)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "Новый проект..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Показать журнал движка..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Показать конфигурационный каталог" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Обзор пакетов..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Развернуть/свернуть боковую панель" @@ -4129,7 +4180,7 @@ msgid "Select the active output device" msgstr "Выберите активное целевое устройство" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Открыть файл(ы)" @@ -4149,145 +4200,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "Файл" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Сохранить…" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Экспорт…" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Экспорт выбранного…" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "Правка" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "Вид" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "Параметры" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "Принтер" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "Материал" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Установить как активный экструдер" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Включить экструдер" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Отключить экструдер" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "Рабочий стол" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "Профиль" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Расширения" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Панель инструментов" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Настройки" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "Справка" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Этот пакет будет установлен после перезапуска." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Открыть файл" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Параметры" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Новый проект" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Вы действительно желаете начать новый проект? Это действие очистит область печати и сбросит все несохранённые настройки." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Закрытие Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Вы уверены, что хотите выйти из Cura?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Установить пакет" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Открыть файл(ы)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Среди выбранных файлов мы нашли несколько файлов с G-кодом. Вы можете открыть только один файл за раз. Измените свой выбор, пожалуйста." @@ -4297,11 +4348,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Сохранить проект" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4372,37 +4418,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Постепенное заполнение будет постепенно увеличивать объём заполнения по направлению вверх." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Постепенное" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Генерация поддержек" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Генерация структур для поддержки нависающих частей модели. Без этих структур такие части будут складываться во время печати." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Выбирает, какой экструдер следует использовать для поддержек. Будут созданы поддерживающие структуры под моделью для предотвращения проседания краёв или печати в воздухе." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Тип прилипания к столу" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Разрешает печать каймы или подложки. Это добавляет плоскую область вокруг или под вашим объектом, которую легко удалить после печати." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Требуется помощь в улучшении вашей печати?
Обратитесь к Руководству Ultimaker по решению проблем" @@ -4565,6 +4611,16 @@ msgctxt "name" msgid "Changelog" msgstr "Журнал изменений" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4915,16 +4971,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Запись профиля Cura" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Позволяет производителям материалов создавать новые профили материалов и качества с помощью дружественного интерфейса." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Помощник по профилю печати" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4955,6 +5001,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Чтение профиля Cura" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Сгенерируйте G-код перед сохранением." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Помощник по профилю" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Помощник по профилю" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Обновление прошивки" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Неизвестно" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "Отсутствует собственный профиль для импорта в файл {0}" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Данный профиль {0} содержит неверные данные, поэтому его невозможно импортировать." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "Принтер, заданный в профиле {0} ({1}), не совпадает с вашим текущим принтером ({2}), поэтому его невозможно импортировать." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Подтвердить удаление " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "Приостановлено" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Предыдущий" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Следующий" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "Кончик" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1 м / ~ %2 г / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1 м / ~ %2 г" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Пробная печать" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Контрольный список" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Обновление прошивки" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Позволяет производителям материалов создавать новые профили материалов и качества с помощью дружественного интерфейса." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Помощник по профилю печати" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Печать через Doodle3D WiFi-Box" diff --git a/resources/i18n/ru_RU/fdmextruder.def.json.po b/resources/i18n/ru_RU/fdmextruder.def.json.po index d9cd6287de..e575b04e1c 100644 --- a/resources/i18n/ru_RU/fdmextruder.def.json.po +++ b/resources/i18n/ru_RU/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" @@ -168,6 +168,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Позиция кончика сопла на оси Z при старте печати." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 36904625d8..4aa6fb4a66 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:15+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" @@ -1078,8 +1078,8 @@ msgstr "Соединение верхних/нижних полигонов" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Соединение верхних/нижних путей оболочки на участках, где они проходят рядом. При использовании концентрического шаблона активация данной настройки значительно сокращает время перемещения, но, учитывая возможность наличия соединений на полпути над заполнением, эта функция может ухудшить качество верхней оболочки." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,8 +1498,8 @@ msgstr "Шаблон заполнения" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Шаблон заполняющего материала печати. Линейное и зигзагообразное заполнение меняет направление на чередующихся слоях, снижая расходы на материал. Шаблоны «сетка», «треугольник», «шестигранник из треугольников», «куб», «восьмигранник», «четверть куба», «крестовое», «концентрическое» полностью печатаются в каждом слое. Шаблоны заполнения «куб», «четверть куба», «восьмигранник» меняются в каждом слое, чтобы обеспечить более равномерное распределение прочности в каждом направлении." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1561,6 +1561,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Крестовое 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -1631,7 +1636,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Добавление дополнительных стенок вокруг области заполнения. Эти стенки могут уменьшить провисание верхних/нижних линий оболочки, что уменьшает необходимое количество верхних/нижних слоев оболочки без ухудшения качества за счет небольшого увеличения количества материала.\nЭта функция может сочетаться с соединением полигонов заполнения для соединения всего участка заполнения в один путь экструзии без необходимости в движениях или откатах в случае правильной настройки." +msgstr "" +"Добавление дополнительных стенок вокруг области заполнения. Эти стенки могут уменьшить провисание верхних/нижних линий оболочки, что уменьшает необходимое количество верхних/нижних слоев оболочки без ухудшения качества за счет небольшого увеличения количества материала.\n" +"Эта функция может сочетаться с соединением полигонов заполнения для соединения всего участка заполнения в один путь экструзии без необходимости в движениях или откатах в случае правильной настройки." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3263,6 +3270,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Ориентация шаблона заполнения для поддержек. Шаблон заполнения поддержек вращается в горизонтальной плоскости." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3832,6 +3869,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Количество линий, используемых для печати каймы. Большее количество линий каймы улучшает прилипание к столу, но уменьшает эффективную область печати." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5656,6 +5703,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Матрица преобразования, применяемая к модели при её загрузки из файла." +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Соединение верхних/нижних путей оболочки на участках, где они проходят рядом. При использовании концентрического шаблона активация данной настройки значительно сокращает время перемещения, но, учитывая возможность наличия соединений на полпути над заполнением, эта функция может ухудшить качество верхней оболочки." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Шаблон заполняющего материала печати. Линейное и зигзагообразное заполнение меняет направление на чередующихся слоях, снижая расходы на материал. Шаблоны «сетка», «треугольник», «шестигранник из треугольников», «куб», «восьмигранник», «четверть куба», «крестовое», «концентрическое» полностью печатаются в каждом слое. Шаблоны заполнения «куб», «четверть куба», «восьмигранник» меняются в каждом слое, чтобы обеспечить более равномерное распределение прочности в каждом направлении." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Концентрическое 3D" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 30368056cf..c543280d29 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:40+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" @@ -46,8 +46,8 @@ msgstr "GCodeWriter metin dışı modu desteklemez." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "Lütfen kaydetmeden önce G-code oluşturun." +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -73,6 +73,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "Değişiklik Günlüğünü Göster" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -83,27 +88,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "Profil düzleştirilmiş ve aktifleştirilmiştir." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB yazdırma" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "USB ile yazdır" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "USB ile yazdır" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "USB ile bağlı" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "USB’den yazdırma devam ediyor, Cura’yı kapatmanız bu yazdırma işlemini durduracak. Emin misiniz?" @@ -135,7 +140,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter yazı modunu desteklemez." -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker Biçim Paketi" @@ -157,7 +162,7 @@ msgid "Save to Removable Drive {0}" msgstr "Çıkarılabilir Sürücüye Kaydediliyor {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "Yazılacak dosya biçimleri mevcut değil!" @@ -196,7 +201,7 @@ msgstr "Çıkarılabilir aygıta {0} kaydedilemedi: {1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "Hata" @@ -225,8 +230,8 @@ msgstr "Çıkarılabilir aygıtı çıkar {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "Uyarı" @@ -253,141 +258,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "Çıkarılabilir Sürücü" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "Ağ üzerinden yazdır" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "Ağ üzerinden yazdır" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "Ağ üzerinden bağlandı." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "Ağ üzerinden bağlandı. Lütfen yazıcıya erişim isteğini onaylayın." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "Ağ üzerinden bağlandı. Yazıcıyı kontrol etmek için erişim yok." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "İstenen yazıcıya erişim. Lütfen yazıcı isteğini onaylayın" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "Kimlik doğrulama durumu" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "Kimlik Doğrulama Durumu" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "Yeniden dene" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "Erişim talebini yeniden gönder" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "Kabul edilen yazıcıya erişim" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "Bu yazıcıyla yazdırmaya erişim yok. Yazdırma işi gönderilemedi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "Erişim Talep Et" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "Yazıcıya erişim talebi gönder" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "Yeni bir yazdırma işi başlatılamıyor." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Ultimaker’ın yapılandırmasında yazdırmayı başlatmayı imkansız kılan bir sorun var. Devam etmeden önce lütfen bu sorunu çözün." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "Uyumsuz yapılandırma" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "Seçilen yapılandırma ile yazdırmak istediğinizden emin misiniz?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Yazıcı yapılandırması veya kalibrasyonu ile Cura arasında eşleşme sorunu var. En iyi sonucu almak istiyorsanız her zaman PrintCore ve yazıcıya eklenen malzemeler için dilimleme yapın." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "Yeni işlerin gönderilmesi (geçici olarak) engellenmiştir, hala bir önceki yazdırma işi gönderiliyor." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "Veriler yazıcıya gönderiliyor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "Veri gönderiliyor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -397,78 +397,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "İptal Et" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "{slot_number} yuvasına Printcore yüklenmedi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "{slot_number} yuvasına malzeme yüklenmedi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "Farklı PrintCore (Cura: {cura_printcore_name}, Yazıcı: ekstruder {extruder_id} için {remote_printcore_name}) seçildi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "Farklı malzeme (Cura: {0}, Yazıcı: {1}), ekstrüder {2} için seçildi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "Yazıcınız ile eşitleyin" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "Cura’da geçerli yazıcı yapılandırmanızı kullanmak istiyor musunuz?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "Yazıcınızda bulunan PrintCore’lar ve/veya malzemeler geçerli projenizde bulunandan farklı. En iyi sonucu almak istiyorsanız, her zaman PrintCore ve yazıcıya eklenen malzemeler için dilimleme yapın." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "Ağ üzerinden bağlandı." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "Yazdırma işi yazıcıya başarıyla gönderildi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "Veri Gönderildi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "Monitörde Görüntüle" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "{printer_name}, '{job_name}' yazdırmayı tamamladı." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "Yazdırma işi '{job_name}' tamamlandı." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "Baskı tamamlandı" @@ -478,49 +478,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "Ağ ile Bağlan" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "Görüntüle" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "Güncelleme bilgilerine erişilemedi." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "{machine_name} adlı cihazınız için yeni özellikler var! Yazıcınızın fabrika yazılımını güncellemeniz önerilir." -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "Yeni %s bellenimi mevcut" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "Nasıl güncellenir" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "Güncelleme bilgilerine erişilemedi." - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "Katman görünümü" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "Tel Yazma etkinleştirildiğinde, Cura katmanları doğru olarak görüntülemez." -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "Simülasyon Görünümü" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "GCode Değiştir" @@ -534,32 +534,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "Desteklerin yazdırılmadığı bir hacim oluşturun." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura anonimleştirilmiş kullanım istatistikleri toplar." -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "Veri Toplanıyor" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "Daha fazla bilgi" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "Cura’nın gönderdiği veriler hakkında daha fazla bilgi alın" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "İzin Verme" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "Programın gelecek sürümlerinin iyileştirilmesine yardımcı olmak için Cura’ya anonimleştirilmiş kullanım istatistikleri gönderme izni verin. Tercih ve ayarlarınızın bazıları, Cura sürümü ve dilimlere ayırdığınız modellerin sağlaması gönderilir." @@ -594,56 +594,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF Resmi" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "Mevcut malzeme, seçilen makine veya yapılandırma ile uyumlu olmadığından mevcut malzeme ile dilimlenemedi." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "Dilimlenemedi" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "Geçerli ayarlarla dilimlenemiyor. Şu ayarlarda hata var: {0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "Modele özgü ayarlar nedeniyle dilimlenemedi. Şu ayarlar bir veya daha fazla modelde hataya yol açıyor: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "İlk direk veya ilk konum(lar) geçersiz olduğu için dilimlenemiyor." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "Etkisizleştirilmiş Extruder %s ile ilgili nesneler olduğundan dilimleme yapılamıyor." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "Modeller yapı hacmine sığmadığı için dilimlenecek bir şey yok. Lütfen sığdırmak için modelleri ölçeklendirin veya döndürün." -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "Katmanlar İşleniyor" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "Bilgi" @@ -659,13 +659,13 @@ msgid "Configure Per Model Settings" msgstr "Model Başına Ayarları Yapılandır" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "Önerilen Ayarlar" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "Özel" @@ -677,7 +677,7 @@ msgid "3MF File" msgstr "3MF Dosyası" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "Nozül" @@ -703,18 +703,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G Dosyası" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "G-code ayrıştırma" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-code Ayrıntıları" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "Dosya göndermeden önce g-code’un yazıcınız ve yazıcı yapılandırmanız için uygun olduğundan emin olun. G-code temsili doğru olmayabilir." @@ -725,16 +725,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura Profili" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "Profil Asistanı" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "Profil Asistanı" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -756,11 +746,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "Yükseltmeleri seçin" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "Aygıt Yazılımını Yükselt" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -771,79 +756,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "Yapı levhasını dengele" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "Dış Duvar" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "İç Duvarlar" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "Yüzey Alanı" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "Dolgu" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "Destek Dolgusu" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "Destek Arayüzü" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "Destek" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Etek" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "Hareket" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "Geri Çekmeler" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "Diğer" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "Bilinmiyor" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "Önceden dilimlenmiş dosya {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "Dosya Zaten Mevcut" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -855,23 +840,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "Geçersiz kılınmadı" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "Seçilen malzeme, seçilen makine veya yapılandırma ile uyumlu değil." -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "Uyumsuz Malzeme" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "Ayarlar, ekstruderlerin mevcut kullanılabilirliğine uyacak şekilde değiştirildi: [%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "Ayarlar güncellendi" @@ -900,8 +885,6 @@ msgid "Export succeeded" msgstr "Dışa aktarma başarılı" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -909,58 +892,70 @@ msgstr "{0} dosyasından profil içe aktarımı başarısı #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "{0} dosyasında içe aktarılabilecek özel profil yok" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "Bu profil {0} yanlış veri içermekte, içeri aktarılamadı." +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "{0} profilinde tanımlanan makine ({1}), mevcut makinenizle ({2}) eşleşmiyor, içe aktarılamadı." +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "Profil başarıyla içe aktarıldı {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "Dosya {0} geçerli bir profil içermemekte." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "Profil {0} öğesinde bilinmeyen bir dosya türü var veya profil bozuk." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "Özel profil" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "Profilde eksik bir kalite tipi var." -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "Mevcut yapılandırma için bir kalite tipi {0} bulunamıyor." -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -987,12 +982,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "Tüm Dosyalar (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "Özel Malzeme" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "Özel" @@ -1007,22 +1002,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "Yapı Disk Bölümü" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "Kullanıcı veri dizininden arşiv oluşturulamadı: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "Yedekle" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "Uygun veri veya meta veri olmadan Cura yedeği geri yüklenmeye çalışıldı." -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "Geçerli sürümünüzle eşleşmeyen bir Cura yedeği geri yüklenmeye çalışıldı." @@ -1197,40 +1192,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "Rapor gönder" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "Makineler yükleniyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "Görünüm ayarlanıyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "Arayüz yükleniyor..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "Aynı anda yalnızca bir G-code dosyası yüklenebilir. {0} içe aktarma atlandı" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "G-code yüklenirken başka bir dosya açılamaz. {0} içe aktarma atlandı" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "Seçilen model yüklenemeyecek kadar küçüktü." @@ -1261,9 +1256,9 @@ msgstr "X (Genişlik)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1398,22 +1393,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "Yazıcı tarafından desteklenen nominal filaman çapı. Tam çap malzeme ve/veya profil tarafından etkisiz kılınacaktır." -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "Nozül X ofseti" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "Nozül Y ofseti" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "Ekstruder G-Code'u Başlatma" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "Ekstruder G-Code'u Sonlandırma" @@ -1434,41 +1439,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "Cura Paket veri tabanına bağlanılamadı. Lütfen bağlantınızı kontrol edin." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "Eklentiler" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "Malzemeler" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "Sürüm" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "Son güncelleme" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "Yazar" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "İndirmeler" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "Bilinmiyor" @@ -1503,8 +1509,8 @@ msgstr "Geri" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "Kaldırmayı onayla " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1551,7 +1557,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "Genel Materyaller" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "Yüklü" @@ -1633,48 +1639,88 @@ msgid "Changelog" msgstr "Değişiklik Günlüğü" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "Kapat" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "Aygıt yazılımı doğrudan 3B yazıcı üzerinden çalışan bir yazılım parçasıdır. Bu aygıt yazılımı adım motorlarını kontrol eder, sıcaklığı düzenler ve sonunda yazıcının çalışmasını sağlar." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "Yeni yazıcıları olan aygıt yazılımı gönderimi yararlı olmaktadır, ancak yeni sürümler daha fazla özellik ve geliştirmeye eğilimlidir." + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "Aygıt Yazılımını otomatik olarak yükselt" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "Özel Aygıt Yazılımı Yükle" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "Özel aygıt yazılımı seçin" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "Aygıt Yazılımı Güncellemesi" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "Aygıt yazılımı güncelleniyor." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "Aygıt yazılımı güncellemesi tamamlandı." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "Bilinmeyen bir hata nedeniyle aygıt yazılımı güncellemesi başarısız oldu." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "Bir iletişim hatası nedeniyle aygıt yazılımı güncellemesi başarısız oldu." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "Bir girdi/çıktı hatası nedeniyle aygıt yazılımı güncellemesi başarısız oldu." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "Eksik aygıt yazılımı nedeniyle aygıt yazılımı güncellemesi başarısız oldu." @@ -1684,22 +1730,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "Kullanıcı Anlaşması" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "Mevcut Bağlantı" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "Bu yazıcı/grup Cura’ya zaten eklenmiş. Lütfen başka bir yazıcı/grup seçin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "Ağ Yazıcısına Bağlan" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1710,18 +1756,18 @@ msgstr "" "\n" "Aşağıdaki listeden yazıcınızı seçin:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "Ekle" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "Düzenle" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1729,244 +1775,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "Kaldır" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "Yenile" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "Yazıcınız listede yoksa ağ yazdırma sorun giderme kılavuzunu okuyun" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "Tür" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "Üretici yazılımı sürümü" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "Adres" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "Bu yazıcı, bir yazıcı grubunu barındırmak için ayarlı değildir." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "Bu yazıcı, %1 yazıcı grubunun ana makinesidir." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "Bu adresteki yazıcı henüz yanıt vermedi." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "Bağlan" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "Yazıcı Adresi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "IP adresini veya yazıcınızın ağ üzerindeki ana bilgisayar adını girin." -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "Tamam" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "Ağ üzerinden yazdır" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "Yazıcı seçimi" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "Yazdır" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "Ağ üzerinden yazdır" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "Bekleniyor: Kullanım dışı yazıcı" +msgid "Printer selection" +msgstr "Yazıcı seçimi" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "Bekleniyor: İlk mevcut olan" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "Bekleniyor: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "En üste taşı" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "Yazdırma işini en üste taşı" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "%1 öğesini kuyruğun en üstüne taşımak ister misiniz?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "Sil" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "Yazdırma işini sil" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "%1 öğesini silmek istediğinizden emin misiniz?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "Kuyruğu yönet" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "Kuyrukta" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "Yazdırma" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "Yazıcıları yönet" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "Mevcut değil" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "Ulaşılamıyor" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "Mevcut" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "Durduruldu" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "Tamamlandı" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "Hazırlanıyor" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "Duraklatılıyor" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "Devam ediliyor" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "Eylem gerekli" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "Bekleniyor: Kullanım dışı yazıcı" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "Bekleniyor: İlk mevcut olan" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "Bekleniyor: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "Kuyruğu yönet" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "Kuyrukta" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "Yazdırma" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "Yazıcıları yönet" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "En üste taşı" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "Sil" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "Devam et" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "Duraklat" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "Durdur" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "%1 öğesini kuyruğun en üstüne taşımak ister misiniz?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "Yazdırma işini en üste taşı" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "%1 öğesini silmek istediğinizden emin misiniz?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "Yazdırma işini sil" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "%1 öğesini durdurmak istediğinizden emin misiniz?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "Yazdırmayı durdur" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "%1 öğesini durdurmak istediğinizden emin misiniz?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "Durduruldu" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "Tamamlandı" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "Hazırlanıyor" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "Duraklatılıyor" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "Duraklatıldı" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "Devam ediliyor" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "Eylem gerekli" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "Yazıcıya Bağlan" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "Yazıcı yapılandırmasını Cura’ya yükle" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "Yapılandırmayı Etkinleştir" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "Yazıcı yapılandırmasını Cura’ya yükle" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2057,17 +2159,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "Son İşleme Dosyaları" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "Dosya ekle" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "Ayarlar" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "Etkin son işleme dosyalarını değiştir" @@ -2192,23 +2294,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "Diğer modellerle doldurma ayarlarını değiştir" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "Ayarları seçin" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "Bu modeli Özelleştirmek için Ayarları seçin" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "Filtrele..." -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "Tümünü göster" @@ -2259,6 +2361,7 @@ msgid "Type" msgstr "Tür" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "Yazıcı Grubu" @@ -2276,6 +2379,7 @@ msgstr "Profildeki çakışma nasıl çözülmelidir?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2350,82 +2454,6 @@ msgctxt "@action:button" msgid "Open" msgstr "Aç" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "Önceki" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "Dışa Aktar" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "Sonraki" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "İpucu" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00sa 00dk" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "Maliyet koşulları" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1 m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "Toplam:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1 m / ~ %2 g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1 m / ~ %2 g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "Yazdırma denemesi" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "Kontrol listesi" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2467,36 +2495,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "Sonraki Konuma Taşı" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "Aygıt Yazılımını Yükselt" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "Aygıt yazılımı doğrudan 3B yazıcı üzerinden çalışan bir yazılım parçasıdır. Bu aygıt yazılımı adım motorlarını kontrol eder, sıcaklığı düzenler ve sonunda yazıcının çalışmasını sağlar." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "Yeni yazıcıları olan aygıt yazılımı gönderimi yararlı olmaktadır, ancak yeni sürümler daha fazla özellik ve geliştirmeye eğilimlidir." - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "Aygıt Yazılımını otomatik olarak yükselt" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "Özel Aygıt Yazılımı Yükle" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "Özel aygıt yazılımı seçin" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2684,7 +2682,7 @@ msgid "Customized" msgstr "Özelleştirilmiş" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "Her zaman sor" @@ -2832,6 +2830,12 @@ msgctxt "@action:button" msgid "Import" msgstr "İçe Aktar" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "Dışa Aktar" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2917,283 +2921,283 @@ msgid "Unit" msgstr "Birim" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "Genel" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "Arayüz" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "Dil:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "Para Birimi:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "Tema:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "Bu değişikliklerinin geçerli olması için uygulamayı yeniden başlatmanız gerekecektir." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "Ayarlar değiştirilirken otomatik olarak dilimle." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "Otomatik olarak dilimle" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "Görünüm şekli" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "Modelin desteklenmeyen alanlarını kırmızı ile gösterin. Destek alınmadan bu alanlar düzgün bir şekilde yazdırılmayacaktır." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "Dışarıda kalan alanı göster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "Bir model seçildiğinde bu model görüntünün ortasında kalacak şekilde kamera hareket eder." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "Öğeyi seçince kamerayı ortalayın" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "Cura’nın varsayılan yakınlaştırma davranışı tersine çevrilsin mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "Kamera yakınlaştırma yönünü ters çevir." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "Yakınlaştırma farenin hareket yönüne uygun olsun mu?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "Farenin hareket yönüne göre yakınlaştır" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "Platformun üzerindeki öğeler kesişmemeleri için hareket ettirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "Modellerin birbirinden ayrı olduğundan emin olduğundan emin olun" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "Platformun üzerindeki modeller yapı levhasına değmeleri için indirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "Modelleri otomatik olarak yapı tahtasına indirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "G-code okuyucuda uyarı mesajı göster." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "G-code okuyucuda uyarı mesajı" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "Katman, uyumluluk moduna zorlansın mı?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "Katman görünümünü uyumluluk moduna zorla (yeniden başlatma gerekir)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "Dosyaların açılması ve kaydedilmesi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "Modeller çok büyükse yapı hacmine göre ölçeklendirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "Büyük modelleri ölçeklendirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "Bir modelin birimi milimetre değil de metre ise oldukça küçük görünebilir. Bu modeller ölçeklendirilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "Çok küçük modelleri ölçeklendirin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "Yüklendikten sonra modeller seçilsin mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "Yüklendiğinde modelleri seç" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "Yazıcı adına bağlı bir ön ek otomatik olarak yazdırma işinin adına eklenmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "Makine ön ekini iş adına ekleyin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "Bir proje dosyasını kaydederken özet gösterilmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "Projeyi kaydederken özet iletişim kutusunu göster" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "Bir proje dosyası açıldığında varsayılan davranış" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "Bir proje dosyası açıldığında varsayılan davranış: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "Her zaman sor" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "Her zaman proje olarak aç" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "Her zaman modelleri içe aktar" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "Bir profil üzerinde değişiklik yapıp farklı bir profile geçtiğinizde, değişikliklerin kaydedilmesini isteyip istemediğinizi soran bir iletişim kutusu açılır. Alternatif olarak bu işleve yönelik varsayılan bir davranış seçebilir ve bu iletişim kutusunun bir daha görüntülenmemesini tercih edebilirsiniz." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "Profiller" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "Farklı bir profile geçerken değişen ayar değerleriyle ilgili varsayılan davranış: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "Değiştirilen ayarları her zaman at" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "Değiştirilen ayarları her zaman yeni profile taşı" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "Gizlilik" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "Cura, program başladığında güncellemeleri kontrol etmeli mi?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "Başlangıçta güncellemeleri kontrol edin" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "Yazdırmanızdaki anonim veriler Ultimaker’a gönderilmeli mi? Unutmayın; hiçbir model, IP adresi veya diğer kişiye özgü bilgiler gönderilmez veya saklanmaz." -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(Anonim) yazdırma bilgisi gönder" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "Daha fazla bilgi" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "Deneysel" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "Çok yapılı levha fonksiyonelliğini kullan" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "Çok yapılı levha fonksiyonelliğini kullan (yeniden başlatma gerektirir)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "Yazıcılar" @@ -3215,7 +3219,7 @@ msgid "Connection:" msgstr "Bağlantı:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "Yazıcı bağlı değil." @@ -3241,7 +3245,7 @@ msgid "Aborting print..." msgstr "Yazdırma durduruluyor..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "Profiller" @@ -3322,17 +3326,17 @@ msgid "Global Settings" msgstr "Küresel Ayarlar" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "Yazıcı Ekle" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "Yazıcı Adı:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "Yazıcı Ekle" @@ -3347,17 +3351,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "Cura hakkında" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "sürüm: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "Kaynaşık filaman 3B yazdırma için kalıcı çözüm." -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3366,102 +3370,122 @@ msgstr "" "Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\n" "Cura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "Grafik kullanıcı arayüzü" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "Uygulama çerçevesi" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "G-code oluşturucu" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "İşlemler arası iletişim kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "Programlama dili" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI çerçevesi" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUI çerçeve bağlantıları" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C/C++ Bağlantı kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "Veri değişim biçimi" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "Bilimsel bilgi işlem için destek kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "Daha hızlı matematik için destek kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "STL dosyalarının işlenmesi için destek kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "3MF dosyalarının işlenmesi için destek kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "Seri iletişim kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "ZeroConf keşif kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "Poligon kırpma kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Python HTTP kitaplığı" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "Yazı tipi" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG simgeleri" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Linux çapraz-dağıtım uygulama dağıtımı" @@ -3471,7 +3495,7 @@ msgctxt "@label" msgid "Profile:" msgstr "Profil:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3482,53 +3506,53 @@ msgstr "" "\n" "Profil yöneticisini açmak için tıklayın." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "Ara..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "Değeri tüm ekstruderlere kopyala" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "Tüm değiştirilmiş değerleri tüm ekstruderlere kopyala" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "Bu ayarı gizle" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "Bu ayarı gösterme" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "Bu ayarı görünür yap" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "Görünürlük ayarını yapılandır..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "Tümünü Daralt" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "Tümünü Genişlet" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3549,17 +3573,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr ".........den etkilenir" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "Bu ayar her zaman, tüm ekstrüderler arasında paylaşılır. Buradan değiştirildiğinde tüm ekstrüderler için değer değiştirir." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "Değer, her bir ekstruder değerinden alınır. " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3570,7 +3594,7 @@ msgstr "" "\n" "Profil değerini yenilemek için tıklayın." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3725,12 +3749,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "&Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "&Kamera konumu" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "&Yapı levhası" @@ -3740,12 +3764,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "Görünür ayarlar" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "Tüm Ayarları Göster" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "Ayar Görünürlüğünü Yönet..." @@ -3808,17 +3832,44 @@ msgstr "" "Yazdırma Ayarı devre dışı\n" "G-code dosyaları üzerinde değişiklik yapılamaz" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00sa 00dk" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "Zaman Özellikleri" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "Maliyet koşulları" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1 m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1 g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "Toplam:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "Önerilen Yazıcı Ayarları

Seçilen yazıcı, malzeme ve kalite için önerilen ayarları kullanarak yazdırın." -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "Özel Yazıcı Ayarları

Dilimleme işleminin her bir bölümünü detaylıca kontrol ederek yazdırın." @@ -3843,223 +3894,223 @@ msgctxt "@label" msgid "Estimated time left" msgstr "Kalan tahmini süre" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "Tam Ekrana Geç" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "&Geri Al" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "&Yinele" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "&Çıkış" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "3 Boyutlu Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "Önden Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "Yukarıdan Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "Sol Taraftan Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "Sağ Taraftan Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "Cura’yı yapılandır..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "&Yazıcı Ekle..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "Yazıcıları Yönet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "Malzemeleri Yönet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "&Profili geçerli ayarlar/geçersiz kılmalar ile güncelle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "&Geçerli değişiklikleri iptal et" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "G&eçerli ayarlardan/geçersiz kılmalardan profil oluştur..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "Profilleri Yönet..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "Çevrimiçi Belgeleri Göster" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "Hata Bildir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "Hakkında..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "Seçili Modeli Sil" msgstr[1] "Seçili Modelleri Sil" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "Seçili Modeli Ortala" msgstr[1] "Seçili Modelleri Ortala" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "Seçili Modeli Çoğalt" msgstr[1] "Seçili Modelleri Çoğalt" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "Modeli Sil" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "Modeli Platformda Ortala" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "Modelleri Gruplandır" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Model Grubunu Çöz" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "&Modelleri Birleştir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "&Modeli Çoğalt..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "Tüm modelleri Seç" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "Yapı Levhasını Temizle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "Tüm Modelleri Yeniden Yükle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "Tüm Modelleri Tüm Yapı Levhalarına Yerleştir" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "Tüm Modelleri Düzenle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "Seçimi Düzenle" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "Tüm Model Konumlarını Sıfırla" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "Tüm Model ve Dönüşümleri Sıfırla" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "&Dosya Aç..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "&Yeni Proje..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "Motor Günlüğünü Göster..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "Yapılandırma Klasörünü Göster" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "Paketlere gözat..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "Kenar Çubuğunu Genişlet/Daralt" @@ -4120,7 +4171,7 @@ msgid "Select the active output device" msgstr "Etkin çıkış aygıtını seçin" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "Dosya aç" @@ -4140,145 +4191,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "&Dosya" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "&Kaydet..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "&Dışa Aktar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "Seçimi Dışa Aktar..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "Düz&enle" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "&Görünüm" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "&Ayarlar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "&Yazıcı" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "&Malzeme" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "Etkin Ekstruder olarak ayarla" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "Ekstruderi Etkinleştir" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "Ekstruderi Devre Dışı Bırak" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "&Yapı levhası" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "&Profil" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "Uzantılar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&Araç kutusu" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "Tercihler" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "&Yardım" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "Bu paket yeniden başlatmanın ardından kurulacak." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "Dosya Aç" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "Ayarlar" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "Yeni proje" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "Yeni bir proje başlatmak istediğinizden emin misiniz? Bu işlem yapı levhasını ve kaydedilmemiş tüm ayarları silecektir." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "Cura Kapatılıyor" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "Cura’dan çıkmak istediğinizden emin misiniz?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "Paketi Kur" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "Dosya Aç" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "Seçtiğiniz dosyalar arasında bir veya daha fazla G-code dosyası bulduk. Tek seferde sadece bir G-code dosyası açabilirsiniz. Bir G-code dosyası açmak istiyorsanız, sadece birini seçiniz." @@ -4288,11 +4339,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "Projeyi Kaydet" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4363,37 +4409,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "Kademeli dolgu, yukarıya doğru dolgu miktarını kademeli olarak yükselecektir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "Kademeli özelliği etkinleştir" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "Oluşturma Desteği" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "Modellerin askıda kalan kısımlarını destekleyen yapılar oluşturun. Bu yapılar olmadan, yazdırma sırasında söz konusu kısımlar düşebilir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "Destek için kullanacağınız ekstruderi seçin. Bu, modelin havadayken düşmesini veya yazdırılmasını önlemek için modelin altındaki destekleyici yapıları güçlendirir." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "Yapı Levhası Yapıştırması" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "Bir kenar veya radye yazdırın. Bu nesnenizin etrafına veya altına daha sonra kesilmesi kolay olan düz bir alan sağlayacak." -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "Yazıcı çıktılarınızı iyileştirmek için yardıma mı ihtiyacınız var?
Ultimaker Sorun Giderme Kılavuzlarını okuyun" @@ -4555,6 +4601,16 @@ msgctxt "name" msgid "Changelog" msgstr "Değişiklik Günlüğü" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4905,16 +4961,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura Profili Yazıcı" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "Malzeme üreticilerine bir drop-in UI kullanarak yeni malzeme ve kalite profili oluşturma imkanı sunar." - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "Baskı Profili Asistanı" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4945,6 +4991,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura Profil Okuyucu" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "Lütfen kaydetmeden önce G-code oluşturun." + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "Profil Asistanı" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "Profil Asistanı" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "Aygıt Yazılımını Yükselt" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "Bilinmiyor" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "{0} dosyasında içe aktarılabilecek özel profil yok" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "Bu profil {0} yanlış veri içermekte, içeri aktarılamadı." + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "{0} profilinde tanımlanan makine ({1}), mevcut makinenizle ({2}) eşleşmiyor, içe aktarılamadı." + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "Kaldırmayı onayla " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "Duraklatıldı" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "Önceki" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "Sonraki" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "İpucu" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1 m / ~ %2 g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1 m / ~ %2 g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "Yazdırma denemesi" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "Kontrol listesi" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "Aygıt Yazılımını Yükselt" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "Malzeme üreticilerine bir drop-in UI kullanarak yeni malzeme ve kalite profili oluşturma imkanı sunar." + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "Baskı Profili Asistanı" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "Doodle3D WiFi-Box ile yazdır" diff --git a/resources/i18n/tr_TR/fdmextruder.def.json.po b/resources/i18n/tr_TR/fdmextruder.def.json.po index 9bb0d492af..1b29e32418 100644 --- a/resources/i18n/tr_TR/fdmextruder.def.json.po +++ b/resources/i18n/tr_TR/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" @@ -166,6 +166,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "Nozül yazdırma işlemini başlatmaya hazırlandığında konumun Z koordinatı." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index 6c70eb70e9..8ea50c3a6f 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:20+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" @@ -1076,8 +1076,8 @@ msgstr "Üst/Alt Poligonları Bağla" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "Üst/alt yüzey yollarını yan yana ise bağla. Eş merkezli şekil için bu ayarı etkinleştirmek hareket süresini önemli ölçüde kısaltır; ancak bağlantılar dolgunun üzerinde meydana gelebileceğinden bu özellik üst yüzeyin kalitesini düşürebilir." +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1496,8 +1496,8 @@ msgstr "Dolgu Şekli" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "Baskının dolgu malzemesinin şeklidir. Hat ve zikzak dolgu, farklı katmanlar üzerinde yön değiştirerek malzeme maliyetini azaltır. Izgara, üçgen, üçlü altıgen, kübik, sekizlik, çeyrek kübik, çapraz ve eşmerkezli şekiller, her katmana tam olarak basılır. Kübik, çeyrek kübik ve sekizlik dolgu, her yönde daha eşit bir kuvvet dağılımı sağlamak için her katmanda değişir." +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1559,6 +1559,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "Çapraz 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -1629,7 +1634,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Dolgu alanının etrafına ekstra duvar ekle. Bu duvarlar üst/alt yüzey hatlarının daha az aşağı düşmesini sağlar. Yani biraz fazla materyal kullanarak, daha az üst/alt yüzey katmanı ile aynı kaliteyi yakalayabilirsiniz.\nBu özellik, doğru konfigüre edildiğinde, harekete veya geri çekmeye gerek kalmadan Dolgu Poligonlarını Bağlama ile birlikte tüm dolguyu tek bir ekstrüzyon yoluna bağlayabilir." +msgstr "" +"Dolgu alanının etrafına ekstra duvar ekle. Bu duvarlar üst/alt yüzey hatlarının daha az aşağı düşmesini sağlar. Yani biraz fazla materyal kullanarak, daha az üst/alt yüzey katmanı ile aynı kaliteyi yakalayabilirsiniz.\n" +"Bu özellik, doğru konfigüre edildiğinde, harekete veya geri çekmeye gerek kalmadan Dolgu Poligonlarını Bağlama ile birlikte tüm dolguyu tek bir ekstrüzyon yoluna bağlayabilir." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3261,6 +3268,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "Destekler için dolgu şeklinin döndürülmesi. Destek dolgu şekli yatay düzlemde döndürülür." +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3830,6 +3867,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "Bir kenar için kullanılan hatların sayısı Daha fazla kenar hattı yapı levhasına yapışmayı artırmanın yanı sıra etkin yazdırma alanını da azaltır." +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5654,6 +5701,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "Modeli dosyadan indirirken modele uygulanacak olan dönüşüm matrisi" +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "Üst/alt yüzey yollarını yan yana ise bağla. Eş merkezli şekil için bu ayarı etkinleştirmek hareket süresini önemli ölçüde kısaltır; ancak bağlantılar dolgunun üzerinde meydana gelebileceğinden bu özellik üst yüzeyin kalitesini düşürebilir." + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "Baskının dolgu malzemesinin şeklidir. Hat ve zikzak dolgu, farklı katmanlar üzerinde yön değiştirerek malzeme maliyetini azaltır. Izgara, üçgen, üçlü altıgen, kübik, sekizlik, çeyrek kübik, çapraz ve eşmerkezli şekiller, her katmana tam olarak basılır. Kübik, çeyrek kübik ve sekizlik dolgu, her yönde daha eşit bir kuvvet dağılımı sağlamak için her katmanda değişir." + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "Eş merkezli 3D" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 3c8f4b35a8..95a245cf93 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:45+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" @@ -48,8 +48,8 @@ msgstr "GCodeWriter 不支持非文本模式。" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "保存之前,请生成 G-code。" +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "显示更新日志" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "配置文件已被合并并激活。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB 联机打印" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "通过 USB 联机打印" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "通过 USB 联机打印" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "通过 USB 连接" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "正在进行 USB 打印,关闭 Cura 将停止此打印。您确定吗?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "GCodeGzWriter 不支持文本模式。" -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker 格式包" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "保存到可移动磁盘 {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "没有可进行写入的文件格式!" @@ -198,7 +203,7 @@ msgstr "无法保存到可移动磁盘 {0}:{1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "错误" @@ -227,8 +232,8 @@ msgstr "弹出可移动设备 {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "警告" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "可移动磁盘" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "通过网络打印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "通过网络打印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "已通过网络连接。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "已通过网络连接。请在打印机上接受访问请求。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "已通过网络连接,但没有打印机的控制权限。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "已发送打印机访问请求,请在打印机上批准该请求。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "身份验证状态" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "身份验证状态" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "重试" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "重新发送访问请求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "打印机接受了访问请求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "无法使用本打印机进行打印,无法发送打印作业。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "请求访问" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "向打印机发送访问请求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "无法启动新的打印作业。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Ultimaker 配置存在问题,导致无法开始打印。请解决此问题,然后再继续。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "配置不匹配" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "您确定要使用所选配置进行打印吗?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "打印机的配置或校准与 Cura 之间不匹配。为了获得最佳打印效果,请务必切换打印头和打印机中插入的材料。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "发送新作业(暂时)受阻,仍在发送前一份打印作业。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "向打印机发送数据" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "正在发送数据" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "取消" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "插槽 {slot_number} 中未加载 Printcore" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "插槽 {slot_number} 中未加载材料" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "为挤出机 {extruder_id} 选择了不同的 PrintCore(Cura: {cura_printcore_name},打印机:{remote_printcore_name})" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "您为挤出机 {2} 选择了不同的材料(Cura:{0},打印机:{1})" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "与您的打印机同步" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "您想在 Cura 中使用当前的打印机配置吗?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "打印机上的打印头和/或材料与当前项目中的不同。 为获得最佳打印效果,请始终使用已插入打印机的打印头和材料进行切片。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "已通过网络连接。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "打印作业已成功发送到打印机。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "数据已发送" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "在监控器中查看" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "打印机 '{printer_name}' 完成了打印任务 '{job_name}'。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "打印作业 '{job_name}' 已完成。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "打印完成" @@ -480,49 +480,49 @@ msgctxt "@action" msgid "Connect via Network" msgstr "通过网络连接" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "监控" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "无法获取更新信息。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "您的 {machine_name} 有新功能可用! 建议您更新打印机上的固件。" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "新 %s 固件可用" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "如何更新" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "无法获取更新信息。" - #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "分层视图" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "当单线打印(Wire Printing)功能开启时,Cura 将无法准确地显示打印层(Layers)" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "仿真视图" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "修改 G-Code 文件" @@ -536,32 +536,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "创建一个不打印支撑的体积。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura 将收集匿名的使用统计数据。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "正在收集数据" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "详细信息" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "请参阅更多关于Cura发送的数据的信息。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "允许" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "允许 Cura 发送匿名的使用统计数据,以帮助确定将来 Cura 的改进优先顺序。已发送您的一些偏好和设置,Cura 版本和您正在切片的模型的散列值。" @@ -596,56 +596,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF 图像" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "无法使用当前材料进行切片,因为该材料与所选机器或配置不兼容。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "无法切片" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "无法使用当前设置进行切片。以下设置存在错误:{0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "因部分特定模型设置而无法切片。 以下设置在一个或多个模型上存在错误: {error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "无法切片(原因:主塔或主位置无效)。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "无法切片,因为存在与已禁用挤出机 %s 相关联的对象。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "无法执行,因为没有一个模型符合成形空间体积。请缩放或旋转模型以适应打印平台。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "正在处理层" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "信息" @@ -661,13 +661,13 @@ msgid "Configure Per Model Settings" msgstr "设置对每个模型的单独设定" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "推荐" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "自定义" @@ -679,7 +679,7 @@ msgid "3MF File" msgstr "3MF 文件" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "喷嘴" @@ -705,18 +705,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G 文件" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "解析 G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-code 详细信息" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "发送文件之前,请确保 G-code 适用于当前打印机和打印机配置。当前 G-code 文件可能不准确。" @@ -727,16 +727,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura 配置文件" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "配置文件助手" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "配置文件助手" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -758,11 +748,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "选择升级" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "升级固件" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -773,79 +758,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "调平打印平台" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "外壁" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "内壁" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "表层" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "填充" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "支撑填充" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "支撑接触面" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "支撑" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "Skirt" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "移动" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "回抽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "其它" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "未知" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "预切片文件 {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "文件已存在" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -857,23 +842,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "未覆盖" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "所选材料与所选机器或配置不兼容。" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "不兼容材料" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "已根据挤出机的当前可用性更改设置:[%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "设置已更新" @@ -902,8 +887,6 @@ msgid "Export succeeded" msgstr "导出成功" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -911,58 +894,70 @@ msgstr "无法从 {0} 导入配置文件: {1}< #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:190 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "没有可供导入文件 {0} 的自定义配置文件" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "此配置文件 {0} 包含错误数据,无法导入。" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "配置文件 {0} ({1}) 中定义的机器与当前机器 ({2}) 不匹配,无法导入。" +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "已成功导入配置文件 {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "文件 {0} 不包含任何有效的配置文件。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "配置 {0} 文件类型未知或已损坏。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "自定义配置文件" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "配置文件缺少打印质量类型定义。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "无法为当前配置找到质量类型 {0}。" -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -989,12 +984,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "所有文件 (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "自定义材料" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "自定义" @@ -1009,22 +1004,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "成形空间体积" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "不能从用户数据目录创建存档: {}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "备份" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "试图在没有适当数据或元数据的情况下恢复Cura备份。" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "试图恢复与您当前版本不匹配的Cura备份。" @@ -1199,40 +1194,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "发送报告" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "正在载入打印机..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "正在设置场景..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "正在载入界面…" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "一次只能加载一个 G-code 文件。{0} 已跳过导入" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "如果加载 G-code,则无法打开其他任何文件。{0} 已跳过导入" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "所选模型过小,无法加载。" @@ -1263,9 +1258,9 @@ msgstr "X (宽度)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1400,22 +1395,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "打印机所支持耗材的公称直径。 材料和/或配置文件将覆盖精确直径。" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "喷嘴偏移 X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "喷嘴偏移 Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "挤出机的开始 G-code" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "挤出机的结束 G-code" @@ -1436,41 +1441,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "无法连接到Cura包数据库。请检查您的连接。" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "插件" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "材料" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "版本" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "更新日期" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "作者" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "下载项" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "未知" @@ -1505,8 +1511,8 @@ msgstr "背部" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "确认卸载 " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1553,7 +1559,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "通用材料" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "安装" @@ -1635,48 +1641,88 @@ msgid "Changelog" msgstr "更新日志" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "关闭" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "固件是直接在 3D 打印机上运行的一个软件。此固件控制步进电机,调节温度并最终使打印机正常工作。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "新打印机出厂配备的固件完全可以正常使用,但新版本往往具有更多的新功能和改进。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "自动升级固件" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "上传自定义固件" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "选择自定义固件" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "固件升级" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "更新固件中..." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "固件更新已完成。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "由于未知错误,固件更新失败。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "由于通信错误,导致固件升级失败。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "由于输入/输出错误,导致固件升级失败。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "由于固件丢失,导致固件升级失败。" @@ -1686,22 +1732,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "用户协议" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "现有连接" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "此打印机/打印机组已添加到 Cura。请选择其他打印机/打印机组。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "连接到网络打印机" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1712,18 +1758,18 @@ msgstr "" "\n" "从以下列表中选择您的打印机:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "添加" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "编辑" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1731,244 +1777,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "删除" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "刷新" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "如果您的打印机未列出,请阅读网络打印故障排除指南" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "类型" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "固件版本" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "地址" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "这台打印机未设置为运行一组打印机。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "这台打印机是一组共 %1 台打印机的主机。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "该网络地址的打印机尚未响应。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "连接" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "打印机网络地址" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "输入打印机在网络上的 IP 地址或主机名。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "确定" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "通过网络打印" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "打印机选择" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "打印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "通过网络打印" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "等待:不可用的打印机" +msgid "Printer selection" +msgstr "打印机选择" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "等待:第一个可用的" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "等待: " - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "移至顶部" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "将打印作业移至顶部" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "您确定要将 %1 移至队列顶部吗?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "删除" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "删除打印作业" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "您确定要删除 %1 吗?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "管理队列" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "已排队" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "打印" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "管理打印机" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "不可用" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "无法连接" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "可用" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "已中止" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "已完成" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "准备" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "暂停" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "恢复" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "需要采取行动" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "等待:不可用的打印机" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "等待:第一个可用的" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "等待: " + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "管理队列" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "已排队" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "打印" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "管理打印机" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "移至顶部" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "删除" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "恢复" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "暂停" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "中止" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "您确定要将 %1 移至队列顶部吗?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "将打印作业移至顶部" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "您确定要删除 %1 吗?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "删除打印作业" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "您确定要中止 %1 吗?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "中止打印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "您确定要中止 %1 吗?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "已中止" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "已完成" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "准备" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "暂停" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "已暂停" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "恢复" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "需要采取行动" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "连接到打印机" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "将打印机配置导入 Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "应用配置" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "将打印机配置导入 Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2059,17 +2161,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "后期处理脚本" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "添加一个脚本" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "设置" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "更改目前启用的后期处理脚本" @@ -2194,23 +2296,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "修改其他模型填充物的设置" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "选择设置" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "选择对此模型的自定义设置" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "筛选…" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "显示全部" @@ -2261,6 +2363,7 @@ msgid "Type" msgstr "类型" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "打印机组" @@ -2278,6 +2381,7 @@ msgstr "配置文件中的冲突如何解决?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2350,82 +2454,6 @@ msgctxt "@action:button" msgid "Open" msgstr "打开" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "上一步" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "导出" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "下一步" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "提示" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00 小时 00 分" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "成本规定" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "总计:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "打印试验" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "检查表" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2467,36 +2495,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "移动到下一个位置" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "升级固件" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "固件是直接在 3D 打印机上运行的一个软件。此固件控制步进电机,调节温度并最终使打印机正常工作。" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "新打印机出厂配备的固件完全可以正常使用,但新版本往往具有更多的新功能和改进。" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "自动升级固件" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "上传自定义固件" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "选择自定义固件" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2684,7 +2682,7 @@ msgid "Customized" msgstr "自定义" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "总是询问" @@ -2832,6 +2830,12 @@ msgctxt "@action:button" msgid "Import" msgstr "导入" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "导出" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2917,283 +2921,283 @@ msgid "Unit" msgstr "单位" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "基本" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "接口" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "语言:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "币种:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "主题:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "需重新启动 Cura,新的设置才能生效。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "当设置被更改时自动进行切片。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "自动切片" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "视区行为" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "以红色突出显示模型需要增加支撑结构的区域。没有支撑,这些区域将无法正确打印。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "显示悬垂(Overhang)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "当模型被选中时,视角将自动调整到最合适的观察位置(模型处于正中央)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "当项目被选中时,自动对中视角" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "需要令 Cura 的默认缩放操作反转吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "反转视角变焦方向。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "是否跟随鼠标方向进行缩放?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "跟随鼠标方向缩放" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "需要移动平台上的模型,使它们不再相交吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "确保每个模型都保持分离" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "需要转动模型,使它们接触打印平台吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "自动下降模型到打印平台" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "在 G-code 读取器中显示警告信息。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "G-code 读取器中的警告信息" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "层视图要强制进入兼容模式吗?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "强制层视图兼容模式(需要重新启动)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "打开并保存文件" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "当模型的尺寸过大时,是否将模型自动缩小至成形空间体积?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "缩小过大模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "当模型以米而不是毫米为单位时,模型可能会在打印平台中显得非常小。在此情况下是否进行放大?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "放大过小模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "模型是否应该在加载后被选中?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "选择模型时加载" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "打印机名是否自动作为打印作业名称的前缀?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "将机器前缀添加到作业名称中" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "保存项目文件时是否显示摘要?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "保存项目时显示摘要对话框" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "打开项目文件时的默认行为" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "打开项目文件时的默认行为:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "总是询问" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "始终作为一个项目打开" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "始终导入模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "当您对配置文件进行更改并切换到其他配置文件时将显示一个对话框,询问您是否要保留修改。您也可以选择一个默认行为并令其不再显示该对话框。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "配置文件" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "切换到不同配置文件时对设置值更改的默认操作: " -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "总是舍失更改的设置" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "总是将更改的设置传输至新配置文件" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "隐私" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "当 Cura 启动时,是否自动检查更新?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "启动时检查更新" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "您愿意将关于您的打印数据以匿名形式发送到 Ultimaker 吗?注意:我们不会记录/发送任何模型、IP 地址或其他私人数据。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(匿名)发送打印信息" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "详细信息" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "实验性" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "使用多打印平台功能" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "使用多打印平台功能(需要重启)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "打印机" @@ -3215,7 +3219,7 @@ msgid "Connection:" msgstr "连接:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "尚未连接到打印机。" @@ -3241,7 +3245,7 @@ msgid "Aborting print..." msgstr "中止打印..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "配置文件" @@ -3322,17 +3326,17 @@ msgid "Global Settings" msgstr "全局设置" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "新增打印机" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "打印机名称:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "新增打印机" @@ -3347,17 +3351,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "关于 Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "版本: %1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "熔丝 3D 打印技术的的端对端解决方案。" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3366,102 +3370,122 @@ msgstr "" "Cura 由 Ultimaker B.V. 与社区合作开发。\n" "Cura 使用以下开源项目:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "图形用户界面" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "应用框架" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "G-code 生成器" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "进程间通信交互使用库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "编程语言" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI 框架" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUI 框架绑定" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C / C++ 绑定库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "数据交换格式" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "科学计算支持库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "高速运算支持库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "用于处理 STL 文件的支持库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "用于处理 3MF 文件的支持库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "串口通讯库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "ZeroConf 发现库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "多边形剪辑库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Python HTTP 库" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "字体" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG 图标" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Linux 交叉分布应用程序部署" @@ -3471,7 +3495,7 @@ msgctxt "@label" msgid "Profile:" msgstr "配置文件:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3482,53 +3506,53 @@ msgstr "" "\n" "点击打开配置文件管理器。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "搜索..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "将值复制到所有挤出机" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "将所有修改值复制到所有挤出机" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "隐藏此设置" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "不再显示此设置" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "保持此设置可见" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "配置设定可见性..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "全部折叠" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "全部展开" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3549,17 +3573,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "受影响项目:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "此设置始终在所有挤出机之间共享。在此处更改它将改变所有挤出机的值。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "该值将会根据每一个挤出机的设置而确定" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3570,7 +3594,7 @@ msgstr "" "\n" "单击以恢复配置文件的值。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3725,12 +3749,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "视图(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "摄像头位置(&C)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "打印平台(&B)" @@ -3740,12 +3764,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "可见设置:" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "显示所有设置" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "管理设置可见性..." @@ -3806,17 +3830,44 @@ msgstr "" "打印设置已禁用\n" "G-code 文件无法被修改" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00 小时 00 分" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "时间规格" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "成本规定" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "总计:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "推荐的打印设置

使用针对所选打印机、材料和质量的推荐设置进行打印。" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "自定义打印设置

对切片过程中的每一个细节进行精细控制。" @@ -3841,220 +3892,220 @@ msgctxt "@label" msgid "Estimated time left" msgstr "预计剩余时间" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "切换完整界面" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "撤销(&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "重做(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "退出(&Q)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "3D 视图" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "正视图" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "顶视图" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "左视图" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "右视图" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "配置 Cura…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "新增打印机(&A)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "管理打印机(&I)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "管理材料…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "使用当前设置 / 重写值更新配置文件(&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "舍弃当前更改(&D)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "从当前设置 / 重写值创建配置文件(&C)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "管理配置文件.." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "显示在线文档(&D)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "BUG 反馈(&B)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "关于…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "删除所选模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "居中所选模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "复制所选模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "删除模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "使模型居于平台中央(&N)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "绑定模型(&G)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "拆分模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "合并模型(&M)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "复制模型…(&M)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "选择所有模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "清空打印平台" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "重新载入所有模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "将所有模型编位到所有打印平台" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "编位所有的模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "为所选模型编位" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "复位所有模型的位置" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "复位所有模型的变动" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "打开文件(&O)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "新建项目(&N)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "显示引擎日志(&L)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "显示配置文件夹" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "浏览包……" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "展开/折叠侧边栏" @@ -4115,7 +4166,7 @@ msgid "Select the active output device" msgstr "选择活动的输出装置" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "打开文件" @@ -4135,145 +4186,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "文件(&F)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "保存(&S)..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "导出(&E)..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "导出选择..." -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "编辑(&E)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "视图(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "设置(&S)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "打印机(&P)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "材料(&M)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "设为主要挤出机" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "启用挤出机" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "禁用挤出机" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "打印平台(&B)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "配置文件(&P)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "扩展(&X)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "&工具箱" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "偏好设置(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "帮助(&H)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "这个包将在重新启动后安装。" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "打开文件" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "设置" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "新建项目" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "你确定要开始一个新项目吗?这将清除打印平台及任何未保存的设置。" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "关闭 Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "您确定要退出 Cura 吗?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "安装包" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "打开文件" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "我们已经在您选择的文件中找到一个或多个 G-Code 文件。您一次只能打开一个 G-Code 文件。若需打开 G-Code 文件,请仅选择一个。" @@ -4283,11 +4334,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "保存项目" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4358,37 +4404,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "渐层填充(Gradual infill)将随着打印高度的提升而逐渐加大填充密度。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "启用渐层" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "生成支撑" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "在模型的悬垂(Overhangs)部分生成支撑结构。若不这样做,这些部分在打印时将倒塌。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "选择用于支撑的挤出机。该挤出机将在模型之下建立支撑结构,以防止模型下垂或在空中打印。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "打印平台附着" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "允许打印 Brim 或 Raft。这将在您的对象周围或下方添加一个容易切断的平面区域。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "需要帮助改善您的打印?
阅读 Ultimaker 故障排除指南" @@ -4549,6 +4595,16 @@ msgctxt "name" msgid "Changelog" msgstr "更新日志" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4899,16 +4955,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura 配置文件写入器" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "允许材料制造商使用下拉式 UI 创建新的材料和质量配置文件。" - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "打印配置文件助手" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4939,6 +4985,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura 配置文件读取器" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "保存之前,请生成 G-code。" + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "配置文件助手" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "配置文件助手" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "升级固件" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "未知" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "没有可供导入文件 {0} 的自定义配置文件" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "此配置文件 {0} 包含错误数据,无法导入。" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "配置文件 {0} ({1}) 中定义的机器与当前机器 ({2}) 不匹配,无法导入。" + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "确认卸载 " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "已暂停" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "上一步" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "下一步" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "提示" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "打印试验" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "检查表" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "升级固件" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "允许材料制造商使用下拉式 UI 创建新的材料和质量配置文件。" + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "打印配置文件助手" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "使用 Doodle3D WiFi-Box 打印" diff --git a/resources/i18n/zh_CN/fdmextruder.def.json.po b/resources/i18n/zh_CN/fdmextruder.def.json.po index e72bf45a2b..c003ab118c 100644 --- a/resources/i18n/zh_CN/fdmextruder.def.json.po +++ b/resources/i18n/zh_CN/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" @@ -168,6 +168,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "打印开始时,喷头在 Z 轴坐标上的起始位置." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index 41b2b736de..7d77080595 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:20+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" @@ -1078,8 +1078,8 @@ msgstr "连接顶部/底部多边形" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "在顶部/底部皮肤路径互相紧靠运行的地方连接它们。对于同心图案,启用此设置可大大减少空驶时间,但因为连接可在填充中途发生,此功能可能会降低顶部表面质量。" +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,8 +1498,8 @@ msgstr "填充图案" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "打印填充材料的图案。线条和锯齿形填充在交替层上交换方向,从而降低材料成本。网格、三角形、内六角、立方体、八角形、四面体、交叉和同心图案在每层完整打印。立方体、四面体和八角形填充随每层变化,以在各个方向提供更均衡的强度分布。" +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1561,6 +1561,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "交叉 3D" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -1631,7 +1636,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "在填充区域周围添加额外壁。此类壁可减少顶部/底部皮肤走线,这意味着只要付出一些额外的材料就可以使用更少的顶部/底部皮肤层达到相同的质量。\n在适当配置的情况下,此功能可结合连接填充多边形以将所有填充物连接到单一挤出路径而无需空驶或回抽。" +msgstr "" +"在填充区域周围添加额外壁。此类壁可减少顶部/底部皮肤走线,这意味着只要付出一些额外的材料就可以使用更少的顶部/底部皮肤层达到相同的质量。\n" +"在适当配置的情况下,此功能可结合连接填充多边形以将所有填充物连接到单一挤出路径而无需空驶或回抽。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3263,6 +3270,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "用于支撑的填充图案的方向。支撑填充图案在水平面中旋转。" +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3832,6 +3869,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "brim 所用走线数量。 更多 brim 走线可增强与打印平台的附着,但也会减少有效打印区域。" +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5656,6 +5703,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "在将模型从文件中载入时应用在模型上的转换矩阵。" +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "在顶部/底部皮肤路径互相紧靠运行的地方连接它们。对于同心图案,启用此设置可大大减少空驶时间,但因为连接可在填充中途发生,此功能可能会降低顶部表面质量。" + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "打印填充材料的图案。线条和锯齿形填充在交替层上交换方向,从而降低材料成本。网格、三角形、内六角、立方体、八角形、四面体、交叉和同心图案在每层完整打印。立方体、四面体和八角形填充随每层变化,以在各个方向提供更均衡的强度分布。" + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "立体同心圆" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 3658a7f2b2..48ca4c2732 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" -"POT-Creation-Date: 2018-09-19 17:07+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-02 10:25+0100\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" @@ -48,8 +48,8 @@ msgstr "G-code 寫入器不支援非文字模式。" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:73 #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" -msgid "Please generate G-code before saving." -msgstr "請在儲存前產出 G-code。" +msgid "Please prepare G-code before exporting." +msgstr "" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -75,6 +75,11 @@ msgctxt "@item:inmenu" msgid "Show Changelog" msgstr "顯示更新日誌" +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 +msgctxt "@action" +msgid "Update Firmware" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" msgid "Flatten active settings" @@ -85,27 +90,27 @@ msgctxt "@info:status" msgid "Profile has been flattened & activated." msgstr "列印參數已被合併並啟用。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:40 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:32 msgctxt "@item:inmenu" msgid "USB printing" msgstr "USB 連線列印" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:41 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:33 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print via USB" msgstr "透過 USB 連線列印" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:42 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:34 msgctxt "@info:tooltip" msgid "Print via USB" msgstr "透過 USB 連線列印" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:83 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:69 msgctxt "@info:status" msgid "Connected via USB" msgstr "透過 USB 連接" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:103 +#: /home/ruben/Projects/Cura/plugins/USBPrinting/USBPrinterOutputDevice.py:92 msgctxt "@label" msgid "A USB print is in progress, closing Cura will stop this print. Are you sure?" msgstr "USB 列印正在進行中,關閉 Cura 將停止此列印工作。你確定要繼續嗎?" @@ -137,7 +142,7 @@ msgctxt "@error:not supported" msgid "GCodeGzWriter does not support text mode." msgstr "G-code GZ 寫入器不支援非文字模式。" -#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:38 +#: /home/ruben/Projects/Cura/plugins/UFPWriter/__init__.py:28 msgctxt "@item:inlistbox" msgid "Ultimaker Format Package" msgstr "Ultimaker 格式的封包" @@ -159,7 +164,7 @@ msgid "Save to Removable Drive {0}" msgstr "儲存到行動裝置 {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:64 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:131 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:133 msgctxt "@info:status" msgid "There are no file formats available to write with!" msgstr "沒有可供寫入的檔案格式!" @@ -198,7 +203,7 @@ msgstr "無法儲存到行動裝置 {0}:{1}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:137 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:133 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:140 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1567 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1607 msgctxt "@info:title" msgid "Error" msgstr "錯誤" @@ -227,8 +232,8 @@ msgstr "卸載行動裝置 {0}" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:151 #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:163 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1557 -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1651 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1597 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1695 msgctxt "@info:title" msgid "Warning" msgstr "警告" @@ -255,141 +260,136 @@ msgctxt "@item:intext" msgid "Removable Drive" msgstr "行動裝置" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:86 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:88 msgctxt "@action:button Preceded by 'Ready to'." msgid "Print over network" msgstr "網路連線列印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:75 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:87 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:74 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 msgctxt "@properties:tooltip" msgid "Print over network" msgstr "網路連線列印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:88 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:87 msgctxt "@info:status" msgid "Connected over the network." msgstr "已透過網路連接。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:91 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:90 msgctxt "@info:status" msgid "Connected over the network. Please approve the access request on the printer." msgstr "已透過網路連接。請在印表機上接受存取請求。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:93 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:92 msgctxt "@info:status" msgid "Connected over the network. No access to control the printer." msgstr "已透過網路連接,但沒有印表機的控制權限。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:98 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" msgstr "已發送印表機存取請求,請在印表機上批准該請求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:101 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" msgid "Authentication status" msgstr "認証狀態" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 -msgctxt "@info:status" -msgid "" -msgstr "" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:110 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:114 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:102 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:108 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:112 msgctxt "@info:title" msgid "Authentication Status" msgstr "認証狀態" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:103 msgctxt "@action:button" msgid "Retry" msgstr "重試" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:106 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:104 msgctxt "@info:tooltip" msgid "Re-send the access request" msgstr "重新發送存取請求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:109 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:107 msgctxt "@info:status" msgid "Access to the printer accepted" msgstr "印表機接受了存取請求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:111 msgctxt "@info:status" msgid "No access to print with this printer. Unable to send print job." msgstr "無法使用本印表機進行列印,無法發送列印作業。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:29 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:73 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:113 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:33 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:70 msgctxt "@action:button" msgid "Request Access" msgstr "請求存取" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:117 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:28 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:115 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:34 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:71 msgctxt "@info:tooltip" msgid "Send access request to the printer" msgstr "向印表機發送存取請求" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:200 msgctxt "@label" msgid "Unable to start a new print job." msgstr "無法開始新的列印作業。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:202 msgctxt "@label" msgid "There is an issue with the configuration of your Ultimaker, which makes it impossible to start the print. Please resolve this issues before continuing." msgstr "Ultimaker 的設定有問題導致無法開始列印。請在繼續之前解決這個問題。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:210 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:208 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:230 msgctxt "@window:title" msgid "Mismatched configuration" msgstr "設定不匹配" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:222 msgctxt "@label" msgid "Are you sure you wish to print with the selected configuration?" msgstr "你確定要使用所選設定進行列印嗎?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:226 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:224 msgctxt "@label" msgid "There is a mismatch between the configuration or calibration of the printer and Cura. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "印表機的設定或校正與 Cura 之間不匹配。為了獲得最佳列印效果,請使用印表機的 PrintCores 和耗材設定進行切片。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:253 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:197 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:251 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:199 msgctxt "@info:status" msgid "Sending new jobs (temporarily) blocked, still sending the previous print job." msgstr "前一列印作業傳送中,暫停傳送新列印作業。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:216 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:232 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:258 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:218 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 msgctxt "@info:status" msgid "Sending data to printer" msgstr "正在向印表機發送資料" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:261 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:217 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:233 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:259 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:219 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:235 msgctxt "@info:title" msgid "Sending Data" msgstr "發送資料中" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:262 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:234 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:260 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:236 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxProgressButton.qml:18 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:80 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:378 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:381 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:20 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:143 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:188 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:391 @@ -399,78 +399,78 @@ msgctxt "@action:button" msgid "Cancel" msgstr "取消" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:325 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:323 #, python-brace-format msgctxt "@info:status" msgid "No Printcore loaded in slot {slot_number}" msgstr "Slot {slot_number} 中沒有載入 Printcore" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:331 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:329 #, python-brace-format msgctxt "@info:status" msgid "No material loaded in slot {slot_number}" msgstr "Slot {slot_number} 中沒有載入耗材" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:354 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:352 #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" msgstr "擠出機 {extruder_id} 選擇了不同的 PrintCore(Cura:{cura_printcore_name},印表機:{remote_printcore_name})" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:363 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format msgctxt "@label" msgid "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}" msgstr "擠出機 {2} 選擇了不同的耗材(Cura:{0},印表機:{1})" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:547 msgctxt "@window:title" msgid "Sync with your printer" msgstr "與你的印表機同步" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:549 msgctxt "@label" msgid "Would you like to use your current printer configuration in Cura?" msgstr "你想在 Cura 中使用目前的印表機設定嗎?" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:553 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:551 msgctxt "@label" msgid "The PrintCores and/or materials on your printer differ from those within your current project. For the best result, always slice for the PrintCores and materials that are inserted in your printer." msgstr "印表機上的 PrintCores 和/或耗材與目前專案中的不同。為獲得最佳列印效果,請使用目前印表機的 PrintCores 和耗材設定進行切片。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:89 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" msgstr "透過網路連接" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:310 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" msgid "Print job was successfully sent to the printer." msgstr "列印作業已成功傳送到印表機。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:312 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:305 msgctxt "@info:title" msgid "Data Sent" msgstr "資料傳送" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:313 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:306 msgctxt "@action:button" msgid "View in Monitor" msgstr "使用監控觀看" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:420 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 #, python-brace-format msgctxt "@info:status" msgid "Printer '{printer_name}' has finished printing '{job_name}'." msgstr "印表機 '{printer_name}' 已完成列印 '{job_name}'。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:422 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:424 #, python-brace-format msgctxt "@info:status" msgid "The print job '{job_name}' was finished." msgstr "列印作業 '{job_name}' 已完成。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:423 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:425 msgctxt "@info:status" msgid "Print finished" msgstr "列印已完成" @@ -480,50 +480,50 @@ msgctxt "@action" msgid "Connect via Network" msgstr "透過網路連接" -#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:12 +#: /home/ruben/Projects/Cura/plugins/MonitorStage/__init__.py:13 msgctxt "@item:inmenu" msgid "Monitor" msgstr "監控" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:68 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:119 +msgctxt "@info" +msgid "Could not access update information." +msgstr "無法存取更新資訊。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:17 #, python-brace-format msgctxt "@info Don't translate {machine_name}, since it gets replaced by a printer name!" msgid "New features are available for your {machine_name}! It is recommended to update the firmware on your printer." msgstr "你的 {machine_name} 有新功能可用!建議更新印表機韌體。" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:72 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:21 #, python-format msgctxt "@info:title The %s gets replaced with the printer name." msgid "New %s firmware available" msgstr "有新 %s 韌體可用" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:75 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerMessage.py:27 msgctxt "@action:button" msgid "How to update" msgstr "如何更新" -#: /home/ruben/Projects/Cura/plugins/FirmwareUpdateChecker/FirmwareUpdateCheckerJob.py:91 -msgctxt "@info" -msgid "Could not access update information." -msgstr "無法存取更新資訊。" - # Added manually to fix a string that was changed after string freeze. #: /home/ruben/Projects/Cura/plugins/SimulationView/__init__.py:14 msgctxt "@item:inlistbox" msgid "Layer view" msgstr "分層檢視" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:102 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" msgstr "當鐵絲網列印(Wire Printing)功能開啟時,Cura 將無法準確地顯示列印層(Layers)" -#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:103 +#: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" msgid "Simulation View" msgstr "模擬檢視" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:28 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.py:35 msgid "Modify G-Code" msgstr "修改 G-Code 檔案" @@ -537,32 +537,32 @@ msgctxt "@info:tooltip" msgid "Create a volume in which supports are not printed." msgstr "建立一塊不列印支撐的空間。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:43 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 msgctxt "@info" msgid "Cura collects anonymized usage statistics." msgstr "Cura 以匿名方式蒐集使用狀況統計資料。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:46 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:55 msgctxt "@info:title" msgid "Collecting Data" msgstr "收集資料中" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:48 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:57 msgctxt "@action:button" msgid "More info" msgstr "更多資訊" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:49 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." msgstr "檢視更多關於 Cura 傳送資料的資訊。" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:51 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" msgid "Allow" msgstr "允許" -#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:52 +#: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:61 msgctxt "@action:tooltip" msgid "Allow Cura to send anonymized usage statistics to help prioritize future improvements to Cura. Some of your preferences and settings are sent, the Cura version and a hash of the models you're slicing." msgstr "允許 Cura 以匿名方式傳送使用狀況統計資料,用來協助 Cura 的未來改善工作。你的部份偏好設定和參數,Cura 的版本及你切片模型的雜湊值會被傳送。" @@ -597,56 +597,56 @@ msgctxt "@item:inlistbox" msgid "GIF Image" msgstr "GIF 圖片" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 msgctxt "@info:status" msgid "Unable to slice with the current material as it is incompatible with the selected machine or configuration." msgstr "無法使用目前耗材切片,因為它與所選機器或設定不相容。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:333 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:364 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:388 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:397 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:406 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:415 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:332 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 msgctxt "@info:title" msgid "Unable to slice" msgstr "無法切片" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:363 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:362 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice with the current settings. The following settings have errors: {0}" msgstr "無法使用目前設定進行切片。以下設定存在錯誤:{0}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:387 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:386 #, python-brace-format msgctxt "@info:status" msgid "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}" msgstr "因部份模型設定問題無法進行切片。部份模型的下列設定有錯誤:{error_labels}" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:396 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:395 msgctxt "@info:status" msgid "Unable to slice because the prime tower or prime position(s) are invalid." msgstr "無法切片(原因:換料塔或主位置無效)。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:405 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:404 #, python-format msgctxt "@info:status" msgid "Unable to slice because there are objects associated with disabled Extruder %s." msgstr "有物件使用了被停用的擠出機 %s ,因此無法進行切片。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:414 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py:413 msgctxt "@info:status" msgid "Nothing to slice because none of the models fit the build volume. Please scale or rotate models to fit." msgstr "沒有模型可進行切片,因為模型超出了列印範圍。請縮放或旋轉模型, 讓模型可置入列印範圍。" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:49 -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:50 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:status" msgid "Processing Layers" msgstr "正在處理層" -#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:242 +#: /home/ruben/Projects/Cura/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py:255 msgctxt "@info:title" msgid "Information" msgstr "資訊" @@ -662,13 +662,13 @@ msgid "Configure Per Model Settings" msgstr "設定對每個模型的單獨設定" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:175 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:575 msgctxt "@title:tab" msgid "Recommended" msgstr "推薦" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.py:177 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:580 msgctxt "@title:tab" msgid "Custom" msgstr "自訂選項" @@ -680,7 +680,7 @@ msgid "3MF File" msgstr "3MF 檔案" #: /home/ruben/Projects/Cura/plugins/3MFReader/ThreeMFWorkspaceReader.py:190 -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:711 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:714 msgctxt "@label" msgid "Nozzle" msgstr "噴頭" @@ -706,18 +706,18 @@ msgctxt "@item:inlistbox" msgid "G File" msgstr "G 檔案" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:317 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:324 msgctxt "@info:status" msgid "Parsing G-code" msgstr "正在解析 G-code" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:319 -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:466 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:326 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:474 msgctxt "@info:title" msgid "G-code Details" msgstr "G-code 細項設定" -#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:464 +#: /home/ruben/Projects/Cura/plugins/GCodeReader/FlavorParser.py:472 msgctxt "@info:generic" msgid "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate." msgstr "發送檔案之前,請確保 G-code 適用於目前印表機和印表機設定。目前 G-code 檔案可能不準確。" @@ -728,16 +728,6 @@ msgctxt "@item:inlistbox" msgid "Cura Profile" msgstr "Cura 列印參數" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:12 -msgctxt "@item:inmenu" -msgid "Profile Assistant" -msgstr "參數助手" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/__init__.py:17 -msgctxt "@item:inlistbox" -msgid "Profile Assistant" -msgstr "參數助手" - #: /home/ruben/Projects/Cura/plugins/3MFWriter/__init__.py:26 msgctxt "@item:inlistbox" msgid "3MF file" @@ -759,11 +749,6 @@ msgctxt "@action" msgid "Select upgrades" msgstr "選擇升級" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.py:12 -msgctxt "@action" -msgid "Upgrade Firmware" -msgstr "升級韌體" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.py:14 msgctxt "@action" msgid "Checkup" @@ -774,79 +759,79 @@ msgctxt "@action" msgid "Level build plate" msgstr "調平列印平台" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:98 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:82 msgctxt "@tooltip" msgid "Outer Wall" msgstr "外壁" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:99 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:83 msgctxt "@tooltip" msgid "Inner Walls" msgstr "內壁" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:100 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:84 msgctxt "@tooltip" msgid "Skin" msgstr "表層" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:101 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:85 msgctxt "@tooltip" msgid "Infill" msgstr "填充" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:102 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:86 msgctxt "@tooltip" msgid "Support Infill" msgstr "支撐填充" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:103 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:87 msgctxt "@tooltip" msgid "Support Interface" msgstr "支撐介面" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:104 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:88 msgctxt "@tooltip" msgid "Support" msgstr "支撐" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:105 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:89 msgctxt "@tooltip" msgid "Skirt" msgstr "外圍" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:106 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:90 msgctxt "@tooltip" msgid "Travel" msgstr "移動" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:107 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:91 msgctxt "@tooltip" msgid "Retractions" msgstr "回抽" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:108 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:92 msgctxt "@tooltip" msgid "Other" msgstr "其它" -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:229 -msgctxt "@label unknown material" -msgid "Unknown" -msgstr "未知" - -#: /home/ruben/Projects/Cura/cura/PrintInformation.py:314 +#: /home/ruben/Projects/Cura/cura/PrintInformation.py:310 #, python-brace-format msgctxt "@label" msgid "Pre-sliced file {0}" msgstr "預切片檔案 {0}" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:186 +#: /home/ruben/Projects/Cura/cura/API/Account.py:71 +msgctxt "@info:title" +msgid "Login failed" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 msgctxt "@title:window" msgid "File Already Exists" msgstr "檔案已經存在" -#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:187 +#: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:202 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:122 #, python-brace-format msgctxt "@label Don't translate the XML tag !" @@ -858,23 +843,23 @@ msgctxt "@menuitem" msgid "Not overridden" msgstr "不覆寫" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:120 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:117 msgctxt "@info:status" msgid "The selected material is incompatible with the selected machine or configuration." msgstr "所選耗材與所選機器或設定不相容。" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:121 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:118 msgctxt "@info:title" msgid "Incompatible Material" msgstr "不相容的耗材" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:863 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:866 #, python-format msgctxt "@info:generic" msgid "Settings have been changed to match the current availability of extruders: [%s]" msgstr "設定已改為與目前擠出機性能相匹配:[%s]" -#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:865 +#: /home/ruben/Projects/Cura/cura/Settings/MachineManager.py:868 msgctxt "@info:title" msgid "Settings updated" msgstr "設定更新" @@ -903,8 +888,6 @@ msgid "Export succeeded" msgstr "匯出成功" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:170 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:313 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}: {1}" @@ -912,58 +895,70 @@ msgstr "無法從 {0} 匯入列印參數:{1} or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "檔案 {0} 內無自訂參數可匯入" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags !" +msgid "Failed to import profile from {0}:" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "此列印參數 {0} 含有錯誤的資料,無法導入。" +msgstr "" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format -msgctxt "@info:status Don't translate the XML tags or !" +msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "參數檔案 {0} ({1}) 中定義的機器與你目前的機器 ({2}) 不匹配,無法匯入。" +msgstr "" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:316 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 +#, python-brace-format +msgctxt "@info:status Don't translate the XML tags or !" +msgid "Failed to import profile from {0}:" +msgstr "" + +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format msgctxt "@info:status" msgid "Successfully imported profile {0}" msgstr "已成功匯入列印參數 {0}" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:319 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:318 #, python-brace-format msgctxt "@info:status" msgid "File {0} does not contain any valid profile." msgstr "檔案 {0} 內未含有效的列印參數。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:322 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:321 #, python-brace-format msgctxt "@info:status" msgid "Profile {0} has an unknown file type or is corrupted." msgstr "列印參數 {0} 檔案類型未知或已損壞。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:340 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:339 msgctxt "@label" msgid "Custom profile" msgstr "自訂列印參數" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:356 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:355 msgctxt "@info:status" msgid "Profile is missing a quality type." msgstr "列印參數缺少列印品質類型定義。" -#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:370 +#: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:369 #, python-brace-format msgctxt "@info:status" msgid "Could not find a quality type {0} for the current configuration." msgstr "無法為目前設定找到品質類型 {0}。" -#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:59 +#: /home/ruben/Projects/Cura/cura/ObjectsModel.py:63 #, python-brace-format msgctxt "@label" msgid "Group #{group_nr}" @@ -990,12 +985,12 @@ msgctxt "@item:inlistbox" msgid "All Files (*)" msgstr "所有檔案 (*)" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:609 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:636 msgctxt "@label" msgid "Custom Material" msgstr "自訂耗材" -#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:610 +#: /home/ruben/Projects/Cura/cura/Machines/MaterialManager.py:637 msgctxt "@label" msgid "Custom" msgstr "自訂" @@ -1010,22 +1005,22 @@ msgctxt "@info:title" msgid "Build Volume" msgstr "列印範圍" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:97 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:98 msgctxt "@info:backup_failed" msgid "Could not create archive from user data directory: {}" msgstr "無法從使用者資料目錄建立備份檔:{}" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:102 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:103 msgctxt "@info:title" msgid "Backup" msgstr "備份" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:112 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:113 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup without having proper data or meta data." msgstr "嘗試復原沒有正確資料或 meta data 的 Cura 備份。" -#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:122 +#: /home/ruben/Projects/Cura/cura/Backups/Backup.py:123 msgctxt "@info:backup_failed" msgid "Tried to restore a Cura backup that does not match your current version." msgstr "嘗試復原版本不符的 Cura 備份。" @@ -1200,40 +1195,40 @@ msgctxt "@action:button" msgid "Send report" msgstr "送出報告" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:454 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:473 msgctxt "@info:progress" msgid "Loading machines..." msgstr "正在載入印表機..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:748 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:775 msgctxt "@info:progress" msgid "Setting up scene..." msgstr "正在設定場景..." -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:784 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:811 msgctxt "@info:progress" msgid "Loading interface..." msgstr "正在載入介面…" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:997 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1037 #, python-format msgctxt "@info 'width', 'depth' and 'height' are variable names that must NOT be translated; just translate the format of ##x##x## mm." msgid "%(width).1f x %(depth).1f x %(height).1f mm" msgstr "%(width).1f x %(depth).1f x %(height).1f mm" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1556 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1596 #, python-brace-format msgctxt "@info:status" msgid "Only one G-code file can be loaded at a time. Skipped importing {0}" msgstr "一次只能載入一個 G-code 檔案。{0} 已跳過匯入" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1566 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1606 #, python-brace-format msgctxt "@info:status" msgid "Can't open any other file if G-code is loading. Skipped importing {0}" msgstr "如果載入 G-code,則無法開啟其他任何檔案。{0} 已跳過匯入" -#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1650 +#: /home/ruben/Projects/Cura/cura/CuraApplication.py:1694 msgctxt "@info:status" msgid "The selected model was too small to load." msgstr "選擇的模型太小無法載入。" @@ -1264,9 +1259,9 @@ msgstr "X (寬度)" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:237 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:386 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:402 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:420 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:432 -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:857 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:428 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:440 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:896 msgctxt "@label" msgid "mm" msgstr "mm" @@ -1401,22 +1396,32 @@ msgctxt "@tooltip" msgid "The nominal diameter of filament supported by the printer. The exact diameter will be overridden by the material and/or the profile." msgstr "印表機所支援的耗材直徑。實際列印的耗材直徑由耗材和/或列印參數提供。" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:419 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:427 msgctxt "@label" msgid "Nozzle offset X" msgstr "噴頭偏移 X" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:431 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:439 msgctxt "@label" msgid "Nozzle offset Y" msgstr "噴頭偏移 Y" +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 +msgctxt "@label" +msgid "Cooling Fan Number" +msgstr "" + #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" +msgid "" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:472 +msgctxt "@label" msgid "Extruder Start G-code" msgstr "擠出機起始 G-code" -#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:470 +#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:490 msgctxt "@label" msgid "Extruder End G-code" msgstr "擠出機結束 G-code" @@ -1437,41 +1442,42 @@ msgid "Could not connect to the Cura Package database. Please check your connect msgstr "無法連上 Cura 軟體包資料庫。請檢查你的網路連線。" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:38 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:26 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:28 msgctxt "@title:tab" msgid "Plugins" msgstr "外掛" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledPage.qml:75 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:42 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:66 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:551 msgctxt "@title:tab" msgid "Materials" msgstr "耗材" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:80 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:79 msgctxt "@label" msgid "Version" msgstr "版本" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:86 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:85 msgctxt "@label" msgid "Last updated" msgstr "最後更新時間" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:92 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:91 msgctxt "@label" msgid "Author" msgstr "作者" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:98 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:97 msgctxt "@label" msgid "Downloads" msgstr "下載" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:117 -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:159 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:255 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:116 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml:158 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:258 msgctxt "@label" msgid "Unknown" msgstr "未知" @@ -1506,8 +1512,8 @@ msgstr "返回" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" -msgid "Confirm uninstall " -msgstr "移除確認 " +msgid "Confirm uninstall" +msgstr "" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1554,7 +1560,7 @@ msgctxt "@label" msgid "Generic Materials" msgstr "通用耗材" -#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:54 +#: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxHeader.qml:56 msgctxt "@title:tab" msgid "Installed" msgstr "已安裝" @@ -1636,48 +1642,88 @@ msgid "Changelog" msgstr "更新日誌" #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.qml:37 -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:84 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:56 -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:464 -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:508 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:185 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:53 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:467 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:514 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:121 -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:166 #: /home/ruben/Projects/Cura/resources/qml/EngineLog.qml:38 msgctxt "@action:button" msgid "Close" msgstr "關閉" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:22 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 +msgctxt "@title" +msgid "Update Firmware" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 +msgctxt "@label" +msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." +msgstr "韌體是直接在 3D 印表機上運行的一個軟體。此韌體控制步進馬達,調節溫度讓印表機正常運作。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:46 +msgctxt "@label" +msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." +msgstr "新印表機出廠配備的韌體完全可以正常使用,但新版本往往具有更多的新功能和改進。" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:58 +msgctxt "@action:button" +msgid "Automatically upgrade Firmware" +msgstr "自動升級韌體" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:69 +msgctxt "@action:button" +msgid "Upload custom Firmware" +msgstr "上傳自訂韌體" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 +msgctxt "@label" +msgid "Firmware can not be updated because there is no connection with the printer." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 +msgctxt "@label" +msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 +msgctxt "@title:window" +msgid "Select custom firmware" +msgstr "選擇自訂韌體" + +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:119 msgctxt "@title:window" msgid "Firmware Update" msgstr "韌體更新" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:42 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:143 msgctxt "@label" msgid "Updating firmware." msgstr "更新韌體中..." -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:44 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:145 msgctxt "@label" msgid "Firmware update completed." msgstr "韌體更新已完成。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:46 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:147 msgctxt "@label" msgid "Firmware update failed due to an unknown error." msgstr "由於未知錯誤,韌體更新失敗。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:48 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:149 msgctxt "@label" msgid "Firmware update failed due to an communication error." msgstr "由於通訊錯誤,導致韌體更新失敗。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:50 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:151 msgctxt "@label" msgid "Firmware update failed due to an input/output error." msgstr "由於輸入/輸出錯誤,導致韌體更新失敗。" -#: /home/ruben/Projects/Cura/plugins/USBPrinting/FirmwareUpdateWindow.qml:52 +#: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:153 msgctxt "@label" msgid "Firmware update failed due to missing firmware." msgstr "由於韌體遺失,導致韌體更新失敗。" @@ -1687,22 +1733,22 @@ msgctxt "@title:window" msgid "User Agreement" msgstr "使用者授權" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:43 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:46 msgctxt "@window:title" msgid "Existing Connection" msgstr "目前連線中" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:45 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:48 msgctxt "@message:text" msgid "This printer/group is already added to Cura. Please select another printer/group." msgstr "此印表機/群組已加入 Cura。請選擇另一個印表機/群組。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:62 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:65 msgctxt "@title:window" msgid "Connect to Networked Printer" msgstr "連接到網路印表機" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:72 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:75 msgctxt "@label" msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" @@ -1713,18 +1759,18 @@ msgstr "" "\n" "從以下列表中選擇你的印表機:" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:82 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 msgctxt "@action:button" msgid "Add" msgstr "增加" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:92 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:95 msgctxt "@action:button" msgid "Edit" msgstr "編輯" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:103 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:106 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:128 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:48 #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:117 @@ -1732,244 +1778,300 @@ msgctxt "@action:button" msgid "Remove" msgstr "移除" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:111 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:114 msgctxt "@action:button" msgid "Refresh" msgstr "刷新" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:204 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:207 msgctxt "@label" msgid "If your printer is not listed, read the network printing troubleshooting guide" msgstr "如果你的印表機未被列出,請閱讀網路列印故障排除指南" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:231 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:234 msgctxt "@label" msgid "Type" msgstr "類型" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:268 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:271 msgctxt "@label" msgid "Firmware version" msgstr "韌體版本" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:280 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:283 msgctxt "@label" msgid "Address" msgstr "位址" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:302 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:305 msgctxt "@label" msgid "This printer is not set up to host a group of printers." msgstr "此印表機未被設定為管理印表機群組。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:306 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:309 msgctxt "@label" msgid "This printer is the host for a group of %1 printers." msgstr "此印表機為 %1 印表機群組的管理者。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:316 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:319 msgctxt "@label" msgid "The printer at this address has not yet responded." msgstr "該網路位址的印表機尚無回應。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:321 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:39 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:324 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:42 msgctxt "@action:button" msgid "Connect" msgstr "連接" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:335 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:338 msgctxt "@title:window" msgid "Printer Address" msgstr "印表機網路位址" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:358 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:361 msgctxt "@alabel" msgid "Enter the IP address or hostname of your printer on the network." msgstr "輸入印表機在網路上的 IP 位址或主機名。" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:387 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:390 #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:132 #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:181 msgctxt "@action:button" msgid "OK" msgstr "確定" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:34 -msgctxt "@title:window" -msgid "Print over network" -msgstr "網路連線列印" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:65 -msgctxt "@label" -msgid "Printer selection" -msgstr "印表機選擇" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:105 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:44 msgctxt "@action:button" msgid "Print" msgstr "列印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:142 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:47 +msgctxt "@title:window" +msgid "Print over network" +msgstr "網路連線列印" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintWindow.qml:79 msgctxt "@label" -msgid "Waiting for: Unavailable printer" -msgstr "等待:印表機無法使用" +msgid "Printer selection" +msgstr "印表機選擇" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:144 -msgctxt "@label" -msgid "Waiting for: First available" -msgstr "等待:第一可用" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:148 -msgctxt "@label" -msgid "Waiting for: " -msgstr "等待:" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 -msgctxt "@label" -msgid "Move to top" -msgstr "移至頂端" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:234 -msgctxt "@window:title" -msgid "Move print job to top" -msgstr "將列印作業移至最頂端" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:236 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to move %1 to the top of the queue?" -msgstr "你確定要將 %1 移至隊列的頂端嗎?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:245 -msgctxt "@label" -msgid "Delete" -msgstr "刪除" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:264 -msgctxt "@window:title" -msgid "Delete print job" -msgstr "刪除列印作業" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:266 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to delete %1?" -msgstr "你確定要刪除 %1 嗎?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:32 -msgctxt "@label link to connect manager" -msgid "Manage queue" -msgstr "管理隊列" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:54 -msgctxt "@label" -msgid "Queued" -msgstr "已排入隊列" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:44 -msgctxt "@label" -msgid "Printing" -msgstr "列印中" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:54 -msgctxt "@label link to connect manager" -msgid "Manage printers" -msgstr "管理印表機" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:212 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:173 msgctxt "@label" msgid "Not available" msgstr "無法使用" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:215 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:175 msgctxt "@label" msgid "Unreachable" msgstr "無法連接" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:221 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml:180 msgctxt "@label" msgid "Available" msgstr "可用" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:37 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:44 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:46 +msgctxt "@label:status" +msgid "Aborted" +msgstr "已中斷" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:39 +msgctxt "@label:status" +msgid "Finished" +msgstr "已完成" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:42 +msgctxt "@label:status" +msgid "Preparing" +msgstr "正在準備" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:48 +msgctxt "@label:status" +msgid "Pausing" +msgstr "暫停中" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:52 +msgctxt "@label:status" +msgid "Resuming" +msgstr "繼續" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrinterCardProgressBar.qml:54 +msgctxt "@label:status" +msgid "Action required" +msgstr "需要採取的動作" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:213 +msgctxt "@label" +msgid "Waiting for: Unavailable printer" +msgstr "等待:印表機無法使用" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:215 +msgctxt "@label" +msgid "Waiting for: First available" +msgstr "等待:第一可用" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 +msgctxt "@label" +msgid "Waiting for: " +msgstr "等待:" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 +msgctxt "@label" +msgid "Configuration change" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 +msgctxt "@label" +msgid "The assigned printer, %1, requires the following configuration change(s):" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 +msgctxt "@label" +msgid "The printer %1 is assigned, but the job contains an unknown material configuration." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 +msgctxt "@label" +msgid "Change material %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 +msgctxt "@label" +msgid "Load %3 as material %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 +msgctxt "@label" +msgid "Change print core %1 from %2 to %3." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 +msgctxt "@label" +msgid "Change build plate to %1 (This cannot be overridden)." +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 +msgctxt "@label" +msgid "Override" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 +msgctxt "@label" +msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 +msgctxt "@window:title" +msgid "Override configuration configuration and start print" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 +msgctxt "@label" +msgid "Glass" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 +msgctxt "@label" +msgid "Aluminum" +msgstr "" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 +msgctxt "@label link to connect manager" +msgid "Manage queue" +msgstr "管理隊列" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:60 +msgctxt "@label" +msgid "Queued" +msgstr "已排入隊列" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:36 +msgctxt "@label" +msgid "Printing" +msgstr "列印中" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:49 +msgctxt "@label link to connect manager" +msgid "Manage printers" +msgstr "管理印表機" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 +msgctxt "@label" +msgid "Move to top" +msgstr "移至頂端" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 +msgctxt "@label" +msgid "Delete" +msgstr "刪除" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:289 msgctxt "@label" msgid "Resume" msgstr "繼續" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:416 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:137 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:284 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:293 msgctxt "@label" msgid "Pause" msgstr "暫停" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:444 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:146 msgctxt "@label" msgid "Abort" msgstr "中斷" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:464 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:178 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to move %1 to the top of the queue?" +msgstr "你確定要將 %1 移至隊列的頂端嗎?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:179 +msgctxt "@window:title" +msgid "Move print job to top" +msgstr "將列印作業移至最頂端" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:188 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to delete %1?" +msgstr "你確定要刪除 %1 嗎?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:189 +msgctxt "@window:title" +msgid "Delete print job" +msgstr "刪除列印作業" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:198 +msgctxt "@label %1 is the name of a print job." +msgid "Are you sure you want to abort %1?" +msgstr "你確定要中斷 %1 嗎?" + +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:199 #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:335 msgctxt "@window:title" msgid "Abort print" msgstr "中斷列印" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:466 -msgctxt "@label %1 is the name of a print job." -msgid "Are you sure you want to abort %1?" -msgstr "你確定要中斷 %1 嗎?" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:665 -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:673 -msgctxt "@label:status" -msgid "Aborted" -msgstr "已中斷" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:667 -msgctxt "@label:status" -msgid "Finished" -msgstr "已完成" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:670 -msgctxt "@label:status" -msgid "Preparing" -msgstr "正在準備" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:675 -msgctxt "@label:status" -msgid "Pausing" -msgstr "暫停中" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:677 -msgctxt "@label:status" -msgid "Paused" -msgstr "已暫停" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:679 -msgctxt "@label:status" -msgid "Resuming" -msgstr "繼續" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterControlItem.qml:681 -msgctxt "@label:status" -msgid "Action required" -msgstr "需要採取的動作" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:38 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" msgstr "連接到印表機" -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:117 -msgctxt "@info:tooltip" -msgid "Load the configuration of the printer into Cura" -msgstr "將印表機設定載入 Cura" - -#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:118 +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" msgid "Activate Configuration" msgstr "啟用設定" +#: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:122 +msgctxt "@info:tooltip" +msgid "Load the configuration of the printer into Cura" +msgstr "將印表機設定載入 Cura" + #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.qml:130 msgctxt "@label" msgid "Color scheme" @@ -2060,17 +2162,17 @@ msgctxt "@label" msgid "Post Processing Scripts" msgstr "後處理腳本" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:225 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:227 msgctxt "@action" msgid "Add a script" msgstr "添加一個腳本" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:271 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:273 msgctxt "@label" msgid "Settings" msgstr "設定" -#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:474 +#: /home/ruben/Projects/Cura/plugins/PostProcessingPlugin/PostProcessingPlugin.qml:477 msgctxt "@info:tooltip" msgid "Change active post-processing scripts" msgstr "更改目前啟用的後處理腳本" @@ -2195,23 +2297,23 @@ msgctxt "@label" msgid "Modify settings for infill of other models" msgstr "修改其他模型的填充設定" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:341 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:347 msgctxt "@action:button" msgid "Select settings" msgstr "選擇設定" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:383 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:389 msgctxt "@title:window" msgid "Select Settings to Customize for this model" msgstr "選擇對此模型的自訂設定" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:431 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:437 #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:98 msgctxt "@label:textbox" msgid "Filter..." msgstr "篩選…" -#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:445 +#: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml:451 msgctxt "@label:checkbox" msgid "Show all" msgstr "顯示全部" @@ -2262,6 +2364,7 @@ msgid "Type" msgstr "類型" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:159 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 msgctxt "@action:label" msgid "Printer Group" msgstr "印表機群組" @@ -2279,6 +2382,7 @@ msgstr "如何解决列印參數中的設定衝突?" #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:216 #: /home/ruben/Projects/Cura/plugins/3MFReader/WorkspaceDialog.qml:308 +#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:220 msgctxt "@action:label" msgid "Name" @@ -2351,82 +2455,6 @@ msgctxt "@action:button" msgid "Open" msgstr "開啟" -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:34 -msgctxt "@action:button" -msgid "Previous" -msgstr "前一個" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:138 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 -msgctxt "@action:button" -msgid "Export" -msgstr "匯出" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorTabControls.qml:140 -msgctxt "@action:button" -msgid "Next" -msgstr "下一個" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageCategoryView.qml:163 -msgctxt "@label" -msgid "Tip" -msgstr "提示" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:80 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:341 -msgctxt "@label Hours and minutes" -msgid "00h 00min" -msgstr "00 小時 00 分" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:142 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:441 -msgctxt "@label" -msgid "Cost specification" -msgstr "成本明細" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:147 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:156 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 -msgctxt "@label m for meter" -msgid "%1m" -msgstr "%1m" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:148 -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:447 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:456 -msgctxt "@label g for grams" -msgid "%1g" -msgstr "%1g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:155 -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 -msgctxt "@label" -msgid "Total:" -msgstr "總共:" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:205 -msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" -msgid "%1m / ~ %2g / ~ %4 %3" -msgstr "%1m / ~ %2g / ~ %4 %3" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/CuraPrintProfileCreatorView.qml:210 -msgctxt "@label Print estimates: m for meters, g for grams" -msgid "%1m / ~ %2g" -msgstr "%1m / ~ %2g" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPage.qml:143 -msgctxt "@label" -msgid "Print experiment" -msgstr "列印實驗" - -#: /home/ruben/Projects/Cura/plugins/CuraPrintProfileCreator/components/ProfileCreatorPageValidation.qml:26 -msgctxt "@label" -msgid "Checklist" -msgstr "檢查清單" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:26 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:25 msgctxt "@title" @@ -2468,36 +2496,6 @@ msgctxt "@action:button" msgid "Move to Next Position" msgstr "移動到下一個位置" -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:30 -msgctxt "@title" -msgid "Upgrade Firmware" -msgstr "升級韌體" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:41 -msgctxt "@label" -msgid "Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work." -msgstr "韌體是直接在 3D 印表機上運行的一個軟體。此韌體控制步進馬達,調節溫度讓印表機正常運作。" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:51 -msgctxt "@label" -msgid "The firmware shipping with new printers works, but new versions tend to have more features and improvements." -msgstr "新印表機出廠配備的韌體完全可以正常使用,但新版本往往具有更多的新功能和改進。" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:65 -msgctxt "@action:button" -msgid "Automatically upgrade Firmware" -msgstr "自動升級韌體" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:75 -msgctxt "@action:button" -msgid "Upload custom Firmware" -msgstr "上傳自訂韌體" - -#: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UpgradeFirmwareMachineAction.qml:87 -msgctxt "@title:window" -msgid "Select custom firmware" -msgstr "選擇自訂韌體" - #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOUpgradeSelectionMachineAction.qml:37 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker Original" @@ -2685,7 +2683,7 @@ msgid "Customized" msgstr "自訂" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:157 -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:637 msgctxt "@option:discardOrKeep" msgid "Always ask me this" msgstr "總是詢問" @@ -2833,6 +2831,12 @@ msgctxt "@action:button" msgid "Import" msgstr "匯入" +#: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:152 +msgctxt "@action:button" +msgid "Export" +msgstr "匯出" + #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:203 msgctxt "@action:label" msgid "Printer" @@ -2918,283 +2922,283 @@ msgid "Unit" msgstr "單位" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:15 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:544 msgctxt "@title:tab" msgid "General" msgstr "基本" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:142 msgctxt "@label" msgid "Interface" msgstr "介面" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:152 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:153 msgctxt "@label" msgid "Language:" msgstr "語言:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:220 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:221 msgctxt "@label" msgid "Currency:" msgstr "貨幣:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:234 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:235 msgctxt "@label" msgid "Theme:" msgstr "主題:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:292 msgctxt "@label" msgid "You will need to restart the application for these changes to have effect." msgstr "需重新啟動 Cura,新的設定才能生效。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:311 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:309 msgctxt "@info:tooltip" msgid "Slice automatically when changing settings." msgstr "當設定變更時自動進行切片。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:319 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:317 msgctxt "@option:check" msgid "Slice automatically" msgstr "自動切片" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:333 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:331 msgctxt "@label" msgid "Viewport behavior" msgstr "顯示區設定" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:339 msgctxt "@info:tooltip" msgid "Highlight unsupported areas of the model in red. Without support these areas will not print properly." msgstr "以紅色凸顯模型缺少支撐的區域。如果沒有支撐這些區域將無法正常列印。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:348 msgctxt "@option:check" msgid "Display overhang" msgstr "顯示突出部分" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" msgstr "當模型被選中時,視角將自動調整到最合適的觀察位置(模型處於正中央)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:362 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" msgid "Center camera when item is selected" msgstr "當專案被選中時,自動置中視角" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:371 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:369 msgctxt "@info:tooltip" msgid "Should the default zoom behavior of cura be inverted?" msgstr "需要讓 Cura 的預設縮放操作反轉嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:376 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:374 msgctxt "@action:button" msgid "Invert the direction of camera zoom." msgstr "反轉視角縮放方向。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:384 msgctxt "@info:tooltip" msgid "Should zooming move in the direction of the mouse?" msgstr "是否跟隨滑鼠方向進行縮放?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:391 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:389 msgctxt "@action:button" msgid "Zoom toward mouse direction" msgstr "跟隨滑鼠方向縮放" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:399 msgctxt "@info:tooltip" msgid "Should models on the platform be moved so that they no longer intersect?" msgstr "需要移動平台上的模型,使它們不再交錯嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:406 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:404 msgctxt "@option:check" msgid "Ensure models are kept apart" msgstr "確保每個模型都保持分離" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:415 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:413 msgctxt "@info:tooltip" msgid "Should models on the platform be moved down to touch the build plate?" msgstr "要將模型下降到碰觸列印平台嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:420 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" msgstr "自動下降模型到列印平台" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:432 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" msgid "Show caution message in g-code reader." msgstr "在 g-code 讀取器中顯示警告訊息。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:441 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:439 msgctxt "@option:check" msgid "Caution message in g-code reader" msgstr "G-code 讀取器中的警告訊息" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:449 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:447 msgctxt "@info:tooltip" msgid "Should layer be forced into compatibility mode?" msgstr "分層檢視要強制進入相容模式嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:454 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:452 msgctxt "@option:check" msgid "Force layer view compatibility mode (restart required)" msgstr "強制分層檢視相容模式(需要重新啟動)" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:470 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:468 msgctxt "@label" msgid "Opening and saving files" msgstr "開啟並儲存檔案" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:477 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:475 msgctxt "@info:tooltip" msgid "Should models be scaled to the build volume if they are too large?" msgstr "當模型的尺寸過大時,是否將模型自動縮小至列印範圍嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:482 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:480 msgctxt "@option:check" msgid "Scale large models" msgstr "縮小過大模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:492 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:490 msgctxt "@info:tooltip" msgid "An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?" msgstr "部份模型採用較大的單位(例如:公尺),導致模型變得非常小,要將這些模型放大嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:497 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:495 msgctxt "@option:check" msgid "Scale extremely small models" msgstr "放大過小模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:507 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:505 msgctxt "@info:tooltip" msgid "Should models be selected after they are loaded?" msgstr "模型載入後要設為被選擇的狀態嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:512 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:510 msgctxt "@option:check" msgid "Select models when loaded" msgstr "模型載入後選擇模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:522 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:520 msgctxt "@info:tooltip" msgid "Should a prefix based on the printer name be added to the print job name automatically?" msgstr "是否自動將印表機名稱作為列印作業名稱的前綴?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:527 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:525 msgctxt "@option:check" msgid "Add machine prefix to job name" msgstr "將印表機名稱前綴添加到列印作業名稱中" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:537 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:535 msgctxt "@info:tooltip" msgid "Should a summary be shown when saving a project file?" msgstr "儲存專案檔案時是否顯示摘要?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:541 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:539 msgctxt "@option:check" msgid "Show summary dialog when saving project" msgstr "儲存專案時顯示摘要對話框" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:551 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:549 msgctxt "@info:tooltip" msgid "Default behavior when opening a project file" msgstr "開啟專案檔案時的預設行為" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:559 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " msgstr "開啟專案檔案時的預設行為:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" msgid "Always ask me this" msgstr "每次都向我確認" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:574 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:572 msgctxt "@option:openProject" msgid "Always open as a project" msgstr "總是作為一個專案開啟" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:575 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:573 msgctxt "@option:openProject" msgid "Always import models" msgstr "總是匯入模型" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:611 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:609 msgctxt "@info:tooltip" msgid "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again." msgstr "當你對列印參數進行更改然後切換到其他列印參數時,將顯示一個對話框詢問你是否要保留修改。你也可以選擇預設不顯示該對話框。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:620 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:618 msgctxt "@label" msgid "Profiles" msgstr "列印參數" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:625 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " msgstr "當切換到另一組列印參數時,對於被修改過的設定的預設行為:" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:640 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" msgid "Always discard changed settings" msgstr "總是放棄修改過的設定" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:641 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:639 msgctxt "@option:discardOrKeep" msgid "Always transfer changed settings to new profile" msgstr "總是將修改過的設定轉移至新的列印參數" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:675 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:673 msgctxt "@label" msgid "Privacy" msgstr "隱私權" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:683 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:681 msgctxt "@info:tooltip" msgid "Should Cura check for updates when the program is started?" msgstr "當 Cura 啟動時,是否自動檢查更新?" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:688 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:686 msgctxt "@option:check" msgid "Check for updates on start" msgstr "啟動時檢查更新" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:699 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:697 msgctxt "@info:tooltip" msgid "Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored." msgstr "你願意將關於你的列印資料以匿名形式發送到 Ultimaker 嗎?注意:我們不會記錄或發送任何模型、IP 地址或其他私人資料。" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:704 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" msgstr "(匿名)發送列印資訊" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:713 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" msgid "More information" msgstr "更多資訊" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:731 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:729 msgctxt "@label" msgid "Experimental" msgstr "實驗功能" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:738 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:736 msgctxt "@info:tooltip" msgid "Use multi build plate functionality" msgstr "使用多列印平台功能" -#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:743 +#: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:741 msgctxt "@option:check" msgid "Use multi build plate functionality (restart required)" msgstr "使用多列印平台功能(需重啟軟體)" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:16 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:542 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:549 msgctxt "@title:tab" msgid "Printers" msgstr "印表機" @@ -3216,7 +3220,7 @@ msgid "Connection:" msgstr "連線:" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:162 -#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:47 +#: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/OutputDeviceHeader.qml:55 msgctxt "@info:status" msgid "The printer is not connected." msgstr "尚未連線到印表機。" @@ -3242,7 +3246,7 @@ msgid "Aborting print..." msgstr "中斷列印..." #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:36 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:546 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:553 msgctxt "@title:tab" msgid "Profiles" msgstr "列印參數" @@ -3323,17 +3327,17 @@ msgid "Global Settings" msgstr "全局設定" #: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:18 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:946 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:953 msgctxt "@title:window" msgid "Add Printer" msgstr "新增印表機" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:194 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:195 msgctxt "@label" msgid "Printer Name:" msgstr "印表機名稱:" -#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/AddMachineDialog.qml:219 msgctxt "@action:button" msgid "Add Printer" msgstr "新增印表機" @@ -3348,17 +3352,17 @@ msgctxt "@title:window" msgid "About Cura" msgstr "關於 Cura" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:55 msgctxt "@label" msgid "version: %1" msgstr "版本:%1" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:56 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 msgctxt "@label" msgid "End-to-end solution for fused filament 3D printing." msgstr "熔絲 3D 列印技術的的端對端解決方案。" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:69 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:82 msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" @@ -3367,102 +3371,122 @@ msgstr "" "Cura 由 Ultimaker B.V. 與社區合作開發。\n" "Cura 使用以下開源專案:" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:118 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" msgid "Graphical user interface" msgstr "圖形用戶介面" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:119 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 msgctxt "@label" msgid "Application framework" msgstr "應用框架" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 msgctxt "@label" msgid "G-code generator" msgstr "G-code 產生器" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:121 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 msgctxt "@label" msgid "Interprocess communication library" msgstr "進程間通訊交互使用庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:123 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 msgctxt "@label" msgid "Programming language" msgstr "編程語言" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:124 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 msgctxt "@label" msgid "GUI framework" msgstr "GUI 框架" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:125 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 msgctxt "@label" msgid "GUI framework bindings" msgstr "GUI 框架綁定" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:126 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:140 msgctxt "@label" msgid "C/C++ Binding library" msgstr "C / C++ 綁定庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:141 msgctxt "@label" msgid "Data interchange format" msgstr "資料交換格式" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:128 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:142 msgctxt "@label" msgid "Support library for scientific computing" msgstr "科學計算函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:129 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:143 msgctxt "@label" msgid "Support library for faster math" msgstr "高速運算函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:130 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:144 msgctxt "@label" msgid "Support library for handling STL files" msgstr "用於處理 STL 檔案的函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:131 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 +msgctxt "@label" +msgid "Support library for handling planar objects" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 +msgctxt "@label" +msgid "Support library for handling triangular meshes" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 +msgctxt "@label" +msgid "Support library for analysis of complex networks" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" msgid "Support library for handling 3MF files" msgstr "用於處理 3MF 檔案的函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 +msgctxt "@label" +msgid "Support library for file metadata and streaming" +msgstr "" + +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" msgid "Serial communication library" msgstr "串口通訊函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:133 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:151 msgctxt "@label" msgid "ZeroConf discovery library" msgstr "ZeroConf 發現函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:152 msgctxt "@label" msgid "Polygon clipping library" msgstr "多邊形剪輯函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:135 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:153 msgctxt "@Label" msgid "Python HTTP library" msgstr "Python HTTP 函式庫" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:137 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:155 msgctxt "@label" msgid "Font" msgstr "字體" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:138 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:156 msgctxt "@label" msgid "SVG icons" msgstr "SVG 圖標" -#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:139 +#: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:157 msgctxt "@label" msgid "Linux cross-distribution application deployment" msgstr "Linux cross-distribution 應用程式部署" @@ -3472,7 +3496,7 @@ msgctxt "@label" msgid "Profile:" msgstr "列印參數:" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:103 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:104 msgctxt "@tooltip" msgid "" "Some setting/override values are different from the values stored in the profile.\n" @@ -3483,53 +3507,53 @@ msgstr "" "\n" "點擊開啟列印參數管理器。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:199 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" msgid "Search..." msgstr "搜尋..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:544 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:545 msgctxt "@action:menu" msgid "Copy value to all extruders" msgstr "將設定值複製到所有擠出機" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:553 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:554 msgctxt "@action:menu" msgid "Copy all changed values to all extruders" msgstr "複製所有改變的設定值到所有擠出機" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:590 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:591 msgctxt "@action:menu" msgid "Hide this setting" msgstr "隱藏此設定" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:608 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:609 msgctxt "@action:menu" msgid "Don't show this setting" msgstr "不再顯示此設定" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:612 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:613 msgctxt "@action:menu" msgid "Keep this setting visible" msgstr "保持此設定顯示" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:636 -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:416 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:637 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." msgstr "參數顯示設定..." -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:643 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" msgid "Collapse All" msgstr "全部折疊" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:648 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:649 msgctxt "@action:inmenu" msgid "Expand All" msgstr "全部展開" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:249 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingCategory.qml:253 msgctxt "@label" msgid "" "Some hidden settings use values different from their normal calculated value.\n" @@ -3550,17 +3574,17 @@ msgctxt "@label Header for list of settings." msgid "Affected By" msgstr "影響因素" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:154 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." msgstr "這個設定是所有擠出機共用的。修改它會同時更動到所有擠出機的值。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:157 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " msgstr "這個數值是由每個擠出機的設定值解析出來的 " -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:188 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" msgid "" "This setting has a value that is different from the profile.\n" @@ -3571,7 +3595,7 @@ msgstr "" "\n" "單擊以復原列印參數的值。" -#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:286 +#: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" @@ -3726,12 +3750,12 @@ msgctxt "@title:menu menubar:toplevel" msgid "&View" msgstr "檢視(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:39 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:42 msgctxt "@action:inmenu menubar:view" msgid "&Camera position" msgstr "視角位置(&C)" -#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/ViewMenu.qml:58 msgctxt "@action:inmenu menubar:view" msgid "&Build plate" msgstr "列印平台(&B)" @@ -3741,12 +3765,12 @@ msgctxt "@action:inmenu" msgid "Visible Settings" msgstr "顯示設定" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:43 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" msgid "Show All Settings" msgstr "顯示所有設定" -#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:54 +#: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." msgstr "管理參數顯示..." @@ -3807,17 +3831,44 @@ msgstr "" "列印設定已關閉\n" "G-code 檔案無法被修改" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:359 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 +msgctxt "@label Hours and minutes" +msgid "00h 00min" +msgstr "00 小時 00 分" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:358 msgctxt "@tooltip" msgid "Time specification" msgstr "時間規格" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:577 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:440 +msgctxt "@label" +msgid "Cost specification" +msgstr "成本明細" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:445 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:454 +msgctxt "@label m for meter" +msgid "%1m" +msgstr "%1m" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:446 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:455 +msgctxt "@label g for grams" +msgid "%1g" +msgstr "%1g" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:453 +msgctxt "@label" +msgid "Total:" +msgstr "總共:" + +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:576 msgctxt "@tooltip" msgid "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality." msgstr "推薦的列印設定

使用針對所選印表機、耗材和品質的推薦設定進行列印。" -#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:582 +#: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:581 msgctxt "@tooltip" msgid "Custom Print Setup

Print with finegrained control over every last bit of the slicing process." msgstr "自訂列印設定
對切片過程中的每一個細節進行精細控制。" @@ -3842,220 +3893,220 @@ msgctxt "@label" msgid "Estimated time left" msgstr "預計剩餘時間" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:78 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:79 msgctxt "@action:inmenu" msgid "Toggle Full Screen" msgstr "切換全螢幕" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:85 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:86 msgctxt "@action:inmenu menubar:edit" msgid "&Undo" msgstr "復原(&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:95 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:96 msgctxt "@action:inmenu menubar:edit" msgid "&Redo" msgstr "取消復原(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:105 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:106 msgctxt "@action:inmenu menubar:file" msgid "&Quit" msgstr "退出(&Q)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:113 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:114 msgctxt "@action:inmenu menubar:view" msgid "3D View" msgstr "立體圖" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:121 msgctxt "@action:inmenu menubar:view" msgid "Front View" msgstr "前視圖" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:127 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:128 msgctxt "@action:inmenu menubar:view" msgid "Top View" msgstr "上視圖" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:134 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:135 msgctxt "@action:inmenu menubar:view" msgid "Left Side View" msgstr "左視圖" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:142 msgctxt "@action:inmenu menubar:view" msgid "Right Side View" msgstr "右視圖" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:148 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:149 msgctxt "@action:inmenu" msgid "Configure Cura..." msgstr "設定 Cura…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:155 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." msgstr "新增印表機(&A)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:161 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." msgstr "管理印表機(&I)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." msgstr "管理耗材…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:176 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" msgid "&Update profile with current settings/overrides" msgstr "使用目前設定 / 覆寫更新列印參數(&U)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:184 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:185 msgctxt "@action:inmenu menubar:profile" msgid "&Discard current changes" msgstr "捨棄目前更改(&D)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:196 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:197 msgctxt "@action:inmenu menubar:profile" msgid "&Create profile from current settings/overrides..." msgstr "從目前設定 / 覆寫值建立列印參數(&C)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:202 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." msgstr "管理列印參數.." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:209 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" msgid "Show Online &Documentation" msgstr "顯示線上說明文件(&D)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:217 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:218 msgctxt "@action:inmenu menubar:help" msgid "Report a &Bug" msgstr "BUG 回報(&B)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:225 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:226 msgctxt "@action:inmenu menubar:help" msgid "About..." msgstr "關於…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:232 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:233 msgctxt "@action:inmenu menubar:edit" msgid "Delete Selected Model" msgid_plural "Delete Selected Models" msgstr[0] "刪除所選模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:242 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:243 msgctxt "@action:inmenu menubar:edit" msgid "Center Selected Model" msgid_plural "Center Selected Models" msgstr[0] "置中所選模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:251 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:252 msgctxt "@action:inmenu menubar:edit" msgid "Multiply Selected Model" msgid_plural "Multiply Selected Models" msgstr[0] "複製所選模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:260 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:261 msgctxt "@action:inmenu" msgid "Delete Model" msgstr "刪除模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:268 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:269 msgctxt "@action:inmenu" msgid "Ce&nter Model on Platform" msgstr "將模型置中(&N)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:274 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:275 msgctxt "@action:inmenu menubar:edit" msgid "&Group Models" msgstr "群組模型(&G)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:294 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:295 msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "取消模型群組" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:304 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:305 msgctxt "@action:inmenu menubar:edit" msgid "&Merge Models" msgstr "結合模型(&M)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:315 msgctxt "@action:inmenu" msgid "&Multiply Model..." msgstr "複製模型…(&M)" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:321 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:322 msgctxt "@action:inmenu menubar:edit" msgid "Select All Models" msgstr "選擇所有模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:331 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:332 msgctxt "@action:inmenu menubar:edit" msgid "Clear Build Plate" msgstr "清空列印平台" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:342 msgctxt "@action:inmenu menubar:file" msgid "Reload All Models" msgstr "重新載入所有模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:350 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:351 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models To All Build Plates" msgstr "將所有模型排列到所有列印平台上" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:357 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:358 msgctxt "@action:inmenu menubar:edit" msgid "Arrange All Models" msgstr "排列所有模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:365 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:366 msgctxt "@action:inmenu menubar:edit" msgid "Arrange Selection" msgstr "排列所選模型" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:372 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:373 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Positions" msgstr "重置所有模型位置" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:379 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:380 msgctxt "@action:inmenu menubar:edit" msgid "Reset All Model Transformations" msgstr "重置所有模型旋轉" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:386 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:387 msgctxt "@action:inmenu menubar:file" msgid "&Open File(s)..." msgstr "開啟檔案(&O)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:394 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:395 msgctxt "@action:inmenu menubar:file" msgid "&New Project..." msgstr "新建專案(&N)…" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:401 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." msgstr "顯示切片引擎日誌(&L)..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:409 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" msgid "Show Configuration Folder" msgstr "顯示設定資料夾" -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:423 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:424 msgctxt "@action:menu" msgid "Browse packages..." msgstr "瀏覽軟體包..." -#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:430 +#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:431 msgctxt "@action:inmenu menubar:view" msgid "Expand/Collapse Sidebar" msgstr "展開/收合側邊欄" @@ -4116,7 +4167,7 @@ msgid "Select the active output device" msgstr "選擇作用中的輸出裝置" #: /home/ruben/Projects/Cura/resources/qml/OpenFilesIncludingProjectsDialog.qml:19 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:760 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:767 msgctxt "@title:window" msgid "Open file(s)" msgstr "開啟檔案" @@ -4136,145 +4187,145 @@ msgctxt "@title:window" msgid "Ultimaker Cura" msgstr "Ultimaker Cura" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:104 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:103 msgctxt "@title:menu menubar:toplevel" msgid "&File" msgstr "檔案(&F)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:120 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:121 msgctxt "@title:menu menubar:file" msgid "&Save..." msgstr "儲存(&S)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:141 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:142 msgctxt "@title:menu menubar:file" msgid "&Export..." msgstr "匯出(&E)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:151 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:153 msgctxt "@action:inmenu menubar:file" msgid "Export Selection..." msgstr "匯出選擇…" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:168 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:174 msgctxt "@title:menu menubar:toplevel" msgid "&Edit" msgstr "編輯(&E)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:185 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:191 msgctxt "@title:menu" msgid "&View" msgstr "檢視(&V)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:190 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:196 msgctxt "@title:menu" msgid "&Settings" msgstr "設定(&S)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:192 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:198 msgctxt "@title:menu menubar:settings" msgid "&Printer" msgstr "印表機(&P)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:201 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:207 msgctxt "@title:menu" msgid "&Material" msgstr "耗材(&M)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:210 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 msgctxt "@action:inmenu" msgid "Set as Active Extruder" msgstr "設為主要擠出機" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:216 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:222 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:188 msgctxt "@action:inmenu" msgid "Enable Extruder" msgstr "啟用擠出機" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:223 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:229 #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:194 msgctxt "@action:inmenu" msgid "Disable Extruder" msgstr "關閉擠出機" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:235 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:241 msgctxt "@title:menu" msgid "&Build plate" msgstr "列印平台(&B)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:236 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:242 msgctxt "@title:settings" msgid "&Profile" msgstr "列印參數(&P)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:246 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:252 msgctxt "@title:menu menubar:toplevel" msgid "E&xtensions" msgstr "擴充功能(&X)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:280 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:286 msgctxt "@title:menu menubar:toplevel" msgid "&Toolbox" msgstr "工具箱(&T)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:287 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:294 msgctxt "@title:menu menubar:toplevel" msgid "P&references" msgstr "偏好設定(&R)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:295 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:302 msgctxt "@title:menu menubar:toplevel" msgid "&Help" msgstr "幫助(&H)" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:341 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:348 msgctxt "@label" msgid "This package will be installed after restarting." msgstr "此軟體包將在重新啟動後安裝。" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:370 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:377 msgctxt "@action:button" msgid "Open File" msgstr "開啟檔案" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:540 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:547 msgctxt "@title:tab" msgid "Settings" msgstr "設定" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:586 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" msgstr "新建專案" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:587 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" msgid "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings." msgstr "你確定要開始一個新專案嗎?這將清除列印平台及任何未儲存的設定。" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:715 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:722 msgctxt "@title:window" msgid "Closing Cura" msgstr "關閉 Cura 中" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:716 -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:728 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:723 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:735 msgctxt "@label" msgid "Are you sure you want to exit Cura?" msgstr "你確定要結束 Cura 嗎?" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:861 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 msgctxt "@window:title" msgid "Install Package" msgstr "安裝軟體包" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:868 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:875 msgctxt "@title:window" msgid "Open File(s)" msgstr "開啟檔案" -#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:871 +#: /home/ruben/Projects/Cura/resources/qml/Cura.qml:878 msgctxt "@text:window" msgid "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one." msgstr "我們已經在你選擇的檔案中找到一個或多個 G-Code 檔案。你一次只能開啟一個 G-Code 檔案。若需開啟 G-Code 檔案,請僅選擇一個。" @@ -4284,11 +4335,6 @@ msgctxt "@title:window" msgid "Save Project" msgstr "儲存專案" -#: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:120 -msgctxt "@action:label" -msgid "" -msgstr "" - #: /home/ruben/Projects/Cura/resources/qml/WorkspaceSummaryDialog.qml:137 msgctxt "@action:label" msgid "Build plate" @@ -4359,37 +4405,37 @@ msgctxt "@label" msgid "Gradual infill will gradually increase the amount of infill towards the top." msgstr "漸層填充(Gradual infill)將隨著列印高度的提升而逐漸加大填充密度。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:789 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:791 msgctxt "@label" msgid "Enable gradual" msgstr "啟用漸層" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:856 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:858 msgctxt "@label" msgid "Generate Support" msgstr "產生支撐" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:890 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:892 msgctxt "@label" msgid "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing." msgstr "在模型的突出部分產生支撐結構。若不這樣做,這些部分在列印時將倒塌。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:962 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:964 msgctxt "@label" msgid "Select which extruder to use for support. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air." msgstr "選擇用於支撐的擠出機。該擠出機將在模型之下建立支撐結構,以防止模型下垂或在空中列印。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:985 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:987 msgctxt "@label" msgid "Build Plate Adhesion" msgstr "列印平台附著" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1040 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1042 msgctxt "@label" msgid "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards." msgstr "允許列印邊緣或木筏。這將在你的物件周圍或下方添加一個容易切斷的平面區域。" -#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1080 +#: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:1082 msgctxt "@label" msgid "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides" msgstr "需要幫助改善你的列印?閱讀 Ultimaker 故障排除指南" @@ -4550,6 +4596,16 @@ msgctxt "name" msgid "Changelog" msgstr "更新日誌" +#: FirmwareUpdater/plugin.json +msgctxt "description" +msgid "Provides a machine actions for updating firmware." +msgstr "" + +#: FirmwareUpdater/plugin.json +msgctxt "name" +msgid "Firmware Updater" +msgstr "" + #: ProfileFlattener/plugin.json msgctxt "description" msgid "Create a flattend quality changes profile." @@ -4900,16 +4956,6 @@ msgctxt "name" msgid "Cura Profile Writer" msgstr "Cura 列印參數寫入器" -#: CuraPrintProfileCreator/plugin.json -msgctxt "description" -msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." -msgstr "允許耗材製造商使用下拉式 UI 建立新的耗材和品質設定參數。" - -#: CuraPrintProfileCreator/plugin.json -msgctxt "name" -msgid "Print Profile Assistant" -msgstr "列印參數設定助手" - #: 3MFWriter/plugin.json msgctxt "description" msgid "Provides support for writing 3MF files." @@ -4940,6 +4986,86 @@ msgctxt "name" msgid "Cura Profile Reader" msgstr "Cura 列印參數讀取器" +#~ msgctxt "@warning:status" +#~ msgid "Please generate G-code before saving." +#~ msgstr "請在儲存前產出 G-code。" + +#~ msgctxt "@item:inmenu" +#~ msgid "Profile Assistant" +#~ msgstr "參數助手" + +#~ msgctxt "@item:inlistbox" +#~ msgid "Profile Assistant" +#~ msgstr "參數助手" + +#~ msgctxt "@action" +#~ msgid "Upgrade Firmware" +#~ msgstr "升級韌體" + +#~ msgctxt "@label unknown material" +#~ msgid "Unknown" +#~ msgstr "未知" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "No custom profile to import in file {0}" +#~ msgstr "檔案 {0} 內無自訂參數可匯入" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "This profile {0} contains incorrect data, could not import it." +#~ msgstr "此列印參數 {0} 含有錯誤的資料,無法導入。" + +#~ msgctxt "@info:status Don't translate the XML tags or !" +#~ msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." +#~ msgstr "參數檔案 {0} ({1}) 中定義的機器與你目前的機器 ({2}) 不匹配,無法匯入。" + +#~ msgctxt "@title:window" +#~ msgid "Confirm uninstall " +#~ msgstr "移除確認 " + +#~ msgctxt "@label:status" +#~ msgid "Paused" +#~ msgstr "已暫停" + +#~ msgctxt "@action:button" +#~ msgid "Previous" +#~ msgstr "前一個" + +#~ msgctxt "@action:button" +#~ msgid "Next" +#~ msgstr "下一個" + +#~ msgctxt "@label" +#~ msgid "Tip" +#~ msgstr "提示" + +#~ msgctxt "@label Print estimates: m for meters, g for grams, %4 is currency and %3 is print cost" +#~ msgid "%1m / ~ %2g / ~ %4 %3" +#~ msgstr "%1m / ~ %2g / ~ %4 %3" + +#~ msgctxt "@label Print estimates: m for meters, g for grams" +#~ msgid "%1m / ~ %2g" +#~ msgstr "%1m / ~ %2g" + +#~ msgctxt "@label" +#~ msgid "Print experiment" +#~ msgstr "列印實驗" + +#~ msgctxt "@label" +#~ msgid "Checklist" +#~ msgstr "檢查清單" + +#~ msgctxt "@title" +#~ msgid "Upgrade Firmware" +#~ msgstr "升級韌體" + +#~ msgctxt "description" +#~ msgid "Allows material manufacturers to create new material and quality profiles using a drop-in UI." +#~ msgstr "允許耗材製造商使用下拉式 UI 建立新的耗材和品質設定參數。" + +#~ msgctxt "name" +#~ msgid "Print Profile Assistant" +#~ msgstr "列印參數設定助手" + #~ msgctxt "@action:button" #~ msgid "Print with Doodle3D WiFi-Box" #~ msgstr "使用 Doodle3D 無線網路盒列印" diff --git a/resources/i18n/zh_TW/fdmextruder.def.json.po b/resources/i18n/zh_TW/fdmextruder.def.json.po index 5ccea0af91..5fece76114 100644 --- a/resources/i18n/zh_TW/fdmextruder.def.json.po +++ b/resources/i18n/zh_TW/fdmextruder.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-03-31 15:18+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: TEAM\n" @@ -167,6 +167,16 @@ msgctxt "extruder_prime_pos_z description" msgid "The Z coordinate of the position where the nozzle primes at the start of printing." msgstr "列印開始時,噴頭在 Z 軸座標上的起始位置." +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number label" +msgid "Extruder Print Cooling Fan" +msgstr "" + +#: fdmextruder.def.json +msgctxt "machine_extruder_cooling_fan_number description" +msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." +msgstr "" + #: fdmextruder.def.json msgctxt "platform_adhesion label" msgid "Build Plate Adhesion" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index b59748ce00..1dc710a6df 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com" -"POT-Creation-Date: 2018-09-19 17:07+0000\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-02 10:30+0100\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" @@ -1077,8 +1077,8 @@ msgstr "連接頂部/底部多邊形" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" -msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." -msgstr "將頂部/底部表層路徑相鄰的位置連接。同心模式時開啟此設定,可以大大地減少空跑時間。但因連接可能發生在填充途中,所以此功能可能降低頂部表層的品質。" +msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." +msgstr "" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,8 +1497,8 @@ msgstr "填充列印樣式" #: fdmprinter.def.json msgctxt "infill_pattern description" -msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." -msgstr "填充耗材的樣式。線條和鋸齒狀填充輪流在每一層交換方向,以降低耗材成本。網格、三角形、三-六邊形、立方體、八面體、四分立方體、十字形和同心的列印樣式在每層完整列印。立方體、四分立方體和八面體填充隨每層變化,以在各個方向提供更均衡的强度分布。" +msgid "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." +msgstr "" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1560,6 +1560,11 @@ msgctxt "infill_pattern option cross_3d" msgid "Cross 3D" msgstr "立體十字形" +#: fdmprinter.def.json +msgctxt "infill_pattern option gyroid" +msgid "Gyroid" +msgstr "" + #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" msgid "Connect Infill Lines" @@ -3264,6 +3269,36 @@ msgctxt "support_infill_angle description" msgid "Orientation of the infill pattern for supports. The support infill pattern is rotated in the horizontal plane." msgstr "支撐填充樣式的方向。 支撐填充樣式的旋轉方向是在水平面上旋轉。" +#: fdmprinter.def.json +msgctxt "support_brim_enable label" +msgid "Enable Support Brim" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_enable description" +msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width label" +msgid "Support Brim Width" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_width description" +msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count label" +msgid "Support Brim Line Count" +msgstr "" + +#: fdmprinter.def.json +msgctxt "support_brim_line_count description" +msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." +msgstr "" + #: fdmprinter.def.json msgctxt "support_z_distance label" msgid "Support Z Distance" @@ -3833,6 +3868,16 @@ msgctxt "brim_line_count description" msgid "The number of lines used for a brim. More brim lines enhance adhesion to the build plate, but also reduces the effective print area." msgstr "邊緣所用線條數量。更多邊緣線條可增强與列印平台的附著,但也會減少有效列印區域。" +#: fdmprinter.def.json +msgctxt "brim_replaces_support label" +msgid "Brim Replaces Support" +msgstr "" + +#: fdmprinter.def.json +msgctxt "brim_replaces_support description" +msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." +msgstr "" + #: fdmprinter.def.json msgctxt "brim_outside_only label" msgid "Brim Only on Outside" @@ -5657,6 +5702,14 @@ msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." msgstr "在將模型從檔案中載入時套用在模型上的轉換矩陣。" +#~ msgctxt "connect_skin_polygons description" +#~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." +#~ msgstr "將頂部/底部表層路徑相鄰的位置連接。同心模式時開啟此設定,可以大大地減少空跑時間。但因連接可能發生在填充途中,所以此功能可能降低頂部表層的品質。" + +#~ msgctxt "infill_pattern description" +#~ msgid "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. Cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction." +#~ msgstr "填充耗材的樣式。線條和鋸齒狀填充輪流在每一層交換方向,以降低耗材成本。網格、三角形、三-六邊形、立方體、八面體、四分立方體、十字形和同心的列印樣式在每層完整列印。立方體、四分立方體和八面體填充隨每層變化,以在各個方向提供更均衡的强度分布。" + #~ msgctxt "infill_pattern option concentric_3d" #~ msgid "Concentric 3D" #~ msgstr "立體同心圓" From f0d7c6fb5244dcaa461be4d7691e90b23e9a9819 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 29 Oct 2018 15:13:25 +0100 Subject: [PATCH 348/423] Update version number to 3.6 And fill in the report-msgid-bugs-to field where it was missing. There always seems to be something wrong with that metadata. Contributes to issue CURA-5870. --- resources/i18n/de_DE/cura.po | 2 +- resources/i18n/de_DE/fdmextruder.def.json.po | 2 +- resources/i18n/de_DE/fdmprinter.def.json.po | 2 +- resources/i18n/es_ES/cura.po | 4 ++-- resources/i18n/es_ES/fdmextruder.def.json.po | 2 +- resources/i18n/es_ES/fdmprinter.def.json.po | 2 +- resources/i18n/fi_FI/cura.po | 4 ++-- resources/i18n/fi_FI/fdmextruder.def.json.po | 2 +- resources/i18n/fi_FI/fdmprinter.def.json.po | 2 +- resources/i18n/fr_FR/cura.po | 4 ++-- resources/i18n/fr_FR/fdmextruder.def.json.po | 2 +- resources/i18n/fr_FR/fdmprinter.def.json.po | 2 +- resources/i18n/it_IT/cura.po | 4 ++-- resources/i18n/it_IT/fdmextruder.def.json.po | 2 +- resources/i18n/it_IT/fdmprinter.def.json.po | 2 +- resources/i18n/ja_JP/cura.po | 4 ++-- resources/i18n/ja_JP/fdmextruder.def.json.po | 2 +- resources/i18n/ja_JP/fdmprinter.def.json.po | 2 +- resources/i18n/ko_KR/cura.po | 2 +- resources/i18n/ko_KR/fdmextruder.def.json.po | 2 +- resources/i18n/ko_KR/fdmprinter.def.json.po | 2 +- resources/i18n/nl_NL/cura.po | 4 ++-- resources/i18n/nl_NL/fdmextruder.def.json.po | 2 +- resources/i18n/nl_NL/fdmprinter.def.json.po | 2 +- resources/i18n/pl_PL/cura.po | 4 ++-- resources/i18n/pl_PL/fdmextruder.def.json.po | 2 +- resources/i18n/pl_PL/fdmprinter.def.json.po | 2 +- resources/i18n/pt_BR/cura.po | 4 ++-- resources/i18n/pt_BR/fdmextruder.def.json.po | 2 +- resources/i18n/pt_BR/fdmprinter.def.json.po | 2 +- resources/i18n/pt_PT/cura.po | 4 ++-- resources/i18n/pt_PT/fdmextruder.def.json.po | 2 +- resources/i18n/pt_PT/fdmprinter.def.json.po | 2 +- resources/i18n/ru_RU/cura.po | 4 ++-- resources/i18n/ru_RU/fdmextruder.def.json.po | 2 +- resources/i18n/ru_RU/fdmprinter.def.json.po | 2 +- resources/i18n/tr_TR/cura.po | 4 ++-- resources/i18n/tr_TR/fdmextruder.def.json.po | 2 +- resources/i18n/tr_TR/fdmprinter.def.json.po | 2 +- resources/i18n/zh_CN/cura.po | 4 ++-- resources/i18n/zh_CN/fdmextruder.def.json.po | 2 +- resources/i18n/zh_CN/fdmprinter.def.json.po | 2 +- resources/i18n/zh_TW/cura.po | 4 ++-- resources/i18n/zh_TW/fdmextruder.def.json.po | 4 ++-- resources/i18n/zh_TW/fdmprinter.def.json.po | 2 +- 45 files changed, 59 insertions(+), 59 deletions(-) diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index a1f3658d8e..85a4a129ac 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:42+0200\n" diff --git a/resources/i18n/de_DE/fdmextruder.def.json.po b/resources/i18n/de_DE/fdmextruder.def.json.po index f8dea4a739..9d146a1a63 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index ae21df1d7d..0bcf015c21 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:57+0200\n" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 504dc59d16..71c133daa9 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:55+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/es_ES/fdmextruder.def.json.po b/resources/i18n/es_ES/fdmextruder.def.json.po index ca75e07ae5..f4791134ce 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 536f79fa96..3133fa86b8 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:56+0200\n" diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index c2db6edb6d..442500f21b 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\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 8550e76b4d..07ccc2502e 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n" diff --git a/resources/i18n/fi_FI/fdmprinter.def.json.po b/resources/i18n/fi_FI/fdmprinter.def.json.po index 67946648d8..6a4e7390ad 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2017-09-27 12:27+0200\n" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index abdf234aa9..f477c14ac6 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:59+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/fr_FR/fdmextruder.def.json.po b/resources/i18n/fr_FR/fdmextruder.def.json.po index a8b6b127b8..6fc72c38e1 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index a8dda56074..4eb7d674f5 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:00+0200\n" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 2ba9f18724..6a30a94865 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 15:01+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/it_IT/fdmextruder.def.json.po b/resources/i18n/it_IT/fdmextruder.def.json.po index 12181431d6..94439de443 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index 043a49a904..b4b425da8d 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:02+0200\n" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 3a92f06dca..ddc9447004 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 15:19+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/ja_JP/fdmextruder.def.json.po b/resources/i18n/ja_JP/fdmextruder.def.json.po index ab5fe2b8ac..826048fa4f 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:24+0200\n" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index f14ed87c12..72053ac7ac 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 15:27+0200\n" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 4a63fece94..ee93088df1 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index e83d037d0d..cef9d4ba3d 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 40947b4965..72a8b763f0 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:10+0100\n" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index a139b20f0e..ed0d045cd5 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 11:30+0100\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/nl_NL/fdmextruder.def.json.po b/resources/i18n/nl_NL/fdmextruder.def.json.po index 69632907ea..9fbf5e269a 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index 90dce25e8d..8ebbaee3d6 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:10+0100\n" diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index 08dbc7169f..2d11edabff 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-09-21 20:52+0200\n" "Last-Translator: 'Jaguś' Paweł Jagusiak, Andrzej 'anraf1001' Rafalski and Jakub 'drzejkopf' Świeciński\n" diff --git a/resources/i18n/pl_PL/fdmextruder.def.json.po b/resources/i18n/pl_PL/fdmextruder.def.json.po index ecb220063a..02527d4849 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-03-30 20:33+0200\n" diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index 7a9294b924..a684c98068 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-21 21:52+0200\n" diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 3faed5d57d..8aad16ed27 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 03:20-0300\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 0596e098cb..b8ea7ec1e4 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-02 05:00-0300\n" diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 73565a2769..1b746e8b0b 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-02 06:30-0300\n" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index b9ee847871..14e7e89801 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:15+0100\n" "Last-Translator: Paulo Miranda \n" diff --git a/resources/i18n/pt_PT/fdmextruder.def.json.po b/resources/i18n/pt_PT/fdmextruder.def.json.po index 41443bebdf..da320cbc9b 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index d5faf47ec4..35becb7199 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:15+0100\n" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index b142f3c2a6..012d92af9f 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:25+0100\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/ru_RU/fdmextruder.def.json.po b/resources/i18n/ru_RU/fdmextruder.def.json.po index e575b04e1c..a75cc5dd6b 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 4aa6fb4a66..16c265f007 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:15+0100\n" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index c543280d29..9b5a47135b 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:40+0100\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/tr_TR/fdmextruder.def.json.po b/resources/i18n/tr_TR/fdmextruder.def.json.po index 1b29e32418..1c93b99706 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index 8ea50c3a6f..2d84548848 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:20+0100\n" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 95a245cf93..8bcaf11ab1 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-01 13:45+0100\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/zh_CN/fdmextruder.def.json.po b/resources/i18n/zh_CN/fdmextruder.def.json.po index c003ab118c..f8a875cec6 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-09-28 14:25+0100\n" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index 7d77080595..15a04ac92c 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 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-01 14:20+0100\n" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index 48ca4c2732..c2d733fce1 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -5,8 +5,8 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" -"Report-Msgid-Bugs-To: \n" +"Project-Id-Version: Cura 3.6\n" +"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" "PO-Revision-Date: 2018-10-02 10:25+0100\n" "Last-Translator: Zhang Heh Ji \n" diff --git a/resources/i18n/zh_TW/fdmextruder.def.json.po b/resources/i18n/zh_TW/fdmextruder.def.json.po index 5fece76114..7ce9ef1ddd 100644 --- a/resources/i18n/zh_TW/fdmextruder.def.json.po +++ b/resources/i18n/zh_TW/fdmextruder.def.json.po @@ -5,12 +5,12 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-03-31 15:18+0800\n" "Last-Translator: Zhang Heh Ji \n" -"Language-Team: TEAM\n" +"Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index 1dc710a6df..57268d752d 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -5,7 +5,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Cura 3.5\n" +"Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" "PO-Revision-Date: 2018-10-02 10:30+0100\n" From 39158a643cdade93b14aa23244f8485a9a34b92b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 30 Oct 2018 07:33:55 +0100 Subject: [PATCH 349/423] Revert "Ignore per-meshgroup settings in per object stack" CURA-5767 This reverts commit 54afa799c54bf3727481241e5e5f45dffb7e3442. --- cura/Settings/PerObjectContainerStack.py | 18 +----------------- plugins/3MFReader/ThreeMFReader.py | 2 +- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/cura/Settings/PerObjectContainerStack.py b/cura/Settings/PerObjectContainerStack.py index 3623e1e0be..3589029517 100644 --- a/cura/Settings/PerObjectContainerStack.py +++ b/cura/Settings/PerObjectContainerStack.py @@ -5,7 +5,6 @@ from typing import Any, Optional from UM.Application import Application from UM.Decorators import override -from UM.Logger import Logger from UM.Settings.Interfaces import PropertyEvaluationContext from UM.Settings.SettingInstance import InstanceState @@ -58,22 +57,7 @@ class PerObjectContainerStack(CuraContainerStack): return result @override(CuraContainerStack) - def setProperty(self, key: str, property_name: str, property_value: Any, container: "ContainerInterface" = None, set_from_cache: bool = False) -> None: - application = Application.getInstance() - machine_manager = application.getMachineManager() - global_stack = machine_manager.activeMachine - - # Ignore all settable-per-meshgroup settings for now because the current CuraEngine architecture cannot handle - # that correctly. This check is also here is because if an old project file includes per-object settings that - # are settable-per-meshgroup, when it is loaded, we need to filter out those settings. - if not global_stack.getProperty(key, "settable_per_mesh"): - Logger.log("i", "Setting [%s] ignored as a per-object setting because it's not settable-per-mesh.", key) - return - super().setProperty(self, key, property_name, property_value, - container = container, set_from_cache = set_from_cache) - - @override(CuraContainerStack) - def setNextStack(self, stack: "CuraContainerStack") -> None: + def setNextStack(self, stack: CuraContainerStack) -> None: super().setNextStack(stack) # trigger signal to re-evaluate all default settings diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 75ce7d932c..49c6995d18 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -135,7 +135,7 @@ class ThreeMFReader(MeshReader): definition_id = getMachineDefinitionIDForQualitySearch(global_container_stack.definition) um_node.callDecoration("getStack").getTop().setDefinition(definition_id) - setting_container = um_node.callDecoration("getStack") + setting_container = um_node.callDecoration("getStack").getTop() for key in settings: setting_value = settings[key] From fda0f59c7067e845fd752fc7bf6a1015bc3a9a2c Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 30 Oct 2018 10:27:22 +0100 Subject: [PATCH 350/423] Rename user visible entries of ToolBox to Marketplace CURA-5874 --- plugins/Toolbox/resources/qml/Toolbox.qml | 2 +- resources/qml/Actions.qml | 2 +- resources/qml/Cura.qml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Toolbox/resources/qml/Toolbox.qml b/plugins/Toolbox/resources/qml/Toolbox.qml index 4fb8192d81..9a98c998b0 100644 --- a/plugins/Toolbox/resources/qml/Toolbox.qml +++ b/plugins/Toolbox/resources/qml/Toolbox.qml @@ -10,7 +10,7 @@ Window { id: base property var selection: null - title: catalog.i18nc("@title", "Toolbox") + title: catalog.i18nc("@title", "Marketplace") modality: Qt.ApplicationModal flags: Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint | Qt.WindowCloseButtonHint diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 7d898eed2c..161c1db342 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -421,7 +421,7 @@ Item Action { id: browsePackagesAction - text: catalog.i18nc("@action:menu", "Browse packages...") + text: catalog.i18nc("@action:menu", "Open Marketplace...") iconName: "plugins_browse" } diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index b3367471ad..76af9bfe37 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -283,7 +283,7 @@ UM.MainWindow Menu { id: plugin_menu - title: catalog.i18nc("@title:menu menubar:toplevel", "&Toolbox") + title: catalog.i18nc("@title:menu menubar:toplevel", "Marke&tplace") MenuItem { action: Cura.Actions.browsePackages } } From e2b6a3f411138aaa2e6f6bb36842f686bc0818af Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 30 Oct 2018 10:39:10 +0100 Subject: [PATCH 351/423] Add white background to thumbnails Regardless of the theme, the thumbnail should always have a white background so that the author can base their colours on that. Also this properly renders transparent images with a white background so that the Ultimaker robot is visible again in the dark theme. --- plugins/Toolbox/resources/qml/ToolboxDetailPage.qml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml index cba55051f5..437a2ef351 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailPage.qml @@ -25,14 +25,11 @@ Item rightMargin: UM.Theme.getSize("wide_margin").width } height: UM.Theme.getSize("toolbox_detail_header").height - Image + Rectangle { id: thumbnail width: UM.Theme.getSize("toolbox_thumbnail_medium").width height: UM.Theme.getSize("toolbox_thumbnail_medium").height - fillMode: Image.PreserveAspectFit - source: details === null ? "" : (details.icon_url || "../images/logobot.svg") - mipmap: true anchors { top: parent.top @@ -40,6 +37,14 @@ Item leftMargin: UM.Theme.getSize("wide_margin").width topMargin: UM.Theme.getSize("wide_margin").height } + color: white //Always a white background for image (regardless of theme). + Image + { + anchors.fill: parent + fillMode: Image.PreserveAspectFit + source: details === null ? "" : (details.icon_url || "../images/logobot.svg") + mipmap: true + } } Label From adac66b3f7782bcf186f361ad0edcb8a99f52f55 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 30 Oct 2018 10:53:43 +0100 Subject: [PATCH 352/423] Always show camera icon in monitor tab Contributes to CL-1063 --- .../resources/qml/PrinterCard.qml | 23 +++++++++++++++++++ .../resources/qml/PrinterCardDetails.qml | 14 ----------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 76e3184f4f..be03d41eb8 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -223,6 +223,16 @@ Item { } } + HorizontalLine { + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + visible: root.printer; + } + // Detailed card PrinterCardDetails { collapsed: root.collapsed; @@ -230,6 +240,19 @@ Item { visible: root.printer; } + Item { + id: cameraButtonWrapper; + height: showCameraButton.width + 2 * UM.Theme.getSize("default_margin").height; + visible: root.printer && root.printJob; + width: height; + CameraButton { + id: showCameraButton; + anchors.centerIn: parent; + iconSource: "../svg/camera-icon.svg"; + } + } + + // Progress bar PrinterCardProgressBar { visible: printer && printer.activePrintJob != null; diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index d7102d5493..ccee3fb69b 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -32,8 +32,6 @@ Item { spacing: UM.Theme.getSize("default_margin").height; width: parent.width; - HorizontalLine {} - PrinterInfoBlock { printer: root.printer; printJob: root.printer ? root.printer.activePrintJob : null; @@ -69,16 +67,4 @@ Item { visible: root.printJob; } } - - CameraButton { - id: showCameraButton; - anchors { - bottom: contentColumn.bottom; - bottomMargin: Math.round(1.5 * UM.Theme.getSize("default_margin").height); - left: contentColumn.left; - leftMargin: Math.round(0.5 * UM.Theme.getSize("default_margin").width); - } - iconSource: "../svg/camera-icon.svg"; - visible: root.printJob; - } } From c736bfffb535c2442c6b60ed648b490951e8316d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 30 Oct 2018 10:54:14 +0100 Subject: [PATCH 353/423] Add hotkeys for managing profiles and materials These are unused on all platforms. We can't use Ctrl+M (multiply selection), Ctrl+P (print) or Ctrl+Q (quit) sadly. Fixes #4250. --- resources/qml/Actions.qml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 7d898eed2c..e8f01aba72 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -168,6 +168,7 @@ Item id: manageMaterialsAction text: catalog.i18nc("@action:inmenu", "Manage Materials...") iconName: "configure" + shortcut: "Ctrl+K" } Action @@ -182,7 +183,7 @@ Item { id: resetProfileAction; enabled: Cura.MachineManager.hasUserSettings - text: catalog.i18nc("@action:inmenu menubar:profile","&Discard current changes"); + text: catalog.i18nc("@action:inmenu menubar:profile", "&Discard current changes"); onTriggered: { forceActiveFocus(); @@ -194,20 +195,21 @@ Item { id: addProfileAction; enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings - text: catalog.i18nc("@action:inmenu menubar:profile","&Create profile from current settings/overrides..."); + text: catalog.i18nc("@action:inmenu menubar:profile", "&Create profile from current settings/overrides..."); } Action { - id: manageProfilesAction; - text: catalog.i18nc("@action:inmenu menubar:profile","Manage Profiles..."); - iconName: "configure"; + id: manageProfilesAction + text: catalog.i18nc("@action:inmenu menubar:profile", "Manage Profiles...") + iconName: "configure" + shortcut: "Ctrl+J" } Action { id: documentationAction; - text: catalog.i18nc("@action:inmenu menubar:help","Show Online &Documentation"); + text: catalog.i18nc("@action:inmenu menubar:help", "Show Online &Documentation"); iconName: "help-contents"; shortcut: StandardKey.Help; onTriggered: CuraActions.openDocumentation(); @@ -215,7 +217,7 @@ Item Action { id: reportBugAction; - text: catalog.i18nc("@action:inmenu menubar:help","Report a &Bug"); + text: catalog.i18nc("@action:inmenu menubar:help", "Report a &Bug"); iconName: "tools-report-bug"; onTriggered: CuraActions.openBugReportPage(); } @@ -223,7 +225,7 @@ Item Action { id: aboutAction; - text: catalog.i18nc("@action:inmenu menubar:help","About..."); + text: catalog.i18nc("@action:inmenu menubar:help", "About..."); iconName: "help-about"; } From f0fa03c3cea10fcc522265e71eef73b9ddf034c5 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 30 Oct 2018 10:36:30 +0100 Subject: [PATCH 354/423] Add CC 0.6 for UM S5 CURA-5839 --- .../um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg | 31 ++++++++++++ .../um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg | 31 ++++++++++++ .../um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg | 31 ++++++++++++ .../um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg | 31 ++++++++++++ .../um_s5_cc0.6_PLA_Draft_Print.inst.cfg | 42 +++++++++++++++++ .../um_s5_cc0.6_PLA_Fast_Print.inst.cfg | 42 +++++++++++++++++ resources/variants/ultimaker_s5_cc06.inst.cfg | 47 +++++++++++++++++++ 7 files changed, 255 insertions(+) create mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg create mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg create mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg create mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg create mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg create mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg create mode 100644 resources/variants/ultimaker_s5_cc06.inst.cfg diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg new file mode 100644 index 0000000000..104c385aa3 --- /dev/null +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg @@ -0,0 +1,31 @@ +[general] +version = 4 +name = Fast +definition = ultimaker_s5 + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = -3 +material = generic_cffcpe +variant = CC Red 0.6 + +[values] +adhesion_type = skirt +cool_fan_enabled = True +cool_min_layer_time = 7 +cool_min_layer_time_fan_speed_max = 15 +cool_min_speed = 6 +infill_line_width = =line_width +initial_layer_line_width_factor = 130.0 +line_width = =machine_nozzle_size * (0.58/0.6) +material_bed_temperature_layer_0 = =material_bed_temperature + 5 +material_print_temperature = =default_material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +skin_overlap = 20 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_z_distance = =layer_height * 2 +wall_line_width_x = =line_width diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg new file mode 100644 index 0000000000..14cb93e53b --- /dev/null +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg @@ -0,0 +1,31 @@ +[general] +version = 4 +name = Fast +definition = ultimaker_s5 + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = -3 +material = generic_cffpa +variant = CC Red 0.6 + +[values] +adhesion_type = skirt +cool_fan_enabled = True +cool_min_layer_time = 7 +cool_min_layer_time_fan_speed_max = 15 +cool_min_speed = 6 +infill_line_width = =line_width +initial_layer_line_width_factor = 130.0 +line_width = =machine_nozzle_size * (0.58/0.6) +material_bed_temperature_layer_0 = =material_bed_temperature + 5 +material_print_temperature = =default_material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +skin_overlap = 20 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_z_distance = =layer_height * 2 +wall_line_width_x = =line_width diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg new file mode 100644 index 0000000000..30c4ea8f51 --- /dev/null +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg @@ -0,0 +1,31 @@ +[general] +version = 4 +name = Fast +definition = ultimaker_s5 + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = -3 +material = generic_gffcpe +variant = CC Red 0.6 + +[values] +adhesion_type = brim +cool_fan_enabled = True +cool_min_layer_time = 7 +cool_min_layer_time_fan_speed_max = 15 +cool_min_speed = 6 +infill_line_width = =line_width +initial_layer_line_width_factor = 130.0 +line_width = =machine_nozzle_size * (0.58/0.6) +material_bed_temperature_layer_0 = =material_bed_temperature + 5 +material_print_temperature = =default_material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +skin_overlap = 20 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_z_distance = =layer_height * 2 +wall_line_width_x = =line_width diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg new file mode 100644 index 0000000000..5a0640c858 --- /dev/null +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg @@ -0,0 +1,31 @@ +[general] +version = 4 +name = Fast +definition = ultimaker_s5 + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = -3 +material = generic_gffpa +variant = CC Red 0.6 + +[values] +adhesion_type = brim +cool_fan_enabled = True +cool_min_layer_time = 7 +cool_min_layer_time_fan_speed_max = 15 +cool_min_speed = 6 +infill_line_width = =line_width +initial_layer_line_width_factor = 130.0 +line_width = =machine_nozzle_size * (0.58/0.6) +material_bed_temperature_layer_0 = =material_bed_temperature + 5 +material_print_temperature = =default_material_print_temperature +material_print_temperature_layer_0 = =material_print_temperature +material_standby_temperature = 100 +skin_overlap = 20 +support_bottom_distance = =support_z_distance / 2 +support_top_distance = =support_z_distance +support_z_distance = =layer_height * 2 +wall_line_width_x = =line_width diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg new file mode 100644 index 0000000000..21e2dd0661 --- /dev/null +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg @@ -0,0 +1,42 @@ +[general] +version = 4 +name = Fast +definition = ultimaker_s5 + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = -3 +material = generic_pla +variant = CC Red 0.6 + +[values] +cool_fan_full_at_height = =layer_height_0 + 2 * layer_height +cool_fan_speed_max = =100 +cool_min_speed = 2 +gradual_infill_step_height = =3 * layer_height +infill_line_width = =round(line_width * 0.65 / 0.75, 2) +infill_pattern = triangles +line_width = =machine_nozzle_size * 0.9375 +machine_nozzle_cool_down_speed = 0.75 +machine_nozzle_heat_up_speed = 1.6 +material_final_print_temperature = =max(-273.15, material_print_temperature - 15) +material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) +material_print_temperature = =default_material_print_temperature + 10 +material_standby_temperature = 100 +prime_tower_enable = True +retract_at_layer_change = False +speed_print = 45 +speed_topbottom = =math.ceil(speed_print * 35 / 45) +speed_wall = =math.ceil(speed_print * 40 / 45) +speed_wall_x = =speed_wall +speed_wall_0 = =math.ceil(speed_wall * 35 / 40) +support_angle = 70 +support_line_width = =line_width * 0.75 +support_pattern = triangles +support_xy_distance = =wall_line_width_0 * 1.5 +top_bottom_thickness = =layer_height * 4 +wall_line_width = =round(line_width * 0.75 / 0.75, 2) +wall_line_width_x = =round(wall_line_width * 0.625 / 0.75, 2) +wall_thickness = =wall_line_width_0 + wall_line_width_x diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg new file mode 100644 index 0000000000..1c54089058 --- /dev/null +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg @@ -0,0 +1,42 @@ +[general] +version = 4 +name = Normal +definition = ultimaker_s5 + +[metadata] +setting_version = 5 +type = quality +quality_type = fast +weight = -2 +material = generic_pla +variant = CC Red 0.6 + +[values] +cool_fan_full_at_height = =layer_height_0 + 2 * layer_height +cool_fan_speed_max = =100 +cool_min_speed = 2 +gradual_infill_step_height = =3 * layer_height +infill_line_width = =round(line_width * 0.65 / 0.75, 2) +infill_pattern = triangles +line_width = =machine_nozzle_size * 0.9375 +machine_nozzle_cool_down_speed = 0.75 +machine_nozzle_heat_up_speed = 1.6 +material_final_print_temperature = =max(-273.15, material_print_temperature - 15) +material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) +material_print_temperature = =default_material_print_temperature + 10 +material_standby_temperature = 100 +prime_tower_enable = True +retract_at_layer_change = False +speed_print = 45 +speed_topbottom = =math.ceil(speed_print * 35 / 45) +speed_wall = =math.ceil(speed_print * 40 / 45) +speed_wall_x = =speed_wall +speed_wall_0 = =math.ceil(speed_wall * 35 / 40) +support_angle = 70 +support_line_width = =line_width * 0.75 +support_pattern = triangles +support_xy_distance = =wall_line_width_0 * 1.5 +top_bottom_thickness = =layer_height * 4 +wall_line_width = =round(line_width * 0.75 / 0.75, 2) +wall_line_width_x = =round(wall_line_width * 0.625 / 0.75, 2) +wall_thickness = =wall_line_width_0 + wall_line_width_x diff --git a/resources/variants/ultimaker_s5_cc06.inst.cfg b/resources/variants/ultimaker_s5_cc06.inst.cfg new file mode 100644 index 0000000000..e296b6c2f7 --- /dev/null +++ b/resources/variants/ultimaker_s5_cc06.inst.cfg @@ -0,0 +1,47 @@ +[general] +name = CC Red 0.6 +version = 4 +definition = ultimaker_s5 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +brim_width = 7 +machine_nozzle_cool_down_speed = 0.9 +machine_nozzle_id = CC 0.6 +machine_nozzle_size = 0.6 +material_print_temperature = =default_material_print_temperature + 10 +raft_acceleration = =acceleration_print +raft_airgap = 0.3 +raft_base_thickness = =resolveOrValue('layer_height_0') * 1.2 +raft_interface_line_spacing = =raft_interface_line_width + 0.2 +raft_interface_line_width = =line_width * 2 +raft_interface_thickness = =layer_height * 1.5 +raft_jerk = =jerk_print +raft_margin = 15 +raft_surface_layers = 2 +retraction_count_max = 25 +retraction_min_travel = =line_width * 2 +retraction_prime_speed = =retraction_speed +speed_infill = =speed_print +speed_layer_0 = 20 +speed_print = 45 +speed_support = =speed_topbottom +speed_topbottom = =math.ceil(speed_print * 25 / 45) +speed_travel_layer_0 = 50 +speed_wall = =math.ceil(speed_print * 30 / 45) +speed_wall_0 = =math.ceil(speed_wall * 25 / 30) +speed_wall_x = =speed_wall +support_angle = 60 +support_bottom_distance = =support_z_distance / 2 +support_pattern = zigzag +support_top_distance = =support_z_distance +support_use_towers = True +support_z_distance = =layer_height * 2 +switch_extruder_prime_speed = =switch_extruder_retraction_speeds +switch_extruder_retraction_amount = =machine_heat_zone_length +top_bottom_thickness = =layer_height * 6 +wall_thickness = =line_width * 3 From ab7f69bc1b48e97ef4226ef5c0a39e693a264ce2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 30 Oct 2018 11:10:45 +0100 Subject: [PATCH 355/423] Add change log for Cura 3.6 Implements CURA-5871. --- plugins/ChangeLogPlugin/ChangeLog.txt | 59 +++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 382b72b0b8..ea3b4f9239 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -1,3 +1,62 @@ +[3.6.0] +*Gyroid infill +New infill pattern with enhanced strength properties. Gyroid infill is one of the strongest infill types for a given weight, has isotropic properties, and prints relatively fast with reduced material use and a fully connected part interior. Note: Slicing time can increase up to 40 seconds or more, depending on the model. Contributed by smartavionics. + +*Support brim +New setting that integrates the first layer of support material with the brim’s geometry. This significantly improves adhesion when printing with support material. Contributed by BagelOrb. + +*Cooling fan number +It is now possible to specify the cooling fan to use if your printer has multiple fans. This is implemented under Machine settings in the Extruder tab. Contributed by smartavionics. + +*Settings refactor +The CuraEngine has been refactored to create a more testable, future-proof way of storing and representing settings. This makes slicing faster, and future development easier. + +*Print core CC Red 0.6 +The new print core CC Red 0.6 is selectable when the Ultimaker S5 profile is active. This print core is optimized for use with abrasive materials and composites. + +*File name and layer display +Added M117 commands to GCODE to give real-time information about the print job file name and layer number shown on the printer’s display when printing via USB. Contributed by adecastilho. + +*Firmware checker/Ultimaker S5 +The update checker code has been improved and tested for more reliable firmware update notifications in Ultimaker Cura. The Ultimaker S5 is now included. + +*Fullscreen mode shortcuts +Fullscreen mode can be toggled using the View menu or with the keyboard shortcuts: Command + Control + F (macOS), or F11 (Windows and Linux). Contributed by KangDroid. + +*Configuration error message +In previous versions, Ultimaker Cura would display an error dialog explaining when something happened to user configuration files, including the option to reset to factory defaults. This would not warn about losing the current printer and print profile settings, so this information has been added. + +*Materials in the Toolbox +A new tab has been added to the Toolbox that includes downloadable material profiles, to quickly and easily prepare models for a range of third-party materials. + +*New third-party definitions +New profiles added for Anycube 4MAx and Tizyx K25. + +*Improved definitions for Ender-3 +The Ender-3 build plate size has been adjusted to the correct size of 235 x 235 mm, corrected the start-up sequence, and the printhead position has been adjusted when prints are purged or completed. + +*Add mesh names to slicing message +Added comment generation to indicate which mesh the GCODE after this comment is constructing. Contributed by paukstelis. + +*Bug fixes +- The active material is highlighted in Ultimaker Cura’s material manager list. This behavior is now consistent with the profile and machine manager. +- The option to use 1.75 mm diameter filament with third-party 3D printers is now fixed and does not revert back to 2.85 mm. This fix also applies the appropriate a Z-axis speed change for 1.75 mm filament printers. Contributed by kaleidoscopeit. +- A fix was created to handle OSX version 10.10, but due to the QT upgrade, users with older versions won’t be able to run Ultimaker Cura on their system without a system update. This applies to OSX version 10.09 and 10.08. +- Fixed a memory leak when leaving the “Monitor” page open. +- Added performance improvements to the PolygonConnector to efficiently connect polygons that are close to each other. This also reduces the chances of the print head collide with previously printed things. Contributed by BagelOrb. +- Fixed a bug where the GCODE reader didn’t show retractions. +- Changes the USBPrinting update thread to prevent flooding the printer with M105 temperature update requests. Contributed by fieldOfView. +- Fix the behavior of the "manage visible settings" button, when pressing the "cog" icon of a particular category. Contributed by fieldOfView. +- Add a new post processing script that pauses the print at a certain height that works with RepRap printers. Contributed by Kriechi. +- Fix updates to the print monitor temperatures while preheating. Contributed by fieldOfView. +- Fixed a bug where material cost is not shown unless weight is changed. +- Fixed bugs crashing the CuraEngine when TreeSupport is enabled. +- Fixed a bug where Ultimaker Cura would upload the wrong firmware after switching printers in the UI. +- Fixed a bug where the layer view was missing if the first layer was empty. +- Fixed a bug where erroneous combing movements were taking place. +- Fixed a bug where the initial layer temperature is set correctly for the first object but then never again. +- Fixed a bug where clicking the fx icon didn’t respond. + [3.5.1] *Bug fixes - Fixed M104 temperature commands giving inaccurate results. From 09e7603dd61b898d131add039a90aeb63447cfdc Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 30 Oct 2018 12:28:56 +0100 Subject: [PATCH 356/423] Update nozzle_id to CC Red 0.6 CURA-5839 --- resources/variants/ultimaker_s5_cc06.inst.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/variants/ultimaker_s5_cc06.inst.cfg b/resources/variants/ultimaker_s5_cc06.inst.cfg index e296b6c2f7..dd888eff6f 100644 --- a/resources/variants/ultimaker_s5_cc06.inst.cfg +++ b/resources/variants/ultimaker_s5_cc06.inst.cfg @@ -11,7 +11,7 @@ hardware_type = nozzle [values] brim_width = 7 machine_nozzle_cool_down_speed = 0.9 -machine_nozzle_id = CC 0.6 +machine_nozzle_id = CC Red 0.6 machine_nozzle_size = 0.6 material_print_temperature = =default_material_print_temperature + 10 raft_acceleration = =acceleration_print From 1680548a39348cea805542f76576a0d10d4d7b57 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 30 Oct 2018 13:36:52 +0100 Subject: [PATCH 357/423] Remove extra empty line --- plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index ccee3fb69b..097bd5c7a6 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -59,7 +59,6 @@ Item { visible: printJob; } } - PrintJobPreview { anchors.horizontalCenter: parent.horizontalCenter; From 0273cd2a0e4432f7f77766824b8c843c9657a943 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 30 Oct 2018 13:44:24 +0100 Subject: [PATCH 358/423] Don't show the context menu for printed jobs (only active ones and queued ones) Contributes to CL-1118 --- .../UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 55d3c66eb4..bddefa036b 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -33,6 +33,7 @@ Item { hoverEnabled: true; onClicked: parent.switchPopupState(); text: "\u22EE"; //Unicode; Three stacked points. + visible: printJob.state == "queued" || running ? true : false; width: 35 * screenScaleFactor; // TODO: Theme! } @@ -101,7 +102,7 @@ Item { PrintJobContextMenuItem { enabled: { - if (printJob && !running) { + if (printJob && printJob.state == "queued") { if (OutputDevice && OutputDevice.queuedPrintJobs[0]) { return OutputDevice.queuedPrintJobs[0].key != printJob.key; } @@ -116,7 +117,7 @@ Item { } PrintJobContextMenuItem { - enabled: printJob && !running; + enabled: printJob && printJob.state == "queued"; onClicked: { deleteConfirmationDialog.visible = true; popup.close(); From 30c7a2cbe5acd7a569c50af797c8e98be8ace05a Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 30 Oct 2018 13:58:42 +0100 Subject: [PATCH 359/423] Monitor tab spacing improvements Fixing CL-1063 (adding camera button at all times) introduced a few small spacing issues. This PR fixes them. --- .../resources/qml/PrinterCard.qml | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index be03d41eb8..5dfda15edd 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -48,11 +48,12 @@ Item { Column { height: childrenRect.height; width: parent.width; + spacing: UM.Theme.getSize("default_margin").height; // Main card Item { id: mainCard; - height: 60 * screenScaleFactor + 2 * UM.Theme.getSize("default_margin").width; + height: 60 * screenScaleFactor + UM.Theme.getSize("default_margin").width; width: parent.width; // Machine icon @@ -240,18 +241,15 @@ Item { visible: root.printer; } - Item { - id: cameraButtonWrapper; - height: showCameraButton.width + 2 * UM.Theme.getSize("default_margin").height; - visible: root.printer && root.printJob; - width: height; - CameraButton { - id: showCameraButton; - anchors.centerIn: parent; - iconSource: "../svg/camera-icon.svg"; + CameraButton { + id: showCameraButton; + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; } + iconSource: "../svg/camera-icon.svg"; + visible: root.printer && root.printJob; } - // Progress bar PrinterCardProgressBar { From 0068dc81b13628d79e28b76acccd0e9ecebb4c78 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 30 Oct 2018 15:15:05 +0100 Subject: [PATCH 360/423] Update bundled material packages due to CC 0.6 CURA-5839 - Update bundled material package versions which has material profiles updated due to CC 0.6 - Fix sdk_versions by changing them to 5 - Add bundled material packages for new materials for CC 0.6 --- resources/bundled_packages/cura.json | 136 ++++++++++++++++++++------- 1 file changed, 104 insertions(+), 32 deletions(-) diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index fddbc7484e..714407adc0 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -753,8 +753,8 @@ "package_type": "material", "display_name": "Generic ABS", "description": "The generic ABS profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -771,8 +771,44 @@ "package_type": "material", "display_name": "Generic BAM", "description": "The generic BAM profile which other profiles can be based upon.", + "package_version": "1.1.0", + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericCFFCPE": { + "package_info": { + "package_id": "GenericCFFCPE", + "package_type": "material", + "display_name": "Generic CFF CPE", + "description": "The generic CFF CPE profile which other profiles can be based upon.", "package_version": "1.0.0", - "sdk_version": 6, + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericCFFPA": { + "package_info": { + "package_id": "GenericCFFPA", + "package_type": "material", + "display_name": "Generic CFF PA", + "description": "The generic CFF PA profile which other profiles can be based upon.", + "package_version": "1.0.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -789,8 +825,8 @@ "package_type": "material", "display_name": "Generic CPE", "description": "The generic CPE profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -807,8 +843,44 @@ "package_type": "material", "display_name": "Generic CPE+", "description": "The generic CPE+ profile which other profiles can be based upon.", + "package_version": "1.1.0", + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericGFFCPE": { + "package_info": { + "package_id": "GenericGFFCPE", + "package_type": "material", + "display_name": "Generic GFF CPE", + "description": "The generic GFF CPE profile which other profiles can be based upon.", "package_version": "1.0.0", - "sdk_version": 6, + "sdk_version": 5, + "website": "https://github.com/Ultimaker/fdm_materials", + "author": { + "author_id": "Generic", + "display_name": "Generic", + "email": "materials@ultimaker.com", + "website": "https://github.com/Ultimaker/fdm_materials", + "description": "Professional 3D printing made accessible." + } + } + }, + "GenericGFFPA": { + "package_info": { + "package_id": "GenericGFFPA", + "package_type": "material", + "display_name": "Generic GFF PA", + "description": "The generic GFF PA profile which other profiles can be based upon.", + "package_version": "1.0.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -826,7 +898,7 @@ "display_name": "Generic HIPS", "description": "The generic HIPS profile which other profiles can be based upon.", "package_version": "1.0.0", - "sdk_version": 6, + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -843,8 +915,8 @@ "package_type": "material", "display_name": "Generic Nylon", "description": "The generic Nylon profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -861,8 +933,8 @@ "package_type": "material", "display_name": "Generic PC", "description": "The generic PC profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -880,7 +952,7 @@ "display_name": "Generic PETG", "description": "The generic PETG profile which other profiles can be based upon.", "package_version": "1.0.0", - "sdk_version": 6, + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -897,8 +969,8 @@ "package_type": "material", "display_name": "Generic PLA", "description": "The generic PLA profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -915,8 +987,8 @@ "package_type": "material", "display_name": "Generic PP", "description": "The generic PP profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -933,8 +1005,8 @@ "package_type": "material", "display_name": "Generic PVA", "description": "The generic PVA profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -951,8 +1023,8 @@ "package_type": "material", "display_name": "Generic Tough PLA", "description": "The generic Tough PLA profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.0.1", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -969,8 +1041,8 @@ "package_type": "material", "display_name": "Generic TPU", "description": "The generic TPU profile which other profiles can be based upon.", - "package_version": "1.0.0", - "sdk_version": 6, + "package_version": "1.1.0", + "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1225,7 +1297,7 @@ "package_type": "material", "display_name": "Ultimaker ABS", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1244,7 +1316,7 @@ "package_type": "material", "display_name": "Ultimaker Breakaway", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/breakaway", "author": { @@ -1263,7 +1335,7 @@ "package_type": "material", "display_name": "Ultimaker CPE", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1282,7 +1354,7 @@ "package_type": "material", "display_name": "Ultimaker CPE+", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/cpe", "author": { @@ -1301,7 +1373,7 @@ "package_type": "material", "display_name": "Ultimaker Nylon", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1320,7 +1392,7 @@ "package_type": "material", "display_name": "Ultimaker PC", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pc", "author": { @@ -1339,7 +1411,7 @@ "package_type": "material", "display_name": "Ultimaker PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1358,7 +1430,7 @@ "package_type": "material", "display_name": "Ultimaker PP", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pp", "author": { @@ -1377,7 +1449,7 @@ "package_type": "material", "display_name": "Ultimaker PVA", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1396,7 +1468,7 @@ "package_type": "material", "display_name": "Ultimaker TPU 95A", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/tpu-95a", "author": { From e887c260ab3f7919621e47181eddf4ff6c414a17 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 31 Oct 2018 09:30:41 +0100 Subject: [PATCH 361/423] Add contributors to printer-defs section in the 3.6-changelog. part of [CURA-5871] Release notes Cura 3.6 Beta --- plugins/ChangeLogPlugin/ChangeLog.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index ea3b4f9239..e3631b6887 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -30,10 +30,10 @@ In previous versions, Ultimaker Cura would display an error dialog explaining wh A new tab has been added to the Toolbox that includes downloadable material profiles, to quickly and easily prepare models for a range of third-party materials. *New third-party definitions -New profiles added for Anycube 4MAx and Tizyx K25. +New profiles added for Anycube 4MAx and Tizyx K25. Contributed by jscurtu and ValentinPitre respectively. *Improved definitions for Ender-3 -The Ender-3 build plate size has been adjusted to the correct size of 235 x 235 mm, corrected the start-up sequence, and the printhead position has been adjusted when prints are purged or completed. +The Ender-3 build plate size has been adjusted to the correct size of 235 x 235 mm, corrected the start-up sequence, and the printhead position has been adjusted when prints are purged or completed. Contributed by stelgenhof. *Add mesh names to slicing message Added comment generation to indicate which mesh the GCODE after this comment is constructing. Contributed by paukstelis. From 33da50df267470cf92779eb1cf8de882ae1c7066 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 31 Oct 2018 09:45:29 +0100 Subject: [PATCH 362/423] Rename other entries of the Toolbox to Marketplace. Add a line in the Changelog indicating that the Toolbox was renamed. Contributes to CURA-5874. --- plugins/ChangeLogPlugin/ChangeLog.txt | 7 ++++-- .../qml/ToolboxDownloadsShowcaseTile.qml | 2 +- plugins/Toolbox/src/PackagesModel.py | 2 +- plugins/Toolbox/src/Toolbox.py | 24 +++++++++---------- resources/qml/Cura.qml | 2 +- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index ea3b4f9239..b92c18b2b2 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -26,8 +26,11 @@ Fullscreen mode can be toggled using the View menu or with the keyboard shortcut *Configuration error message In previous versions, Ultimaker Cura would display an error dialog explaining when something happened to user configuration files, including the option to reset to factory defaults. This would not warn about losing the current printer and print profile settings, so this information has been added. -*Materials in the Toolbox -A new tab has been added to the Toolbox that includes downloadable material profiles, to quickly and easily prepare models for a range of third-party materials. +*Rename Toolbox to Marketplace +The entry points to the Toolbox are now renamed to Marketplace. + +*Materials in the Marketplace +A new tab has been added to the Marketplace that includes downloadable material profiles, to quickly and easily prepare models for a range of third-party materials. *New third-party definitions New profiles added for Anycube 4MAx and Tizyx K25. diff --git a/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml b/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml index 845bbe8f91..4fb70541d2 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDownloadsShowcaseTile.qml @@ -1,5 +1,5 @@ // Copyright (c) 2018 Ultimaker B.V. -// Toolbox is released under the terms of the LGPLv3 or higher. +// Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.7 import QtQuick.Controls 1.4 diff --git a/plugins/Toolbox/src/PackagesModel.py b/plugins/Toolbox/src/PackagesModel.py index ae4cd7682d..aa5626b7f2 100644 --- a/plugins/Toolbox/src/PackagesModel.py +++ b/plugins/Toolbox/src/PackagesModel.py @@ -52,7 +52,7 @@ class PackagesModel(ListModel): items = [] if self._metadata is None: - Logger.logException("w", "Failed to load packages for Toolbox") + Logger.logException("w", "Failed to load packages for Marketplace") self.setItems(items) return diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 3e2085277a..91eb810a70 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -245,7 +245,7 @@ class Toolbox(QObject, Extension): self._dialog = self._createDialog("Toolbox.qml") if not self._dialog: - Logger.log("e", "Unexpected error trying to create the 'Toolbox' dialog.") + Logger.log("e", "Unexpected error trying to create the 'Marketplace' dialog.") return self._dialog.show() @@ -254,7 +254,7 @@ class Toolbox(QObject, Extension): self.enabledChanged.emit() def _createDialog(self, qml_name: str) -> Optional[QObject]: - Logger.log("d", "Toolbox: Creating dialog [%s].", qml_name) + Logger.log("d", "Marketplace: Creating dialog [%s].", qml_name) plugin_path = PluginRegistry.getInstance().getPluginPath(self.getPluginId()) if not plugin_path: return None @@ -262,7 +262,7 @@ class Toolbox(QObject, Extension): dialog = self._application.createQmlComponent(path, {"toolbox": self}) if not dialog: - raise Exception("Failed to create toolbox dialog") + raise Exception("Failed to create Marketplace dialog") return dialog def _convertPluginMetadata(self, plugin: Dict[str, Any]) -> Dict[str, Any]: @@ -578,7 +578,7 @@ class Toolbox(QObject, Extension): # Make API Calls # -------------------------------------------------------------------------- def _makeRequestByType(self, type: str) -> None: - Logger.log("i", "Toolbox: Requesting %s metadata from server.", type) + Logger.log("i", "Marketplace: Requesting %s metadata from server.", type) request = QNetworkRequest(self._request_urls[type]) request.setRawHeader(*self._request_header) if self._network_manager: @@ -586,7 +586,7 @@ class Toolbox(QObject, Extension): @pyqtSlot(str) def startDownload(self, url: str) -> None: - Logger.log("i", "Toolbox: Attempting to download & install package from %s.", url) + Logger.log("i", "Marketplace: Attempting to download & install package from %s.", url) url = QUrl(url) self._download_request = QNetworkRequest(url) if hasattr(QNetworkRequest, "FollowRedirectsAttribute"): @@ -603,7 +603,7 @@ class Toolbox(QObject, Extension): @pyqtSlot() def cancelDownload(self) -> None: - Logger.log("i", "Toolbox: User cancelled the download of a package.") + Logger.log("i", "Marketplace: User cancelled the download of a package.") self.resetDownload() def resetDownload(self) -> None: @@ -690,7 +690,7 @@ class Toolbox(QObject, Extension): return except json.decoder.JSONDecodeError: - Logger.log("w", "Toolbox: Received invalid JSON for %s.", type) + Logger.log("w", "Marketplace: Received invalid JSON for %s.", type) break else: self.setViewPage("errored") @@ -717,10 +717,10 @@ class Toolbox(QObject, Extension): self._onDownloadComplete(file_path) def _onDownloadComplete(self, file_path: str) -> None: - Logger.log("i", "Toolbox: Download complete.") + Logger.log("i", "Marketplace: Download complete.") package_info = self._package_manager.getPackageInfo(file_path) if not package_info: - Logger.log("w", "Toolbox: Package file [%s] was not a valid CuraPackage.", file_path) + Logger.log("w", "Marketplace: Package file [%s] was not a valid CuraPackage.", file_path) return license_content = self._package_manager.getPackageLicense(file_path) @@ -819,7 +819,7 @@ class Toolbox(QObject, Extension): @pyqtSlot(str, str, str) def filterModelByProp(self, model_type: str, filter_type: str, parameter: str) -> None: if not self._models[model_type]: - Logger.log("w", "Toolbox: Couldn't filter %s model because it doesn't exist.", model_type) + Logger.log("w", "Marketplace: Couldn't filter %s model because it doesn't exist.", model_type) return self._models[model_type].setFilter({filter_type: parameter}) self.filterChanged.emit() @@ -827,7 +827,7 @@ class Toolbox(QObject, Extension): @pyqtSlot(str, "QVariantMap") def setFilters(self, model_type: str, filter_dict: dict) -> None: if not self._models[model_type]: - Logger.log("w", "Toolbox: Couldn't filter %s model because it doesn't exist.", model_type) + Logger.log("w", "Marketplace: Couldn't filter %s model because it doesn't exist.", model_type) return self._models[model_type].setFilter(filter_dict) self.filterChanged.emit() @@ -835,7 +835,7 @@ class Toolbox(QObject, Extension): @pyqtSlot(str) def removeFilters(self, model_type: str) -> None: if not self._models[model_type]: - Logger.log("w", "Toolbox: Couldn't remove filters on %s model because it doesn't exist.", model_type) + Logger.log("w", "Marketplace: Couldn't remove filters on %s model because it doesn't exist.", model_type) return self._models[model_type].setFilter({}) self.filterChanged.emit() diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 76af9bfe37..029149f1d0 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -283,7 +283,7 @@ UM.MainWindow Menu { id: plugin_menu - title: catalog.i18nc("@title:menu menubar:toplevel", "Marke&tplace") + title: catalog.i18nc("@title:menu menubar:toplevel", "&Marketplace") MenuItem { action: Cura.Actions.browsePackages } } From 3e37f2a09d2317475797f6dbcd8e13b240ea2a9b Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 31 Oct 2018 10:31:20 +0100 Subject: [PATCH 363/423] Reset the list of generic materials to emtpy when creating the models. Contributes to CURA-5873. --- plugins/Toolbox/src/Toolbox.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 3e2085277a..9318e90719 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -845,6 +845,7 @@ class Toolbox(QObject, Extension): def buildMaterialsModels(self) -> None: self._metadata["materials_showcase"] = [] self._metadata["materials_available"] = [] + self._metadata["materials_generic"] = [] processed_authors = [] # type: List[str] From 8a52fd2c2c01fcc192fe7d83221d8f7ba64b6d22 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 31 Oct 2018 10:34:26 +0100 Subject: [PATCH 364/423] Document why these plug-ins are required For the SimulationView, MirrorTool, RotateTool, ScaleTool and TranslateTool I couldn't really find a reason why this is required, so I can't document it. --- cura/CuraApplication.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 5323f1b0fa..5fe5b2066e 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -429,33 +429,33 @@ class CuraApplication(QtApplication): self.setRequiredPlugins([ # Misc.: - "ConsoleLogger", - "CuraEngineBackend", - "UserAgreement", - "FileLogger", - "XmlMaterialProfile", - "Toolbox", - "PrepareStage", - "MonitorStage", - "LocalFileOutputDevice", - "LocalContainerProvider", + "ConsoleLogger", #You want to be able to read the log if something goes wrong. + "CuraEngineBackend", #Cura is useless without this one since you can't slice. + "UserAgreement", #Our lawyers want every user to see this at least once. + "FileLogger", #You want to be able to read the log if something goes wrong. + "XmlMaterialProfile", #Cura crashes without this one. + "Toolbox", #This contains the interface to enable/disable plug-ins, so if you disable it you can't enable it back. + "PrepareStage", #Cura is useless without this one since you can't load models. + "MonitorStage", #Major part of Cura's functionality. + "LocalFileOutputDevice", #Major part of Cura's functionality. + "LocalContainerProvider", #Cura is useless without any profiles or setting definitions. # Views: - "SimpleView", + "SimpleView", #Dependency of SolidView. "SimulationView", - "SolidView", + "SolidView", #Displays models. Cura is useless without it. # Readers & Writers: - "GCodeWriter", - "STLReader", - "3MFWriter", + "GCodeWriter", #Cura is useless if it can't write its output. + "STLReader", #Most common model format, so disabling this makes Cura 90% useless. + "3MFWriter", #Required for writing project files. # Tools: - "CameraTool", + "CameraTool", #Needed to see the scene. Cura is useless without it. "MirrorTool", "RotateTool", "ScaleTool", - "SelectionTool", + "SelectionTool", #Dependency of the rest of the tools. "TranslateTool", ]) self._i18n_catalog = i18nCatalog("cura") From 779496f84679f61a862c4f6a569988731304250e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 31 Oct 2018 10:37:25 +0100 Subject: [PATCH 365/423] Don't require MirrorTool, RotateTool, ScaleTool or SimulationView This was changed last April without consulting the rest of the team. We're reverting it because there is really no reason why these should not be disabled. --- cura/CuraApplication.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 5fe5b2066e..fc9ba1ebf4 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -442,7 +442,6 @@ class CuraApplication(QtApplication): # Views: "SimpleView", #Dependency of SolidView. - "SimulationView", "SolidView", #Displays models. Cura is useless without it. # Readers & Writers: @@ -452,11 +451,8 @@ class CuraApplication(QtApplication): # Tools: "CameraTool", #Needed to see the scene. Cura is useless without it. - "MirrorTool", - "RotateTool", - "ScaleTool", "SelectionTool", #Dependency of the rest of the tools. - "TranslateTool", + "TranslateTool", #You'll need this for almost every print. ]) self._i18n_catalog = i18nCatalog("cura") From 903054190d6089bd90ebc4afcd5eb6d3212d0a8d Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 31 Oct 2018 11:23:57 +0100 Subject: [PATCH 366/423] Fixing some spacing issues with camera button Contributes to CL-1063 --- .../resources/qml/PrinterCard.qml | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 5dfda15edd..6c6df7d7fb 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -36,7 +36,7 @@ Item { return UM.Theme.getColor("monitor_card_background"); } } - height: childrenRect.height; + height: childrenRect.height + UM.Theme.getSize("default_margin").height; layer.effect: DropShadow { radius: root.shadowRadius; verticalOffset: root.shadowOffset; @@ -46,6 +46,11 @@ Item { width: parent.width - 2 * shadowRadius; Column { + id: cardContents; + anchors { + top: parent.top; + topMargin: UM.Theme.getSize("default_margin").height; + } height: childrenRect.height; width: parent.width; spacing: UM.Theme.getSize("default_margin").height; @@ -53,7 +58,7 @@ Item { // Main card Item { id: mainCard; - height: 60 * screenScaleFactor + UM.Theme.getSize("default_margin").width; + height: 60 * screenScaleFactor; width: parent.width; // Machine icon @@ -109,7 +114,7 @@ Item { id: printerInfo; anchors { left: machineIcon.right; - leftMargin: UM.Theme.getSize("default_margin").width; + leftMargin: UM.Theme.getSize("wide_margin").width; right: collapseIcon.left; verticalCenter: machineIcon.verticalCenter; } @@ -250,11 +255,16 @@ Item { iconSource: "../svg/camera-icon.svg"; visible: root.printer && root.printJob; } + } - // Progress bar - PrinterCardProgressBar { - visible: printer && printer.activePrintJob != null; + // Progress bar + PrinterCardProgressBar { + anchors { + top: cardContents.bottom; + topMargin: UM.Theme.getSize("default_margin").height; } + visible: printer && printer.activePrintJob != null; + width: parent.width; } } } From 3548f9f23cc26cf907cbd743ed26968638f79064 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 31 Oct 2018 11:31:05 +0100 Subject: [PATCH 367/423] Fix typo in the bundled packages. --- resources/bundled_packages/cura.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 714407adc0..8ec0c3d29d 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -1149,7 +1149,7 @@ "website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/", "author": { "author_id": "Fiberlogy", - "diplay_name": "Fiberlogy S.A.", + "display_name": "Fiberlogy S.A.", "email": "grzegorz.h@fiberlogy.com", "website": "http://fiberlogy.com" } From ac7a566ae1e88a8750c7fd46a838c9cb7e45b644 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 31 Oct 2018 11:45:30 +0100 Subject: [PATCH 368/423] Do not show "move to top" on print jobs waiting for configuration change Contributes to CL-1118 --- .../resources/qml/PrintJobContextMenu.qml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index bddefa036b..843865cd00 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -12,6 +12,7 @@ Item { id: root; property var printJob: null; property var running: isRunning(printJob); + property var assigned: isAssigned(printJob); Button { id: button; @@ -102,7 +103,7 @@ Item { PrintJobContextMenuItem { enabled: { - if (printJob && printJob.state == "queued") { + if (printJob && printJob.state == "queued" && !assigned) { if (OutputDevice && OutputDevice.queuedPrintJobs[0]) { return OutputDevice.queuedPrintJobs[0].key != printJob.key; } @@ -117,7 +118,6 @@ Item { } PrintJobContextMenuItem { - enabled: printJob && printJob.state == "queued"; onClicked: { deleteConfirmationDialog.visible = true; popup.close(); @@ -210,4 +210,10 @@ Item { } return ["paused", "printing", "pre_print"].indexOf(job.state) !== -1; } + function isAssigned(job) { + if (!job) { + return false; + } + return job.assignedPrinter ? true : false; + } } From 7960772ac8ba1f3764840da01c759642f82eeeac Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 31 Oct 2018 11:46:19 +0100 Subject: [PATCH 369/423] Do show "delete" on print jobs waiting for configuration change Contributes to CL-1118 --- plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 843865cd00..473fd87a34 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -118,6 +118,7 @@ Item { } PrintJobContextMenuItem { + enabled: printJob && !running; onClicked: { deleteConfirmationDialog.visible = true; popup.close(); From a5c2a734875a859d60bba81242861fb8d4e16290 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 31 Oct 2018 13:08:59 +0100 Subject: [PATCH 370/423] Fix adhesion type checkbox if default is skirt The remove-unused-values feature doesn't work with settings that are resolved, because we try to remove them at the appropriate position in the stack but then we check at that position in the stack if the value is not the same as what it was, but with this check the resolve function is no longer evaluated. It's complex, but hard to solve because we can't try to remove it at this location and predict that this will change the actual final value after the resolve function has done its thing. Contributes to issue CURA-5877. --- resources/qml/SidebarSimple.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index ec673f2823..ddb42f44c6 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -1118,6 +1118,7 @@ Item { id: platformAdhesionType containerStack: Cura.MachineManager.activeMachine + removeUnusedValue: false //Doesn't work with settings that are resolved. key: "adhesion_type" watchedProperties: [ "value", "enabled" ] storeIndex: 0 From 1ba8eff7fadc2f3e2726002d93ca42d4e34d0a77 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Wed, 31 Oct 2018 13:52:31 +0100 Subject: [PATCH 371/423] Don't show camera icon unless printer details are expanded Contributes to CL-1063 --- .../resources/qml/PrinterCard.qml | 55 +++++-------------- .../resources/qml/PrinterCardDetails.qml | 14 +++-- 2 files changed, 23 insertions(+), 46 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml index 6c6df7d7fb..24beaf70fe 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCard.qml @@ -36,7 +36,7 @@ Item { return UM.Theme.getColor("monitor_card_background"); } } - height: childrenRect.height + UM.Theme.getSize("default_margin").height; + height: childrenRect.height; layer.effect: DropShadow { radius: root.shadowRadius; verticalOffset: root.shadowOffset; @@ -47,29 +47,25 @@ Item { Column { id: cardContents; - anchors { - top: parent.top; - topMargin: UM.Theme.getSize("default_margin").height; - } height: childrenRect.height; width: parent.width; - spacing: UM.Theme.getSize("default_margin").height; // Main card Item { id: mainCard; - height: 60 * screenScaleFactor; + anchors { + left: parent.left; + leftMargin: UM.Theme.getSize("default_margin").width; + right: parent.right; + rightMargin: UM.Theme.getSize("default_margin").width; + } + height: 60 * screenScaleFactor + 2 * UM.Theme.getSize("default_margin").height; width: parent.width; // Machine icon Item { id: machineIcon; - anchors { - leftMargin: UM.Theme.getSize("wide_margin").width; - top: parent.top; - left: parent.left; - margins: UM.Theme.getSize("default_margin").width; - } + anchors.verticalCenter: parent.verticalCenter; height: parent.height - 2 * UM.Theme.getSize("default_margin").width; width: height; @@ -228,17 +224,6 @@ Item { } } } - - HorizontalLine { - anchors { - left: parent.left; - leftMargin: UM.Theme.getSize("default_margin").width; - right: parent.right; - rightMargin: UM.Theme.getSize("default_margin").width; - } - visible: root.printer; - } - // Detailed card PrinterCardDetails { collapsed: root.collapsed; @@ -246,25 +231,11 @@ Item { visible: root.printer; } - CameraButton { - id: showCameraButton; - anchors { - left: parent.left; - leftMargin: UM.Theme.getSize("default_margin").width; - } - iconSource: "../svg/camera-icon.svg"; - visible: root.printer && root.printJob; + // Progress bar + PrinterCardProgressBar { + visible: printer && printer.activePrintJob != null; + width: parent.width; } } - - // Progress bar - PrinterCardProgressBar { - anchors { - top: cardContents.bottom; - topMargin: UM.Theme.getSize("default_margin").height; - } - visible: printer && printer.activePrintJob != null; - width: parent.width; - } } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml index 097bd5c7a6..31da388b00 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrinterCardDetails.qml @@ -28,18 +28,18 @@ Item { right: parent.right; rightMargin: UM.Theme.getSize("default_margin").width; } - height: childrenRect.height + UM.Theme.getSize("wide_margin").height; + height: childrenRect.height + UM.Theme.getSize("default_margin").height; spacing: UM.Theme.getSize("default_margin").height; width: parent.width; + HorizontalLine {} + PrinterInfoBlock { printer: root.printer; printJob: root.printer ? root.printer.activePrintJob : null; } - HorizontalLine { - visible: root.printJob; - } + HorizontalLine {} Row { height: childrenRect.height; @@ -65,5 +65,11 @@ Item { job: root.printer && root.printer.activePrintJob ? root.printer.activePrintJob : null; visible: root.printJob; } + + CameraButton { + id: showCameraButton; + iconSource: "../svg/camera-icon.svg"; + visible: root.printer; + } } } From cb24549d7d0caa4f010bb0c26a40e0a8ace84a5e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 1 Nov 2018 08:29:52 +0100 Subject: [PATCH 372/423] Set CuraApplication display name CURA-5842 --- cura/CuraApplication.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index fc9ba1ebf4..3e9e44149b 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -161,6 +161,7 @@ class CuraApplication(QtApplication): def __init__(self, *args, **kwargs): super().__init__(name = "cura", + app_display_name = "Ultimaker Cura", version = CuraVersion, buildtype = CuraBuildType, is_debug_mode = CuraDebugMode, From e884605cc3c1b272b0be501c948e763f66191656 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 1 Nov 2018 08:47:44 +0100 Subject: [PATCH 373/423] Fix typo. --- resources/qml/AddMachineDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/AddMachineDialog.qml b/resources/qml/AddMachineDialog.qml index d3a6de51af..1b39cdeac2 100644 --- a/resources/qml/AddMachineDialog.qml +++ b/resources/qml/AddMachineDialog.qml @@ -82,7 +82,7 @@ UM.Dialog top: titleLabel.bottom topMargin: UM.Theme.getSize("default_margin").height } - text: catalog.i18nc("@title:tab", "Select the printer you want to use from the list below.\n\nIf your printer is not in the list, use the \"Custom FFF Printer\" from the \"Custom\" category and match adjust the settings to match your printer in the next dialog.") + text: catalog.i18nc("@title:tab", "Select the printer you want to use from the list below.\n\nIf your printer is not in the list, use the \"Custom FFF Printer\" from the \"Custom\" category and adjust the settings to match your printer in the next dialog.") width: parent.width wrapMode: Text.WordWrap } From ff4dfcf9a6259b477bee7a5685e025df1b6c5b12 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 1 Nov 2018 12:14:49 +0100 Subject: [PATCH 374/423] Make Cura app display name configurable CURA-5842 --- CMakeLists.txt | 1 + cura/CuraApplication.py | 5 +++-- cura/CuraVersion.py.in | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e9bf4b538..deb4e63935 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ if(CURA_DEBUGMODE) set(_cura_debugmode "ON") endif() +set(CURA_APP_DISPLAY_NAME "Ultimaker Cura" CACHE STRING "Display name of Cura") set(CURA_VERSION "master" CACHE STRING "Version name of Cura") set(CURA_BUILDTYPE "" CACHE STRING "Build type of Cura, eg. 'PPA'") set(CURA_SDK_VERSION "" CACHE STRING "SDK version of Cura") diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 3e9e44149b..454c2529dc 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -128,8 +128,9 @@ if TYPE_CHECKING: numpy.seterr(all = "ignore") try: - from cura.CuraVersion import CuraVersion, CuraBuildType, CuraDebugMode, CuraSDKVersion + from cura.CuraVersion import CuraAppDisplayName, CuraVersion, CuraBuildType, CuraDebugMode, CuraSDKVersion except ImportError: + CuraAppDisplayName = "Ultimaker Cura" CuraVersion = "master" # [CodeStyle: Reflecting imported value] CuraBuildType = "" CuraDebugMode = False @@ -161,7 +162,7 @@ class CuraApplication(QtApplication): def __init__(self, *args, **kwargs): super().__init__(name = "cura", - app_display_name = "Ultimaker Cura", + app_display_name = CuraAppDisplayName, version = CuraVersion, buildtype = CuraBuildType, is_debug_mode = CuraDebugMode, diff --git a/cura/CuraVersion.py.in b/cura/CuraVersion.py.in index 226b2183f2..388429bc02 100644 --- a/cura/CuraVersion.py.in +++ b/cura/CuraVersion.py.in @@ -1,6 +1,7 @@ # Copyright (c) 2015 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +CuraAppDisplayName = "@CURA_APP_DISPLAY_NAME@" CuraVersion = "@CURA_VERSION@" CuraBuildType = "@CURA_BUILDTYPE@" CuraDebugMode = True if "@_cura_debugmode@" == "ON" else False From e61a6e7a5cea0d4aa4812738d485c4dcfca9ec05 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 1 Nov 2018 09:32:23 +0100 Subject: [PATCH 375/423] Fix codestyle --- resources/qml/AddMachineDialog.qml | 35 ++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/resources/qml/AddMachineDialog.qml b/resources/qml/AddMachineDialog.qml index 1b39cdeac2..0df8b891d9 100644 --- a/resources/qml/AddMachineDialog.qml +++ b/resources/qml/AddMachineDialog.qml @@ -25,7 +25,8 @@ UM.Dialog width: minimumWidth height: minimumHeight - flags: { + flags: + { var window_flags = Qt.Dialog | Qt.CustomizeWindowHint | Qt.WindowTitleHint; if (Cura.MachineManager.activeDefinitionId !== "") //Disallow closing the window if we have no active printer yet. You MUST add a printer. { @@ -48,22 +49,28 @@ UM.Dialog function getMachineName() { - return machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : ""; + if (machineList.model.getItem(machineList.currentIndex) != undefined) + { + return machineList.model.getItem(machineList.currentIndex).name; + } + return ""; } function getMachineMetaDataEntry(key) { - var metadata = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).metadata : undefined; - if (metadata) + if (machineList.model.getItem(machineList.currentIndex) != undefined) { - return metadata[key]; + return machineList.model.getItem(machineList.currentIndex).metadata[key]; } - return undefined; + return ""; } - Label { + + Label + { id: titleLabel - anchors { + anchors + { top: parent.top left: parent.left topMargin: UM.Theme.getSize("default_margin") @@ -102,7 +109,8 @@ UM.Dialog width: Math.round(parent.width * 0.45) frameVisible: true; - Rectangle { + Rectangle + { parent: viewport anchors.fill: parent color: palette.light @@ -159,11 +167,14 @@ UM.Dialog onClicked: { base.activeCategory = section; - if (machineList.model.getItem(machineList.currentIndex).section != section) { + if (machineList.model.getItem(machineList.currentIndex).section != section) + { // Find the first machine from this section - for(var i = 0; i < machineList.model.rowCount(); i++) { + for(var i = 0; i < machineList.model.rowCount(); i++) + { var item = machineList.model.getItem(i); - if (item.section == section) { + if (item.section == section) + { machineList.currentIndex = i; break; } From 4dc248a63158b5b17bde7c944999b7c1d563989c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 1 Nov 2018 14:43:22 +0100 Subject: [PATCH 376/423] Rename Open Marketplace to just Marketplace Because Open Marketplace has to be translated (the 'open' part) but the Marketplace can just be called marketplace. Contributes to issue 5870. --- resources/qml/Actions.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 161c1db342..892386d9e7 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -421,7 +421,7 @@ Item Action { id: browsePackagesAction - text: catalog.i18nc("@action:menu", "Open Marketplace...") + text: catalog.i18nc("@action:menu", "&Marketplace") iconName: "plugins_browse" } From 90726ecbff305d044dc63e5829134351e3e624f0 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 1 Nov 2018 15:28:08 +0100 Subject: [PATCH 377/423] Fix situation where the setting visibility model could cause a crash. Yay for crash logging --- cura/Machines/Models/SettingVisibilityPresetsModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Machines/Models/SettingVisibilityPresetsModel.py b/cura/Machines/Models/SettingVisibilityPresetsModel.py index 2702001d8a..79131521f2 100644 --- a/cura/Machines/Models/SettingVisibilityPresetsModel.py +++ b/cura/Machines/Models/SettingVisibilityPresetsModel.py @@ -140,7 +140,7 @@ class SettingVisibilityPresetsModel(QObject): item_to_set = self._active_preset_item if matching_preset_item is None: # The new visibility setup is "custom" should be custom - if self._active_preset_item.presetId == "custom": + if self._active_preset_item is None or self._active_preset_item.presetId == "custom": # We are already in custom, just save the settings self._preferences.setValue("cura/custom_visible_settings", visibility_string) else: From 28526744990580b1f181d2c7afe0726e59b5be13 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 1 Nov 2018 15:50:18 +0100 Subject: [PATCH 378/423] Adjust state of API call It can just be an arbitrary string, as long as it is kept consistent I suppose. Discovered during test of CURA-5784. --- cura/OAuth2/AuthorizationService.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 65b31f1ed7..4355891139 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -120,7 +120,7 @@ class AuthorizationService: "redirect_uri": self._settings.CALLBACK_URL, "scope": self._settings.CLIENT_SCOPES, "response_type": "code", - "state": "CuraDriveIsAwesome", + "state": "(.Y.)", "code_challenge": challenge_code, "code_challenge_method": "S512" }) From a0295786b08bb4233f1b88c65c55d771ec6d2f5b Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 5 Nov 2018 09:44:41 +0100 Subject: [PATCH 379/423] Remove unused installer.nsi It won't work any more anyway. Please use https://github.com/Ultimaker/cura-build to create an installer for Cura. --- installer.nsi | 156 -------------------------------------------------- 1 file changed, 156 deletions(-) delete mode 100644 installer.nsi diff --git a/installer.nsi b/installer.nsi deleted file mode 100644 index 7516f733a1..0000000000 --- a/installer.nsi +++ /dev/null @@ -1,156 +0,0 @@ -!ifndef VERSION - !define VERSION '15.09.80' -!endif - -; The name of the installer -Name "Cura ${VERSION}" - -; The file to write -OutFile "Cura_${VERSION}.exe" - -; The default installation directory -InstallDir $PROGRAMFILES\Cura_${VERSION} - -; Registry key to check for directory (so if you install again, it will -; overwrite the old one automatically) -InstallDirRegKey HKLM "Software\Cura_${VERSION}" "Install_Dir" - -; Request application privileges for Windows Vista -RequestExecutionLevel admin - -; Set the LZMA compressor to reduce size. -SetCompressor /SOLID lzma -;-------------------------------- - -!include "MUI2.nsh" -!include "Library.nsh" - -; !define MUI_ICON "dist/resources/cura.ico" -!define MUI_BGCOLOR FFFFFF - -; Directory page defines -!define MUI_DIRECTORYPAGE_VERIFYONLEAVE - -; Header -; Don't show the component description box -!define MUI_COMPONENTSPAGE_NODESC - -;Do not leave (Un)Installer page automaticly -!define MUI_FINISHPAGE_NOAUTOCLOSE -!define MUI_UNFINISHPAGE_NOAUTOCLOSE - -;Run Cura after installing -!define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_RUN_TEXT "Start Cura ${VERSION}" -!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink" - -;Add an option to show release notes -!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\plugins\ChangeLogPlugin\changelog.txt" - -; Pages -;!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_DIRECTORY -!insertmacro MUI_PAGE_COMPONENTS -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH - -; Languages -!insertmacro MUI_LANGUAGE "English" - -; Reserve Files -!insertmacro MUI_RESERVEFILE_LANGDLL -ReserveFile '${NSISDIR}\Plugins\InstallOptions.dll' - -;-------------------------------- - -; The stuff to install -Section "Cura ${VERSION}" - - SectionIn RO - - ; Set output path to the installation directory. - SetOutPath $INSTDIR - - ; Put file there - File /r "dist\" - - ; Write the installation path into the registry - WriteRegStr HKLM "SOFTWARE\Cura_${VERSION}" "Install_Dir" "$INSTDIR" - - ; Write the uninstall keys for Windows - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "DisplayName" "Cura ${VERSION}" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "UninstallString" '"$INSTDIR\uninstall.exe"' - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "NoModify" 1 - WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" "NoRepair" 1 - WriteUninstaller "uninstall.exe" - - ; Write start menu entries for all users - SetShellVarContext all - - CreateDirectory "$SMPROGRAMS\Cura ${VERSION}" - CreateShortCut "$SMPROGRAMS\Cura ${VERSION}\Uninstall Cura ${VERSION}.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 - CreateShortCut "$SMPROGRAMS\Cura ${VERSION}\Cura ${VERSION}.lnk" "$INSTDIR\Cura.exe" '' "$INSTDIR\Cura.exe" 0 - -SectionEnd - -Function LaunchLink - ; Write start menu entries for all users - SetShellVarContext all - Exec '"$WINDIR\explorer.exe" "$SMPROGRAMS\Cura ${VERSION}\Cura ${VERSION}.lnk"' -FunctionEnd - -Section "Install Visual Studio 2010 Redistributable" - SetOutPath "$INSTDIR" - File "vcredist_2010_20110908_x86.exe" - - IfSilent +2 - ExecWait '"$INSTDIR\vcredist_2010_20110908_x86.exe" /q /norestart' - -SectionEnd - -Section "Install Arduino Drivers" - ; Set output path to the driver directory. - SetOutPath "$INSTDIR\drivers\" - File /r "drivers\" - - ${If} ${RunningX64} - IfSilent +2 - ExecWait '"$INSTDIR\drivers\dpinst64.exe" /lm' - ${Else} - IfSilent +2 - ExecWait '"$INSTDIR\drivers\dpinst32.exe" /lm' - ${EndIf} -SectionEnd - -Section "Open STL files with Cura" - ${registerExtension} "$INSTDIR\Cura.exe" ".stl" "STL_File" -SectionEnd - -Section /o "Open OBJ files with Cura" - WriteRegStr HKCR .obj "" "Cura OBJ model file" - DeleteRegValue HKCR .obj "Content Type" - WriteRegStr HKCR "Cura OBJ model file\DefaultIcon" "" "$INSTDIR\Cura.exe,0" - WriteRegStr HKCR "Cura OBJ model file\shell" "" "open" - WriteRegStr HKCR "Cura OBJ model file\shell\open\command" "" '"$INSTDIR\Cura.exe" "%1"' -SectionEnd - -;-------------------------------- - -; Uninstaller - -Section "Uninstall" - - ; Remove registry keys - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Cura_${VERSION}" - DeleteRegKey HKLM "SOFTWARE\Cura_${VERSION}" - - ; Write start menu entries for all users - SetShellVarContext all - ; Remove directories used - RMDir /r "$SMPROGRAMS\Cura ${VERSION}" - RMDir /r "$INSTDIR" - -SectionEnd From eded0f02974c31e84e0c6dc505f234f68af7ea81 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 5 Nov 2018 11:17:39 +0100 Subject: [PATCH 380/423] Make quality manager also include profiles with same GUID in fallback. This ensures that if a (duplicated) material does not have a generic variant, that the material it was copied from will be added to the fallback list. CURA-5898 --- cura/Machines/MaterialManager.py | 26 ++++++++++++++++++++++++-- cura/Machines/QualityManager.py | 12 +++++++----- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 1a204c020b..cbe1d10656 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -12,6 +12,7 @@ from UM.Application import Application from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Logger import Logger from UM.Settings.ContainerRegistry import ContainerRegistry +from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.SettingFunction import SettingFunction from UM.Util import parseBool @@ -298,7 +299,7 @@ class MaterialManager(QObject): def getRootMaterialIDWithoutDiameter(self, root_material_id: str) -> str: return self._diameter_material_map.get(root_material_id, "") - def getMaterialGroupListByGUID(self, guid: str) -> Optional[list]: + def getMaterialGroupListByGUID(self, guid: str) -> Optional[List[MaterialGroup]]: return self._guid_material_groups_map.get(guid) # @@ -446,6 +447,28 @@ class MaterialManager(QObject): material_diameter, root_material_id) return node + # There are 2 ways to get fallback materials; + # - A fallback by type (@sa getFallbackMaterialIdByMaterialType), which adds the generic version of this material + # - A fallback by GUID; If a material has been duplicated, it should also check if the original materials do have + # a GUID. This should only be done if the material itself does not have a quality just yet. + def getFallBackMaterialIdsByMaterial(self, material: InstanceContainer) -> List[str]: + results = [] # List[str] + + material_groups = self.getMaterialGroupListByGUID(material.getMetaDataEntry("GUID")) + for material_group in material_groups: + if material_group.name != material.getId(): + # If the material in the group is read only, put it at the front of the list (since that is the most + # likely one to get a result) + if material_group.is_read_only: + results.insert(0, material_group.name) + else: + results.append(material_group.name) + + fallback = self.getFallbackMaterialIdByMaterialType(material.getMetaDataEntry("material")) + if fallback is not None: + results.append(fallback) + return results + # # Used by QualityManager. Built-in quality profiles may be based on generic material IDs such as "generic_pla". # For materials such as ultimaker_pla_orange, no quality profiles may be found, so we should fall back to use @@ -602,7 +625,6 @@ class MaterialManager(QObject): container_to_add.setDirty(True) self._container_registry.addContainer(container_to_add) - # if the duplicated material was favorite then the new material should also be added to favorite. if root_material_id in self.getFavorites(): self.addFavorite(new_base_id) diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index ce19624c21..60a6820772 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -259,11 +259,13 @@ class QualityManager(QObject): root_material_id = self._material_manager.getRootMaterialIDWithoutDiameter(root_material_id) root_material_id_list.append(root_material_id) - # Also try to get the fallback material - material_type = extruder.material.getMetaDataEntry("material") - fallback_root_material_id = self._material_manager.getFallbackMaterialIdByMaterialType(material_type) - if fallback_root_material_id: - root_material_id_list.append(fallback_root_material_id) + # Also try to get the fallback materials + fallback_ids = self._material_manager.getFallBackMaterialIdsByMaterial(extruder.material) + + if fallback_ids: + root_material_id_list.extend(fallback_ids) + root_material_id_list = list(set(root_material_id_list)) # Weed out duplicates + # Here we construct a list of nodes we want to look for qualities with the highest priority first. # The use case is that, when we look for qualities for a machine, we first want to search in the following From 412e5977a6c24d7c2553daecf74e57b473af8851 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 5 Nov 2018 11:30:02 +0100 Subject: [PATCH 381/423] Fix type issues --- cura/CuraApplication.py | 2 +- cura/Machines/MaterialManager.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 5323f1b0fa..0610d8da86 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -128,7 +128,7 @@ if TYPE_CHECKING: numpy.seterr(all = "ignore") try: - from cura.CuraVersion import CuraVersion, CuraBuildType, CuraDebugMode, CuraSDKVersion + from cura.CuraVersion import CuraVersion, CuraBuildType, CuraDebugMode, CuraSDKVersion # type: ignore except ImportError: CuraVersion = "master" # [CodeStyle: Reflecting imported value] CuraBuildType = "" diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index cbe1d10656..4f7646b341 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -452,10 +452,10 @@ class MaterialManager(QObject): # - A fallback by GUID; If a material has been duplicated, it should also check if the original materials do have # a GUID. This should only be done if the material itself does not have a quality just yet. def getFallBackMaterialIdsByMaterial(self, material: InstanceContainer) -> List[str]: - results = [] # List[str] + results = [] # type: List[str] material_groups = self.getMaterialGroupListByGUID(material.getMetaDataEntry("GUID")) - for material_group in material_groups: + for material_group in material_groups: # type: ignore if material_group.name != material.getId(): # If the material in the group is read only, put it at the front of the list (since that is the most # likely one to get a result) From fa693aef2b7b4e85e691c916abd23ad7acc2ca14 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 5 Nov 2018 11:48:17 +0100 Subject: [PATCH 382/423] Fix material shown in print jobs CURA-5887 - Use MaterialManager to get materials - For a GUID with mulitple matches, show the read-only materials first if any. Otherwise, show non-read-only materials. --- .../src/ClusterUM3OutputDevice.py | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index 7504d55ad9..e4cea70f98 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -591,12 +591,26 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): return result def _createMaterialOutputModel(self, material_data) -> MaterialOutputModel: - containers = ContainerRegistry.getInstance().findInstanceContainers(type="material", GUID=material_data["guid"]) - if containers: - color = containers[0].getMetaDataEntry("color_code") - brand = containers[0].getMetaDataEntry("brand") - material_type = containers[0].getMetaDataEntry("material") - name = containers[0].getName() + material_manager = CuraApplication.getInstance().getMaterialManager() + material_group_list = material_manager.getMaterialGroupListByGUID(material_data["guid"]) + + # Sort the material groups by "is_read_only = True" first, and then the name alphabetically. + read_only_material_group_list = list(filter(lambda x: x.is_read_only, material_group_list)) + non_read_only_material_group_list = list(filter(lambda x: not x.is_read_only, material_group_list)) + material_group = None + if read_only_material_group_list: + read_only_material_group_list = sorted(read_only_material_group_list, key = lambda x: x.name) + material_group = read_only_material_group_list[0] + elif non_read_only_material_group_list: + non_read_only_material_group_list = sorted(non_read_only_material_group_list, key = lambda x: x.name) + material_group = non_read_only_material_group_list[0] + + if material_group: + container = material_group.root_material_node.getContainer() + color = container.getMetaDataEntry("color_code") + brand = container.getMetaDataEntry("brand") + material_type = container.getMetaDataEntry("material") + name = container.getName() else: Logger.log("w", "Unable to find material with guid {guid}. Using data as provided by cluster".format( From 4f10b7809aa1cc97fc73703c9f9f73915edff363 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 5 Nov 2018 12:15:17 +0100 Subject: [PATCH 383/423] Configuration override improvements Contributes to CL-1124 --- .../resources/qml/PrintJobInfoBlock.qml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 0fa65ba4c4..d851b684e5 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -355,7 +355,7 @@ Item { anchors.fill: parent; elide: Text.ElideRight; color: UM.Theme.getColor("text"); - font: UM.Theme.getFont("large_nonbold"); + font: UM.Theme.getFont("medium"); text: { if (!printJob || printJob.configurationChanges.length === 0) { return ""; @@ -398,6 +398,22 @@ Item { bottom: parent.bottom; left: parent.left; } + background: Rectangle { + border { + color: UM.Theme.getColor("monitor_lining_heavy"); + width: UM.Theme.getSize("default_lining").width; + } + color: parent.hovered ? UM.Theme.getColor("monitor_card_background_inactive") : UM.Theme.getColor("monitor_card_background"); + implicitHeight: UM.Theme.getSize("default_margin").height * 3; + implicitWidth: UM.Theme.getSize("default_margin").height * 8; + } + contentItem: Label { + color: UM.Theme.getColor("text"); + font: UM.Theme.getFont("medium"); + horizontalAlignment: Text.AlignHCenter; + text: parent.text; + verticalAlignment: Text.AlignVCenter; + } onClicked: { overrideConfirmationDialog.visible = true; } From 88f3325972537eb1d01795e62230d9053d50661e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 5 Nov 2018 13:11:54 +0100 Subject: [PATCH 384/423] Add typing for _createMaterialOutputModel() CURA-5887 --- plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py index e4cea70f98..8314b0f089 100644 --- a/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py @@ -590,7 +590,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): origin_name=change["origin_name"])) return result - def _createMaterialOutputModel(self, material_data) -> MaterialOutputModel: + def _createMaterialOutputModel(self, material_data: Dict[str, Any]) -> "MaterialOutputModel": material_manager = CuraApplication.getInstance().getMaterialManager() material_group_list = material_manager.getMaterialGroupListByGUID(material_data["guid"]) From 93afaf64c65f5778c1cafa8d0774ff0d347df8be Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 5 Nov 2018 13:28:14 +0100 Subject: [PATCH 385/423] Strip the old "curaproject" extension from project name CURA-5896 --- cura/PrintInformation.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 21b57d0806..0d6418d388 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -369,6 +369,11 @@ class PrintInformation(QObject): else: self._base_name = "" + # Strip the old "curaproject" extension from the name + OLD_CURA_PROJECT_EXT = ".curaproject" + if self._base_name.endswith(OLD_CURA_PROJECT_EXT): + self._base_name = self._base_name[:len(self._base_name) - len(OLD_CURA_PROJECT_EXT)] + self._updateJobName() @pyqtProperty(str, fset = setBaseName, notify = baseNameChanged) From 3f1e0cc61013b4626c09a7b8995504f6bb0b2c01 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 5 Nov 2018 14:25:16 +0100 Subject: [PATCH 386/423] Fix delayed convex hull recomputation CURA-5896 If the current tool operation is still active, we need to delay the convex hull recomputation after the tool becomes inactive. --- cura/Scene/ConvexHullDecorator.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cura/Scene/ConvexHullDecorator.py b/cura/Scene/ConvexHullDecorator.py index 52e687832c..39124c5ba3 100644 --- a/cura/Scene/ConvexHullDecorator.py +++ b/cura/Scene/ConvexHullDecorator.py @@ -142,6 +142,12 @@ class ConvexHullDecorator(SceneNodeDecorator): controller = Application.getInstance().getController() root = controller.getScene().getRoot() if self._node is None or controller.isToolOperationActive() or not self.__isDescendant(root, self._node): + # If the tool operation is still active, we need to compute the convex hull later after the controller is + # no longer active. + if controller.isToolOperationActive(): + self.recomputeConvexHullDelayed() + return + if self._convex_hull_node: self._convex_hull_node.setParent(None) self._convex_hull_node = None From 1abd0b3499a1a6d666f67dab25fb2ed865062c44 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 5 Nov 2018 15:45:17 +0100 Subject: [PATCH 387/423] Show "Pausing...", "Aborting...", and "Resuming..." texts Contributes to CL-1126 --- .../resources/qml/PrintJobContextMenu.qml | 56 +++++++++++++------ .../resources/qml/PrintJobContextMenuItem.qml | 3 +- 2 files changed, 39 insertions(+), 20 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 473fd87a34..695b69f822 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -11,7 +11,7 @@ import UM 1.3 as UM Item { id: root; property var printJob: null; - property var running: isRunning(printJob); + property var started: isStarted(printJob); property var assigned: isAssigned(printJob); Button { @@ -34,7 +34,7 @@ Item { hoverEnabled: true; onClicked: parent.switchPopupState(); text: "\u22EE"; //Unicode; Three stacked points. - visible: printJob.state == "queued" || running ? true : false; + visible: printJob.state == "queued" || printJob.state == "aborted" || started ? true : false; width: 35 * screenScaleFactor; // TODO: Theme! } @@ -102,7 +102,12 @@ Item { width: parent.width; PrintJobContextMenuItem { - enabled: { + onClicked: { + sendToTopConfirmationDialog.visible = true; + popup.close(); + } + text: catalog.i18nc("@label", "Move to top"); + visible: { if (printJob && printJob.state == "queued" && !assigned) { if (OutputDevice && OutputDevice.queuedPrintJobs[0]) { return OutputDevice.queuedPrintJobs[0].key != printJob.key; @@ -110,42 +115,57 @@ Item { } return false; } - onClicked: { - sendToTopConfirmationDialog.visible = true; - popup.close(); - } - text: catalog.i18nc("@label", "Move to top"); } PrintJobContextMenuItem { - enabled: printJob && !running; onClicked: { deleteConfirmationDialog.visible = true; popup.close(); } text: catalog.i18nc("@label", "Delete"); + visible: printJob && !started && printJob.state !== "aborted" && printJob.state !== "finished"; } PrintJobContextMenuItem { - enabled: printJob && running; + enabled: !(printJob.state == "pausing" || printJob.state == "resuming"); onClicked: { if (printJob.state == "paused") { printJob.setState("print"); - } else if(printJob.state == "printing") { - printJob.setState("pause"); + popup.close(); + return; + } + if (printJob.state == "printing") { + printJob.setState("pause"); + popup.close(); + return; } - popup.close(); } - text: printJob && printJob.state == "paused" ? catalog.i18nc("@label", "Resume") : catalog.i18nc("@label", "Pause"); + text: { + if (!printJob) { + return ""; + } + switch(printJob.state) { + case "paused": + return catalog.i18nc("@label", "Resume"); + case "pausing": + return catalog.i18nc("@label", "Pausing..."); + case "resuming": + return catalog.i18nc("@label", "Resuming..."); + default: + catalog.i18nc("@label", "Pause"); + } + } + visible: printJob && started && printJob.state; } PrintJobContextMenuItem { - enabled: printJob && running; + enabled: printJob.state !== "aborting"; onClicked: { abortConfirmationDialog.visible = true; popup.close(); } - text: catalog.i18nc("@label", "Abort"); + text: printJob.state == "aborting" ? catalog.i18nc("@label", "Aborting...") : catalog.i18nc("@label", "Abort"); + visible: printJob && started; } } enter: Transition { @@ -205,11 +225,11 @@ Item { function switchPopupState() { popup.visible ? popup.close() : popup.open(); } - function isRunning(job) { + function isStarted(job) { if (!job) { return false; } - return ["paused", "printing", "pre_print"].indexOf(job.state) !== -1; + return ["pre_print", "printing", "pausing", "paused", "resuming", "aborting"].indexOf(job.state) !== -1; } function isAssigned(job) { if (!job) { diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml index 1b0777a8c0..18f5e3b305 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml @@ -12,13 +12,12 @@ Button { color: UM.Theme.getColor("monitor_context_menu_highlight"); } contentItem: Label { - color: UM.Theme.getColor("text"); + color: enabled ? UM.Theme.getColor("text") : UM.Theme.getColor("text_inactive"); text: parent.text horizontalAlignment: Text.AlignLeft; verticalAlignment: Text.AlignVCenter; } height: 39 * screenScaleFactor; // TODO: Theme! hoverEnabled: true; - visible: enabled; width: parent.width; } \ No newline at end of file From c84aa9cf214c882a0b0cc24667915d7a2cfc18ef Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Mon, 5 Nov 2018 17:19:22 +0100 Subject: [PATCH 388/423] Use default font for configuration override Contributes to CL-1124 --- plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index d851b684e5..8c2c8f9121 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -296,6 +296,7 @@ Item { verticalCenter: parent.verticalCenter; } color: UM.Theme.getColor("text"); + font: UM.Theme.getFont("default"); text: catalog.i18nc("@label", "Configuration change"); } @@ -355,7 +356,7 @@ Item { anchors.fill: parent; elide: Text.ElideRight; color: UM.Theme.getColor("text"); - font: UM.Theme.getFont("medium"); + font: UM.Theme.getFont("default"); text: { if (!printJob || printJob.configurationChanges.length === 0) { return ""; From 93467dc29f4adeb8e606ee130dc2fa1f1411550d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 5 Nov 2018 17:28:36 +0100 Subject: [PATCH 389/423] Ensure that weeding out the duplicates doesn't mess up the order CURA-5898 --- cura/Machines/QualityManager.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cura/Machines/QualityManager.py b/cura/Machines/QualityManager.py index 60a6820772..fc8262de52 100644 --- a/cura/Machines/QualityManager.py +++ b/cura/Machines/QualityManager.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from typing import TYPE_CHECKING, Optional, cast, Dict, List +from typing import TYPE_CHECKING, Optional, cast, Dict, List, Set from PyQt5.QtCore import QObject, QTimer, pyqtSignal, pyqtSlot @@ -264,8 +264,10 @@ class QualityManager(QObject): if fallback_ids: root_material_id_list.extend(fallback_ids) - root_material_id_list = list(set(root_material_id_list)) # Weed out duplicates + # Weed out duplicates while preserving the order. + seen = set() # type: Set[str] + root_material_id_list = [x for x in root_material_id_list if x not in seen and not seen.add(x)] # type: ignore # Here we construct a list of nodes we want to look for qualities with the highest priority first. # The use case is that, when we look for qualities for a machine, we first want to search in the following From ee2a34d64792e40d208cff62690ef56ffe4481a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A1udio=20=27Patola=27=20Sampaio?= Date: Tue, 6 Nov 2018 04:44:05 -0200 Subject: [PATCH 390/423] Updated pt_BR strings for 3.6 --- resources/i18n/pt_BR/cura.po | 52 ++++++++++---------- resources/i18n/pt_BR/fdmextruder.def.json.po | 6 +-- resources/i18n/pt_BR/fdmprinter.def.json.po | 24 ++++----- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 8aad16ed27..671cf9d76b 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-10-01 03:20-0300\n" +"PO-Revision-Date: 2018-11-06 02:20-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" @@ -48,7 +48,7 @@ msgstr "O GCodeWriter não suporta modo binário." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Por favor prepare o G-Code antes de exportar." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -77,7 +77,7 @@ msgstr "Exibir registro de alterações" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Atualizar Firmware" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -821,7 +821,7 @@ msgstr "Arquivo pré-fatiado {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Login falhou" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -895,32 +895,32 @@ msgstr "Falha ao importa perfil de {0}: {1}!" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Não há perfil personalizado a importar no arquivo {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Erro ao importar perfil de {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Este perfil {0} contém dados incorretos, não foi possível importá-lo." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "A máquina definida no perfil {0} ({1}) não equivale à sua máquina atual ({2}), não foi possível importá-lo." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Erro ao importar perfil de {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1407,7 +1407,7 @@ msgstr "Deslocamento Y do Bico" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Número da Ventoinha de Resfriamento" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1511,7 +1511,7 @@ msgstr "Voltar" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Confirme a desinstalação" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1654,7 +1654,7 @@ msgstr "Fechar" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Atualizar Firmware" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1679,12 +1679,12 @@ msgstr "Carregar Firmware personalizado" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "O firmware não pode ser atualizado porque não há conexão com a impressora." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "O firmware não pode ser atualizado porque a conexão com a impressora não suporta atualização de firmware." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1919,62 +1919,62 @@ msgstr "Aguardando por: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Alteração de configuração" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "A impressora atribuída, %1, requer as seguintes alterações de configuração:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "A impressora %1 está atribuída, mas o trabalho contém configuração de material desconhecida." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Alterar material %1 de %2 para %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "Carregar %3 como material %1 (isto não pode ser sobreposto)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Alterar núcleo de impressão %1 de %2 para %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Alterar mesa de impressão para %1 (Isto não pode ser sobreposto)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Sobrepôr" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Iniciar um trabalho de impressão com configuração incompatível pode danificar sua impressora 3D. Voce tem certeza que quer sobrepôr a configuração e imprimir %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Sobrepôr configuração e iniciar impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Vidro" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Alumínio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" diff --git a/resources/i18n/pt_BR/fdmextruder.def.json.po b/resources/i18n/pt_BR/fdmextruder.def.json.po index b8ea7ec1e4..10db723a69 100644 --- a/resources/i18n/pt_BR/fdmextruder.def.json.po +++ b/resources/i18n/pt_BR/fdmextruder.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-10-02 05:00-0300\n" +"PO-Revision-Date: 2018-11-06 04:00-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" @@ -170,12 +170,12 @@ msgstr "A coordenada Z da posição onde o bico faz a purga no início da impres #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Ventoinha de Refrigeração da Impressão" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "O número da ventoinha de refrigeração da impressão associada a este extrusor. Somente altere o valor default de 0 quando você tiver uma ventoinha diferente para cada extrusor." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 1b746e8b0b..728c2eb3e9 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-10-02 06:30-0300\n" +"PO-Revision-Date: 2018-10-06 04:30-0300\n" "Last-Translator: Cláudio Sampaio \n" "Language-Team: Cláudio Sampaio \n" "Language: pt_BR\n" @@ -1078,7 +1078,7 @@ msgstr "Conectar Polígonos do Topo e Base" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Conectar caminhos de contorno da base e topo quando estiverem próximos entre si. Para o padrão concêntrico, habilitar este ajuste reduzirá bastante o tempo de percurso, mas por as conexões poderem acontecer no meio do preenchimento, este recurso pode reduzir a qualidade da superfície superior." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,7 +1498,7 @@ msgstr "Padrão de Preenchimento" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "O padrão do material de preenchimento da impressão. Os preenchimentos de linha e ziguezague mudam de direção em camadas alternadas, reduzindo o custo do material. Os padrões de grade, triângulo, tri-hexágono, cúbico, octeto, quarto cúbico, cruzado e concêntrico são impressos em totalidade a cada camada. Os padrões giróide, cúbico, quarto cúbico e octeto mudam a cada camada para prover uma distribuição mais igualitária de força em cada direção." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1563,7 +1563,7 @@ msgstr "Cruzado 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Giróide" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -3272,32 +3272,32 @@ msgstr "Orientação do padrão de preenchimento para suportes. O padrão de pre #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Habilitar Brim de Suporte" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Gera o brim dentro das regiões de preenchimento de suporte da primeira camada. Este brim é impresso sob o suporte, não em volta dele. Habilitar este ajuste aumenta a aderência de suporte à mesa de impressão." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Largura do Brim de Suporte" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "A largura do brim a ser impresso sob o suporte. Um brim mais largo melhora a aderência à mesa de impressão, ao custo de material extra." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Número de Filetes do Brim de Suporte" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "O número de filetes usado para o brim de suporte. Mais filetes melhoram a aderência na mesa de impressão, ao custo de material extra." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3871,12 +3871,12 @@ msgstr "O número de linhas usada para o brim. Mais linhas de brim melhoram a ad #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Brim Substitui Suporte" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Força que o brim seja impresso em volta do modelo mesmo se este espaço fosse ser ocupado por suporte. Isto substitui algumas regiões da primeira camada de suporte por regiões de brim." #: fdmprinter.def.json msgctxt "brim_outside_only label" From 01923dfba4811e65f55401c18bd3dfa47d5a9b10 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 6 Nov 2018 11:00:11 +0100 Subject: [PATCH 391/423] Reduce resolution of heavy build plate meshes These were way above our guideline of 1MB per build plate mesh file. I've used the decimate function in Blender. It looks more or less the same. The resolution of the embossed lettering in these is slightly less but you really have to look for it. --- resources/meshes/bq_witbox_platform.stl | Bin 1316584 -> 921584 bytes resources/meshes/builder_premium_platform.stl | Bin 1348084 -> 943634 bytes resources/meshes/creality_ender3_platform.stl | Bin 1398881 -> 293884 bytes resources/meshes/deltacomb.stl | Bin 1352284 -> 946084 bytes resources/meshes/discoeasy200.stl | Bin 1751784 -> 1051084 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/meshes/bq_witbox_platform.stl b/resources/meshes/bq_witbox_platform.stl index 7d83c0f4d84601220366d67e4aa26f4de3c63c15..17b7a3913bb05998f61bbf79dc5939b60ac6df7a 100644 GIT binary patch literal 921584 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

@GQPcNC3UJMZQCL3fhNA>NT(vR~5<$!xowr)Xxd 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

LcO`Tt)@r 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

${)856IrfN$*kX9v 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

6%*8XV4t^KTi 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

%*{y)-eC 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 RT!FYR6;X@laTIKl{{fs@F-HIZ literal 1316584 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�O5 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%0De{YD5w`<8>x9eyE*O_R=-y5Rz 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%0DZndgcB!1X^|ZyuDX<2op;xW=*T#Qmt>s2j%+( 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

_v#G+KGBp2II-l;J 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

0${o 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¥yJ+GvjV8zP$0~L-8 zuQIOeV|Lq&$>Yupv3JZS`#^>JP^yNc>|;mgNpbH}b?N*jvJd(v^XC@&UO_VMVSm(5h;8;kpO-T1@x+g&>Vl=fGYeMB|wZH~;+Q=GTm z{FOVly9)Qb8i~@HR`xM^(+cy`UIRt@JbziJa6~y%$Mf*|lGLpob3Uy|NqEa$UlOtd zAL_&sF4wTA{8e0rlV*8Z^-?8);&V_q1C-PLQyyN?IPkNRW~coXDOMx@3Kb40s;vooQNgQcc=(N~1zF~s%U6AA7pM8dr*J?8=Ksp|o4Sl0Z1uW1 z?~@AlZTZFs*ntoA`+Y9gEvfY-zuBdX;M}6tyR%5`Xa|6jyKU&5N*SAaw1m-kLpAH{ zcs~RCW58zYkMAb$>G(}AYo)XgRJdL(BJIPc<7~Hb>?xmbg4Lbo4_^y1NYipfin5Q@ zQ!>V7r; zGem9J&ckaUGyi(mth~69c-WENr~-vEKn02%;NcbVk-_!Ay}3%m8RvS#l? z#q1+;{S{~wQM8IAAlDHp`)KJ@HNKpl$2vb_EJr&)6s;)??UT#cs%4do#U)~_H{bU& zus>u=wbFZ7TY6cw7LeLe;d=F!v=90hRy)~8Y{)*a1sPtwUfIXJvq$3|E*)%tA?FWN zIHJ57lCqC^Kd&=pxBT7yQN|x=2Y}LfMr9vwm_^Np+lq*DQ{4QOo0D-B?qwrg`|x5> zWgq5e6U>{h*A<228@Zrx9kIG>&tFmY(a_vw9$C>rEGp;L&)u=zwGTvjnpXDlNBWEA z-Ai4?k3Ug-jtU2q^Xd-nTYts9^;ZTe+=p6vkcU^q&nuLH-VHJi+MVxO5v^$%1ypn~`Q<$9+F#xm~S zZ1y{{#$HVMU7x}M744)8$n{rh%^mAzn1hexwZENC^9R@gqN4X_3dohY%0AYwscp>b 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
  • VLL5IEF?-O#1Q)WNVL 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 diff --git a/resources/meshes/builder_premium_platform.stl b/resources/meshes/builder_premium_platform.stl index b315d4b6d4720b7dc57123ae214a0f5c286bc55f..8003f83f7e081e54f23d597937c623067914ed38 100644 GIT binary patch literal 943634 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

    ix;b0pB^KQ=@2%4_3)TaBR_VpVqW&eB(I zq8g|mfxEMbxZGV2d^AeVq-P=$=ql9mkCxqq_99<&QjJBOrueoQ-e1xsFmv^_gguB7J`66ji3_@8#t-NxtfvBvcnU!AR5)?0p{c7+NOxS!i%;q|7m-uDK{ zlcSv`0$ttdyRSuh+Iad)W54sdF&o$^w_v&H#sz^261bn6($RbGvhmkLWvAgz6M?Sb z7cD&RDf-^s@^MsSy~}4NFSU|O=x>Dz61Y2?#+)_ttGV*El(9pcCIVfh=DF~?ZG-ra zt>dXilSakVsnhEJZ&nQzBye{&jibiZR%2$?l=rD!A%U((jja3*&1)TxHugJ*O{u32 z>swrgQM*C~3EZ7cUwtdxO1--;uUt><3JG-i2rKOa2<8viM5-|+UrV*;>m(6N_aG`r z;C^n4rQ51dwcY5cXvJf@a#11 z?s~W$mIM!wx90!lt^Hi}<6*PCGu=I1&rG^y`r;nN1iP{o_f`wW2dQ=6tQr+FIAzqE zzs)}|zhZ?6&U53rvtM6XV(S!h3)Tiquqzg44QBNSR%uR*Lyc*Jy33ab8k#S$HeiJb zPG{rfz^0*6kN($P7jrl!*i~e-x2lfZcE;u7Q6sf~lzjHX?jDJ?0V_;!IveMyPY#pw zi}!QXz#NVVcFBR>s(JHJHDCHIc-5_vKAVTB1!XQRi~+ySzRBSJL89F7Tg zxp9WRR`oD-u$`4fP6!W?t=>!*zScF76ec*Gjpyf!B4nl!N5lz?D<;_W?2%pd&KR!V z^*67%>k0^bITTynd@`x;pyFDOek@!UU(Y@ts#r zGB@_;B+>w?Jo=I1zj7+E||kH z!LHjOpNzUgaEAVyRb%zg;(GA#a>1?Z$PJKN;RS8)a_gW^{RkKWzap-8c za-6dA&Ouv!wf(QO`{9l7&!%33kn{m1v|(2~+N|R^EApcYA&O z+iek#c?l~_aGo1y&re0_gfoXk2doX4VAtM>2}W3%Fx5<1d1t?rVBNU+Eb$R@I98b8 zbT+a8jR)#n1-c45=5S1~>%|`l#$OU==yO|HWUqWK-RVneu>;p#R+!*)HqNRg4AXy> zcQ{sJZNLP(MyF0Nbn6gx^P^Q`Y*>_Dzx7G{2aGFLnBa7_&6cI*Q2n|6SN9i;D<;_0 zu|a|{CNNm#Ja6Tl%kJu~f0lEY(fH0;VS>}yI5jz>kIuDnra2AYITP%9cP7E8855)y zFPn!NnTI-c&P$ukxv0Sk6P(V*`&cRm>E{6t%;~r$GQqAX3lfcuo6y%ea6W1bTGc|2 z{{F$th;hXV6P(UQV!e5DeWF2j-4FLcCfK!OZIW@}eSjL7e*tPVZ&gDdipi^UVO+7o z1gEntqLMBYUqye!xMG4`ZN7Xm4m1r=f4#D5{E;`GK6SdfeulLHD@<@Y8zXULWNAR~|g$Yh)W0sNbiYZEk>Xld%&D1RSHo4mjE`BJYQjgW#;%H~#Ou;7Js9(LR+!*) zHj*zpBgL@T0s21H228LkN1qg}y=>FX$tvr#to%Y8ZjtO=Z z4e?U>%HW;%1FXFB@s3&Lkh}GC70i8DVS>}y*b9GCM)rAHQwL-2!vwqB+3c$Dxd4@^ znUzJ(_N9VsccqA~gK@ZY5 z52p9h$MHE>VS@AA=s}msDN9UvZFa`riV1dkW%5?{aT0LQX{*MEmVUD7CDYu3xeqH$ za5@`jAZtd+t812<$8b$#f?a-o-l}oMU==mf$~(uDkC6EidYZ$rHeiJb&U54KLyjS` z@5KCOC#(&aU{{t{Z?&#Kh|1ezHEJZC=p`?mn(f|-xhN}4a5@{w;wsVd-tj+ui(n4N z1iMzmc&nnBL)BtsWswW?>m^sYb~*Oo`(T9$PG{qjpBp6A$$H{3#uXFn`rQi8KYySf zS)sM4(Y zsa<^{)yCW#QKLw%Yhv~I4zermAFMFJ>1;f&ow-{qkLn=@Vh+ayyB-xuF)o~lRBt|5 zH7cc=Bz6x8m8~(ZSYd+G+35aVvavYYY>;e$am56?=Ct``Ec=YUYNnNUzB1~K!?npJ zZ=nV&OmI3Ivy63V9UpT=%Llk7GQqAcW0Q>^ztF#Zgq3&xyG&Mhkq%LE7Um_aFv00; z?CJmb?Y5U6Do0>#zy!OV?)`4`euVz*^{l+}#(NGk|N8E-)~(YfD@<@Y8*e7Y4#xz$R=)pgWM6_zbtWr|Y$j|m7u0vkw^$pn!UU(YajLlaBlFh4KzRXc118v2 zQD6>NDN?O`Y1K$R`pMj0wYkiPzZEM?a5@`LE#q?OS+APNT$sZ#!LFtUJ{j4TN2naf zti1DI84K#D236&FeCMn%!Rc(9?P=*6dh9Wz;xVq6VArdDNk->{a8+rZm3MBtxt9L1 zGMD@lHCSPS)7ds#DX%tq)5r{RHpUeb?5fc_(I{FqTpj4V9W@pYYNc!Ldo5n#H^>ST zoX$pW!VJ~V`(707F~4GhU1R@FFtUY&sk+&%EVBJ%fEIVwh!(hBvBCtWvvDr`NI%{4 zuhF6yYB0gB>s1nr-@`-Inuk`6U;TRMOK&O)AIuY3VS>}y7$wz*=^V+s9ow-sV1iv| zyc3M!$Zan>VC9_yqoef0@=biLXLqbH!Rc&VcO!@C%Z*pNk78Ug!LES+~#e3=d3Wn>1^C<+xFLubhPP>dlVDwTC+02Si2)gE$wAxkiDf*%5z_?q9Hvg+$t53<4pr?W9bUS3o8uU=MX z!W@nXcD-Km$tcz@Kt=4{gBoi$6w!0@SJb_*HeiJbPG=*ruJY(ga~kV;SQ{|Gt`h~m z80YUh)y}DVQR8^S6m!SR#`-?y46HE0>1=c=Z1Bu1-Y-Cp!F-nqcHKDr)!5M6sT@7` zp+;1neP+uSU3F8;eOO_F)7jYT8#T`y`cH2igK@O>$+!@kD=}q_?tT4gp zZ0rt}zvVlqc(mSu-yjq0s#WQiF*lu4O*?GWc;bJ^;lR0xI+**g!UU(Yaa#SluL#*W zNGD)iF~P2jKYkleYB*K=p9fJRU72W6vs}2=SR1gy1gEo+#~HX?{8yu=9*?yF6YOdp zWK#_$qaRt|A=LQr?v!|0yR&|ZwE-(ka5@|P0HS}2uLnEp7MQ~^!LELlz0?=)0M)x* zJZgL{nN~i#(?H+A_rVGioX*D8=T}iV;G?hpg>l6MyT+qW(d`uhs((%^iyWS*l+5v~ zl&+0&#R?Og&c?ibwvcVJpd$(HwM?*UdYoO^ItQw&53L$mr%G8OC7mvZ&%p{4oae?H z@(Om5nX4q5`SCfJVAroCyP8!XNG)Gv<(=PG?I_FnUp9N;cg_kEoaaU=Wm^xqqVg{D zBGv{>ucif0~7`5621i&)22P;f)Iva#fw9K3PQv4s7!!g0G9;3X~(#s)ga3(8@ z98@t%_TFMRtmn?GFv00;JTaL)M7F<>P0YdCfC+Xza(b)RI#eaUuxhwgN6M9#+lek1 zSFA9>>1^C_9!JSeOBai-*4lvnEq2A^@KzaDhpFv*kD|ubHU2W`>27fxHCSPS)7ds# z`bSP#tH%qm71u;2*!5}y`jPbwSGxvTdFRX(n#pf@&?g@A5>}YtbT*#+G;bomw$Cj$ zU~RwzyWSSEtB}$WD!STn)RCpd5v@0V_;!IvWYM(dA_I?loi>)&@+lt8jlW z)#Y4->fvo=k!@9T$pYTBWf|PhSz&_H*~pkwOD|8{ZzF$TTrt6}o9k_AS^G%U`(LZZ zsO-;0)?=-ufxi_iOmI3IXS|x95}EwNWgXl@r@yq;A55^TN$@wL z65hL{Z(226i3`n)2ZCfI)&{IF!Rc(9E#>!lGegcWc^`98CfN0H{TCx+>qr%~<1A{d zE%DTx+Omx-h-*75OmI3IN!D{2ktJ&_Ut?S`!LGr%KO2QlM5u$)&Y?zuwmEfyL$&39 z_|92jg7e(yb^l|7*&w>F4BS~%)^9{bQwTN~T|H z4!F=?`b>WAW`zmP(BN6>laXeNt^;I`QIRGS?8=_!x3Mm7fC>n`g&L`E^fSLc^q1q2 z;9-RcPTk_dwZ*$51AKGYEnBWWz zb|BOG#pmttR^-kZ?m@7tQT^Y>=F@nO$;<1gv3%1^N6pR+#HX{vH7iVTh6eqw2BkP^ zAAIK<_AJ(eU{_tg-$s|eoT}h4t44C#5aCmQoOvwG0L=;$oS{KShc*L5hn82(1;ax< z2zK@D|J%5NzO{dkvi?>#U#}F?Iu_RN(T9Zg2C$Vc&-pCOAW5v-OTzBC_Zxy$16VCfN1wpTCW4rJSm6Cu{6( zUA$2&t3E(484~MYg^6n=Fhh=Zs-AW$k8`{D7_qC`0R8?$s9=I!KgRtwI#zP3N|o<| zm^W>Vm|h`F-?@E8u);)v11ZMp5OnNKXVu7ex3yS5B}7MeeCR>2tK^yA#t-yAs&&Px zaduixy?#+Uc_=#8!N2p;ML!!8%m}ru$AyM`#lRV1Vbkp#U1WGts9=SOn%ln^D;r0u z;Hl@W&r$ZCIp9innR95Yg9&!=l@E8${=3b8yj|!45h_?=;zh(aqx{B5_0LZ0dR2YF zWb;7|oT9_`!34Yb3XYkKY;1lzF<2JD_rVGixhwuK{y@*nPfxAu?&uk}-HmdLlD&t; zI+$P=--$5OUz*YVZE}osybBeqFp&fOOFn#wRQbwUHRi;)91HWt$(-Y39Zax`@2J>& zt?4B?E*K^QzJv-^n20(2%gFIO65pnEkLo`&Tmli*dyY6B;?; z3N0d4$N_6!ax*%;%ogG&2Vq<>!7iSu;gkQDTL%2yRBDVXR+zZl%S-)pJVFKhYt65Y zm9BuCjIUgaam56?c*cqRV02BnX-s)J3*(9vCg$a_tN3COs&{6q#*=!@W%|K?NH2^l zCfLO@XRPjuwUrh6Wt1TpSFA8`5YIVNT;Xbc8*47wsZ5B>tUilJ<6<35u!~m!)>*Z1 z>HO=Gn2Yb66(-hY@K#5bhpDx*taam56?cx8!wpL5Z&sKbe_w`oc4};Z^j8={5 zK_lc9-`b{i|6qb$yh29j$YlfM?4%K9nvbD^6(+VxZ`I~YklI<>T63-}+Fuq~wauJ~ z&%p${c%_d#=ksvcF2i~A2F4XDOmusTcVQO}Qga4d>+|O8gJk1fKg@@?mN3CC-m$>5 z)JE;(!9(fwFZ>2sVPbi-T|M_lZ}o%LKEt52P36P7MfIW4u?{BK#XB#!?grG7d#0Du z?=h}eVIuA^`p~ZnP?7Jg{gO4g%F3{rQuiDY>tKRiyn}?%J~NLTTe+#8igCpX6BEjL zsV7KbhvfcWjU%b$$=&{XB!1^iu#0!X@SL;pGjT6xkY0sx#R?N^y4lp5nNIblj)=P=#keW+lCi5?Yx8L6^6)tDvLe&W}hwH?PA#OXZvKA2z^@37*U zIO$sah{Z9w2d=xUFtH;t*=Ujx^Y*9KzNqMytKRiyi<&GuhXRYD)SIs z824IMn7BLtyK%L=Q?)8!)p+MO%l!ChuSFA8msArO)is4z&G3)t<_n#f~kTcozU-(-w!7hFx zgnjBJetMPHFY_XMagdC;MB^y!JO3rFHaK_e1=xm|zz_X~cPk6*2nRihc1zF|Jr);%Ke}!-eOZ zv*%jR2U}emrBg@GbCklhgb8->6H~mw<=s$itC>qg;Qql16Mr^LFh<0Ls)Yxw=bUG8 z;`j31q2d6>6%*{@C%>38RO+K!d?-`$%*w#C|j33l<5c+8eM zHr2C2^T-g4D^{2&8JlFJdK<1v^tYaEmmck_>&8})t8qVPf?a%~z-DWdy}VxYxTYM5 zam5M~6OVr~_AH1{X_s5)0Ayq#y*P6VxesdtCfLO%Bk)evp!E94n0E4Cj4M`{$ldgd zk*9Q|ns?MX&(QJ8d(-wTR8GXWVuD?K!UIp2s+}^ceT|SeF|Jr);{B(uMwK~{s_RSZ zT*kdN%gvb|2g(%~S4^;rPpY8r$EQAK#nA)hMvN;~nCN%#yHVtJq`I8jsxkL{Zqsd! zl-69733l;`8=T~LJKx>nN3@K_xMGEgLgSK+(Vrt#=`Pk8mg$$r`yPymlc&bUI+$P= zpBzG#?96t@y#3Mg6z);1co40A8I`ez{9%!G-sini%&q=Y_B)Q ziWQ>=NNueR=$sW3*$bu^o7|D=;aTh4QqM6v#L?6JQ^?Ke4j5+rp51^33l;`G@LN4omo2mYb~2#4#x@;73$;N znXe<%#9UU5_g_oMGM|-Pj&a2VyZB@s)*l5b$&o**$v<$fWrc|~@4eKSRuRg#fpu1G z&16H)U0+hhVO%l6E?&YUxN0`iI@kB_uWqv6YHyha z*Agb!#U~xneQ#ZmJdo*$h{SJ@6()Wq+SR>lVd}+E>wMyd6@6s4>xaZQtPPl87oXU~ z?s;He`S-TD;tR$VD@Ifl!5huVw9n2R#OE{y0z#RR+f1TEI*F)^~z$WrdT7+0(?F@LbP zYKZqPWi+fasmt=k%A6%Knfo!Wm|z#51jg??>tI>?We0N(#uY0}6ljb0B3BMp!BN)v zUHgndGVPGXW>JhQCfLO%nsH5h+(TxqeZUOG9F7$x>ZbBmvO|#SxyCw&JYjaYeB}4a z9FE^P6YS!X*+_<&on`;*UfPc9E-OsDKu>8sIZ%CjW1Xjt|Eslpd@QdngKHua?BWyV z_(k<~$f=u)>yo(Fvckl$40d(va)9zGVbw4SSC#$B)X{6PHeiBXd{Q1yOuUN7s^c5z zB#bLon0VXGOP#M2pgOl&i5gE*WtGDZb=1u=PF;t+)rI~3EXR0VPe=! zoBFZEsjl|3&goyQc18FWcIp2xu9#pKCl`>k7`92Qe%MQ=!S9?ECNB0!F7HQkolRt%*^?r zw{D1QA}dVvl;4awK~8lyW(jJf$$rUvyTGM0Vh+ayyEvhQ>(!rc&6Jl;Jq_cE6(-V8 z{bFo7?o`K@Ek=!eIkV`rL7jA6TuYc>7bmUo1gmrbeI}}r9*%Lv3KLbmJ{u17P8fS^ z5o*{ASJ4aqsH=BkTrt5ePK;qU%Db-aytTA$iE9ZfOf1=%WVHPhpay(eh#EhlTIs;% z=&FKiI}_~UWY`v{>ejJpOjs7Czh{1H{)M#x6YSyy zAKm~~Gg5cUcG8T*xMGEgy?5{~p^-sqMzocQ+n8&R4(Y$lyodWa6YSz7BJwz^2kPWw zQRZZfD^{5J&@RDf7#yt9ZJ3W5L*I?mRo`YaUt(M_!7ffzVixWbquZt(?@qwDVugw5 zJPAf-yodMfxp}CuGa^o>?eoQV6~+}4?BZl7R(H*!^~+V)9RFclvBJc@N(n}H5vu$@ z&P9zLU54w%3tNe$7*|ZNixaL`pZoULqTnQpVd7!UBx9F5Tvc0b<%EAPQ~GkSk4%F(924x~Hb*bU|cc5E>7g52X^DB=02>7YG4k>3KQR(emB;h#ph^dW!%L9Y1aHcT=v4a zVuD@VSpcUj&b)M2_KKEv>t0L!3z*oOJ=r*#fZhq?t$qOUb56xS?Hea+;U2{VySPIF zo`3AG@2Jr$M&82bV1)^4j?|D@*FHT!P3)EqvG|q;;t)9#$#MD!7lE+fp>=0PbIrv=qS%)T(QE$gY;f%Nk+V5q~%o9 z$ThH_{BXL3JdAP01iQHB2v#hirDXO>_2fo;AFMF3_PCdd92%i=51xV=6$aOrfh#M@ z>=;)}u!}pPpqE8XB@f&!D2HKOvBE^w5W9MKDqQ(*nT#5p26UFC24|9QasOa~UEI+H z_m3<7GF|acVgqWh!bIR5bl^`Lt{x^%LXEwnTyp5xOQJj0228MvJJVpcWQ&r?M>dMe z*4lu&+%U1Jy0@BN1!pq-y1G5a6)Q}v znCzvtqHFelW5=RKoIRf$8Qfae#&3`bc5yE>jP{$UWbNJ^^=gbOR+uPr!luH`IMuiH zV^Cvv`sZR^&j{TD*Agb!#Xa5d)}C%|F(zXVJqzQC6(+)Nrx@wNoT~r%(Wr6g>m1Q( z=3u=UvGUt}}FFo$D>iLmUyjl9L3D&~6}YUIi5C8iFI)deuFJP2}e z$2^?O%oXU!-ZnMDY_rkbhg^AUpei(D}IMpk!Sk&m=tBpBO4A*(Fzsm%>xPu|ieiWH(F3;OvFUGiH zg^8y-z8NK2;$3|qBT(bj@q=c`8+~+6%;A_|7k6T`*(P#uW)>4W$j zOt6c4f?|iIQ7b)uQC7VHM7`Y-)+uHs%4`ANT1iQFXDQ0B< zh3FM`ZkuiKJ7Ddg0SM?g)%4R+tF=1Mjaz z-&%W`{;2V4WSkDRcZ&DL@0dNZgsL|&c&IT`9D>`9Z zF~KhGVT?V150U!Oj-#R=?zOBiktbK8k$5Uht;!pP8kb9l>XbPNVj$)|Ot6bPD`Uqi zb4OjTPiol#pMw=9vLq!M?WTvT9P3@EF~qNhUYxp+?1!}h6YSy+(Rd1wP*>kvTS{ic zHIWr2Hsev_cr8hnY6YSzn*La89)dD*Ab0v>pT(QDLv$)Sj z-=`7kbZB?fm>HEp2OaMs?_pdq!7lFDjjYV6cjk;)PWcq$iWMe~=l^Ov3`OsRjS;9J zN}n>fw?X$kj4LMC#hu5|PiDXhv&@R#@-V&+R+vbA^P92pAaeBI!%*YnSeM!8aI{Q~ zam56?xaT^0{7xuj{;_1JoPlx03KL6K{4mxb|FOP%C~DYhPjGksI!d}QFJXdR+&dm) z_qkdB()JkH2{l+@A}9LLXT$m3n9sqeaW(T9N2SK27r!F{&nAZY%JOGRNN?P0Sz*HEi@e(Ba5Z6{A8Hhs&{m$vmRqjEZ;%Og@w+aN zyIb2yMm@I6cDUEF!o(}LUCpc;u09%Ftk01WA+v9NBJN;qzy!PaogG+t`Sy?*T=BvW z^>mouh zu2^B>d$6|(92cq*@^%D~eSNIV<@?1Eh~FR+?3#m4w{PZzsJ@$9gQzkfMmoP$b^L>I z#R?O-qrKHx5M4vsgUC}pP97`Q(H(?q2@~w9-p^ZYULC9+d};|IY|}8gyvT3&MvN;~ zn7Gp2TiMnIt5ch;PhL&N$W+fm%!2*#x1xWGU8QPytEoCjrE<0ak^6dIIeq6Wb2zRg ztT6GrqPGe)gH*8$Z9t?QHbB0~w87k7FwVgQyE5QS%1MWU)EPgk#?9%GvU}Cz=KI@W zf)ys#UbU;s{{^a$>8(IaTa!=DJAS~N*r~SMxf`SUXP~OHu5H7krd;>H6QsTuwf?%J|E(=kitRPe?&)SaCO?>x{AghZ6ULy-69rUvP)K&;Oh!{y}Yj|k0kFAojdt> z5bUZ~%&y8l3|D~{yP<|pt$K3LvNvMzal2%N3BEpJ*Pz-TGE0O1MA7Cx9t67r5}RDN4r?m`VF*cJE;@7fxQBY^F_**f-uGXb+%6osLnh7t;!^{Ex%+}$vcd$dre(`!l8{h0%QsNK3HLb=W|FLE}P)Kyj00y_zg0_u3m4x z8QB&^s$tozS@`qSIm}(D{N+M?AFMFJ^HR(JPBt`0G!rr&*Agb!)u!%OV~i20M(ZA^ z5i)7SU5OueZwTn~lv{V1O zU*FLi*IiaT2#@^|x1*7+Qx>z$COin4aq+8^kkTc3?JbKpB?g$dqgLRvPg zmVT3d78=?5co6LRQYguoIV({0d~EFwzR%TIpSp0&EPBx{Sz&_r%P?E|qm1sf_pEsv zpMwc@J*f7{81@M7=Zvs+Ik%hDbWWE|4>)3%tT4g*et4SkPi`HV`?om{-v<-y3Yq-b zFdGG^x#_Ll+J26L`bz3TIuYZF6()H95?!+||1=L7dGvjZD<;_0Dfd_7;7O;tb$BFd zgjW4!Hp^H;e?kpbnBaX_o9)Yj6XwrtW%W|!<3X^i*2!w{p;4L4ruiG{!~h=;f?fBT{xp_XaH>-0tQxDEZ*m*yoVw%{yJUq4-rvVlzm3_AoT}_3>#2;7(ZkVvsZ;-h-ykbY@N)|E772ak@NHn|fmjAU?2b)C&?CGz=xMGF>U4Cwa=Yw1KiZ_?hyAAhqCfN0EAl|)>Zf|~Btfze+ zKD-mIa&`4gT-#Y;f}elcY@5@36qADs>gO$dJP39TLbCW)&OlZ0iB+RS-rREi<6`>o zNxNi)34V@;Ewa?vWur!^bdbM~2f?n5I4LX6o>*?#gQI%wioN06|tPNOUf}cks z1`H4^}&$;o2?sH0(z0k)!4K(tAQO9Jo5xhLYWHeiJbJ_lm6T{~Y)jtl)) ze8Jj)33d(p+e>{6h)|n9$A{#qFI*0(hK8?33f%4v8l!j0_p3g=2t@`o}uDh%-!RL!`N-yhnVLx11PR81R33g>%@Y^uZHDb_I>r~jhI;%wD znO5@pF}q}i2|g!CRYOultpIgI>tYjAV z>q3p>0;~;~VAmM`@5Xv`JgI-(s`2di1NXSj-Q-%_KUiUc&);E2_PUtaqF4jj8fyb4 z*k!E2{K^@r(rlWA8lBy-=Jz8Vq_s!J3KM*e&}RFm)l75Aidym<=5S1~D@*z>Mgyds z>QAsvfA(B)+^qLsBiRAtiWMgKJS1i^kI$P0$CQ?5@i~}aSHQAQ#;wi~3Y|+(qYSR< zUoupcQ!y`Lg$X{_X|r{E;-za<&nXYI_3bTEh71jn!u*(>qX!!mYrV78dYK$0DOD})%StMd@zzP$5&KA#W zYnInpa~>9b+vEG7e~VpraLU`aV3^vp$vPc<|4UOn`0+lm0rOo}nBeomI3d)lj=phv zqWFNd0Tb+MIyk{tQ8!eb7%|`aTXpHAUvBCl(%?I1g$X|QjK5XxhPu-2EaElB6%*`Q z6OdrEZX2R%`z=6?`Z=BGi@VA32xFHOCiwg|?gm{N>4!Jc`F6$HfC+Z3o|j;Z?jEcL zSF=vt4;$#zS-MPghvRR>3KM(|9eK{Z4Ryb4Dei<;J{|7OOzy!PM;v`4u!+2Bd|56aUUN+NxXY4kQUbahC znBZIh_8Gh@=p7~8=2EN;m|$1>mq|w6jDhMwoR#KSdZxDiP%6HdZQS#EN1%d-vRW9L5zZOmI#EZyMj6N@qEiO*?TP zWP)9#w|z0Pp%X%tvR1k#uv!{jVQ?kA7~_f+COB_`+(g0aW|jseb#2_wnPAskzi-Cm zIHzio+DZwPops)<|JcyMxVE#x1m|Wj+T$0PvvStdF02ihU{}YyKaAmqQ_Z|%)sXEc zn%(BM*Zr|JV1)_J|KKF~ri!LBO6o1R4>G|n<4&^C32V;r%a)^ty#A@(rNLxVuD>i+ou>?`Z?8{;#P{TMVya_uiaIb!W@njCOB7y=LXx`3;%i!T?F4b z6YNSe+NNyhoJu5HHO59P61`ft(Xkj;tT4g(IIM9-ZxG8DRn;zxT_)Joy|I^?)FMC~ zxwQ&4vhI8!qJ4xOjnBaf6P)wI^TDQ1M3*5&bt$Y3m|)kGk6vorD|BhzW~DQme9kOO zRxG0vuvTM*3C=6pY_}?8l%jVA-3n_1CfL<|gk7CliY^{Qt(0lCwPj>rNM@aM9-o60 zCOCJAYe{TTSvvI-^E}oDOt35MGps*Cg4Fd&Yf)qSGKZ8sADRKU?y|xJ=SQ(4yrPQy zqt_NQ8rOCv*p&uPc#qW%R_DH0H7-X_b4XV zHMhODI{in88g{`-7I&QECr?kUYEH(uVucCL^J0JZyCFN3J?Q>`do2^}5^d1=D_yAi zv1vVO=wzoX{qtcw-sdSN2WpSJ|`}q1}jW(-W@#$@|2Q2 z+FlVpn2R#OuAVo%RB#QPdO2s+@GDqFzV%8aZ{q&J3KN{$$0>`3+JF@%xE}=ekSE6p*UGxG6uu88*wv!ZFQX$8RnC%IQRBd?&Z22dXBmpM0V_;! zUkmJ6PX2~|?Z5-KqsI0E-OT#Fon;|>=d3Wn{Zeqh>vhggj@cMjtT4fSs&Ey}-bimNR?d+Q^F$`tl^BP&53LAR)qYwv z)_rs84f|fjSHZQN6(+df7Uu2m481S#kozO{!kJ*#*Te)P1t-sbUEYft9bA5Tf4drH zF{}+(VS@XHq3_`H`uctPa5LG@$Ae(kkIjijg^z*i#Jqi|VVl%S-wj`F4#wJm6(+d< znavh(va;@LZZi$c6PaLF_=+UsO|3w6xsBDeZslLTx=+dz(}vH%3KQJN4V@4s7tt?o zJu~C5HeiBXi*9~0f@cJ%llc#zMyrJz>=oXm6vBCuRqr-ExwHfs6j2U%%eCJHC zYfNCJJrd)J6(+c^9!}$ye`02zSX8&f*kyuUes8`SujV?{ z@{3ldLWkpl*`kTiUGX_sVS@Vu;vMUO8_YaQtLlSTpEJR(p6kCOdGA#F)*V8PO?VSj z;)phSBi072Fu{Eeaaw&%8}nhXL$AkrkO_9JbR`=d&^3Ed-+0t0v!bwhbx2n|4{HNf znBabmxEq{V;JzQIw7}S9f?e-?ei`qoJJq{VZq%qbvRiy)#sKYw`#CF2aNkLEVw>E` zk>{n-KXGkmf?W-s{x$T}yMffhaF1ew zT~k|PezgN{Q95p-##Hl9kv6!!o`rG63KQH16!WXx3q_ywHT7fMYnfnItvp_8Lg@f? zVWmcmKG`ma4~GrC5!YQ-nBab<_#B0<3*}oExmHI2Mb zu99wz`v)sba9>uO#mSUfuIZ9ZkHNku6YP5Hw5!5>168#qM^Iz@z~XZEkX-sC&VI1M z1oxN4Y4yzo<+Xwz%!^nXFu|@P=k02C#US-N#j5c&p^mgqcyIoNvC9e*+$R?+`WzMI znbrr)e=rwif?X+pc&o~`U{(0oQPg;Hy19IIc)OVn^Ac8=;C{b2M|QlfG}?_a|HGV` z33lbj8&-Qg4OWlmA483vW0Ar>-Pyc=am5M~+_xBSoVw6Z4mj}BeF5W&33fg1;H?T> z3{lqy9!HIh!=3WQ(Q)pg7+0(?!TpzUx~)qix%X^Z-wOB~Ot34es<%qn6RHAQpFoWR zX`M2r>)(#-SR1gy1ox4~Ta>;wke8j=#5_F5VS-&P-q=;~Sz#*cA16_xSB6e9HZTWEEWbxfv8xX;+wBzimsUOl#cdZ)DZB6CXJBP#u%;8vJg8O=7 zCX=n4?3nAgSc$a(6YT2t(@XWp5TWiYJcSxtTGo`iW_%ZU@wZ}y3GPphy^N;$WW`5c z#b&Gxm|)klPF||nrU-S)bs9B(Mi-W+;`7Ps_|92jg8QuFx;xuTR-cknX2yMx33lC? zWy2YONOhsn8PsUg7te^ASCxk`c3EM9`^95L|MI*ji|0}Ia6e~)T@gc53^gTE^(lH5 zH74ggE;?pvEWhE}&I%LU_a4vgF3k|_w$+j^@!XjSb~W4c%jk79QWZ?HYE&COTm=2- zAj7aWV1)_p-*2oY9ITP(_Qm!C%p>z9&*Ko$? zScV{VbA7vpE$`b^!Mj0f`V}jiQSZw!(QMo}b4R6c$qEyk3&EXp>Tc2EdN(s&6yE4T z{}#KJW%pLIcLu8(13RI{Sg+s0_SI=l2=tSzFu}PHq%%t#6O|qmHrsY^c@XTnTnsg4 zho}>!t!zf6s5G+p?^NcJ_I{ETCO8*@p39dmh{S|{+?m_CJP3AG$>^j`D@<@M#AeGl`I6Y#qpzdPUoH=VU4;kP)zmD=W@NCEdXW=S$*ENeigdI5Br8mC zE(E6&>Yfq<4|@qY&*ed|Ysq&nb!9Eg3< zx#L4oqhy{nBIVRWF~5_aWQ7S%d7u~TwmxF*o~>eCkjsN$*J1RW_%H$Yk1AF+W9Ybn zqR#ejVtEfg$qEyk3qj`=T}}jT(;{@7%Y$H7Lhw)H){02=B0d5&Y7EOGZoEz_;w^kftZYVT;~VjPD`t=ae=Am);FJeuuYbLa-$x!FSFI6P)tET5Za4cY&ny!UyAu33mPQ z;y^Xjqr!oc;433ff(k!XBe6Q;5}w6YnwO5HKz+?&O)seY0b z55glck|)hZ^FZejqULy)2f^tPze0(|#hal@_Oh}WYJGxvYT-nY7T0!GnBZIpI)(gu zzziPLSab|_c@XT1Kc8Ui_z|M6eOoA~lUx?~=VK8c3Z=6ndoOIl=3in!8nBZIpdfhj;Y-ZUz(oqN3T_)JoBxj=0 zw;tYBFxtvy?hobU1=*cCM}$=JU&Q2m+}gBo4Wd+D65 zea)RQ!OUK1B1VdzWQ7S% zc_44_c8~e9Mn^L?(&a(0Yuc&LMtGk9Rqmjb%{Z|Cjv4)9vl-IOPqM-Ur#$dGKeXDM z@b3iVaa2w^r#h5#G-@PvGVS-a0IN$C+-@UQWMe_q{Fu|^;AAcFwhhpzF#L8wg{dOn*&ny}A zBm6#CVS-a0xKh7q5r4G!RdY;lmj}VFn@duRtGk@4bQLR`(XMhoN9K9ybx4q(WQ7S% zd0_u)XE(>?XP3>_SQ{|GuDC@ubv`G$q-7Y78sd3wQNDF*eGKD@6(%_4fj3*{`|dd2 z{*1Y`t;>U8*WLDBYRvoqwfcosqkpk}qQ;@`=87(Uk`*R67lO2G-G(CZ*+Fw~xXXiJ zm+uEJwXa5?>VDA5W@PHKO3YvR$ZXczPqM-U=R(jMx65ded~=;yYO2eFVAqV^c2)gF zpc)@L5jAGDKPm3iIc#>Dfw4;p6P)tElb;KVMa}AenI){TO9Z>NoUyB;>w{GL+EzAW zY`&)=^TcK5q&Ppx3KN|2K*y8p+eMc)JHb>^E8$GXI4Qo8S^VvnBbHL z_5ik@6S;@pc1Ph}%LKayeU`k|`gfyt;baAtZLcx1S{4CaZfFu}PH?BX20BCci3 z?4BIx@*vo?{IOlV${nV<&#YJL|hH}R-^8aa2mx2X81pJaszPI=(8;iWSoOOMBnB&-dXU{}_Hc9mmp zxXPB*%1yM`@k?C%)J;5|;3rvOf>R#Y9lULd!6}u*zaw291iR{?8{&=HSP$N^YFu0W zT6C&7S9I&?Cs|>FQyy4z4%{vtnmt7tr^|z2*S9-1b^BO^dcMudW;{H3QJg5dUwpxL z&I%Kp@<8{bq(!3rhZ&+0#uXFn+MCm+4poU%1OAuI2-x(us5I`j7>KdU3KN|2z`8bD ztk4}cipgDF9t67@j{0pZjfqrdxRuQ?s*D#&#gjy6DAvxTFu}PHJpZWbE8NEpiHXrz zI}^dK)8~E~mzGAV-Ic7|#F#Xd#QU<|vKOu;tT4eT56nvv-a3-LofbWCy<&o0vx+7g z7jUM?d}-A<6tdRQadtZSZknHDg$Yi1*lc^wv~!dzb6FIe=<*=gm1WR(Bj2z{HSupN zo6&OMvP1P-WRMN|`bk!p;FJfhyN-tOJ-S^LBSTys1iOq2UyZC4(Vt@_j!CQBV{cv*Uofti@W_G~UyLVsxA27jbr@grPi^zYD!Uwud+h*H znBbHLQYjnrm{<257b82lJP3AmfA-0+RgF+_wXNJl$-RG?nHwaCmjPIRkirD#LeQD} zmcLofy<0TtkM#!;?7DO~$@p_hxO$!1%1z`;+HQt5yderj`$<-q;FJdvZpl;3vqzVT ziC7yj!LET16Ajz-Fy%U8)u>VGs=2e!Zn0^upJaszPI+LqRC0~^@6vJN+YFZn!LGjb zvF6Meraq0avKd>-y*0C5ogw}i>?c`af>R!NhufY#W{Z0r#kKA(4}x8rkulj&EmURe zWMwn<6}0L5OWTVgPCv;C6P)ru#{I-`(>Rnz9LCy!33k0XnqU-fAEL%owz3&d^QF}X zGbK5?U|g}n1gAV~wxS0wngw33cDS%MV1iwzz9$&j2LvmfVG(M4RvC2slWV?3u{L0Z z3C@M!{?X{Fxpvco`d50oJP3CEF+9;Iu{20EzHim|Q6#;dHgdYV{Q&IAkirC~Jn%l2 zofpk?*{8VM&B2}w5$t+Y7d;2=2C9!stZYWZMcz8%K`FD;d_Tzw6P)tEYU1n(vviFN z<^fz2nPAte8lQ}o6#`Z1u2weV;r{R8*6(%_4fw?I9Qaz4uWP0^=c@XS6 z*YC42bY_66Q`*XAyzBSKO#Nk**)Z5ovcd$XJkaf};6`)Nf3fD&jxG;^UH*^17{OTs z)Nn5=H?jA^QM2UD<5)rZNmiKPln36s)M=)Gh2dI4{}#KBl>K2`!dpY{?XtlrpPI=&WUg1T2 z!t5*N*C8$sf?buXr5J5iI@P~FtQucu1{ zL9i=JPn)Xs&8a3`TZI~NfBkkmIh;nf?}+<3DNJz61D`zmO~>)u=gelf*D}Gbv^cZ< zWnh5HxMMYHtSjv=3c7!rM^J+mCOG9`vo#B^B3}7ub7+9egJ73F>!rMr^V&Dj%4SUN zx~K#Pd{AnBbHL?grxq2;258=K4672f?n$c6K#xf1ujlW-V&OZ*~jUyVK?Z z%-dOEf>R#I#BH7{mad;;{>0jV33lb*V^`}32dN@yt=z=8Dfh*ZsP(2V)*q}e!6^^S z$XuJn%2Gqj&3Hcm6YO#(+f~j+!79%st47OapG1>8W6Y5*KgkLcobte4#=S#gMrvVZ z!uP=hyCxU*R?)>m)RA@TQDc8GZ&`jtRdZlxKgkLcobtd9WaTrWRGDOV1B@#s*wwk9 zw_4#Hsv7?O(gx zn_)OJ$p4lX^X(hrCs|>FQy$2~oxCEFpZ)E7d8o^SVAtEVc2#J5m|9lK%1sQLo>um$ zb<6Qzte^ByC~v|k51TE6*LgAgx9OOT>lG918dT4&`t}T0DG#k0`~S7c?|(HBQPZ(L zCxr=4d7yXO=_BIow4x&2B&^SgVAtv$Ug~VN2$i(P%4W2z@R#o z_I7`_Xw$2k*cR&YAlT)b&P$EPSp!G3mCcB#a#OVIyD}{7pXdS`WrPK-`FFXJ-IAgxYx461gAVOFL^mZlvuf1oWuQ`33gR^ z^V@jc3vY_8WaTCvT%9iN7k(%5Vr{?*6P)tE_ff62ST<;%*pGP$6YQ!}=a(^d0Xh%= zvTAH?)L1+(=_U6L^^>eH!6^@{2ivC=HyWK3H?THff?eOIBpYq*IWNobtfAaA&N$ zciYRNKIZLAuxr7pFUE=o5vo-wD>t#XN-@)Scq$o*am5M~obtd9WYg5<&1a{?8>~N= zVAsQ1pN+hJ5z6$kauc0?$Cz!?eHDZ8`(T9$PI=%2#DwPNrltEupB^p`f?eCaKN-LG zgsZ#PtQsf$*PFW%?~643{Uj?)aLNPwiD|~0-A}I;j#(}bf?dP1Cm9Fq;VSZfZ|J@_ z@~rvm&>_(eYfe^};FJfFddHWUx&ECjrsA5&1iQ8dB^quSrk=O8vKjwJ)ma8qv9(e7 zaKw&lw_*qCwG(D;${}+D%J-?|i@3{Jm>E=e>C5 z%P#+XC7^~VE?vO4q} zLe!c7IF3Nm*o}+>UraWjy zpYNWWc<+vDI<5O4fv)wmQ~fy3i+U}MY{t<0`SqV2T(nO#E033Mg> zN>nEgp!2V4pQRf8!!l&6GJ!H{=0J`L5}5L!ogb!2skD&0Ck2@ZblEE;tF2CYh@$_` zX6!%wQU1NPh8|i2IVwnC%EMx*Q0|~y{A{#rOzWaZplivD6jiJ5Av|vw*^H7OZ%CK% zG4e2t+fhLRQy%n&ibtzt$tKHX6B@&r2*{P}FP5g(qPJ~+*=1xi+`jLYs~f+NzElGh z{9H_V&>2GGC(6Y|_RA1jr$z!@CA7b45}j*c4KuPC$+JUcP+GF|rFj%8NMOo??xNvM zWzJMmO47&V?9TBJp!=hHV)-x4ZFV9JAfYZDu5w~xom&>1w3g3m(NrmNX% z)g|s?_!T3Yk;^j8^^;ma-w{lEETABPDG!S!;{JBmJN%w3Py0AXpld;Mi@5vBU2NT8 zWHX8mxvNAZ zo=(qNRFJ@w2c=RvJFyF?vGO+Ut094|?mHaB?sp!dVjm+n;hDLBjjZ=m&Z2c6RFJ@w z2d%I?@nx~Kj>@XE27m;*$~Uo!_47SNXysU{aed|}A)Wg#E3hO$#h+IU^K_t+1!zq{e_ok0<>S|;&TAt3! zumAU48${O?Do9|;gWf(A6~{K5T%uK{xd9UBT1988d++lVyK5S`iT0iaxLPGJrYDU> zQ9%Mz9&~a`%X=(BtKrflB*;Xdt73J}HB>r_Ln{*nz2-Nla5Tn!Z@Fy%p~Y);zA){mOSF3{Wn33RobVi60osYkey zk(+qBO0tk2*H|cBSEwL?DGwSm{8_-3@7Ta5(cAzDbh-A=QJ)PC6lc=@U!&?;mbT|3 zi>G}xRFJ@whs6?f%9Dl19%IF5j|B;IrR~U4|63d=0&g1Gj6zNxY>3Qa7ifPF6(lg_ zVX<8NUX~qhc#$<+OnbucS?Efk{KxJs^rqMax2VRdzFEqafIR%%vVj~GBrxScyZY~U zEBQOzX8v?fL;_v;yQHiCED99+I~v)HUK7eGMPKLV4QWjV6(lg_LBEgsyIjkCxXa3o z4Kfkv%Gj8u>H`8ra491<;e0{WZam7*%hA3wDo9|;gHC*J)Ji+xbC><5xd9UB>XIu} z?VKJUO8+uy%v@DK4*4e!A4YQnRFJ@w2PHsPf70@Azrk+Nvla<-JzbEj&awy4cOFMI zM*JHf-*(GnMd*2s3KEzLp+5bD8`_zZn>5eVP+q{tD(ckr63I(@yB!F!3QG+ydZS}+ zw@=6Dzkl`;Ckywb8b7Wx*OQ~uwWI%paa54Nlm{ggdR~lP^4dYJ{t;>-&^7L(Rg631 zEj$hx`H!()9~Flt};Kq8f)sRH3z{=i2MR zc8&@XmQyH&_EKM~%+$baNI*n%Z&uByF0V&|wJfw>SGkzG5cykUE_ zYc;}51iCIhb`TY}`-^hXM*gGq9v8OkYK@o+yX+hlBrq33zrp1DN`s$EwdHA{CIVfG za1di$Y0a{~k^czH%h{&;;jUXI+c_#oU@nCAYj6Bf`X3I|;%|qV2z0GjZV}I80z^Vy zAF5IGfGexKqqQ=LzH?NNz+4Ee8U$I{x}hbsMS7@-Kv(O{IjUAEP(+_M@*i*dHeu<0 z>y>D_c2PkBb0O4u_QsLbj2aYEBR&W^H&&}>`w{ujGz+4D*Opt?#x89!fP8ADy?y5-DcT2Do9{1#K@n&Q7jRQm8b`yCIVdx7tvX) zKj@s)13^^d=if0(yn8El*3-^WK>|}A7R!W-*A(^FNhO1>DtbB@Eke(l&fkytL z?y66&`DeCeFZ$UzDo9{1gj$L$JC(oB?<>u2gqjF+eR`0jw*2NV8kY*88vC-&M{oMx zmbD79b5xMPTnMd^jT@^(wfdmU|3l9Y_$+j-ypgDGZtpL4?=|utQ)boHR?ca~=B&1J zRFJ@w2d#^SlvV~l{I0}T2s07r8emCOk5F#Ad4(}l!?V(i9J#llPkx?;v8r~x;9Mc^(Y|1rS(s^&QU=Eb0L(Ens)!(gp!VI z@{3Rtfv(Hd6V$aSJ|eA`k^gA@ElmrqUy?QQw{ujGz?27FyZ_0UX4P}EOBX^-1iBVi zNl^1u^bsrbPox?lcT31$)3THfbX}o>1g1RbWTSDdG(WE_CF*jhi9lD{umrV3dvEb0 z#>ju%`&dhM&V5PQ>u2YvAb}|l8kaPhtyS&)PHFrp)I^|bVp4)S!R{qS4l?o|F-@Av zPV>W*0`z^Lf&}J5ESB%>wrbrPNM&5vFcX2U5z&e2<;$L;#+@ltV|~w7GE05qdg_dw zqhcaViIGcRH7$?BX60w)FcX1UkW7vC4XSw3cW&fAlB+5*PybS9#;>t+RFJ@22=!T3 zeWP{T7ojZp5NaaOwJ$SStw6mvy;F?*N9!CW_Y{2*^O%0;s33v45b6*LO4qEHIw}8M z3N;bvDjt%mz9>)c7&&Oq$UiY!adb5xMP zTnLQ-JU(edDv!`k{R%Y^=&Bu>qsBgW7j1eN`HvT=YqjjQjpXLBc8&@XnDU_h_Jk+e zk+qw&{?|iI1iE}?Tg1%P9wN4mkh*-l&1)K#X?_zD#yFc(6nc_7Eo>jci8K%o#E1yWC_=8YiNH1m;5MEQ_iuwfi~Gwd)Tv1HaleJs33tU59%+;`WEw|(=RQydYFko*M}`uG3S(*2T3!QjPbUE3i)CUoE_vX5$oX>Nc7y2__HhzC<>&9Z@! z&G28*hDD8D5L4@*ouh&T=0d3d%KfIIUs)<(djtUZ(3!yiL)c>YD4Va|meH3aU&~@U1Mc6k7h_qV^sYdq{g_TSwublR>b5xMP zln0#@vXf313#zNR()|hvbQQKzFHSx>>t*jEs`2?$bEcf1uk4^_EhSU;G z$I#!A+sJ0Dx4u(KJ}b#OAGdQ~%=KWPKbqf@0Zx}UZ z_?}Yym)BzT7Snwf6eKVgLeKNv?-l)y3@@6CdQNT7=i5t|M zg#_3+Do9|;gLcVY#woEs4=9~!e1!zMY~xeZqw501TKjUU;rYCzvc`$Co^)NIf&}J5 zES6i}4=M9QZY!5)oQMRvN>oi&=M@VO%laGnk1Mt|F7GzGu~1+7&Ot!}Qy#Py-fNEX zu-Q9>(|8vNbT!VKq^=v|FEXne*^F!lNA2Q77xpxg?z^BMfhiBl#BHsobnNg|d08gR zM4)Q`z1OnNc|S4jwNc~7^l+{Hp9ZYPIhu2Vf&}J5s2g|a5m!e`q9Uu(oD&FiU0al( zZq255dT%lEADtUSYj>P#u;=US92F!m7ec2^j|^~maMH@A(>w|ZbaiNypq{MnE2@t( z@*kI%f7jaeEX#V1uya(9z?26)ITtLAu`bQc4$^!O33PR)_huaJLvzmVM*ib;yCSmd zeMi=zzn!Ck1g1Qwb0Dso_8`Z?j?lao33T=8nV^=U%;>#3MmD3%p=vU5!+pim!_HAb z0&^jB_nAIHb8h!lX-e~RB+%u1GeK>8z)K8CH)<4n)kuDGTdGW)Zs({VfhiAq;(S}H z&0TRtNhum;BG45(CsD2P$5Z4wXXHQHCAW}cP8CsdpS5#Tkie7&{T)wEYK2bhQ1aFZ zGZE+tnUtjN>EtO~ZASiMR}oh^s>XenRAX)c3KEzLp$?%cPqfeziG=T)5}5L!civC_ zp`E;#TZ^q0W+KovesY%jX^p#R*WJiw1P{BboqJV5UfN^ls33v45L(|o`B|IiHb7%p zp(X-ddCKId&#$|SgtA+yhL*fjOP*I>`b@KPRFJ@22t9E=z0~$?T%ozsdOH&6TGiJg z9#r-a>;D)vUXSrl5leTj?RH+}TDo zp5D3~(?6G+d_ea^RFJ@22+gA&Zr0{seWY!q{SPG2W!vW<>~%cF%^gPmquQuCuHl|- z**Pjm zV9JBCWQPlC^&b7un$Q{<66ngckh0-(y+o6mMmA&e$F<7COU|+n&1+FX0#hE;Gf{79 z%>4!#S|shOA%U)+@sw%k;VtU^Fluy|cUvjHu!RS@!(r3M+Tt@qY zNTBO?f>ms);UgYi+(k8x<;_u&z7>c1+qQ(4E)Y2M|-Oa!{d(K}gp_N22|vyB=vYPDvEu3m~+dxG}1K|umj z9`v@&39(A|+Z(h)rNc}Fx>_xD5P=E)B5$mb|HwG3u;Kspa2d1I&QU=Eb0HSXw}kh~ zqvx}=)YqXV0$rni(m8iC0z|J>M*d^NCB`=I{_A=w(9Tgo0#hE8QT&{#>{-mT=QKA! z0$rP$TEyZ%0b>euf^sy1_Pjtr0#hFJ#BohghPv)>?L~6~B+!+-C_~*jK2ZF5Y}6Q8@4M0? z@gKH^)^|}s0&^j>kJIC`(x*ptWjXE9BZ00{zyGQ^g963+)kgl~NBi^2nc>w~*Nt|L z3KE#|pswN}AC>rJ6P0OSLQMp^2KG-=CzlTt)q;*tjV}9^E7Pf0?e0iBM+FH?c~F-{ zwMWXtDchCVS3*q$y2i$(sKd_$2%mOF{^P=fX3CmQ3fn}_K~#{yln1Q{yPi?Xx?NG) z(A)qCblo14th%=d5O(H2WI%VgmAb}|l>K3W}$hGgeU&^;yVI~4y&*&_@2aWthT8NSV=C{=>brkQzonDU^G zt(}E5r)O3cOJg`B&{c!ZXIOdITP#U1YE&s!S$-V(PI*N04^)uAln3RC#`|i~6aOf$ z?uD8Nbk*6Fpt`*B67E-x{D()Le`V84+mvn->>L#&Fy%q_#1hN3z+v&qafdJyfiAD! ziR$f2UZVN}BmdFJt%dZP*i1>HaXTtVV9J9=eM=8(Qw|f)^(9f+jzU)-AjAhpdf*{5b9h$9;expRw!F@Xm1+`boCpMtS)%yA!-ygvKeC@ zGI^*-znGq3c8&@XnDVe#yqEmcZk!mU9KRcCBG46nI7Qt+J@jKf8#VI!Dzc%Av-XPa zC8!{QDGz$$taOksXH-^p(RGCcy4p8QQ)hg47nzrg{KwJK&7`_=xi*pRiKrlfDG$0| zWjM-4`RBNX+zK@j=o%CMS6#8sU6kHnv5kp=|}AbUJ0eecDJZUTb?b)I^}GTeyRm?BFRHj=4ZJhPS=a=I=l^S%b!+s33tU4_c=# z7pi@{|6XhUE!0Gy%cqD{+}`0Smbk`Jjbrhpl($9N$hk{sPZ$&=Fy%q>kCIh2m!03V zW97n31iIWOS;hAOUcxiQsPU}h0;P6lefj64ouh&TraWlu^J#O;k~hiPP^y6hx)Nfo z;(d9_51ze9HQd@>P#zbkF16)$jtUZ(@}RpgIbj3EIf2$h)VobbIBRHTX`{NRNiLTTPGJ4Xcx zOnF!=ZO^7FGHSf5Rxr#&perajLrtLm-S_*9{6|2+bY;@p0&FqubE1L-raY)~;NNeG z_4Gf=!y-WzB0SH)6P*r0&^i2i>&!saX#RqbWaI2 z5$O7Ij>bN8&Rtm3J5+~2WQ*+gR>B+&JtL8@Bm zL4c@R*vMuiFYl}LbaY`CX>NcD5}5L!EAiENWx`OYY^5r&69gy@6FEQx>bk4{a#fy56d%0Do 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 literal 1398881 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 W|Nqaw{>%UTzyIscfBWm-{_@{lsQcUi diff --git a/resources/meshes/deltacomb.stl b/resources/meshes/deltacomb.stl index 7be5c33fd7a927a511028e46509238e637a929ae..b3faa873fe849947e83994f3e6297952f25d3398 100644 GIT binary patch literal 946084 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νidVR<FqnMp0$A2;O*g#S6_o7=!#q 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 z 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МX4zb16;Y4VNq5oJKE{VGxF#`1;31!5?&@q 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%0ASnMc(ZE=OVs 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

    -GL-C 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

    abEDDd}*J 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 KOVh>IYX1-6!5XFj diff --git a/resources/meshes/discoeasy200.stl b/resources/meshes/discoeasy200.stl index f23051230327be45b412989dd3fa9e27d92b3ab8..381df45b24284124332b824170e9ba37e4b318ee 100644 GIT binary patch literal 1051084 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 literal 1751784 zcmb@Pca#*x_x77z6a+*NP*D*?34;pE=3Uax7K(|apn#G@RK8?Mih%}1kfa0^5m<7T zoYU^sC|R-zP!T~PRoCA3xij1In?GKUm(yqF`Seq{tE+2z>p%YdlaJN^|MpLz z{X;DMpRNAS(g&|rd^l)X)r7U7bKv8T%<=6f1_g4SG{@zw&H=5{|AiAVu}0NvP8UWS zJrSesuHbkScxO;x<&TCKF|cD`^uOk~_~Jp_!$#u8G(*>o<23WIQML93L-aoK0rO*o zb^Bcvom6$4*EcZmx=G2>&K;v94&84&TJ`J5XzqczoxRg|yuNFYcg`&&4lFgq)_ENR zNOKQVb)9Vp|L=pMB)<8?5J&&*7(kkPpbA?_bVR;R#^e3hIz?zDsKVBVemqruyO}x| z(YjOM)br-}@QIFrwWUnW?z-H^v@4rh;+{hfIdy(>WmlFGY{%RKiHvMR?>N?t(VRfl z%qfO=Df!I^L`rTxh7afM727fMu#tFVsL6Sg`#H@CR2`pUh+z{4MriF%-fc>;Lz}k) z*xIq*Fb@j}tOKMufvWUWld9n}Ix;_R0_z-Uhp?&6#}77jkkYRQs{^bX?t#SGZifDQ zYfnaV0#&|NhWIeHw>M!gi!&-c*6vO>$Nvs{D?p#0DbY8i?b0`zz&?RAPZg@JH838( z#Pwl*-UQ|YX->R2$<*4BuAN!G%UNnZzxGHMKDJv(bR1$-iw<^TH1|Li_IYeQoJd(^ z&ReA@Z{gVT8DS$);#)(v=sdu?f7qyc{#Qfnk^Q|1YwIba+F6{dkmjjE;`VEX9`l0j z?O~%TrGV+di_7%$CafX9oAaKS+$~V5gdrNt>>YTks5ze9u2)D6B9Xn<&@E>n397L5p&$3Cm7Bu~+umd4gXP8u8;M79%c^$scNxtIRN=^p z*Lg-*3AwfQcj=x1ENSohK;nbzrmV&ue3Q}K167017-H1o?jgkIdt27g+|f}tH_+&# z$0Zzb%;$b##w#RHWsd#gzY&gzcP}(`JjBQ%SxDfBgS2HKfhu$C7ypfL#?P{r9jNDc zRK8L+3yJU%&d{7dl{xkcJ+`BtW%V7I>UfN3Sv?Dh@GFC%Ie{v3>=*iqgMOCP{^TQ$ zNAa&}Wg!uMy)rZ>P-Tw&LSGZn&$3>7>H){2Z2VJMNZ{2HX-=TZ9Q%cy`*5Q5YsDOo zxOUHHArU@vGPGqOfhu$C7kWm9ewKCo@qCU)#|tlKArU^GGc+eqWsdzq&l%CrvJPB5 zTwC{#y?xqeA%U|=q&a~qbLUCY0E+aRp!_)^xZZm8Xmvf@i?}pUltPKcfy9YEF@56j{V}lduJll z4BY91Ixl$rplgPn$tLnbSj>q@2?yQ3Z-VY$n2~?S5ztHy|oVd47hU2mPy^3{^2)}zVv}GZIDs$`? z`mPB5EUVURzvFSSaY`K|!tbdJ%?VVQW53Y%ZRlrNrCOD9JU$*)uMQG;M~5^gP-Tw& zLa%;sqUAkB9gh)bn$$reeC@>0mW2eW%&}kSH5v4?tbuQz-Jr*kV0_y;NQAHG7@8BP zGRJUeA{*|821xSoVGCs1XM{X(y#a-zn`8IDKkYH!v-B77az(3XV+ zs?4!p==ELnQ`f(d{T+|8^ZL|5B7Ak&(40V(Ira;^0*!u_wdX{#;}Q4$J9Uu2wP~a| zfhu$C7kV|D6DOJ+S+DE7^Xu=|K?2uwk+v)(P-Tw&;=eUy<7Zj_?Ct4z>>b*#4idOR zi!>)tWsd#gzcpmzr>+Kj?sPnU|E^yhBygPxX-=RDudkd~UACCx(ea0VSvbqUHAI|o zSQZkfGRJ=L-wM5%qgd9*ne!ZvcT4xnLIT$ik>&)d%(3c&?wY0XQzP8w%1*nQ-tXNk zB*ND$4b2HunPb1uE8FO2S?6AO+wti4%v)JV;2IgyoIsU1R`WJ@CEfU0)}z-aIUY5e z^~gdZd`-^KoIsU1_6xn%hklmzN%@VA$I;t6Wg!v1QfO#SpvoNkgI+S>kO*IyGPGqOfhu$C7kb4D{VXf~L317K zw60zj61c*KG$&AHj{QQf+;JlHuQ=yA*yrBlEF^F>3Tewi0#)YNFZ9|XCjxsPcRXU= zEuV!%_-d4)Eei=$nPb2BZ~cmhZEwHmcuY?%l!Zk2>X)G{3kg)2W53X=YUpQKf8F|; z<1u0Rp$$lcugMvj6R0xBYUM_)`=Os@b?w^S@$lE2y8#JY5k#63s4~ZXq1SXd@yUp{ z9gi_Dzq$blT%ko;^+6y|Wsd#gzcpmzXIY&Jn0uT`Gq0~l0#|5}<^-zDv0vyXe4JR& zF85xo)rj>-;C&m?mW2eW@cxVw`dUtRs(6Qm*9@eMJ}&~VWJq%YXDoO}&u2@9aqgdU zpDvj-R=n2YJudg4Z~j}~HLIsca{}i$m?})IL)esaByhfiH1|Liu3v-^t_Ko0-$9yt zpbFPvya`;{!WF2nvZ7Skc)i26#IMdKU1kLYXGNGQOs%6Q4+{xQ3DU-a>H}4{$`u`f zIY*j%;N1__8o%>0jA^^LR*Wg+>(oG4NZ=|k(mYkD!ZlrQ0(&Rcpm#q<0_SZ=^HiY< zTZT7*_kCEpSn7_4O?8e0-q9h=2~^>T6GkY^)F7^4V~Ju(J03(>NZ{Hu(wsmQ_Qx>7 zrc~j45K9#MCig%BXL?9;0#!I~^CWD1iiBzB&%BI_85xkk=R-*IRG|ucQ5a!US>b#T z(~f!K9!TI!4{1)I3a{bO5je9%ntPxMXD{9at^#5U=PQuP#m+4&3kh7`L)uA|OP~r@ z>%s_aQ%AG7-i9iqweG)EA%QDtNOJ;JI68+B+Qvy0&V5jYvl{M!1g;w+%?VUt9fT2X zs&MX%_0Q++TArH^8ws2hBh6A}qYB$q7@=({sK_ezO=ga>&(f;q)5pp0Ru?LK<%f=N zKX*J_VtNrvlB(&6r`_WiJD(gdtGZC( zU^LIikczRvdH1FX6-!-EAdX%UQvn$|VRDAs$GqSa4G|crQVy zU^MqYRk{D&l(%nA5Go=Nz8x{aR|=#G6~25w<_ng6KUt{ojX4k#taCj@s0c|F64hqK z1eZRLDpW9gP_E7;<_M4`fWA=?U;ZjdNc_!=F`7o780l28%iu_P-dSomb3P~q!y zEnl$ks05+HS7Cch@Pj`Sg^CEoYmH)p^NS`46^!PoLY17BFWBbu1fe2I0@IE(_dwN& z_W6SAW+n&~K5ydW2l<2R9!?P|e79eU4PN>0&g$mX(E*8oc{C<}Dd{$^{N1|s_D|q^1yimbt?tv<7;n?yyF-cm% zF8h*&3SXa%swF;~DpdH=`{WCXCsT!rkenm2^qG9Y`qPtz3Py7eRLv?I6P)oxs!$On zf&Bw%?t!WfU1Nf&iK#+`FFFEy6w=&ddc)Y@yHBME6~0zAV}l#|r3e)f`XIK%p=EB$ zU9A&^3Lo}O?t#SF@>cMXjY&d<4{1)IN^H9+oBo|7R74;S%)TLu9!n7_oVG;Q#PaXo zkm(argo=X-=RD z`(t#(@nNySdw)+7Dtt(D4^&}4_a?ezWmp;|E@^xCav0`n<=IP!+W+Z{k!(E4X2%>P0hCdCr4{`2WSj&|Gwi96Liao_w@p@Pwz zK-F{iS;5%DsX|2rV#*s!DvpP3a>KWWz}T-4LNRJvQWXsK^z~s2NEax+>lTF zlPpv)niHtP@dIZD-bBMrH{@rvQ-q2L;}xoK#)^L2qvfHP;HY&8LWS>}t1-bBcP0oG zzH;khf<@*h2o)jY)tI!{;4hUEg$g#p;mF55ka(qbY_MYOM4^JwoIq8xqL8xF?0K77A4566jrislcFZIvKYuyGK_M{i=qq1a&m$_YXRqd9>pTuJl3ejF+k8+<({QK(=g ziY3iGkSKRHCg|I%?kx6lniHtP^(1V^oWPO#=twI#>6a9tBEr1^5|egY!OXi;g$f_i z+yhlR7g)iuH&TR(2n3EFIQQ`$OOQBFGB$Ygj|8D2LO(|p&Z*Fk=i~W7F~OrF!zd%6(Lu(=lY(NJAO(PDj0!h;`uVE6IJdlzmR74>9#9fy8?@1IYd`riim1Vc9weao9zEV3c$@YII2o)ju zsQlsuS#nH*P~lsja86E6O%y78M-QBre@#dbDnf{#U%4#bDUv2su$jf~FD}Ws@o7Ru z2vK44Rr#43aa1tkVB@RuO086(A_8%y!ZkTq-C3w$G%qVu{oDPToU%7rsE9yV*%u_O z(7t~AWx4A>icsMzQT?JU{Zy(@5t1rwqxzWc=)C&}65al~=n_cte4q+T)SDPm>WY*< zqzV-*w^&cy1Bp@VuE_W?sX_&#Ie{vyHSbhiXnRE-QO|@_IOnA?>aUAeMRUGC`saIs5F3CcL56AgBaTjFidTMO17do~hkyYY~eD-LvP{C;K zfvU~FT$V>_s{UA0t(e1gg%c<1UXgJplY|Oi!SQG1!C%$d>#xZXa*hP15NYm#s-oM@ z%A|}Gp@R8&69=tx@<9I-p~8nWC(;IAmOs}|6e?KSarWU&bol799Mn*?{Dz$71ga9Z zT$W!9O%y7aA18{amN;%qyimc$54NS)0+BZ6ntUoIS*UROInBax*3UhV zSgPp4=aYmAMsp%mMb~ie`7RP=`d^bro=p-e*hs`ZP=zxj@3Ex*uyb<%Zz)0rD<3R3 z?tw(#r_RYL>r#XYMsosHcs0QK=ft!fs-7F92^G$$Mt9ha2cLKEcf5&Z^DanQHP9m* z(VRe)E+0}wM=V)+Q7(TrO{j3{gJ|x7D!dCrKTc?OYJK0AIw6Os=YuMIPhUGB_s6CQ z6(O@FBzC@hJWrZ?@1L)6b?t!X5Po0uW)Xo7F z%#RcIwfIw3-xn`b_(n`T?9Oo?eejrkVt%|(5t8$1W&V)eGgE~MhoF26d+(^6Q$JOx zh(O%C=MUNBw^X5m(L7bCnlSNCS^2Isp&|ltcbn7l%$5|Pg5?%VfqNiPa`kDsutkbc z!DvpP>S(@y8T{4BBZR4*!A^k*=1~^P{C-P zDpYOjd|DnYnMxepE0O(%b`yBZE%Kf4U_I6^!Nts=g_IO4dtH5Go=N zd#4_eFOE(TDp)XuLKm=iT#JSjV$ zj~6Of+A&Yw#K8|v$o$#yLItBafvT2^j?2F%#tRh@h_}Z5A-^n|pq_>%IJu>Eg}s@3 zAaVWAqq28%wGz^t)0{xn&NfG7;aO_m>#RrwwrU(7v9EBCP=fM-G$-^oq{20l=m@-b zMw)w|3TMU95u10Mm7P~53KbD%;i$s(B=qB{LL%|XS@~YCM4`fmG$&AnGjea@yTeE1 zn8Jxd1#4GW|J(zKfrF07GH)je6^!Nts;bvLBLBFUC{#osvbX*%3l57HDp;SuzQR3_ zSa#pv?)@OP9!{VNuY=JMcNG3hK07L2sECjcRN?g%{dlVClszK9nV%$7u=8TMc@sm+ z9FawSND?X-&52MIjf38)LgM-(M`Y3Wl7$M#gJ|x7Djd(f$6cIrV&BH6C)^{Hpt&K^ zoY3Ep3g>Xq5sz0rE?-k~Q58OA6KU6uxz{D{vIc3f5U70FWgv>IKX#d!Dw?2^O zsX|rd3!7vY^|Vg~^W((SML|h>?rQbgD7#!r5Gs6US_CEiV#u5LW=Bxc?=+C+1ge_P z+9={`UC!;D@`Lvt0Sn8~nz8Xh2%fiLgdO-2eI!9u7nVs(HInq2;s4BU1yS&t0 z{qm)I67%yW>dg99HXW#bZ!j>)hcqX!?V=yHV{c;exE->~ge0NDhcqWpg{kr;u= z^^Mzhu^n>{Bz{|)<@OJxIf1JE4YDQue$bn^T0BS6?*~zZH1|NF#{3*L8kpY?BFza@ z#XKq{{eIA!C?Zz7zYG~Mah03%+Wyt*CbNCKdwRy)LcAWPpio{>XcgU8t(}W5i z(%d8FgPrn+htq@#rb61AI96bn>>86MR4|$osJhf^mu#v=2^A5D%-*|YJN1-A1ska! z9=}_zs*oa7gp9jLluF$#M~_PuDj3aEb>K@W>GzyiYgn7!#67nJCHbX>3bOes)NOO;cE7!Qc&eZLS?sxj#x>n}>>r5o3^jPEmIumK`F{bSn`S^td zp~APh?-p5B?I}^=D?4(VEHql}Tpu0!d~m?`yJXg^RH1^^GuA)%K;qeoyJh=ssX_&# zIf1H%ukDsYtEUPT5eWN}-Ezm@DMAHPA(zc+_T30<;&ZLSG&IkeC(4o z?yvSZfn)9dnycL%*xuuA4gWfKZutEZ>m>c^ci5l}GVfpgHmI8|=~ur$t>57814(U} zE%W}>FA{6oXG!|iFVZ|8sOnl|gQQ>mMn_=Uk>(z#3VyO)(yxBK37joWKD5ov`JH38 z%WY~mwu+FE8i}_KZOayJQo! zvr0usD?y@S;x2iluG&*pm($z>RdUl#x#F$_p@R8w;`!q1B>kEkuYEu7SD)wkYjPxh z=(<+YugQ_-9;m`AvNuuX>2;ERP5x73HHzl`n*4uD*UP+rO^(EKFRz#MYjUJ{s!&xc zf0m?QlSfD3=!`V?KvmAPEJ?p6kB-2r0n*$f?$sPgzb2nqD@W3=$RIm{TM3dGNMGp@PwzKo!pCa75+A zKlQfCAqx|P3O4JzwsVWzrhXTqBBa+MQ6RWgwo~Jy3Py7eRAEYRmdS}NPj8f4cBKdv zY{bEl$eY+yexux@o{XwsG$&AnGjE)ca{^mjteqq2xBA#Zy@_G5Ig);>k2EJxh3hlX z5jh8QB>h$&Y3_llyI+u!-pS!j6kIMPz3T&2NOKP)t`!VQdOHZxoIn+>Mny+#d@3mE zZ30Mh4^(~l=SKPds|iAdFFImi#ZB_vlmwx|hcx#nRBes>W*fW$;9ZzEAsf zCs2hWjyJJw!dgjh5O{joI!SL3D6wj-%=--jmc3Te8wBvWG-SY9nfDt6kf=Fut)w>y zAkFiEsz*kwmGlMyZ{ozYwUXW-fU1Y~t(AGdK>&$1b=FCGg8Ie{v?+wvxcZ(i-b0{~kI-d}MKB(9B6YgxJP13;P+s1mJL zyT6?ECbo87?Y>n-w^w>TgllKq0}21K)$UtWkmdxc$`xJXzOlfYxc=rE_ss;TLYjLZ zG5YEnNpC4YniHsc^s}{+-dNyGEPOOa(i;S7{+uQ04FZXG<;c9>AkeP;I!SL3z)dt!iVF$H!-DGP|_P{kmdxc%8Up~dIOC& zv209G(whlTg*5j-;<*ollHOQ=G$&AXX8R`j`I&g3!skuIRM;u|AB`6(*xeT1g>erg z-VN-KwN}Lo6^!Nts!A08RzC1)yigH=NGiQv(wh+Qy5v1lBZ1dJq;nmWcm@z0@()$2Zy2~=HuB}>x#0HPysB@JnBk5hGXB)ty+ zX-=TZr}9DX1MntdlXE1!4**q2a}Ol0J(MHqeE>*v0#$bv$dU9u0B_>;8|x&!4*3CA!}T)mfkeqRJJg&pLA`Z~)0{vR zUYESDANZsSpT6M}0q%hWuF50LiBJ`-%11{8;&;o*cdK9h-klg>6h#%T*5N81Pu0Tx z*^=IbfNcrem^V>nUbdt+At22ORN)%CH-RJdio*E_CIqB;s!;V& z`E`=sgy2o!$cbZ=_b7_Qi9zvOWj*zl z0u>S36{_$_6Z&xvB>t(rMYfzCFI4!D=ET^YS(4u9fak@hS>8mAzc%Dq3YqyV(5cX(p!^}<{qfR*5^&sY5uLd zqfNI&+P!hxitTcw+D)e-1H(LCp&Dq1PR)Nj}s+-T_T4)T~nxF=e_pM z5?Q8rO`#$rRY?33SSsJ_Ra2;7H1|Li=GHq^eGadX{WEI_6|9wDsdEn`N;Fy_n=h^* zR4|$osH(hXx$Ls4hENfKsC9j*Y!Rp-R4~=G>dR#MYc+(5kg`G|cGglk?58xLg3&xx zsKP#heT5S}S}m8itf(PWu=8S`yot=>%jJ&?Y6umK<^-z7ez!~>nO;Mvh(Ofrx>$BE zSwpDcE#u%KS+-4@P!UpANG!j5iM$xBAyjZWH(BNv(x}4r>fNqdPhKXke^x`NU}?uZ z@th-Zxy>?pU%whc1*18EDr_0vH8|(-rFmY-aIEAWNYwBzm1V1_60H)cU7_ly+g8bS zYWAukLOygUx}#c!`7ZJC)n#~PCPYaiTvtPvQXh$zG$&*c~^>1;p>yJSYCQN zS*QrR87bIT2BPM|8M*gW~!F7<2jU8&C1fJ&MZF)z=S zyVBx?3Ln!K6Msp8TVY#6nCzk#?R}Sc?{?bB6 zo_5TWH_`X-Ts6m4YZ)>=Le4`~G~#%dE)ox}n=6Mu9xqfl9z^q0p{nPwxo&&)9vLnl zm?B43OcE-5l}AsPbK0x-gSAigdH0XSC#OiOSG-W+!@BXVK_rIXI#niS#0wRS=J`O? z%kfj?jH2;EMFiqP{kd}MrWB#VhvkMf%RP|T*Kv+KUoJ(cU^FLCwe8w0IrEidp&|lt zZ==cbhx-$S3Ra>&9?O(>&P@<1LdGj3?pQThp6;F~R4|&S3RPH}-ZfaJ*G!pRHASdk z=f(Qx9!T_RGD}t(n<7*&niHt{rs8aOto2S6{*^JTbNq{A+yja7zS*)vY`jq6Lz)w) z!nW&86z(}ozF#p}s9^Ps_0K(!sJ(ioT)#g_s9-cFP_=Z78XtdEsrr23`rTsh{4IHAJlO+4FXmTcSBFH|s(-Q{P?6+`?&MTp09ZKuj- z-t!9;&J~&bHdUG?w>9$%6%mLU%csZ(zw!$ejOIB<)#GKR$hLo}6#f;7nEu&hSu!q8 zs9@(sntLEIt?Fc1qFx$WTZEh# zm@-EW_`@$$uo}eH<4s)MGh2>a?-wc<%?VUt%fR-=iRsN|%Avw9RIu}6d-EoSmzkmF zSAO*yUQTlYRagh!sY0UIebZ$^x?iY>Q0J(^7LI;ARX8GlIB~ih{Y0El;d`sf4EaPx zoKO+cKag18W2zkdbDU7&Lz;V_YH-d}*?38uP!WL`PBz7Qu=L?B+N);-Y3cbCFNrlJAZ+fH(6^!Nts=5yzBaf{}6)GYS z84rw=f1XJdDwqms?t#PumB-35>TL@u7|jV(VY%rxMkUROp7ln_9_MaGA^xq%!$_J{jEqN0;gU3txonNS6 z*Nm|RzLZDqjT0(DT4Lzm6Q+5B?ooN?1Bv|hmolbDoKV61c+OFUDe=BW1xJpR9n~C8 zg;PG1s>)A(Dy5pksR+pj67&BUBd0C&3l)s!sY2D%H^#^bNBlxX1ftE^FJ#&Tzfi$) zi>1yzka)Pk7jk4*HIwPeX-=SO!-R2CH1-P>%#RaAE{>L;SBw)XSlTg9-oz<;v^@V| zoKV4NPK2tcW$2bjb>mG;sx;bdOWyqhRXEmq6OH$ME-%*d3l*$;Yo+HgY zP=#x6-o(Luw*_CYQ-um&pQ#1hztx!b-fh7O)l!9ukp7X8TqKyDoF-H-qF~*^!Mn?( z2^A5DlkXM@(mS2dkLLqbl~&vl1(6b0C>Xmz{q@TYJRg`p?t#QZ6AA@;o=O!eSe`h6 zD$K2SK2|R*7#!3;UZ`-+OReO#vjsi=@*)yDdln29XqX^WFq)^T)OQ7glj7B1vQmFf z7E>~Kc)?({di%eMkorI(_JP}imsX?*6^!N{sKSG=X<^@9PCnCt$5V-JLjdV zexs?n<(rido+>126fPW`)7&pqFq#vn`ud$h!Nr69LPZ4P)ke1kvpdEK6^@F^N9Ti5 z$UTsF>3qT9m#5-{3Py7RRoKG4>*Jrh3k9ED>lZ3m+A&Yu1BuG(ZVPs~p-S`yr#XQt z%#(M{V;d$1lPXsiDtzl2q`T$gi%oHlxd#&ebgLD#tZG69qd5_(`oD>D_xarO=Ccxm zR<`oUuIBq^Z+tMYznV}H($A4VKcu}=Rs7K;_q@>&SPDpUj|0Dyb@Nf`>H}_x>SHPe zZvyj#G$&qMo#u`JScCeQTD~{2_K~z;U0<9~5upaxzmOVyqKRLqU@D}!2NL<(qyz`d zsxDM8niHtP)`xlG#I_e}1g}?55GtJWQf{+n)Cm6be4Ns}KZv`6gD6rsX7FOAgBnGU52>rm({0|}k>;`5V*3Py8}P!**_mlgSW6Zx`h z1T8yBsECkrRAGsFw<}%etLN1aDxCAuN}8_O_nXxeDnjZ53Eh^~f1f5)Fq-EhR7JVf zsUkmbqUI-QZuxkZ6{@h-ya_!nWml*rRQOEauC2zz+P;R*#CxO)31`GfuO+N>PV;=A zN~c7f-|;{{PUvxoQiTMb$(vZZEXhqf(wqoYQ5{4_=uvd*4>g5~2z8DsY)jgM{CKMJ zP4>GjPL~g<>dvX|woq^4#-cbkRY-GUV5MsA_>nZbsyh;Cg8E|~MD7TnRn&GhO(TXk z@lDriE`c;BLRFOW=!hrxRdf5GCWz)9sKOHUCIT(0x+AhyQTbrGaStS{^s4T7g)}EZ zRaCms5!#Q&T}=?pJy3lc%~ORcof4YkMn~wrLRV*` zxreT2ngO5+X>UTe7@B1u&52MIwUX$Fc~4Yx+m$AW<{qfR9_&pFYjY-t=A2DWJS}P7 z_P|?La;Rpx2NDIWV>vW?MVb?+D)vog4taPJ`Wvd}e_PxlscvHIe3ELDd;FVT$X(yl zG_~+!3kpiQ?s^kf+7^~-=Hkp=kmf{{*0)QVk!cmx!Hv&~%DiV}&UtfZVMySaxCat# zjuvt~kmf|FipniILYEJJgLCI_y8qL>%bURSBFza@eUSN!d*0{>%m>okqpRVXb)+x>eKFS*z&EiC0wafrM_AbPY$E6QL@)0z^k_ z`eSDf5_HTxP^J4LUBk6U-h^%$bk#={(%b_H-NxvuhBPNaRn)GcBN`>Haa*D$h~^%s z!oKZIto09dckJk=q120N_&;*@{%{Z6ZKMfmeYndeGC>|la{^Pcz3oufBRT@}gf#cS zxf)){@Cp~1pqwMk3H=SJFi+luHE*E1H%hCho}a$+1CPB?Po#d}?u|mfFLn&{*c5qTt?(squ(%b_HyWxlK9xtRhfhw$LZ{qtd z1KmAdT171pTPXKHqH(8z?sIuY=OX5}uc0bx8PO5T2M=`jczNdoRoExIiH8;rclUVd zwnW#A3spyW?D0Y(c<*p`4-?Y7th76ww`kE1-Q86AKN;lilkz4itoYE~y@fOoFma__6P26Dx`U;LRHju zqa*S){J?GPnjo5cpbAH4Z$ghz^duL{2g{9nAh9PfB#NC*sKVT$ANN3FXxG8+?mwhC zfhuf?-o$}xL){%zIwjQ4y|2zl?43Q#-E)OBPZg>rH6HHntnwzdem}z9>9nuyNO#|o zH*xN#;qIO*RG}YF6%ubHjd1s0A^yP_jrn>E7S#i|LSxd*Cnto0_I{dT0gcTB6OU14o<4RVXb)+L(6<8;|e4S73}?B%g6lUe$GAgH=kBb6)IFK z`Of{jZTj=P|Are9z6*Qvq`3#4SHC@na*L_;CeQzM4G26R7Ld>9ieF? z=s4VizQG-h`j|fVCbS2&aHPWtQt48lhkKw3kI9b{KW(`sxVv?nP~mG= z=@vJ)`t!W|2NF6ZR6a<1d(=F0tLuj}Cqh-!x1%F8O=;Hz(cvDX(rG7^H(|=e{KZq_ zVU9JOcj@9cnx;4D;F)-;kkH3ex=4o;q|&KE4?6ZHutbsOM5u~J?dS+iQ~6-Ig?o?+ zOCdT!dr)gfI@|+Qcud~m1hou(UK$g%A00;~@}fDR&r7OU`?~wQ7X2ag?oIsU6rt(2QPMCgRt{GSgrq0dhkqK(~NOMAeLnJZbI`s>;ic6X>pIuT&p6ll3MvjRYNs6Z8$vsnO4y&>l1nA{|bU zO4k}4M@MK68h4Qn_dpdMlOHE=MvraDq$;nmB$S|XLz;W&Z%C!ze@0_s^h91X_rUk6 z;TsmvFET+MNOMAeLn?fKNpu9h(+O$rfn}o8PW?lFPREf6DqW;Gfn}o8PUnrDAP=Ou z2bRg?r>43d(GmLhW8{G}_du0CrhIr4*1`YYjj2;YeZu>Vi=hPdD5QC+^f#o!-@!#s zW)Wo4_|AARSIn9q6?lDqSq;$V6T=C-iwqb!mE6*8}~$30%`fniHtf z$CQugi0MTvH-$)Z4^-iPL2m+gjN@G@?n&kzp#<$nLYfo$8&cs+KYAiBntPZTz1cOT z=Z4fO(JwMV9!PUSe?uxgHzbefiM(j;q0dVyJ@+9G^ova7MRP)*msEH?N59BKUNk54 zc}b=gWP&`9=7hNx84ny$qbJA%Y3`xFAr+3O(Gz*m z+{28PCLelKqq0K3$OL&H%?UGF8V^01n!hXntR}Gqw+&X zxci~>F^$^Z1nwh3I-H<6oL1p6U5UI2?Ll(}q{9hR;W7Dn6WW7nPRI=gK5sDO^MK=FE3qc5z~46<)sa^x z2h56xU+ClNUzyLRel@`mO6w5zvbcxT)xdas{L#biF?}BH(cn@!N2SkeeyM3Z8vJ5D zFE)E3_psvHn{Te&Z0HiZvl|5VZ!7PdNq??Wum3ao!1FfRZs@HOz6f}G6gy_p9(rCn zlm6T|kOvZd4;s4rZ;?`ks`uVE#LNFQija?9OHJC}+1Zxm981Jxo9Y9J>RS!{eT|-s zW`vcO3hO33=Sa|T>#m=>9-3xlWupq~gGx7yu%39-l+T5n=UMq+x$%4;QERVhmABm9 zjM1Dx)uLMs@o@JR;e^6WyF%ja-iG+RbgKZ;+yhnjRW`)thV8=%*MrKW-t)16a$_nu zEqrGG`hf+t%<+z$^?B)9NSI$A`9&!0q{{V3ELPb$?}zc@14QV0UUsMX{E5%Uhj=vY zXuespx-%nIzimE$D!o?-k+Z?1_mhXm2Zkn@oX0=+MZkMxK%&cfLm$}3X`_Y|pQb?=bn8-aU8pv8m3H7Bolnvd5$dM3;Fc?Nw8ov9x2JxCatDTO0c4Sxp$t2~>T3 zt0C5|Y#f2u*v^#C@ir3!*v7ti-+aEh+oX`PLZWsfqpDJO0;74VP=#$5{TN~6^%eU{ zSdUVe8LyBSvCh=TvQ?u3NHY%$RX9pSM|2oi(dkiklTQLja}QMYxyRJUlwKnv5Y>vC zK9TgxV5S=Iy`hKPHAEP;e zDjHYxxa(b3NOXC}c$^ydR)n^TDjc2BkEP0*G|ALj&G#Cz^I~7|CbC-@TIa*tBQKS{ zMny+lz2A6jxl!LGG|f|mD!g)%M>x@9zv-!ZJRjJ?^p8UaGXw2X%yIa<1PL5Pk>;sF zRr%iLyq9WcGCywuM^U7`2^>GX$97CrtxQu2mtW3|FkYbw$3gUCsj@#xFuk+GjS;Mc zW1nY)g~T_*4gF`8;f&@4s&F*$?opXt&CGJ?^HW$oFCJ_@4>q3?(ykglWWMQe7boyc zJXJ^({lk>*+L4o)A16?SZOpqReh_2Y(wTGoysP5P=XRgmS-4GC10pi|5Hn zl}n%s%f~ZS_WpZJPhDJnf!k9@)w&+|@m-UuMg13slr9qSxg*hv=JOfN%L-KkOPf~G z=BGK{gk83qQT^I^7E>Y3J&+i%($Le_OlLGF@>1#XgGL`+3f@GQ-;GC^=cl?v_~?Tw zoQsl2IPrYUgU%JXV2>&6{tWNJomAPmt;9y+y~hlFv-)&KGs4PCrE^R7C1I(uk!bLS z@o4$eOqU2ND;rg1zA{9u(sRNI%7^vwZDw_#R+D*5g|w3o^^aN0K;qYT4Bfo(SB&Na zsv70qK`uYOAe?Yh^}ttVG1gfyys1(9dWq*`u(wyDO=>7sdO{=lvJWH9053-m>}*hnVjF%1wzThWO3r zz1HOtD*NW{E;i<-vs!!f`zfx6&MmIuI%Va0Ao17BhHhMK2BR5a<)zZ8!qs7iQ2&@w z6p52R7>`4N*)9<_me{Dm@*$6KV$d2hesmi%pOw|>c=P!kuPq2^S4iYfHhu8p5_1{N z@?oLs!%Rcm{@|<#1g7`74{vd5bJCCV16O`D$7P#@rV5G1b&aaoqw@ktvsBp|z9{IN z_x@MD3KUgur_^ijnZ*_cPQ{te>wF*LVgK)n`DQ`ed5pj_F%JugR_d*u+T)E=vl-0^ zRF$1(h$FLRgcCNk-DBV9ch39kteF9;ojJa5#jHT5MdtYTO4E4_+DMEqXv%6=$vKR6 zQbis%s<3p?j}x07FXp5w@ZADd&)7E|Lj7aRH}v+?3mMG`RQ)-txZ|g<=QNgt zwRUSy<5)*^Z;J)27o{GHaXy!!b7~uj<_itI{2M+Ju~gZp!m`2^$_NXI4#iBZP3tx{ zfHWsig>?`{*i^bW_Pu$bu#;Qe+U2^U&heHxvqD-45?G>0^HiYGb6*CCrsMkS2c)f$2@TlBwoxhbpAb&QiUpPSLo+>*p#ZFCCr!+ zTB4XIo+>12_B8aQ$~;e;KoyQrVX0D>DXYVeoBr&xUk^~f(@%BJtT3M!EZmyUmMkRB z|9QJpgR{Tr&S;h@tLZmpbk=h<^mt~pxn6}oMMk2C-_W&oG-9;lVN*UjSSGzC)@HgY zJtM2R#-#AASs~BWY$VRzZfH$V3d3iwd8zc6=t1AoNnf|&%W5iO^H@vN%PW0qU?i)ZvAX?MsosH*p?_C z;i;;$+oZSfYo7(EWqh#e%RrN#&F7bI`+}F1g#_ic>5b8hW~FQ8rP3)uKThB`js9oa z>)cus0}u8!qr|)QL!P)>6K(U2Za?2$H#5LTHf9Ezert}y+Z7UcUZi=dP}Qw^ZZFz7 ziTQaGm=B~mfoG*^v@ngGgYjM4Ef#rP4JR9YOTzai6(_rn$$R%S_sz zy61}k62m&0e)H-l<025{W*d4@x6c^OJy1ny*C|0ihp=h98rRc|OMgrq>GmSsGM2t+ zJ`cM;w~~g3|-*xBt~-r zRY%GgV$kJ@;e=aO>+Ur*wdJ>of%(sw>tL@olLNohGoL@zG5OHdnac6qcrChFYM z=V5Kvrf)P+=v~vor@S%+;!_5a0t8GI+ zcJBv_=0sj9of4|^u$)^+Q0vocKtzP+166da+p9NmYe7@bzn_`F>KW^wm9B-v?$hQ9 z@TUJuMsosHc+J2OoD&D1H*HDhaLZzIuXaoM$$>>*n&a@CBY`auY3_llGJlx!u8zxO ze%=JOe55(?Lm`uoTlP*0;Hb9gQS@%cFdDE(d8RM+i_nqniHtPYYFC$6FIr75i3&u zTMN}sz=uvVcb0ljnM2rgH9!LAzH~nr{``DQezV@TpnD^C{X);Osl2PB*$Mkvl41m7TDjJ=2Zjt6W zM-|pbbOg~l?MUbCfh8K5D7W;uv+At#VSYbqp51h^_3tVCLVwOZep+?T`9|j!RY-di zi>4S_@2y3e6R28w)a-TEduzRkSq)D(snUCEF(sHk$HUI;A2t&Ayk}^=w-#weSb3@R zcpgS5%-jhhLC1P;EfHZ?0~=M%`Y?RdZ#QAy5(0nXg&|$DN8C{w{)xtnhl2cC{k(S;iBfe zde1I>u4$esR8_jo5PJ8oH&N#`Q$BkC?(U|hboKsS?_UofF}9td_5NL?omAP>+EG=p zgYnS&cf$xOU3<+RSDez_p8vnH(xo7OHlK&}4-1JE1x?QNE?>%dIDslGH*cbNUvpl) zO=4NMVhAyRX8$4M+`fC(J5WM;}>b}fvS0>O%3WDzuv^%g-xH(JAP5M?o-ox z!gu^4(XFka^^RYpd8$5~W>k8|FRGAcgpI`FU53^>ev#$`s<8EW5*8Al{%Sn*j$fpi zhlMJ<%6Jp!E0{i^cl@FX`wI6!B6X&zb3MW#&568J`nnq(vADeP&^vyK&@}fz6<(3O ziB1#EIH*Vctcm8TuXp?oXl{W-{=S&MUnRQ!12R-Y{yh3 zRWhZZcl;vFJy3m4-7E0-tmjHlPa68AE?6e@g|zhF!vn#cbha@*1ZVtMOe;lB%1zYXiXr^2~@pu z(hzz_t2fc)8o{QA3_><%3tV}s? zfy-l8v4zC5|NiU}NOKSRMyJHQUCx}BK6mfWZEEfGjVA7!_?_bsN;@7dk(WxB0{Zb( zAwkDT=;OQz{S6Vi4#*>%pnUY%zJd|-xm$y7KIj`wbbi>>$AEz=8O>AGX!G|@`CR=V zo2eEh|KNNsI%e~H*y#@+aK0(^$ac3~>DJz(@_y&@A-{af2@8qeelheCv6az0RjB&0 z-$CcR121lhK-9Wu>iJwVo)63)_dw#$N``*pP!=l%PM`{F4QtaOY-))}oLaxn$;at? zc7)ftOXQ_;#**9~71l~@Bwj3HYIEHkJ6#V=vwYZ9ubUEG@%A^YM6sk9VIgt%%cj?U zv_mqQ6R3J{p&?>wWpZPqfH6R5iLdqX_l zdtC(LvDT&^vgD3&zKxs624v4$Sqhtr%u6^)Nr=V3KyA@NUHQ*K?3?ubyjsKTC# zek@fMT>scLO-8h6z z9!Ru!%h1;vZD2GfP_?0kA)YD{sh8f--=<~+0pM=zTf!>ceDf#Iff8zzV7@jI5 z3f*Dohfcrl`nfge<{VX6KAv@M8tRh4??^OsVVhNKFKw&hLRT{CJOqj}D2R57Y!JGlyJo)09- zXB&E_%ntWZm>Jtqg(d2p^BL<+Ki92+RQi}&qVE4ZRY>@E8oJnw|9+9}wkw<3ZeA)~ z2k6H=khtxJ@pxtVS1#e!pqq14VXcuz7-7ZTJtar)bhvSIZF<>J-#W+7uUnoz{m~uH zaqX5X(pjn)vHJRUM|In}WsLSFQhOU>=_^aqk@hA!-#^vyIDBelI?|j#Ri%wH9pZ(o zx!!~w+j*y>n$TlKdhv6eocXRUg^Alu&JTZrkP11CK3dG*1<(nr9l~-)qYv z5PMok=e)o7nv~w@u9eR5kRs#K&u>}h92b1)i*(1srq+(c)ybP2)gvjh7|jV(VTq!j zL#TgDkNS4TZs)vzlvx64&rJW`XFgxKVre=fEF>Bf+vCt5)Lg`9PN1qu+3y_U#?4G` z!cIIf&ruEjWiqR0tbgu-#IO#F9eUH4@r>pKs<3>p+&DpPX^nLV(!Msm+u|Nh8(Q<*COqtO8sMIGN{7xiH^vuaMa01yH900 z(%j?W7ACj;li4gKSPHzXkXUk;p{JFSjOGNY{D(}By4*e(PPjQQxXP#+efKp}A3@0xF9G$&BCx!5G9tj^!QIh=4)g~Yzkj7Rcco6?bXJX``*J+sF<9uLjl?@ic9 zOrK;t4!yM{9ck{-VDe|qdG&MI$tw(T&yB6=MSn5JK|uInASHu``dIZ1<#z@NaR%f-bt0L@EfC9s%%sZ zZuz4_EN^a~)OvOZ5Y%uKi?=cNY(=Zf=gdrz0dL|~>uZNtmf4WejIiI@Z|1no7IqC>*^uQB&87?tB)(@p zKcCet!~<1 zyrDN0<1{Bwg)IjCyosTMO&z@2`%Ts=Ie{u{iRi}&`-^g>4xav?3p+3N0!CO!1nV1m z^b?&K%?VUtuk}oog~X0F#^cQ!9ld+4g(@5k(2u9;^(z#qExN9GKKm5--ONw(wwL;ZoZS=oBda^^Tu5^CB3@R(vW;0QLUVr zWnNypn$eDjO*uyumQPsDT>{5iRC$lPNX)<8jBq`B&xw#KRAFw>kLROenOmH-1>M>Y zEdJdoH+_6Z;$`PJY)`74-#X!ZbM59GOog=Lq5d&<+en;w=x_JDo*ove=KgrjA#U9K zH9a~4@6VCusY2DHKU+Gb@TFQ|@g^{bO}hM+o2u4gOLw zGr~rXMyDz|`Os_ANHfAh)hBb!D(8)xJ0lRZayRI!ni;gN(X@SX2Cd?CxluENdmJxs zR)lp*(2sIHC*{@%1f@N#%2h^l4^&}3(2o-|>$^SXz6`n(Dmm!U47xJ>Q0%^tR8ebx z?yKYs>W?>XK9aFA;CD*8uw9B1HeH3g)V()@u0F-@xj%!h+Jy(*%Lxk!n)_C|TAI;3 zAE=`Fb-j6!2%49?w4h`L&4W(1Dw(n3e>qM&zW&FZA*rHuW6P?ULF<--f$nlCmC-yOsG=3mC8bj$5Lma=@3x%3JHxYG*+^imA z(%b`8G!8x#dryWZVbdMfT`%%_#`@V^QZ?r15UvLjv?BQXuA~g4 zxd*CfZSjH9aS;d{cWJHn>x5)B2J=+Wx_a$|lnm^_p1sya0!KTfSw3u3(GvkZN_Y|$ ztzXsaP?eP^tvSsf_DINBLMzyT8%Y^hZnPTxLrii6f>vv<&P`x6%ZG(3tPk|#1U>Vr zdZb1M)(6&;H$l(RO3qGWG$&AnxkW#3f}Y)$k4eoyniHtPlJ+KOCH2(q2Qz4ecGb}` z8MNYcqW}FN^??Mf+`hE1ETeg<=$_0Pd0z(7o*p(5cnwFId!UL|g!9*anE5fnrn}$d zqx^b~a|uRRjL5x@uCSKVoS?gHt-^VN_qa=|9FH2{xy3ZV0CJ#bk=3b3<4hTP=A=C50I%9IjE7t=F+L17EAE$Y$P=zyZoRM>a zo{Tm-oSZ>>Cfc@1&7kL>&#Vs_MQvK`uR71iX2m#Lc0ANSCg(`dbAz&nD>9lBsKP#o zeUlTk0{LwX-ZHSocoVeZ+3i72a{^V^V!Ycf613iGl`N5gH1|LiwlQylo;y96=x0|> zyrMcDHq{3b^sMlS1M!UJ1gdaOaZ%f$5c+Qcay+6bKoaO|ouoro@T?+}? z+c5pn)C{C~&QV4CBwkF&gHV`h?RdvRI}$qOOUb~y7oHC!XeUp`y3`D$Ie{wd!O;=4 zkEqf|sToLf4^&~Tg%LL8oSvUejCqi?C3<>R>e>T*24EvW&+%F`e~8gMRkUla*OR;s zux=c}O%)Qf2k!khIL!%E;TRm&N)%@590}U1G-r&uug%?GrpJ88!zEBfJH#&EQzM+P z$pf$S*zY`N88#BM#y+%38Sm1yQH8aJeoj8zRMGR=nx`wU^I~l}g!;!RD;o)V4%}{W zWkz!XRd_!TmMYhSuG=?no(|Az{mq-dN0J;N7;Fi=BYxW!5?P5z2R?vFq#vnDwX+_lPWp$uW-Um z)f0WpUcQ8Sr1Ba=WuwRNyl2%dEgYO_uT6HPshW} z2mJ;^ud3v;6P%sodgYFOfuUD)SgNc=g;E`rUJIo??Ru9t?nCDuNRUdeSt89nP=!0m z!w5GYNKCuW?1v;gFzR{(6NLY3_k4`o(}=hYKTI4=i_7Ap|ZjfyXZ4deC{b3V+W>pSy(XLEj*O z$1dS|(0QGdY?fJC1|c^0BAoTI62Ok*NQY z`MsKc7J@VDAgW!pxR}(NswlQjjGG*4WXZycoLSchEeG| zI!e24C0PH=gAvc2OLDGo`fd_wPM|8^Hbdx@TTjB?vd^gWOm9K~lR`abY@cmD4_n{0 zEA=!g{X_|KjwQlVg~YjjhStxDkmdxcp4?^#ediS&@z+p8=({_lxd*B??>B_L^NNmG zKh_X>eFkanvGImc>AP(t9?9+V?kbK={Tzu>Ck(CEeUNrMTmn^?k}yJHrbl&3GjkDr zzkF?)@zASWzt%UO>w7rIBTu4BMWfR9=SXt`RhZi_!lqOq@yeaXL$5O+?RdBZs<7O` z2!)xPV++Ur;oaJi_}`1Btn{5Q(oU+#!$#HLIfl@8-kyY2s;M%dI!ZaI#FX??OS^AzTksef^rL1HInvO<)b?vvX%;Y9|NQCiAe7SoDwa z(EBow<^-yCUowQ=`w>RiR94mU=jK-JFF_U3+yjZ;cN$vnLP44ns7imx5c=6v7~!Vs z&LpGKPsvb)H1|NFU!6Km{p-CrNHfAh71ml9;id|S&#D*?{Zt=m$HOI1h5as!P?%}E zI6o(q9!qeR>3BpWbU#O$5jK6JRkN0vmZ(=9>2qhcoQs%L(KnjF){Zpuu*w%St?&72 zMKfM1W@=MEA6%N--t?13Z({rdhR{#@kmkgxtHwj`JVL)P51UFCiKi|YTJK>(+VOA+ zRAEmIBNS%J3W-0@8V|jP1!>2_B~XRqxi^vC!IY1FK2)ltIo9`pN8dBY`gx?|VdtjG zZuhkLM((>|oR2j+b83{$#0 zzl>$2z=_|Qn6&HXbx7cu9Kxm=M51xP(E3>+(%b`8*fPQh*8_=S)r^OJQjIiE6{@g* zcoO#966R{DcR*n2Vm6EFeMn>(-sy z``+o9{rB5*;MD1PpT4)MZiTMyuI|s{IX%e{A|&U2#a~%PPj8?KX>9|EtA_Htgq|Eh zS`(d>t!$WdDk|O55i>vl z);V zs$|8hquotF+d!hpj^rA$%`MWJKoz#Z%!I6}(fjA9!aQjkNXVM?*zCHB)�Bw`flj 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�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�JPFq?j)Wlo;-}D~m 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%0AX?`*y=PfJ(SY=7d1y|MD^d&?bd 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

    XT#%{V%q+7Es*EgfVb#~ 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 Wf6x4HP5VDF>;ErUv-q#pwEqtq*k*44 From 9c9e81b30c5b17f2e8e948aecbf8af1e0a31a701 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 6 Nov 2018 11:04:16 +0100 Subject: [PATCH 392/423] Move InstanceContainer import into type checking closure CURA-5898 --- cura/Machines/MaterialManager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 4f7646b341..2b41718975 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -12,7 +12,6 @@ from UM.Application import Application from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Logger import Logger from UM.Settings.ContainerRegistry import ContainerRegistry -from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.SettingFunction import SettingFunction from UM.Util import parseBool @@ -22,6 +21,7 @@ from .VariantType import VariantType if TYPE_CHECKING: from UM.Settings.DefinitionContainer import DefinitionContainer + from UM.Settings.InstanceContainer import InstanceContainer from cura.Settings.GlobalStack import GlobalStack from cura.Settings.ExtruderStack import ExtruderStack @@ -451,7 +451,7 @@ class MaterialManager(QObject): # - A fallback by type (@sa getFallbackMaterialIdByMaterialType), which adds the generic version of this material # - A fallback by GUID; If a material has been duplicated, it should also check if the original materials do have # a GUID. This should only be done if the material itself does not have a quality just yet. - def getFallBackMaterialIdsByMaterial(self, material: InstanceContainer) -> List[str]: + def getFallBackMaterialIdsByMaterial(self, material: "InstanceContainer") -> List[str]: results = [] # type: List[str] material_groups = self.getMaterialGroupListByGUID(material.getMetaDataEntry("GUID")) From 0af9216c75edfb155b573d250e5159ca9debb1f6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 6 Nov 2018 12:29:25 +0100 Subject: [PATCH 393/423] Remove deprecated setup.py --- setup.py | 76 -------------------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 setup.py diff --git a/setup.py b/setup.py deleted file mode 100644 index 0d78f44ddc..0000000000 --- a/setup.py +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright (c) 2015 Ultimaker B.V. -# Cura is released under the terms of the LGPLv3 or higher. - -from distutils.core import setup -import py2exe -import UM -import UM.Qt #@UnusedImport -import cura #@UnusedImport -import os -import shutil -import site - -# work around the limitation that shutil.copytree does not allow the target directory to exist -def copytree(src, dst, symlinks=False, ignore=None): - if not os.path.exists(dst): - os.makedirs(dst) - for item in os.listdir(src): - s = os.path.join(src, item) - d = os.path.join(dst, item) - if os.path.isdir(s): - copytree(s, d, symlinks, ignore) - else: - shutil.copy2(s, d) - -includes = ["sip", "ctypes", "UM", "PyQt5.QtNetwork", "PyQt5._QOpenGLFunctions_2_0", "serial", "Arcus", "google", "google.protobuf", "google.protobuf.descriptor", "xml.etree", "xml.etree.ElementTree", "cura", "cura.OneAtATimeIterator"] -# Include all the UM modules in the includes. As py2exe fails to properly find all the dependencies due to the plugin architecture. -for dirpath, dirnames, filenames in os.walk(os.path.dirname(UM.__file__)): - if "__" in dirpath: - continue - module_path = dirpath.replace(os.path.dirname(UM.__file__), "UM") - module_path = module_path.split(os.path.sep) - module_name = ".".join(module_path) - if os.path.isfile(dirpath + "/__init__.py"): - includes += [module_name] - for filename in filenames: - if "__" in filename or not filename.endswith(".py"): - continue - includes += [module_name + "." + os.path.splitext(filename)[0]] - -print("Removing previous distribution package") -shutil.rmtree("dist", True) - -setup(name="Cura", - version="15.09.80", - author="Ultimaker", - author_email="a.hiemstra@ultimaker.com", - url="http://software.ultimaker.com/", - license="GNU LESSER GENERAL PUBLIC LICENSE (LGPL)", - scripts=["cura_app.py"], - windows=[{"script": "cura_app.py", "dest_name": "Cura", "icon_resources": [(1, "icons/cura.ico")]}], - #console=[{"script": "cura_app.py"}], - options={"py2exe": {"skip_archive": False, "includes": includes}}) - -print("Copying Cura plugins.") -shutil.copytree(os.path.dirname(UM.__file__) + "/../plugins", "dist/plugins", ignore = shutil.ignore_patterns("ConsoleLogger", "OBJWriter", "MLPWriter", "MLPReader")) -for path in os.listdir("plugins"): - copytree("plugins/" + path, "dist/plugins/" + path) -print("Copying resources.") -copytree(os.path.dirname(UM.__file__) + "/../resources", "dist/resources") -copytree("resources", "dist/resources") -print("Copying Uranium QML.") -shutil.copytree(os.path.dirname(UM.__file__) + "/Qt/qml/UM", "dist/qml/UM") -for site_package in site.getsitepackages(): - qt_origin_path = os.path.join(site_package, "PyQt5") - if os.path.isdir(qt_origin_path): - print("Copying PyQt5 plugins from: %s" % qt_origin_path) - shutil.copytree(os.path.join(qt_origin_path, "plugins"), "dist/PyQt5/plugins") - print("Copying PyQt5 QtQuick from: %s" % qt_origin_path) - shutil.copytree(os.path.join(qt_origin_path, "qml/QtQuick"), "dist/qml/QtQuick") - shutil.copytree(os.path.join(qt_origin_path, "qml/QtQuick.2"), "dist/qml/QtQuick.2") - print("Copying PyQt5 svg library from: %s" % qt_origin_path) - shutil.copy(os.path.join(qt_origin_path, "Qt5Svg.dll"), "dist/Qt5Svg.dll") - print("Copying Angle libraries from %s" % qt_origin_path) - shutil.copy(os.path.join(qt_origin_path, "libEGL.dll"), "dist/libEGL.dll") - shutil.copy(os.path.join(qt_origin_path, "libGLESv2.dll"), "dist/libGLESv2.dll") -os.rename("dist/cura_app.exe", "dist/Cura.exe") From b0384bf10ef47b47339311ec4f172012d863aae8 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 6 Nov 2018 13:15:02 +0100 Subject: [PATCH 394/423] Update Taiwanese translations These were e-mailed to me by the volunteer translator, @Dinowchang. Contributes to issue CURA-5870. --- resources/i18n/zh_TW/cura.po | 66 ++++++++++---------- resources/i18n/zh_TW/fdmextruder.def.json.po | 8 +-- resources/i18n/zh_TW/fdmprinter.def.json.po | 26 ++++---- 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index c2d733fce1..c1aa8d65a7 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-10-02 10:25+0100\n" +"PO-Revision-Date: 2018-11-03 20:32+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.1.1\n" +"X-Generator: Poedit 2.2\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -49,7 +49,7 @@ msgstr "G-code 寫入器不支援非文字模式。" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "匯出前請先將 G-code 準備好。" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -78,7 +78,7 @@ msgstr "顯示更新日誌" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "更新韌體" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -823,7 +823,7 @@ msgstr "預切片檔案 {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "登入失敗" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -897,32 +897,32 @@ msgstr "無法從 {0} 匯入列印參數:{1}!" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "檔案 {0} 內沒有自訂列印參數可匯入" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "從 {0} 匯入列印參數失敗:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "列印參數 {0} 含有不正確的資料,無法匯入。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "列印參數 {0} 內定義的機器({1})與你目前的機器({2})不匹配, 無法匯入。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "從 {0} 匯入列印參數失敗:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1409,7 +1409,7 @@ msgstr "噴頭偏移 Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "冷卻風扇數量" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1513,7 +1513,7 @@ msgstr "返回" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "移除確認" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1656,7 +1656,7 @@ msgstr "關閉" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "更新韌體" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1681,12 +1681,12 @@ msgstr "上傳自訂韌體" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "因為沒有與印表機連線,無法更新韌體。" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "因為連線的印表機不支援更新韌體,無法更新韌體。" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1921,62 +1921,62 @@ msgstr "等待:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "設定更動" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "分配的印表機 %1 需要下列的設定更動:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "已分配到印表機 %1,但列印工作含有未知的耗材設定。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "將耗材 %1 從 %2 改成 %3。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "將 %3 做為耗材 %1 載入(無法覆寫)。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "將 print core %1 從 %2 改成 %3。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "將列印平台改成 %1(無法覆寫)。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "覆寫" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "使用不相容的設定啟動列印工作可能會損壞你的 3D 印表機。你確定要覆寫設定並列印 %1 嗎?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "覆寫設定並開始列印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "玻璃" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "鋁" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -3434,17 +3434,17 @@ msgstr "用於處理 STL 檔案的函式庫" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "用於處理平面物件的函式庫" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "用於處理三角形網格的函式庫" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "用於分析複雜網路的函式庫" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3454,7 +3454,7 @@ msgstr "用於處理 3MF 檔案的函式庫" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "用於檔案 metadata 和串流的函式庫" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -4599,12 +4599,12 @@ msgstr "更新日誌" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "提供升級韌體用的機器操作。" #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "韌體更新器" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/zh_TW/fdmextruder.def.json.po b/resources/i18n/zh_TW/fdmextruder.def.json.po index 7ce9ef1ddd..93d62b5155 100644 --- a/resources/i18n/zh_TW/fdmextruder.def.json.po +++ b/resources/i18n/zh_TW/fdmextruder.def.json.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-03-31 15:18+0800\n" +"PO-Revision-Date: 2018-11-04 13:04+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.2\n" #: fdmextruder.def.json msgctxt "machine_settings label" @@ -170,12 +170,12 @@ msgstr "列印開始時,噴頭在 Z 軸座標上的起始位置." #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "擠出機列印冷卻風扇" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "與此擠出機關聯的列印冷卻風扇的數量。只有當每個擠出機的列印冷卻風扇數量不同時,才需更改此值為正確數量,否則保持預設值 0 即可。" #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index 57268d752d..d57d8f6c97 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-10-02 10:30+0100\n" +"PO-Revision-Date: 2018-11-04 16:58+0800\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.1.1\n" +"X-Generator: Poedit 2.2\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -1078,7 +1078,7 @@ msgstr "連接頂部/底部多邊形" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "將頂部/底部表層路徑相鄰的位置連接。同心模式時啟用此設定,可以大大地減少移動時間。但因連接可能碰巧在途中跨越填充,所以此功能可能會降低頂部表層的品質。" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,7 +1498,7 @@ msgstr "填充列印樣式" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "選擇填充耗材的樣式。直線和鋸齒狀填充輪流在每一層交換方向,以降低耗材成本。網格、三角形、三-六邊形、立方體、八面體、四分立方體、十字形和同心的列印樣式在每層完整列印。螺旋形、立方體、四分立方體和八面體填充隨每層變化,以在各個方向提供更均衡的强度分布。" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1563,7 +1563,7 @@ msgstr "立體十字形" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "螺旋形" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -3272,32 +3272,32 @@ msgstr "支撐填充樣式的方向。 支撐填充樣式的旋轉方向是在 #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "啟用支撐邊緣" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "在第一層的支撐填充區域內產生邊緣。這些邊緣列印在支撐下面,而不是支撐的周圍。啟用此設定可增加支撐對列印平台的附著力。" #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "支撐邊緣寬度" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "列印在支撐下面邊緣的寬度。較大的邊緣會加強對列印平台的附著力,但會需要一些額外的耗材。" #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "支撐邊緣線條數量" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "支撐邊緣所使用的線條數量。邊緣使用較多的線條會加強對列印平台的附著力,但會需要一些額外的耗材。" #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3871,12 +3871,12 @@ msgstr "邊緣所用線條數量。更多邊緣線條可增强與列印平台的 #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "邊綠取代支撐" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "強制在模型周圍列印邊緣,即使該空間已被支撐佔用。在第一層的部份區域會以邊綠取代支撐。" #: fdmprinter.def.json msgctxt "brim_outside_only label" From e45924b6fb532ab9891b1674c1a7f131e4fabd53 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 6 Nov 2018 13:30:09 +0100 Subject: [PATCH 395/423] Update translations for some languages German, Spanish, French, Italian, Japanese, Korean, Dutch and European Portuguese. Contributes to issue CURA-5870. --- resources/i18n/de_DE/cura.po | 122 +++++++------------ resources/i18n/de_DE/fdmextruder.def.json.po | 4 +- resources/i18n/de_DE/fdmprinter.def.json.po | 42 +++---- resources/i18n/es_ES/cura.po | 122 +++++++------------ resources/i18n/es_ES/fdmextruder.def.json.po | 4 +- resources/i18n/es_ES/fdmprinter.def.json.po | 42 +++---- resources/i18n/fr_FR/cura.po | 122 +++++++------------ resources/i18n/fr_FR/fdmextruder.def.json.po | 4 +- resources/i18n/fr_FR/fdmprinter.def.json.po | 42 +++---- resources/i18n/it_IT/cura.po | 122 +++++++------------ resources/i18n/it_IT/fdmextruder.def.json.po | 4 +- resources/i18n/it_IT/fdmprinter.def.json.po | 42 +++---- resources/i18n/ja_JP/cura.po | 105 ++++++---------- resources/i18n/ja_JP/fdmextruder.def.json.po | 4 +- resources/i18n/ja_JP/fdmprinter.def.json.po | 46 +++---- resources/i18n/ko_KR/cura.po | 122 +++++++------------ resources/i18n/ko_KR/fdmextruder.def.json.po | 4 +- resources/i18n/ko_KR/fdmprinter.def.json.po | 38 +++--- resources/i18n/nl_NL/cura.po | 122 +++++++------------ resources/i18n/nl_NL/fdmextruder.def.json.po | 4 +- resources/i18n/nl_NL/fdmprinter.def.json.po | 42 +++---- resources/i18n/pt_PT/cura.po | 122 +++++++------------ resources/i18n/pt_PT/fdmextruder.def.json.po | 4 +- resources/i18n/pt_PT/fdmprinter.def.json.po | 42 +++---- 24 files changed, 485 insertions(+), 842 deletions(-) diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index 85a4a129ac..3433edc5bd 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -49,7 +49,7 @@ msgstr "GCodeWriter unterstützt keinen Nicht-Textmodus." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Vor dem Exportieren bitte G-Code vorbereiten." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:

    \n" -"

    {model_names}

    \n" -"

    Erfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.

    \n" -"

    Leitfaden zu Druckqualität anzeigen

    " +msgstr "

    Ein oder mehrere 3D-Modelle können möglicherweise aufgrund der Modellgröße und Materialkonfiguration nicht optimal gedruckt werden:

    \n

    {model_names}

    \n

    Erfahren Sie, wie Sie die bestmögliche Druckqualität und Zuverlässigkeit sicherstellen.

    \n

    Leitfaden zu Druckqualität anzeigen

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "Änderungsprotokoll anzeigen" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Firmware aktualisieren" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -822,7 +818,7 @@ msgstr "Vorgeschnittene Datei {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Login fehlgeschlagen" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -896,32 +892,32 @@ msgstr "Import des Profils aus Datei {0} fehlgeschlagen: !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Kein benutzerdefiniertes Profil für das Importieren in Datei {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Import des Profils aus Datei {0} fehlgeschlagen:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Dieses Profil {0} enthält falsche Daten, Importieren nicht möglich." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "Die Maschine, die im Profil {0} ({1}) definiert wurde, entspricht nicht Ihrer derzeitigen Maschine ({2}). Importieren nicht möglich." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Import des Profils aus Datei {0} fehlgeschlagen:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1073,12 +1069,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.

    \n" -"

    Beim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.

    \n" -"

    Backups sind im Konfigurationsordner abgelegt.

    \n" -"

    Senden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.

    \n" -" " +msgstr "

    Hoppla, bei Ultimaker Cura ist ein Problem aufgetreten.

    \n

    Beim Start ist ein nicht behebbarer Fehler aufgetreten. Er wurde möglicherweise durch einige falsche Konfigurationsdateien verursacht. Wir empfehlen ein Backup und Reset Ihrer Konfiguration.

    \n

    Backups sind im Konfigurationsordner abgelegt.

    \n

    Senden Sie uns diesen Absturzbericht bitte, um das Problem zu beheben.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1111,10 +1102,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben

    \n" -"

    Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden

    \n" -" " +msgstr "

    Ein schwerer Fehler ist in Cura aufgetreten. Senden Sie uns diesen Absturzbericht, um das Problem zu beheben

    \n

    Verwenden Sie bitte die Schaltfläche „Bericht senden“, um den Fehlerbericht automatisch an unsere Server zu senden

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1408,7 +1396,7 @@ msgstr "Y-Versatz Düse" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Kühllüfter-Nr." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1512,7 +1500,7 @@ msgstr "Zurück" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Deinstallieren bestätigen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1590,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Dieses Plugin enthält eine Lizenz.\n" -"Sie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\n" -"Stimmen Sie den nachfolgenden Bedingungen zu?" +msgstr "Dieses Plugin enthält eine Lizenz.\nSie müssen diese Lizenz akzeptieren, um das Plugin zu installieren.\nStimmen Sie den nachfolgenden Bedingungen zu?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1655,7 +1640,7 @@ msgstr "Schließen" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Firmware aktualisieren" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1680,12 +1665,12 @@ msgstr "Benutzerdefinierte Firmware hochladen" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "Firmware kann nicht aktualisiert werden, da keine Verbindung zum Drucker besteht." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "Firmware kann nicht aktualisiert werden, da die Verbindung zum Drucker die Firmware-Aktualisierung nicht unterstützt." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1753,10 +1738,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n" -"\n" -"Wählen Sie Ihren Drucker aus der folgenden Liste:" +msgstr "Um über das Netzwerk direkt auf Ihrem Drucker zu drucken, stellen Sie bitte sicher, dass der Drucker mit dem Netzwerkkabel verbunden ist oder verbinden Sie Ihren Drucker mit Ihrem WLAN-Netzwerk. Wenn Sie Cura nicht mit Ihrem Drucker verbinden, können Sie dennoch ein USB-Laufwerk für die Übertragung von G-Code-Dateien auf Ihren Drucker verwenden.\n\nWählen Sie Ihren Drucker aus der folgenden Liste:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1920,62 +1902,62 @@ msgstr "Warten auf: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Konfigurationsänderung" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "Der zugewiesene Drucker %1 erfordert die folgende(n) Konfigurationsänderung(en):" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "Der Drucker %1 wurde zugewiesen, allerdings enthält der Auftrag eine unbekannte Materialkonfiguration." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Material %1 von %2 auf %3 wechseln." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "%3 als Material %1 laden (Dies kann nicht übergangen werden)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Print Core %1 von %2 auf %3 wechseln." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Druckplatte auf %1 wechseln (Dies kann nicht übergangen werden)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Überschreiben" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Das Starten eines Druckauftrags mit einer inkompatiblen Konfiguration kann Ihren 3D-Drucker beschädigen. Möchten Sie die Konfiguration wirklich überschreiben und %1 drucken?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Konfiguration überschreiben und Druck starten" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Glas" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Aluminium" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Sie haben einige Profileinstellungen angepasst.\n" -"Möchten Sie diese Einstellungen übernehmen oder verwerfen?" +msgstr "Sie haben einige Profileinstellungen angepasst.\nMöchten Sie diese Einstellungen übernehmen oder verwerfen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3368,9 +3348,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\n" -"Cura verwendet mit Stolz die folgenden Open Source-Projekte:" +msgstr "Cura wurde von Ultimaker B.V. in Zusammenarbeit mit der Community entwickelt.\nCura verwendet mit Stolz die folgenden Open Source-Projekte:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3435,17 +3413,17 @@ msgstr "Support-Bibliothek für die Handhabung von STL-Dateien" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Support-Bibliothek für die Handhabung von ebenen Objekten" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Support-Bibliothek für die Handhabung von dreieckigen Netzen" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Support-Bibliothek für die Analyse von komplexen Netzwerken" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3455,7 +3433,7 @@ msgstr "Support-Bibliothek für die Handhabung von 3MF-Dateien" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Support-Bibliothek für Datei-Metadaten und Streaming" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3503,10 +3481,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n" -"\n" -"Klicken Sie, um den Profilmanager zu öffnen." +msgstr "Einige Einstellungs-/Überschreibungswerte unterscheiden sich von den im Profil gespeicherten Werten.\n\nKlicken Sie, um den Profilmanager zu öffnen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3560,10 +3535,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n" -"\n" -"Klicken Sie, um diese Einstellungen sichtbar zu machen." +msgstr "Einige ausgeblendete Einstellungen verwenden Werte, die von ihren normalen, berechneten Werten abweichen.\n\nKlicken Sie, um diese Einstellungen sichtbar zu machen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3591,10 +3563,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Diese Einstellung hat einen vom Profil abweichenden Wert.\n" -"\n" -"Klicken Sie, um den Wert des Profils wiederherzustellen." +msgstr "Diese Einstellung hat einen vom Profil abweichenden Wert.\n\nKlicken Sie, um den Wert des Profils wiederherzustellen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3602,10 +3571,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n" -"\n" -"Klicken Sie, um den berechneten Wert wiederherzustellen." +msgstr "Diese Einstellung wird normalerweise berechnet; aktuell ist jedoch ein Absolutwert eingestellt.\n\nKlicken Sie, um den berechneten Wert wiederherzustellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3830,9 +3796,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Druckeinrichtung deaktiviert\n" -"G-Code-Dateien können nicht geändert werden" +msgstr "Druckeinrichtung deaktiviert\nG-Code-Dateien können nicht geändert werden" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4606,12 +4570,12 @@ msgstr "Änderungsprotokoll" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Ermöglicht Gerätemaßnahmen für die Aktualisierung der Firmware." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Firmware-Aktualisierungsfunktion" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/de_DE/fdmextruder.def.json.po b/resources/i18n/de_DE/fdmextruder.def.json.po index 9d146a1a63..77ffa5631d 100644 --- a/resources/i18n/de_DE/fdmextruder.def.json.po +++ b/resources/i18n/de_DE/fdmextruder.def.json.po @@ -169,12 +169,12 @@ msgstr "Die Z-Koordinate der Position, an der die Düse am Druckbeginn einzieht. #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Drucklüfter Extruder" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "Die Anzahl der Drucklüfter für diesen Extruder. Nur vom Standardwert 0 ändern, wenn Sie für jeden Extruder einen anderen Drucklüfter verwenden." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index 0bcf015c21..383a7a3886 100644 --- a/resources/i18n/de_DE/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -57,9 +57,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"G-Code-Befehle, die zu Beginn ausgeführt werden sollen – getrennt durch \n" -"." +msgstr "G-Code-Befehle, die zu Beginn ausgeführt werden sollen – getrennt durch \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -71,9 +69,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"G-Code-Befehle, die am Ende ausgeführt werden sollen – getrennt durch \n" -"." +msgstr "G-Code-Befehle, die am Ende ausgeführt werden sollen – getrennt durch \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1078,7 +1074,7 @@ msgstr "Polygone oben/unten verbinden" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Außenhaut-Pfade oben/unten verbinden, wenn sie nebeneinander laufen. Bei konzentrischen Mustern reduziert die Aktivierung dieser Einstellung die Durchlaufzeit erheblich. Da die Verbindungen jedoch auf halbem Weg über der Füllung erfolgen können, kann diese Funktion die Oberflächenqualität reduzieren." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,7 +1494,7 @@ msgstr "Füllmuster" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "Das Muster des Füllmaterials des Drucks. Die Linien- und Zickzackfüllmethode wechseln nach jeder Schicht die Richtung, um Materialkosten zu reduzieren. Die Gitter-, Dreieck- Tri-Hexagon-, Würfel-, Octahedral-, Viertelwürfel-, Quer- und konzentrischen Muster werden in jeder Schicht vollständig gedruckt. Gyroid-, Würfel-, Viertelwürfel- und Octahedral-Füllungen wechseln mit jeder Schicht, um eine gleichmäßigere Verteilung der Stärke in allen Richtungen zu erzielen." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1563,7 +1559,7 @@ msgstr "3D-Quer" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Gyroid" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1635,9 +1631,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Fügen Sie zusätzliche Wände um den Füllbereich hinzu. Derartige Wände können zu einem verringerten Absacken der oberen/unteren Außenhautlinien beitragen, was bedeutet, dass Sie weniger Außenhautschichten oben/unten bei derselben Qualität von Kosten für zusätzliches Material benötigen.\n" -" Diese Funktion ist verknüpfbar mit „Füllungspolygone verbinden“, um alle Füllungen mit einem einzigen Extrusionspfad zu verbinden, ohne dass hierzu Vorwärtsbewegungen oder Rückzüge erforderlich sind, sofern die richtige Konfiguration gewählt wurde." +msgstr "Fügen Sie zusätzliche Wände um den Füllbereich hinzu. Derartige Wände können zu einem verringerten Absacken der oberen/unteren Außenhautlinien beitragen, was bedeutet, dass Sie weniger Außenhautschichten oben/unten bei derselben Qualität von Kosten für zusätzliches Material benötigen.\n Diese Funktion ist verknüpfbar mit „Füllungspolygone verbinden“, um alle Füllungen mit einem einzigen Extrusionspfad zu verbinden, ohne dass hierzu Vorwärtsbewegungen oder Rückzüge erforderlich sind, sofern die richtige Konfiguration gewählt wurde." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3272,32 +3266,32 @@ msgstr "Ausrichtung des Füllmusters für Unterstützung. Das Füllmuster für U #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Stütz-Brim aktivieren" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Erstellen Sie ein Brim in den Stützstruktur-Füllungsbereichen der ersten Schicht. Das Brim wird unterhalb der Stützstruktur und nicht drumherum gedruckt. Die Aktivierung dieser Einstellung erhöht die Haftung der Stützstruktur am Druckbett." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Breite der Brim-Stützstruktur" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Die Breite des unter der Stützstruktur zu druckenden Brims. Ein größeres Brim erhöht die Haftung am Druckbett, jedoch erhöht sich hierdurch der Materialverbrauch." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Anzahl der Brim-Stützstrukturlinien" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Die Anzahl der Linien für die Brim-Stützstruktur. Eine größere Anzahl von Brim-Linien verbessert die Haftung am Druckbett, jedoch erhöht sich hierdurch der Materialverbrauch." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3834,9 +3828,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Der horizontale Abstand zwischen dem Skirt und der ersten Schicht des Drucks.\n" -"Es handelt sich dabei um den Mindestabstand. Ab diesem Abstand werden mehrere Skirt-Linien in äußerer Richtung angebracht." +msgstr "Der horizontale Abstand zwischen dem Skirt und der ersten Schicht des Drucks.\nEs handelt sich dabei um den Mindestabstand. Ab diesem Abstand werden mehrere Skirt-Linien in äußerer Richtung angebracht." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3871,12 +3863,12 @@ msgstr "Die Anzahl der Linien für das Brim-Element. Eine größere Anzahl von B #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Brim ersetzt die Stützstruktur" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Erzwingen Sie den Druck des Brims um das Modell herum, auch wenn dieser Raum sonst durch die Stützstruktur belegt würde. Dies ersetzt einige der ersten Schichten der Stützstruktur durch Brim-Bereiche." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5283,9 +5275,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\n" -"Dies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur." +msgstr "Die Strecke einer Aufwärtsbewegung, die mit halber Geschwindigkeit extrudiert wird.\nDies kann zu einer besseren Haftung an vorhergehenden Schichten führen, während gleichzeitig ein Überhitzen des Materials in diesen Schichten vermieden wird. Dies gilt nur für das Drucken mit Drahtstruktur." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 71c133daa9..e6b5867e39 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -49,7 +49,7 @@ msgstr "GCodeWriter no es compatible con el modo sin texto." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Prepare el Gcode antes de la exportación." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:

    \n" -"

    {model_names}

    \n" -"

    Obtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.

    \n" -"

    Ver guía de impresión de calidad

    " +msgstr "

    Es posible que uno o más modelos 3D no se impriman correctamente debido al tamaño del modelo y la configuración del material:

    \n

    {model_names}

    \n

    Obtenga más información sobre cómo garantizar la mejor calidad y fiabilidad de impresión posible.

    \n

    Ver guía de impresión de calidad

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "Mostrar registro de cambios" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Actualizar firmware" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -822,7 +818,7 @@ msgstr "Archivo {0} presegmentado" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Fallo de inicio de sesión" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -896,32 +892,32 @@ msgstr "Error al importar el perfil de {0}: {1}
    !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "No hay ningún perfil personalizado para importar en el archivo {0}." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Error al importar el perfil de {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Este perfil {0} contiene datos incorrectos, no se han podido importar." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "El equipo definido en el perfil {0} ({1}) no coincide con el equipo actual ({2}), no se ha podido importar." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Error al importar el perfil de {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1073,12 +1069,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    ¡Vaya! Ultimaker Cura ha encontrado un error.

    \n" -"

    Hemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.

    \n" -"

    Las copias de seguridad se encuentran en la carpeta de configuración.

    \n" -"

    Envíenos el informe de errores para que podamos solucionar el problema.

    \n" -" " +msgstr "

    ¡Vaya! Ultimaker Cura ha encontrado un error.

    \n

    Hemos detectado un error irreversible durante el inicio, posiblemente como consecuencia de varios archivos de configuración erróneos. Le recomendamos que realice una copia de seguridad y que restablezca los ajustes.

    \n

    Las copias de seguridad se encuentran en la carpeta de configuración.

    \n

    Envíenos el informe de errores para que podamos solucionar el problema.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1111,10 +1102,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.

    \n" -"

    Utilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.

    \n" -" " +msgstr "

    Se ha producido un error grave en Cura. Envíenos este informe de errores para que podamos solucionar el problema.

    \n

    Utilice el botón \"Enviar informe\" para publicar automáticamente el informe de errores en nuestros servidores.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1408,7 +1396,7 @@ msgstr "Desplazamiento de la tobera sobre el eje Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Número de ventilador de enfriamiento" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1512,7 +1500,7 @@ msgstr "Atrás" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Confirmar desinstalación" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1590,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Este complemento incluye una licencia.\n" -"Debe aceptar dicha licencia para instalar el complemento.\n" -"¿Acepta las condiciones que aparecen a continuación?" +msgstr "Este complemento incluye una licencia.\nDebe aceptar dicha licencia para instalar el complemento.\n¿Acepta las condiciones que aparecen a continuación?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1655,7 +1640,7 @@ msgstr "Cerrar" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Actualizar firmware" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1680,12 +1665,12 @@ msgstr "Cargar firmware personalizado" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "No se puede actualizar el firmware porque no hay conexión con la impresora." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "No se puede actualizar el firmware porque la conexión con la impresora no permite actualizaciones de firmware." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1753,10 +1738,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n" -"\n" -"Seleccione la impresora de la siguiente lista:" +msgstr "Para imprimir directamente en la impresora a través de la red, asegúrese de que esta está conectada a la red utilizando un cable de red o conéctela a la red wifi. Si no conecta Cura con la impresora, también puede utilizar una unidad USB para transferir archivos GCode a la impresora.\n\nSeleccione la impresora de la siguiente lista:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1920,62 +1902,62 @@ msgstr "Esperando: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Cambio de configuración" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "Es necesario modificar la siguiente configuración de la impresora asignada %1:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "Se ha asignado la impresora 1%, pero el trabajo tiene una configuración de material desconocido." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Cambiar material %1, de %2 a %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "Cargar %3 como material %1 (no se puede anular)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Cambiar print core %1, de %2 a %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Cambiar la placa de impresión a %1 (no se puede anular)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Anular" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Iniciar un trabajo de impresión con una configuración no compatible puede causar daños en su impresora 3D. ¿Seguro de que desea sobrescribir la configuración e imprimir %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Sobrescribir la configuración e iniciar la impresión" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Vidrio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Aluminio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Ha personalizado parte de los ajustes del perfil.\n" -"¿Desea descartar los cambios o guardarlos?" +msgstr "Ha personalizado parte de los ajustes del perfil.\n¿Desea descartar los cambios o guardarlos?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3368,9 +3348,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\n" -"Cura se enorgullece de utilizar los siguientes proyectos de código abierto:" +msgstr "Ultimaker B.V. ha desarrollado Cura en cooperación con la comunidad.\nCura se enorgullece de utilizar los siguientes proyectos de código abierto:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3435,17 +3413,17 @@ msgstr "Biblioteca de apoyo para gestionar archivos STL" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Biblioteca de compatibilidad para trabajar con objetos planos" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Biblioteca de compatibilidad para trabajar con mallas triangulares" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Biblioteca de compatibilidad para analizar redes complejas" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3455,7 +3433,7 @@ msgstr "Biblioteca de compatibilidad para trabajar con archivos 3MF" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Biblioteca de compatibilidad para metadatos y transmisión de archivos" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3503,10 +3481,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n" -"\n" -"Haga clic para abrir el administrador de perfiles." +msgstr "Algunos valores de los ajustes o sobrescrituras son distintos a los valores almacenados en el perfil.\n\nHaga clic para abrir el administrador de perfiles." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3560,10 +3535,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n" -"\n" -"Haga clic para mostrar estos ajustes." +msgstr "Algunos ajustes ocultos utilizan valores diferentes de los valores normales calculados.\n\nHaga clic para mostrar estos ajustes." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3591,10 +3563,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Este ajuste tiene un valor distinto del perfil.\n" -"\n" -"Haga clic para restaurar el valor del perfil." +msgstr "Este ajuste tiene un valor distinto del perfil.\n\nHaga clic para restaurar el valor del perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3602,10 +3571,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n" -"\n" -"Haga clic para restaurar el valor calculado." +msgstr "Este ajuste se calcula normalmente pero actualmente tiene un valor absoluto establecido.\n\nHaga clic para restaurar el valor calculado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3830,9 +3796,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Ajustes de impresión deshabilitados\n" -"No se pueden modificar los archivos GCode" +msgstr "Ajustes de impresión deshabilitados\nNo se pueden modificar los archivos GCode" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4606,12 +4570,12 @@ msgstr "Registro de cambios" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Proporciona opciones a la máquina para actualizar el firmware." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Actualizador de firmware" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/es_ES/fdmextruder.def.json.po b/resources/i18n/es_ES/fdmextruder.def.json.po index f4791134ce..3da8d5251f 100644 --- a/resources/i18n/es_ES/fdmextruder.def.json.po +++ b/resources/i18n/es_ES/fdmextruder.def.json.po @@ -169,12 +169,12 @@ msgstr "Coordenada Z de la posición en la que la tobera queda preparada al inic #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Ventilador de refrigeración de impresión del extrusor" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "Número del ventilador de refrigeración de impresión asociado al extrusor. Modifique el valor predeterminado 0 solo cuando disponga de un ventilador de refrigeración de impresión diferente para cada extrusor." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 3133fa86b8..bd4ad9fd7f 100644 --- a/resources/i18n/es_ES/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -57,9 +57,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Los comandos de GCode que se ejecutarán justo al inicio separados por - \n" -"." +msgstr "Los comandos de GCode que se ejecutarán justo al inicio separados por - \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -71,9 +69,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Los comandos de GCode que se ejecutarán justo al final separados por -\n" -"." +msgstr "Los comandos de GCode que se ejecutarán justo al final separados por -\n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1078,7 +1074,7 @@ msgstr "Conectar polígonos superiores/inferiores" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Conecta las trayectorias de forro superior/inferior cuando están próximas entre sí. Al habilitar este ajuste, en el patrón concéntrico se reduce considerablemente el tiempo de desplazamiento, pero las conexiones pueden producirse en mitad del relleno, con lo que bajaría la calidad de la superficie superior." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,7 +1494,7 @@ msgstr "Patrón de relleno" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "Patrón del material de relleno de la impresión. El relleno de línea y zigzag cambia de dirección en capas alternas, con lo que se reduce el coste de material. Los patrones de rejilla, triángulo, trihexágono, cubo, octeto, cubo bitruncado, transversal y concéntrico se imprimen en todas las capas por completo. El relleno giroide, cúbico, cúbico bitruncado y de octeto cambian en cada capa para proporcionar una distribución de fuerza equitativa en cada dirección." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1563,7 +1559,7 @@ msgstr "Cruz 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Giroide" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1635,9 +1631,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Agregar paredes adicionales alrededor del área de relleno. Estas paredes pueden hacer que las líneas del forro superior/inferior se aflojen menos, lo que significa que necesitaría menos capas de forro superior/inferior para obtener la misma calidad utilizando algo más de material.\n" -"Puede utilizar esta función junto a la de Conectar polígonos de relleno para conectar todo el relleno en una única trayectoria de extrusión sin necesidad de desplazamientos ni retracciones si se configura correctamente." +msgstr "Agregar paredes adicionales alrededor del área de relleno. Estas paredes pueden hacer que las líneas del forro superior/inferior se aflojen menos, lo que significa que necesitaría menos capas de forro superior/inferior para obtener la misma calidad utilizando algo más de material.\nPuede utilizar esta función junto a la de Conectar polígonos de relleno para conectar todo el relleno en una única trayectoria de extrusión sin necesidad de desplazamientos ni retracciones si se configura correctamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3272,32 +3266,32 @@ msgstr "Orientación del patrón de relleno para soportes. El patrón de relleno #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Habilitar borde de soporte" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Genera un borde dentro de las zonas de relleno del soporte de la primera capa. Este borde se imprime por debajo del soporte y no a su alrededor. Si habilita esta configuración aumentará la adhesión del soporte a la placa de impresión." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Ancho del borde de soporte" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Anchura del borde de impresión que se imprime por debajo del soporte. Una anchura de soporte amplia mejora la adhesión a la placa de impresión, pero requieren material adicional." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Recuento de líneas del borde de soporte" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Número de líneas utilizadas para el borde de soporte. Más líneas de borde mejoran la adhesión a la placa de impresión, pero requieren material adicional." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3834,9 +3828,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"La distancia horizontal entre la falda y la primera capa de la impresión.\n" -"Se trata de la distancia mínima. Múltiples líneas de falda se extenderán hacia el exterior a partir de esta distancia." +msgstr "La distancia horizontal entre la falda y la primera capa de la impresión.\nSe trata de la distancia mínima. Múltiples líneas de falda se extenderán hacia el exterior a partir de esta distancia." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3871,12 +3863,12 @@ msgstr "Número de líneas utilizadas para un borde. Más líneas de borde mejor #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Sustituir soporte por borde" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Aplica la impresión de un borde alrededor del modelo, aunque en esa posición debiera estar el soporte. Sustituye algunas áreas de la primera capa de soporte por áreas de borde." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5283,9 +5275,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Distancia de un movimiento ascendente que se extrude a media velocidad.\n" -"Esto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre." +msgstr "Distancia de un movimiento ascendente que se extrude a media velocidad.\nEsto puede causar una mejor adherencia a las capas anteriores, aunque no calienta demasiado el material en esas capas. Solo se aplica a la impresión de alambre." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index f477c14ac6..9b1fff4124 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -49,7 +49,7 @@ msgstr "GCodeWriter ne prend pas en charge le mode non-texte." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Veuillez préparer le G-Code avant d'exporter." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :

    \n" -"

    {model_names}

    \n" -"

    Découvrez comment optimiser la qualité et la fiabilité de l'impression.

    \n" -"

    Consultez le guide de qualité d'impression

    " +msgstr "

    Un ou plusieurs modèles 3D peuvent ne pas s'imprimer de manière optimale en raison de la taille du modèle et de la configuration matérielle :

    \n

    {model_names}

    \n

    Découvrez comment optimiser la qualité et la fiabilité de l'impression.

    \n

    Consultez le guide de qualité d'impression

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "Afficher le récapitulatif des changements" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Mettre à jour le firmware" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -822,7 +818,7 @@ msgstr "Fichier {0} prédécoupé" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "La connexion a échoué" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -896,32 +892,32 @@ msgstr "Échec de l'importation du profil depuis le fichier {0}!" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Aucun profil personnalisé à importer dans le fichier {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Échec de l'importation du profil depuis le fichier {0} :" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Le profil {0} contient des données incorrectes ; échec de l'importation." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "La machine définie dans le profil {0} ({1}) ne correspond pas à votre machine actuelle ({2}) ; échec de l'importation." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Échec de l'importation du profil depuis le fichier {0} :" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1073,12 +1069,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    Oups, un problème est survenu dans Ultimaker Cura.

    \n" -"

    Une erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.

    \n" -"

    Les sauvegardes se trouvent dans le dossier de configuration.

    \n" -"

    Veuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.

    \n" -" " +msgstr "

    Oups, un problème est survenu dans Ultimaker Cura.

    \n

    Une erreur irrécupérable est survenue lors du démarrage. Elle peut avoir été causée par des fichiers de configuration incorrects. Nous vous suggérons de sauvegarder et de réinitialiser votre configuration.

    \n

    Les sauvegardes se trouvent dans le dossier de configuration.

    \n

    Veuillez nous envoyer ce rapport d'incident pour que nous puissions résoudre le problème.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1111,10 +1102,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème

    \n" -"

    Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs

    \n" -" " +msgstr "

    Une erreur fatale est survenue dans Cura. Veuillez nous envoyer ce rapport d'incident pour résoudre le problème

    \n

    Veuillez utiliser le bouton « Envoyer rapport » pour publier automatiquement un rapport d'erreur sur nos serveurs

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1408,7 +1396,7 @@ msgstr "Décalage buse Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Numéro du ventilateur de refroidissement" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1512,7 +1500,7 @@ msgstr "Précédent" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Confirmer la désinstallation" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1590,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Ce plug-in contient une licence.\n" -"Vous devez approuver cette licence pour installer ce plug-in.\n" -"Acceptez-vous les clauses ci-dessous ?" +msgstr "Ce plug-in contient une licence.\nVous devez approuver cette licence pour installer ce plug-in.\nAcceptez-vous les clauses ci-dessous ?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1655,7 +1640,7 @@ msgstr "Fermer" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Mettre à jour le firmware" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1680,12 +1665,12 @@ msgstr "Charger le firmware personnalisé" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "Impossible de se connecter à l'imprimante ; échec de la mise à jour du firmware." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "Échec de la mise à jour du firmware, car cette fonctionnalité n'est pas prise en charge par la connexion avec l'imprimante." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1753,10 +1738,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n" -"\n" -"Sélectionnez votre imprimante dans la liste ci-dessous :" +msgstr "Pour imprimer directement sur votre imprimante sur le réseau, assurez-vous que votre imprimante est connectée au réseau via un câble réseau ou en connectant votre imprimante à votre réseau Wi-Fi. Si vous ne connectez pas Cura avec votre imprimante, vous pouvez utiliser une clé USB pour transférer les fichiers g-code sur votre imprimante.\n\nSélectionnez votre imprimante dans la liste ci-dessous :" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1920,62 +1902,62 @@ msgstr "En attente : " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Modification des configurations" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "L'imprimante assignée, %1, nécessite d'apporter la ou les modifications suivantes à la configuration :" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "L'imprimante %1 est assignée, mais le projet contient une configuration matérielle inconnue." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Changer le matériau %1 de %2 à %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "Charger %3 comme matériau %1 (Ceci ne peut pas être remplacé)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Changer le print core %1 de %2 à %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Changer le plateau en %1 (Ceci ne peut pas être remplacé)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Remplacer" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Le fait de démarrer un travail d'impression avec une configuration incompatible peut endommager votre imprimante 3D. Êtes-vous sûr de vouloir remplacer la configuration et imprimer %1 ?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Remplacer la configuration et lancer l'impression" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Verre" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Aluminium" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Vous avez personnalisé certains paramètres du profil.\n" -"Souhaitez-vous conserver ces changements, ou les annuler ?" +msgstr "Vous avez personnalisé certains paramètres du profil.\nSouhaitez-vous conserver ces changements, ou les annuler ?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3368,9 +3348,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\n" -"Cura est fier d'utiliser les projets open source suivants :" +msgstr "Cura a été développé par Ultimaker B.V. en coopération avec la communauté Ultimaker.\nCura est fier d'utiliser les projets open source suivants :" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3435,17 +3413,17 @@ msgstr "Prise en charge de la bibliothèque pour le traitement des fichiers STL" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Prise en charge de la bibliothèque pour le traitement des objets planaires" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Prise en charge de la bibliothèque pour le traitement des mailles triangulaires" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Prise en charge de la bibliothèque pour l'analyse de réseaux complexes" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3455,7 +3433,7 @@ msgstr "Prise en charge de la bibliothèque pour le traitement des fichiers 3MF" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Prise en charge de la bibliothèque pour les métadonnées et le streaming de fichiers" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3503,10 +3481,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n" -"\n" -"Cliquez pour ouvrir le gestionnaire de profils." +msgstr "Certaines valeurs de paramètre / forçage sont différentes des valeurs enregistrées dans le profil. \n\nCliquez pour ouvrir le gestionnaire de profils." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3560,10 +3535,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n" -"\n" -"Cliquez pour rendre ces paramètres visibles." +msgstr "Certains paramètres masqués utilisent des valeurs différentes de leur valeur normalement calculée.\n\nCliquez pour rendre ces paramètres visibles." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3591,10 +3563,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Ce paramètre possède une valeur qui est différente du profil.\n" -"\n" -"Cliquez pour restaurer la valeur du profil." +msgstr "Ce paramètre possède une valeur qui est différente du profil.\n\nCliquez pour restaurer la valeur du profil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3602,10 +3571,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n" -"\n" -"Cliquez pour restaurer la valeur calculée." +msgstr "Ce paramètre est normalement calculé mais il possède actuellement une valeur absolue définie.\n\nCliquez pour restaurer la valeur calculée." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3830,9 +3796,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Configuration de l'impression désactivée\n" -"Les fichiers G-Code ne peuvent pas être modifiés" +msgstr "Configuration de l'impression désactivée\nLes fichiers G-Code ne peuvent pas être modifiés" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4606,12 +4570,12 @@ msgstr "Récapitulatif des changements" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Fournit à une machine des actions permettant la mise à jour du firmware." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Programme de mise à jour du firmware" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/fr_FR/fdmextruder.def.json.po b/resources/i18n/fr_FR/fdmextruder.def.json.po index 6fc72c38e1..52969f511f 100644 --- a/resources/i18n/fr_FR/fdmextruder.def.json.po +++ b/resources/i18n/fr_FR/fdmextruder.def.json.po @@ -169,12 +169,12 @@ msgstr "Les coordonnées Z de la position à laquelle la buse s'amorce au début #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Ventilateur de refroidissement d'impression de l'extrudeuse" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "Numéro du ventilateur de refroidissement d'impression associé à cette extrudeuse. Ne modifiez cette valeur par rapport à la valeur par défaut 0 que si vous utilisez un ventilateur de refroidissement d'impression différent pour chaque extrudeuse." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index 4eb7d674f5..87aa9d5a27 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -57,9 +57,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Commandes G-Code à exécuter au tout début, séparées par \n" -"." +msgstr "Commandes G-Code à exécuter au tout début, séparées par \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -71,9 +69,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Commandes G-Code à exécuter tout à la fin, séparées par \n" -"." +msgstr "Commandes G-Code à exécuter tout à la fin, séparées par \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1078,7 +1074,7 @@ msgstr "Relier les polygones supérieurs / inférieurs" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Relier les voies de couche extérieure supérieures / inférieures lorsqu'elles sont côte à côte. Pour le motif concentrique, ce paramètre réduit considérablement le temps de parcours, mais comme les liens peuvent se trouver à mi-chemin sur le remplissage, cette fonctionnalité peut réduire la qualité de la surface supérieure." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,7 +1494,7 @@ msgstr "Motif de remplissage" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "Motif du matériau de remplissage de l'impression. La ligne et le remplissage en zigzag changent de sens à chaque alternance de couche, réduisant ainsi les coûts matériels. Les motifs en grille, en triangle, trihexagonaux, cubiques, octaédriques, quart cubiques et concentriques sont entièrement imprimés sur chaque couche. Les remplissages gyroïde, cubique, quart cubique et octaédrique changent à chaque couche afin d'offrir une répartition plus égale de la solidité dans chaque direction." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1563,7 +1559,7 @@ msgstr "Entrecroisé 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Gyroïde" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1635,9 +1631,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Ajoutez des parois supplémentaires autour de la zone de remplissage. De telles parois peuvent réduire l'affaissement des lignes de couche extérieure supérieure / inférieure, réduisant le nombre de couches extérieures supérieures / inférieures nécessaires pour obtenir la même qualité, au prix d'un peu de matériau supplémentaire.\n" -"Configurée correctement, cette fonctionnalité peut être combinée avec « Relier les polygones de remplissage » pour relier tous les remplissages en un seul mouvement d'extrusion sans avoir besoin de déplacements ou de rétractions." +msgstr "Ajoutez des parois supplémentaires autour de la zone de remplissage. De telles parois peuvent réduire l'affaissement des lignes de couche extérieure supérieure / inférieure, réduisant le nombre de couches extérieures supérieures / inférieures nécessaires pour obtenir la même qualité, au prix d'un peu de matériau supplémentaire.\nConfigurée correctement, cette fonctionnalité peut être combinée avec « Relier les polygones de remplissage » pour relier tous les remplissages en un seul mouvement d'extrusion sans avoir besoin de déplacements ou de rétractions." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3272,32 +3266,32 @@ msgstr "Orientation du motif de remplissage pour les supports. Le motif de rempl #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Activer la bordure du support" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Générer un bord à l'intérieur des zones de remplissage du support de la première couche. Cette bordure est imprimée sous le support et non autour de celui-ci, ce qui augmente l'adhérence du support au plateau." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Largeur de la bordure du support" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Largeur de la bordure à imprimer sous le support. Une plus grande bordure améliore l'adhérence au plateau, mais demande un peu de matériau supplémentaire." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Nombre de lignes de la bordure du support" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Nombre de lignes utilisées pour la bordure du support. L'augmentation du nombre de lignes de bordure améliore l'adhérence au plateau, mais demande un peu de matériau supplémentaire." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3834,9 +3828,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"La distance horizontale entre la jupe et la première couche de l’impression.\n" -"Il s’agit de la distance minimale séparant la jupe de l’objet. Si la jupe a d’autres lignes, celles-ci s’étendront vers l’extérieur." +msgstr "La distance horizontale entre la jupe et la première couche de l’impression.\nIl s’agit de la distance minimale séparant la jupe de l’objet. Si la jupe a d’autres lignes, celles-ci s’étendront vers l’extérieur." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3871,12 +3863,12 @@ msgstr "Le nombre de lignes utilisées pour une bordure. Un plus grand nombre de #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "La bordure remplace le support" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Appliquer la bordure à imprimer autour du modèle même si cet espace aurait autrement dû être occupé par le support, en remplaçant certaines régions de la première couche de support par des régions de la bordure." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5283,9 +5275,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Distance d’un déplacement ascendant qui est extrudé à mi-vitesse.\n" -"Cela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire." +msgstr "Distance d’un déplacement ascendant qui est extrudé à mi-vitesse.\nCela peut permettre une meilleure adhérence aux couches précédentes sans surchauffer le matériau dans ces couches. Uniquement applicable à l'impression filaire." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 6a30a94865..d285cbfdc3 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -49,7 +49,7 @@ msgstr "GCodeWriter non supporta la modalità non di testo." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Preparare il codice G prima dell’esportazione." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:

    \n" -"

    {model_names}

    \n" -"

    Scopri come garantire la migliore qualità ed affidabilità di stampa.

    \n" -"

    Visualizza la guida alla qualità di stampa

    " +msgstr "

    La stampa di uno o più modelli 3D può non avvenire in modo ottimale a causa della dimensioni modello e della configurazione materiale:

    \n

    {model_names}

    \n

    Scopri come garantire la migliore qualità ed affidabilità di stampa.

    \n

    Visualizza la guida alla qualità di stampa

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "Visualizza registro modifiche" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Aggiornamento firmware" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -822,7 +818,7 @@ msgstr "File pre-sezionato {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Login non riuscito" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -896,32 +892,32 @@ msgstr "Impossibile importare il profilo da {0}: { #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Nessun profilo personalizzato da importare nel file {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Impossibile importare il profilo da {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Questo profilo {0} contiene dati errati, impossibile importarlo." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "La macchina definita nel profilo {0} ({1}) non corrisponde alla macchina corrente ({2}), impossibile importarla." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Impossibile importare il profilo da {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1073,12 +1069,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.

    \n" -"

    Abbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.

    \n" -"

    I backup sono contenuti nella cartella configurazione.

    \n" -"

    Si prega di inviare questo Rapporto su crash per correggere il problema.

    \n" -" " +msgstr "

    Oops, Ultimaker Cura ha rilevato qualcosa che non sembra corretto.

    \n

    Abbiamo riscontrato un errore irrecuperabile durante l’avvio. È stato probabilmente causato da alcuni file di configurazione errati. Suggeriamo di effettuare il backup e ripristinare la configurazione.

    \n

    I backup sono contenuti nella cartella configurazione.

    \n

    Si prega di inviare questo Rapporto su crash per correggere il problema.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1111,10 +1102,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema

    \n" -"

    Usare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server

    \n" -" " +msgstr "

    Si è verificato un errore fatale in Cura. Si prega di inviare questo Rapporto su crash per correggere il problema

    \n

    Usare il pulsante “Invia report\" per inviare automaticamente una segnalazione errore ai nostri server

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1408,7 +1396,7 @@ msgstr "Scostamento Y ugello" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Numero ventola di raffreddamento" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1512,7 +1500,7 @@ msgstr "Indietro" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Conferma disinstalla" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1590,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Questo plugin contiene una licenza.\n" -"È necessario accettare questa licenza per poter installare il plugin.\n" -"Accetti i termini sotto riportati?" +msgstr "Questo plugin contiene una licenza.\nÈ necessario accettare questa licenza per poter installare il plugin.\nAccetti i termini sotto riportati?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1655,7 +1640,7 @@ msgstr "Chiudi" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Aggiornamento firmware" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1680,12 +1665,12 @@ msgstr "Carica il firmware personalizzato" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "Impossibile aggiornare il firmware: nessun collegamento con la stampante." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "Impossibile aggiornare il firmware: il collegamento con la stampante non supporta l’aggiornamento del firmware." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1753,10 +1738,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n" -"\n" -"Selezionare la stampante dall’elenco seguente:" +msgstr "Per stampare direttamente sulla stampante in rete, verificare che la stampante desiderata sia collegata alla rete mediante un cavo di rete o mediante collegamento alla rete WIFI. Se si collega Cura alla stampante, è comunque possibile utilizzare una chiavetta USB per trasferire i file codice G alla stampante.\n\nSelezionare la stampante dall’elenco seguente:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1920,62 +1902,62 @@ msgstr "In attesa: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Modifica configurazione" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "La stampante assegnata, %1, richiede le seguenti modifiche di configurazione:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "La stampante %1 è assegnata, ma il processo contiene una configurazione materiale sconosciuta." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Cambia materiale %1 da %2 a %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "Caricare %3 come materiale %1 (Operazione non annullabile)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Cambia print core %1 da %2 a %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Cambia piano di stampa a %1 (Operazione non annullabile)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Override" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "L’avvio di un processo di stampa con una configurazione non compatibile potrebbe danneggiare la stampante 3D. Sei sicuro di voler annullare la configurazione e stampare %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Annullare la configurazione e avviare la stampa" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Vetro" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Alluminio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2664,9 +2646,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Sono state personalizzate alcune impostazioni del profilo.\n" -"Mantenere o eliminare tali impostazioni?" +msgstr "Sono state personalizzate alcune impostazioni del profilo.\nMantenere o eliminare tali impostazioni?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3368,9 +3348,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\n" -"Cura è orgogliosa di utilizzare i seguenti progetti open source:" +msgstr "Cura è stato sviluppato da Ultimaker B.V. in cooperazione con la comunità.\nCura è orgogliosa di utilizzare i seguenti progetti open source:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3435,17 +3413,17 @@ msgstr "Libreria di supporto per gestione file STL" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Libreria di supporto per gestione oggetti planari" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Libreria di supporto per gestione maglie triangolari" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Libreria di supporto per l’analisi di reti complesse" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3455,7 +3433,7 @@ msgstr "Libreria di supporto per gestione file 3MF" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Libreria di supporto per metadati file e streaming" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3503,10 +3481,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n" -"\n" -"Fare clic per aprire la gestione profili." +msgstr "Alcuni valori di impostazione/esclusione sono diversi dai valori memorizzati nel profilo.\n\nFare clic per aprire la gestione profili." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3560,10 +3535,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n" -"\n" -"Fare clic per rendere visibili queste impostazioni." +msgstr "Alcune impostazioni nascoste utilizzano valori diversi dal proprio valore normale calcolato.\n\nFare clic per rendere visibili queste impostazioni." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3591,10 +3563,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Questa impostazione ha un valore diverso dal profilo.\n" -"\n" -"Fare clic per ripristinare il valore del profilo." +msgstr "Questa impostazione ha un valore diverso dal profilo.\n\nFare clic per ripristinare il valore del profilo." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3602,10 +3571,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n" -"\n" -"Fare clic per ripristinare il valore calcolato." +msgstr "Questa impostazione normalmente viene calcolata, ma attualmente ha impostato un valore assoluto.\n\nFare clic per ripristinare il valore calcolato." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3830,9 +3796,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Impostazione di stampa disabilitata\n" -"I file codice G non possono essere modificati" +msgstr "Impostazione di stampa disabilitata\nI file codice G non possono essere modificati" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4606,12 +4570,12 @@ msgstr "Registro modifiche" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Fornisce azioni macchina per l’aggiornamento del firmware." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Aggiornamento firmware" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/it_IT/fdmextruder.def.json.po b/resources/i18n/it_IT/fdmextruder.def.json.po index 94439de443..aa170f18be 100644 --- a/resources/i18n/it_IT/fdmextruder.def.json.po +++ b/resources/i18n/it_IT/fdmextruder.def.json.po @@ -169,12 +169,12 @@ msgstr "Indica la coordinata Z della posizione in cui l’ugello si innesca all #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Ventola di raffreddamento stampa estrusore" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "Il numero di ventole di raffreddamento stampa abbinate a questo estrusore. Modificarlo dal valore predefinito 0 solo quando si ha una ventola di raffreddamento diversa per ciascun estrusore." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index b4b425da8d..e2d013f74c 100644 --- a/resources/i18n/it_IT/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -57,9 +57,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"I comandi codice G da eseguire all’avvio, separati da \n" -"." +msgstr "I comandi codice G da eseguire all’avvio, separati da \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -71,9 +69,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"I comandi codice G da eseguire alla fine, separati da \n" -"." +msgstr "I comandi codice G da eseguire alla fine, separati da \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1078,7 +1074,7 @@ msgstr "Collega poligoni superiori/inferiori" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Collega i percorsi del rivestimento esterno superiore/inferiore quando corrono uno accanto all’altro. Per le configurazioni concentriche, l’abilitazione di questa impostazione riduce notevolmente il tempo di spostamento, tuttavia poiché i collegamenti possono aver luogo a metà del riempimento, con questa funzione la qualità della superficie superiore potrebbe risultare inferiore." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1498,7 +1494,7 @@ msgstr "Configurazione di riempimento" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "Configurazione del materiale di riempimento della stampa. Il riempimento a linea e a zig zag cambia direzione su strati alternati, riducendo il costo del materiale. Le configurazioni a griglia, a triangolo, tri-esagonali, cubiche, ottagonali, a quarto di cubo, incrociate e concentriche sono stampate completamente su ogni strato. Le configurazioni gyroid, cubiche, a quarto di cubo e ottagonali variano per ciascuno strato per garantire una più uniforme distribuzione della forza in ogni direzione." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1563,7 +1559,7 @@ msgstr "Incrociata 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Gyroid" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1635,9 +1631,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Aggiunge pareti supplementari intorno alla zona di riempimento. Queste pareti possono ridurre l’abbassamento delle linee del rivestimento esterno superiore/inferiore, pertanto saranno necessari meno strati di rivestimento esterno superiore/inferiore per ottenere la stessa qualità al costo del materiale supplementare.\n" -"Questa funzione può essere abbinata a Collega poligoni riempimento per collegare tutto il riempimento in un unico percorso di estrusione senza necessità di avanzamenti o arretramenti, se configurata correttamente." +msgstr "Aggiunge pareti supplementari intorno alla zona di riempimento. Queste pareti possono ridurre l’abbassamento delle linee del rivestimento esterno superiore/inferiore, pertanto saranno necessari meno strati di rivestimento esterno superiore/inferiore per ottenere la stessa qualità al costo del materiale supplementare.\nQuesta funzione può essere abbinata a Collega poligoni riempimento per collegare tutto il riempimento in un unico percorso di estrusione senza necessità di avanzamenti o arretramenti, se configurata correttamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3272,32 +3266,32 @@ msgstr "Indica l’orientamento della configurazione del riempimento per i suppo #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Abilitazione brim del supporto" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Genera un brim entro le zone di riempimento del supporto del primo strato. Questo brim viene stampato al di sotto del supporto, non intorno ad esso. L’abilitazione di questa impostazione aumenta l’adesione del supporto al piano di stampa." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Larghezza del brim del supporto" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Corrisponde alla larghezza del brim da stampare al di sotto del supporto. Un brim più largo migliora l’adesione al piano di stampa, ma utilizza una maggiore quantità di materiale." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Numero di linee del brim del supporto" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Corrisponde al numero di linee utilizzate per il brim del supporto. Più linee brim migliorano l’adesione al piano di stampa, ma utilizzano una maggiore quantità di materiale." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3834,9 +3828,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Indica la distanza orizzontale tra lo skirt ed il primo strato della stampa.\n" -"Questa è la distanza minima. Più linee di skirt aumenteranno tale distanza." +msgstr "Indica la distanza orizzontale tra lo skirt ed il primo strato della stampa.\nQuesta è la distanza minima. Più linee di skirt aumenteranno tale distanza." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3871,12 +3863,12 @@ msgstr "Corrisponde al numero di linee utilizzate per un brim. Più linee brim m #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Brim in sostituzione del supporto" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Abilita la stampa del brim intorno al modello anche se quello spazio dovrebbe essere occupato dal supporto. Sostituisce alcune zone del primo strato del supporto con zone del brim." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5283,9 +5275,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\n" -"Ciò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing." +msgstr "Indica la distanza di uno spostamento verso l'alto con estrusione a velocità dimezzata.\nCiò può garantire una migliore adesione agli strati precedenti, senza eccessivo riscaldamento del materiale su questi strati. Applicabile solo alla funzione Wire Printing." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index ddc9447004..1029221991 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -49,7 +49,7 @@ msgstr "GCodeWriter は非テキストモードはサポートしていません #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "エクスポートする前にG-codeの準備をしてください。" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

    \n" -"

    {model_names}

    \n" -"

    可能な限り最高の品質および信頼性を得る方法をご覧ください。

    \n" -"

    印字品質ガイドを見る

    " +msgstr "

    モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

    \n

    {model_names}

    \n

    可能な限り最高の品質および信頼性を得る方法をご覧ください。

    \n

    印字品質ガイドを見る

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "Changelogの表示" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "ファームウェアアップデート" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -823,7 +819,7 @@ msgstr "スライス前ファイル {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "ログインに失敗しました" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -897,32 +893,32 @@ msgstr "{0}: {1}からプロファイル #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "ファイル{0}にはカスタムプロファイルがインポートされていません。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "{0}からプロファイルの取り込に失敗しました。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "このプロファイル{0}には、正しくないデータが含まれているため、インポートできません。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "プロファイル{0}の中で定義されているマシン({1})は、現在お使いのマシン({2})と一致しないため、インポートできませんでした。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "{0}からプロファイルの取り込に失敗しました。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1074,12 +1070,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

    \n" -"

    開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

    \n" -"

    バックアップは、設定フォルダに保存されます。

    \n" -"

    問題解決のために、このクラッシュ報告をお送りください。

    \n" -" " +msgstr "

    申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

    \n

    開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

    \n

    バックアップは、設定フォルダに保存されます。

    \n

    問題解決のために、このクラッシュ報告をお送りください。

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1112,10 +1103,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

    \n" -"

    「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

    \n" -" " +msgstr "

    致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

    \n

    「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1409,7 +1397,7 @@ msgstr "ノズルオフセットY" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "冷却ファンの番号" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1513,7 +1501,7 @@ msgstr "戻る" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "アンインストール確認" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1591,10 +1579,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"このプラグインにはライセンスが含まれています。\n" -"このプラグインをインストールするにはこのライセンスに同意する必要があります。\n" -"下の利用規約に同意しますか?" +msgstr "このプラグインにはライセンスが含まれています。\nこのプラグインをインストールするにはこのライセンスに同意する必要があります。\n下の利用規約に同意しますか?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1656,7 +1641,7 @@ msgstr "閉める" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "ファームウェアアップデート" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1681,12 +1666,12 @@ msgstr "カスタムファームウェアをアップロードする" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "プリンターと接続されていないため、ファームウェアをアップデートできません。" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "プリンターとの接続はファームウェアのアップデートをサポートしていないため、ファームウェアをアップデートできません。" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1918,62 +1903,62 @@ msgstr "待ち時間: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "構成の変更" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "割り当てられたプリンター %1 には以下の構成変更が必要です。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "プリンター %1 が割り当てられましたが、ジョブには不明な材料構成があります。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "材料 %1 を %2 から %3 に変更します。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "%3 を 材料 %1 にロードします(これは上書きできません)。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "プリントコア %1 を %2 から %3 に変更します。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "ビルドプレートを %1 に変更します(これは上書きできません)。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "上書き" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "互換性のない構成で印刷ジョブを開始すると3Dプリンターを損傷することがあります。構成と印刷 %1 を上書きしますか?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "構成を上書きしてから印刷を開始" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "ガラス" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "アルミニウム" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -3431,17 +3416,17 @@ msgstr "STLファイルを操作するためのライブラリーサポート" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "平面対象物を操作するためのライブラリーサポート" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "参画メッシュを操作するためのライブラリーサポート" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "複雑なネットワークを分析するためのライブラリーサポート" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3451,7 +3436,7 @@ msgstr "3MFファイルを操作するためのライブラリーサポート" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "ファイルメタデータとストリーミングのためのライブラリーサポート" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3499,9 +3484,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"いくらかの設定プロファイルにある値とことなる場合無効にします。\n" -"プロファイルマネージャーをクリックして開いてください。" +msgstr "いくらかの設定プロファイルにある値とことなる場合無効にします。\nプロファイルマネージャーをクリックして開いてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3555,9 +3538,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n" -"表示されるようにクリックしてください。" +msgstr "いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n表示されるようにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3585,9 +3566,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"この設定にプロファイルと異なった値があります。\n" -"プロファイルの値を戻すためにクリックしてください。" +msgstr "この設定にプロファイルと異なった値があります。\nプロファイルの値を戻すためにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3595,9 +3574,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"このセッティングは通常計算されます、今は絶対値に固定されています。\n" -"計算された値に変更するためにクリックを押してください。" +msgstr "このセッティングは通常計算されます、今は絶対値に固定されています。\n計算された値に変更するためにクリックを押してください。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3822,9 +3799,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"プリントセットアップが無効\n" -"G-codeファイルを修正することができません" +msgstr "プリントセットアップが無効\nG-codeファイルを修正することができません" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4598,12 +4573,12 @@ msgstr "Changelog" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "ファームウェアアップデートのためのマシン操作を提供します。" #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "ファームウェアアップデーター" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/ja_JP/fdmextruder.def.json.po b/resources/i18n/ja_JP/fdmextruder.def.json.po index 826048fa4f..95f0382823 100644 --- a/resources/i18n/ja_JP/fdmextruder.def.json.po +++ b/resources/i18n/ja_JP/fdmextruder.def.json.po @@ -170,12 +170,12 @@ msgstr "印刷開始時にノズルがポジションを確認するZ座標。" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "エクストルーダープリント冷却ファン" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "このエクストルーダーに関連付けられているプリント冷却ファンの数です。デフォルト値は0(ゼロ)です。各エクストルーダーに対してプリント冷却ファンが異なる場合にのみ変更します。" #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index 72053ac7ac..3156e77288 100644 --- a/resources/i18n/ja_JP/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -61,9 +61,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"最初に実行するG-codeコマンドは、\n" -"で区切ります。" +msgstr "最初に実行するG-codeコマンドは、\nで区切ります。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -75,9 +73,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"最後に実行するG-codeコマンドは、\n" -"で区切ります。" +msgstr "最後に実行するG-codeコマンドは、\nで区切ります。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -1123,7 +1119,7 @@ msgstr "上層/底層ポリゴンに接合" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "互いに次に実行する上層/底層スキンパスに接合します。同心円のパターンの場合、この設定を有効にすることにより、移動時間が短縮されますが、インフィルまでの途中で接合があるため、この機能で上層面の品質が損なわれることがあります。" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1326,9 +1322,7 @@ msgstr "ZシームX" #: fdmprinter.def.json msgctxt "z_seam_x description" msgid "The X coordinate of the position near where to start printing each part in a layer." -msgstr "" -"レイヤー内の各印刷を開始するX座\n" -"標の位置。" +msgstr "レイヤー内の各印刷を開始するX座\n標の位置。" #: fdmprinter.def.json msgctxt "z_seam_y label" @@ -1569,7 +1563,7 @@ msgstr "インフィルパターン" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "印刷用インフィル材料のパターン。代替層のラインとジグザグの面詰めスワップ方向、材料コストを削減します。グリッド、トライアングル、トライ六角、キュービック、オクテット、クォーターキュービック、クロスと同心円のパターンは、すべてのレイヤーを完全に印刷されます。ジャイロイド、キュービック、クォーターキュービック、オクテットのインフィルは、各レイヤーを変更して各方向の強度をより均等な分布にします。" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1637,7 +1631,7 @@ msgstr "3Dクロス" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "ジャイロイド" # msgstr "クロス3D" #: fdmprinter.def.json @@ -1711,9 +1705,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"インフィルエリア周辺に外壁を追加します。このような壁は、上層/底層ラインにたるみを作ります。つまり、一部の外壁材料の費用で同じ品質を実現するためには、必要な上層/底層スキンが少ないことを意味します。\n" -"この機能は、インフィルポリゴン接合と組み合わせて、構成が正しい場合、移動または引き戻しが必要なく、すべてのインフィルを1つの押出経路に接続することができます。" +msgstr "インフィルエリア周辺に外壁を追加します。このような壁は、上層/底層ラインにたるみを作ります。つまり、一部の外壁材料の費用で同じ品質を実現するためには、必要な上層/底層スキンが少ないことを意味します。\nこの機能は、インフィルポリゴン接合と組み合わせて、構成が正しい場合、移動または引き戻しが必要なく、すべてのインフィルを1つの押出経路に接続することができます。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1816,9 +1808,7 @@ msgstr "インフィル優先" #: fdmprinter.def.json msgctxt "infill_before_walls description" msgid "Print the infill before printing the walls. Printing the walls first may lead to more accurate walls, but overhangs print worse. Printing the infill first leads to sturdier walls, but the infill pattern might sometimes show through the surface." -msgstr "" -"壁より前にインフィルをプリントします はじめに壁をプリントするとより精密な壁になりますが、オーバーハングのプリントは悪化します\n" -"はじめにインフィルをプリントすると丈夫な壁になりますが、インフィルの模様が時折表面から透けて表れます。" +msgstr "壁より前にインフィルをプリントします はじめに壁をプリントするとより精密な壁になりますが、オーバーハングのプリントは悪化します\nはじめにインフィルをプリントすると丈夫な壁になりますが、インフィルの模様が時折表面から透けて表れます。" #: fdmprinter.def.json msgctxt "min_infill_area label" @@ -3374,32 +3364,32 @@ msgstr "対応するインフィルラインの向きです。サポートイン #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "サポートブリムを有効にする" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "最初の層のインフィルエリア内ブリムを生成します。このブリムは、サポートの周囲ではなく、サポートの下に印刷されます。この設定を有効にすると、サポートのビルドプレートへの吸着性が高まります。" #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "サポートブリムの幅" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "サポートの下に印刷されるブリムの幅。ブリムが大きいほど、追加材料の費用でビルドプレートへの接着性が強化されます。" #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "サポートブリムのライン数" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "サポートブリムに使用される線の数。ブリムの線数を増やすと、追加材料の費用でビルドプレートへの接着性が強化されます。" #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3964,9 +3954,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"スカートと印刷の最初の層の間の水平距離。\n" -"これは最小距離です。複数のスカートラインがこの距離から外側に展開されます。" +msgstr "スカートと印刷の最初の層の間の水平距離。\nこれは最小距離です。複数のスカートラインがこの距離から外側に展開されます。" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4001,12 +3989,12 @@ msgstr "ブリムに使用される線数。ブリムの線数は、ビルドプ #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "ブリム交換サポート" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "スペースがサポートで埋まっている場合でも、モデルの周辺にブリムを印刷します。これにより、サポートの最初の層の一部のエリアがブリムになります。" #: fdmprinter.def.json msgctxt "brim_outside_only label" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index ee93088df1..3e7980efb5 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -49,7 +49,7 @@ msgstr "GCodeWriter는 텍스트가 아닌 모드는 지원하지 않습니다." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "내보내기 전에 G-code를 준비하십시오." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

    \n" -"

    {model_names}

    \n" -"

    인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

    \n" -"

    인쇄 품질 가이드 보기

    " +msgstr "

    하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

    \n

    {model_names}

    \n

    인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

    \n

    인쇄 품질 가이드 보기

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "변경 내역 표시" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "펌웨어 업데이트" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -822,7 +818,7 @@ msgstr "미리 슬라이싱한 파일 {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "로그인 실패" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -896,32 +892,32 @@ msgstr "{0}: {1} 에서 프로파일을 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "{0}(으)로 가져올 사용자 정의 프로파일이 없습니다" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "{0}에서 프로파일을 가져오지 못했습니다" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "프로파일 {0}에는 정확하지 않은 데이터가 포함되어 있으므로, 불러올 수 없습니다." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "The machine defined in profile {0} ({1}) doesn’t match with your current machine ({2}), could not import it." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "{0}에서 프로파일을 가져오지 못했습니다" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1073,12 +1069,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n" -"                    

    시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n" -"                    

    백업은 설정 폴더에서 찾을 수 있습니다. \n" -"                    

    문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n" -" " +msgstr "

    죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n                    

    시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n                    

    백업은 설정 폴더에서 찾을 수 있습니다. \n                    

    문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1111,10 +1102,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

    \n" -"

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

    \n" -" " +msgstr "

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

    \n

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1408,7 +1396,7 @@ msgstr "노즐 오프셋 Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "냉각 팬 번호" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1512,7 +1500,7 @@ msgstr "뒤로" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "제거 확인" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1590,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"이 플러그인에는 라이선스가 포함되어 있습니다.\n" -"이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n" -"아래의 약관에 동의하시겠습니까?" +msgstr "이 플러그인에는 라이선스가 포함되어 있습니다.\n이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n아래의 약관에 동의하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1655,7 +1640,7 @@ msgstr "닫기" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "펌웨어 업데이트" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1680,12 +1665,12 @@ msgstr "사용자 정의 펌웨어 업로드" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "프린터와 연결되지 않아 펌웨어를 업데이트할 수 없습니다." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "프린터와 연결이 펌웨어 업그레이드를 지원하지 않아 펌웨어를 업데이트할 수 없습니다." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1753,10 +1738,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n" -"\n" -"아래 목록에서 프린터를 선택하십시오:" +msgstr "네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n\n아래 목록에서 프린터를 선택하십시오:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1920,62 +1902,62 @@ msgstr "대기: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "구성 변경" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "할당된 프린터 %1의 구성을 다음과 같이 변경해야 합니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "프린터 %1이(가) 할당되었으나 작업에 알 수 없는 재료 구성이 포함되어 있습니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "재료 %1을(를) %2에서 %3(으)로 변경합니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "%3을(를) 재료 %1(으)로 로드합니다(이 작업은 무효화할 수 없음)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "PrintCore %1을(를) %2에서 %3(으)로 변경합니다." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "빌드 플레이트를 %1(으)로 변경합니다(이 작업은 무효화할 수 없음)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "무시하기" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "호환되지 않는 구성이 있는 인쇄 작업을 시작하면 3D 프린터가 손상될 수 있습니다. 구성을 재정의하고 %1을(를) 인쇄하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "구성 재정의 및 인쇄 시작" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "유리" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "알루미늄" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2662,9 +2644,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"일부 프로파일 설정을 수정했습니다.\n" -"이러한 설정을 유지하거나 삭제 하시겠습니까?" +msgstr "일부 프로파일 설정을 수정했습니다.\n이러한 설정을 유지하거나 삭제 하시겠습니까?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3366,9 +3346,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\n" -"Cura는 다음의 오픈 소스 프로젝트를 사용합니다:" +msgstr "Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\nCura는 다음의 오픈 소스 프로젝트를 사용합니다:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3433,17 +3411,17 @@ msgstr "STL 파일 처리를 위한 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "평면 개체 처리를 위한 지원 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "삼각형 메쉬 처리를 위한 지원 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "복잡한 네트워크 분석을 위한 지원 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3453,7 +3431,7 @@ msgstr "3MF 파일 처리를 위한 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "파일 메타데이터 및 스트리밍을 위한 지원 라이브러리" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3501,10 +3479,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n" -"\n" -"프로파일 매니저를 열려면 클릭하십시오." +msgstr "일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n\n프로파일 매니저를 열려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3558,10 +3533,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n" -"\n" -"이 설정을 표시하려면 클릭하십시오." +msgstr "일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n\n이 설정을 표시하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3589,10 +3561,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"이 설정에는 프로파일과 다른 값이 있습니다.\n" -"\n" -"프로파일 값을 복원하려면 클릭하십시오." +msgstr "이 설정에는 프로파일과 다른 값이 있습니다.\n\n프로파일 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3600,10 +3569,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n" -"\n" -"계산 된 값을 복원하려면 클릭하십시오." +msgstr "이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n\n계산 된 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3826,9 +3792,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"프린팅 설정 사용 안 함\n" -"G-코드 파일은 수정할 수 없습니다" +msgstr "프린팅 설정 사용 안 함\nG-코드 파일은 수정할 수 없습니다" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4598,12 +4562,12 @@ msgstr "변경 내역" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "펌웨어 업데이트를 위한 기계 동작을 제공합니다." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "펌웨어 업데이터" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index cef9d4ba3d..bbfe9429fb 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -171,12 +171,12 @@ msgstr "프린팅이 시작될 때 노즐이 시작하는 위치의 Z 좌표입 #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "익스트루더 프린팅 냉각 팬" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "이 익스트루더와 관련된 프린팅 냉각 팬의 개수. 각 익스트루더마다 다른 프린팅 냉각 팬이 있을 때만 기본값 0에서 변경하십시오." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 72a8b763f0..37392395ef 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"시작과 동시에형실행될 G 코드 명령어 \n" -"." +msgstr "시작과 동시에형실행될 G 코드 명령어 \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"맨 마지막에 실행될 G 코드 명령 \n" -"." +msgstr "맨 마지막에 실행될 G 코드 명령 \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1079,7 +1075,7 @@ msgstr "상단/하단 다각형 연결" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "스킨 경로가 나란히 이어지는 상단/하단 스킨 경로를 연결합니다. 동심원 패턴의 경우 이 설정을 사용하면 이동 시간이 크게 감소하지만, 내부채움의 중간에 연결될 수 있기 때문에 이 기능은 상단 표면 품질을 저하시킬 수 있습니다." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1499,7 +1495,7 @@ msgstr "내부채움 패턴" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "프린트 충진 재료의 패턴입니다. 선과 갈지자형 충진이 레이어를 하나 걸러서 방향을 바꾸므로 재료비가 절감됩니다. 격자, 삼각형, 삼육각형, 입방체, 옥텟, 4분 입방체, 십자, 동심원 패턴이 레이어마다 완전히 인쇄됩니다. 자이로이드, 입방체, 4분 입방체, 옥텟 충진이 레이어마다 변경되므로 각 방향으로 힘이 더 균등하게 분산됩니다." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1564,7 +1560,7 @@ msgstr "십자형 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "자이로이드" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1636,9 +1632,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"내부채움 영역 주변에 여분의 벽을 추가합니다. 이러한 벽은 상단/하단 스킨 라인이 늘어지는 것을 줄여줄 수 있습니다. 일부 여분 재료를 사용해도 같은 품질을 유지하는 데 필요한 필요한 상단/하단 스킨 층이 감소한다는 의미입니다.\n" -"이 기능을 올바르게 구성하는 경우 내부채움 다각형 연결과 함께 사용해 이동 또는 리트랙션없이 모든 내부채움을 단일 돌출 경로에 연결할 수 있습니다." +msgstr "내부채움 영역 주변에 여분의 벽을 추가합니다. 이러한 벽은 상단/하단 스킨 라인이 늘어지는 것을 줄여줄 수 있습니다. 일부 여분 재료를 사용해도 같은 품질을 유지하는 데 필요한 필요한 상단/하단 스킨 층이 감소한다는 의미입니다.\n이 기능을 올바르게 구성하는 경우 내부채움 다각형 연결과 함께 사용해 이동 또는 리트랙션없이 모든 내부채움을 단일 돌출 경로에 연결할 수 있습니다." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3273,32 +3267,32 @@ msgstr "서포트에 대한 내부채움 패턴 방향. 서포트 내부채움 #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "서포트 브림 사용" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "첫 번째 레이어의 서포트 내부채움 영역 내에서 브림을 생성합니다. 이 브림은 서포트 주변이 아니라 아래에 인쇄됩니다. 이 설정을 사용하면 빌드 플레이트에 대한 서포트력이 향상됩니다." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "서포트 브림 폭" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "서포트 아래를 인쇄하기 위한 브림 폭. 브림이 커질수록 추가 재료가 소요되지만 빌드 플레이트에 대한 접착력이 향상됩니다." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "서포트 브림 라인 수" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "서포트 브림에 사용되는 라인의 수. 브림 라인이 많아질수록 추가 재료가 소요되지만 빌드 플레이트에 대한 접착력이 향상됩니다." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3835,9 +3829,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n" -"이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." +msgstr "프린트의 스커트와 첫 번째 레이어 사이의 수평 거리입니다.\n이것은 최소 거리입니다. 여러 개의 스커트 선이 이 거리에서 바깥쪽으로 연장됩니다." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3872,12 +3864,12 @@ msgstr "브림에 사용되는 선의 수입니다. 더 많은 브림 선이 빌 #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "브림이 서포트 대체" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "서포트가 차지할 공간이더라도 모델 주변에 브림이 인쇄되도록 합니다. 이렇게 하면 서포트의 첫 번째 레이어 영역 일부가 브림 영역으로 대체됩니다." #: fdmprinter.def.json msgctxt "brim_outside_only label" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index ed0d045cd5..b2e4aa4086 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -47,7 +47,7 @@ msgstr "GCodeWriter ondersteunt geen non-tekstmodus." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Bereid voorafgaand aan het exporteren G-code voor." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -62,11 +62,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

    \n" -"

    {model_names}

    \n" -"

    Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

    \n" -"

    Handleiding printkwaliteit bekijken

    " +msgstr "

    Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

    \n

    {model_names}

    \n

    Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

    \n

    Handleiding printkwaliteit bekijken

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -76,7 +72,7 @@ msgstr "Wijzigingenlogboek Weergeven" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Firmware bijwerken" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -820,7 +816,7 @@ msgstr "Vooraf geslicet bestand {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Inloggen mislukt" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -894,32 +890,32 @@ msgstr "Kan het profiel niet importeren uit {0}: { #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Er is geen aangepast profiel om in het bestand {0} te importeren" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Kan het profiel niet importeren uit {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Dit profiel {0} bevat incorrecte gegevens. Kan het profiel niet importeren." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "De machine die is vastgelegd in het profiel {0} ({1}), komt niet overeen met uw huidige machine ({2}). Kan het profiel niet importeren." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Kan het profiel niet importeren uit {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1071,12 +1067,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

    \n" -"

    Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

    \n" -"

    Back-ups bevinden zich in de configuratiemap.

    \n" -"

    Stuur ons dit crashrapport om het probleem op te lossen.

    \n" -" " +msgstr "

    Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

    \n

    Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

    \n

    Back-ups bevinden zich in de configuratiemap.

    \n

    Stuur ons dit crashrapport om het probleem op te lossen.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1109,10 +1100,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

    \n" -"

    Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

    \n" -" " +msgstr "

    Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

    \n

    Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1406,7 +1394,7 @@ msgstr "Nozzle-offset Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Nummer van koelventilator" # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER @@ -1525,7 +1513,7 @@ msgstr "Terug" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "De-installeren bevestigen" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1603,10 +1591,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Deze invoegtoepassing bevat een licentie.\n" -"U moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\n" -"Gaat u akkoord met de onderstaande voorwaarden?" +msgstr "Deze invoegtoepassing bevat een licentie.\nU moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\nGaat u akkoord met de onderstaande voorwaarden?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1668,7 +1653,7 @@ msgstr "Sluiten" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Firmware bijwerken" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1693,12 +1678,12 @@ msgstr "Aangepaste Firmware Uploaden" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "Kan de firmware niet bijwerken omdat er geen verbinding met de printer is." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "Kan de firmware niet bijwerken omdat de verbinding met de printer geen ondersteuning biedt voor het uitvoeren van een firmware-upgrade." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1766,10 +1751,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n" -"\n" -"Selecteer uw printer in de onderstaande lijst:" +msgstr "Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n\nSelecteer uw printer in de onderstaande lijst:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1933,62 +1915,62 @@ msgstr "Wachten op: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Configuratiewijziging" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "Voor de toegewezen printer, 1%, is/zijn de volgende configuratiewijziging/configuratiewijzigingen vereist:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "De printer 1% is toegewezen. De taak bevat echter een onbekende materiaalconfiguratie." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Wijzig het materiaal %1 van %2 in %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "Laad %3 als materiaal %1 (kan niet worden overschreven)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Wijzig de print core %1 van %2 in %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Wijzig het platform naar %1 (kan niet worden overschreven)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Overschrijven" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Als u een printtaak met een incompatibele configuratie start, kan dit leiden tot schade aan de 3D-printer. Weet u zeker dat u de configuratie en print %1 wilt overschrijven?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Configuratie overschrijven en printen starten" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Glas" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Aluminium" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2677,9 +2659,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"U hebt enkele profielinstellingen aangepast.\n" -"Wilt u deze instellingen behouden of verwijderen?" +msgstr "U hebt enkele profielinstellingen aangepast.\nWilt u deze instellingen behouden of verwijderen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3381,9 +3361,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\n" -"Cura maakt met trots gebruik van de volgende opensourceprojecten:" +msgstr "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\nCura maakt met trots gebruik van de volgende opensourceprojecten:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3448,17 +3426,17 @@ msgstr "Ondersteuningsbibliotheek voor het verwerken van STL-bestanden" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Ondersteuningsbibliotheek voor het verwerken van tweedimensionale objecten" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Ondersteuningsbibliotheek voor het verwerken van driehoekig rasters" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Ondersteuningsbibliotheek voor de analyse van complexe netwerken" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3468,7 +3446,7 @@ msgstr "Ondersteuningsbibliotheek voor het verwerken van 3MF-bestanden" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Ondersteuningsbibliotheek voor bestandsmetadata en streaming" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3516,10 +3494,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n" -"\n" -"Klik om het profielbeheer te openen." +msgstr "Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3573,10 +3548,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n" -"\n" -"Klik om deze instellingen zichtbaar te maken." +msgstr "Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n\nKlik om deze instellingen zichtbaar te maken." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3604,10 +3576,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Deze instelling heeft een andere waarde dan in het profiel.\n" -"\n" -"Klik om de waarde van het profiel te herstellen." +msgstr "Deze instelling heeft een andere waarde dan in het profiel.\n\nKlik om de waarde van het profiel te herstellen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3615,10 +3584,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n" -"\n" -"Klik om de berekende waarde te herstellen." +msgstr "Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n\nKlik om de berekende waarde te herstellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3843,9 +3809,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Instelling voor printen uitgeschakeld\n" -"G-code-bestanden kunnen niet worden aangepast" +msgstr "Instelling voor printen uitgeschakeld\nG-code-bestanden kunnen niet worden aangepast" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4619,12 +4583,12 @@ msgstr "Wijzigingenlogboek" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Biedt machineacties voor het bijwerken van de firmware." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Firmware-updater" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/nl_NL/fdmextruder.def.json.po b/resources/i18n/nl_NL/fdmextruder.def.json.po index 9fbf5e269a..9dfe5e859e 100644 --- a/resources/i18n/nl_NL/fdmextruder.def.json.po +++ b/resources/i18n/nl_NL/fdmextruder.def.json.po @@ -169,12 +169,12 @@ msgstr "De Z-coördinaat van de positie waar filament in de nozzle wordt terugge #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Printkoelventilator van extruder" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "Het nummer van de bij deze extruder behorende printkoelventilator. Verander de standaardwaarde 0 alleen als u voor elke extruder een andere printkoelventilator hebt." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index 8ebbaee3d6..844e97d189 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n" -"." +msgstr "G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n" -"." +msgstr "G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1077,7 +1073,7 @@ msgstr "Boven-/onderkant Polygonen Verbinden" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Verbind skinpaden aan de boven-/onderkant waar ze naast elkaar lopen. Met deze instelling wordt bij concentrische patronen de bewegingstijd aanzienlijk verkort. Dit kan echter ten koste gaan van de kwaliteit van de bovenste laag aangezien de verbindingen in het midden van de vulling kunnen komen te liggen." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,7 +1493,7 @@ msgstr "Vulpatroon" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "Het patroon van het vulmateriaal van de print. De lijn- en zigzagvulling veranderen per vullaag van richting, waardoor wordt bespaard op materiaalkosten. De raster-, driehoeks-, tri-hexagonale, kubische, achtvlaks-, afgeknotte kubus-, kruis- en concentrische patronen worden elke laag volledig geprint. Gyroïde, kubische, afgeknotte kubus- en achtvlaksvullingen veranderen elke laag voor een meer gelijke krachtverdeling in elke richting." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1562,7 +1558,7 @@ msgstr "Kruis 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Gyroïde" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1634,9 +1630,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Voeg extra wanden toe rondom de vulling. Deze wanden kunnen ervoor zorgen dat de skin aan de boven-/onderkant minder doorzakt. Dit betekent dat u met alleen wat extra materiaal voor dezelfde kwaliteit minder skinlagen aan de boven-/onderkant nodig hebt.\n" -"Deze optie kan in combinatie met de optie 'Polygonen voor de vulling verbinden' worden gebruikt om alle vulling in één doorvoerpad te verbinden zonder extra bewegingen of intrekkingen, mits correct ingesteld." +msgstr "Voeg extra wanden toe rondom de vulling. Deze wanden kunnen ervoor zorgen dat de skin aan de boven-/onderkant minder doorzakt. Dit betekent dat u met alleen wat extra materiaal voor dezelfde kwaliteit minder skinlagen aan de boven-/onderkant nodig hebt.\nDeze optie kan in combinatie met de optie 'Polygonen voor de vulling verbinden' worden gebruikt om alle vulling in één doorvoerpad te verbinden zonder extra bewegingen of intrekkingen, mits correct ingesteld." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3271,32 +3265,32 @@ msgstr "Richting van het vulpatroon voor supportstructuren. Het vulpatroon voor #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Supportbrim inschakelen" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Genereer een brim binnen de supportvulgebieden van de eerste laag. Deze brim wordt niet rondom maar onder de supportstructuur geprint. Als u deze instelling inschakelt, hecht de supportstructuur beter aan het platform." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Lijnbreedte supportbrim" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "De breedte van de brim die onder de support wordt geprint. Een bredere brim kost meer materiaal, maar hecht beter aan het platform." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Aantal supportbrimlijnen" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Het aantal lijnen dat voor de supportbrim wordt gebruikt. Meer brimlijnen zorgen voor betere hechting aan het platform, maar kosten wat extra materiaal." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3833,9 +3827,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"De horizontale afstand tussen de skirt en de eerste laag van de print.\n" -"Dit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." +msgstr "De horizontale afstand tussen de skirt en de eerste laag van de print.\nDit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3870,12 +3862,12 @@ msgstr "Het aantal lijnen dat voor een brim wordt gebruikt. Meer lijnen zorgen v #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Brim vervangt supportstructuur" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Dwing af dat de brim rond het model wordt geprint, zelfs als deze ruimte anders door supportstructuur zou worden ingenomen. Hierdoor worden enkele gebieden van de eerste supportlaag vervangen door brimgebieden." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5282,9 +5274,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\n" -"Hierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." +msgstr "De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\nHierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index 14e7e89801..bcfa154d11 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -49,7 +49,7 @@ msgstr "O GCodeWriter não suporta modo sem texto." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Prepare um G-code antes de exportar." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -65,11 +65,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    Um, ou mais, dos modelos 3D podem ter menos qualidade de impressão devido à dimensão do modelo 3D e definição de material:

    \n" -"

    {model_names}

    \n" -"

    Descubra como assegurar a melhor qualidade e fiabilidade possível da impressão.

    \n" -"

    Ver o guia de qualidade da impressão

    " +msgstr "

    Um, ou mais, dos modelos 3D podem ter menos qualidade de impressão devido à dimensão do modelo 3D e definição de material:

    \n

    {model_names}

    \n

    Descubra como assegurar a melhor qualidade e fiabilidade possível da impressão.

    \n

    Ver o guia de qualidade da impressão

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -79,7 +75,7 @@ msgstr "Mostrar Lista das Alterações de cada Versão" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Atualizar firmware" # rever! # flatten -ver contexto! @@ -846,7 +842,7 @@ msgstr "Ficheiro pré-seccionado {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Falha no início de sessão" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -920,32 +916,32 @@ msgstr "Falha ao importar perfil de {0}: {1}!" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Nenhum perfil personalizado para importar no ficheiro {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Falha ao importar perfil de {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "O perfil {0} contém dados incorretos, não foi possível importá-lo." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "A máquina definida no perfil {0} ({1}) não corresponde à sua máquina atual ({2}), não foi possível importá-la." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Falha ao importar perfil de {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1100,12 +1096,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    Ups, o Ultimaker Cura encontrou um possível problema.

    \n" -"

    Foi encontrado um erro irrecuperável durante o arranque da aplicação. Este pode ter sido causado por alguns ficheiros de configuração incorrectos. Sugerimos que faça um backup e reponha a sua configuração.

    \n" -"

    Os backups estão localizados na pasta de configuração.

    \n" -"

    Por favor envie-nos este Relatório de Falhas para podermos resolver o problema.

    \n" -" " +msgstr "

    Ups, o Ultimaker Cura encontrou um possível problema.

    \n

    Foi encontrado um erro irrecuperável durante o arranque da aplicação. Este pode ter sido causado por alguns ficheiros de configuração incorrectos. Sugerimos que faça um backup e reponha a sua configuração.

    \n

    Os backups estão localizados na pasta de configuração.

    \n

    Por favor envie-nos este Relatório de Falhas para podermos resolver o problema.

    \n " # rever! # button size? @@ -1140,10 +1131,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Ocorreu um erro fatal no Cura. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

    \n" -"

    Por favor utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

    \n" -" " +msgstr "

    Ocorreu um erro fatal no Cura. Por favor envie-nos este Relatório de Falhas para podermos resolver o problema

    \n

    Por favor utilize o botão \"Enviar relatório\" para publicar um relatório de erros automaticamente nos nossos servidores

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1439,7 +1427,7 @@ msgstr "Desvio Y do Nozzle" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Número de ventoinha de arrefecimento" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1543,7 +1531,7 @@ msgstr "Anterior" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Confirmar desinstalação" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1621,10 +1609,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Este plug-in contém uma licença.\n" -"É necessário aceitar esta licença para instalar o plug-in.\n" -"Concorda com os termos abaixo?" +msgstr "Este plug-in contém uma licença.\nÉ necessário aceitar esta licença para instalar o plug-in.\nConcorda com os termos abaixo?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1686,7 +1671,7 @@ msgstr "Fechar" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Atualizar firmware" # rever! #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 @@ -1712,12 +1697,12 @@ msgstr "Carregar firmware personalizado" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "O firmware não pode ser atualizado por não existir ligação com a impressora." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "O firmware não pode ser atualizado porque a ligação com a impressora não suporta a atualização de firmware." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1785,10 +1770,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura por rede à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n" -"\n" -"Selecione a sua impressora na lista em baixo:" +msgstr "Para imprimir diretamente para a sua impressora através da rede, certifique-se de que a sua impressora está ligada à rede por meio de um cabo de rede ou através de ligação à rede Wi-Fi. Se não ligar o Cura por rede à impressora, poderá ainda assim utilizar uma unidade USB para transferir ficheiros g-code para a impressora.\n\nSelecione a sua impressora na lista em baixo:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1954,62 +1936,62 @@ msgstr "A aguardar: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Configuração alterada" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "A impressora atribuída %1 requer as seguintes alterações de configuração:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "A impressora %1 está atribuída, mas o trabalho tem uma configuração de material desconhecida." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Alterar o material %1 de %2 para %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "Carregar %3 como material %1 (isto não pode ser substituído)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Substituir o núcleo de impressão %1 de %2 para %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Alterar placa de construção para %1 (isto não pode ser substituído)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Ignorar" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Iniciar um trabalho de impressão com uma configuração incompatível pode danificar a impressora 3D. Tem a certeza de que pretende ignorar a configuração e imprimir %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Ignorar configuração e iniciar impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Vidro" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Alumínio" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2714,9 +2696,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Alterou algumas das definições do perfil.\n" -"Gostaria de manter ou descartar essas alterações?" +msgstr "Alterou algumas das definições do perfil.\nGostaria de manter ou descartar essas alterações?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3422,9 +3402,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\n" -"O Cura tem o prazer de utilizar os seguintes projetos open source:" +msgstr "O Cura foi desenvolvido pela Ultimaker B.V. em colaboração com a comunidade.\nO Cura tem o prazer de utilizar os seguintes projetos open source:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3491,17 +3469,17 @@ msgstr "Biblioteca de apoio para processamento de ficheiros STL" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Biblioteca de apoio para processamento de objetos planos" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Biblioteca de apoio para processamento de malhas triangulares" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Biblioteca de apoio para análise de redes complexas" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3511,7 +3489,7 @@ msgstr "Biblioteca de apoio para processamento de ficheiros 3MF" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Biblioteca de apoio para transmissões de fluxo e metadados de ficheiros" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3560,10 +3538,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n" -"\n" -"Clique para abrir o gestor de perfis." +msgstr "Alguns valores de definição/substituição são diferentes dos valores armazenados no perfil.\n\nClique para abrir o gestor de perfis." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3621,10 +3596,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n" -"\n" -"Clique para tornar estas definições visíveis." +msgstr "Algumas das definições invisíveis têm valores diferentes dos valores normais calculados automaticamente.\n\nClique para tornar estas definições visíveis." # rever! # Afeta? @@ -3661,10 +3633,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Esta definição tem um valor que é diferente do perfil.\n" -"\n" -"Clique para restaurar o valor do perfil." +msgstr "Esta definição tem um valor que é diferente do perfil.\n\nClique para restaurar o valor do perfil." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3672,10 +3641,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor diferente.\n" -"\n" -"Clique para restaurar o valor calculado." +msgstr "Normalmente, o valor desta definição é calculado, mas atualmente tem definido um valor diferente.\n\nClique para restaurar o valor calculado." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3908,9 +3874,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Configuração da Impressão desativada\n" -"Os ficheiros G-code não podem ser modificados" +msgstr "Configuração da Impressão desativada\nOs ficheiros G-code não podem ser modificados" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4706,12 +4670,12 @@ msgstr "Lista das Alterações" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Disponibiliza as ações da máquina para atualizar o firmware." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Atualizador de firmware" # rever! # contexto! diff --git a/resources/i18n/pt_PT/fdmextruder.def.json.po b/resources/i18n/pt_PT/fdmextruder.def.json.po index da320cbc9b..6d0d26b34c 100644 --- a/resources/i18n/pt_PT/fdmextruder.def.json.po +++ b/resources/i18n/pt_PT/fdmextruder.def.json.po @@ -171,12 +171,12 @@ msgstr "A coordenada Z da posição onde o nozzle é preparado ao iniciar a impr #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Ventoinha de arrefecimento de impressão do Extrusor" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "O número de ventoinhas de arrefecimento de impressão associadas a este extrusor. Apenas alterar o valor predefinido de 0 quando tiver uma ventoinha de arrefecimento de impressão diferente para cada extrusor." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index 35becb7199..4e33fedb36 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Comandos G-code a serem executados no início – separados por \n" -"." +msgstr "Comandos G-code a serem executados no início – separados por \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Comandos G-code a serem executados no fim – separados por \n" -"." +msgstr "Comandos G-code a serem executados no fim – separados por \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1099,7 +1095,7 @@ msgstr "Ligar polígonos superiores/inferiores" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Ligar caminhos de revestimento superiores/inferiores quando as trajetórias são paralelas. Para o padrão concêntrico, ativar esta definição reduz consideravelmente o tempo de deslocação mas, uma vez que as ligações podem suceder num ponto intermediário sobre o enchimento, esta funcionalidade pode reduzir a qualidade da superfície superior." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1559,7 +1555,7 @@ msgstr "Padrão de Enchimento" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "O padrão do material de enchimento da impressão. A direção de troca de enchimento de linha e ziguezague em camadas alternadas, reduzindo os custos de material. Os padrões de grelha, triângulo, tri-hexágono, cubo, octeto, quarto cúbico, cruz e concêntrico são totalmente impressos em cada camada. Os enchimentos Gyroid, cúbico, quarto cúbico e octeto são alterados a cada camada para fornecer uma distribuição mais uniforme da resistência em cada direção." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1624,7 +1620,7 @@ msgstr "Cruz 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Gyroid" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1699,9 +1695,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Adicionar paredes adicionais em torno da área de enchimento. Essas paredes podem fazer com que as linhas de revestimento superiores/inferiores desçam menos, o que significa que são necessárias menos camadas de revestimento superior/inferior para a mesma qualidade à custa de algum material adicional.\n" -"Esta funcionalidade pode ser combinada com a opção Ligar polígonos de enchimento para unir todo o enchimento num único caminho de extrusão sem necessidade de deslocações ou retrações, se configurado corretamente." +msgstr "Adicionar paredes adicionais em torno da área de enchimento. Essas paredes podem fazer com que as linhas de revestimento superiores/inferiores desçam menos, o que significa que são necessárias menos camadas de revestimento superior/inferior para a mesma qualidade à custa de algum material adicional.\nEsta funcionalidade pode ser combinada com a opção Ligar polígonos de enchimento para unir todo o enchimento num único caminho de extrusão sem necessidade de deslocações ou retrações, se configurado corretamente." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3403,32 +3397,32 @@ msgstr "Orientação do padrão de enchimento para suportes. O padrão de enchim #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Ativar borda de suporte" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Gera uma borda dentro das regiões de enchimento do suporte da primeira camada. Esta borda é impressa na parte por baixo do suporte e não em torno do mesmo. Ativar esta definição aumenta a aderência do suporte à placa de construção." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Largura da borda do suporte" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "A largura da borda para imprimir na parte por baixo do suporte. Uma borda mais larga melhora a aderência à placa de construção à custa de algum material adicional." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Contagem de linhas da borda do suporte" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "O número de linhas utilizado para a borda do suporte. Uma borda com mais linhas melhora a aderência à placa de construção à custa de algum material adicional." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3971,9 +3965,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\n" -"Esta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." +msgstr "A distância horizontal entre o contorno e o perímetro exterior da primeira camada da impressão.\nEsta é a distância mínima. Linhas múltiplas de contorno serão impressas para o exterior." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4008,12 +4000,12 @@ msgstr "O número de linhas utilizado para uma aba. Um maior número de linhas d #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "A borda substitui o suporte" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Aplicar a borda para ser impressa em torno do modelo, mesmo se esse espaço fosse ocupado de outra forma pelo suporte. Isto substitui algumas regiões da primeira camada do suporte por regiões de borda." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5462,9 +5454,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"A distância de um movimento ascendente que é extrudido a metade da velocidade.\n" -"Isto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." +msgstr "A distância de um movimento ascendente que é extrudido a metade da velocidade.\nIsto pode causar melhor aderência às camadas anteriores, sendo que o material nessas camadas não é demasiado aquecido. Aplica-se apenas à impressão de fios." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" From 8e33a19ca7ce138f8789e0c854a066f763904c10 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 6 Nov 2018 13:31:02 +0100 Subject: [PATCH 396/423] Fix quality changes lookup in project loading CURA-5899 Should always use custom quality profile names to look up. --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index e994e1a817..9ee2ef0dd4 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -298,7 +298,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): values = parser["values"] if parser.has_section("values") else dict() num_settings_overriden_by_quality_changes += len(values) # Check if quality changes already exists. - quality_changes = self._container_registry.findInstanceContainers(id = container_id) + quality_changes = self._container_registry.findInstanceContainers(name = custom_quality_name, + type = "quality_changes") if quality_changes: containers_found_dict["quality_changes"] = True # Check if there really is a conflict by comparing the values From d3ace436e6b9ba67ee802fe9f7ec179a9e3c61ef Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 6 Nov 2018 13:33:48 +0100 Subject: [PATCH 397/423] Update translations for some more languages Russian, Turkish and Chinese. Contributes to issue CURA-5870. --- resources/i18n/ru_RU/cura.po | 122 +++++++------------ resources/i18n/ru_RU/fdmextruder.def.json.po | 4 +- resources/i18n/ru_RU/fdmprinter.def.json.po | 64 ++++------ resources/i18n/tr_TR/cura.po | 122 +++++++------------ resources/i18n/tr_TR/fdmextruder.def.json.po | 4 +- resources/i18n/tr_TR/fdmprinter.def.json.po | 42 +++---- resources/i18n/zh_CN/cura.po | 122 +++++++------------ resources/i18n/zh_CN/fdmextruder.def.json.po | 4 +- resources/i18n/zh_CN/fdmprinter.def.json.po | 42 +++---- 9 files changed, 194 insertions(+), 332 deletions(-) diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index 012d92af9f..863354188a 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -49,7 +49,7 @@ msgstr "Средство записи G-кода (GCodeWriter) не поддер #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Подготовьте G-код перед экспортом." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

    \n" -"

    {model_names}

    \n" -"

    Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

    \n" -"

    Ознакомиться с руководством по качеству печати

    " +msgstr "

    Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

    \n

    {model_names}

    \n

    Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

    \n

    Ознакомиться с руководством по качеству печати

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "Показать журнал изменений" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Обновить прошивку" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -822,7 +818,7 @@ msgstr "Предообратка файла {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Вход не выполнен" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -896,32 +892,32 @@ msgstr "Невозможно импортировать профиль из !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "Отсутствует собственный профиль для импорта в файл {0}" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Не удалось импортировать профиль из {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Данный профиль {0} содержит неверные данные, поэтому его невозможно импортировать." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "Принтер, заданный в профиле {0} ({1}), не совпадает с вашим текущим принтером ({2}), поэтому его невозможно импортировать." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "Не удалось импортировать профиль из {0}:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1073,12 +1069,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    В ПО Ultimaker Cura обнаружена ошибка.

    \n" -"

    Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

    \n" -"

    Резервные копии хранятся в папке конфигурации.

    \n" -"

    Отправьте нам этот отчет о сбое для устранения проблемы.

    \n" -" " +msgstr "

    В ПО Ultimaker Cura обнаружена ошибка.

    \n

    Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

    \n

    Резервные копии хранятся в папке конфигурации.

    \n

    Отправьте нам этот отчет о сбое для устранения проблемы.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1111,10 +1102,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

    \n" -"

    Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

    \n" -" " +msgstr "

    В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

    \n

    Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1408,7 +1396,7 @@ msgstr "Смещение сопла по оси Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Номер охлаждающего вентилятора" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1512,7 +1500,7 @@ msgstr "Назад" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Подтвердить удаление" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1590,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Этот плагин содержит лицензию.\n" -"Чтобы установить этот плагин, необходимо принять условия лицензии.\n" -"Принять приведенные ниже условия?" +msgstr "Этот плагин содержит лицензию.\nЧтобы установить этот плагин, необходимо принять условия лицензии.\nПринять приведенные ниже условия?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1655,7 +1640,7 @@ msgstr "Закрыть" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Обновить прошивку" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1680,12 +1665,12 @@ msgstr "Залить собственную прошивку" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "Невозможно обновить прошивку, так как нет подключения к принтеру." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "Невозможно обновить прошивку, так как подключение к принтеру не поддерживает функцию обновления прошивки." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1753,10 +1738,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n" -"\n" -"Укажите ваш принтер в списке ниже:" +msgstr "Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n\nУкажите ваш принтер в списке ниже:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1920,62 +1902,62 @@ msgstr "Ожидание: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Изменение конфигурации" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "Для назначенного принтера %1 требуются следующие изменения конфигурации:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "Принтер %1 назначен, однако в задании указана неизвестная конфигурация материала." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "Изменить материал %1 с %2 на %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "Загрузите %3 как материал %1 (переопределение этого действия невозможно)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "Изменить экструдер %1 с %2 на %3." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Заменить рабочий стол на %1 (переопределение этого действия невозможно)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Переопределить" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Начало задания печати с несовместимой конфигурацией может привести к повреждению 3D-принтера. Действительно переопределить конфигурацию и печатать %1?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Переопределить конфигурацию и начать печать" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Стекло" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Алюминий" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2666,9 +2648,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Вы изменили некоторые параметры профиля.\n" -"Желаете сохранить их или вернуть к прежним значениям?" +msgstr "Вы изменили некоторые параметры профиля.\nЖелаете сохранить их или вернуть к прежним значениям?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3370,9 +3350,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura разработана компанией Ultimaker B.V. совместно с сообществом.\n" -"Cura использует следующие проекты с открытым исходным кодом:" +msgstr "Cura разработана компанией Ultimaker B.V. совместно с сообществом.\nCura использует следующие проекты с открытым исходным кодом:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3437,17 +3415,17 @@ msgstr "Вспомогательная библиотека для работы #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Вспомогательная библиотека для работы с плоскими объектами" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Вспомогательная библиотека для работы с треугольными сетками" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Вспомогательная библиотека для анализа сложных сетей" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3457,7 +3435,7 @@ msgstr "Вспомогательная библиотека для работы #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Вспомогательная библиотека для метаданных файла и потоковой передачи" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3505,10 +3483,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Значения некоторых параметров отличаются от значений профиля.\n" -"\n" -"Нажмите для открытия менеджера профилей." +msgstr "Значения некоторых параметров отличаются от значений профиля.\n\nНажмите для открытия менеджера профилей." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3562,10 +3537,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n" -"\n" -"Щёлкните, чтобы сделать эти параметры видимыми." +msgstr "Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n\nЩёлкните, чтобы сделать эти параметры видимыми." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3593,10 +3565,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Значение этого параметра отличается от значения в профиле.\n" -"\n" -"Щёлкните для восстановления значения из профиля." +msgstr "Значение этого параметра отличается от значения в профиле.\n\nЩёлкните для восстановления значения из профиля." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3604,10 +3573,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n" -"\n" -"Щёлкните для восстановления вычисленного значения." +msgstr "Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n\nЩёлкните для восстановления вычисленного значения." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3834,9 +3800,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Настройка принтера отключена\n" -"G-code файлы нельзя изменять" +msgstr "Настройка принтера отключена\nG-code файлы нельзя изменять" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4614,12 +4578,12 @@ msgstr "Журнал изменений" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Обеспечение действий принтера для обновления прошивки." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Средство обновления прошивки" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/ru_RU/fdmextruder.def.json.po b/resources/i18n/ru_RU/fdmextruder.def.json.po index a75cc5dd6b..65e6698016 100644 --- a/resources/i18n/ru_RU/fdmextruder.def.json.po +++ b/resources/i18n/ru_RU/fdmextruder.def.json.po @@ -171,12 +171,12 @@ msgstr "Позиция кончика сопла на оси Z при старт #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Охлаждающий вентилятор экструдера, используемый во время печати" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "Номер охлаждающего вентилятора, используемого при печати и ассоциированного с этим экструдером. Применяемое по умолчанию значение 0 следует менять только при наличии другого охлаждающего вентилятора, используемого при печати, для каждого экструдера." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 16c265f007..0697420b6a 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n" -"." +msgstr "Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n" -"." +msgstr "Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1079,7 +1075,7 @@ msgstr "Соединение верхних/нижних полигонов" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Соединение верхних/нижних путей оболочки на участках, где они проходят рядом. При использовании концентрического шаблона активация данной настройки значительно сокращает время перемещения, но, учитывая возможность наличия соединений на полпути над заполнением, эта функция может ухудшить качество верхней поверхности." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1419,7 +1415,7 @@ msgstr "Границы разглаживания" #: fdmprinter.def.json msgctxt "ironing_inset description" msgid "A distance to keep from the edges of the model. Ironing all the way to the edge of the mesh may result in a jagged edge on your print." -msgstr "Расстояние от краёв модели. Разглаживание от края до края может выразится в загибании краёв при печати." +msgstr "Расстояние от краёв модели. Разглаживание от края до края может выразиться в загибании краёв при печати." #: fdmprinter.def.json msgctxt "speed_ironing label" @@ -1499,7 +1495,7 @@ msgstr "Шаблон заполнения" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "Шаблон заполняющего материала печати. Линейное и зигзагообразное заполнение меняет направление на чередующихся слоях, снижая расходы на материал. Шаблоны «сетка», «треугольник», «шестигранник из треугольников», «куб», «восьмигранник», «четверть куба», «крестовое», «концентрическое» полностью печатаются в каждом слое. Шаблоны заполнения «гироид», «куб», «четверть куба» и «восьмигранник» меняются в каждом слое, чтобы обеспечить более равномерное распределение прочности в каждом направлении." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1564,7 +1560,7 @@ msgstr "Крестовое 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Гироид" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1636,9 +1632,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Добавление дополнительных стенок вокруг области заполнения. Эти стенки могут уменьшить провисание верхних/нижних линий оболочки, что уменьшает необходимое количество верхних/нижних слоев оболочки без ухудшения качества за счет небольшого увеличения количества материала.\n" -"Эта функция может сочетаться с соединением полигонов заполнения для соединения всего участка заполнения в один путь экструзии без необходимости в движениях или откатах в случае правильной настройки." +msgstr "Добавление дополнительных стенок вокруг области заполнения. Эти стенки могут уменьшить провисание верхних/нижних линий оболочки, что уменьшает необходимое количество верхних/нижних слоев оболочки без ухудшения качества за счет небольшого увеличения количества материала.\nЭта функция может сочетаться с соединением полигонов заполнения для соединения всего участка заполнения в один путь экструзии без необходимости в движениях или откатах в случае правильной настройки." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3018,7 +3012,7 @@ msgstr "Обычная скорость вентилятора на слое" #: fdmprinter.def.json msgctxt "cool_fan_full_layer description" msgid "The layer at which the fans spin on regular fan speed. If regular fan speed at height is set, this value is calculated and rounded to a whole number." -msgstr "Слой, на котором вентилятор должен вращаться с обыкновенной скорость. Если определена обычная скорость для вентилятора на высоте, это значение вычисляется и округляется до целого." +msgstr "Слой, на котором вентилятор должен вращаться с обыкновенной скоростью. Если определена обычная скорость для вентилятора на высоте, это значение вычисляется и округляется до целого." #: fdmprinter.def.json msgctxt "cool_min_layer_time label" @@ -3273,32 +3267,32 @@ msgstr "Ориентация шаблона заполнения для подд #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Разрешить кайму поддержек" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "Создайте кайму внутри участков заполнения поддержек первого слоя. Эта кайма печатается под поддержкой, а не вокруг нее. Включение этого параметра увеличивает адгезию поддержки к рабочему столу." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Ширина каймы поддержки" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Ширина каймы для печати под поддержкой. При увеличении каймы улучшается адгезия к рабочему столу и увеличивается расход материала." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Количество линий каймы поддержки" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Количество линий, используемых для каймы поддержки. При увеличении линий каймы улучшается адгезия к рабочему столу и увеличивается расход материала." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3428,7 +3422,7 @@ msgstr "Степень заполнения поддержек" #: fdmprinter.def.json msgctxt "gradual_support_infill_steps description" msgid "Number of times to reduce the support infill density by half when getting further below top surfaces. Areas which are closer to top surfaces get a higher density, up to the Support Infill Density." -msgstr "Количество раз, на которое на половину можно уменьшать плотность заполнения поддержек при прохоже вглубь структуры от поверхности. Области ближе к оболочке имеют большую плотность, вплоть до значения \"Плотность заполнения поддержек\"." +msgstr "Количество раз, на которое на половину можно уменьшать плотность заполнения поддержек при проходе вглубь структуры от поверхности. Области ближе к оболочке имеют большую плотность, вплоть до значения \"Плотность заполнения поддержек\"." #: fdmprinter.def.json msgctxt "gradual_support_infill_step_height label" @@ -3835,9 +3829,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Горизонтальное расстояние между юбкой и первым слоем печати.\n" -"Минимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." +msgstr "Горизонтальное расстояние между юбкой и первым слоем печати.\nМинимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3872,12 +3864,12 @@ msgstr "Количество линий, используемых для печ #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Кайма заменяет поддержку" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "Принудительная печать каймы вокруг модели, даже если пространство в ином случае было бы занято поддержкой. При этом некоторые участки первого слоя поддержки заменяются участками каймы." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -4567,7 +4559,7 @@ msgstr "Сглаживает спиральные контуры для умен #: fdmprinter.def.json msgctxt "relative_extrusion label" msgid "Relative Extrusion" -msgstr "Отностительная экструзия" +msgstr "Относительная экструзия" #: fdmprinter.def.json msgctxt "relative_extrusion description" @@ -5002,7 +4994,7 @@ msgstr "Максимальный угол спагетти заполнения" #: fdmprinter.def.json msgctxt "spaghetti_max_infill_angle description" msgid "The maximum angle w.r.t. the Z axis of the inside of the print for areas which are to be filled with spaghetti infill afterwards. Lowering this value causes more angled parts in your model to be filled on each layer." -msgstr "Максимальный угол по отношению к оси Z внутри печатаемого объёма для заполняемых областей. Уменьшение этого значения приводит к тому, что более наклонённый части вашей модели будут заполнены на каждом слое." +msgstr "Максимальный угол по отношению к оси Z внутри печатаемого объёма для заполняемых областей. Уменьшение этого значения приводит к тому, что более наклонённые части вашей модели будут заполнены на каждом слое." #: fdmprinter.def.json msgctxt "spaghetti_max_height label" @@ -5284,9 +5276,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\n" -"Это может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." +msgstr "Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\nЭто может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5306,7 +5296,7 @@ msgstr "Падение (КП)" #: fdmprinter.def.json msgctxt "wireframe_fall_down description" msgid "Distance with which the material falls down after an upward extrusion. This distance is compensated for. Only applies to Wire Printing." -msgstr "Расстояние с которой материал падает вниз после восходящего выдавливания. Расстояние компенсируется. Применяется только при каркасной печати." +msgstr "Расстояние, с которого материал падает вниз после восходящего выдавливания. Расстояние компенсируется. Применяется только при каркасной печати." #: fdmprinter.def.json msgctxt "wireframe_drag_along label" @@ -5426,7 +5416,7 @@ msgstr "Разница между высотой следующего слоя #: fdmprinter.def.json msgctxt "adaptive_layer_height_threshold label" msgid "Adaptive layers threshold" -msgstr "Порог для адаптивных слове" +msgstr "Порог для адаптивных слоев" #: fdmprinter.def.json msgctxt "adaptive_layer_height_threshold description" @@ -5671,7 +5661,7 @@ msgstr "X позиция объекта" #: fdmprinter.def.json msgctxt "mesh_position_x description" msgid "Offset applied to the object in the x direction." -msgstr "Смещение, применяемое к объект по оси X." +msgstr "Смещение, применяемое к объекту по оси X." #: fdmprinter.def.json msgctxt "mesh_position_y label" @@ -5681,7 +5671,7 @@ msgstr "Y позиция объекта" #: fdmprinter.def.json msgctxt "mesh_position_y description" msgid "Offset applied to the object in the y direction." -msgstr "Смещение, применяемое к объект по оси Y." +msgstr "Смещение, применяемое к объекту по оси Y." #: fdmprinter.def.json msgctxt "mesh_position_z label" @@ -5691,7 +5681,7 @@ msgstr "Z позиция объекта" #: fdmprinter.def.json msgctxt "mesh_position_z description" msgid "Offset applied to the object in the z direction. With this you can perform what was used to be called 'Object Sink'." -msgstr "Смещение, применяемое к объект по оси Z. Это позволяет выполнять операцию, ранее известную как проваливание объекта под поверхность стола." +msgstr "Смещение, применяемое к объекту по оси Z. Это позволяет выполнять операцию, ранее известную как проваливание объекта под поверхность стола." #: fdmprinter.def.json msgctxt "mesh_rotation_matrix label" @@ -5701,7 +5691,7 @@ msgstr "Матрица вращения объекта" #: fdmprinter.def.json msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." -msgstr "Матрица преобразования, применяемая к модели при её загрузки из файла." +msgstr "Матрица преобразования, применяемая к модели при её загрузке из файла." #~ msgctxt "connect_skin_polygons description" #~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 9b5a47135b..4b52e474b7 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -47,7 +47,7 @@ msgstr "GCodeWriter metin dışı modu desteklemez." #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "Lütfen dışa aktarmadan önce G-code'u hazırlayın." #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -62,11 +62,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

    \n" -"

    {model_names}

    \n" -"

    En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

    \n" -"

    Yazdırma kalitesi kılavuzunu görüntüleyin

    " +msgstr "

    Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

    \n

    {model_names}

    \n

    En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

    \n

    Yazdırma kalitesi kılavuzunu görüntüleyin

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -76,7 +72,7 @@ msgstr "Değişiklik Günlüğünü Göster" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "Aygıt Yazılımını Güncelle" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -820,7 +816,7 @@ msgstr "Önceden dilimlenmiş dosya {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "Giriş başarısız" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -894,32 +890,32 @@ msgstr "{0} dosyasından profil içe aktarımı başarısı #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "{0} dosyasında içe aktarılabilecek özel profil yok" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "{0} dosyasından profil içe aktarımı başarısız oldu:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "Bu {0} profili yanlış veri içeriyor, içeri aktarılamadı." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "{0} ({1}) profilinde tanımlanan makine, mevcut makineniz ({2}) ile eşleşmiyor, içe aktarılamadı." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "{0} dosyasından profil içe aktarımı başarısız oldu:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1071,12 +1067,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

    \n" -"

    Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

    \n" -"

    Yedekler yapılandırma klasöründe bulunabilir.

    \n" -"

    Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

    \n" -" " +msgstr "

    Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

    \n

    Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

    \n

    Yedekler yapılandırma klasöründe bulunabilir.

    \n

    Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1109,10 +1100,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

    \n" -"

    Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

    \n" -" " +msgstr "

    Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

    \n

    Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1406,7 +1394,7 @@ msgstr "Nozül Y ofseti" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "Soğutma Fanı Numarası" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1510,7 +1498,7 @@ msgstr "Geri" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "Kaldırmayı onayla" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1588,10 +1576,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"Bu eklenti bir lisans içerir.\n" -"Bu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\n" -"Aşağıdaki koşulları kabul ediyor musunuz?" +msgstr "Bu eklenti bir lisans içerir.\nBu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\nAşağıdaki koşulları kabul ediyor musunuz?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1653,7 +1638,7 @@ msgstr "Kapat" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "Aygıt Yazılımını Güncelle" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1678,12 +1663,12 @@ msgstr "Özel Aygıt Yazılımı Yükle" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "Yazıcı ile bağlantı kurulmadığı için aygıt yazılımı güncellenemiyor." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "Yazıcı bağlantısı aygıt yazılımını yükseltmeyi desteklemediği için aygıt yazılımı güncellenemiyor." #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1751,10 +1736,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n" -"\n" -"Aşağıdaki listeden yazıcınızı seçin:" +msgstr "Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n\nAşağıdaki listeden yazıcınızı seçin:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1918,62 +1900,62 @@ msgstr "Bekleniyor: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "Yapılandırma değişikliği" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "Atanan yazıcı %1, aşağıdaki yapılandırma değişikliklerini gerektiriyor:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "Yazıcı %1 atandı, fakat iş bilinmeyen bir malzeme yapılandırması içeriyor." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "%2 olan %1 malzemesini %3 yapın." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "%3 malzemesini %1 malzemesi olarak yükleyin (Bu işlem geçersiz kılınamaz)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "%2 olan %1 print core'u %3 yapın." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "Baskı tablasını %1 olarak değiştirin (Bu işlem geçersiz kılınamaz)." #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "Geçersiz kıl" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "Bir yazdırma işini uyumsuz bir yapılandırmayla başlatmak 3D yazıcınıza zarar verebilir. Yapılandırmayı geçersiz kılmak ve %1 öğesini yazdırmak istediğinizden emin misiniz?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "Yapılandırmayı geçersiz kıl ve yazdırmayı başlat" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "Cam" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "Alüminyum" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2662,9 +2644,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"Bazı profil ayarlarını özelleştirdiniz.\n" -"Bu ayarları kaydetmek veya iptal etmek ister misiniz?" +msgstr "Bazı profil ayarlarını özelleştirdiniz.\nBu ayarları kaydetmek veya iptal etmek ister misiniz?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3366,9 +3346,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\n" -"Cura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" +msgstr "Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\nCura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3433,17 +3411,17 @@ msgstr "STL dosyalarının işlenmesi için destek kitaplığı" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "Düzlemsel nesnelerin işlenmesi için destek kitaplığı" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "Üçgen birleşimlerin işlenmesi için destek kitaplığı" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "Karmaşık ağların analizi için destek kitaplığı" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3453,7 +3431,7 @@ msgstr "3MF dosyalarının işlenmesi için destek kitaplığı" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "Dosya meta verileri ve akış için destek kitaplığı" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3501,10 +3479,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n" -"\n" -"Profil yöneticisini açmak için tıklayın." +msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3558,10 +3533,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n" -"\n" -"Bu ayarları görmek için tıklayın." +msgstr "Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n\nBu ayarları görmek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3589,10 +3561,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"Bu ayarın değeri profilden farklıdır.\n" -"\n" -"Profil değerini yenilemek için tıklayın." +msgstr "Bu ayarın değeri profilden farklıdır.\n\nProfil değerini yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3600,10 +3569,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n" -"\n" -"Hesaplanan değeri yenilemek için tıklayın." +msgstr "Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n\nHesaplanan değeri yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3828,9 +3794,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"Yazdırma Ayarı devre dışı\n" -"G-code dosyaları üzerinde değişiklik yapılamaz" +msgstr "Yazdırma Ayarı devre dışı\nG-code dosyaları üzerinde değişiklik yapılamaz" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4604,12 +4568,12 @@ msgstr "Değişiklik Günlüğü" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "Aygıt yazılımını güncellemeye yönelik makine eylemleri sağlar." #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "Aygıt Yazılımı Güncelleyici" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/tr_TR/fdmextruder.def.json.po b/resources/i18n/tr_TR/fdmextruder.def.json.po index 1c93b99706..f9519e7e68 100644 --- a/resources/i18n/tr_TR/fdmextruder.def.json.po +++ b/resources/i18n/tr_TR/fdmextruder.def.json.po @@ -169,12 +169,12 @@ msgstr "Nozül yazdırma işlemini başlatmaya hazırlandığında konumun Z koo #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "Ekstrüder Yazıcı Soğutma Fanı" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "Bu ekstrüdere bağlı yazıcı soğutma fanı sayısı. Yalnızca her bir ekstrüder için farklı yazıcı soğutma fanınız varsa bunu 0 varsayılan değeri olarak değiştirin." #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index 2d84548848..2060ab23d4 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -56,9 +56,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -" \n" -" ile ayrılan, başlangıçta yürütülecek G-code komutları." +msgstr " \n ile ayrılan, başlangıçta yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,9 +68,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -" \n" -" ile ayrılan, bitişte yürütülecek G-code komutları." +msgstr " \n ile ayrılan, bitişte yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1077,7 +1073,7 @@ msgstr "Üst/Alt Poligonları Bağla" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "Üst/alt yüzey yollarını yan yana ise bağla. Eş merkezli şekil için bu ayarı etkinleştirmek, hareket süresini önemli ölçüde kısaltır ancak bağlantılar dolgunun üzerinde meydana gelebileceğinden bu özellik üst yüzeyin kalitesini düşürebilir." #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1497,7 +1493,7 @@ msgstr "Dolgu Şekli" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "Baskının dolgu malzemesinin şeklidir. Hat ve zikzak dolgu, farklı katmanlar üzerinde yön değiştirerek malzeme maliyetini azaltır. Izgara, üçgen, üçlü altıgen, kübik, sekizlik, çeyrek kübik, çapraz ve eşmerkezli şekiller, her katmana tam olarak basılır. Gyroid, kübik, çeyrek kübik ve sekizlik dolgu, her yönde daha eşit bir kuvvet dağılımı sağlamak için her katmanda değişir." #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1562,7 +1558,7 @@ msgstr "Çapraz 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "Gyroid" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1634,9 +1630,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"Dolgu alanının etrafına ekstra duvar ekle. Bu duvarlar üst/alt yüzey hatlarının daha az aşağı düşmesini sağlar. Yani biraz fazla materyal kullanarak, daha az üst/alt yüzey katmanı ile aynı kaliteyi yakalayabilirsiniz.\n" -"Bu özellik, doğru konfigüre edildiğinde, harekete veya geri çekmeye gerek kalmadan Dolgu Poligonlarını Bağlama ile birlikte tüm dolguyu tek bir ekstrüzyon yoluna bağlayabilir." +msgstr "Dolgu alanının etrafına ekstra duvar ekle. Bu duvarlar üst/alt yüzey hatlarının daha az aşağı düşmesini sağlar. Yani biraz fazla materyal kullanarak, daha az üst/alt yüzey katmanı ile aynı kaliteyi yakalayabilirsiniz.\nBu özellik, doğru konfigüre edildiğinde, harekete veya geri çekmeye gerek kalmadan Dolgu Poligonlarını Bağlama ile birlikte tüm dolguyu tek bir ekstrüzyon yoluna bağlayabilir." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3271,32 +3265,32 @@ msgstr "Destekler için dolgu şeklinin döndürülmesi. Destek dolgu şekli yat #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "Destek Kenarını Etkinleştir" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "İlk katmanın destek dolgu alanı içinde bir kenar oluşturun. Bu kenar, desteğin çevresine değil, altına yazdırılır. Bu ayarı etkinleştirmek, desteğin baskı tablasına yapışma alanını artırır." #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "Destek Kenar Genişliği" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Desteğin altına yazdırılacak kenarın genişliği. Daha geniş kenar, ekstra malzeme karşılığında baskı tablasına daha fazla alanın yapışacağı anlamına gelir." #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "Destek Kenar Hattı Sayısı" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "Bir destek kenarı için kullanılan hatların sayısı. Daha fazla kenar hattı, ekstra malzeme karşılığında baskı tablasına daha fazla alanın yapışacağı anlamına gelir." #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3833,9 +3827,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\n" -"Minimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." +msgstr "Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\nMinimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3870,12 +3862,12 @@ msgstr "Bir kenar için kullanılan hatların sayısı Daha fazla kenar hattı y #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Kenar, Desteği Değiştirir" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "İlgili alan üzerinde destek olsa bile kenarı modelin çevresine yazdırmaya zorlayın. Desteğin ilk katmanının bazı alanlarını kenar alanları ile değiştirir." #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5282,9 +5274,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\n" -"Bu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." +msgstr "Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\nBu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 8bcaf11ab1..033aa0f8ef 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -49,7 +49,7 @@ msgstr "GCodeWriter 不支持非文本模式。" #: /home/ruben/Projects/Cura/plugins/GCodeWriter/GCodeWriter.py:89 msgctxt "@warning:status" msgid "Please prepare G-code before exporting." -msgstr "" +msgstr "导出前请先准备 G-code。" #: /home/ruben/Projects/Cura/plugins/ModelChecker/ModelChecker.py:30 msgctxt "@info:title" @@ -64,11 +64,7 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "" -"

    由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

    \n" -"

    {model_names}

    \n" -"

    找出如何确保最好的打印质量和可靠性.

    \n" -"

    查看打印质量指南

    " +msgstr "

    由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

    \n

    {model_names}

    \n

    找出如何确保最好的打印质量和可靠性.

    \n

    查看打印质量指南

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -78,7 +74,7 @@ msgstr "显示更新日志" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.py:25 msgctxt "@action" msgid "Update Firmware" -msgstr "" +msgstr "更新固件" #: /home/ruben/Projects/Cura/plugins/ProfileFlattener/ProfileFlattener.py:23 msgctxt "@item:inmenu" @@ -822,7 +818,7 @@ msgstr "预切片文件 {0}" #: /home/ruben/Projects/Cura/cura/API/Account.py:71 msgctxt "@info:title" msgid "Login failed" -msgstr "" +msgstr "登录失败" #: /home/ruben/Projects/Cura/cura/Settings/ContainerManager.py:201 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:121 @@ -896,32 +892,32 @@ msgstr "无法从 {0} 导入配置文件: {1}< #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "No custom profile to import in file {0}" -msgstr "" +msgstr "没有可导入文件 {0} 的自定义配置文件" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:194 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "无法从 {0} 导入配置文件:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "This profile {0} contains incorrect data, could not import it." -msgstr "" +msgstr "此配置文件 {0} 包含错误数据,无法导入。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:241 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "" +msgstr "配置文件 {0} ({1}) 中定义的机器与当前机器 ({2}) 不匹配,无法导入。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "" +msgstr "无法从 {0} 导入配置文件:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1073,12 +1069,7 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "" -"

    糟糕,Ultimaker Cura 似乎遇到了问题。

    \n" -"

    在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

    \n" -"

    您可在配置文件夹中找到备份。

    \n" -"

    请向我们发送此错误报告,以便解决问题。

    \n" -" " +msgstr "

    糟糕,Ultimaker Cura 似乎遇到了问题。

    \n

    在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

    \n

    您可在配置文件夹中找到备份。

    \n

    请向我们发送此错误报告,以便解决问题。

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1111,10 +1102,7 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "" -"

    Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

    \n" -"

    请使用“发送报告”按钮将错误报告自动发布到我们的服务器

    \n" -" " +msgstr "

    Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

    \n

    请使用“发送报告”按钮将错误报告自动发布到我们的服务器

    \n " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1408,7 +1396,7 @@ msgstr "喷嘴偏移 Y" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:451 msgctxt "@label" msgid "Cooling Fan Number" -msgstr "" +msgstr "冷却风扇数量" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:452 msgctxt "@label" @@ -1512,7 +1500,7 @@ msgstr "背部" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:20 msgctxt "@title:window" msgid "Confirm uninstall" -msgstr "" +msgstr "确认卸载" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxConfirmUninstallResetDialog.qml:50 msgctxt "@text:window" @@ -1590,10 +1578,7 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "" -"该插件包含一个许可。\n" -"您需要接受此许可才能安装此插件。\n" -"是否同意下列条款?" +msgstr "该插件包含一个许可。\n您需要接受此许可才能安装此插件。\n是否同意下列条款?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1655,7 +1640,7 @@ msgstr "关闭" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:31 msgctxt "@title" msgid "Update Firmware" -msgstr "" +msgstr "更新固件" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:39 msgctxt "@label" @@ -1680,12 +1665,12 @@ msgstr "上传自定义固件" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:83 msgctxt "@label" msgid "Firmware can not be updated because there is no connection with the printer." -msgstr "" +msgstr "未连接打印机,无法更新固件。" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:91 msgctxt "@label" msgid "Firmware can not be updated because the connection with the printer does not support upgrading firmware." -msgstr "" +msgstr "与打印机间的连接不支持固件更新,因此无法更新固件。" #: /home/ruben/Projects/Cura/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml:98 msgctxt "@title:window" @@ -1753,10 +1738,7 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "" -"要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n" -"\n" -"从以下列表中选择您的打印机:" +msgstr "要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n\n从以下列表中选择您的打印机:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1920,62 +1902,62 @@ msgstr "等待: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" msgid "Configuration change" -msgstr "" +msgstr "配置更改" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "" +msgstr "分配的打印机 %1 需要以下配置更改:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" msgid "The printer %1 is assigned, but the job contains an unknown material configuration." -msgstr "" +msgstr "已向打印机 %1 分配作业,但作业包含未知的材料配置。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:375 msgctxt "@label" msgid "Change material %1 from %2 to %3." -msgstr "" +msgstr "将材料 %1 从 %2 更改为 %3。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:378 msgctxt "@label" msgid "Load %3 as material %1 (This cannot be overridden)." -msgstr "" +msgstr "将 %3 作为材料 %1 进行加载(此操作无法覆盖)。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:381 msgctxt "@label" msgid "Change print core %1 from %2 to %3." -msgstr "" +msgstr "将 Print Core %1 从 %2 更改为 %3。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:384 msgctxt "@label" msgid "Change build plate to %1 (This cannot be overridden)." -msgstr "" +msgstr "将打印平台更改为 %1(此操作无法覆盖)。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:404 msgctxt "@label" msgid "Override" -msgstr "" +msgstr "覆盖" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:432 msgctxt "@label" msgid "Starting a print job with an incompatible configuration could damage your 3D printer. Are you sure you want to override the configuration and print %1?" -msgstr "" +msgstr "使用不兼容的配置启动打印作业可能会损坏 3D 打印机。您确定要覆盖配置并打印 %1 吗?" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:435 msgctxt "@window:title" msgid "Override configuration configuration and start print" -msgstr "" +msgstr "覆盖配置并开始打印" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:466 msgctxt "@label" msgid "Glass" -msgstr "" +msgstr "玻璃" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:469 msgctxt "@label" msgid "Aluminum" -msgstr "" +msgstr "铝" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/ClusterMonitorItem.qml:39 msgctxt "@label link to connect manager" @@ -2662,9 +2644,7 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "" -"您已自定义某些配置文件设置。\n" -"您想保留或舍弃这些设置吗?" +msgstr "您已自定义某些配置文件设置。\n您想保留或舍弃这些设置吗?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3366,9 +3346,7 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "" -"Cura 由 Ultimaker B.V. 与社区合作开发。\n" -"Cura 使用以下开源项目:" +msgstr "Cura 由 Ultimaker B.V. 与社区合作开发。\nCura 使用以下开源项目:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3433,17 +3411,17 @@ msgstr "用于处理 STL 文件的支持库" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:145 msgctxt "@label" msgid "Support library for handling planar objects" -msgstr "" +msgstr "用于处理平面对象的支持库" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:146 msgctxt "@label" msgid "Support library for handling triangular meshes" -msgstr "" +msgstr "用于处理三角网格的支持库" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:147 msgctxt "@label" msgid "Support library for analysis of complex networks" -msgstr "" +msgstr "用于分析复杂网络的支持库" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:148 msgctxt "@label" @@ -3453,7 +3431,7 @@ msgstr "用于处理 3MF 文件的支持库" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:149 msgctxt "@label" msgid "Support library for file metadata and streaming" -msgstr "" +msgstr "用于文件元数据和流媒体的支持库" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:150 msgctxt "@label" @@ -3501,10 +3479,7 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "" -"某些设置/重写值与存储在配置文件中的值不同。\n" -"\n" -"点击打开配置文件管理器。" +msgstr "某些设置/重写值与存储在配置文件中的值不同。\n\n点击打开配置文件管理器。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3558,10 +3533,7 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "" -"一些隐藏设置正在使用有别于一般设置的计算值。\n" -"\n" -"单击以使这些设置可见。" +msgstr "一些隐藏设置正在使用有别于一般设置的计算值。\n\n单击以使这些设置可见。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3589,10 +3561,7 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "" -"此设置的值与配置文件不同。\n" -"\n" -"单击以恢复配置文件的值。" +msgstr "此设置的值与配置文件不同。\n\n单击以恢复配置文件的值。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3600,10 +3569,7 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "" -"此设置通常可被自动计算,但其当前已被绝对定义。\n" -"\n" -"单击以恢复自动计算的值。" +msgstr "此设置通常可被自动计算,但其当前已被绝对定义。\n\n单击以恢复自动计算的值。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3826,9 +3792,7 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "" -"打印设置已禁用\n" -"G-code 文件无法被修改" +msgstr "打印设置已禁用\nG-code 文件无法被修改" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4598,12 +4562,12 @@ msgstr "更新日志" #: FirmwareUpdater/plugin.json msgctxt "description" msgid "Provides a machine actions for updating firmware." -msgstr "" +msgstr "为固件更新提供操作选项。" #: FirmwareUpdater/plugin.json msgctxt "name" msgid "Firmware Updater" -msgstr "" +msgstr "固件更新程序" #: ProfileFlattener/plugin.json msgctxt "description" diff --git a/resources/i18n/zh_CN/fdmextruder.def.json.po b/resources/i18n/zh_CN/fdmextruder.def.json.po index f8a875cec6..cddfeae984 100644 --- a/resources/i18n/zh_CN/fdmextruder.def.json.po +++ b/resources/i18n/zh_CN/fdmextruder.def.json.po @@ -171,12 +171,12 @@ msgstr "打印开始时,喷头在 Z 轴坐标上的起始位置." #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number label" msgid "Extruder Print Cooling Fan" -msgstr "" +msgstr "挤出机打印冷却风扇" #: fdmextruder.def.json msgctxt "machine_extruder_cooling_fan_number description" msgid "The number of the print cooling fan associated with this extruder. Only change this from the default value of 0 when you have a different print cooling fan for each extruder." -msgstr "" +msgstr "打印冷却风扇的数量与该挤出机有关。仅在每个挤出机都对应不同的打印冷却风扇时,对默认值 0 进行更改。" #: fdmextruder.def.json msgctxt "platform_adhesion label" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index 15a04ac92c..56027d5be1 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -58,9 +58,7 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "" -"在开始时执行的 G-code 命令 - 以 \n" -" 分行。" +msgstr "在开始时执行的 G-code 命令 - 以 \n 分行。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -72,9 +70,7 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "" -"在结束前执行的 G-code 命令 - 以 \n" -" 分行。" +msgstr "在结束前执行的 G-code 命令 - 以 \n 分行。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -1079,7 +1075,7 @@ msgstr "连接顶部/底部多边形" #: fdmprinter.def.json msgctxt "connect_skin_polygons description" msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happen midway over infill this feature can reduce the top surface quality." -msgstr "" +msgstr "在顶部/底部皮肤路径互相紧靠运行的地方连接它们。对于同心图案,启用此设置可大大减少空驶时间,但由于连接可在填充中途发生,此功能可能会降低顶部表面质量。" #: fdmprinter.def.json msgctxt "skin_angles label" @@ -1499,7 +1495,7 @@ msgstr "填充图案" #: fdmprinter.def.json msgctxt "infill_pattern description" msgid "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." -msgstr "" +msgstr "打印填充材料的图案。线条和锯齿形填充在交替层上交换方向,从而降低材料成本。网格、三角形、内六角、立方体、八角形、四面体、交叉和同心图案在每层完整打印。螺旋二十四面体、立方体、四面体和八角形填充随每层变化,以在各个方向提供更均衡的强度分布。" #: fdmprinter.def.json msgctxt "infill_pattern option grid" @@ -1564,7 +1560,7 @@ msgstr "交叉 3D" #: fdmprinter.def.json msgctxt "infill_pattern option gyroid" msgid "Gyroid" -msgstr "" +msgstr "螺旋二十四面体" #: fdmprinter.def.json msgctxt "zig_zaggify_infill label" @@ -1636,9 +1632,7 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "" -"在填充区域周围添加额外壁。此类壁可减少顶部/底部皮肤走线,这意味着只要付出一些额外的材料就可以使用更少的顶部/底部皮肤层达到相同的质量。\n" -"在适当配置的情况下,此功能可结合连接填充多边形以将所有填充物连接到单一挤出路径而无需空驶或回抽。" +msgstr "在填充区域周围添加额外壁。此类壁可减少顶部/底部皮肤走线,这意味着只要付出一些额外的材料就可以使用更少的顶部/底部皮肤层达到相同的质量。\n在适当配置的情况下,此功能可结合连接填充多边形以将所有填充物连接到单一挤出路径而无需空驶或回抽。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3273,32 +3267,32 @@ msgstr "用于支撑的填充图案的方向。支撑填充图案在水平面中 #: fdmprinter.def.json msgctxt "support_brim_enable label" msgid "Enable Support Brim" -msgstr "" +msgstr "启用支撑 Brim" #: fdmprinter.def.json msgctxt "support_brim_enable description" msgid "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate." -msgstr "" +msgstr "在第一层的支撑填充区域内生成一个 Brim。此 Brim 在支撑下方打印,而非周围。启用此设置会增强支撑与打印平台的附着。" #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "" +msgstr "支撑 Brim 宽度" #: fdmprinter.def.json msgctxt "support_brim_width description" msgid "The width of the brim to print underneath the support. A larger brim enhances adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "在支撑下方要打印的 Brim 的宽度。较大的 Brim 可增强与打印平台的附着,但也会增加一些额外材料成本。" #: fdmprinter.def.json msgctxt "support_brim_line_count label" msgid "Support Brim Line Count" -msgstr "" +msgstr "支撑 Brim 走线次数" #: fdmprinter.def.json msgctxt "support_brim_line_count description" msgid "The number of lines used for the support brim. More brim lines enhance adhesion to the build plate, at the cost of some extra material." -msgstr "" +msgstr "用于支撑 Brim 的走线数量。更多 Brim 走线可增强与打印平台的附着,但也会增加一些额外材料成本。" #: fdmprinter.def.json msgctxt "support_z_distance label" @@ -3835,9 +3829,7 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "" -"skirt 和打印第一层之间的水平距离。\n" -"这是最小距离。多个 skirt 走线将从此距离向外延伸。" +msgstr "skirt 和打印第一层之间的水平距离。\n这是最小距离。多个 skirt 走线将从此距离向外延伸。" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -3872,12 +3864,12 @@ msgstr "brim 所用走线数量。 更多 brim 走线可增强与打印平台的 #: fdmprinter.def.json msgctxt "brim_replaces_support label" msgid "Brim Replaces Support" -msgstr "" +msgstr "Brim 替换支撑" #: fdmprinter.def.json msgctxt "brim_replaces_support description" msgid "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions." -msgstr "" +msgstr "强制围绕模型打印 Brim,即使该空间本该由支撑占据。此操作会将第一层的某些支撑区域替换为 Brim 区域。" #: fdmprinter.def.json msgctxt "brim_outside_only label" @@ -5284,9 +5276,7 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "" -"以半速挤出的上行移动的距离。\n" -"这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" +msgstr "以半速挤出的上行移动的距离。\n这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" #: fdmprinter.def.json msgctxt "wireframe_top_jump label" From 3db85b2493eb5b402875ed94225784f4e72c18f7 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 6 Nov 2018 13:48:15 +0100 Subject: [PATCH 398/423] Try to strip extra curaproject extensions CURA-5896 --- cura/PrintInformation.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 0d6418d388..86c90e03d3 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -374,6 +374,11 @@ class PrintInformation(QObject): if self._base_name.endswith(OLD_CURA_PROJECT_EXT): self._base_name = self._base_name[:len(self._base_name) - len(OLD_CURA_PROJECT_EXT)] + # CURA-5896 Try to strip extra extensions with an infinite amount of ".curaproject.3mf". + OLD_CURA_PROJECT_3MF_EXT = ".curaproject.3mf" + while self._base_name.endswith(OLD_CURA_PROJECT_3MF_EXT): + self._base_name = self._base_name[:len(self._base_name) - len(OLD_CURA_PROJECT_3MF_EXT)] + self._updateJobName() @pyqtProperty(str, fset = setBaseName, notify = baseNameChanged) From ef3bb044f4b09fe5ab7702d9aff5e82e35145f6e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 6 Nov 2018 15:31:51 +0100 Subject: [PATCH 399/423] Rename CC Red 0.6 to CC 0.6 --- .../ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg | 2 +- .../ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg | 2 +- .../ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg | 2 +- .../ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg | 2 +- resources/variants/ultimaker_s5_cc06.inst.cfg | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg index 104c385aa3..99b4b142fa 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFCPE_Draft_Print.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = draft weight = -3 material = generic_cffcpe -variant = CC Red 0.6 +variant = CC 0.6 [values] adhesion_type = skirt diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg index 14cb93e53b..80c383aa8d 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_CFFPA_Draft_Print.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = draft weight = -3 material = generic_cffpa -variant = CC Red 0.6 +variant = CC 0.6 [values] adhesion_type = skirt diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg index 30c4ea8f51..c94d239c81 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFCPE_Draft_Print.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = draft weight = -3 material = generic_gffcpe -variant = CC Red 0.6 +variant = CC 0.6 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg index 5a0640c858..e7d4d1955b 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_GFFPA_Draft_Print.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = draft weight = -3 material = generic_gffpa -variant = CC Red 0.6 +variant = CC 0.6 [values] adhesion_type = brim diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg index 21e2dd0661..9045c36fbe 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = draft weight = -3 material = generic_pla -variant = CC Red 0.6 +variant = CC 0.6 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg index 1c54089058..8e747bb06f 100644 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg @@ -9,7 +9,7 @@ type = quality quality_type = fast weight = -2 material = generic_pla -variant = CC Red 0.6 +variant = CC 0.6 [values] cool_fan_full_at_height = =layer_height_0 + 2 * layer_height diff --git a/resources/variants/ultimaker_s5_cc06.inst.cfg b/resources/variants/ultimaker_s5_cc06.inst.cfg index dd888eff6f..d41d08118a 100644 --- a/resources/variants/ultimaker_s5_cc06.inst.cfg +++ b/resources/variants/ultimaker_s5_cc06.inst.cfg @@ -1,5 +1,5 @@ [general] -name = CC Red 0.6 +name = CC 0.6 version = 4 definition = ultimaker_s5 @@ -11,7 +11,7 @@ hardware_type = nozzle [values] brim_width = 7 machine_nozzle_cool_down_speed = 0.9 -machine_nozzle_id = CC Red 0.6 +machine_nozzle_id = CC 0.6 machine_nozzle_size = 0.6 material_print_temperature = =default_material_print_temperature + 10 raft_acceleration = =acceleration_print From 52c27239906d8d573c3e6cb599bf32f4c80e4147 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 6 Nov 2018 16:03:00 +0100 Subject: [PATCH 400/423] Make corrections to translation mistakes These are all the mistakes that we found in the translations to Cura 3.6. Contributes to issue CURA-5870. --- resources/i18n/ja_JP/cura.po | 75 ++++++++++------ resources/i18n/ko_KR/cura.po | 76 ++++++++++++----- resources/i18n/nl_NL/cura.po | 92 ++++++++++++++------ resources/i18n/nl_NL/fdmprinter.def.json.po | 39 ++++++--- resources/i18n/ru_RU/cura.po | 74 +++++++++++----- resources/i18n/ru_RU/fdmprinter.def.json.po | 26 ++++-- resources/i18n/tr_TR/cura.po | 84 +++++++++++++----- resources/i18n/tr_TR/fdmprinter.def.json.po | 45 ++++++---- resources/i18n/zh_CN/cura.po | 94 ++++++++++++++------- resources/i18n/zh_CN/fdmprinter.def.json.po | 32 ++++--- resources/i18n/zh_TW/cura.po | 20 ++--- resources/i18n/zh_TW/fdmprinter.def.json.po | 14 +-- 12 files changed, 461 insertions(+), 210 deletions(-) diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 1029221991..13916ef1e2 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-09-28 15:19+0200\n" +"PO-Revision-Date: 2018-11-06 14:58+0100\n" "Last-Translator: Bothof \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -64,7 +64,11 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "

    モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

    \n

    {model_names}

    \n

    可能な限り最高の品質および信頼性を得る方法をご覧ください。

    \n

    印字品質ガイドを見る

    " +msgstr "" +"

    モデルのサイズまたは材料の設定によっては、適切に印刷しない3Dモデルがあります。:

    \n" +"

    {model_names}

    \n" +"

    可能な限り最高の品質および信頼性を得る方法をご覧ください。

    \n" +"

    印字品質ガイドを見る

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -870,7 +874,7 @@ msgstr "{0}にプロファイルを書き出すのに失敗 #, python-brace-format msgctxt "@info:status Don't translate the XML tag !" msgid "Failed to export profile to {0}: Writer plugin reported failure." -msgstr " {0}にプロファイルを書き出すことに失敗しました。:ライタープラグイン失敗の報告。" +msgstr "{0}にプロファイルを書き出すことに失敗しました。:ライタープラグイン失敗の報告。" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:143 #, python-brace-format @@ -1070,7 +1074,12 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "

    申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

    \n

    開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

    \n

    バックアップは、設定フォルダに保存されます。

    \n

    問題解決のために、このクラッシュ報告をお送りください。

    \n " +msgstr "" +"

    申し訳ありません。Ultimaker Cura で何らかの不具合が生じています。

    \n" +"

    開始時に回復不能のエラーが発生しました。不適切なファイル設定が原因の可能性があります。バックアップを実行してからリセットしてください。

    \n" +"

    バックアップは、設定フォルダに保存されます。

    \n" +"

    問題解決のために、このクラッシュ報告をお送りください。

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1103,7 +1112,10 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "

    致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

    \n

    「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

    \n " +msgstr "" +"

    致命的なエラーが発生しました。問題解決のためこのクラッシュレポートを送信してください

    \n" +"

    「レポート送信」ボタンを使用してバグレポートが自動的に当社サーバーに送られるようにしてください

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1579,7 +1591,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "このプラグインにはライセンスが含まれています。\nこのプラグインをインストールするにはこのライセンスに同意する必要があります。\n下の利用規約に同意しますか?" +msgstr "" +"このプラグインにはライセンスが含まれています。\n" +"このプラグインをインストールするにはこのライセンスに同意する必要があります。\n" +"下の利用規約に同意しますか?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1604,7 +1619,7 @@ msgstr "互換性" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLoadingPage.qml:16 msgctxt "@info" msgid "Fetching packages..." -msgstr "パッケージ取得中" +msgstr "パッケージ取得中…" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxAuthorPage.qml:88 msgctxt "@label" @@ -2610,7 +2625,7 @@ msgstr "プリンターへの接続が切断されました" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:187 msgctxt "@label:MonitorStatus" msgid "Printing..." -msgstr "プリント中" +msgstr "プリント中…" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:149 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:189 @@ -2622,7 +2637,7 @@ msgstr "一時停止しました" #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:191 msgctxt "@label:MonitorStatus" msgid "Preparing..." -msgstr "準備中" +msgstr "準備中…" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:154 msgctxt "@label:MonitorStatus" @@ -2847,12 +2862,12 @@ msgstr "フィラメントを取り込む" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:286 msgctxt "@info:status Don't translate the XML tags or !" msgid "Could not import material %1: %2" -msgstr " %1フィラメントを取り込むことができない: %2" +msgstr "%1フィラメントを取り込むことができない: %2" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:290 msgctxt "@info:status Don't translate the XML tag !" msgid "Successfully imported material %1" -msgstr "フィラメント%1の取り込みに成功しました。" +msgstr "フィラメント%1の取り込みに成功しました" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:308 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:316 @@ -2868,7 +2883,7 @@ msgstr "フィラメントの書き出しに失敗しました %1
    !" msgid "Successfully exported material to %1" -msgstr "フィラメントの%1への書き出しが完了ました。" +msgstr "フィラメントの%1への書き出しが完了ました" #: /home/ruben/Projects/Cura/resources/qml/Preferences/SettingVisibilityPage.qml:14 msgctxt "@title:tab" @@ -3484,7 +3499,9 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "いくらかの設定プロファイルにある値とことなる場合無効にします。\nプロファイルマネージャーをクリックして開いてください。" +msgstr "" +"いくらかの設定プロファイルにある値とことなる場合無効にします。\n" +"プロファイルマネージャーをクリックして開いてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3520,7 +3537,7 @@ msgstr "常に見えるように設定する" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:417 msgctxt "@action:menu" msgid "Configure setting visibility..." -msgstr "視野のセッティングを構成する" +msgstr "視野のセッティングを構成する…" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:644 msgctxt "@action:inmenu" @@ -3538,7 +3555,9 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n表示されるようにクリックしてください。" +msgstr "" +"いくらかの非表示設定は通常の計算された値と異なる値を使用します。\n" +"表示されるようにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3566,7 +3585,9 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "この設定にプロファイルと異なった値があります。\nプロファイルの値を戻すためにクリックしてください。" +msgstr "" +"この設定にプロファイルと異なった値があります。\n" +"プロファイルの値を戻すためにクリックしてください。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3574,7 +3595,9 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "このセッティングは通常計算されます、今は絶対値に固定されています。\n計算された値に変更するためにクリックを押してください。" +msgstr "" +"このセッティングは通常計算されます、今は絶対値に固定されています。\n" +"計算された値に変更するためにクリックを押してください。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3743,7 +3766,7 @@ msgstr "すべての設定を表示" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:53 msgctxt "@action:inmenu" msgid "Manage Setting Visibility..." -msgstr "視野のセッティングを管理する" +msgstr "視野のセッティングを管理する…" # can’t enter japanese texts #: /home/ruben/Projects/Cura/resources/qml/Menus/ContextMenu.qml:27 @@ -3799,7 +3822,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "プリントセットアップが無効\nG-codeファイルを修正することができません" +msgstr "" +"プリントセットアップが無効\n" +"G-codeファイルを修正することができません" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -3916,17 +3941,17 @@ msgstr "Curaを構成する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:156 msgctxt "@action:inmenu menubar:printer" msgid "&Add Printer..." -msgstr "&プリンターを追加する" +msgstr "&プリンターを追加する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:162 msgctxt "@action:inmenu menubar:printer" msgid "Manage Pr&inters..." -msgstr "プリンターを管理する" +msgstr "プリンターを管理する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:169 msgctxt "@action:inmenu" msgid "Manage Materials..." -msgstr "フィラメントを管理する" +msgstr "フィラメントを管理する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:177 msgctxt "@action:inmenu menubar:profile" @@ -3946,7 +3971,7 @@ msgstr "&今の設定/無効からプロファイルを作成する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:203 msgctxt "@action:inmenu menubar:profile" msgid "Manage Profiles..." -msgstr "プロファイルを管理する" +msgstr "プロファイルを管理する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:210 msgctxt "@action:inmenu menubar:help" @@ -4067,7 +4092,7 @@ msgstr "&新しいプロジェクト…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:402 msgctxt "@action:inmenu menubar:help" msgid "Show Engine &Log..." -msgstr "エンジン&ログを表示する" +msgstr "エンジン&ログを表示する…" #: /home/ruben/Projects/Cura/resources/qml/Actions.qml:410 msgctxt "@action:inmenu menubar:help" @@ -4270,7 +4295,7 @@ msgstr "設定" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:593 msgctxt "@title:window" msgid "New project" -msgstr "新しいプロジェクト…" +msgstr "新しいプロジェクト" #: /home/ruben/Projects/Cura/resources/qml/Cura.qml:594 msgctxt "@info:question" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 3e7980efb5..8141cdf63e 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-09-28 14:25+0100\n" +"PO-Revision-Date: 2018-11-06 15:00+0100\n" "Last-Translator: Jinbuhm Kim \n" "Language-Team: Jinbum Kim , Korean \n" "Language: ko_KR\n" @@ -64,7 +64,11 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "

    하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

    \n

    {model_names}

    \n

    인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

    \n

    인쇄 품질 가이드 보기

    " +msgstr "" +"

    하나 이상의 3D 모델이 모델 크기 및 재료 구성으로 인해 최적의 상태로 인쇄되지 않을 수 있습니다.

    \n" +"

    {model_names}

    \n" +"

    인쇄 품질 및 안정성을 최고로 높이는 방법을 알아보십시오.

    \n" +"

    인쇄 품질 가이드 보기

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -898,7 +902,7 @@ msgstr "{0}(으)로 가져올 사용자 정의 프로파일 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "Failed to import profile from {0}:" -msgstr "{0}에서 프로파일을 가져오지 못했습니다" +msgstr "{0}에서 프로파일을 가져오지 못했습니다:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:218 #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:228 @@ -917,7 +921,7 @@ msgstr "The machine defined in profile {0} ({1}) doesn’t #, python-brace-format msgctxt "@info:status Don't translate the XML tags or !" msgid "Failed to import profile from {0}:" -msgstr "{0}에서 프로파일을 가져오지 못했습니다" +msgstr "{0}에서 프로파일을 가져오지 못했습니다:" #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:315 #, python-brace-format @@ -1069,7 +1073,12 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "

    죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n                    

    시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n                    

    백업은 설정 폴더에서 찾을 수 있습니다. \n                    

    문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n " +msgstr "" +"

    죄송합니다, Ultimaker Cura가 정상적이지 않습니다. \n" +"                    

    시작할 때 복구 할 수없는 오류가 발생했습니다. 이 오류는 잘못된 구성 파일로 인해 발생할 수 있습니다. 설정을 백업하고 재설정하는 것이 좋습니다. \n" +"                    

    백업은 설정 폴더에서 찾을 수 있습니다. \n" +"                    

    문제를 해결하기 위해이 오류 보고서를 보내주십시오. \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1102,7 +1111,10 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

    \n

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

    \n " +msgstr "" +"

    치명적인 오류가 발생했습니다. 문제를 해결할 수 있도록 이 충돌 보고서를 보내주십시오

    \n" +"

    \"보고서 전송\" 버튼을 사용하면 버그 보고서가 서버에 자동으로 전달됩니다

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1525,7 +1537,7 @@ msgstr "확인" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:17 msgctxt "@info" msgid "You will need to restart Cura before changes in packages have effect." -msgstr "패키지의 변경 사항이 적용되기 전에 Cura를 다시 시작해야 합니다" +msgstr "패키지의 변경 사항이 적용되기 전에 Cura를 다시 시작해야 합니다." #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxFooter.qml:34 msgctxt "@info:button" @@ -1578,7 +1590,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "이 플러그인에는 라이선스가 포함되어 있습니다.\n이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n아래의 약관에 동의하시겠습니까?" +msgstr "" +"이 플러그인에는 라이선스가 포함되어 있습니다.\n" +"이 플러그인을 설치하려면 이 라이선스를 수락해야 합니다.\n" +"아래의 약관에 동의하시겠습니까?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1738,7 +1753,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n\n아래 목록에서 프린터를 선택하십시오:" +msgstr "" +"네트워크를 통해 프린터로 직접 프린팅하려면 네트워크 케이블을 사용하거나 프린터를 WIFI 네트워크에 연결하여 프린터가 네트워크에 연결되어 있는지 확인하십시오. Cura를 프린터에 연결하지 않은 경우에도 USB 드라이브를 사용하여 g 코드 파일을 프린터로 전송할 수 있습니다\n" +"\n" +"아래 목록에서 프린터를 선택하십시오:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1907,7 +1925,7 @@ msgstr "구성 변경" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:365 msgctxt "@label" msgid "The assigned printer, %1, requires the following configuration change(s):" -msgstr "할당된 프린터 %1의 구성을 다음과 같이 변경해야 합니다." +msgstr "할당된 프린터 %1의 구성을 다음과 같이 변경해야 합니다:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:367 msgctxt "@label" @@ -2186,7 +2204,7 @@ msgstr "이미지 변환 ..." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 msgctxt "@info:tooltip" msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "\"Base\"에서 각 픽셀까지의 최대 거리" +msgstr "\"Base\"에서 각 픽셀까지의 최대 거리." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 msgctxt "@action:label" @@ -2644,7 +2662,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "일부 프로파일 설정을 수정했습니다.\n이러한 설정을 유지하거나 삭제 하시겠습니까?" +msgstr "" +"일부 프로파일 설정을 수정했습니다.\n" +"이러한 설정을 유지하거나 삭제 하시겠습니까?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3346,7 +3366,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\nCura는 다음의 오픈 소스 프로젝트를 사용합니다:" +msgstr "" +"Cura는 커뮤니티와 공동으로 Ultimaker B.V.에 의해 개발되었습니다.\n" +"Cura는 다음의 오픈 소스 프로젝트를 사용합니다:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3479,7 +3501,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n\n프로파일 매니저를 열려면 클릭하십시오." +msgstr "" +"일부 설정/대체 값은 프로파일에 저장된 값과 다릅니다.\n" +"\n" +"프로파일 매니저를 열려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3533,7 +3558,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n\n이 설정을 표시하려면 클릭하십시오." +msgstr "" +"일부 숨겨진 설정은 일반적인 계산 값과 다른 값을 사용합니다.\n" +"\n" +"이 설정을 표시하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3561,7 +3589,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "이 설정에는 프로파일과 다른 값이 있습니다.\n\n프로파일 값을 복원하려면 클릭하십시오." +msgstr "" +"이 설정에는 프로파일과 다른 값이 있습니다.\n" +"\n" +"프로파일 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3569,7 +3600,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n\n계산 된 값을 복원하려면 클릭하십시오." +msgstr "" +"이 설정은 일반적으로 계산되지만 현재는 절대 값이 설정되어 있습니다.\n" +"\n" +"계산 된 값을 복원하려면 클릭하십시오." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3792,7 +3826,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "프린팅 설정 사용 안 함\nG-코드 파일은 수정할 수 없습니다" +msgstr "" +"프린팅 설정 사용 안 함\n" +"G-코드 파일은 수정할 수 없습니다" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4452,7 +4488,7 @@ msgstr "재료" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "이 재료 조합과 함께 접착제를 사용하십시오." +msgstr "이 재료 조합과 함께 접착제를 사용하십시오" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4652,7 +4688,7 @@ msgstr "이동식 드라이브 출력 장치 플러그인" #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "Ultimaker 3 프린터에 대한 네트워크 연결을 관리합니다" +msgstr "Ultimaker 3 프린터에 대한 네트워크 연결을 관리합니다." #: UM3NetworkPrinting/plugin.json msgctxt "name" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index b2e4aa4086..60b7671e6c 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -8,13 +8,15 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-10-01 11:30+0100\n" +"PO-Revision-Date: 2018-11-06 15:03+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -62,7 +64,11 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "

    Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

    \n

    {model_names}

    \n

    Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

    \n

    Handleiding printkwaliteit bekijken

    " +msgstr "" +"

    Een of meer 3D-modellen worden mogelijk niet optimaal geprint vanwege het modelformaat en de materiaalconfiguratie:

    \n" +"

    {model_names}

    \n" +"

    Ontdek hoe u de best mogelijke printkwaliteit en betrouwbaarheid verkrijgt.

    \n" +"

    Handleiding printkwaliteit bekijken

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -435,7 +441,7 @@ msgstr "De PrintCores en/of materialen in de printer wijken af van de PrintCores #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Via het netwerk verbonden." +msgstr "Via het netwerk verbonden" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" @@ -1067,7 +1073,12 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "

    Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

    \n

    Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

    \n

    Back-ups bevinden zich in de configuratiemap.

    \n

    Stuur ons dit crashrapport om het probleem op te lossen.

    \n " +msgstr "" +"

    Oeps, Ultimaker Cura heeft een probleem gedetecteerd.

    \n" +"

    Tijdens het opstarten is een onherstelbare fout opgetreden. Deze fout is mogelijk veroorzaakt door enkele onjuiste configuratiebestanden. Het wordt aanbevolen een back-up te maken en de standaardinstelling van uw configuratie te herstellen.

    \n" +"

    Back-ups bevinden zich in de configuratiemap.

    \n" +"

    Stuur ons dit crashrapport om het probleem op te lossen.

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1100,7 +1111,10 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "

    Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

    \n

    Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

    \n " +msgstr "" +"

    Er is een fatale fout opgetreden in Cura. Stuur ons het crashrapport om het probleem op te lossen

    \n" +"

    Druk op de knop \"Rapport verzenden\" om het foutenrapport automatisch naar onze servers te verzenden

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1334,7 +1348,7 @@ msgstr "Hoogte rijbrug" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:238 msgctxt "@tooltip" msgid "The height difference between the tip of the nozzle and the gantry system (X and Y axes). Used to prevent collisions between previous prints and the gantry when printing \"One at a Time\"." -msgstr "Het hoogteverschil tussen de punt van de nozzle en het rijbrugsysteem (X- en Y-as). Wordt tijdens \"een voor een\"-printen gebruikt om botsingen tussen eerder geprinte voorwerpen en het rijbrugsysteem te voorkomen" +msgstr "Het hoogteverschil tussen de punt van de nozzle en het rijbrugsysteem (X- en Y-as). Wordt tijdens \"een voor een\"-printen gebruikt om botsingen tussen eerder geprinte voorwerpen en het rijbrugsysteem te voorkomen." #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:257 msgctxt "@label" @@ -1591,7 +1605,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Deze invoegtoepassing bevat een licentie.\nU moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\nGaat u akkoord met de onderstaande voorwaarden?" +msgstr "" +"Deze invoegtoepassing bevat een licentie.\n" +"U moet akkoord gaan met deze licentie om deze invoegtoepassing te mogen installeren.\n" +"Gaat u akkoord met de onderstaande voorwaarden?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1751,7 +1768,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n\nSelecteer uw printer in de onderstaande lijst:" +msgstr "" +"Als u rechtstreeks via het netwerk wilt printen naar de printer, moet u ervoor zorgen dat de printer met een netwerkkabel is verbonden met het netwerk of moet u verbinding maken met de printer via het wifi-netwerk. Als u geen verbinding maakt tussen Cura en de printer, kunt u een USB-station gebruiken om g-code-bestanden naar de printer over te zetten.\n" +"\n" +"Selecteer uw printer in de onderstaande lijst:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2184,12 +2204,12 @@ msgstr "Cura verzendt anonieme gegevens naar Ultimaker om de printkwaliteit en g #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:101 msgctxt "@text:window" msgid "I don't want to send these data" -msgstr "Ik wil deze gegevens niet verzenden." +msgstr "Ik wil deze gegevens niet verzenden" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/MoreInfoWindow.qml:111 msgctxt "@text:window" msgid "Allow sending these data to Ultimaker and help us improve Cura" -msgstr "Verzenden van deze gegevens naar Ultimaker toestaan en ons helpen Cura te verbeteren." +msgstr "Verzenden van deze gegevens naar Ultimaker toestaan en ons helpen Cura te verbeteren" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:19 msgctxt "@title:window" @@ -2229,7 +2249,7 @@ msgstr "Breedte (mm)" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:103 msgctxt "@info:tooltip" msgid "The depth in millimeters on the build plate" -msgstr "De diepte op het platform in millimeters." +msgstr "De diepte op het platform in millimeters" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:108 msgctxt "@action:label" @@ -2460,7 +2480,7 @@ msgstr "Printerupgrades Selecteren" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:38 msgctxt "@label" msgid "Please select any upgrades made to this Ultimaker 2." -msgstr "Selecteer eventuele upgrades die op deze Ultimaker 2 zijn uitgevoerd" +msgstr "Selecteer eventuele upgrades die op deze Ultimaker 2 zijn uitgevoerd." #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UM2UpgradeSelectionMachineAction.qml:47 msgctxt "@label" @@ -2659,7 +2679,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "U hebt enkele profielinstellingen aangepast.\nWilt u deze instellingen behouden of verwijderen?" +msgstr "" +"U hebt enkele profielinstellingen aangepast.\n" +"Wilt u deze instellingen behouden of verwijderen?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2846,7 +2868,7 @@ msgstr "Verwijderen Bevestigen" #: /home/ruben/Projects/Cura/resources/qml/Preferences/ProfilesPage.qml:240 msgctxt "@label (%1 is object name)" msgid "Are you sure you wish to remove %1? This cannot be undone!" -msgstr "Weet u zeker dat u %1 wilt verwijderen? Deze bewerking kan niet ongedaan worden gemaakt." +msgstr "Weet u zeker dat u %1 wilt verwijderen? Deze bewerking kan niet ongedaan worden gemaakt!" #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:277 #: /home/ruben/Projects/Cura/resources/qml/Preferences/Materials/MaterialsPage.qml:285 @@ -3361,7 +3383,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\nCura maakt met trots gebruik van de volgende opensourceprojecten:" +msgstr "" +"Cura is ontwikkeld door Ultimaker B.V. in samenwerking met de community.\n" +"Cura maakt met trots gebruik van de volgende opensourceprojecten:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3494,7 +3518,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n\nKlik om het profielbeheer te openen." +msgstr "" +"Sommige waarden of aanpassingen van instellingen zijn anders dan de waarden die in het profiel zijn opgeslagen.\n" +"\n" +"Klik om het profielbeheer te openen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3548,7 +3575,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n\nKlik om deze instellingen zichtbaar te maken." +msgstr "" +"Een aantal verborgen instellingen gebruiken andere waarden dan hun normale berekende waarde.\n" +"\n" +"Klik om deze instellingen zichtbaar te maken." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3563,7 +3593,7 @@ msgstr "Beïnvloed door" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" msgid "This setting is always shared between all extruders. Changing it here will change the value for all extruders." -msgstr "Deze instelling wordt altijd door alle extruders gedeeld. Als u hier de instelling wijzigt, wordt de waarde voor alle extruders gewijzigd" +msgstr "Deze instelling wordt altijd door alle extruders gedeeld. Als u hier de instelling wijzigt, wordt de waarde voor alle extruders gewijzigd." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" @@ -3576,7 +3606,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Deze instelling heeft een andere waarde dan in het profiel.\n\nKlik om de waarde van het profiel te herstellen." +msgstr "" +"Deze instelling heeft een andere waarde dan in het profiel.\n" +"\n" +"Klik om de waarde van het profiel te herstellen." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3584,7 +3617,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n\nKlik om de berekende waarde te herstellen." +msgstr "" +"Deze instelling wordt normaliter berekend, maar is nu ingesteld op een absolute waarde.\n" +"\n" +"Klik om de berekende waarde te herstellen." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3809,7 +3845,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Instelling voor printen uitgeschakeld\nG-code-bestanden kunnen niet worden aangepast" +msgstr "" +"Instelling voor printen uitgeschakeld\n" +"G-code-bestanden kunnen niet worden aangepast" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4503,7 +4541,7 @@ msgstr "Huidig platform schikken" #: MachineSettingsAction/plugin.json msgctxt "description" msgid "Provides a way to change machine settings (such as build volume, nozzle size, etc.)." -msgstr "Biedt een manier om de machine-instellingen (zoals bouwvolume, maat nozzle, enz.) te wijzigen" +msgstr "Biedt een manier om de machine-instellingen (zoals bouwvolume, maat nozzle, enz.) te wijzigen." #: MachineSettingsAction/plugin.json msgctxt "name" @@ -4613,7 +4651,7 @@ msgstr "USB-printen" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "Vraag de gebruiker één keer of deze akkoord gaat met de licentie" +msgstr "Vraag de gebruiker één keer of deze akkoord gaat met de licentie." #: UserAgreement/plugin.json msgctxt "name" @@ -4673,7 +4711,7 @@ msgstr "Invoegtoepassing voor Verwijderbaar uitvoerapparaat" #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "Hiermee beheert u netwerkverbindingen naar Ultimaker 3-printers" +msgstr "Hiermee beheert u netwerkverbindingen naar Ultimaker 3-printers." #: UM3NetworkPrinting/plugin.json msgctxt "name" @@ -4808,7 +4846,7 @@ msgstr "Hiermee worden configuraties bijgewerkt van Cura 2.5 naar Cura 2.6." #: VersionUpgrade/VersionUpgrade25to26/plugin.json msgctxt "name" msgid "Version Upgrade 2.5 to 2.6" -msgstr "Versie-upgrade van 2.5 naar 2.6." +msgstr "Versie-upgrade van 2.5 naar 2.6" #: VersionUpgrade/VersionUpgrade27to30/plugin.json msgctxt "description" @@ -4848,7 +4886,7 @@ msgstr "Hiermee worden configuraties bijgewerkt van Cura 2.6 naar Cura 2.7." #: VersionUpgrade/VersionUpgrade26to27/plugin.json msgctxt "name" msgid "Version Upgrade 2.6 to 2.7" -msgstr "Versie-upgrade van 2.6 naar 2.7." +msgstr "Versie-upgrade van 2.6 naar 2.7" #: VersionUpgrade/VersionUpgrade21to22/plugin.json msgctxt "description" @@ -4868,7 +4906,7 @@ msgstr "Hiermee worden configuraties bijgewerkt van Cura 2.2 naar Cura 2.4." #: VersionUpgrade/VersionUpgrade22to24/plugin.json msgctxt "name" msgid "Version Upgrade 2.2 to 2.4" -msgstr "Versie-upgrade van 2.2 naar 2.4." +msgstr "Versie-upgrade van 2.2 naar 2.4" #: ImageReader/plugin.json msgctxt "description" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index 844e97d189..1733d1830e 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -8,13 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-10-01 14:10+0100\n" +"PO-Revision-Date: 2018-11-06 15:03+0100\n" "Last-Translator: Bothof \n" "Language-Team: Dutch\n" "Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -56,7 +57,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n." +msgstr "" +"G-code-opdrachten die aan het begin worden uitgevoerd, gescheiden door \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -68,7 +71,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n." +msgstr "" +"G-code-opdrachten die aan het eind worden uitgevoerd, gescheiden door \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -543,7 +548,7 @@ msgstr "Maximale Acceleratie X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "De maximale acceleratie van de motor in de X-richting." +msgstr "De maximale acceleratie van de motor in de X-richting" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -693,7 +698,7 @@ msgstr "Minimale Doorvoersnelheid" #: fdmprinter.def.json msgctxt "machine_minimum_feedrate description" msgid "The minimal movement speed of the print head." -msgstr "De minimale bewegingssnelheid van de printkop" +msgstr "De minimale bewegingssnelheid van de printkop." #: fdmprinter.def.json msgctxt "machine_feeder_wheel_diameter label" @@ -743,7 +748,7 @@ msgstr "Lijnbreedte" #: fdmprinter.def.json msgctxt "line_width description" msgid "Width of a single line. Generally, the width of each line should correspond to the width of the nozzle. However, slightly reducing this value could produce better prints." -msgstr "De breedte van een enkele lijn. Over het algemeen dient de breedte van elke lijn overeen te komen met de breedte van de nozzle. Wanneer deze waarde echter iets wordt verlaagd, resulteert dit in betere prints" +msgstr "De breedte van een enkele lijn. Over het algemeen dient de breedte van elke lijn overeen te komen met de breedte van de nozzle. Wanneer deze waarde echter iets wordt verlaagd, resulteert dit in betere prints." #: fdmprinter.def.json msgctxt "wall_line_width label" @@ -1630,7 +1635,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Voeg extra wanden toe rondom de vulling. Deze wanden kunnen ervoor zorgen dat de skin aan de boven-/onderkant minder doorzakt. Dit betekent dat u met alleen wat extra materiaal voor dezelfde kwaliteit minder skinlagen aan de boven-/onderkant nodig hebt.\nDeze optie kan in combinatie met de optie 'Polygonen voor de vulling verbinden' worden gebruikt om alle vulling in één doorvoerpad te verbinden zonder extra bewegingen of intrekkingen, mits correct ingesteld." +msgstr "" +"Voeg extra wanden toe rondom de vulling. Deze wanden kunnen ervoor zorgen dat de skin aan de boven-/onderkant minder doorzakt. Dit betekent dat u met alleen wat extra materiaal voor dezelfde kwaliteit minder skinlagen aan de boven-/onderkant nodig hebt.\n" +"Deze optie kan in combinatie met de optie 'Polygonen voor de vulling verbinden' worden gebruikt om alle vulling in één doorvoerpad te verbinden zonder extra bewegingen of intrekkingen, mits correct ingesteld." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1860,7 +1867,7 @@ msgstr "Standaard printtemperatuur" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "De standaardtemperatuur waarmee wordt geprint. Dit moet overeenkomen met de basistemperatuur van een materiaal. Voor alle andere printtemperaturen moet een offset worden gebruikt die gebaseerd is op deze waarde." +msgstr "De standaardtemperatuur waarmee wordt geprint. Dit moet overeenkomen met de basistemperatuur van een materiaal. Voor alle andere printtemperaturen moet een offset worden gebruikt die gebaseerd is op deze waarde" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1920,7 +1927,7 @@ msgstr "Standaardtemperatuur platform" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "De standaardtemperatuur die wordt gebruikt voor het verwarmde platform. Dit moet overeenkomen met de basistemperatuur van een platform. Voor alle andere printtemperaturen moet een offset worden gebruikt die is gebaseerd op deze waarde." +msgstr "De standaardtemperatuur die wordt gebruikt voor het verwarmde platform. Dit moet overeenkomen met de basistemperatuur van een platform. Voor alle andere printtemperaturen moet een offset worden gebruikt die is gebaseerd op deze waarde" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -2010,7 +2017,7 @@ msgstr "Intrekken bij laagwisseling" #: fdmprinter.def.json msgctxt "retract_at_layer_change description" msgid "Retract the filament when the nozzle is moving to the next layer." -msgstr "Trek het filament in wanneer de nozzle naar de volgende laag beweegt. " +msgstr "Trek het filament in wanneer de nozzle naar de volgende laag beweegt." #: fdmprinter.def.json msgctxt "retraction_amount label" @@ -2380,7 +2387,7 @@ msgstr "Maximale Snelheid voor het Afstemmen van Doorvoer" #: fdmprinter.def.json msgctxt "speed_equalize_flow_max description" msgid "Maximum print speed when adjusting the print speed in order to equalize flow." -msgstr "Maximale printsnelheid tijdens het aanpassen van de printsnelheid om de doorvoer af te stemmen" +msgstr "Maximale printsnelheid tijdens het aanpassen van de printsnelheid om de doorvoer af te stemmen." #: fdmprinter.def.json msgctxt "acceleration_enabled label" @@ -3275,7 +3282,7 @@ msgstr "Genereer een brim binnen de supportvulgebieden van de eerste laag. Deze #: fdmprinter.def.json msgctxt "support_brim_width label" msgid "Support Brim Width" -msgstr "Lijnbreedte supportbrim" +msgstr "Breedte supportbrim" #: fdmprinter.def.json msgctxt "support_brim_width description" @@ -3827,7 +3834,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "De horizontale afstand tussen de skirt en de eerste laag van de print.\nDit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." +msgstr "" +"De horizontale afstand tussen de skirt en de eerste laag van de print.\n" +"Dit is de minimumafstand. Als u meerdere skirtlijnen print, worden deze vanaf deze afstand naar buiten geprint." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5274,7 +5283,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\nHierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." +msgstr "" +"De afstand van een opwaartse beweging waarbij de doorvoersnelheid wordt gehalveerd.\n" +"Hierdoor ontstaat een betere hechting aan voorgaande lagen, zonder dat het materiaal in die lagen te zeer wordt verwarmd. Alleen van toepassing op Draadprinten." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index 863354188a..c5fe8b331f 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-10-01 13:25+0100\n" +"PO-Revision-Date: 2018-11-06 15:29+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 @@ -64,7 +64,11 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "

    Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

    \n

    {model_names}

    \n

    Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

    \n

    Ознакомиться с руководством по качеству печати

    " +msgstr "" +"

    Одна или несколько 3D-моделей могут не напечататься оптимальным образом из-за размера модели и конфигурации материала:

    \n" +"

    {model_names}

    \n" +"

    Узнайте, как обеспечить максимально возможное качество и высокую надежность печати.

    \n" +"

    Ознакомиться с руководством по качеству печати

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -437,7 +441,7 @@ msgstr "Модуль PrintCore и/или материал в вашем прин #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Подключен по сети." +msgstr "Подключен по сети" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" @@ -1069,7 +1073,12 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "

    В ПО Ultimaker Cura обнаружена ошибка.

    \n

    Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

    \n

    Резервные копии хранятся в папке конфигурации.

    \n

    Отправьте нам этот отчет о сбое для устранения проблемы.

    \n " +msgstr "" +"

    В ПО Ultimaker Cura обнаружена ошибка.

    \n" +"

    Во время запуска обнаружена неустранимая ошибка. Возможно, она вызвана некоторыми файлами конфигурации с неправильными данными. Рекомендуется создать резервную копию конфигурации и сбросить ее.

    \n" +"

    Резервные копии хранятся в папке конфигурации.

    \n" +"

    Отправьте нам этот отчет о сбое для устранения проблемы.

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1102,7 +1111,10 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "

    В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

    \n

    Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

    \n " +msgstr "" +"

    В Cura возникла критическая ошибка. Отправьте нам этот отчет о сбое для устранения проблемы

    \n" +"

    Нажмите кнопку «Отправить отчет», чтобы автоматически опубликовать отчет об ошибке на наших серверах

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1479,7 +1491,7 @@ msgstr "Обновить" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:31 msgctxt "@action:button" msgid "Updating" -msgstr "Обновление..." +msgstr "Обновление" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxDetailTileActions.qml:46 #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxInstalledTileActions.qml:32 @@ -1578,7 +1590,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Этот плагин содержит лицензию.\nЧтобы установить этот плагин, необходимо принять условия лицензии.\nПринять приведенные ниже условия?" +msgstr "" +"Этот плагин содержит лицензию.\n" +"Чтобы установить этот плагин, необходимо принять условия лицензии.\n" +"Принять приведенные ниже условия?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1738,7 +1753,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n\nУкажите ваш принтер в списке ниже:" +msgstr "" +"Для печати на вашем принтере через сеть, пожалуйста, удостоверьтесь, что ваш принтер подключен к сети с помощью кабеля или через WiFi. Если вы не подключили Cura к вашему принтеру, вы по-прежнему можете использовать USB флешку для переноса G-Code файлов на ваш принтер.\n" +"\n" +"Укажите ваш принтер в списке ниже:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -1982,7 +2000,7 @@ msgstr "Управление принтерами" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:115 msgctxt "@label" msgid "Move to top" -msgstr "переместить в начало" +msgstr "Переместить в начало" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml:124 msgctxt "@label" @@ -2648,7 +2666,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Вы изменили некоторые параметры профиля.\nЖелаете сохранить их или вернуть к прежним значениям?" +msgstr "" +"Вы изменили некоторые параметры профиля.\n" +"Желаете сохранить их или вернуть к прежним значениям?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3350,7 +3370,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura разработана компанией Ultimaker B.V. совместно с сообществом.\nCura использует следующие проекты с открытым исходным кодом:" +msgstr "" +"Cura разработана компанией Ultimaker B.V. совместно с сообществом.\n" +"Cura использует следующие проекты с открытым исходным кодом:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3483,7 +3505,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Значения некоторых параметров отличаются от значений профиля.\n\nНажмите для открытия менеджера профилей." +msgstr "" +"Значения некоторых параметров отличаются от значений профиля.\n" +"\n" +"Нажмите для открытия менеджера профилей." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3537,7 +3562,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n\nЩёлкните, чтобы сделать эти параметры видимыми." +msgstr "" +"Некоторые из скрытых параметров используют значения, отличающиеся от их вычисленных значений.\n" +"\n" +"Щёлкните, чтобы сделать эти параметры видимыми." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3565,7 +3593,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Значение этого параметра отличается от значения в профиле.\n\nЩёлкните для восстановления значения из профиля." +msgstr "" +"Значение этого параметра отличается от значения в профиле.\n" +"\n" +"Щёлкните для восстановления значения из профиля." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3573,7 +3604,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n\nЩёлкните для восстановления вычисленного значения." +msgstr "" +"Обычно это значение вычисляется, но в настоящий момент было установлено явно.\n" +"\n" +"Щёлкните для восстановления вычисленного значения." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3800,7 +3834,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Настройка принтера отключена\nG-code файлы нельзя изменять" +msgstr "" +"Настройка принтера отключена\n" +"G-code файлы нельзя изменять" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4608,7 +4644,7 @@ msgstr "Печать через USB" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "Запрашивает согласие пользователя с условиями лицензии" +msgstr "Запрашивает согласие пользователя с условиями лицензии." #: UserAgreement/plugin.json msgctxt "name" @@ -4668,7 +4704,7 @@ msgstr "Плагин для работы с внешним носителем" #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "Управляет сетевыми соединениями с принтерами Ultimaker 3" +msgstr "Управляет сетевыми соединениями с принтерами Ultimaker 3." #: UM3NetworkPrinting/plugin.json msgctxt "name" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 0697420b6a..58dde033be 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-10-01 14:15+0100\n" +"PO-Revision-Date: 2018-11-06 15:29+0100\n" "Last-Translator: Bothof \n" "Language-Team: Ruslan Popov , Russian \n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.6\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: fdmprinter.def.json @@ -58,7 +58,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n." +msgstr "" +"Команды в G-коде, которые будут выполнены в самом начале, разделенные с помощью \n" +"." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,7 +72,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n." +msgstr "" +"Команды в G-коде, которые будут выполнены в самом конце, разделенные с помощью \n" +"." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1632,7 +1636,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Добавление дополнительных стенок вокруг области заполнения. Эти стенки могут уменьшить провисание верхних/нижних линий оболочки, что уменьшает необходимое количество верхних/нижних слоев оболочки без ухудшения качества за счет небольшого увеличения количества материала.\nЭта функция может сочетаться с соединением полигонов заполнения для соединения всего участка заполнения в один путь экструзии без необходимости в движениях или откатах в случае правильной настройки." +msgstr "" +"Добавление дополнительных стенок вокруг области заполнения. Эти стенки могут уменьшить провисание верхних/нижних линий оболочки, что уменьшает необходимое количество верхних/нижних слоев оболочки без ухудшения качества за счет небольшого увеличения количества материала.\n" +"Эта функция может сочетаться с соединением полигонов заполнения для соединения всего участка заполнения в один путь экструзии без необходимости в движениях или откатах в случае правильной настройки." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1862,7 +1868,7 @@ msgstr "Температура сопла" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "Стандартная температура сопла, используемая при печати. Значением должна быть \"базовая\" температура для материала. Все другие температуры печати должны быть выражены смещениями от основного значения." +msgstr "Стандартная температура сопла, используемая при печати. Значением должна быть \"базовая\" температура для материала. Все другие температуры печати должны быть выражены смещениями от основного значения" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -3829,7 +3835,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "Горизонтальное расстояние между юбкой и первым слоем печати.\nМинимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." +msgstr "" +"Горизонтальное расстояние между юбкой и первым слоем печати.\n" +"Минимальное расстояние. Несколько линий юбки будут расширяться от этого расстояния." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5276,7 +5284,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\nЭто может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." +msgstr "" +"Расстояние движения вверх, при котором выдавливание идёт на половине скорости.\n" +"Это может улучшить прилипание к предыдущим слоям, не перегревая материал тех слоёв. Применяется только при каркасной печати." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index 4b52e474b7..f801db7f78 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -8,13 +8,15 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-10-01 13:40+0100\n" +"PO-Revision-Date: 2018-11-06 15:33+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -62,7 +64,11 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "

    Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

    \n

    {model_names}

    \n

    En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

    \n

    Yazdırma kalitesi kılavuzunu görüntüleyin

    " +msgstr "" +"

    Model boyutu ve model yapılandırması nedeniyle bir veya daha fazla 3D model optimum yazdırılamayabilir:

    \n" +"

    {model_names}

    \n" +"

    En iyi kalite ve güvenilirliği nasıl elde edeceğinizi öğrenin.

    \n" +"

    Yazdırma kalitesi kılavuzunu görüntüleyin

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -167,7 +173,7 @@ msgstr "Yazılacak dosya biçimleri mevcut değil!" #, python-brace-format msgctxt "@info:progress Don't translate the XML tags !" msgid "Saving to Removable Drive {0}" -msgstr "Çıkarılabilir Sürücü {0} Üzerine Kaydediliyor " +msgstr "Çıkarılabilir Sürücü {0} Üzerine Kaydediliyor" #: /home/ruben/Projects/Cura/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py:94 msgctxt "@info:title" @@ -435,7 +441,7 @@ msgstr "Yazıcınızda bulunan PrintCore’lar ve/veya malzemeler geçerli proje #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" -msgstr "Ağ üzerinden bağlandı." +msgstr "Ağ üzerinden bağlandı" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" @@ -509,7 +515,7 @@ msgstr "Katman görünümü" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:113 msgctxt "@info:status" msgid "Cura does not accurately display layers when Wire Printing is enabled" -msgstr "Tel Yazma etkinleştirildiğinde, Cura katmanları doğru olarak görüntülemez." +msgstr "Tel Yazma etkinleştirildiğinde, Cura katmanları doğru olarak görüntülemez" #: /home/ruben/Projects/Cura/plugins/SimulationView/SimulationView.py:114 msgctxt "@info:title" @@ -548,7 +554,7 @@ msgstr "Daha fazla bilgi" #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:58 msgctxt "@action:tooltip" msgid "See more information on what data Cura sends." -msgstr "Cura’nın gönderdiği veriler hakkında daha fazla bilgi alın" +msgstr "Cura’nın gönderdiği veriler hakkında daha fazla bilgi alın." #: /home/ruben/Projects/Cura/plugins/SliceInfoPlugin/SliceInfo.py:60 msgctxt "@action:button" @@ -647,7 +653,7 @@ msgstr "Bilgi" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:14 msgctxt "@label" msgid "Per Model Settings" -msgstr "Model Başına Ayarlar " +msgstr "Model Başına Ayarlar" #: /home/ruben/Projects/Cura/plugins/PerObjectSettingsTool/__init__.py:15 msgctxt "@info:tooltip" @@ -1067,7 +1073,12 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "

    Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

    \n

    Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

    \n

    Yedekler yapılandırma klasöründe bulunabilir.

    \n

    Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

    \n " +msgstr "" +"

    Ultimaker Cura doğru görünmeyen bir şeyle karşılaştı.

    \n" +"

    Başlatma esnasında kurtarılamaz bir hata ile karşılaştık. Muhtemelen bazı hatalı yapılandırma dosyalarından kaynaklanıyordu. Yapılandırmanızı yedekleyip sıfırlamanızı öneriyoruz.

    \n" +"

    Yedekler yapılandırma klasöründe bulunabilir.

    \n" +"

    Sorunu düzeltmek için lütfen bu Çökme Raporunu bize gönderin.

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1100,7 +1111,10 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "

    Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

    \n

    Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

    \n " +msgstr "" +"

    Cura’da onarılamaz bir hata oluştu. Lütfen sorunu çözmek için bize Çökme Raporunu gönderin

    \n" +"

    Sunucularımıza otomatik olarak bir hata raporu yüklemek için lütfen \"Rapor gönder\" düğmesini kullanın

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1576,7 +1590,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "Bu eklenti bir lisans içerir.\nBu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\nAşağıdaki koşulları kabul ediyor musunuz?" +msgstr "" +"Bu eklenti bir lisans içerir.\n" +"Bu eklentiyi yüklemek için bu lisansı kabul etmeniz gerekir.\n" +"Aşağıdaki koşulları kabul ediyor musunuz?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1736,7 +1753,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n\nAşağıdaki listeden yazıcınızı seçin:" +msgstr "" +"Yazıcınıza ağ üzerinden doğrudan bağlamak için, lütfen yazıcınızın ağ kablosu kullanan bir ağa bağlı olduğundan emin olun veya yazıcınızı WiFi ağına bağlayın. Cura'ya yazıcınız ile bağlanamıyorsanız g-code dosyalarını yazıcınıza aktarmak için USB sürücüsü kullanabilirsiniz.\n" +"\n" +"Aşağıdaki listeden yazıcınızı seçin:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2239,7 +2259,7 @@ msgstr "Daha koyu olan daha yüksek" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:149 msgctxt "@info:tooltip" msgid "The amount of smoothing to apply to the image." -msgstr "Resme uygulanacak düzeltme miktarı" +msgstr "Resme uygulanacak düzeltme miktarı." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:154 msgctxt "@action:label" @@ -2622,7 +2642,7 @@ msgstr "Hazırlanıyor..." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:154 msgctxt "@label:MonitorStatus" msgid "Please remove the print" -msgstr "Lütfen yazıcıyı çıkarın " +msgstr "Lütfen yazıcıyı çıkarın" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:325 msgctxt "@label" @@ -2644,7 +2664,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "Bazı profil ayarlarını özelleştirdiniz.\nBu ayarları kaydetmek veya iptal etmek ister misiniz?" +msgstr "" +"Bazı profil ayarlarını özelleştirdiniz.\n" +"Bu ayarları kaydetmek veya iptal etmek ister misiniz?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -2959,7 +2981,7 @@ msgstr "Dışarıda kalan alanı göster" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" -msgstr "Bir model seçildiğinde bu model görüntünün ortasında kalacak şekilde kamera hareket eder." +msgstr "Bir model seçildiğinde bu model görüntünün ortasında kalacak şekilde kamera hareket eder" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" @@ -3346,7 +3368,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\nCura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" +msgstr "" +"Cura, topluluk iş birliği ile Ultimaker B.V. tarafından geliştirilmiştir.\n" +"Cura aşağıdaki açık kaynak projelerini gururla kullanmaktadır:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3479,7 +3503,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n\nProfil yöneticisini açmak için tıklayın." +msgstr "" +"Bazı ayar/geçersiz kılma değerleri profilinizde saklanan değerlerden farklıdır.\n" +"\n" +"Profil yöneticisini açmak için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3533,7 +3560,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n\nBu ayarları görmek için tıklayın." +msgstr "" +"Gizlenen bazı ayarlar normal hesaplanan değerden farklı değerler kullanır.\n" +"\n" +"Bu ayarları görmek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3561,7 +3591,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "Bu ayarın değeri profilden farklıdır.\n\nProfil değerini yenilemek için tıklayın." +msgstr "" +"Bu ayarın değeri profilden farklıdır.\n" +"\n" +"Profil değerini yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3569,7 +3602,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n\nHesaplanan değeri yenilemek için tıklayın." +msgstr "" +"Bu ayar normal olarak yapılır ama şu anda mutlak değer ayarı var.\n" +"\n" +"Hesaplanan değeri yenilemek için tıklayın." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3794,7 +3830,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "Yazdırma Ayarı devre dışı\nG-code dosyaları üzerinde değişiklik yapılamaz" +msgstr "" +"Yazdırma Ayarı devre dışı\n" +"G-code dosyaları üzerinde değişiklik yapılamaz" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4598,7 +4636,7 @@ msgstr "USB yazdırma" #: UserAgreement/plugin.json msgctxt "description" msgid "Ask the user once if he/she agrees with our license." -msgstr "Kullanıcıya bir kez lisansımızı kabul edip etmediğini sorun" +msgstr "Kullanıcıya bir kez lisansımızı kabul edip etmediğini sorun." #: UserAgreement/plugin.json msgctxt "name" @@ -4658,7 +4696,7 @@ msgstr "Çıkarılabilir Sürücü Çıkış Cihazı Eklentisi" #: UM3NetworkPrinting/plugin.json msgctxt "description" msgid "Manages network connections to Ultimaker 3 printers." -msgstr "Ultimaker 3 yazıcıları için ağ bağlantılarını yönetir" +msgstr "Ultimaker 3 yazıcıları için ağ bağlantılarını yönetir." #: UM3NetworkPrinting/plugin.json msgctxt "name" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index 2060ab23d4..955eab686a 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -8,13 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-10-01 14:20+0100\n" +"PO-Revision-Date: 2018-11-06 15:36+0100\n" "Last-Translator: Bothof \n" "Language-Team: Turkish\n" "Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -56,7 +57,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr " \n ile ayrılan, başlangıçta yürütülecek G-code komutları." +msgstr "" +" \n" +" ile ayrılan, başlangıçta yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -68,7 +71,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr " \n ile ayrılan, bitişte yürütülecek G-code komutları." +msgstr "" +" \n" +" ile ayrılan, bitişte yürütülecek G-code komutları." #: fdmprinter.def.json msgctxt "material_guid label" @@ -1630,7 +1635,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "Dolgu alanının etrafına ekstra duvar ekle. Bu duvarlar üst/alt yüzey hatlarının daha az aşağı düşmesini sağlar. Yani biraz fazla materyal kullanarak, daha az üst/alt yüzey katmanı ile aynı kaliteyi yakalayabilirsiniz.\nBu özellik, doğru konfigüre edildiğinde, harekete veya geri çekmeye gerek kalmadan Dolgu Poligonlarını Bağlama ile birlikte tüm dolguyu tek bir ekstrüzyon yoluna bağlayabilir." +msgstr "" +"Dolgu alanının etrafına ekstra duvar ekle. Bu duvarlar üst/alt yüzey hatlarının daha az aşağı düşmesini sağlar. Yani biraz fazla materyal kullanarak, daha az üst/alt yüzey katmanı ile aynı kaliteyi yakalayabilirsiniz.\n" +"Bu özellik, doğru konfigüre edildiğinde, harekete veya geri çekmeye gerek kalmadan Dolgu Poligonlarını Bağlama ile birlikte tüm dolguyu tek bir ekstrüzyon yoluna bağlayabilir." #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -1860,7 +1867,7 @@ msgstr "Varsayılan Yazdırma Sıcaklığı" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "Yazdırma için kullanılan varsayılan sıcaklık. Bu sıcaklık malzemenin “temel” sıcaklığı olmalıdır. Diğer tüm yazıcı sıcaklıkları bu değere dayanan ofsetler kullanmalıdır." +msgstr "Yazdırma için kullanılan varsayılan sıcaklık. Bu sıcaklık malzemenin “temel” sıcaklığı olmalıdır. Diğer tüm yazıcı sıcaklıkları bu değere dayanan ofsetler kullanmalıdır" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1890,7 +1897,7 @@ msgstr "İlk Yazdırma Sıcaklığı" #: fdmprinter.def.json msgctxt "material_initial_print_temperature description" msgid "The minimal temperature while heating up to the Printing Temperature at which printing can already start." -msgstr "Yazdırmanın başlayacağı Yazdırma Sıcaklığına ulaşırken görülen minimum sıcaklık" +msgstr "Yazdırmanın başlayacağı Yazdırma Sıcaklığına ulaşırken görülen minimum sıcaklık." #: fdmprinter.def.json msgctxt "material_final_print_temperature label" @@ -1920,7 +1927,7 @@ msgstr "Varsayılan Yapı Levhası Sıcaklığı" #: fdmprinter.def.json msgctxt "default_material_bed_temperature description" msgid "The default temperature used for the heated build plate. This should be the \"base\" temperature of a build plate. All other print temperatures should use offsets based on this value" -msgstr "Isınan yapı levhası için kullanılan varsayılan sıcaklık. Bu sıcaklık yapı levhasının “temel” sıcaklığı olmalıdır. Diğer tüm yazıcı sıcaklıkları bu değere dayanan ofsetler kullanmalıdır." +msgstr "Isınan yapı levhası için kullanılan varsayılan sıcaklık. Bu sıcaklık yapı levhasının “temel” sıcaklığı olmalıdır. Diğer tüm yazıcı sıcaklıkları bu değere dayanan ofsetler kullanmalıdır" #: fdmprinter.def.json msgctxt "material_bed_temperature label" @@ -2010,7 +2017,7 @@ msgstr "Katman Değişimindeki Geri Çekme" #: fdmprinter.def.json msgctxt "retract_at_layer_change description" msgid "Retract the filament when the nozzle is moving to the next layer." -msgstr "Nozül bir sonraki katmana doğru hareket ettiğinde filamanı geri çekin. " +msgstr "Nozül bir sonraki katmana doğru hareket ettiğinde filamanı geri çekin." #: fdmprinter.def.json msgctxt "retraction_amount label" @@ -3470,7 +3477,7 @@ msgstr "Destek Arayüzü Kalınlığı" #: fdmprinter.def.json msgctxt "support_interface_height description" msgid "The thickness of the interface of the support where it touches with the model on the bottom or the top." -msgstr "Alt veya üst kısımdaki modele değdiği yerde destek arayüzü kalınlığı" +msgstr "Alt veya üst kısımdaki modele değdiği yerde destek arayüzü kalınlığı." #: fdmprinter.def.json msgctxt "support_roof_height label" @@ -3827,7 +3834,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\nMinimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." +msgstr "" +"Baskının eteği ve ilk katmanı arasındaki yatay mesafe.\n" +"Minimum mesafedir. Bu mesafeden çok sayıda etek hattı dışarı doğru uzanır." #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -4147,7 +4156,7 @@ msgstr "Radye Fan Hızı" #: fdmprinter.def.json msgctxt "raft_fan_speed description" msgid "The fan speed for the raft." -msgstr "Radye için fan hızı" +msgstr "Radye için fan hızı." #: fdmprinter.def.json msgctxt "raft_surface_fan_speed label" @@ -4157,7 +4166,7 @@ msgstr "Radye Üst Fan Hızı" #: fdmprinter.def.json msgctxt "raft_surface_fan_speed description" msgid "The fan speed for the top raft layers." -msgstr "Üst radye katmanları için fan hızı" +msgstr "Üst radye katmanları için fan hızı." #: fdmprinter.def.json msgctxt "raft_interface_fan_speed label" @@ -4167,7 +4176,7 @@ msgstr "Radyenin Orta Fan Hızı" #: fdmprinter.def.json msgctxt "raft_interface_fan_speed description" msgid "The fan speed for the middle raft layer." -msgstr "Radyenin orta katmanı için fan hızı" +msgstr "Radyenin orta katmanı için fan hızı." #: fdmprinter.def.json msgctxt "raft_base_fan_speed label" @@ -4177,7 +4186,7 @@ msgstr "Radyenin Taban Fan Hızı" #: fdmprinter.def.json msgctxt "raft_base_fan_speed description" msgid "The fan speed for the base raft layer." -msgstr "Radyenin taban katmanı için fan hızı" +msgstr "Radyenin taban katmanı için fan hızı." #: fdmprinter.def.json msgctxt "dual label" @@ -4217,7 +4226,7 @@ msgstr "İlk Direk Boyutu" #: fdmprinter.def.json msgctxt "prime_tower_size description" msgid "The width of the prime tower." -msgstr "İlk Direk Genişliği" +msgstr "İlk Direk Genişliği." #: fdmprinter.def.json msgctxt "prime_tower_min_volume label" @@ -5274,7 +5283,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\nBu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." +msgstr "" +"Yarı hızda sıkıştırılmış yukarı doğru hareket mesafesi.\n" +"Bu katmanlarda malzemeyi çok fazla ısıtmayarak önceki katmanlarda daha iyi yapışma sağlayabilir. Sadece kablo yazdırmaya uygulanır." #: fdmprinter.def.json msgctxt "wireframe_top_jump label" @@ -5689,7 +5700,7 @@ msgstr "Bileşim Rotasyon Matrisi" #: fdmprinter.def.json msgctxt "mesh_rotation_matrix description" msgid "Transformation matrix to be applied to the model when loading it from file." -msgstr "Modeli dosyadan indirirken modele uygulanacak olan dönüşüm matrisi" +msgstr "Modeli dosyadan indirirken modele uygulanacak olan dönüşüm matrisi." #~ msgctxt "connect_skin_polygons description" #~ msgid "Connect top/bottom skin paths where they run next to each other. For the concentric pattern enabling this setting greatly reduces the travel time, but because the connections can happend midway over infill this feature can reduce the top surface quality." diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 033aa0f8ef..cecca58cdd 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-10-01 13:45+0100\n" +"PO-Revision-Date: 2018-11-06 15:38+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 1.8.13\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -64,7 +64,11 @@ msgid "" "

    {model_names}

    \n" "

    Find out how to ensure the best possible print quality and reliability.

    \n" "

    View print quality guide

    " -msgstr "

    由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

    \n

    {model_names}

    \n

    找出如何确保最好的打印质量和可靠性.

    \n

    查看打印质量指南

    " +msgstr "" +"

    由于模型的大小和材质的配置,一个或多个3D模型可能无法最优地打印:

    \n" +"

    {model_names}

    \n" +"

    找出如何确保最好的打印质量和可靠性.

    \n" +"

    查看打印质量指南

    " #: /home/ruben/Projects/Cura/plugins/ChangeLogPlugin/ChangeLog.py:32 msgctxt "@item:inmenu" @@ -286,7 +290,7 @@ msgstr "已通过网络连接,但没有打印机的控制权限。" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:97 msgctxt "@info:status" msgid "Access to the printer requested. Please approve the request on the printer" -msgstr "已发送打印机访问请求,请在打印机上批准该请求。" +msgstr "已发送打印机访问请求,请在打印机上批准该请求" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:100 msgctxt "@info:title" @@ -437,7 +441,7 @@ msgstr "打印机上的打印头和/或材料与当前项目中的不同。 为 #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:91 msgctxt "@info:status" msgid "Connected over the network" -msgstr "已通过网络连接。" +msgstr "已通过网络连接" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/ClusterUM3OutputDevice.py:303 msgctxt "@info:status" @@ -1069,7 +1073,12 @@ msgid "" "

    Backups can be found in the configuration folder.

    \n" "

    Please send us this Crash Report to fix the problem.

    \n" " " -msgstr "

    糟糕,Ultimaker Cura 似乎遇到了问题。

    \n

    在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

    \n

    您可在配置文件夹中找到备份。

    \n

    请向我们发送此错误报告,以便解决问题。

    \n " +msgstr "" +"

    糟糕,Ultimaker Cura 似乎遇到了问题。

    \n" +"

    在启动时发生了不可修复的错误。这可能是因某些配置文件出错导致的。建议您备份并重置配置。

    \n" +"

    您可在配置文件夹中找到备份。

    \n" +"

    请向我们发送此错误报告,以便解决问题。

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:102 msgctxt "@action:button" @@ -1102,7 +1111,10 @@ msgid "" "

    A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem

    \n" "

    Please use the \"Send report\" button to post a bug report automatically to our servers

    \n" " " -msgstr "

    Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

    \n

    请使用“发送报告”按钮将错误报告自动发布到我们的服务器

    \n " +msgstr "" +"

    Cura 发生了严重错误。请将这份错误报告发送给我们以便修复问题

    \n" +"

    请使用“发送报告”按钮将错误报告自动发布到我们的服务器

    \n" +" " #: /home/ruben/Projects/Cura/cura/CrashHandler.py:177 msgctxt "@title:groupbox" @@ -1578,7 +1590,10 @@ msgid "" "This plugin contains a license.\n" "You need to accept this license to install this plugin.\n" "Do you agree with the terms below?" -msgstr "该插件包含一个许可。\n您需要接受此许可才能安装此插件。\n是否同意下列条款?" +msgstr "" +"该插件包含一个许可。\n" +"您需要接受此许可才能安装此插件。\n" +"是否同意下列条款?" #: /home/ruben/Projects/Cura/plugins/Toolbox/resources/qml/ToolboxLicenseDialog.qml:54 msgctxt "@action:button" @@ -1738,7 +1753,10 @@ msgid "" "To print directly to your printer over the network, please make sure your printer is connected to the network using a network cable or by connecting your printer to your WIFI network. If you don't connect Cura with your printer, you can still use a USB drive to transfer g-code files to your printer.\n" "\n" "Select your printer from the list below:" -msgstr "要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n\n从以下列表中选择您的打印机:" +msgstr "" +"要通过网络向打印机发送打印请求,请确保您的打印机已通过网线或 WIFI 连接到网络。若您不能连接 Cura 与打印机,您仍然可以使用 USB 设备将 G-code 文件传输到打印机。\n" +"\n" +"从以下列表中选择您的打印机:" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml:85 #: /home/ruben/Projects/Cura/resources/qml/Preferences/MachinesPage.qml:42 @@ -2186,7 +2204,7 @@ msgstr "转换图像..." #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:33 msgctxt "@info:tooltip" msgid "The maximum distance of each pixel from \"Base.\"" -msgstr "每个像素与底板的最大距离。" +msgstr "每个像素与底板的最大距离" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:38 msgctxt "@action:label" @@ -2216,7 +2234,7 @@ msgstr "宽度 (mm)" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:103 msgctxt "@info:tooltip" msgid "The depth in millimeters on the build plate" -msgstr "打印平台深度,以毫米为单位。" +msgstr "打印平台深度,以毫米为单位" #: /home/ruben/Projects/Cura/plugins/ImageReader/ConfigUI.qml:108 msgctxt "@action:label" @@ -2505,7 +2523,7 @@ msgstr "开始打印机检查" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:80 msgctxt "@label" msgid "Connection: " -msgstr "连接:" +msgstr "连接: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 msgctxt "@info:status" @@ -2520,7 +2538,7 @@ msgstr "未连接" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 msgctxt "@label" msgid "Min endstop X: " -msgstr "X Min 限位开关:" +msgstr "X Min 限位开关: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 @@ -2541,17 +2559,17 @@ msgstr "未检查" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 msgctxt "@label" msgid "Min endstop Y: " -msgstr "Y Min 限位开关:" +msgstr "Y Min 限位开关: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 msgctxt "@label" msgid "Min endstop Z: " -msgstr "Z Min 限位开关:" +msgstr "Z Min 限位开关: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 msgctxt "@label" msgid "Nozzle temperature check: " -msgstr "检查喷嘴温度:" +msgstr "检查喷嘴温度: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 @@ -2644,7 +2662,9 @@ msgctxt "@text:window" msgid "" "You have customized some profile settings.\n" "Would you like to keep or discard those settings?" -msgstr "您已自定义某些配置文件设置。\n您想保留或舍弃这些设置吗?" +msgstr "" +"您已自定义某些配置文件设置。\n" +"您想保留或舍弃这些设置吗?" #: /home/ruben/Projects/Cura/resources/qml/DiscardOrKeepProfileChangesDialog.qml:110 msgctxt "@title:column" @@ -3089,7 +3109,7 @@ msgstr "打开项目文件时的默认行为" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " -msgstr "打开项目文件时的默认行为:" +msgstr "打开项目文件时的默认行为: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" @@ -3346,7 +3366,9 @@ msgctxt "@info:credit" msgid "" "Cura is developed by Ultimaker B.V. in cooperation with the community.\n" "Cura proudly uses the following open source projects:" -msgstr "Cura 由 Ultimaker B.V. 与社区合作开发。\nCura 使用以下开源项目:" +msgstr "" +"Cura 由 Ultimaker B.V. 与社区合作开发。\n" +"Cura 使用以下开源项目:" #: /home/ruben/Projects/Cura/resources/qml/AboutDialog.qml:132 msgctxt "@label" @@ -3479,7 +3501,10 @@ msgid "" "Some setting/override values are different from the values stored in the profile.\n" "\n" "Click to open the profile manager." -msgstr "某些设置/重写值与存储在配置文件中的值不同。\n\n点击打开配置文件管理器。" +msgstr "" +"某些设置/重写值与存储在配置文件中的值不同。\n" +"\n" +"点击打开配置文件管理器。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingView.qml:200 msgctxt "@label:textbox" @@ -3533,7 +3558,10 @@ msgid "" "Some hidden settings use values different from their normal calculated value.\n" "\n" "Click to make these settings visible." -msgstr "一些隐藏设置正在使用有别于一般设置的计算值。\n\n单击以使这些设置可见。" +msgstr "" +"一些隐藏设置正在使用有别于一般设置的计算值。\n" +"\n" +"单击以使这些设置可见。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3543,7 +3571,7 @@ msgstr "影响" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:66 msgctxt "@label Header for list of settings." msgid "Affected By" -msgstr "受影响项目:" +msgstr "受影响项目" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:155 msgctxt "@label" @@ -3553,7 +3581,7 @@ msgstr "此设置始终在所有挤出机之间共享。在此处更改它将改 #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " -msgstr "该值将会根据每一个挤出机的设置而确定" +msgstr "该值将会根据每一个挤出机的设置而确定 " #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" @@ -3561,7 +3589,10 @@ msgid "" "This setting has a value that is different from the profile.\n" "\n" "Click to restore the value of the profile." -msgstr "此设置的值与配置文件不同。\n\n单击以恢复配置文件的值。" +msgstr "" +"此设置的值与配置文件不同。\n" +"\n" +"单击以恢复配置文件的值。" #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:281 msgctxt "@label" @@ -3569,7 +3600,10 @@ msgid "" "This setting is normally calculated, but it currently has an absolute value set.\n" "\n" "Click to restore the calculated value." -msgstr "此设置通常可被自动计算,但其当前已被绝对定义。\n\n单击以恢复自动计算的值。" +msgstr "" +"此设置通常可被自动计算,但其当前已被绝对定义。\n" +"\n" +"单击以恢复自动计算的值。" #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ManualPrinterControl.qml:129 msgctxt "@label" @@ -3728,7 +3762,7 @@ msgstr "打印平台(&B)" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:13 msgctxt "@action:inmenu" msgid "Visible Settings" -msgstr "可见设置:" +msgstr "可见设置" #: /home/ruben/Projects/Cura/resources/qml/Menus/SettingVisibilityPresetsMenu.qml:42 msgctxt "@action:inmenu" @@ -3792,7 +3826,9 @@ msgctxt "@label:listbox" msgid "" "Print Setup disabled\n" "G-code files cannot be modified" -msgstr "打印设置已禁用\nG-code 文件无法被修改" +msgstr "" +"打印设置已禁用\n" +"G-code 文件无法被修改" #: /home/ruben/Projects/Cura/resources/qml/PrepareSidebar.qml:340 msgctxt "@label Hours and minutes" @@ -4442,7 +4478,7 @@ msgstr "引擎日志" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:70 msgctxt "@label" msgid "Printer type" -msgstr "打印机类型:" +msgstr "打印机类型" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:376 msgctxt "@label" @@ -4682,7 +4718,7 @@ msgstr "固件更新检查程序" #: SimulationView/plugin.json msgctxt "description" msgid "Provides the Simulation view." -msgstr "提供仿真视图" +msgstr "提供仿真视图。" #: SimulationView/plugin.json msgctxt "name" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index 56027d5be1..3a85b1b454 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-10-01 14:20+0100\n" +"PO-Revision-Date: 2018-11-06 15:38+0100\n" "Last-Translator: Bothof \n" "Language-Team: PCDotFan , Bothof \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.13\n" +"X-Generator: Poedit 2.0.6\n" "Plural-Forms: nplurals=1; plural=0;\n" #: fdmprinter.def.json @@ -58,7 +58,9 @@ msgctxt "machine_start_gcode description" msgid "" "G-code commands to be executed at the very start - separated by \n" "." -msgstr "在开始时执行的 G-code 命令 - 以 \n 分行。" +msgstr "" +"在开始时执行的 G-code 命令 - 以 \n" +" 分行。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -70,7 +72,9 @@ msgctxt "machine_end_gcode description" msgid "" "G-code commands to be executed at the very end - separated by \n" "." -msgstr "在结束前执行的 G-code 命令 - 以 \n 分行。" +msgstr "" +"在结束前执行的 G-code 命令 - 以 \n" +" 分行。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -80,7 +84,7 @@ msgstr "材料 GUID" #: fdmprinter.def.json msgctxt "material_guid description" msgid "GUID of the material. This is set automatically. " -msgstr "材料 GUID,此项为自动设置。" +msgstr "材料 GUID,此项为自动设置。 " #: fdmprinter.def.json msgctxt "material_diameter label" @@ -235,7 +239,7 @@ msgstr "挤出机组数目。 挤出机组是指进料装置、鲍登管和喷 #: fdmprinter.def.json msgctxt "extruders_enabled_count label" msgid "Number of Extruders that are enabled" -msgstr "已启用的挤出机数目。" +msgstr "已启用的挤出机数目" #: fdmprinter.def.json msgctxt "extruders_enabled_count description" @@ -550,7 +554,7 @@ msgstr "X 轴方向电机的最大加速度" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" msgid "Maximum Acceleration Y" -msgstr " 轴最大加速度" +msgstr "轴最大加速度" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y description" @@ -850,7 +854,7 @@ msgstr "单一支撑底板走线宽度。" #: fdmprinter.def.json msgctxt "prime_tower_line_width label" msgid "Prime Tower Line Width" -msgstr "装填塔走线宽度。" +msgstr "装填塔走线宽度" #: fdmprinter.def.json msgctxt "prime_tower_line_width description" @@ -1632,7 +1636,9 @@ msgctxt "infill_wall_line_count description" msgid "" "Add extra walls around the infill area. Such walls can make top/bottom skin lines sag down less which means you need less top/bottom skin layers for the same quality at the cost of some extra material.\n" "This feature can combine with the Connect Infill Polygons to connect all the infill into a single extrusion path without the need for travels or retractions if configured right." -msgstr "在填充区域周围添加额外壁。此类壁可减少顶部/底部皮肤走线,这意味着只要付出一些额外的材料就可以使用更少的顶部/底部皮肤层达到相同的质量。\n在适当配置的情况下,此功能可结合连接填充多边形以将所有填充物连接到单一挤出路径而无需空驶或回抽。" +msgstr "" +"在填充区域周围添加额外壁。此类壁可减少顶部/底部皮肤走线,这意味着只要付出一些额外的材料就可以使用更少的顶部/底部皮肤层达到相同的质量。\n" +"在适当配置的情况下,此功能可结合连接填充多边形以将所有填充物连接到单一挤出路径而无需空驶或回抽。" #: fdmprinter.def.json msgctxt "sub_div_rad_add label" @@ -3829,7 +3835,9 @@ msgctxt "skirt_gap description" msgid "" "The horizontal distance between the skirt and the first layer of the print.\n" "This is the minimum distance. Multiple skirt lines will extend outwards from this distance." -msgstr "skirt 和打印第一层之间的水平距离。\n这是最小距离。多个 skirt 走线将从此距离向外延伸。" +msgstr "" +"skirt 和打印第一层之间的水平距离。\n" +"这是最小距离。多个 skirt 走线将从此距离向外延伸。" #: fdmprinter.def.json msgctxt "skirt_brim_minimal_length label" @@ -5276,7 +5284,9 @@ msgctxt "wireframe_up_half_speed description" msgid "" "Distance of an upward move which is extruded with half speed.\n" "This can cause better adhesion to previous layers, while not heating the material in those layers too much. Only applies to Wire Printing." -msgstr "以半速挤出的上行移动的距离。\n这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" +msgstr "" +"以半速挤出的上行移动的距离。\n" +"这会与之前的层产生更好的附着,而不会将这些层中的材料过度加热。 仅应用于单线打印。" #: fdmprinter.def.json msgctxt "wireframe_top_jump label" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index c1aa8d65a7..c27349ffe3 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0100\n" -"PO-Revision-Date: 2018-11-03 20:32+0800\n" +"PO-Revision-Date: 2018-11-06 15:39+0100\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -1916,7 +1916,7 @@ msgstr "等待:第一可用" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:217 msgctxt "@label" msgid "Waiting for: " -msgstr "等待:" +msgstr "等待: " #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml:299 msgctxt "@label" @@ -2524,7 +2524,7 @@ msgstr "開始印表機檢查" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:80 msgctxt "@label" msgid "Connection: " -msgstr "連線:" +msgstr "連線: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:89 msgctxt "@info:status" @@ -2539,7 +2539,7 @@ msgstr "未連線" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:99 msgctxt "@label" msgid "Min endstop X: " -msgstr "X Min 限位開關:" +msgstr "X Min 限位開關: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:109 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:130 @@ -2560,17 +2560,17 @@ msgstr "未檢查" #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:120 msgctxt "@label" msgid "Min endstop Y: " -msgstr "Y Min 限位開關:" +msgstr "Y Min 限位開關: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:141 msgctxt "@label" msgid "Min endstop Z: " -msgstr "Z Min 限位開關:" +msgstr "Z Min 限位開關: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:163 msgctxt "@label" msgid "Nozzle temperature check: " -msgstr "檢查噴頭溫度:" +msgstr "檢查噴頭溫度: " #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:187 #: /home/ruben/Projects/Cura/plugins/UltimakerMachineActions/UMOCheckupMachineAction.qml:248 @@ -3110,7 +3110,7 @@ msgstr "開啟專案檔案時的預設行為" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " -msgstr "開啟專案檔案時的預設行為:" +msgstr "開啟專案檔案時的預設行為: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" @@ -3140,7 +3140,7 @@ msgstr "列印參數" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:623 msgctxt "@window:text" msgid "Default behavior for changed setting values when switching to a different profile: " -msgstr "當切換到另一組列印參數時,對於被修改過的設定的預設行為:" +msgstr "當切換到另一組列印參數時,對於被修改過的設定的預設行為: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:638 msgctxt "@option:discardOrKeep" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index d57d8f6c97..1571d7648c 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: Cura 3.6\n" "Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" "POT-Creation-Date: 2018-10-29 15:01+0000\n" -"PO-Revision-Date: 2018-11-04 16:58+0800\n" +"PO-Revision-Date: 2018-11-06 16:00+0100\n" "Last-Translator: Zhang Heh Ji \n" "Language-Team: Zhang Heh Ji \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -59,7 +59,7 @@ msgid "" "." msgstr "" "開始時最先執行的 G-code 命令 - 使用 \n" -". 隔開" +"隔開。" #: fdmprinter.def.json msgctxt "machine_end_gcode label" @@ -73,7 +73,7 @@ msgid "" "." msgstr "" "結束前最後執行的 G-code 命令 - 使用 \n" -". 隔開" +" 隔開。" #: fdmprinter.def.json msgctxt "material_guid label" @@ -83,7 +83,7 @@ msgstr "耗材 GUID" #: fdmprinter.def.json msgctxt "material_guid description" msgid "GUID of the material. This is set automatically. " -msgstr "耗材 GUID,此項為自動設定。" +msgstr "耗材 GUID,此項為自動設定。 " #: fdmprinter.def.json msgctxt "material_diameter label" @@ -2007,7 +2007,7 @@ msgstr "啟用回抽" #: fdmprinter.def.json msgctxt "retraction_enable description" msgid "Retract the filament when the nozzle is moving over a non-printed area. " -msgstr "當噴頭移動到非列印區域上方時回抽耗材。" +msgstr "當噴頭移動到非列印區域上方時回抽耗材。 " #: fdmprinter.def.json msgctxt "retract_at_layer_change label" @@ -3367,7 +3367,7 @@ msgstr "最小支撐 X/Y 間距" #: fdmprinter.def.json msgctxt "support_xy_distance_overhang description" msgid "Distance of the support structure from the overhang in the X/Y directions. " -msgstr "支撐結構在 X/Y 方向與突出部分的間距。" +msgstr "支撐結構在 X/Y 方向與突出部分的間距。 " #: fdmprinter.def.json msgctxt "support_bottom_stair_step_height label" From 9fa9c04517ff9a53b318ccece22bf22788275f22 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 6 Nov 2018 16:07:41 +0100 Subject: [PATCH 401/423] Fix translation mistakes found in Cura 3.6 These mistakes were found in the translations. In many cases it makes the text closer to the original rather than more consistent with the environment. If the environment is inconsistent then we should fix the original string in our source code rather than in the translations. Contributes to issue CURA-5870. --- resources/i18n/pt_BR/cura.po | 27 +++++++++++---------- resources/i18n/pt_BR/fdmprinter.def.json.po | 21 ++++++++-------- 2 files changed, 25 insertions(+), 23 deletions(-) diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 671cf9d76b..73b8d759ce 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -16,6 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 2.0.6\n" #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:22 msgctxt "@action" @@ -414,7 +415,7 @@ msgstr "Nenhum material carregado no slot {slot_number}" #, python-brace-format msgctxt "@label" msgid "Different PrintCore (Cura: {cura_printcore_name}, Printer: {remote_printcore_name}) selected for extruder {extruder_id}" -msgstr "PrintCore Diferente (Cura: {cure_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}" +msgstr "PrintCore Diferente (Cura: {cura_printcore_name}, Impressora: {remote_printcore_name}) selecionado para o extrusor {extruder_id}" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py:361 #, python-brace-format @@ -2058,7 +2059,7 @@ msgstr "Abortar impressão" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:43 msgctxt "@info:tooltip" msgid "Connect to a printer" -msgstr "Conecta a uma impressora." +msgstr "Conecta a uma impressora" #: /home/ruben/Projects/Cura/plugins/UM3NetworkPrinting/resources/qml/UM3InfoComponents.qml:121 msgctxt "@action:button" @@ -2602,7 +2603,7 @@ msgstr "Tudo está em ordem! A verificação terminou." #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:119 msgctxt "@label:MonitorStatus" msgid "Not connected to a printer" -msgstr "Não conectado a nenhuma impressora." +msgstr "Não conectado a nenhuma impressora" #: /home/ruben/Projects/Cura/resources/qml/MonitorButton.qml:123 msgctxt "@label:MonitorStatus" @@ -2980,7 +2981,7 @@ msgstr "Exibir seções pendentes" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:355 msgctxt "@info:tooltip" msgid "Moves the camera so the model is in the center of the view when a model is selected" -msgstr "Move a câmera de modo que o modelo fique no centro da visão quando for selecionado." +msgstr "Move a câmera de modo que o modelo fique no centro da visão quando for selecionado" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:360 msgctxt "@action:button" @@ -3025,7 +3026,7 @@ msgstr "Os modelos devem ser movidos pra baixo pra se assentar na plataforma de #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:418 msgctxt "@option:check" msgid "Automatically drop models to the build plate" -msgstr "Automaticamente fazer os modelos caírem na mesa de impressão." +msgstr "Automaticamente fazer os modelos caírem na mesa de impressão" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:430 msgctxt "@info:tooltip" @@ -3110,7 +3111,7 @@ msgstr "Comportamento default ao abrir um arquivo de projeto" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:557 msgctxt "@window:text" msgid "Default behavior when opening a project file: " -msgstr "Comportamento default ao abrir um arquivo de projeto" +msgstr "Comportamento default ao abrir um arquivo de projeto: " #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:571 msgctxt "@option:openProject" @@ -3175,7 +3176,7 @@ msgstr "Dados anônimos sobre sua impressão podem ser enviados para a Ultimaker #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:702 msgctxt "@option:check" msgid "Send (anonymous) print information" -msgstr "Enviar informação (anônima) de impressão." +msgstr "Enviar informação (anônima) de impressão" #: /home/ruben/Projects/Cura/resources/qml/Preferences/GeneralPage.qml:711 msgctxt "@action:button" @@ -3562,7 +3563,7 @@ msgid "" msgstr "" "Alguns ajustes ocultados usam valores diferentes de seu valor calculado normal.\n" "\n" -"Clique para tornar estes ajustes visíveis. " +"Clique para tornar estes ajustes visíveis." #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:61 msgctxt "@label Header for list of settings." @@ -3582,7 +3583,7 @@ msgstr "Este ajuste é sempre compartilhado entre todos os extrusores. Modificá #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:158 msgctxt "@label" msgid "The value is resolved from per-extruder values " -msgstr "O valor é resolvido de valores específicos de cada extrusor" +msgstr "O valor é resolvido de valores específicos de cada extrusor " #: /home/ruben/Projects/Cura/resources/qml/Settings/SettingItem.qml:189 msgctxt "@label" @@ -3655,7 +3656,7 @@ msgstr "A temperatura-alvo do hotend. O hotend vai aquecer ou esfriar na direç #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:98 msgctxt "@tooltip" msgid "The current temperature of this hotend." -msgstr "A temperatura atual deste hotend" +msgstr "A temperatura atual deste hotend." #: /home/ruben/Projects/Cura/resources/qml/PrinterOutput/ExtruderBox.qml:172 msgctxt "@tooltip of temperature input" @@ -4403,7 +4404,7 @@ msgstr "Você modificou alguns ajustes de perfil. Se você quiser alterá-los, u #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:541 msgctxt "@label" msgid "Infill" -msgstr "Preenchimento:" +msgstr "Preenchimento" #: /home/ruben/Projects/Cura/resources/qml/SidebarSimple.qml:777 msgctxt "@label" @@ -4495,7 +4496,7 @@ msgstr "Material" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:543 msgctxt "@label" msgid "Use glue with this material combination" -msgstr "Use cola com esta combinação de materiais." +msgstr "Use cola com esta combinação de materiais" #: /home/ruben/Projects/Cura/resources/qml/SidebarHeader.qml:575 msgctxt "@label" @@ -4845,7 +4846,7 @@ msgstr "Atualização de Versão de 2.7 para 3.0" #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "description" msgid "Upgrades configurations from Cura 3.4 to Cura 3.5." -msgstr "Atualiza configurações do Cura 3.4 para o Cura 3.5" +msgstr "Atualiza configurações do Cura 3.4 para o Cura 3.5." #: VersionUpgrade/VersionUpgrade34to35/plugin.json msgctxt "name" diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 728c2eb3e9..bd55d331ae 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -16,6 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 2.0.6\n" #: fdmprinter.def.json msgctxt "machine_settings label" @@ -458,7 +459,7 @@ msgstr "ID do Bico" #: fdmprinter.def.json msgctxt "machine_nozzle_id description" msgid "The nozzle ID for an extruder train, such as \"AA 0.4\" and \"BB 0.8\"." -msgstr "O identificador do bico para o carro extrusor, tais como \"AA 0.4\" ou \"BB 0.8\"" +msgstr "O identificador do bico para o carro extrusor, tais como \"AA 0.4\" ou \"BB 0.8.\"" #: fdmprinter.def.json msgctxt "machine_nozzle_size label" @@ -548,7 +549,7 @@ msgstr "Aceleração Máxima em X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_x description" msgid "Maximum acceleration for the motor of the X-direction" -msgstr "A aceleração máxima para o motor da impressora na direção X." +msgstr "A aceleração máxima para o motor da impressora na direção X" #: fdmprinter.def.json msgctxt "machine_max_acceleration_y label" @@ -598,7 +599,7 @@ msgstr "Jerk Default nos eixos X-Y" #: fdmprinter.def.json msgctxt "machine_max_jerk_xy description" msgid "Default jerk for movement in the horizontal plane." -msgstr "O valor default de jerk para movimentos no plano horizontal" +msgstr "O valor default de jerk para movimentos no plano horizontal." #: fdmprinter.def.json msgctxt "machine_max_jerk_z label" @@ -1867,7 +1868,7 @@ msgstr "Temperatura Default de Impressão" #: fdmprinter.def.json msgctxt "default_material_print_temperature description" msgid "The default temperature used for printing. This should be the \"base\" temperature of a material. All other print temperatures should use offsets based on this value" -msgstr "A temperatura default usada para a impressão. Esta deve ser a temperatura \"base\" de um material. Todas as outras temperaturas de impressão devem usar diferenças baseadas neste valor." +msgstr "A temperatura default usada para a impressão. Esta deve ser a temperatura \"base\" de um material. Todas as outras temperaturas de impressão devem usar diferenças baseadas neste valor" #: fdmprinter.def.json msgctxt "material_print_temperature label" @@ -1957,7 +1958,7 @@ msgstr "Tendência à Aderência" #: fdmprinter.def.json msgctxt "material_adhesion_tendency description" msgid "Surface adhesion tendency." -msgstr "Tendência de aderência da superfície" +msgstr "Tendência de aderência da superfície." #: fdmprinter.def.json msgctxt "material_surface_energy label" @@ -2007,7 +2008,7 @@ msgstr "Habilitar Retração" #: fdmprinter.def.json msgctxt "retraction_enable description" msgid "Retract the filament when the nozzle is moving over a non-printed area. " -msgstr "Retrai o filamento quando o bico está se movendo sobre uma área não impressa." +msgstr "Retrai o filamento quando o bico está se movendo sobre uma área não impressa. " #: fdmprinter.def.json msgctxt "retract_at_layer_change label" @@ -3547,7 +3548,7 @@ msgstr "Densidade da Base do Suporte" #: fdmprinter.def.json msgctxt "support_bottom_density description" msgid "The density of the floors of the support structure. A higher value results in better adhesion of the support on top of the model." -msgstr "A densidade das bases da estrutura de suporte. Um valor maior resulta em melhor aderência do suporte no topo da superfície" +msgstr "A densidade das bases da estrutura de suporte. Um valor maior resulta em melhor aderência do suporte no topo da superfície." #: fdmprinter.def.json msgctxt "support_bottom_line_distance label" @@ -3672,7 +3673,7 @@ msgstr "Sobrepor Velocidade de Ventoinha" #: fdmprinter.def.json msgctxt "support_fan_enable description" msgid "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support." -msgstr "Quando habilitado, a velocidade da ventoinha de resfriamento é alterada para as regiões de contorno imediatamente acima do suporte" +msgstr "Quando habilitado, a velocidade da ventoinha de resfriamento é alterada para as regiões de contorno imediatamente acima do suporte." #: fdmprinter.def.json msgctxt "support_supported_skin_fan_speed label" @@ -3946,7 +3947,7 @@ msgstr "Espessura da Camada Superior do Raft" #: fdmprinter.def.json msgctxt "raft_surface_thickness description" msgid "Layer thickness of the top raft layers." -msgstr "Espessura de camada das camadas superiores do raft" +msgstr "Espessura de camada das camadas superiores do raft." #: fdmprinter.def.json msgctxt "raft_surface_line_width label" @@ -5116,7 +5117,7 @@ msgstr "A distância média entre os pontos aleatórios introduzidos em cada seg #: fdmprinter.def.json msgctxt "flow_rate_max_extrusion_offset label" msgid "Flow rate compensation max extrusion offset" -msgstr "Deslocamento de extrusão máxima da compensação de taxa de fluxo." +msgstr "Deslocamento de extrusão máxima da compensação de taxa de fluxo" #: fdmprinter.def.json msgctxt "flow_rate_max_extrusion_offset description" From ce7d2c36d0834aed603f1d7dd59439c58d297802 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Tue, 6 Nov 2018 16:15:32 +0100 Subject: [PATCH 402/423] Fix the width of the slider label when the number of layers was exactly 10, 100, 1000 and so on. The calculation was using the maximumValue that is 9 in case we have 10 layers, since we start counting from 0 but showing from 1. Now it uses maximumValue + 1. --- plugins/SimulationView/SimulationSliderLabel.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/SimulationView/SimulationSliderLabel.qml b/plugins/SimulationView/SimulationSliderLabel.qml index b69fede243..06c6a51b44 100644 --- a/plugins/SimulationView/SimulationSliderLabel.qml +++ b/plugins/SimulationView/SimulationSliderLabel.qml @@ -48,7 +48,7 @@ UM.PointingRectangle { horizontalCenter: parent.horizontalCenter } - width: (maximumValue.toString().length + 1) * 10 * screenScaleFactor + width: ((maximumValue + 1).toString().length + 1) * 10 * screenScaleFactor text: sliderLabelRoot.value + startFrom // the current handle value, add 1 because layers is an array horizontalAlignment: TextInput.AlignRight From dc4b69c386a8973d77427ffc57fe07d68379fe44 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 6 Nov 2018 16:37:47 +0100 Subject: [PATCH 403/423] Show context menu at the right times Contributes to CL-1126 --- .../resources/qml/PrintJobContextMenu.qml | 47 ++++++++++++++++--- .../resources/qml/PrintJobContextMenuItem.qml | 2 +- 2 files changed, 42 insertions(+), 7 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 695b69f822..9462475c2f 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -34,7 +34,13 @@ Item { hoverEnabled: true; onClicked: parent.switchPopupState(); text: "\u22EE"; //Unicode; Three stacked points. - visible: printJob.state == "queued" || printJob.state == "aborted" || started ? true : false; + visible: { + if (!printJob) { + return false; + } + var states = ["queued", "sent_to_printer", "pre_print", "printing", "pausing", "paused", "resuming"]; + return states.indexOf(printJob.state) !== -1; + } width: 35 * screenScaleFactor; // TODO: Theme! } @@ -123,11 +129,17 @@ Item { popup.close(); } text: catalog.i18nc("@label", "Delete"); - visible: printJob && !started && printJob.state !== "aborted" && printJob.state !== "finished"; + visible: { + if (!printJob) { + return false; + } + var states = ["queued", "sent_to_printer"]; + return states.indexOf(printJob.state) !== -1; + } } PrintJobContextMenuItem { - enabled: !(printJob.state == "pausing" || printJob.state == "resuming"); + enabled: visible && !(printJob.state == "pausing" || printJob.state == "resuming"); onClicked: { if (printJob.state == "paused") { printJob.setState("print"); @@ -155,17 +167,29 @@ Item { catalog.i18nc("@label", "Pause"); } } - visible: printJob && started && printJob.state; + visible: { + if (!printJob) { + return false; + } + var states = ["printing", "pausing", "paused", "resuming"]; + return states.indexOf(printJob.state) !== -1; + } } PrintJobContextMenuItem { - enabled: printJob.state !== "aborting"; + enabled: visible && printJob.state !== "aborting"; onClicked: { abortConfirmationDialog.visible = true; popup.close(); } text: printJob.state == "aborting" ? catalog.i18nc("@label", "Aborting...") : catalog.i18nc("@label", "Abort"); - visible: printJob && started; + visible: { + if (!printJob) { + return false; + } + var states = ["pre_print", "printing", "pausing", "paused", "resuming"]; + return states.indexOf(printJob.state) !== -1; + } } } enter: Transition { @@ -224,6 +248,8 @@ Item { // Utils function switchPopupState() { popup.visible ? popup.close() : popup.open(); + console.log("printJob.state is:", printJob.state); + console.log("children.length is:", getMenuLength()); } function isStarted(job) { if (!job) { @@ -237,4 +263,13 @@ Item { } return job.assignedPrinter ? true : false; } + function getMenuLength() { + var visible = 0; + for (var i = 0; i < popupOptions.children.length; i++) { + if (popupOptions.children[i].visible) { + visible++; + } + } + return visible; + } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml index 18f5e3b305..eea8fac3e1 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenuItem.qml @@ -17,7 +17,7 @@ Button { horizontalAlignment: Text.AlignLeft; verticalAlignment: Text.AlignVCenter; } - height: 39 * screenScaleFactor; // TODO: Theme! + height: visible ? 39 * screenScaleFactor : 0; // TODO: Theme! hoverEnabled: true; width: parent.width; } \ No newline at end of file From 4c831de06ca6ba186208a2fed28b4fbd08b086de Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 6 Nov 2018 16:41:59 +0100 Subject: [PATCH 404/423] Remove console logs Contributes to CL-1126 --- .../UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml index 9462475c2f..11bc913d06 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobContextMenu.qml @@ -248,8 +248,6 @@ Item { // Utils function switchPopupState() { popup.visible ? popup.close() : popup.open(); - console.log("printJob.state is:", printJob.state); - console.log("children.length is:", getMenuLength()); } function isStarted(job) { if (!job) { From 94924783b688c908cf9664d7ae6168f2c89f6a5c Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 6 Nov 2018 17:16:29 +0100 Subject: [PATCH 405/423] Defensive coding: Old file-extensions may have been saved as all-caps. [CURA-5896] --- cura/PrintInformation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 86c90e03d3..e11f70a54c 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -371,12 +371,12 @@ class PrintInformation(QObject): # Strip the old "curaproject" extension from the name OLD_CURA_PROJECT_EXT = ".curaproject" - if self._base_name.endswith(OLD_CURA_PROJECT_EXT): + if self._base_name.lower().endswith(OLD_CURA_PROJECT_EXT): self._base_name = self._base_name[:len(self._base_name) - len(OLD_CURA_PROJECT_EXT)] # CURA-5896 Try to strip extra extensions with an infinite amount of ".curaproject.3mf". OLD_CURA_PROJECT_3MF_EXT = ".curaproject.3mf" - while self._base_name.endswith(OLD_CURA_PROJECT_3MF_EXT): + while self._base_name.lower().endswith(OLD_CURA_PROJECT_3MF_EXT): self._base_name = self._base_name[:len(self._base_name) - len(OLD_CURA_PROJECT_3MF_EXT)] self._updateJobName() From 982123a04e105a532a24fc5591bc5a349bd0963f Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 7 Nov 2018 10:31:29 +0100 Subject: [PATCH 406/423] Update bundled package versions for materials using CC 0.6 --- resources/bundled_packages/cura.json | 48 ++++++++++++++-------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 8ec0c3d29d..fceee75539 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -753,7 +753,7 @@ "package_type": "material", "display_name": "Generic ABS", "description": "The generic ABS profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -771,7 +771,7 @@ "package_type": "material", "display_name": "Generic BAM", "description": "The generic BAM profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -789,7 +789,7 @@ "package_type": "material", "display_name": "Generic CFF CPE", "description": "The generic CFF CPE profile which other profiles can be based upon.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -807,7 +807,7 @@ "package_type": "material", "display_name": "Generic CFF PA", "description": "The generic CFF PA profile which other profiles can be based upon.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -825,7 +825,7 @@ "package_type": "material", "display_name": "Generic CPE", "description": "The generic CPE profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -843,7 +843,7 @@ "package_type": "material", "display_name": "Generic CPE+", "description": "The generic CPE+ profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -861,7 +861,7 @@ "package_type": "material", "display_name": "Generic GFF CPE", "description": "The generic GFF CPE profile which other profiles can be based upon.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -879,7 +879,7 @@ "package_type": "material", "display_name": "Generic GFF PA", "description": "The generic GFF PA profile which other profiles can be based upon.", - "package_version": "1.0.0", + "package_version": "1.1.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -915,7 +915,7 @@ "package_type": "material", "display_name": "Generic Nylon", "description": "The generic Nylon profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -933,7 +933,7 @@ "package_type": "material", "display_name": "Generic PC", "description": "The generic PC profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -969,7 +969,7 @@ "package_type": "material", "display_name": "Generic PLA", "description": "The generic PLA profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -987,7 +987,7 @@ "package_type": "material", "display_name": "Generic PP", "description": "The generic PP profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -1005,7 +1005,7 @@ "package_type": "material", "display_name": "Generic PVA", "description": "The generic PVA profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -1041,7 +1041,7 @@ "package_type": "material", "display_name": "Generic TPU", "description": "The generic TPU profile which other profiles can be based upon.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://github.com/Ultimaker/fdm_materials", "author": { @@ -1297,7 +1297,7 @@ "package_type": "material", "display_name": "Ultimaker ABS", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1316,7 +1316,7 @@ "package_type": "material", "display_name": "Ultimaker Breakaway", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/breakaway", "author": { @@ -1335,7 +1335,7 @@ "package_type": "material", "display_name": "Ultimaker CPE", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1354,7 +1354,7 @@ "package_type": "material", "display_name": "Ultimaker CPE+", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/cpe", "author": { @@ -1373,7 +1373,7 @@ "package_type": "material", "display_name": "Ultimaker Nylon", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1392,7 +1392,7 @@ "package_type": "material", "display_name": "Ultimaker PC", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pc", "author": { @@ -1411,7 +1411,7 @@ "package_type": "material", "display_name": "Ultimaker PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1430,7 +1430,7 @@ "package_type": "material", "display_name": "Ultimaker PP", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pp", "author": { @@ -1449,7 +1449,7 @@ "package_type": "material", "display_name": "Ultimaker PVA", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { @@ -1468,7 +1468,7 @@ "package_type": "material", "display_name": "Ultimaker TPU 95A", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.1.0", + "package_version": "1.2.0", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/tpu-95a", "author": { From 2c28e931ea5cb66ce123bc1ce590957ecc499000 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 7 Nov 2018 11:06:40 +0100 Subject: [PATCH 407/423] Rename CC Red 0.6 to CC 0.6 in the Changelog. Contributes to CURA-5900. --- plugins/ChangeLogPlugin/ChangeLog.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 266442473c..7e5cf2dd3b 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -11,8 +11,8 @@ It is now possible to specify the cooling fan to use if your printer has multipl *Settings refactor The CuraEngine has been refactored to create a more testable, future-proof way of storing and representing settings. This makes slicing faster, and future development easier. -*Print core CC Red 0.6 -The new print core CC Red 0.6 is selectable when the Ultimaker S5 profile is active. This print core is optimized for use with abrasive materials and composites. +*Print core CC 0.6 +The new print core CC 0.6 is selectable when the Ultimaker S5 profile is active. This print core is optimized for use with abrasive materials and composites. *File name and layer display Added M117 commands to GCODE to give real-time information about the print job file name and layer number shown on the printer’s display when printing via USB. Contributed by adecastilho. From 9a93f6866a644fb4d1992b36c37154dafa1a1561 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 7 Nov 2018 12:03:32 +0100 Subject: [PATCH 408/423] Fix crash of toolbox when metadata got corrupted --- plugins/Toolbox/src/Toolbox.py | 38 ++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 25e7656999..43e1f5b3d9 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -265,21 +265,25 @@ class Toolbox(QObject, Extension): raise Exception("Failed to create Marketplace dialog") return dialog - def _convertPluginMetadata(self, plugin: Dict[str, Any]) -> Dict[str, Any]: - formatted = { - "package_id": plugin["id"], - "package_type": "plugin", - "display_name": plugin["plugin"]["name"], - "package_version": plugin["plugin"]["version"], - "sdk_version": plugin["plugin"]["api"], - "author": { - "author_id": plugin["plugin"]["author"], - "display_name": plugin["plugin"]["author"] - }, - "is_installed": True, - "description": plugin["plugin"]["description"] - } - return formatted + def _convertPluginMetadata(self, plugin_data: Dict[str, Any]) -> Optional[Dict[str, Any]]: + try: + formatted = { + "package_id": plugin_data["id"], + "package_type": "plugin", + "display_name": plugin_data["plugin"]["name"], + "package_version": plugin_data["plugin"]["version"], + "sdk_version": plugin_data["plugin"]["api"], + "author": { + "author_id": plugin_data["plugin"]["author"], + "display_name": plugin_data["plugin"]["author"] + }, + "is_installed": True, + "description": plugin_data["plugin"]["description"] + } + return formatted + except: + Logger.log("w", "Unable to convert plugin meta data %s", str(plugin_data)) + return None @pyqtSlot() def _updateInstalledModels(self) -> None: @@ -299,7 +303,9 @@ class Toolbox(QObject, Extension): old_metadata = self._plugin_registry.getMetaData(plugin_id) new_metadata = self._convertPluginMetadata(old_metadata) - + if new_metadata is None: + # Something went wrong converting it. + continue self._old_plugin_ids.add(plugin_id) self._old_plugin_metadata[new_metadata["package_id"]] = new_metadata From 58a01816aa6eaef630c8fd711102f0e4eca21a6b Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 7 Nov 2018 13:39:06 +0100 Subject: [PATCH 409/423] Remove quality profiles for PLA in the UMS5 with the CC 0.6 print core. PLA is compatible with the print core but we don't want to provide profiles because they were not fully tested. Contributes to CURA-5900. --- .../um_s5_cc0.6_PLA_Draft_Print.inst.cfg | 42 ------------------- .../um_s5_cc0.6_PLA_Fast_Print.inst.cfg | 42 ------------------- 2 files changed, 84 deletions(-) delete mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg delete mode 100644 resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg deleted file mode 100644 index 9045c36fbe..0000000000 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Draft_Print.inst.cfg +++ /dev/null @@ -1,42 +0,0 @@ -[general] -version = 4 -name = Fast -definition = ultimaker_s5 - -[metadata] -setting_version = 5 -type = quality -quality_type = draft -weight = -3 -material = generic_pla -variant = CC 0.6 - -[values] -cool_fan_full_at_height = =layer_height_0 + 2 * layer_height -cool_fan_speed_max = =100 -cool_min_speed = 2 -gradual_infill_step_height = =3 * layer_height -infill_line_width = =round(line_width * 0.65 / 0.75, 2) -infill_pattern = triangles -line_width = =machine_nozzle_size * 0.9375 -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_final_print_temperature = =max(-273.15, material_print_temperature - 15) -material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) -material_print_temperature = =default_material_print_temperature + 10 -material_standby_temperature = 100 -prime_tower_enable = True -retract_at_layer_change = False -speed_print = 45 -speed_topbottom = =math.ceil(speed_print * 35 / 45) -speed_wall = =math.ceil(speed_print * 40 / 45) -speed_wall_x = =speed_wall -speed_wall_0 = =math.ceil(speed_wall * 35 / 40) -support_angle = 70 -support_line_width = =line_width * 0.75 -support_pattern = triangles -support_xy_distance = =wall_line_width_0 * 1.5 -top_bottom_thickness = =layer_height * 4 -wall_line_width = =round(line_width * 0.75 / 0.75, 2) -wall_line_width_x = =round(wall_line_width * 0.625 / 0.75, 2) -wall_thickness = =wall_line_width_0 + wall_line_width_x diff --git a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg deleted file mode 100644 index 8e747bb06f..0000000000 --- a/resources/quality/ultimaker_s5/um_s5_cc0.6_PLA_Fast_Print.inst.cfg +++ /dev/null @@ -1,42 +0,0 @@ -[general] -version = 4 -name = Normal -definition = ultimaker_s5 - -[metadata] -setting_version = 5 -type = quality -quality_type = fast -weight = -2 -material = generic_pla -variant = CC 0.6 - -[values] -cool_fan_full_at_height = =layer_height_0 + 2 * layer_height -cool_fan_speed_max = =100 -cool_min_speed = 2 -gradual_infill_step_height = =3 * layer_height -infill_line_width = =round(line_width * 0.65 / 0.75, 2) -infill_pattern = triangles -line_width = =machine_nozzle_size * 0.9375 -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_final_print_temperature = =max(-273.15, material_print_temperature - 15) -material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) -material_print_temperature = =default_material_print_temperature + 10 -material_standby_temperature = 100 -prime_tower_enable = True -retract_at_layer_change = False -speed_print = 45 -speed_topbottom = =math.ceil(speed_print * 35 / 45) -speed_wall = =math.ceil(speed_print * 40 / 45) -speed_wall_x = =speed_wall -speed_wall_0 = =math.ceil(speed_wall * 35 / 40) -support_angle = 70 -support_line_width = =line_width * 0.75 -support_pattern = triangles -support_xy_distance = =wall_line_width_0 * 1.5 -top_bottom_thickness = =layer_height * 4 -wall_line_width = =round(line_width * 0.75 / 0.75, 2) -wall_line_width_x = =round(wall_line_width * 0.625 / 0.75, 2) -wall_thickness = =wall_line_width_0 + wall_line_width_x From f12efb7aa1f6305d4d1fea6a757a17d10a080e43 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 7 Nov 2018 16:07:45 +0100 Subject: [PATCH 410/423] Fix LegacyUM3OutputDevice post() call --- plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index e786840803..fb79b26b64 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -499,8 +499,8 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): self._authentication_id = None self.post("auth/request", - json.dumps({"application": "Cura-" + CuraApplication.getInstance().getVersion(), - "user": self._getUserName()}).encode(), + json.dumps({"application": "Cura-" + CuraApplication.getInstance().getVersion(), + "user": self._getUserName()}), on_finished=self._onRequestAuthenticationFinished) self.setAuthenticationState(AuthState.AuthenticationRequested) From c5a9c6c6cce35fc3f943ca37f83abd9299a9e393 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 8 Nov 2018 09:48:52 +0100 Subject: [PATCH 411/423] Add translation for missing line in Korean This one was not translated. Contributes to issue CURA-5870. --- resources/i18n/ko_KR/cura.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 8141cdf63e..6f32d46cd7 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -915,7 +915,7 @@ msgstr "프로파일 {0}에는 정확하지 않은 데이 #, python-brace-format msgctxt "@info:status Don't translate the XML tags !" msgid "The machine defined in profile {0} ({1}) doesn't match with your current machine ({2}), could not import it." -msgstr "The machine defined in profile {0} ({1}) doesn’t match with your current machine ({2}), could not import it." +msgstr "프로필 {0}({1})에 정의된 제품이 현재 제품({2})과 일치하지 않으므로, 불러올 수 없습니다." #: /home/ruben/Projects/Cura/cura/Settings/CuraContainerRegistry.py:312 #, python-brace-format From 35ed2349913e91d0f163e9aa1840228cf1c2736a Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 8 Nov 2018 10:49:22 +0100 Subject: [PATCH 412/423] Show print time in monitor tab Contributes to CL-1040 --- .../resources/qml/PrintJobInfoBlock.qml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index 8c2c8f9121..a0de63ec74 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -168,6 +168,19 @@ Item { width: 0.5 * printJobPreview.width; } } + + Label { + id: totalTimeLabel; + anchors { + bottom: parent.bottom; + right: parent.right; + } + color: UM.Theme.getColor("text"); + elide: Text.ElideRight; + font: UM.Theme.getFont("default"); + opacity: 0.6; + text: printJob ? OutputDevice.formatDuration(printJob.timeTotal) : ""; + } } // Divider From de6ab02422f04fe4c2d3ffd641f7b91472e3b827 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 8 Nov 2018 11:02:57 +0100 Subject: [PATCH 413/423] Merge pull request #4678 from fieldOfView/fix_networkprinter_post Fix type error in NetworkedPrinterOutputDevice.post --- cura/PrinterOutput/NetworkedPrinterOutputDevice.py | 2 +- plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py index f7c7f5d233..35d2ce014a 100644 --- a/cura/PrinterOutput/NetworkedPrinterOutputDevice.py +++ b/cura/PrinterOutput/NetworkedPrinterOutputDevice.py @@ -213,7 +213,7 @@ class NetworkedPrinterOutputDevice(PrinterOutputDevice): request = self._createEmptyRequest(target) self._last_request_time = time() if self._manager is not None: - reply = self._manager.post(request, data) + reply = self._manager.post(request, data.encode()) if on_progress is not None: reply.uploadProgress.connect(on_progress) self._registerOnFinishedCallback(reply, on_finished) diff --git a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py index e45de2dbb0..18af22e72f 100644 --- a/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/LegacyUM3OutputDevice.py @@ -498,8 +498,8 @@ class LegacyUM3OutputDevice(NetworkedPrinterOutputDevice): self._authentication_id = None self.post("auth/request", - json.dumps({"application": "Cura-" + CuraApplication.getInstance().getVersion(), - "user": self._getUserName()}).encode(), + json.dumps({"application": "Cura-" + CuraApplication.getInstance().getVersion(), + "user": self._getUserName()}), on_finished=self._onRequestAuthenticationFinished) self.setAuthenticationState(AuthState.AuthenticationRequested) From aa6ec9e44bc6f8a2069984134dd785c70bed2fd9 Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Thu, 8 Nov 2018 11:48:22 +0100 Subject: [PATCH 414/423] Make text black Contributes to CL-1040 --- plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml index a0de63ec74..a611cb4ff6 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/PrintJobInfoBlock.qml @@ -178,7 +178,6 @@ Item { color: UM.Theme.getColor("text"); elide: Text.ElideRight; font: UM.Theme.getFont("default"); - opacity: 0.6; text: printJob ? OutputDevice.formatDuration(printJob.timeTotal) : ""; } } From dcc6003a927a2ad7a883be46e4f9467828f70dfe Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 8 Nov 2018 12:50:00 +0100 Subject: [PATCH 415/423] Allow negative support interface offsets There is no technical reason why this is not allowed. You could save some material with this. Contributes to issue CURA-5880. --- resources/definitions/fdmprinter.def.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 23dc49418b..d845f80e14 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4384,7 +4384,6 @@ "description": "Amount of offset applied to the support interface polygons.", "unit": "mm", "type": "float", - "minimum_value": "0", "default_value": 0.0, "limit_to_extruder": "support_interface_extruder_nr", "enabled": "support_interface_enable and (support_enable or support_tree_enable)", From f132adc135f53d9caac74419d14595404d829944 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 8 Nov 2018 12:59:24 +0100 Subject: [PATCH 416/423] Rename 'Offset' to 'Horizontal Expansion' This is more consistent with other similar settings. Contributes to issue CURA-5880. --- resources/definitions/fdmprinter.def.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index d845f80e14..1730598874 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4380,7 +4380,7 @@ }, "support_interface_offset": { - "label": "Support Interface Offset", + "label": "Support Interface Horizontal Expansion", "description": "Amount of offset applied to the support interface polygons.", "unit": "mm", "type": "float", @@ -4393,7 +4393,7 @@ { "support_roof_offset": { - "label": "Support Roof Offset", + "label": "Support Roof Horizontal Expansion", "description": "Amount of offset applied to the roofs of the support.", "unit": "mm", "type": "float", @@ -4407,7 +4407,7 @@ }, "support_bottom_offset": { - "label": "Support Floor Offset", + "label": "Support Floor Horizontal Expansion", "description": "Amount of offset applied to the floors of the support.", "unit": "mm", "type": "float", From 6d66060222bc2e9cbee69534926e5ac27372fd53 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Thu, 8 Nov 2018 13:03:37 +0100 Subject: [PATCH 417/423] Don't allow support interface offset greater than support offset The support interface can't exceed the volume of the support now, so this is now a technical limitation. Contributes to issue CURA-5880. --- resources/definitions/fdmprinter.def.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1730598874..5c446e0b6f 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4385,6 +4385,7 @@ "unit": "mm", "type": "float", "default_value": 0.0, + "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", "limit_to_extruder": "support_interface_extruder_nr", "enabled": "support_interface_enable and (support_enable or support_tree_enable)", "settable_per_mesh": false, @@ -4400,6 +4401,7 @@ "minimum_value": "0", "default_value": 0.0, "value": "extruderValue(support_roof_extruder_nr, 'support_interface_offset')", + "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", "limit_to_extruder": "support_roof_extruder_nr", "enabled": "support_roof_enable and (support_enable or support_tree_enable)", "settable_per_mesh": false, @@ -4414,6 +4416,7 @@ "minimum_value": "0", "default_value": 0.0, "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_offset')", + "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", "limit_to_extruder": "support_bottom_extruder_nr", "enabled": "support_bottom_enable and (support_enable or support_tree_enable)", "settable_per_mesh": false, From 94e27fbbdb93d75998129cfeb91926d0707031cb Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 8 Nov 2018 15:42:39 +0100 Subject: [PATCH 418/423] Add the quality folder to the version upgrade in order to update quality profiles. Contributes to CURA-5915. --- plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py | 5 +++++ plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py index 8213f195d5..1130c1e9e2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py @@ -11,6 +11,7 @@ def getMetaData(): # From To Upgrade function ("definition_changes", 3000004): ("definition_changes", 4000004, upgrade.upgradeInstanceContainer), ("quality_changes", 3000004): ("quality_changes", 4000004, upgrade.upgradeInstanceContainer), + ("quality", 3000004): ("quality", 4000004, upgrade.upgradeInstanceContainer), ("user", 3000004): ("user", 4000004, upgrade.upgradeInstanceContainer), }, "sources": { @@ -22,6 +23,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"} diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py index de0fdccb7d..2ea74f6194 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py @@ -13,6 +13,7 @@ def getMetaData(): ("definition_changes", 4000004): ("definition_changes", 4000005, upgrade.upgradeInstanceContainer), ("quality_changes", 4000004): ("quality_changes", 4000005, upgrade.upgradeInstanceContainer), + ("quality", 4000004): ("quality", 4000005, upgrade.upgradeInstanceContainer), ("user", 4000004): ("user", 4000005, upgrade.upgradeInstanceContainer), ("machine_stack", 4000004): ("machine_stack", 4000005, upgrade.upgradeStack), @@ -39,6 +40,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"} From d3302938b2c07f9b5c8ec05102b96f12c4816bb0 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 8 Nov 2018 16:38:38 +0100 Subject: [PATCH 419/423] Fix technical data sheet not showing if there is no support_configs --- .../qml/ToolboxCompatibilityChart.qml | 244 ++++++++++-------- 1 file changed, 131 insertions(+), 113 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml index 58fea079e9..fd014d26e1 100644 --- a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml +++ b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml @@ -15,141 +15,159 @@ Item var link = undefined if ("Technical Data Sheet" in packageData.links) { + // HACK: This is the way the old API (used in 3.6-beta) used to do it. For safety it's still here, + // but it can be removed over time. link = packageData.links["Technical Data Sheet"] } + else if ("technicalDataSheet" in packageData.links) + { + link = packageData.links["technicalDataSheet"] + } return link } - anchors.topMargin: UM.Theme.getSize("default_margin").height height: visible ? childrenRect.height : 0 - visible: packageData.type == "material" && packageData.has_configs - Label + + visible: packageData.type == "material" && (packageData.has_configs || technicalDataSheetUrl != undefined) + + Item { - id: heading - anchors.topMargin: UM.Theme.getSize("default_margin").height + id: combatibilityItem + visible: packageData.has_configs width: parent.width - text: catalog.i18nc("@label", "Compatibility") - wrapMode: Text.WordWrap - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("medium") - } - TableView - { - id: table - anchors.top: heading.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - width: parent.width - frameVisible: false + // This is a bit of a hack, but the whole QML is pretty messy right now. This needs a big overhaul. + height: visible ? heading.height + table.height: 0 - // Workaround for scroll issues (QTBUG-49652) - flickableItem.interactive: false - Component.onCompleted: + Label { - for (var i = 0; i < flickableItem.children.length; ++i) - { - flickableItem.children[i].enabled = false - } - } - selectionMode: 0 - model: packageData.supported_configs - headerDelegate: Rectangle - { - color: UM.Theme.getColor("sidebar") - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text") - font: UM.Theme.getFont("default_bold") - } - Rectangle - { - anchors.bottom: parent.bottom - height: UM.Theme.getSize("default_lining").height - width: parent.width - color: "black" - } - } - rowDelegate: Item - { - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } - } - itemDelegate: Item - { - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } + id: heading + anchors.topMargin: UM.Theme.getSize("default_margin").height + width: parent.width + text: catalog.i18nc("@label", "Compatibility") + wrapMode: Text.WordWrap + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("medium") } - Component + TableView { - id: columnTextDelegate - Label - { - anchors.fill: parent - verticalAlignment: Text.AlignVCenter - text: styleData.value || "" - elide: Text.ElideRight - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } - } + id: table + anchors.top: heading.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + width: parent.width + frameVisible: false - TableViewColumn - { - role: "machine" - title: "Machine" - width: Math.floor(table.width * 0.25) - delegate: columnTextDelegate - } - TableViewColumn - { - role: "print_core" - title: "Print Core" - width: Math.floor(table.width * 0.2) - } - TableViewColumn - { - role: "build_plate" - title: "Build Plate" - width: Math.floor(table.width * 0.225) - } - TableViewColumn - { - role: "support_material" - title: "Support" - width: Math.floor(table.width * 0.225) - } - TableViewColumn - { - role: "quality" - title: "Quality" - width: Math.floor(table.width * 0.1) + // Workaround for scroll issues (QTBUG-49652) + flickableItem.interactive: false + Component.onCompleted: + { + for (var i = 0; i < flickableItem.children.length; ++i) + { + flickableItem.children[i].enabled = false + } + } + selectionMode: 0 + model: packageData.supported_configs + headerDelegate: Rectangle + { + color: UM.Theme.getColor("sidebar") + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text") + font: UM.Theme.getFont("default_bold") + } + Rectangle + { + anchors.bottom: parent.bottom + height: UM.Theme.getSize("default_lining").height + width: parent.width + color: "black" + } + } + rowDelegate: Item + { + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + itemDelegate: Item + { + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + + Component + { + id: columnTextDelegate + Label + { + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + text: styleData.value || "" + elide: Text.ElideRight + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + + TableViewColumn + { + role: "machine" + title: "Machine" + width: Math.floor(table.width * 0.25) + delegate: columnTextDelegate + } + TableViewColumn + { + role: "print_core" + title: "Print Core" + width: Math.floor(table.width * 0.2) + } + TableViewColumn + { + role: "build_plate" + title: "Build Plate" + width: Math.floor(table.width * 0.225) + } + TableViewColumn + { + role: "support_material" + title: "Support" + width: Math.floor(table.width * 0.225) + } + TableViewColumn + { + role: "quality" + title: "Quality" + width: Math.floor(table.width * 0.1) + } } } Label { id: technical_data_sheet - anchors.top: table.bottom + anchors.top: combatibilityItem.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height / 2 visible: base.technicalDataSheetUrl !== undefined + height: visible ? contentHeight : 0 text: { if (base.technicalDataSheetUrl !== undefined) From 161b200a670b0c6325a26ec12368da71ae23e63e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 9 Nov 2018 11:41:43 +0100 Subject: [PATCH 420/423] Fix typo in label ID --- cura/CuraVersion.py.in | 2 +- resources/qml/SidebarHeader.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/CuraVersion.py.in b/cura/CuraVersion.py.in index 388429bc02..7c6304231d 100644 --- a/cura/CuraVersion.py.in +++ b/cura/CuraVersion.py.in @@ -1,4 +1,4 @@ -# Copyright (c) 2015 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. CuraAppDisplayName = "@CURA_APP_DISPLAY_NAME@" diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml index df4f493ea5..5fde199cd0 100644 --- a/resources/qml/SidebarHeader.qml +++ b/resources/qml/SidebarHeader.qml @@ -489,7 +489,7 @@ Column Label { - id: bulidplateLabel + id: buildplateLabel text: catalog.i18nc("@label", "Build plate"); width: Math.floor(parent.width * 0.45 - UM.Theme.getSize("default_margin").width) height: parent.height From 21d4cd8f9fff870bb29080b74295fd4cb7c9b984 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 9 Nov 2018 13:44:42 +0100 Subject: [PATCH 421/423] Add Safety Data Sheet links to materials in Marketplace. [CURA-5922] --- .../qml/ToolboxCompatibilityChart.qml | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml index fd014d26e1..a1038fd6b2 100644 --- a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml +++ b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml @@ -11,7 +11,8 @@ Item id: base property var packageData - property var technicalDataSheetUrl: { + property var technicalDataSheetUrl: + { var link = undefined if ("Technical Data Sheet" in packageData.links) { @@ -25,10 +26,16 @@ Item } return link } + property var safetyDataSheetUrl: + { + var sds_name = "safetyDataSheet" + return (sds_name in packageData.links) ? packageData.links[sds_name] : undefined + } anchors.topMargin: UM.Theme.getSize("default_margin").height height: visible ? childrenRect.height : 0 - visible: packageData.type == "material" && (packageData.has_configs || technicalDataSheetUrl != undefined) + visible: packageData.type == "material" && + (packageData.has_configs || technicalDataSheetUrl !== undefined || safetyDataSheetUrl !== undefined) Item { @@ -163,23 +170,31 @@ Item Label { - id: technical_data_sheet + id: data_sheet_links anchors.top: combatibilityItem.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height / 2 - visible: base.technicalDataSheetUrl !== undefined + visible: base.technicalDataSheetUrl !== undefined || base.safetyDataSheetUrl !== undefined height: visible ? contentHeight : 0 text: { + var result = "" if (base.technicalDataSheetUrl !== undefined) { - return "%2".arg(base.technicalDataSheetUrl).arg("Technical Data Sheet") + result += "%2".arg(base.technicalDataSheetUrl).arg("Technical Data Sheet") } - return "" + if (base.safetyDataSheetUrl !== undefined) + { + if (result.length > 0) + { + result += "
    " + } + result += "%2".arg(base.safetyDataSheetUrl).arg("Safety Data Sheet") + } + return result } font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") linkColor: UM.Theme.getColor("text_link") onLinkActivated: Qt.openUrlExternally(link) } - } From c8d9ad37ffc0b56dbedd35a72aa80f0fd0210209 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 9 Nov 2018 13:49:14 +0100 Subject: [PATCH 422/423] Add Printing Guidelines links to materials in Marketplace. [CURA-5922] --- .../qml/ToolboxCompatibilityChart.qml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml index a1038fd6b2..c6dd2217da 100644 --- a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml +++ b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml @@ -31,11 +31,17 @@ Item var sds_name = "safetyDataSheet" return (sds_name in packageData.links) ? packageData.links[sds_name] : undefined } + property var printingGuidelinesUrl: + { + var pg_name = "printingGuidelines" + return (pg_name in packageData.links) ? packageData.links[pg_name] : undefined + } anchors.topMargin: UM.Theme.getSize("default_margin").height height: visible ? childrenRect.height : 0 visible: packageData.type == "material" && - (packageData.has_configs || technicalDataSheetUrl !== undefined || safetyDataSheetUrl !== undefined) + (packageData.has_configs || technicalDataSheetUrl !== undefined || + safetyDataSheetUrl !== undefined || printingGuidelinesUrl !== undefined) Item { @@ -173,7 +179,8 @@ Item id: data_sheet_links anchors.top: combatibilityItem.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height / 2 - visible: base.technicalDataSheetUrl !== undefined || base.safetyDataSheetUrl !== undefined + visible: base.technicalDataSheetUrl !== undefined || + base.safetyDataSheetUrl !== undefined || base.printingGuidelinesUrl !== undefined height: visible ? contentHeight : 0 text: { @@ -190,6 +197,14 @@ Item } result += "%2".arg(base.safetyDataSheetUrl).arg("Safety Data Sheet") } + if (base.printingGuidelinesUrl !== undefined) + { + if (result.length > 0) + { + result += "
    " + } + result += "%2".arg(base.printingGuidelinesUrl).arg("Printing Guidelines") + } return result } font: UM.Theme.getFont("very_small") From 8e05c2adcb708cffaa34cf62d513312d7ea37951 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 9 Nov 2018 15:27:02 +0100 Subject: [PATCH 423/423] Have translation instead of plain string for Safety Data Sheets and Printing Guidelines. [CURA-5922] --- .../Toolbox/resources/qml/ToolboxCompatibilityChart.qml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml index c6dd2217da..a48cb2ee3f 100644 --- a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml +++ b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml @@ -187,7 +187,8 @@ Item var result = "" if (base.technicalDataSheetUrl !== undefined) { - result += "%2".arg(base.technicalDataSheetUrl).arg("Technical Data Sheet") + var tds_name = catalog.i18nc("@action:label", "Technical Data Sheet") + result += "%2".arg(base.technicalDataSheetUrl).arg(tds_name) } if (base.safetyDataSheetUrl !== undefined) { @@ -195,7 +196,8 @@ Item { result += "
    " } - result += "%2".arg(base.safetyDataSheetUrl).arg("Safety Data Sheet") + var sds_name = catalog.i18nc("@action:label", "Safety Data Sheet") + result += "%2".arg(base.safetyDataSheetUrl).arg(sds_name) } if (base.printingGuidelinesUrl !== undefined) { @@ -203,7 +205,8 @@ Item { result += "
    " } - result += "%2".arg(base.printingGuidelinesUrl).arg("Printing Guidelines") + var pg_name = catalog.i18nc("@action:label", "Printing Guidelines") + result += "%2".arg(base.printingGuidelinesUrl).arg(pg_name) } return result }

    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 }+4dWdO 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 z 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 z%0D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%0D3-9LE^U+`ErN< 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 PcfTJ(pcSrz6y^T`JIBAO literal 1348084 zcmb512b2}X(#MC4fP#u5B1qT(qU7KcxU+i)a6t(oDk@5H3F-m{kR^kPm=ILnEM-3svsX>Je8MHo zM^Bk>`6Y!{j+lI9VbO#sMI$C(KI-bRldddk{{Q|rc!J|}J7HFkQ`9)oY5nO!9yjJ21X{7IeC!_nyMN)p5$-9?>ZVY`GWn=J z_sit1H?fbuzkS3%@xPPYcFk@sV=GDvtyoq*-rv8*FQ{^*``6rC%22~H`6%f4b+Ytb z_R+Wd4*$dnh3?;T>!sL=(n2eim5=HTa)W8V<+~sKQIJ9n%jDzu(|0HH&si3>$NEbW z!5=N!y4||D27y*AD<4PyGCH_%`*(@UzWu2TH7t{lEmOWpR&kbxKHh3KIXJ%E!--43 zy}}^Sie=^Fz2*~x9zQ>m7=HPzGSsk4K05vSZL-D7?BkA8FAA2v@3_M+|H~lIie=?v z#~-HzOJDEdzOt}y3Ng`4C5YR~*ox9ZE0&cH$61x_ICI^8Rg)>yuuMJ{ z&)+M3q!XyI5kx!UpZ0+S%VgEBN;Qwlk?sREHbVIjB~MVvyQF%RA;B_PJ^WC0Pq&At z-2~NcmsEv8pcTt1SE2=7YQY8Pd|8GXmdVGoS~Wc#S0YMWijvbhuQv#^Vp;hRk?2w+ zCN~{lh8mX1$GTT)db)pzXm=^vlbe>`$5xaUTCuErh#uuqkNTqixcgAUGWn=JqL!!o zx#+bn_1YcvzcvW8Vp;ik@REf4yBHZBAGWXzH7t{lA12iH^mrvkAD2d-tLr{(5NO4+ z@*zgJ1dVXlw7IJcH7t{lMb97R>2X(#qKVVRC_1H0Q-eS&mX!}NQYUDno>*G93^gp1 zk3MbdczXU2vq6GpgQC)#4FauLRzAdxcpTQwy>4H7ikQ8~tqT`qj=>(e0d>b9H83$C1H5NM@jsu3b?os`NNUwCu57<&V> zqVbB;{U<`Dg@lsXhsc$GX`O{KSExZ^sb5|Ci%RalyMMkcITC24WUebwyTQ7SBW3NP z28rEm#dsC9xoE-Q^Z)jdEr~ty*Ed%@?&RA~9%v!3%3B z5|KbFC94RfIcl!!IHhZ-U245wEYd3RI(HtGRB~w~Z<|QJk4dHztcer1ok{e#e<0XO z(s?Cb)peIxh$^9mtPJA05^r_MW&c1_39X2(>Xdk0Iu}|9*2tWs5k-<%m7=(9_>sSmx0eGob|UTr z2`v{T&%L*9p4|s(>;(B({Ac^bmmOxhw={6p7R>AC4g2I48M_5l28wnjxhSb+>K}se zi8y_}AR?PYHXt^l) z)@NsXD{j0s?6o77H4B>jQsDm4Zc908>;&cNddCg+Uv-ju+>8wdq3NRJip}SUk#AAx zW9{{Wf*m`LaXT(wUXB_&K|c2Mxit9c(k+QL_0BU0O&2BC-*T=ue&=nWk1g%44*I^Z zEHVAT7Uih16Xc`MmRZ4zuhvK``2F@ZNNAZ_@I0@|bBjYCHLso{i0gaZ>7M`uTA@ts zA=*2T?Y?bo4yL8$u&$gtgb&J~L>su~TgWSOK)KHePHJGiS;Rxsws zR4!_?tm0~2>dw#ySrgT?&C3QsZO&F&CLbrX{K3y!H9B}G_p4mgXt^j^d&*hf^4G`* z5#Mdw<~Q#&F1Y)v-MOf-6IAm1$`<;+{by=0s?qNTp=qjJ>Rn4iA7y2={hg1`3WDuU zYt+~Y@*#)>5zk&!#UM0Ylw5dge<+8@Rf2ML?SVgXQDY~_hbVc1N?vW*cLt$pYL9+l zO^3CcpxSNz;@3c+70N`27Idiv4;H^B+C!(M<)Y-iu6@PR9mkchcB$Q8seQjepp}-% z2aP-wi9>gG&qa-vsXh9H{ewzQqZ>v0kv%GMv=xnT+DgmhL-Z(@demzV?Mk6W%SFkr zru2b+E_$sXY9z)kow)`zc7k#xMh2HghV4%_Dn~-gVO>Szl^A_o8hwuGJD^;aBh=Ul z@*zezmqxgaxBlB8G+mT@p=AM#yJ8e|4~S88=c)(FQDY~_hZw0{8mZ6t^L2yJw2Bg* ziR5hH(rmD=)rVp>&~ucXARnT=6V&bpHtsbDO;ele8P1#sThz!&viFuXP8I6}H4kc; z+8pOW)M&XV*|J9eFr_e8(LAWF3JohwkPn;(QKRLe*68i;^w6odo5;c@Q<4MuL3cJcxvr z1tCTZqjsZt&~6nca2~|8v|NHFko0;5>+gmWz^g zZ*C6bF3y9fu@mG2=RqX2tfGWxB6A+3HfN2UARjmnBB5pOQEG-W+kEl-JyA4hxiI-x zJ+ar<;r4L#iX+_7e~R4!sVPcoS*)BkiJgh)`9sW{(KF}b#zb!<@Wz-Ni7Eyo*#ro}Vonblw|dUZ)r@OYV@xO-&Za@5!f^3i_& z^kDqHA&Kw*_-qXlS{ChLwE39(W(VW;z1!=dj+d=Ljh!GLIM*VfWsET*!nz9b8ZXYp z=+m-l!Oiz^?1t?T%=qD+T&hvl*a`AMZNBw?Zt!TmO$MQ96^Ube(MU~k<%_sl`qiLd zu=6euXoa$hcDY{?h}CN@#S*8b<**HFNwd;x=6^I^{OM7pu zu@jUl(Sok%QGw`D2BB%O*Jq4ZB1&A*qXN;Ra#3R^$Oq1xNN8Eq6^xaRBck1Sn_Br5hH_3BSU_- z5#=)Pp~g;-kFc&>(W4AP)2an|vxMwX zuIN#&=uzbq8LY7rh{3>D{WP1SZRWM;OK)IEf*zU?7Ck(8*rQBx?Nip8djPhA0iT6 zio{RvT(AZ;S}sa9esX`3BVYCpLEMs<)U0kfYV1VVKV0e`PrW?CAT+J&O7#!QRp+Lo z-QSMflW-oK1O!^4Ohj0_uGm8^r;>A8T2^hof8R}E9}HX26?@1AL2biUS|%SjmY_z< zDt5PQW*@lT)mAEY*@~i4$;yX5V?m9URUhOW%3K-iT~3So3R`KJe9$f`)tA_NEk})( zi(=zdI5N0m@6{lv&-19JW%40fFrXGZ>B;HksL^s!QjdIL$>p;_quUOazni-|`Rg%i zt=4_fx5+KvEs?FJWvr{d|8mx%M$1LXyMOsUOo<{R*sS{Vs?Ou)=Ef*zgTqvH%n)9kJoDCA~ zK6rMGwkkBNG(kRi{-`o_Z4PR*tje+CDfYqhNAUV7x!S5wmX@u^x01<6Sn}ZPN6KaWh*U{kFW)UH?sHUqDIR_Nov`yXR{BUKe`164FavStbC~X zb!Mi8y%hgtehLtAB2hSfOu5wYMWwFmN_Uo{A!?=>?A0n;{ z0&`Jl0i>Py5`Icl`5+Cz;PR98HV1cbfbm|ecDrKoDb0*4ZRnRgg#d(G)`iO(5C=M z=<~Wlc?*T_v*?pQDmfCUp>&y`+bJw(CeTWsV8(r*1__e&t~2H;POz0eiH-Z9w73@a zX*iwZ;b}PfKmx5Y=L$7Q=u>N3t~l>#mAM?4cg&%rqg_rc2WpTY*&Zcvg01x3hIlzp zgXvN^cxN&eC7?k<<}iGws+{0nq|ff+xk3%5D|?jPM|2LT`bXpgP8wsmiq3&UBD}pJ z`=;EXkLQZKbDQh4?Ls))juZOKgU)gEDGA*cviCvMAVGJ3>;!6%&}SC$Tp@v0^gEZ& ztSkGOm)JuV<**Z|v7ctebA^OHj}rA3oixP>ecGpT!lQ)rXYEm_A%9Ge%zecyd7NM? zeM%b76>2bDDwDlOp+@E^jBwSOYRAIN6>5;67Uak`3DR)hrBxX1`t&4T4%F!Lk3xAL zj#J9)0||Yy5%+<)LaWNl!6igOpM}_bFo9NBhh{mjPY}Upf|M(Jw4(+ISqs*&1PQc~ zC6Dfr;cS2!B=i}Zwd7%1XoW3nmR#?Dt1}kfv!>teB}a{Y&pMtfBQl=nsL zK4|5|8YJ|7a@+?JXhpyCZnRl)eM(YjoU70sSRN%z0yX;lBYsMTEr_*?wV=-_;^jaM z66Bj}#LN{EXr<3vtUkg$WFok4lRw_~HGQBaPB5LBAeyZxVtC)zBv6BdY=3#W7%vBE zkf1haf2I#4&`R$o$9>4LHtbP)zg^8fb{{wc7zCYWM0@%eB}nM~cGW-ZJ}~cb!rp>N zkjz$@ORk?~)zcmC6i{yMk%$CZ;WM?_9;iWra%lH~1X}4Ggm??upM(!}C4u` z3g-;kJy$1Vcs3QUD32*p z+V#0gp*%}dCk<-Gu@jh<{VXJ2S4dFF`DBCY(Cz~@Na&M|xDO=I3ggYJs}Z@?J)X&q z_(0rllDqPS@*OPhHzt950NYmAj)Koe`Jd-O zB(Qv@4@?WKWW8B;Qc;5h)`;l?3AB>+X7zy@B=ox=w%X-7K`Z?(NSwe?A8Uc+f1YuW z!19?T$F$IjWV;X4Ab~Yv`alA$NVfYx4HCGMZu&q1tw^@}z+G8-PT;+1lI>#&YLK9n z0n=u#kU%Sv?LJV01htdh2NGySvfT%2kf3(5`#=J%NVfYx4HDE&b{|Nf70GrVs6hfx z8qM}V0cfdpE~-DvCBj#lxv*X`|rX(2)Kp%H9FDcPe0 zHJC2RheoiK%Ruob0bA4^b!>5{Aoz7I!tyzDFQ zq9m@C>0XAq4@Y;rP^0Cdq+Tt@?|5meLc>ZEv;yG!aCFBDHCir8>Q#9Bj+eG7G^{j1 zKJbngYP4LG)XzBN1Mhfgt3ty{6XXN$c%eqisvLZKE6SBmcf7QfDhFGUZ+_l2?|7j` z%c?!}-Kem31G?j-tyFuk71g1BHo!YxsL`^D68jx5ZB-~^iLEFW^fOKvi2>d5LXDP- zlKNRBjH?8-BHi)QR)vO@Cc?Oq@3_+)FVtwcD5;-u!nlg=cxkIb!%7ojT*-Ib>5dm_ zv|N8+kaxULqh(bNzP%OQJd=04w3R9cTaj>)tbJEq@TR-=Bj$HNX;d2La%Y~ zn+)oUKx#yd6M7w8B)_+$<`4YhNu1Dkam2es(JdQA+jE6JkkI#M;yw%_x-+B7VfR6+ zKGtBm`pL`cL(X?9?_59no>ZJbjlO>smOM1o-Y<=p9MeK895GBE*mLw= zhAKHnk4caZ)*yj(XcBtePVWZu&7=5x!Z;?Hg#KOztp>UOn?6vZZ`0uW&hffJLf^$v z-`L{vnLcE$!Zz2Zq3X+DnF-b)p>J}&^6mC8wP5NTk}Iz5x;Uff^+AQ$}S3 zTIqXPaRN0+kj%AimLpEEmA<_d_d#iKUFq9YDt4JReV}(F^zAL14^9iMGUp0=k-iUC zS&yPzakL{L{mEOCwp=lRR#+qHCFi!%q^&Ix|r|B9NKK4@8ZPY;K5vBTKa~NnrrPPCxSId z=-Wy0+C>7bh~`}ivvyHK<=}k=Ovxlrg9Ozf?;vC*&XA^NB`h?efk2*7f8ht}3{-!s^6%v$pe$$)E zWX~09kkI#};^jaBt@ORDIHAv-%r6sQO`ElgY3Z{mHD1}D?kFwRAc4NqeegFD^j$UO zgCoWyFuzDpy{X%D@scBfR@6>*AE-e>-|>t4Kmx7wox(UFPh#Y0m|A&rz0vRXT%ks; zqk%p&f~}-)>wXDpaMhoA-5w`+RHNT{o;O<%HJC2Rheog!rNmE@={{J4>5|O9n*_!v zMhwQZNuUM^93L|iXeCGOur*BrHArOMXFvk2a7V}Vf&DyQrhgus)L$e6bJKmx5uw)=?hesJtkne35>8j_iyI%L@_2NGyS zvfT%2kf3qQ?gI(5BH8W(HAvu7pIHth(28Wc57gkUD#>;NHAv{&De;jS3ADnUbh8|o zcYTf*Kefa)1Nq>QlTI-C1dCGQ-_w1t1_?TwG`><0onT>FXocrr={~p?u}oNRCV?6x z^ogmhb~)nEN}uD#3DoEl<;u?0Fjq+EGw-+$B+!a}=UPuMIctz0fA(h_Obe~BHBBGb zQu@qO?a8ojlfX7dLZ8aUOO6CuVQZ%Q;1)!J{Mnz+F)g&hzGC{oQwyv&l6h5Q5~x7} z%a@rzE0XO#P=iF~-6$l`3itiYT;a)2TA8eKlq_wiK>~f7K9E2wSthFw)F444c;>p| zH7;6_%)gttLJbm`*VIU$6`tLjKJW>WXr99{C6ho65>yLJXC}}J>(C@ng9Npc-3JnA zg)M9PKn)Ufj%)XU1X_`-TadnoBmRC=4$W?QeO@U4UJcJBYPAG^+sPpKZ#!u^{A)M( zx1BN){I{Km=D$QG|3;NTutw%2OqXQ-TT+!1Y$fTr>hEKv6a1I6FkMBczoI3+>pc9_ zY`zmmwafKGHHtEq$#I_Ae@6~~bLp36hv(5>6QjS*h3TR{$65XPgV{{TRtt$^w$R`9 z(tpp3%j7sSu5cqCM6d=4^jIPVmpTqehP|NACU$z|T54cLm-+ANzsP=jkGZSbN#S8w-r`J6$2FOg;XONb=@)uF^Isoq!o zExI_tnmDoV_7bn{)vf=5U@M}py`aRKHM5_EU=3Lzv9Nxr_t~~i|3I)6(caV&Z|H*q zEd*=G3W=9TmwIC+CjWt8E23${cysem3&9$)G70)i(M0^V?S<_5r(WZp`QvrIN=s>w zxaqsbd3Rq_>UH0sa^*O$XHRqASwF)^%^5cxmv_^cQm@VJsx@hp;9NOQ$F(!uN8agS z_&{ROvq$GOpC*VC&yeMCoCTN8alOP%6__iu;(nuiv}v#``_?s`-KR!&3pS3=&3mb4 zsdwJ&PWk_RIw$X7-BNF1qO*)Eu4%^^eB!d~3pbwXHtE|jARnwjqV>kCyeFEJdj02i z6}jp(s(ntAt^?g$A8TX~XodCWI6VuV&%W;Y^W7H9YD$9J0Es?dHp@GwpwyeNtB3G0 zu-c~VTmLoAeel_BvaXmwE39?uACA*v)YrYn4WAvjb^erNAN8WEJ9o{SE+XTH#ku0| z7hf-Xn)*AVlZJQC{`Z~J5)Ym?EkF$tR1S`O;ozz6*;{s0PrUxYEQ3I+CCSghhe3b_ z36g0{RJqDjj=ps^Sj$BAy5yL5B&xLeMeg;b`#=J%S`NtrV(scK*+ZXxDskfCi2)L~ zeAhYehFeR#mu9qjC2=iR!b#B2W|jaS~%{n-r{ z9!y;J;Y9|4R#aCUp^o!jmlfGpecI4n?+rF05s8YrC*@81xx_o}&i2B`cb%7IUq1E} zclFSo27y-CZyaaqtk&5NmHyc4K(EcSK$9o9jxvfiLFf_iHgW`rUDw zS8tvD+6#>n-yb(i5L$zTcSNywa!!etIxJh{ivC^tNv&Q#Z<}KfXjM=}t!h*YX3AB+ z)m@^Tpg*%5s6nD&d)>{9Q_K?#{F9anqmuFQTh z7~!sb`GAiE<&dquyr8E38AuIi+Kp z>^;vkbcYTX{R83^iOD01y?Ogfyi0EBD0~b(zIFEglWMt5#-DExXoW57I7h7NnA7d= zk?z0TUwo_|lKYG=^`2|oM05>60eCjNR%9(yigM-xJ;E3Y(+G$qS6W0kQEXf3zZXWMfAXv zOS}WG^|6$LHDrYZk6r0LkYFpKsh_LA=^d{t){s@4P~+9J551J?wDSC*&eodlD+`Lf zp+zO$Thq^!eS+KIQqfo5KflDQsMBARqh4{xHOm?d3|j1Lt$dwcd4{i@VPb8lLx4FBLx+B}(2U`uXmwO1v2pC`x9o zdnq++>$G6|HIoylp`1jkOvs_*wEW@uRGSWyf@fy@Cyn58&=~Xkl_lO`2Wf@;+g&fD z_U{@WJTT||1ZuG4Scl@P@@;Zb+i!c=fBuBY?onc_4NfZYmYmr)e~OS#Xj|gFJE*U$ zX>M8ZSCl@=N%<$e?Qi~Kf=lVL28oh_V(<23iFako(?za^|L@1t&=IwR&gH`l0VL1n#l7&UJNyCX-~B9V zkYM@s&0R!XZS6V3oxU&W4`2Gal^`o~&9E|ihPz~VUqATh@n=wj>9VXwxCs>#-4|yr z^+#TCzK`*W(QeM1cb_}a?KBoGMW_FjIBmlxWz%L{Y_uQ}zZFmSeh|;+ckiM|Jh@qx`}XiF zQroBXHVCxBp5{0Wc64>W%R5;1Vs@7RHApOKJ;QtEg%aBSZ}(t#{&&BZ)%x{l zgFq`BF&t-3yZbAscB?j@gS%CD~YdPzQ!QX3Uli? znQ|p_C?YYQLzBRqAVD(qkMxqq3AU27=!1$7V~H0YMv+g{?{q?)E156il z*u|M4%dzU2A;QObf3*xQ`KY)1-jazG)N1r(O3xgh&nxzh6f?lZ1mU?!Om% zEyZ}X{KHd4IUXNbGpLyw=>G7pn+yW2aApvDGN)G$TAVb{z4P@uebgX<WA%yz zt{EL?+RP<>ao^tVcO#DuP=mzQUDLhxB6e@DP3MEd^2YnOjUVW)-B#Bi&pfdB*Bj*iXM970Kr3_gdhc`fDxP0{g!}kqLj&v+*w2xs zI}^pvwj0;ct+(LR05wS98ea6lc^^N!@ZSU7`)W6e5qhO>=BnwtNBEDPSl|8kX=fR| z7X4wLcbo(Ly7}iV$#(Z_>lL5|39L7*fsyYxKMy%PXf(FI zJHBZ%gFq{sB^+nbr@6t4HyrNnx~E!z8YFP;a-5~dwhBIIndN35xy?rn64>V*=aM5% z3zq#+&wZ@zy9R+)xN;JIZ~Kyt!DLbLU;n(5?tb;%YV&V12(&U+ zWbd`j3;q&54h}xdM-37<=8L&Dd3JD5|N8F9bC*{jfmST5b;+L%&&#I0xRG-fmUBO# zeK?kJ-c>tyCZT5JOoV#c9$s^EjyTtL>3o~hRRq%0Jvxcs@;ZIlsDF)Wx%E!FMiAGf z5o|>%vFtdLx^>Sj+kBB*ZQVghu!j0M%5+XKX~P8J#D7Rqdp&Mh=>4{Bkf^KP-XmrEKe;B@-E3|e!B&(jmW7XH<8yX) z7#VzV%6>_(hJ2tr^ri*gSr2p*K7I%u$@y&Uz~HfC8_Bw|S&Y$N_g9W)`vtRN*Obe6UPU=5vF4zPKre`U$0rZGdgg&m!prYludIC*ReSVKOvxR;`qGL^ z?wk|rwR$ulf@?vHy9S{(IDQbpwIFllivF=i^pCVPgN{nQTDB7^!u5Dg{|3ZWJUMI?LJULcf`pGiF6-GuuN8T8{6&!H8vvM2NEok72V&q`#_D2NcVvR%Vb6O z!tFj#VP>fqkw6U+B*U37_=pp1CF$tgnQon3^Y!d9x)(nD znLoq{|L@)DE;w27**3|1GVVA?poU~Vm&cS$0yRjG%qRSn6Kq9eVGfKQ;pQKa$vmW_Nw%}>CR0}eJRu~Ir3(8!D^-eO^ zF8UMi$y_(Fs#?cCzm96GaX!%3GK1X^9Z{2BMDYfHR$meJYv z8#jON-#u|=*^*aA2dF{fzs;X;-?*W~`@Qwag1F_E+QHA~&MEu5U|4_}B(ln{bm{H0 zjbG5&_WwpU4t{)MPT9cyX9lQ2qQPmSWxT0(uwIzcE$DLUq~_Ic=xh*Z_5MSJ?yi?g zynj7H_u(jJs|}u;MG^UV6)!>2K=-tr24y`|WQe;lLgtmT^q|4cIa%8e4DeCY zpy`mrZ~3L(_|E1*gY&baqpGQPy4l2fEpx@>-^tDzduX7MQ!PZ(CekWgCP%1ZoYSa zD}z8Qv#xMm(s+my_8e6|Tvu=OtuBA(o8)@6WN4svu|~vT2y0O!(CYgJM@t|4rk?hJ z8YHkrOdm*~RnN93NgsTZT>C%`5*U@H4T@4J0&+10<)a8Yx_)%EiHYNehxeLy~@v%7x+HAtL#QO&&L zlcnCDIcEtUYg?(?Z9O-a_d)`#=y%;~MgQ(4=BO;X9gXdQHBB<#hLH0|M4*ObzL$Y1 znFMN(AenD?R8FuJ5qulMaa!lC?n%)#aPJ(KG&FzkT7=dNBoAHHGw(sMmUy}yy#T7`EsuzZ!5gKnO24*AZE7UIsBVc-+Z&=mz{WjA~ktN z)>W&oFv@|%_xs!CT_9Fu=k22VK2vA!O-u~tWL?&2ltG{s_F%EIJ@GKNf7Pp2jrrp| z*=uRcp#F@+wq*0XnhQ(3N1D+cmI>{1-S4lRyz0_V^9=&6u>U*G8S6gJ<})wuIdYdH zocmbjohiqed+jG>eC8D=*ouB<*>Ub)wR8=ic^MkvBeD{*-u>v?e(M@O^NJH}MZdEw zeALV-=QA%ugXs#HcU~N4F9aqk0UWNwK6*BJ!Igb1OHG)uQ zUU7o0=y#UIn=d2hmfunRrYupmjgWaSD>GqeVg%D-5P9p`az2$IAG}*fG|IfU z=r}{xUR%y5KXD?mqTEJjMT6T-FXz)GS&mR6a|kl;WjaosON+|+1S?KNR>DUlJFENk zE9X-(B3MH{Q084c$C>?o$8tW2ixZKRNGXz?|E}A=hEMy5U=8^|S=a9S7e5`HD8`A% zN~9FY&SR&)wT4fAh@gH>`=8_kWxdP!VW0Zte7Y1TA}f(nBs+t@9aPRISVXXfe4xyG z*5a<(z2nRIlq^m}RwAWHcJ7%xzno9vh+qx*K$-V?MO>Y5T{)fh`Qo%MPDEBBrAT)A z51m`i=LVE6Ye?qUrIh%0aYhdWYT`shiw-i^b+4bgM)bv8vcfhXnfAZwcfHDp6BvDL zMFdBTa1ryt8cdhusQ*_=u$8346YO*!JX(?!k7^`GV{n=e*2D?+m+k`zwvxFD_r=o* zsvnwV$SO|glLl-Lj3ta+-RAMyWexd2f?GB{S4glG(V3%!HDrYZw|}}1B-l#ULNtoT z%faI-Ss}skCe~MN9xD@6Am%_j`6P4fM!y>b=G{g_?GcFf$f3E4thfbPmR90- zj%itPgNQUC&4exol>vQldyo&VH^ZNBViH_Gaf0hGJy%FXR>EKATyeaT5AIPUb5Be6 z!O=%n9LFT<_K24w(!_|UM$$@-L}V5Eu(u!)+y+QQHInATXh9xvgpVi|(uhbyRzO5` zSSb-%37W?k0mRxo(g-UgbbE;YA=g%CT~`>zE|;8hcz4-cSC&|n#wVUhX&K>Ts;oh0!lwDuPy`#rKx5}~C_?NEu&HY&Hw>^2+ zzw&WE5mORxnLb*>{p0w7?yGxmGkjpWn3Aa64f_&rbyhg#gN~7rH-*9k$^w z(Axvu?|m=v%f|!Ud!GNq$8>Se%JlKY^Uoy?|8bzZ=b5j4)F6SoU*ZP#fu|F#UhD17 zpI9?M0W>&#jKYLLJ^Iq{9H#gh}km!3QEipBf1K4?6U#xkg7)os6hhv7R8spzIv}$A908NG;x<63Bw9%-Elstc82@fr%l`& zb5}nrpQ^*X1(srQZAY~c7vpcOtx zi)ZI8Id0jrz1)5?vVGJbfsrrX=lmw$effdL?&|T^8U$M5bF_H6TXdS+<<#TdUQey@ zQG*0NM~fcSqNV%k7aiR{FMr5KE9^xk@%!aX-HXLd+0Vs&WYi#m@#Z*J9BA$??_S?c z=G6(1Kr8c!zR{h(CBEK}?FNS(8=wXWj8O4TL*1VfFHWrQzSXpyL7)}x`#H|L8=p>G zc4s|z`uw~AHAvttp5x?Rz9=zbY%6!)bKL{fAb}C;IH`xPPPD$Po_l=r0S19qxbNpU z_0Kviu}9SIr{X>`YLLKjMSPWO?($xDhKhsO4YJ~0N94UN-UdAXJ9>j>%g0lL{*SMIcFE~C_^3ewzh)-ZaNkZ0?rv~r#qUiX zGYGWmyy&>R$HW)q{=R_rUaM`L8Vnkf)r?<^lRNSNOvt1)9@F!Z{H{sWJ!GYGUgF4-h6 z_iFL=i=)ZM?=MdcKI!#c#fOuo_^3ewzkepaU9x*(5X?B;FIl+UAkb>rBUyQCE*9TE zJBPlivhtIu!Hti!_19Dz;-dx${3@IHeo4v1;E~-k{qH}x!64A8h4{K$4e=GhBNx(F zJg$3cYVh_$3IC=go{t(N@auApQ*rIYpybi({FBd|ZxCoTdu(prtYP9^DUW>QzA!bY z@r~!ty}6f<8YIl`c+I?bVsL-c1^#1S%`phH`gKKaUUlK)u6E?3!8=ofjfWTb-Kw7I zqXvlzNuR3-;oc2W*Zl4s%82{GP;K&iPe0S(e6{tZ1zZ)k``*J1)!GcHp zIj=4^2(;o^RPE4z`Praz3r9{LAf7B1N%jqv@D=S5ym6A(5MbO_3zot@)F9EKMz63I>IxrJNAGOho}#yZkw7aY zQ~8*f(c^|3s%6w5q5ahsJ}6f&cK=Ec8w>)iv~MD)T<%kN7YVddGR0Nc zg06@w*@CD+qGgTH2S+vYrF~PIqYoTkv99>{bRVce0$bDW zgVI7PO~-S^JvCmV>|4zSnaY7}fURlI6{Uq%I#(1|=tI}y;mLy417&Mc4!J$jbA=it z77YL`Ye_FZ{g zaeENKt*ORcY!6Het?0Y8yt`wT1M`dJz!}aYP=iG4@6L>Rb7lgq3O0pAT0hrTwUg|F zN>1O^vzG%kNO1e7*OftpaYa@fZ|UuU8cdhtSj|z`9tIKi53YY(&(B;}s6k?P+nO?^dp=tvR>+tuB+zQ9UtJQlMwi40Z1aH+ek)^%(%rIe zx0ES|rVmW3UlsA!HAJr+H+K0UmIH|;ReuhBERXrXa-bFF*31=Zkl26257I~FB}Xf) z1=9z{t`TDyqaDkEgg^K&S#LLga6u&{M=OjTGgmko@Yp4LRK}43#|$L&h!KxnB+zQj zn6G5*rk4XXNMJjewPC)NxR zp;j`a85NE=nPp3#B+jtx}%h6hsEZD2(;34IO9aQ!jfZY`SPtvI*Q z>NO%zg9MjDjSN^0g9xAQ$x7EkygfKwIa|unN5vJVRC#+CkuRg2+9n=}m==$AWQ7rG zwjgSd;PF`XK`gmJtfps9RSq4A@hH(6@x&4mR9Bo*dV8P-3C>}9n;S$}KV+rWjJCMa zk$8Agt$kFq$m0Gu#c(f8$&juwPt@JY!s6j$Kijf}8YHlMCZSf4s)Xu!K-Cr2v`Jvwa+&1FAfIb(Er@N4gwAce4N%mri&o)Ld!Po1%q2$xt<>{Ji5IQHBOjqM7X=-bR~SB!z&jz1v*+dZYnncPQLu2!L4!amv#x4gy&^UJz=c8QU#iO3<@!Ma z?}Ugi0)4hTwYTA!!7aBQZxCo@)^6Q1h6J7dI?~;9O^4K3o7;NJX1MZgdzLA7YuOg`G~IK|t0QQy$V z_xt7qKi+lQvnyBJZ4hY1vhuNf!Ii=8Z|?KARGWVvYFH*8Lnof>?R=qM=;Q4bql2ZL ze(>84SlEiKSc)4?MMSizn;E}7cP{T6$$X?#Y8<>4&=;P*X4TDX61_wva z*k%xD#j^5oWd2?LxvQ=Uo^+aKqlRVj(XUF5SIrp^`ZzMbsejk6GlSu;bTA0CVp;j% zH8p+Z=Ju-VlbjaIWJMz%|4t*de(M)CHX_{z5-gJyeFMbq12r}x-3JmZlNEi-#O?z% zHX_{z5-gJy*DkeX!34G7sqOnm?Liu@T}pTB+hs`|S0YLh6eX|L9%2w^ z#j^4tBGIKt-1XytY}Bw!KBl+6C#m~~h<2Bv{q?TB4FauLRz5_Ja;ZnXGrd(dYFH*8 zZzfhIbw3xq)}>y%uehE;pcTu?hZq@L8X1batL37wjhu@$9-RxB$YO-B98 z?R9Gh_rII(D4Tov9+B2DGA)+LN=E*HrlAicP-7#~eIUVdJcr`%%0R9-zf?jSp?rL} z^Cb7hWeNA%H`hhwAPwh=XzE=JCNvEHLd7wj_zvq$XSm-S^=27rY=o-af|`FNYA?Fj zZF6|l6cQ|x)lrY{OD<0x9r|dten%qr%tH5vWZj5BE0k3^KHjr1F=72wx5YbIDNKuH zB9>JBQ>^-q4%_3SJ+%|(JUYuA(50(EpcTu?hah|+Y7IRjg&LO0NA1>CJSqpt;tu_u zg+AqKX@j#20z!q3bn(5fT+k4_ul?L|<4Cgf4lQEC0cYR+5M`m~KcYA7Nej z=dQf51?3$HlF5o|S`oig?;6nm^<(bJ+LUT0+9OZ42g}qR^n^6z?d-6BAb}biq1rqX z!8BQA&J}8Gg!1vRe{AsAu7SbAmTyMoAPwh=O1pg5k;#`<@S1x4*023$d6xvwFQ}Ex zRz#o`%gV=z*SGLX-iR9mqAw4V>o37R!a8U$Lgtb9DP zXIP@J!}MTti$U3_VVQi;^X~Z3$#C2~ykucw+mlm+bBp?AqsB(4Hot54dx@5HCj?zi zIl~~BCab?M`zC+;wEWP=HGeqnH!Us-&il9afmSH1a_oMki@PhoYcTQ^FB{WhnTV>@ zx8}dPIuXWI;lM%e>79=aTE5-IAkd2Cu&yq;%DsNu-TvR-R?9{W%jBa^owvo#M32zN z(w#E}(ae8+^E+8=MQNcG%gTqigDt)eQ@ZBXNvSN-)Ny9YUc@rfQ4bc2QIlYejj;Pb zf@Jog%Mtg%8uAe*l#j6FiR$lmips(1a+#<`ewkJz%P0PJjjG+m(KGL8g?UFSmX(jN z1>K`Y^(aFP%N!+3P8c2f2&2TE_w`){K~ch1EGr*jB)Yk8{ZWP*mdOXj@wBNIhx11m z?e06b9hX9ljUd`_!XD*5SF^oAFilp}yLMhOJoFLvT6bvYZV`c2D64XWBZE6)XMPIP zVwngUSAJi7QCL^u=;J=T>P&+`E0&dyaD;PDEgO_V4a?+%M!w5O6ox*+QPkc3WPgJ| zE0&dyaBO#Xt@lzmr?N~|G-{6@L zW}}8>^3me_p&qYS#Jb%-)}-hQ$u=LLu@M#@NQ5$3amiI&nI+e?NMF;XoFJimh&8n< z*6prXx0g|AY2~fjK*?lvDRETxEBv`{V`C~%mO03(7=q1+e zX#~+s=#q!IN{Ds4Bv^y#l1#rVA7Nc3#JYVoYq%V2g|#k6IEqA9tlLF<4E1;nXPIbf z&2cBL(Bp1IpvFcJZTdihW$8ook8vkHV)FqS8)5N*L@1M0WhK{-H3CSSBAdqw=~`{EaF#J14}ty^O6WEwo};`4B7QfZiVz z>-K0q=X7yy=N?RZ$R@!WoZCs}5uyWx&-PjOac z5NO4+@-gl7X>PTW;>1?Jn%ohlv`E8N>R>sz75MyT3t zGJlMFl>bel{?Ix1A;B_P(Z2YsJ$d1}eNN(hcXLrKckb3|Wj3pHBHW>O#d%a2ro}Q5 zw7>tqOS^}46`lgP;ylVA(28YMSKE6$@*s9~9W&^bjtr%UJ~Jk4;$d6Yq*70b$p zI96*X}ESNT{@4{aTT6gy5c;_Akd0s9 zb;Ws93Na}AYZJa`ljZnD~BSSzV!;!yNH3+83icXh#j1hm)^Ym!}jXrf3d|zg>N+-h8 z@Sft#s|?d(nFu;d*W+$@;_izxFM~iUmQ`JeGcP*T_r;l4OVqGTK4`a|#(a|HnHSw0 z2*jCJ7F$tTXvMPf5$@0j;>;_H_U=Eb{hCaRWwN5)RinX^p${ZbVPtf{~z#y=8Syn#6)4t&2=Mvd; zUdJuSGNnsn*EgrU5w>7>+83N#(kB}=HbUhpJnajLp6PE8Op_JXy5oeWeZk?k4Kdoo zMkpWQXRIWs{TM4Gg zitA0a2NI~U5y}U>QAJ-5`1|V)sm00Pl0%zaET3hmv{j$GNIv(o91%VdE6*K}LJiB5 zlO@mpEmKmtqW5v=&G?t^9%2$;#f0)f@BGkr6XxvfmqHE8lfDi`5Bf3%)z^--UzM>HrG-{3D<2`@ ze{@G)8ERPOa#a0%ROlnjmEUB0`}^36(jtFs#j^4dmOL1=^QtV=uuMLv-X7jQI`k3N zZm{moz#!0yW#uDm!Qkdijk8h1vh*P$rdr;Z&`CPgI(GE z$5t#WAJqS-zC>J=p@wB{4;nE@R&P`hCF05;sCLpEqJQMD6{S@G zRxB$YJo6IgbnKOsFPaghp zIYl^Y*dG$gN7$oW(dGuhG+9v`^WV^jdXy{TsvI>oLiq@Ll>6$t&RQf`mbsEWip#NB z^(gn7lB#P}ge#4WU>~war4dY%6-B--N7$oeu25qml#j4Sxne9SM}lQp4$%v^)*VOG zF7+r^j8~#|wZ=v$AEE_aYQZ@}wi*P}Wc6#;0*I@1`%Z96MU-Tp`(`<6Y=rV5BGIKt zJR2Lvfp5|yA%jRqj}I~l}_M1h-tA*#MZ6HCGGPdTakCPVp-)1 z=Rwr4ta8=R>>trQ$X1kAiyGRBW#t3sLDaAul>)U|E%edX#M* zR1vN;HiCWVc@PPf$%WJcpXuhWY#a<(zbY3sEK{%jtDg9pRfpTdCzjh%=eW6t z9Ujcva(hIe70O0Ad|HKLS}YT>c>bOYqYqnAT4=?x@`0ldYFLhPHTX9DlqyEJ4GCIh zuoa~x{e@O6D<5IW-TU6UtsFHht8(m3uKZc8KExl+Qnl;uIQbsoLu+gV(c-JXss-H# z{M+|d^g{@>cz=~>` z2<1b>6}4dCe7H9kH7t`4*|Mv6r-=7O@9gTdW-CeytypFsYF~6O;=8C>}QFZQ$C|#8Q*$4S!g1)xFvgrdg z&z1j>Y%xgt`)40Wbo%w%WQ&(ojhH^LrLp*-DP{(br*c+@&btH|*(#P$W~C z!oPTI`jDj!HAv9iAN`Iy`alA$=w6O~V;u?9@YfyW{BcORLW1tL=(owy2j&W`=y!cj zKTfa)34RZja+qFMOrRCtTu&!ZgM@6S=#5;=6%uGgx4-%3x|u7~AVIQy9*h%gMZdFb z`k;v8H$9E_E=5#UvzCM6l{Il9gAX9+UIxF>kG?bK3JJQOYL6033$0|2vi1+uAVIfH z^|uqS1(852TH)CH2WsdpC-*x{DZS*}pOK(Dh1};e6KEyJ6>G_9+~t-cnb%iD@b57n zph1Fe!{~S1jk*E?tuT5_9~j}Z%H(u2M>}eepu1T5?S9M^5@>}rV&)1pNYE32{z?J* zKmx6BRcrddUc~Qk(};6u?STZz|J;Ixl_2cGU00p${a`ihk!Y-}J$6{ZiZVo5dv4m*4Dhg&HJC=696SeXxe!6Xy3T z<=5q`;}vRu*hLKz^mdg!c2PrbK5_rRl+0YA#vsDCn$zP733~g8 z`y>5s@8|SBACF5U^V_TRuAF`J;alnCoo}v_OzU=zg;+U2g9P5d&rF~d-uO2O%oXK? z-(;kf0nc_Off^*tcN8(MkU%S3eWd%~dPjoR?e^Ij(?YAvEB$!Mxec&PX0A{}azu#s zXSosrtoUtEOC)0S37Ko5vPjf1O0gReLgu&YV!48-CW5WVM}~5M1_^!>(NYc|&1_^#A)>d*&pjGBJr$n*{YJ_CafS&LPSCyGfu12`pb`0GeI<4VcVDlY4|M~ek+BdkACNI zC7oam67-};ZzZM2E~bT6ltWI*^nn^A_#LBkA4s4Tp4ON?u;iFSe80scP=f?TrM(^pO=&`Orix=)Q7B=C-Sx)0v}Mk|`T`1d%W zHAv9S+)U-r1X_^~JHfYnsebr2E=NhV&u3Yl2dU(&L4xnu+M|RCw32lgp7zE|E@Cv) zAi?)+Z9eo#ZrTa2)d$uOzM+u0u26#nzI72Vhpu*Z$V0n`v>3BV}INW%v?$DVN@f*_wVdJI4!iwTn^MA z!T0Yn_z3F+tumLKT8iU`?pd--_c}Q$&64w-ZSu}{#7UNIZfy^=;(M=^6POkfe4{nJ z`{nT`VRxccVw7#nHxw@amH`44xbnj8zbmQAiloGd% z*&e9jTS1hr^cUS*!V#|4)pb0+0nw*z9glB4&^-XY4Pp8~4H9@iATxnhneQ5)1_>-* zx(^;@(2CZm_PRn15}E6Y2yQ`nr!2ggM|Z#UO+c(&Op9-bQG1|ovmB^Fg72`UM+p*W zg}F`lVU#1hbH{h_>^_)4E35_62h}LuB&D?Qz9_AnIi++Wigt)_Nk?}Fv35~ow4m@| zZ*wFlCv3$xXfu>N?B~yP=@_;Dq1CQIjOyT>yOQsuVmV}5;kp)Elb&8Vhh|-&28jaU zR)`8_i94@?WKuw_jjbOV=HuXF>K zW%<{@tnGmsB;;S}IwXQuvN9!WT%iWjmGYqxp%taX?UY_})?m6M^Y4`tY$bDR-Df}z zrYrqrB=~kTS+Pth+4n_Jg9OQTf;8ODbVkcE{myM;mK-%mkbGzaTgjBHEr=RSSIUP* zgjSRiw@rFEScB=3%)eJou$9cMwFOaw=}LcA0&gKmtMH7LWc!{aYLJk=ttY%lpcTn> zAE-e>#2C3Dh95uwn1~6P)8L=W0lx75#3nE3-xyMd@Oh%v_Sk^9O1$UFpwC;Q2D`W$_qAvOP*rg9Q0t+AIeWXhpK!2WpU@^4WbLfmS5jeV_&j z>Nj>DNT3z=G_&NWK_c^PfCO5RY%d4ynB(3n)w=!Z4mELtW6UfE5+t(~?u5h$*dvJ( z{3KHe0ed}}cUVw^yF<8ZWcr}J9v*!p5sn`u^Y12s8iSzPwT?ap0ajEC8GL|7)^wO| z<{e>73$3UZ*nOY|2^Bs3?F8KYKmx7soWiUt+>gdxJd*8gjv6FnOO4Vnj%j4||*A_w$VJ^-+6R*X`1Ks6m3i z6_~!ui5j9gCzz61SExY(`%Pv7tz`RK%Yhn$fSzXhFbJ@c{n742SaB_4f5d(h^8o}} zk<2NX1Zt3=nTTsTGl5nl+kK!037U!QK9E2wlI=cFg9OcLb{|Nf70GrV{GC*aQTpmB zf6r3(L2C=51_}C}DSxTbtX(9~3S-(NP=f@GEBs~MN(ivR-fR-s2dUTccT2H%nFMMK z!uYc4|50|{@ljM?8((^_(tAtjHK9s&_GUl=QUqxN(xe6my-Sr2ibx0P2~DI|Av07# zK*R=ug4CaafE1Aq?>#eflIQNuM&A5&J~`)mpL_4QZDwa@aW_DMYQpbdrFNu9c;71$ zm=EkXd?T$|EA${iw)-gYCpZe)u;q|{0aA64GFS2%35PwcQy0` z5U%@&LeOam_Yzma8i|g_qJiLkQ(KM%=0A8o(1S!0qXcq`QNc6l|D8epmZ8-q*LjW} zvYD`InDC3~IChc1D6-vGAM_w$^@ytm5*S6cy9RoYus-E*Z8;JcWznurg`o!tvfW3C zKfzI!w(Cel50-1`y%xcv9X};i$1ZxX+@wGG;qO$_rziZ45sP;1UGyjfeXjOe1V>Rx z+;3_-&|`h3k%Af)z-Cl(Szk$dap%rJ}km@g+mXPo79tliO;uU6h05D_7#4& z2fz7b>AB|vGNlsoDa8LItY`fGJ0FlKmFN~MgMI{O5TEf>TaF&mV8YUK&7eQQ8RR$8 z2A=fMgXQ8=nrf}^$$lDReE))M_d6`;Q3%;1Osg6S0a29mAR6GIC@z=U#I~P?LL^2J z;jXc0S+vggbfZ@E()kW;QX1WKz7tP0-)XKdqILIs;aF}|vOYTBp-ozYTZlwdvf)8n zp4eK93f^+`AVIc!U-=UpMgMpItOz|=F4?a~a1@mkY@R22uw1fVkKicM;Q8o3t`a?1 zF4?a~aFo>!*LjW}EZ5R|ErM4DtE3=nd*UjI?XH0yB}Y>BHLX9JqjVO zEZj8|0;1?DBZvlgD2mIaYX-K}zQVFFifnfc^dLc}b9W6SFp6w<4fG&EySBRq5*S6c zy9Rm`Lhjn`8VUhXcp6Z97d>Qixj1i{E&C_H_rwZdJWRv$i> z&>G`jEA${iD<7Y5{52BG!YEwF0txO>g*ebR*x3ix*C>d>^;p%Q`-ZGR_ZIp6l4SG$ zRRTRo(AvdxZ~~)nwNnZ7AVI5=y9N>%g{z&afgU7iRdUxr0;6!XQ#H_|5OVEu*H8$E z!qv`C1J*%`;&N$KVmmm2QMlTv1bUF5Rmoig35>$kPSrpU60|D0YaoG9xZ0^2=urr{ zcDZXP1VrI#=cl2pgNfzRsuV;+Arhl-we#0dS57XM))KaZ6BwngKBt!SGG-PXZXUQ= zDTJO@<|p5&7ZRWTwQc)Nx0$^C;>*t*V=g+WOCr(3HeE0C6Y)0jPF%b(<#-=6>t{Lr z2wRV$P&@I>!}N=6=wX`(e)`we;I|t$mcRPOQB)I*V%xr==Qk+RFUz5aZ7P?a7q&I{ zEzR`nbsR-yVHDf8hC^7tkcS?&6WSra7hr2RwX%MNkE0UW;Y3;5&Nm6HUt~-8r9bqr zP32OL(Dx8*4Ss7j{hA<0kp@PwZMS3E>%y=!e$D=wB3%xC)Yimy0z*Wx5Gzj0|!y95KJa zZQ1H5g<#s!NQO_uXY$_NclzoW?eF*M$Y1VF^tchW#?_C~dE0Fqr9GQdMI{`XqVS%q z$8+tYsosb4hiKvXip8Oa^^mYNWbb;ZcN<<$s}M|66n^)_pUzYVC#IT*`PR2D|DZEMKUZoPq@euWP`Y+JQ*zSClB&^ze) zm;N}4%Hr>_AYp4bg!OBJ9OX|~CCP6n*cwi)tY0id0;AZrHRv7mG^^-W5z)i8RV(Kk zL$-#~yVfr+a+Fmoh@w8^^*He@=JHoVL(s!Em8-71&O7_fm4}-u1V*uKx5F9jX8*4n zgrJ9QOGC~y-WjYNrv&{jxyLisq>~KYv!W=n=^RZqoub%Q3Eqn+iuWi>!`V5>Rtf&* zEqVAGxnz?DeYzM(@EvpV@Hg+trv04m=mZk{Ru%H_om-2LE$8;Bwcq|MMH4in&Hq>1K~d~c2+E*q%lW<6q|R^6CY#QvT#~B6-jD9n@Ea;z`EVVugv_NfGVkl;6(2i6J+j0&C)e&0Nm#lIww zbghs;J$|Eo(zW7upi>mTTR)KC-vS^Hju?L9e;|P#B(R2R?;?Rw{7V9X8t6d+`%Trr z7V_^9P`OB}1bUF*Ul<6i6%rT~JRg_?r1=f=fg0#Rg0Ak}XDt#KMK-T1YRl215OTkA z*H8$Eq8-j%gX&K2q~;v(PR8$%4s1Dkh-QMc*;d9z6}`Vb zuvS(J<>%St;WvSk&F>C(A+WwsZql_%s4o!wPHA@yCNPTMvmQvG2MKB)y+=4{0;Bjn z>w$#TLit<|dH9JWvat{S@0KoFt?4crKwuQ+M%A$PS4V@!6+P)h<&w?XDuEs( zuzkS^j3V1z13d}>?Nc?Zvw_nN{?!F)2mgLUU|*q!e+z=5u%zG`3gP@(MW6?13gIa+xP?9 zfdoe3)sm_~p8{|T`J1y;F8$yA$_qV6@Ef!PYlQ?x@msnB3A!4kw~CX8-$~B3a$gxR ziZtlm(Mc0jD=rHO{^oRGt&qSd`akz!(!EP>o2GJ!em#Ptu%}fGej`4WOYicgH*=G1 zUC}!$UvL7W_)YnNEk_R$!S^U6FbelXwN~gsB8f8t?7|ooe6QtSM4%Ru29I$5HHN^J zqX!AH`7VXp4u689XuqO&e+Fux2g~I*c_vL@6qUpyMy(Zkkl;6mx@#nq<-CQ|ijsE1 z|LHgN67FB&e5O%CZ;~g1Z0>2bR_H;3-$@@>D?#qc(Kd4LXSeoz1F=}3IS2H2h;oF18aq6 z27UuOMd41Qwj4c3kWFv84b<=_IEw!7KBLfsU% z|3D4&AVIc!2K@<+;@=1e)IblGi+66-4D!>_R2GdGdcK`)-ceP8qS&JlvK>KAeMmqQ z)sRc_(*O@eak;@yeOMMo;dO$l!M`zKw^rWYb@o^OC5gb^MGvhE352xWS5aJ-_IM3h5Uv&X zn@V7hB0(!SpM!!E7=u|1jN&(?2Wp@P30z%O4f4>t=cz1ybG>ED`RM)$7R^ESAi?j}53Cgu7=@oYskNfB z4{K0gaSh4l|EmOgkihl@Coqa^cMbF)f$dW@@bt>R)J6S+=TenG4-)))UV*)f1V+*S z-P?g4B=~(Gfg0%HU#Q@A{I>=Y{EHZY8dxig!m;4jS1?Na2_7-Q2`ZPPaK!i#Fwgln z6sYb*@cO6{==wJ;}gx_ zn{uxemxWPOlKUs_=s|+NY2~iLWnq+6(tqb;Tr<7(dAsHOt*sy$PFWa*V?pgJeAd9) zk)7uY_?vox8uUa$Le8CEcAzMt`Twd0dPtAnDozCdszjg$5*TIGFi2m?6M*AEf`8w_ zU4sdXvgon=bQ@l6^IOcREdDk**|hSxw;ZGR+v`aaSQZleuAjhmAc0ZzfA`P4(1QfO zjmTYt%fcwSH^Bc_bB-P)_*Vr2HITq4`oDYcVm_=kIr+DG-8F;gL4x1@9#|_Y%9#`V z?j4Hax4#DxRy&-U1U&EK`t%N#OM1K#+5P7BybpSiAZ@1Ad?0~Q{6?U_cAy6dt9`ER z@F#e+<6kZa)IblGi~Xjy14jnYyp|B{K1$Go1pf|2V6BkAD6599s}FjR;NPKe*WlF$ zqwr}lwdMRSBr1zeuT0aGOtMRE&yk@A2|95wt!f~FQT%qOz;>WVA*2Sq2|keE_uG@l z(v!bXz-@BRAl02cNRS@?Uu_2x7!~|k9P}W8&tj<>NMIB`IiwPpL4Jomx7;-3u6@aLZAls4-%GM!ZY-kK`aZS z=(`~Fe0yN6@Tvi?ov^lnwcsb^%SgvKi9>KFqYV*7atQC8(T(bH9NfR7p)z)=QL=Tp0 z=>;YD^BRg`n@V!O*M}Y?$bLP7qpaGxKKp?lESGHe&sh8kj-vnbcvE|qzd=spmEZed zja{ih-;j10?b5?{eyLox`Fr9ng!7$q^6+=jS%Yc6S}7X#TW&1cd8>|#1`-g(-->r3 zocC~8<;r$&Yx&(7fdqP}J2@Ko9Cs%el6G8uD$k^fpy03#0hmrhytt4rE`^yJ{&acs|g>?~x^f+DC7p z4b(saqk?A;JxEZGa1GU#D+EO0=1w;cqhb91MZ|C5&SL=mW5GC-(g8OdDFdD=X7uNwELNw zqWByQgf%zauML2}D9d)$Ko1gD`&>1Uz$omIq< z^5N__*y}2R9we+0<9Z@P0;B#PBhe|>8u_joSQbX%yiwbM9we+!&)hX&c48FS?xUT) z8Nyd_6vZcRvibjNtcMbF?1YErN+G zw*52|A~A}HU>b=YEH{b!B~TVd;TA4d0UPgX)2&3r#tf$rrJxHKl(gc@lX}k6=dazte@3ja%^;;#mjuP}> zxt9HUgcC(2@i-1_IeV~Nvibi>6C7pL)^&GA50-1`y%xdi2bIKk(gSP79xRt^{(sU0 zN0Em6T{ZMzxn#c{!BJF_``XUGMoM>U`2EXdlSVKi(Srp4K4;*4A1n)__}4uH392ve zEd0Bs6ve;j8c1Li()_!ofdqPx2;Nuz1osdBuBp2Qy>*{F6h&{!CL8qvM+vta3I4U+ zKn*Mlqo~)pBvk`FNKkILhQSGp;$Nl>tQC52jG=aL4S#}rIw>M?RMML7PM`-zCH?fZCrxk^ zY48pgNU#UXC7b`BG{I4%!8>&z!5%D^Z2o`J1V>rz_|J0*mTT#~7QrWEOXEM!S6HrP zzaHU4kp`at16$4>ESGHlf6@d;S?&1G^DdTa>A4d0sUGhvbah8>O{O{c`qzVrgfD?s z+ks`#RVos!?N20L@hXJ8+GaWl0;2Gm+K+%McZ%Y2=}MpN-~>kDy#bX#4-$08!d(Li zjKX^yss?(HpgS+_8c1Li-m6hH(4!D?=XBRl2#CUaPJSA2XN#h^T-xE-4o+Yc+3w>C zJxI_F=dOVSMv?8VfgU7i*1BsTfl*|;YoG@Sn&<8sNMID%i5edHzFLnbYv{f?zZI{a zEQ|bfsh6A!cjXhmS@aZR`y|-(|FE#Dvd`QI^7s=(+XTP;yXyF^vHludZth{3rFKt; z;J1J8shCB+J36se7{xZ#Hu3G>>B`TJLl4_jlc;2w^ssb291VW^_lon|6au5zwlzL| zzR93>BG;*PB@R7o+Zyxu*0IF)AvVZQB}@3)#ckwg(U6rsOCh z-{srg$^l04|Lxv&Bd{h^F4IgT=KN);{l0FV%|7z5O$6DgJvSrW3HG=V+zwR(39?xu z`PdJfzQS=u<+6usf`qMc{O3{TsjDfCW^Hzs@UIECsnZ|d_`=hTw%X_MWUMt*5)+K- zjq-&cfl+MR8nGweH&d*CWwbgtDFi)iQ~yj}eckurvoemxlcx>LQm^ux8BQ%%2#jLe z)}UyjGDM#UK@Z!cv2tD-@!Qk?X?8xSMpUzRpZ=;47{#`&L9M3N|DE?<2zuD2a%o&O zOSa$9pq`~3j$HRpAux()qc-#mV4I~_! zqPSLeU!ewixF$&08nWeHYI&`k_Y>Md9DaV1BIMx*59=U*uVMzL*c$Y_nmR;zo{LeRrDX|&ijSWlcE zvPK$>t{&^qH2S^BrVtp#wyi~SO9HIU%-is;04_}7X(TobMp{hu`w*Y^6!$|vj- zY*Q4C%EbLcwmM-qK#v;{sDT9AmWG_0K{UYQM%Wt8`}DP5>;93uv)vBzuuVCSN> zTDfz2Y3Cfi{V#>UD7I}4{?&z-Q;*1<(=N-ddt$l6r-Q$8- zGRRSOtrDZ6lG(PcfujUHY?DU)WFayi{S(huUdjoLM2@1eFp6zk17}qIWN%nyAz|D0 z|2ZFtbC3zF3DPz}>lB^eXfLdvtgrq?pC*Dl^u%`wPixEORU(kUvk#pzE~n{gwYJ-q zETX|>J}sdJdXS*=L+<9?oW2T1U{rQbJ`p~tiwl7sBQ$*~LE3>HB)%Bx3(~vjK|(!KW37>9Ih5s5?bN_LLY+v(w*Tw0E0VHAy?fe~&5_6hbC^`Uz^(1XOR;PGA&`v9NUSyVMFjNCa;O64rC!W7}EfVr_%h3W@s3 zJo1#`Rx2zEqw)+(Cf9to-o=@USM+$QQEP=BB=DX?Z~~+FgcGi1kQrMmUCGcMY(aGALv0M z`24^tEWGjxK6Zys>nVT1+L=Ykdg*TKirNmGQBg?1-A|Rk`(k;9^-IuG?=9hag&riL zlJ&QK3p;QXMFOL+N7P!O2MN;SJOw8(3a@unLdk*bE6#K9e4vMVmkG*~d##YbD9n>z ztzgeUqJFZTL3$UGn66iq!$5?Oz zqws#RN}vY`oCPYe$LK465753E#cYzz=U|mU4-!e7^r0+_!qc*b_C&*Zpry|;vAVHD;` z)j$sse7%ghQ3>=QK{a&mT_i9H*D+NCJxEYbyWayq0;7`7IoEe&nt=%|$I%m5D;`%! zoYe;=%!1$qM$wGoJB2EN9wbQ5J?BVZ6wPM$`-$j50%w6*D zu>Fa96ZwfdUpx8V)5R+?>-U5cKGj!=#49=`sHB8nW!LD*0rap-&Z2g~NuSs=kzapd6{Og7(t2qe&h z1lhET1`=2+tVx|!EybOtom>d46<>2wxqK}esDU0N_!>890;Bl)Jdi+-Kf#|NSu-jj zgI5-%kbPq3gYQOBx!<2puAgrBflJHLg9P8*39OY$BtEx7qi6biU0pQLgXPi~`#di_ zeMmD3M}?|*mKx`!OtSLi_^_-IE0qe$Dm9q2&w3U$hkY&T){aCE5>%4=dc{{JR2D{I4b@tq z2Z{G94%GQH7@WYU;4Mc__>X-P%EdlZHPC}Zy9F^pT8;!p(f{4o67(QZI3y+^H)^fW zLj-3NOHv8+AVF<%Uwx3kD84ER93|*c2ssjYee|o9b7z9eqTFy4Uy%iBpa%)czk557 zz$m^>4Aejm5;$+vb|8UKe7zf}fgU7q-l!VX4tg$>$|5~_ev@n}iJr3z)G$l-(06w` zV|g}q?{3|7q$tWPeVP?WpvRwZzgGMHeE$TEoTvKg)xVo#>CspSq5&S2=%e>rG~A^f zSQg#u)yLaU=-Er*~vOC8t6d+v#Hh!dl$zTW>zK8gGBI=hy+GmSu`MFRH_>2L4x`%@wr#L zx=03Hqdp z%fg)FHG@i^2MIc<@%@?L1V#nF^1}K)7?I2R6p`A2?F-c4mLowWxn~f|!YFKCpay3R ziEZ_C;hsS(3!|{tRSop4>-R}Qx!BVxfgU8Lo>>~CVB&ZL0oexf66kRQGZB+t2NKiJphQSGp;?L4)9IFI+kic0G zoWLl4awJd#JxJgx;qkoN=z#Zhrasygp~tnl_B`^*!_In!vsb;V+P{nx+dJ!b|Ncd= zP5<|Jy06QkeS7s??c@8o;?To35yzLjifsI*O?x~`%Y|tB=IYw7XP?D#6qSWhY}*>K z`5S0CiWJnoEjcR|J#3Rk1L4sh&Ff^<(Bm00`91B!$Emfa=_)G(MzL*c_>T0`t~~tG zyQx*<;^<+UG#ZWc=*`Y{bTn$sAErH;J;+=6ZfFUPqOvfGZCj(mg)!P^#ZpCdtbVWr zde|lnZKy{tl7%&`Xa zwrvf{x6He_a9Ya{^sr4DV^=?kJoGkeP`+i}O*zjM0;AZrH7MUQ@1~sRA?RV7G+K3k z9J%u_YgqZ7tDAD3m*6NW3!~V!H7MUQ@1~sRCD6k*Y0Mb^C^Bm-Ad9Fp6zkgYr%5yPW57=wX{Q9=!W3GR;%gpnTK%F6X&IU=-W72IZU9 zcRA1F(8D%q@QzBh$3yw1^bSkElf+7 zqMFH3R92~d&m+%H?5r0l`&TU2(AId{yLVr~+ctq7B+?Fi7Flj;XZ_OJ+Va~(`irv0 zs_!aT8c1Li_q44Mwr-H|QZ3dX1V-_Qu{BOV z`_0&2IJ1^kwj4c394q}Ka`3ZG`r~D#q{iT>>C6+2{`68`A%Rgm@@TEgRz`8Fx<)D9#tidQ0AL+0D0yc2;QB(%GaBDESF^$I5$Hi;Nt4HsI~H}&_oX=`HDta`%DX>-QM@zQ?U4C4Deu%*=t1Jk3{N7L zz0pBmzA2;p4y(+!L3t+)Brpp1E{{j%+n~G?fgU7MWq%qOwz<9T`?-qLkoh(!@BRcv z@lI{GL+0C{yi+^SgT%9_XOR^~wAW*6y(2YbzT+wHq=5uR@rlFMkom4nc_#urNaX$O zdE~hv?e$@=I!O(gZ!hKDpTHr>vG5UAjpPnQt%U-JifH zJ^|VqGT&axJM|TMka+Lcmyw^Q?4WyJw38Y#-x}qeG?2h3KFQh|GT$2Ioe1y&pQ(1S#Q2QMOjXwq4JQcZufu2bIq35>!$*yEvfo$^lYKo1hQ?|M8|HU@P3uC?j+e)!3d1vU9{5eZhi!> zgC(9059M{Y-FJ;cQ9HN>61+1EI#(=-c3>3th^oOW&db;}p}fM)Ik+^GSBcSQ*ZFCn z2MJz-uVnc&2?C>dmAG6y&X2%e9SgGlfw@f~00mk;cBjN&ntcJ6sU0zEw1 zOZ0o=H8Y3=&&U5Q_WHFPYlTs~N}QS%?ML9aLK=Ho%{h9I;1%_!R}1|#kiaN4gAbb5 zGEYyhXnv70Q%KIaz4X}XcYL&FM5XMd_a67kM<;K#?X~3inl@&S;;GE*nYNZd58FgE zj*HeqkE9p&xqay1?&b;eyz%GgK?;FUY}*>6^9(n0SMP1K9X`1jdf29N2ab!@i{#Ah zXq>q{%3S_Dnb9%L*Q+>+%EBnNZH-(d$CwjFt&aHP{)$-iuuU4ZK9APReOTPlcrk6H zxl!|ar$+yx5E#X_t#RVb-ey$2Bine%CXI#Vd+Vpn2uFkRE%UB@RbY}rU=-W72IX7kT{EUkjYALHmd5?wdh`p;(V%?G zyldHCPEiSnTIkre2IX7kU3)m_qd4@iO&V$U^wG07^*S1qZ<%*3?d=a00;AZrH7MUQ z@7l9eo#N2LHfem=Cr0mft%jpP`IdRte#qZMAux({$ze9OFRa-J&$MzL*cP`+i}H95~?(Ze=r=P?PQJyz2Fp6zk zgYqr&ZpwKcf*!U>!#6QTFV^v{wQ74jly6$!41>@2yX7f7Q{TeAD_a=ea^)6x+52<(t-bInP7T!!~K~j!L%2L;0rl zUCwibz$mtD4azsI?{c0iyE8{oxw!Aj>!`aMjGNaATGyN$MP=RixtBiR_7h+JcfTyn zHMBKad^OF;RXEhT=0pz?5z)Q%50l^X?VkE&X^-dUW2ub1S1Sb&7{xtpYb-4p9e<~H zm_?umiME;Kn|mVf_{yy%jZ>$0My&p{iq#GzFp5Wvt#LGesCQbKinfL`M#+OjgH3(( z$b0vEBfcPwNk1<1PB~P})&K&dc;wp}!?eBL*n@d30zF7n_QmKkwmtJTo=qD0ul?)Y zktRg|fl)kzZH=yxa64@Fu-x}rJ zx>j@6KJp+@?MaOO;mpipWC7BU`PL}!{sczxifU`fd~1|lw?TRLCoqany&ruEA$}ICS5Q6w|+%MrF1lQXM({2Z?>y&pQ(1XO4_Pz8i*;0!2>1a))b)E9=Phb@8!5$B->y&pQ z(1Qf-yB^OQE&7xw^UkC=x<|&V+LL2nl;%~GRvaGrsYb1rwL*gTjGsT-P@4CsWM6D3 z&AHi?mc|tl=s|*a(QRv}cY_fa#kn!t`fH#E3GV5_+x-b1ucZ#HFU|Ag>a6ujFQ~P` z{y~Cg@UG$heT4)@1@B#~71G#;YOT<29wVOu#mUQOV^{Sf7H}}-9rQPp)Sn8HI;q9dtoArRaq+WbN0}xba3=s~zY; zqFs~T`n>SVj>e-?g^cvAD+Lf3_4lCOdi6u|9F1}H@5MK*S;eXqdXPA_v$sBK?L|kU zOpglj-}ea*ATX-in|<`p?#y*G+E$*wH{$`DKo1hdiuBR9R%eX|LuW-aJR4@U0||_3 z=aHwr+zTCz7b`ACyt}B1MW6?XO;hAG&h_7&cEneF)BC}K3RXLiz^L6uj6SsVaz|st z@Q&WzKic^~4-$KC_tAfjyXt6E?K;PM;l~nIt&qT|sr~!vtN&T=Xngl)oVU)xA{K!j zB-S*P_m(=|a5Q4u9QBSqo-2UBsLDC|>7}adaWpPQo%J@Zmd$E8dXRXzGDhG0_gzP$ zap*&D%X29$4J0sX@XCI={?Tzq~j4}uI*DFu> z$I&=)qL@~tz!Hl<4-$*zeYkej(mEQ)>Xy+KZWs_iU{tFu{q;qeQwv(hJf27O%WLbm zG_nZvAklbqU;V)F%#Oy!la;kwZzT^PFzWnw{q>^FvO5~p-wx9vHtve2e4q!3v7hwS zJ3r6iXzbb@uI+JPPUzn{Ku%G-{{X9qKCSHHbt z5$HkUvp-|>(rv>Wjp3ia@@lJJS+zm}qY9?!r>D=}+|kG}`kuGVN2xW+2YQgm{CSN2 z#?|VM#?b~pdW|o#Yt#-TFzQxkIZ86Nbu=ziJ>>nPcpggwJxE-y6QggO|E8l+a_kE4 z^<70R4J0t??#3AXowqwW8t?r+)4S)#5K99+NVK`$N3Yt^>u8L~)XIB$cDVooqkjCm zk3MYu2ad+MC6&F|YE-lc^dRx)m_B;TGCoIRPPP*fqaRhV+JOW{O)b+$Klw&iN2BM* zBO}&j54SYXgG7bgee^ePvc~N1d+wVf=Q?E&35+V=rMF&UbQecsz@--P@9H*z9we@Q z*;_xfh&A$bPHyx)QQ2w-5*T%LMK8Vk?M{wHmj0!TlgBDr1bUFz|5k6ks8@6PYRT6F zjA42is~t#S)V4pP^_T(gI~ofoO*g*YA8HZkL1N&wUV8frwH=Lp{Wcnln-vNmFsf%n zw4S_dD@S8ab<-%?J+IXc^dK>5YA-#{l$wslXHPB~siQJm8c1N&z}TMpAzu?mW6wXg zjV?LTS_FEKXi=k=KBak8MlxE2S53Q8}35+^kw5MM2&$^CAt~wdaQ$zk|tqkZv z;>rDJy-WK_jz+^%xy-^%js_4Ib!vAHy?%!`9gTkX^P9&{?zC!!9wfYbqxIjvF5_ry zJ5$13(t3`ifdod??A=2@{8vRsT%$ zjz+7Q;pUYVX{?G1V*ji-$Ot9!5@xBy6=jc{mw412=pM)(~Q<9e3jDCShq2s zIVt1b00N_Km+h&?jQzpUF#6;)2SuN-T8737NGY#otew+LcKQfk2 zZX1Fgwn-yT(J0X?WiChK`Qs1Ge^L}Q{@svMAux(B5H+$vru^dHZVHDf8MvtR0=37g4dpk{P6o($RN#pMP#^U=+ zj@xFp6zkgYqr&u5AoC8iyXXNu%n^mg4)8{0s}_TjpImIP0$C>m)LF=4V(a-!kvo4;gbP1V*uKYf!#r-nBaa6kClRwn^h) zo)|It0YAe+`IdRt4*ytEAux(i*d~pv(?$sSoSKsl%D2qBR(8D%qJW4S`+*-?Yv`mf$qu<;KBIA~O&e~4-ruALUbA`Ytwrvf{H?8k-o`<4`ZPK{X zWVHCK_H{>t@=fczoaYLGQEb~9ly6$!#yNiC4@A{5s$XAAIXlqoTQ80e^e*3!_=t1Jnj{ah7vpc@NS@V_g zc*IY?MGU)UYaoG9+|#zk-+O9!YrQIO)e1dGbUr##G?{+ix95Idsqw!7E4`Q36bT?O zibssCai`-U@6oEcEdo7A{PNy-(f!zS-zPgrA2$%%C;! zUbP7HAhGD%iK0!))Z%t~(pXZWh!!#=Hh{n=p24<8lN%+qi9d|9K1)Rp5+nbdEGl%* zBHnqFM{3A?Ym|4&IT9F!YmCPu^Q}?d>2pr>AhB!k6fu8AUh(S`(vbPqDDR|!1V-_S zYPUn?Tcf-afgU72>ONUK-&$OBC`1}E-x}rJpTH>I8Eg%iZ;kR!1bUFD`^yATe_1&Z zbuhQokoopf-l^qCU=;6gwua2Nm-0>odXOlScAU5{DNHOJMH({SUdp>afl<6u+Zr<8 zUdlVQ13gIe`*N6Awy(O#*orh{z9T5_{sczxiNn^A`HrBxQ?1a0M9G0MBG1_xqFXc4 zkok_MypskJ7{wLNCORZSG^M;bEU2IbwKz$iWe+8Q$72IZXy z^dQk~a9dI0^U9*$m!u){ZBX8+E_zKBx2d(RrcOuY(MCLY4MeRlz#gIC*Cepf2dG{wUim&u+ z4O-VJ??j*niD|=Hip-r-h>w?(2CeIqcWOBj7{xoMtwHNL<(&xhAhADBd-3r8V_)s- zq(SRC<=vmaDBOcR9$MEa@6-u1bUF*IX`t>t|SPI;*}`ZX@7#}#F1CI%5ctymdjIy$8oooGzYO(=s|)aw=s|)< zNtAWUz}`gyqi`&!wc^uDhO~Lh@b3KHuerQN zz&5EG=s^PYf)g0UC%|fT{pSaIkiZ_1-}Bl$)_8QYlu36WM}PZ{sE~4%bx$vRL=-qKZMJax&r*SCLdHltCd$^isMmDtxq zyfcKK%Q&<9Onl}8_VWzrL85zw-eUI{erDoY>wEk5Eey9bkie)MA%jKsJgl*6Nru|% z4EwnZ^dMmz9w5GG#2R_4Zit8<7H0Jo5*Srw=UCBtCqI|*ak(cES2Ee{Ko1hl>JJy~ zYjR&T4T2t;9%_kj=ju%pB z`RY8f?mD9fiBGpp7QaP3b2PqdomCsZ@LT|aQ4dQj6w!ZPax{D|a%$SaZ>;;&=t1KA z=Tk+l5rGXwKYNwqceyEzYd1 z%hGwhq=6nJdLNrEYM$cfG9FGXt1Wo=ftOZMBrvLZp~d3O)HNK9Z)%p(9_SM+4fG(9 zZ{0L;^A$gr@w8kKZPL^=0R%=(%CkTuzYytYwCI;#`)A^At5)bi;{D81#rOO9xr~?V zvTFSg{9NT+;K^^jZ9mUpX&`}77l%v}qfLG; zqtt|W@AKPvEdo7AJotW`=uGQOL{L`1bUEov9GcCa(_ifBWz_J^WM4x)(VFNMh*R=jOdZOmZS0Q z(t>7(N1H7T^dM2V-P_{ZJp5e7ic0bwMU_6WG?2ik-ZGKd3n5BUp zBzE745~m&)ciK^|e?{|1<_ZA>M!oq(aq(76F-N2B4_CX{ts^arv;%2&Bj>fW0;pVyGt7_9qjUFT(l&mMlKg{K5bf_F|emcI3 zbpk*Fquy^=LX6s)&e3>QI?P+jbbjWcbF znHT?DYH6SciCgbB6dkkha~XYZ<}t?~*>7nefl-y0hlw_|Pdgfi$G>52xO>_n(1S#y z7fr;BGB2F-Zl~dC%&{&04j?ez zFbc1C<+tdH#u{Za7qx1I9whJ@*Lqb^T5+e{t>iTP_+N@F4NQ{obN-p(+1CU=;R+Bu0mq6|H~z&Z1QfBrs}HSTnJ1MOv43pa+RV(~64;M{l}lAc0Yrb2JezzsTmI z@#y+HqQ!&~mgiiHP_eXz&$82RZXt%BDCa_;2Z;vHDu`ye8vO@>Q8*UVzCsTYwSTE8 ziiWgy(Le&DaKxw@M~;jWo?1_=UYzpn4DsmSC6``%)xtU>7Kx0xqAYv=(@A1u`;sm#M-LK3n=BP`Kd<#41V&|_HbuPGypRil zYwb4;#>pp8dRkGz*Io1=v0&X4QLhC3D#>QqU-BBLX#l`RxE*j`T;^MpoBEwHdELzn-0;6z^Q3>=Q z(Y4fU(R=467Y!sZ3Rfak1Lt<9Gt0&M59K>DWXprkbMzo_@5u^Ld3gbszCr?{!VXOl z8@|rrLZAnUyPH;s_+pvIO-BZIX*Dd&WuhixjC*LhpxdaEzJ zdoTCX!ZLiS5E#X_tx>1+AKrI+chPo@n-q#3wy9iR=WUJf!O66}=i6xm?~PRmjAGl? z_;GH2?ZDe_Yv2CVBNRPsQ@Ok|*cz99E~&L|EVOEWv{49*V%zDf243xd-m+Sc-L*r} z!#0)6JC3c@eJFa^rgC|Wu{F}P=&Xfn ze|z;NcSAUe%EBnNZH@7b`f777@9<{592bHfwy9iRiENGOg9mB3Ud{J*O+H2;Fp6zk zL%Tat8@{os_uD65mp~8OR4%VXw#HwPqqR@#-HE8MC$2b0QCS$pwyhEOa*S5z;17G_ z%BGD&58G5OuSB-Sw(euJA=9SEZ;EQE5E#X_tNMpu=U2*7Po66<2%htGc zZm8xdIo7E8@;8ORD7I~lM+IWE6RGwYZTn_~;cD7I~l><{y3C+jsb8{e6-8a-@Nxx72u8o6I( z(CRjCX?pj4tPmK*wyp6{zwFI(t*aTeaqepLuubLim4&S#_b9L2qfEI+DFjBbZEMIq z$}9IMQ|?i#(Ze>C%U3M6hTNmPa*s0Q9;FZ%#kQ>>_oxWDN11YuT8$pIsa(G2U~9-d zs>_b5~DQHI>3;?To3mCILQwuaoJOu0uHa*t97jAGl?kb9IV_b5Z|QL*S@ zo66;@Fk3_JQKsCZ;^iK-ileA3jAGl?kb9IV_oz4J9uks8IB40;zPD8_ULmQqLJtxvrgavt9>loR3JHwDD}w_{oqVSBOYM=*+^<5^38_TDMhpY>udE-@SLLuiR`V1il}Wit!f~FQFv9X66ir9{O7S^cTKmkiv&jDd{i~igT(%e z6Gf|OyfGC!1hpEqFfAgT$u(!$jGWV_kBN1V-VRQEfSTkf@V7 zMoh@)rhx=T;mB7t(1XOAD?bpGkBoC^2ND<+d`96;mh+oXab;VSl{MUb)LNkjiPl-l zi-l>Ly5t-QjKY;q)j$stAH5YW+J4g7MFR#iQ#Ek+s#RgJ7@qTME6=#wsRVkEX#VYdks*Ai%P2ttqwtDV)j$st z?>?O^3Z`A_qJacP;R>#5pa+So2WN_%hZnnOAc0Z1&Z`=H7l+OUx8GhRiWMkjWexAo zs04bD$a;U3`2J8qmz*PkQFwnw)xax=$43i_Je%%Wt>yE4;7JBONc7u~Pjowx+@)4X zU=*JE)mmZQ2R&US_P2b)DmQpL(1XNZT~>)6Pt&^83JHwD`%G%B(1XPMu$3a++7~XP z1PP47Goz}39wdzD<)Td1n=TqiU=+?~RReQy{7@dzJ3}U`e}d-&JxDyykw@$wklUqq zk-#Xt3R7!^9wb_=%p*$uR@6lU35>$kRnd^bD(9JZq~2dXT7`<1I0u)m)caA%RhN*GSbs4-$H<2(ho-au*FGFbXrPYM=*+ zV!5k|&fUIr(Le&DF#oCsf0{w#=jO2`;$qFZ)_BFwDO3VINF1)bT-<*8rpstY0;6#6 zQZ>+nM5FX8#m-t)Tr`ltDBR&x4LqN>d3&a~xV^JgE?&2*1bUG8c*bned1E`5S|Nc^ z_-U4^fgU6-N6!~wTUxkiAc0YsSycl)Nc8_@k*I#Ak&6Zr7=`)wc)S^28OIt=GA7P` z*Btg+K9RTaPrmTJyM3)+QFFkLIu_OA4CsO0c(6_~j4gDOAynnx8WX+L6TXLwixxR}W zZOsRZda~umGqn_ZZw?aoD(&|5uhvqe=sd_FVn$zx@0_K)wr*i9v)zLZ!k1yVSbOFx z-}dPpMVD8@#rS^vd__)o6dN*)5apux$$Vs+ekne0l`yTr+Hey+NVGoOQRHefLR?B4 zFNvcO6C>6?OQCJq-Nt-l-6%1*;4q=fT0NaHT4X*s#LCCsS3|}3i-$V3YS{hz2yI}D zx18*&O3$Z?ke$7)z8aEgn#g*%x0R12bEk{u-Fi8FwIJLtQvEf-(4Y$;|uIVjt)Bhz{BZ#@=xyM5Kh%+OGJYBUya$#&e$w_MEq zvZ2+E8_$-A6kD1(8apx%^|m}68}YXsSGgyx5|5Ktv)b{?yj5b~{i>p|%=xdcR*8E9 z!<=?>E09j>(IkJwtw*iQ!57zvu*-!-lcBqOXTD!6`gJWNVqfg>E%{@OxD-{$(OCT6 zUGL$RU5pQRwlSB+trD?^&-Vfqd9msbFBFDz*T3~_Wq-@H{G6B@%v@1 zR@7fEmj7|aM|1Fa#1?Jh^vS#LB3JV$j6R4$cJNBd~BkK8dqbj}=OwfyC#$>Iy&V25aTuWQ7bw4;sX zvgMh3jTb9M4Y%4+rPFv(=G8DC&A}I^#))K)hC1yS^zF=uuRr_UxUjIRsr@}p)M_x$ z7ngd6Z`+fx;`obhKAMB^RfY@s`_YcZ^@XEqrLH>Oct`ftM`nMKIcq;lV`W@_u`;%= z)mQSZ>Ei0fzK+K3kFV|h^}uDL@1d@yF|(g&P@^j-e7`ZaNc`Lf0Ibwfy^J#QBG3U}k-S`!-&gWh1)+aC$JcH20Xd^q_wX4L$5%8m$iA9;rktqTd#lw~4YrgM zJ7cz5eN}dI8Byu?olakUQgDrtGPwvx0>bcJ-$w|ul_txNDRpo@B6TDyzl7KV&YOB`B|h~ zgFT+nxwD&1SDiJ+4h=WagT#lI3W-lr7{1?!5HYx4dQ<=EjFEkPErq}+wN^#arZHF7 z{MzWUK$z%3VqB}jV&47(zRUmHBQ*v!x^GTmO{w#M!?qpW$Y zrpMg&B7;I;)WbIli3am_`C7g@C~MWCcX_i-)0F0C&r_M`L88IB!lKr@+kEzpqgMzs z_YX;J9{A>wfdobkx*)$5_WKUs(1!E`=!v=U5Eymy(}LpM&~3icO^-`r(v#neL+{Qpx@>J@V!z{jRCC@j(^f-# z)Ymv1(?iKQ66&l?eKgMKa&VaOXRc_4z$l!}9?#-FV~v6>n;AvR4N&Ge66#u#_N|FV zgAKim>lyng1V#-kT2^G9w$-;&uE+AdQA3*>TXmmtT0Uuk9wcz>lE2P%Xu2V;eqtQk z)XUtnvz++7^cU6|wZ3H)F{|+!YmKV0rkwa?`5J2-lc(^w&y0l&KR535>tUh?iH=7q zic!l}IP2BD1-pzjEA|_^wzp9TjB32FoG3gn)<>svkEi5jkD0$)CUaaw8539M`yqTPibUuW%DRNYoo!PE?Iw>bq>MK37`&X51F{ zj7oXyDg;Jh4dqEc>kmenPM3{^LmHasL1NbIa^hNvRX(4!GBi7U(AZu1l(Dl&3x&Wa zwdL1ZrZC_CC$IVU@d769Mc4~fD_0gjEt=~aAy)~Hr`G6a#)=zR%xBHZnCL+Qd&J}U zV&4s;`=9B}apS@j0;6)Tt}I#{p6eTBt?g-AWHP@fTGY(=GJ~>nVh!tmP);l_w7^+Q zDi_XdwjUW{`d*|m(St<6P8H;D_RVqj^Sn*oFjpTfW#*A<2@)7JRlYajahrL*1=d<} zK0JrHy=pmg(_eoX=s_ayobsaIyK{WMTWg8uN>G8aMAg8e`UkhWVJSXmH_omn$zR)_CJgxqwI9zg} zbuLN$Yc0`z-9qP-Q880Nqw3`LM(v|RO!Od;Z9y$j{>U=uw^G}>5GwEKL4Z@#r&)tMb*%x?9uv3+NZLSPj3g2(eg znvac&SvMQur@JaM3W-54tBPWc=ljmdlat4@Zr(DZ{_P{iN8#-i0;AO44WHV|7!$L{ zNHMsFi6=-rSuQSAM@%a6iPO8E#u`SNDWPVbA*Ic&VU-d}HMASIw+8KZl7PB=9=H<9V?9yz#{}-Hbi_$Up+4)LQL& zeBPM-Mm;nB-d_fKkihE_kLTgJ3r4!H>YLZ^{jLxgg+1c&>>Gc|h%4nYS3OB(;$Eu9*wXx1{pR_$>d{U^Yc{wVNi5?`d7i7zG>@Y^BC~N+-xTHd0)W1t2#iX^P ze0{C`}j3R%?>!=Ft&1}W%iL|4}`{-_j`9?i4r{8$rF}dQX>;~$A4xU<4b2WkEO4#j4O=78hSimm0V$bxg@{2ZfPxLv?Fmp zgD%WAqn$nK$A8uso&POj=KoNgQ5dDReA&#mj1lXP8ezLfM_^9DT->24k zRkBqnqy6z%qt@0K6Fo?%D?^7Z_u|WaGtT(uo52c!QKd6C6itUsvQ}-6=i-LR@kYBM z#*(@pnoYe8g=jj-x3<2#+OE`4beS{BTIcao2ahN6|EN0eu&SBo?Z<{Fpa`fmJEEWn zDmLV7&L|cX6$P=Qhy@D>0(Mj^*cGuN7Azq4-Z@zxdwcA?U~iATE4Ft}$oKc&`R`oU z%;zN8WGC6#*?YI%HubGER5`VDB**{4V<0U_ywws@%gwHeZ>w<}ElA+3gLvb(SeV{4 zUuin!I6+6Cm;S8UH7=^WD7jtn0mLx9u@DklItsy(wzsoI0l+72Y|) z*iwv&g?ek$HB-LjBE>l|o}&ec_C33jN8xc=+(sGCdq=k)b7mDg2b0n9cb{SSYrn@?&kICrwsON#N(4Zc;|D$WU;!palUwe1la}C zzzYM6o5lMhdr%nlUfoA~+It4{Q06*$@gichjTR)fKk7g$v!b;3$GMBGmFRP|cx%f> zIs(1I=Y`QbiwNT(Z}a&4@aWD;m8Ok(j2NZjF`5+*qh?FQ8H)IUXDc*JfA&}E?{3D! z#V8dmNXQjK>3ei{;{-Lr4Qe-Dd9W>rr;AZ466mE=?nraOdune37uPXLzn{VUml&m@ z1&Q_>Ldd3GH*J*K_ts>EJBRVTr@kpjpx2_rjX&7qD>Ia*Mf!3d@g771y_UW1Nc|>;YG0Q2{=v$CdR6%iN15Y2z$Zh0 zKdMi!quje`$DcX3<7hzwpD~fks8mIHo8-vHtqar<=yjlL7YeTtX*{7u>X%PTDhvBq z@`ziVIa-kTRHQrE^%`t^pni+GI)$75bQ!PgTs)E+7Kc-veIwKu)nlZXy@(v4Mm6kR zVsy81q{;rqEM@u0M2;3D-qq?wUQdRrIax_+IccZqL-sC(Z;jCr=!It}Nw(K7o4k_m zD8){QoF(*UBzT$bv}w{{HPCNop%IhsdxYhCq zk)adWOp(pbT-k@#ZW*jbwdFREWDJbg;+2*ARMV*0)%m`;&G>?QeW^=CFJmha0dlqu zp=!^=j1FREqqkE(YGNOzjZ*FBwKLftsKZk?_;Iu#k@9RXmEI6yoS=@?ep${j9p3B9 zoke6o0=;_l=|>l1LXB%hT#+PK$GN7CmNL&2(FZL^d`#?5&5E=)P8U&0?6DphZu+;K z%rjU z^BupebOd_c{nVd4o!V-VA$!Lh)7Qb>c>d2~94$ypSQBZ54gnky_k)0v8=C!|y z=OI0TUa$X)CJ(PZ#tLE%NzB9zXqmOxz&2WwuByiS2lFm6E_ir=lq*7PpuhP~e z(v~t}oZzz6l4Fo zqp48W5aV2PpO`$Fw%iTX#%krArWz{U@#Uum`*O4(;eLG-mD(RFVxsxYner&kFn42B ze$ugpjzBN{tW3UbCqtJcC+;nBOK3sjt2~lEUGHvepnfx4dtKLXRj8Pi5V<8J&}+lV z5p*fLr#eq1Nv&co8FGs%!53#FOgdY2otr#?%Ss8I$<_rwx_wgmUYjRyqQ`IyN3lHYxw> zwY@Fx8y0r&%5C$DakL;2eJ6=Z@*rc1+H3FUT{i?ph4XNcDMA9h@^6o&<#vI_S!%DX zocPSJIy{2^BYG`bkf;}(L=%1m8egit*7fXj!|#cM`8LsOkwC8wd>kEK-9qcNb7-$2 z=#r7wzU8jFa(u?H)g`I&Z*(jX_2z+|P+hAXg;jEJtzkI*5jzBNVFB7Tpkpadu zwbvG&ztWIh?WeLuWLVIG1kOi_Jrv4SFkIhRl%L(zo#Qi#Js4?88kASU@cQmGrIN@x zqXh|lKW~4nnIWI{D=9N#bOd_gjHx8m`lqeo*vUDHDJM}kmx_db_BAkTilKDsQswOV zcpZUWrN1Rp$kuqHxiUhM!k&*bM7)}%#2icHXh8yJdnL&(z7QKb;heHQK8oXPG0q~F zwVg(edC6LYd-P@^yMLB=8IfU`lR1qdl6o5hMSnirWIA;?8Kp)wJ83#y%IszAqR#y6 z@l0Vu`n2FNiyb&xkZ@i%o${;qR%c=*sa%tJtVzpI{y}6|kU+1ey{A*VBR!1aY9B0B zK88&j+>mz^IWjz}Cg)Sgdr73RpNPA7JW1+*p%<(Bt~P%zc3?yc5@VO9kZEl{W1bp! zO9ZrI+snG}$u2E)1bSf`N>cQMMy#5ZJs&zcNZ-2fza=+JrPTI=jP`2Wy*Q^j`?#t& z|5L5AjzBM*?U$q`KNhlSb|Kt#+;_#X*$gUFG(wGJX%%Nsn=if8h=c7WNjnnKna9|k z+^WK51uaNSdN!S+t9H|(&!KipSP{!!yi?ChIs(1)_oG{A8hbOj9Y6QA7{{~1my~6v`|GY8uW4ALS;Xv9v{`68gw+ z_i~=$*we{MsK`bkfnJZt&Y~AZXQ;I%k`y;@fnmtL3Tig0`GQ##TyKV&jq;x~i+;43 zp^o(Qs|Q{NpEdkDc9@c!K9b{q;W3bwq_Z6-8NRiwqAU>ED6}AfYnmh}aC{j<;X@f} zHVO&!(w|kJM|pPsQ@Zl1K^(8#XEyDzoNg@QzQ^d}GMk3fo2f?58ja>qgNrG~)@nBD z>N5uxws)2?DIuPt1&KO&skHs}LM`sP{`F^0MYb#5_YBby==IuaE>+H$s%4`rj&x%a zckNf4Mn`e9ATizmGLN;mW5ahzdHeAW^hh zDxI1?NsGJxm^QG5Gp+cGDlK#bdf^#L(!bA_vMt++@%j^jI9iZ6;xvz1+fUKrZb0u@ zEb94JCDgOCjzBN{m3O*)jL8cf`GCKA-;f5%X#9$G?k_Fj|nf zc`c1>i%ix=!rT8mWfo-QEzf*YkU+0gmo!oaP0-%w55B%)&pn&*^P-XiEl9+kOryO6 zlC_br@2*empSU*sq^RUT0=;%`Pb2sJN!nY@`>VpXe6iyR8GgDui1%i*+XC8sX_lHh z5%UI3H?xQ`#rT}!fgCMJ;PWPO8JjX#sfqt7({6Uw5$JWi*8)0HFHIYzK512+(bW*8 z$&!(LIbT4_E3Z)FU{TWoT62B5n(@LOEJ>latF!X61}O(c#tSV-v|qh|UYgR?$~sAk zSkjIid7rNQ5g9Ke&HGBd2hNh_%dy=#{Y%UAGc3C+q zGG0iam;TC~9LBNHUKz?sk@0dLx|rs!7PXFIwEa!&l~JNd0>(fVpS z9XXJ$jf6|zD=J5IF3I&yhf{L(P{_^4N4OgL9Ki?K5j=#{Z+86ELY*T&9<6E1R{{?+*xF?L1^64hH|kXu5AmJ4s$s)~GbTW$VS zjGd7{uf4$;l=oz**3X@aU0^BCo+_n(w$(i)SZ9m(Uy>GgIm((pxuwjr?ZnZ7guWVg zeyuaC_Qgv|$7DT$US*4B(Dqv!jF(QEtB|UH-p6*xit@_62S*DM`WoS;j)&RSYWtLN zue$39^x7mUjNkU&tYy!4@7T{SeA=pv@CfH}-%CCMgeImVP&K#x zY9Cy;csUJzvQN!A-@LS(uDJc9^})Q%W9;6!3CfW#QTt zYt{JGG}rZnHYfaGuB-g>>^)_*$T~lMmPy{O2h{BHf_JN^r>Fum=cXrRuco{YN40)l zW4pb)SH7Z{GuvoEqQmx8H1n9KE-n}kKDL!BeLtog6|n>f^wOWz_`f#t0H?FcVAhnQ z1&P7SSJ7)ltXd#*uFq$-BsYA&S1F$ns3Xt|+fb6+YJO&?4jxdXuR*%DLgK~ZmGm)T zzdAc0N$*xZV3itgQ9?z9DgGCF&1k-oCiU8{%|XuJUr~0{<0?g~PFPdSTegq+rZ|YIF#Ip{s@i2Wy>5Eo zfAK0ttjj3>UFj>T!q9@mOP4j|kZRJZ!X6tN$*y-L{#0b>kwC9&Cs)&k9tX4xeYGQg z^3{HY_;?Yo(1OJF#%pN%-$Pne*vK4`4@DH`Q6gR;fnH?>tf4S5{x7I7HGRFrKBcTx z97X;L+a3EO-X~Etd20iE={i{%F)T`V2a(YC+BU~mvE2iEDVf)X>In40-YiL8-I7_< znyO04umoK{M?$}D!g=jnR_L3XvMpk`jzBMq6tUi9)fKG*Vt=vGtm|PL<+-RZMGF$R zPD7F|-ao?pyVX~Q50B!w&I8wfyb4-FU(Y?$;?=K|U^#I1ZYARKE5*9RdiuN}Po0+? zSY$nAtj#m#dmT59Gi6hP>wPU7RWzWT{5)f)vLx!ef)*r(EzhQUUU}M+m{MJqYe!}) zMMcI73H0iemPIL5A8MnbZr}Xmq(SSH8(o|^T963#$)>m4@2PY5lGMi6Ti%kgTq%^` z!O>#dEQ^k;ysOUY<3CB#`k3nS_J@m`yHF2^mJ~a zBhU+5U6K}Ex025^N>;Xv4AR{XB))%HORp>6(W(>fca!9^_2ZNpRXghl^um=rlJq#O zn|!e2ex;%4Q7uE)lf#OKYF`_-dOgYA?yJ2B@2n(^SlChSKYE+eR`gmV&?}_cdOBkL zSc?o&z4o%?y-kT18A!Asfp=Dt+!F%jHQm=M=fz9|66ob#cs*HIJki#FgikTZL&Gu^ zxs4-73leyrL}iUvefff8nlfWW4IP1A@guWoTKN}R{qFRSZ6}I77Qa_3KJ|By2N#i@indV_MTQqMiI|Tb#1NCQwJ9 z7oMSb8(gU>cN?FqELiQQd#;d}+asIU%NN?)`No8ra%{C}%Es~fXBWNnS8hG@3LCk& zf)f63f8CYiH64##N3A=2)9OVJKHbC&xt7Y(-7y?3Na$mUbLDBQ^@d#2#IuPy0=+KS zt)uc~^0oS_Y75-in2T*p=K8CW&g;ZmIA6_p*_2#Ig+ubyksfLsNK&r@i7aUIMpNLj zksSXEkAbwPl=Z5{9!!rl<%^6LT980h1W^GIwa!pG?NqM0{t5~7(w~*b@8xW=_a2jR z#c=KvxsG<*{xtSjvD;`@YaQ)x|5J^%q3g29()3%aznU^Go&5;SFj7g~_W9-KvA zTUu(X0dIW&hh0hKrn8HFX;q#nFPq-gY9+uPUys zAI!-rB;Q)~#uT30T}PnT#Y*dG$8bqqwJCDQKbp$te>y2+M~QjP#0}*6t}vOaapy0~ zp{f>z$y|+l=8agdSh~2jW^~?xy7HSUWtHi1z8oz`r1#CCxHE;Qpc*&5Yh^j;;&;=Y zN-cB*df^$0RYJqd$(3U^jDr< zv%b7D`jsg_WSs|>+(1RgTatNo)+(P3^tq}fnb#HJ^@%lDEB)oY>;IZMyL#%b1BtT7 zHjs48f)-6S*M5xp+FYKp-%hbwQdvi!7q+?>u>`l5-&}N75@y)x?gtWaZ#Piw-WF7_ zcByT{PV(1~8cGu}62|{Rue~?LS#>Ky1#6cM_YRXU_pG9r*Dj$2i8C%6soAGu+G^R< z%RS_)hiWS)#Fr%!=r!DbBl#XJLIst}_YA$|te-WNVDXMZ3lb;8H`4WxVpOnp>0ACl zdFa~uil2B7B7t5pr#4dWu0^Tf%Tg)kB|kcrXPUO$Pj?6LuC3dWL;Jgzpn{cpZTh&% z9S@&3<`cnumhB(*8BaM{!)&-0R(X%AR7cuBq<(CyO>(R@7pmYsCxfeNc_u9OuCt zEl8M_t*6+pb`<-sx$brKqb%m?^7K#>@8LQEy{Z?_rgD|+wPWmzJuJo_8*{tYisooR z!lK!F>K9>0<`t)6#w6cT{$-fvf7-9B?mBSYHlCsA=QYd89Um_BuiCl;M+*|M)izMY zXB8+!tu?6E+D@LDe(d1+a-DPpdNrPvL(6A6s45KNe%z4d)Hr+piy{XwZ~jKw{h>UW zSLB+mY@pno<;c9w>+ix1^uV_QO;oGfexx>#Yj4}qw4TTTpalusm7*mqDl`fNYpu-Lp8rTP{BH{4Lh9W7XKY>wCG1$ z9f4l@D=)TJmXFRl?*C2H;^1|BJ-UI`ymF-)q80~RM3UxxY9kLFzsAu)gR zM%p*gg*??-ob?^U}1;Kd;U>Dj z!I_?^wKx;xq4LySGyF%1D2fDn@b^oHGCUx?TENa}cni{X_ z9?qf`-qlns3+$U>o$&0r?A`t+{xwe|>iQrO?%`r|*SISEP}c(VTCks`tbOUPY>v?p z=!FqOl1deN$OdgFYv5uXJz9`he`7seepQLys`2X3hTrT#Emy-DQ4fa%dZ7w~BzZJD z&W>$MHgpi#!M)wrllSx*YK$6jA)AcV+|_6>GB}H-+^wm_lHlC`Sd;$W3`GY-a0@a1 zaBS{NrxN!X<9=jORk0_a#n64m5%tzn*;J4JeUZKR!d99jwy|+IM+*|u3W?G7()#pT ztq|%MXen=uwPLAag&Pv+WuLH~dU)3(*Bj=#CGT2I<(_kEvRIL!4<99>!ROj!UVnc7 zehw+owaC2wJow9cnz*AbO;IC5Zg5>WrM)YgBq9S^khs4;hn|$EMFs26jWs;w5zaN( zmTW&g0bcsEa{N(UUQ(hA>zFKawBY|P?vO)&etOV|ZRYFPTEDE^G^#LLl+aE`pcl4? z7)@L(Bmca7-LP#(u&%9;=xCKgAA&rnVEy^qG%?c=!2~;Nyj5w$g5?>(qFmg?gtWqzTzu$j1Rd^ zG*<$iE!|P>QQg2!{jkyz=(WPMftqA{Y0<~JS*Tn!JdiE=UW}s!iRkzZ6l3tA$!hdT zi|8(oxZaAH*PkPSUd}}}Qb^Z2RIvVhU8P#jGV-kg&M4f#gTt^j3{NxjqBr znH@T_zash|fnJ;XZKUCyytU|4#IA@u@X|g*s#t%H?XK&Ox*oNs~MvHl$I zAQJjs``mP#^?R__U{`#IjzBN$&0-F6e+KKhezPI^zu~%mj)Y$8C3avID<5;&(EUcN zjzF)-w(ICxvj#L=t#0e(Hl5w5vCCj3s@u?l1ZvAj(u;!!SnD13to-&Nd{IZC0@Jby z1&S}0Hf7e(iX4L)qc-neM^Eng(RMM@C^R_|j#y63*cva@Z z7p637%Y1|i6cXrl$tH__wiPNO>iY8y3mVHSKCWZYHWk#&#GW*xI#RseA)D@uAZq;V zAER5tYznX;@(@u;k~|lA%Wh|vvBilV94)I(XVJ(GG6jfuWzO#W@1G=T`T}=($o^F3 zJJeTq3?yD|$)dD-jP9zl882s+mD5rtvx#EGI{p`W;WbH8&^{Y^@8mePTjcuCf<)JP zSycIvKYgEO*0MNprLdgyygR#4rL&GeFMV50s#Q%+@L0w6ioDNg!#X-ys)hQk)^6lF z`u-t6{gT166?63c>d2dSt!K@}8b!1qv3OAyt%(fKzGU`&Z7lyiwUITnaM2Oyh4)61 zf)_QHBVX=kArCA$T9Ej7D~onffc7PGd3{Sc%5ER~Riv1XK(EAs*>vg#Q9;$@_{MGJ zQ!{f}zNnc%3ldM4X48u`&B#x!fm|@Gom|i12upnPN#AMPx)3AWaFe|?3Bpd;r+mt-nC;b`G>a9zT2Z)m6qQRn#Mkg z>>yf@z^6yFZiSyL?q?F~kk?s9px2fvYp9${OI008lCHGx%`D1Tu-Rh8x<|q)vW#t| zevvgxSw(*bv{JvwHq2T@FFLpS-x%jiU$*#jan`frNRAdHhAdn~uX?wl%OU34TB}V1 zSzPpQ!~8CK0=+OwNYbOzfkXnm zuoWa}TgWNqwxk2QC9<4oK_b{`4H+u6)V})O)Oy5*#zZlndf_?(z4Wc?l)8n@{WzBW zBUY@V!WSxkl^?a7YIY0OT6fkaXSuHPV|Hky2k-qZleTvcQNOR|?aHL2(H+(AtJi_6 zD0fe&mLu!-(oXI*;TkI%>&wxCM8LXCO8pb8eP11TR#^6lI?B#hXrUv}3(r=P(oOlS z&&QoCY;2J3I*{=0lS$Wax7WUX4xfF_hIC)ceBC?i2=qcNG?9l(_m^$EmXghSGH=&s zQg(+hHCt0EXf*{1T{Uwa=5+PdG|aZM_RTQkYc;vsj8Dv~yR)vXuob3@x%7GsLbWfM z5DRxXx$-ZTD^{$d1qsw~6K{j2_2u~kEaapU-xMU!OMh19chr*&?JZ?vjV}sXkU-ry z(Fc1rkZpdIkcYK+sUy$}TSQcUcBn1)Iay3TD89&0YYvYw;KwRT>Jg@8?z$|jD!*^{ zi+yV)>h8dT1h#@C0xTlO8;CPJAR9`Zn={=-O)cKNE9u;k~SrUX<0Rg?cZ7JxyRTd zQ6r51g`4Bd7a;bc!0%UCXMu`gUi}d-Z2S#fo*b zAYpZFAuV{+TZ_BVXJ@eIOH*0LeWHR6{tLaHA5N#&-aXZEyCj*e&SopqSF@tyqBvTR zNG-mYuHP5Rp=ynAxl6m)!na46^O5d40=@2@Os7*PdTDvMLBABXbiySz%1f;I0Sgib z&!p3d=x{CLHL1gImg!YUXYvEg>(lyM2;6J|Fn) zJ)3sDxNOecp#_QFqUO%Dx{sE*n^E%#3%Oz;2X<T96pIaw+Xi?@tAqfI+==_+;qsM_$vT>{`92Y)I)294$!TGbTyn4*$avT7P7p*0-8}!Xhf$Q>=MbSFEpn?!+>Gb!3SmJ6LBx z8vX7csm7?Oqta-^&`33^VegWp8+EBoK8#G5An@Vb5;;X3lb|2%_kwnsm*itx|qVs zPI|?DmlbQbK@S(b^xC+YO_#9FA)na#TA>^*Nc1~0pBiQkrkM@Q*<5Xi z79?iQol7}`Vzrn!qR}pv@~VPtC1N5H=+$S!d}^~OTAj5PS}(T`u^(+}$jKt^q6G=h z(D{^>G)$fI7PW(g_pmiC9`Z#I6VWU6_*`nZIF`&RKzbrF_8-Q^*ORM?n1~i6O5d1A zS@CgHpi|^C?h@mF{N$n{CL)1eX~y|frAMq56UR5c#B2u3vbhovEl4Cerc!23oE8&% z{=LO2?Qbq07xT49px2$+^J!y~IBmXmZ^&)No3)a|MNC8s62C^J(&4XhT1*sbR!pc_ z$!0YxB+#otnfX+5_;4*IT3(sM5`7=CAd&0C=LdTiKB1B{<5)kodCnfTLgf0;f`q;g z+MQ|7q#66!>?(tF1bU&Sv?PT~&TRAVCG2QaoK9^T3B5k`xB8B3%+f4&qUkUlfnK>M zW(w8pXe!V`%7}Vlu>LfO1&A3Fv><_c*pk#U(Tc4JImE__wfcwK&7d3hv1-KmZ*mG1 ziyfv$oXg**)0BO2+PBZ+$u{iltTQZGtolU@62&V{qw{w0+P6>XzV+GDS@}#BT9Zhi z*Rajg>5EUi*3bW5i($3$>dEQVy!fsw(`aq)ku*Di8~a&Jr}04}$gI7?*G!{S-x1nK z`1|ZA*3P!Jyi(`^paqF~)uz+?>xo*m$nLux*rJEd@<*WufCPHs8H#x263F6Kl##0o zJpi;IVLN9!<(-YE0u7;{BmQDmrkLy{^Z<}RFa4EES7tDwStEOkr`>aL3bn2&6wyV_ zn~4@>55}lZ_~CBT$m`%}D$vDwwsR5_x;U~~7Y7OSx+|y9)m@{tDhr{#!xZN*d5>9P z11w0mO_@f!UyRZsgR|=xCiHz|v%U`!=oMKkg%0)`P5-AM#O`kkl9!2U5wsxDXX`X7 z=QxVYs!FO(5feH^axbwq0}1qcX*-psISWF>M=={-dI&2NZIIX9tHRNO1U^0DOJ-9i zcKMsH{KVj;BhYL6{V62f9I3qxg2wk^M?>q$?J9Y5v><^`k60yCfmmjAO?h>epN>E; z_oyi}vEfK6(Dzv!+=PvsR$iV{CXk~A34D4a>35m~tFyJZ{I8h1Ljt|#+fAm=QHfNb z2-N#wpyA)C6WC&r>l=D{A`R^{T>ZYfcXJ{I4IHk1Uo~XOlq?U|zA_@q^)gf#GK2Xw z9>LLqL_$b1eYB1z+Y{zoU#BWl3~eo^v-eC-pch67p)S^TuA%Un1+4hk1dbLYW{poK zuU7G7R)QBbsgExh=8W6HI_!(l5$J`jAjWESo*C{q-)5yR_1E=5B-UC@rp>(*$*eFh zz8M-8VM^u~7S$kJN1&I!b>Fu4H_Y?7#)1=~IPOY-yA}MqbtI*niPu^;BXxzrJFu;M zx~nsdIzAIxjH2F83-(R$XdrYy{F1aj*x9teP$a8^d}^@+M+*`GV@Hwu zuq1UK0P3^xVQGt@qi=5?#M-RmUO)+DFXSMOvSX%pJ z44Kz|;PJ$a;@k{Fy;NWMi_il=3liC-$I*vvQMAv>rdhu>7#K+|sSHjzBNmRYKhJS?dk|xx~mD zJML4;6&p>Je~njTEw<0qv{AHl>Ug?z=%hG?f9NX1&UO9ecvGH&79_Bx#k$m;iwvDp z`^$yK-PaN5Rk6w_+FW`(73dV5bDeFt=GI$&GWNTI79^&nj-=zGlc+#FY0I|BhTxQL za*{ZCV_^v97AS>E}@Z<<83gxRFp%7o+T3Kg=Z*9!|&8Itax2Vb`g4(XhC9P zvqbt_b}SX>cm*A6WO(D#Kps6-|Fol*{>nX9&hU4b@{rjJJxjcDJi{*O!>C20L^AK+ zAW7YeXZtt&XFn@0^eoYWgg%xGiO6dD-fbQ;iR>T}=oLRXhHT3xXxTxJn!$%El&{0g z*}>r*V#NN832JsQZBPt_{)$)M47j7KB)NE|G`(RziB%H{0{CBe45TG#Y>j>Y79?;-SE1z{eez(*JDb$(AQI@MKdTNk$Cw)XI?2z)iuHG$22$u{@wFu8Wo=(Z z(Xuw9$*js$rc(sfKPz^OQS)$htM<ZUF$wL(}x!K8$)Jos?2W#sEg-VQWd(S zCHqd9d@@LmO|Q<;f<)aSeW_lzaa5p9<)5?H^y+k=>~Y^kN1)f?wEmPhX&e>kUkNoU zlTfpg&1zO?L1Op&ezd3J|K6NJ&B`RytYovA6OELOhU~{Hmg}7fnIwDMbfDy1#cqr z*K4ln$&r%sqHCS`7Zy&ZJB%Q++EY*1g9-1ZB<)Qc49!wlPC z8uPx2T(MdU9f4lh(}W7`EpFhNa*)=n(*o$Q<)hJ(m zW_C2S{xhC^7TLicoqEu_%s4ehZ6DBs<{XYwXR5KUh6zc~YtTo-V&SP`Lenn_OVrzqNdTJb@?z<&P z_u_V%_=tQ~OROwL0=@9gO45=O7ft#3huLMZy1%p%Mtq#ug-gVYMyxAIbK=RYi*l27 zp>sQ8wJ*#1DZ$F(!WHEsbDHt@*F$OH=0q~9Bn_$@L`UYwt2=d7{N9P8Zj7J;g{Gb% z(aP{!Zt}bJejF`GY?%~90htNv-d;krZgGF5PP5wbVUZ(40=?GE?nFbKN0M1XN>sf( zPE>a1Hjw`lwS#Cu;??tD`dfJvnRT%wsfgbsrT9=^IayTWqF3amAWE}MRHKicXmoFy zk{=?=D}*v0T9EiRp&b=%I#P>1)sM_jyuP=QlSC{*0=*vA45n&JM``sXzR9Ud_|ODxC0#C ze@S{8?5pf=WF=?VbmC}1LcdR(X-}%t_L;&Gi-g zTc6mww4NL-Na%O3yRx&D5^(xG%L>yI=#_8LmVVBRRb!=?<~-J1>3#D*HmgQBM+*|T zTb`)$p3qp?)p-YdBQo?}Wdi7Ay=b)$?mO6mDlQ$W_Q80U=2R^rO6!AHq+QD9mzCtU z|J38(hsd;*qSf==W zF29oekCgBBz@Cy8pt@iE#sN@(vW7GzX=EfVPU<>Q9V}cwL*JG5!ySlS$hX9 zNcb-EqhCS8w9%c=-cf}1j%?Q6K?1!tpY)?TX|Y5tzOH%7b z`<07hTxIJKzPkH?1U@~IH2CFyCFin(+*iB}@W0S&>-{D)zWiWqpXH=(c32B>30p)F!NQ*lqc#w;6!bF?6V`)Ep1 zAMdfsO>b zQCnNWU1?ry1j{O%sM`Y+3H`32PhAbla_7eFkv>@^Jg(rn??5pLk>}Hqe zK7ZWg?MHx7i zJX~B{zAY+#(Sn4>%Q{r^-@fX|Qj$h?yrXz|d}Pm@Tj&V%!Zs8&UfySw(`nDys8K<> z)>sK#%LJkkGT#{TF!QF14bfahnq_eXy#0P3T!-`^0YXph+Vl z)Xe{xl^*2YQe1~xL+>5q%B@>?$fK|3DcFigZ}apdhmn!AYp*%u)x1sx-aVwIe0{-v z1uaPEkKyTGjem-$Blq{-uOrYaXPO6{o)f7>xYrHK@zZrG%4Nk^4bL5q5xLKUj=b!n z%`{wpY0WQwDJv%hI&!oifp=EiL3ayYG2Ti}SYAU%px5UI9#m~bxHi+Ur`jIndeTmo z?i0>$Huj_wyqlUU-qy&I`dsX$=Gb-jNm^O%q_QUO1ZyX%anXXry5Ao3*rJy<3$VPx z9c6yer)-&ZppHNs)aBVijo&8oeI~A7KC+VMd z^wMAX*eV?A)#xjus^Ju_Wh2utN8m zv#)0obp(3NUg}9_6GFB8)tA{tl$UN#)athU5uQ}3U8tJBs-59UsU1Sqv0>NJUX)(E zqqehkISZ!z*;to75&0|pFFXd)Vs0Y$hbgq$N5ct`zd{QVlUw>ykGWm7V~jYLY--da zLd{_iySze4E|kcQ2|WNL(95lHb!z!GM9W6CZogI8 zr;KLxM@4b8AW_*%?0)LlPRpu|e|}Y&mAHxxGIiGx=v8!0HClWrM4RD#Q_q##-N|Ef zM|<%0Jt~rMc!)ax@gT4=c`OQ1XBu`!SD<;X+G}6P$)Wb#uKiWEbGR=@3lalPRVKTY zA=*sCqtX`q-Qt7nMCBGb0=@7I#R@m$cO|gvUbZeNh@%CG20yD3KOUmZG&rX|R_eQN zVCQOf))DBXzjBAG<$1j8Np?_Fn3lQgN>RnztG%<$Ay*nYy1iQaf!8OhSbJ9BTcnH3 zy{wn+I*`a8=t_+M0ady2XdZLeT}?-z7q+@2E&b%l&!@a%*%!*{?gtXS zj;@rtJy@$R5lT~BC`~c5(iHv|dR-nnJ8JJeJ09T2*;AnhfOin@+R0iK$o6B9T9G74jprBTuazzA zt() zrBBuBto4K_e)WA>a=g)4jZ5zRohiOlb2X~fnCV1Qr!~@I;<a#NqhjO$a5g>Y0 z+N|bUY&TB*q5R-&L`79M-F2K<S9QsSH)+xv^2!1MbY`0 zBb8o7R~s&iecXRJIMVg&_0)JZvWO#{`&LhlSJ*ctDcOFy68(3l;fBcRqXmgEt;*Bx zuD)8uZ{fXL75?+HAw%T!kw7nu7-HvMx~5cY;J|K*oIYBR$e&V{va=g$6~Aqczf(4q z@MK3tP9F*M@=PjAL3)Vs4*(~fdgHsQdf-z#fFrl zb#`7_EIGUCl@h;ViJ?MLU*5#mj+UoarQJ?KL*$h$C021$SK5r!g&H_Ze2e#C*j+>?@leMiRU)<@C;k-}_MFPG4{kIfN%yQS(<20$_&#k7H zW0OQ=2w*l;s*IOf-}?AdDQb}KrB=t1Ln#WGR6|=`llibNKeW9JGuPIl1&POzrRijY zI$C5nG^DmzUHaW%-j7~KfS3NPrtPZ9CtfSbR`xe=wBY|{TicQ{uMQ=TGOti*=j_Pk zbKeb7bK2?%^uiXAq&xeC{`FTY_WeeCU0We>zjGNXDSK=6)V0r);0p&^Fh`*Wfd7SF z2`|e~_8f05?$-L(pI2{HoRt&N2e16(NgE2dS3_NQg{>~4Pj)LF+tHpa7nxMFAW=Wa znygoQ{C`a+E;OB(S{QsIxTxdEmv!)Xg=;gPxBz<3B zON%}WD;45>R!i)Ps1e3?$Nq@-N!0uFxu|qKcFs^&WCziLgud7Qa6PJI&t7Dh@L`CK zKrdZymUg9ND4l#78XByP*Y$HG%FlJ6&mF63k>O0u9Hm()J42VuI30mr{X^{OV)H86 z>a&TdbCnhePyE-2>>yf@I2r0dGs{%gM%x=FURPc}JJa;JSlz$8x-FF&P+pBPJ=)k( z+E`aLb~)tRlgH5V+F2!E>%*&N=N(#i{9n%AQ|RiAm(SiW6J z%IR5N%k}jO>&16e$v(7UmBi74#KvwV>26Ya?MX}-5zNc<%{cU7k%NvvuQIo+X?vgY z+6c0VA&9RW(csWip%#i3B)%21qP3+Q)pb*1CDLP=H+%TO&qk<)qGeXHHD$DOQdd;r zKM75zHvPZ0|`M-oH+B|J_1C015QUwku7C5?!>_XF}hH3w@tlv%b&P z+!E9+tgO2F{rCY(>QlL#+Kcecit2>wkz8m9<(f5wkU+1zJ|!vWx`Vd5|MuVB++}lQ zZja;N6tp0L&w?aXEZd!bnwyq=|P{fkM;B`}>vgL&I~ch_(7?K|&u(Jl4-uCNw&fYb(@3kwC9?IS%yc zqP1EFB1!Mh)>cj?Y|1rPx9#8NK(Q;V)$E{j!htFuv{t_|&m486p;k6p=I-XwWTk1P zExEgdS}6V(9s_AfT0Y%NSw5g{u21W694$zgziJN;FRvXVYwGq;x`=ktZMNS(L;m~!peEYq4@Lv#ds<;0hvnxibW?4awGOG=FoyG+wZL~*nr z@$kDHop>lwLCxKVxrO=c(PvFv4|UfO=v7Pfn+lDJYg$NdF-`fk#%{_qp%&V@u?;P^ zDxxYOgbgZ1W73MMN(hGIrKxo}NsH|X3&igAzsf7$gc1T;kZ8596eWBuswp8H^sB^6 ztSh7Juh>FIpckH@*n9a=IsUT6Hoj*G9?>^=SX zh|mz_b;olGT99Z{#hN~36{2mSW}<(CUcBh-V5MaGD;hzP(B;^_#uw@4W9)m^ ziI=L*ls48SI9iavXF-x`uMXz4GC(PtZ>1y9>v)b0?XU9J`0buq|7!Mu0KPh=iPFDf z1&$UZ@aYkIna*L{H^itcv~klB=vBB)X&N=_x3N}v^X@~9z3cH08I6@vuj_KOAd%{C zOOdO78DpZ&yA^DHUYqCEZlDZr(TJl3iM#Q(6f@|TG1}Tp)NfFMU$m~GT>0ICqXh|k zLdEK{6{Y#YSQo`EG+0NV*9#x;dCN||tRnQ4O11GwSpL=*BqsXEKj zFGm{V{MlGcs0m=7m!yr87AS)|?>4n{N#HsQ5V;-7(XZWKjfn^Lh-2I;Vp8fJ{nxa2 z>QEhlUU-J0qVe1#<(g+<<#F9eU5`TIvQfPK_kK4zPBv%mzLof`R4!9WIlHrmjzBN{ zm49?UqV&mVAoh!o;*ScsP*}$s>K+_hcsa@m_|It8yy`cwB3-+4TT{pXY&fJ?o_1DJ zoQH6g2>)xwLI(~S@eC!Yp`#7A z**;D2p52C{1&N){%Twx!Yub~zEw%*jKW?}(qiqKrfnEtVLhm zO{+Y(Dc7D}JiTW$>vi2+EwEpodxH?a+wODyAvIb~DqWQlL z)V9SVV}UAHk3W^UQYu3!+^La{KrcK)NxJIb!i&evQUdzO94$!nKUS7v{GS;MRJl6d zwdHqrPgG8b+FB&gOMm5-*X!_U&vF#yhP&>pnq-%wrUS04@dH~#sL;AMX33qL~67k zp+t)e^u!z5+hAirTfR0mSDC-^n}P&-)fGy*{(Em56D=BwMgvqt4NWnFKZF*L)vC>)lHN;lZNUD^uib;NjupEW%Kz6WmcU?U9UyrO(9q6 zntMfyaPKxhSEh9zr4--ZLr0+3sJqVO)c&d#+t+^lVc6AWl47$sQMdCV?k0(QDoRp? z-AfEh11c%rwa0O^Afeyg@t);o!`fUY<#`=FfnKk$4`6qKM=9@O;yLcZhFUQn@vFg}(!y-e1+PY{#BJ|%SWaYb8 zyYkCRB)00@f2PG^9EAjWeK{eNjUx6Hd>Kfh0>U6FAk@}H3le^HGQ@hL6WTFEB?l9g z9O}*vNT8R+tz{HDV4v2ywS#uC&WnANTSA=@_p6Bz`ykDHc~jjt0rzYW+J=d9Sf4(n zl!)Q+94$zc>XAuVKd)=Y;I%3;iyj%KF!AgnfnK=FgCwQ)b7WrLj-D_;ORbgI$zAj)v>>71o1@hDS}e0+ z74^!IKrd9y7wc;uY%x^-8=Gs6S7<@vRll_qm2au#0N&24&4zy3mAhNSD~CsrU9=!!`*AH@I$A-y@@HXQtmcGC{-;I%Kmxr`d0ebyUA)mCax(tr)m>h)Ye4{636Oh(wqFI+A(IOy0NkI zBGtM+B+#q)+_jWit)bSsPC_4L!TR3JS>&%!Su^;_Dl&d;qvpj>k51&N?@ng(8+o&_ zqJj=BNTiHfMLr8!X~$^Uz6={>d(sf*Jx)iU7b@5ZeV=M&S@Q$C)ayVC5~#Q;MyV|p z7!DZgsgLfH`g$d&!Nxki1i(1HXiu1ZqUt!k{uy=225@$4djUiv#I?^?k6?|fod7Z=abf&{8i zi`4@m5zHZ}JKMM=UZ)9&I)|wCC%)U4|1k`0_}S1##4EHQq1PR(U+1-<)q%py+@p{{ zFVqkd5pI1?L-K(cYU`o}i8-?uP~WXRwL2Ji`J$m!kQFN|-UdjZ7iyu2y*Yjb7*^h! ztv)4aL85!xd6c)iuXc>oekToI4wq6_dLw~eg(K5w&5TIxX|F!K4x7<@3JVwU3N^^k ztF%s!td{2y!-*#L?3`#_v><`U6PmIfIflpoI;*XV1bU%nk?2t;%NpEHuTonVEl8}| zJCn|A9jIM-@`pKw3l^1FSJ6L^Krf$PGpPFBp<29Z>tbPe(|o1cx@bY-aNbnvGINM_ zjJ(a$3`)<+YU?6_UVXpJpnW%nYOQ;+cOOIOo#U+P&LJGtLHf^}Ko>$2)!GkSAura~ zo@{CuxoA0CB69j@L82L-NC~mSwPVDu=l(xa>ahRBvx@|J;hK6etSwd45c<_qy$-Y> zfvPc*M^Q;!Lo^``dpy}3DlVp`Q19B472~ZvCSf0A%R}{JJ@sEBg4BF3s^A` zuh4=7Drrel*be(#*NlbC@_T|#a{!eWP)$J8mn_XVlpW^78j2o;79{ja2(vy;%`F`6 ztzJ12=!NT`g?dumZn+(LZB<(rEl8}M*_Zx)`rjS=bGL}8%S%rdAmSAg=!L7Z#ZG1w zGIGzvuUDTEv>;Kddso_P8mc`dSCT83oR)j2Pa+cN)zG&GIqepTav}pQ_U-Gv($sTs zIzUIyj^fn<)AR66iJ8Es%1%57FXP;P^78!iO@{ z)&&gx)d2j{By90~NomKN{xk0w)*-VW+>g%%`mWuVYu`I%{2cH5Ojig<+t zdg<@rm&nq}aGJy7#Aq8WNZ?9l5qAf6R{mSqkiD!kLboafSK8ou6QM0~tC-T|%2R`< z=uv1vLcj85><(+Cf#p^8%MuCn!U}V-Q*3^kX=kVAYU`o}iL$5N>Cvv%+8zA6%|V&* zWVd0qh*wCU7goxPoq-}3n?z1VeM-=RgwM<>RB4B-9Yf@O6p{B)zx0tnub0Cs(SS(- z+S7ig>ujY$S$lR(jJC1<8@;ezT#{lxx+vb4*BM5N)tQA7)4y3J*US&dGz0UWTore;|QgSl6rWmueFGrK;mW zv>;(Q*qJ=5*4B<8_I*{vzOQQQBBAs8BIdk~*V9@zY0pXJo@J8%NRb`H`m`VG%FySP z71VfzH5x*v$a|$yEQ3arE6))YoV7?Xz_c0^QZ_dNMNm^*!wKNQ(4!tk)g7P zS4il*ba&7)Z>iF>eYWANc%MsPK>{nK#XeY#CM%tX6fw059;vI7!P+0JfDt{)+FL1B zZd-13(WB6UguWKX*2hcn_$!&rSB?aF>E^tp>&-WrdN^%Vvx8_sB6hPg4LDm^yMr4a zxGUlHTbS;Nc!dOd>1N{185Wbsu&6afXhGup$qMAS?Sqy>78w>rWLQk*{1p=D_1)Tu zf)9Msa^Z)!EmV$|zGKP}@e1dc(F^CJC8@)W>dNiDv8FDfbu2IT$1OM2tX$1x&Sjtl|F@M@RSH<2r(OBThvk(CbvK%xh$}||y>J##&B>TV zPR3;JgJ?nG=YSgY`sg|B7$WbZh`f*5x=5hck49Cf!|jV&>+Xn{sucU;Knd;{t`V2gGPv8RPe>}jF4E)wX~?pkd+Qf;T!y0xB!C@Z2jD9goY zdwV;7vQC?;?sbHd{XLjl0@!(Ihn+dpn2{Br^Ipq2S*WOdDCt?RReZsi0b#y&XgXwQ3h=Nm1Pw zneAZjWSs1sjH+LQC_!R>pC+`cUZUAo?7feZz4zgLg#>CT9-eflPqJxaY3xa7{m9&E zR%QbwNM!xdg90`rnl0b^vYqqW%yapeBY|4j(~^|2)lbggQD3QgOhgG18-41~ybkM3 z8|Pi$InNCJ)A<8i4Uj-BaRi-7{nR)8`>S2q(>6+w*uSS5-ErT0wA8U`3t8CpZf9>T>^z~#uYW1ZK6n<->>DAZ2O>+9yEw4J*6@?NcTqkuT z*U>Z0-n~DvuQRS`CEju*P^&|q9^{^Jq-kTriQR`nCv4=sixMQB2lu2x&nKBS-pVDM ztya6M<=AR~1ZsIM_N5wohncg4y^}e_-pTM;f)XT}toEnc$Htj9*n1x*d+)<%A`+-I zZlf=`I)<6EeL_qp=f_sd)OsvlC9mjDYqkXQs|dB0NebN%c&Pc@n!Ide#><5a_~0ZyC^}TdDd{6=rY!9d7EVE zK*RDi)DU)kAc0yFv`EVB8e#S>%TDRRvQzTjMF|pHBjc#*_m&NoWwQy(vdMcF3DjC} zBa-4a4KaJy|J$3MZyFp{H?pVg5xXbSfZX9cUJZFOfqwozQr5G*6?C0KMQ)EXTVB4) zde2U&32J5bb`T{<3>iM2-q(sZZDcQ`cs_0CuI^=5tw4a*#(|URaq={?uh=^oPxelR zw*w_uZ|;!sv}#nm*;nknPgC~ZhxZi{s5QOcIEu+I(X_EDq=@JESMI7S8xNEq@%h|1 z%J44MYNjkom*1vv;jJ1HnE8!84_17`-rTMB@?(94 zb)go%17w*BA7@qHk38e0_Z3QzzzlZmWb1@qoSBZE^9o~qg#>D0wnvr~*f*#8A>pG} z<#Bz4JdjA7&gDY~e;Z0KcrLv&WfnEO-C~YYNB_TOmZ&vkhb9 zW4VwveRFVbh5c$nc6v5SkT`iYjK=ouZ;tuPMhg$M$+Jb(`w9uv!U!%&iw2c*{uOkE z&nuK5@$>ir6j5rRY2%R`?`+xe2XzeVDi7vKFD!xHDHI zP=bWL4J1$tpU6ZT=oRimMSCKF5+ra(t382QxNBATYEPgR?o|~D z+!tz<^%2B{SX_fUhvA4DV zLg-q!+f*cQFF4kVd!R)EB}m|2ZjnG6xN{Y0kw6I&xChprKrQ>0<2YMo{bW+KZEph! z+>>lipcd|w773K#p6&nU6%x3sT(p68p_Vv;`YdE~%PV>CwTk#Q0^e)YdsUhyrW`jT zH4^IsOH<}{N90N@SMj*+rD^fuZ{?pK?*E_OMFPFD%6gBptoYnkwC3C`AbpT#d~Gr*ZpV%B}mw}1N$Av8EMfglpyhZ zZfR;d=R3J2&s>jQA%R*rd)S?Rbr$~}FDyocSxp>2^s2@-9$SED`QJNVt8J%L(QP5RX(5;*&;vK|vH z!nmTa9VkJ<{RaEpgx^m29?wo`N1#^Q4W-GW%T9SF&lQFQN?JE4L&Mtalv784`yahR zBE!UTRHN)pc_%-|1Z`kDPz&c6+jz!iA)`F+1XZm#Z$UMBP+^TMvk2E}Y&ELyTp|C= zq7T+268Odo-*Po#`8cj8uQQ`4+Q7Q3vOa29lf4bB*P@LPw6lRkhs0`BI(n_#oL{we z1ZrWAh+bj;yc|)DW@^jjBo=G`n^#CghE}6o^_R+Z2J2bn?Yu&*kHOVw;oU@e43E@E zZ0=Nzp50x*Behl5`)6A3YV^L>VmX0FY9vsCgnc`ZK&>|Z)hM}Cf*GmN21<|++c9QL z9j}xEBej!tR;IT9rZM$dmLTirqUKHTpfb-A<^|N=;wn(4^iJ^bhr*a*Z$i|7ccI`kdoNsK`J)4D$Qg{8K zuElR2_>Bd>)`$dpWtH{0gf)o-O0ZswHs%$2g%Tt-FKkL}BWB17k8pMbYMt8NlwP_` zm%Ulc7rjDB^#Y#s)A>pAJ+>O4ZIM6;5-qBDQn9NO$u50F72x2O#>HB=I^GhvN7iWM(A3zliJb*?@6+8!YUH` z8#<^*r8qffrDJmO_YS)48_(m1y$zJS%&CypYc!7~!wNU2-?NOB_4A7*32mT6%ioF? zMvRyBv!1agkw6I&dCRw=?4!oZ*Z93C+CT!e>|2hleK%aDlXZs6`l-WMlf73+yj|Xm zCa)hQ>n9%D6R3s#CK5RNtg^m-{5P+V$i+t1*DcOmKkWJnwQw%5({9)-WR%*Z(9RUg zx*ntOi=y>^VcZ}g*=tKe~kqtYLclmgJH~HVZLZab? z4m8y>+Kh>I?Le(JxjRzu#R%CvBNzG#CEM?lg2k3& zU8vRV`%aW~RX^D{jTYOn^y$|$aBNo|6Ron|(~DxhrVT}U%EmdoNT37>v@Lpt1Zt^e zST1DWK4wfr8z@0SY)4k_JPxURSMBV=nWP%|C?y_+r0@}d3P^-g+E|jZIPxF}*36wZWb*1-Vy=46?WUNVS2TG7= zmd%HnEnzc}$3(P&1ZrWwi8gS|k$#n_7v<|4EE}f-qYacGVLu*7pw|8#-O0C-zigax ztj|JbN1M^1a4LTL$6W;YwMLSV!0$D$#tfk8Gy3s}gC2?mN|0D^YXEik>nj^4#i9+A z^eZ}$8t3=n&*xZ^y$vLK_a8_X!n?})dAarkYQ2mZM9ngFko7ZwMdEq+0J`JaoJSw4 ztk3WPQG=;Mwbrt6axb<6B}mw}0}0gn>D3^rQnZ~Jeb5FL_5@0hz^}5RS4g0i^?xIZqE|T1R#}gU7V-bvff6L%WecR5M_S3o3B+gv3Dg>s z5J+c=wv~+&h>@85Fqrae=pyT<=dS-Igv$TwBkQO2VomlfM`GobFgp1|KiPAMz7GIx zU|pz%BP$ZC|jdNd-=%|gP z!>d~Gm}r%CPd?rpLCf;Bk&QE1kw6I&_U%9dwZ3jNf^to^Vj|i=2@>}0z<$SZM%uow zkl1iy7+p;5BO7P^qE}cKYT@jWq^h-hI;u~|rnz)dQms8#dXM@oA4BId^^nK2EBL2k zW6Af2-tu~W-Zl~_$^K?6H99g_)=#Fzn(S>LvGc=NI{kUD{DD8Eq7AGIwH(jJkw@ET zIVG!}Q4R@|MbnP=LzMI%#jhav80#J!Osf&N-$eGITBkw6L7YthDd zpjRkCqQQVkRA5`M+={;)v?EX}$A(EXw?mL@oVJMsN=771Cg+-gvVK}G+7{b^5+oX* zn@lyA_{+vQyl4Xn)S8t%h5SbKlZ|tDkr@AQDutEn$>Xk7*8As|ep9Lak>0X#ek~Fx zK>}@y?LY#x@<~(aVsc-(JI^nQHc*0u*p3@3A{k|Xv0h#B-K^E7@vHyuBN zKD3?2-ws-3W6b}J(6xp%oIzgsC-b<%@>zlnY^_z+uXB4FC_!R=scF>qO<(gmM;l0> zR*`1YC_`pH^E$U9>Rp~j=f;Hb*xn)Ybh^4f(v0m$U|l78O{4Y&{dr_S+hWU6g2Y92 z8s*nQ%*cQ?kU%Z;P_%*mW}P>kqOOeMD-PBq5-33;)57W0xA16l#j*1WwZt*k=Ml1iq7AF8M<2|R$9}vFM5TtasQ!h?d}sI5oU^G+(joXJgJ)sR35 z681KZ6rDq@^H1baCUg0@baLK!9!o3_joFSiP=dr9-?`Mg$#^rC*b%6;q}4n+^k}RZ zOOV*LZ9ci}8^vRZRn|S3TYNsT{U6ptoXQA%R+hw$G!d9mblm1Z|)M3Hx?n zzvFlyEqa9#B)reeCYMPQ&GiGlLISmLWLb{isiPd~mP0ZURcI~UOEtIPNsI?P&V zm5nj~H$vCyuxbH4b|&)u!lI4Qf6b@hSySZe)l?blU3O9;HCVz z)}oEMiv&uLICMLK8YoNo6RT(g3Dj!+Ln0m7pJ+aFqK!SBlIZq>1Rk%fvhGRJ&ZTsu zX`=bei3CcJK-;2MNTAk1Whsptk!Ze$LmMbT!oD3R>Mx-qwUYRgBKEZSOAEAt5+u-` z*bXF63xDMy5-35!ewHACT9|QFlH|T)9KF2edU_lzvUbz^rSwO?&HSBrVOB0TZZrQD zV&xq*<`ojCg}<(`Cs2X}{<25(3JKJ*{%<@%qF47yCsEwaHT)~d{(?#L_+<)z$8Hh- zza1z+qG0AE+IC}ueDRe2D+siK1ZrU)iUiJZtE|UFtVtwLf<(m@NmOBIlKEA}&MVZq zM~8;z2vO7#`|s|?z<_X-Ku3P}`ne6{&i25n$nsDF)M8W*>m%2(KDzUxEc(c%^Ka_Bz()gpM=N_wj9lTXv3|LI*M&?~E~&n2`i zdWH3N+_sXYAKk~le^|6Juk36fvEbQC>cgIbjqe|J1Zv%Xm`pWG>^HxEAdz?QYVu)k zIQ6+?m32?9oLEI0dha*Ce;|PpB<$OP1ZtJ*zKWhU*>A>Ow1E;N?Aw9;j^m89I36fL zVw$po#`oQ4esM>ykU%Y*J?!^tUk!6CVmXnuyaOv*xr6l{9iO_2Zol}B$CZ_%SJCVe z$ITrnNTB4P%PMNo{(HV71#7amfkb4ERV0UfZ|+Dz8(0@=P1}}C9-S`AH=X)Z5fUiL zIysr9ue{86>|jkIff6K6cSxop$yd#9+h_v`)Uy6>L~0~(_E}|p9$SQQMInI_B(^nL zP20X4GjjhWq#zlLJDO`q3u0>;(I@^CXvA0+L+55vx18R)@7CT zQNx-<0wq|lMH?fC?LY|v3)&V5lpxWm zRx16m?UuRg#m+0#8nP^v>QujN#zZ7Wu3ATqo_Bbpw#s_{xO}yaUT?TsZ8EYTfZ2-)GJCWq=K=Yj*Ec@_PJ;$6c*(DouX)o4KnP36#9) zmO_OVKj-^*u_k*P0?|2z2JC!p?%zclSXVC4vTp~DnpM^#9M)v-6%sAGuA>6We>NkW zomZ&UrTjWN;&R`Na7duUE#o@Mn)LzSf&JgSLLxdgm8KMaWbVL58(0@=;b=;dKBpL^ z72LNV)gttWgL&w!{~PlvJwlftQPh7e?Q;E7?!8?99%VE++zE&TO3H+$ z()__+`2FX9^9qRzrPtB+D9Jp(7Hwc%sFf77jyilRnP=o8fs(`l>nZYd27V$i)@0vu zB<3w$Pvx>^wH9%=|<)tE`VrRMU-A@4HOq`L);% zlptZ>4kS=(&-D!?^~_|Reu_3wf`r(PkAEqS?OQ82a^J4&R{FOTI{QZ+e!eT75nz># znfPynu5}@pT_1;Xn`g@+fvvU5dStM-ff6K6_->@DU9y;G{h|$&oG!kRn!U=xPaVdZ zBnb(WAQAb;2CCLCt9dT69f4W}kFxPNnw1t!(06Phfs&QAHqh&G+4*VBXj>#uf<$nR z4U~CwcJuUXw1EU_t=+Po_VxP8JfRy2ltivwM=vkt9Qpw^su z8)?^z!sZFY=+*kYo9OzTqCEOoW&IlT@Y+PT^B3hOEQ>Z!f&_YNPoUPGUpLZ-@kPw& zgI=Ko3Hx?fTKYPO<8S@nh(2foB}mxM5+qOyXAe8UCBCGi&($`LuTBkii@Cjy>i%4s zpVqtX+B&-Qq%=Rp*E;3H@Cpgka`R>P(T&RSQ*P}Elps<2a0<1kS>8Oq7HuGbTGs!K zXHF!(EZjhM>y_kZ`bL!BK&2j*%Uz>8%UrQ_Mu4N z?6b=HYJfF~1WJ&o+F%pi*-(t1Mr}`^R)Gf_$)!qh^VDf<2TJB`-bj1L7U$L~10kg>CAw`^4e3sKnTB|D#t(l&Z>} zaYogq&pi5|4a>SdQmBRfCbk@VaY_dEt|y@`J!N}2u_lo~2@;VXQm9;VUCJ7&@7cEV z3bk;YcrGLdqg0laE44?R6e@GCDd}ggKHic-^KW^Pe%3467708{2+t4NylX8zxaC3m zDZV0sby;P7)UYOzKnd1s(Z=sq`hg;x7F=XYdiTO?3|MElsa^!`P2^N!5UE7U>{MH}evma?m{WJK( zN*dMMhre~innVI6NKC)9f({Sy;qMmh3Dm-V6AA3a>>vT-l^>D6vw)bQL!p3^CfKnZ$im5r6t&W79m zL<$V)#ZQT`2xGP*ff6KsJ)B5SYxXgp&+Q1*`sqX>ojl%`zrPgQfi~t}O{AzYe*7I` zt~-g8%hlg}JBT)_KTV{&c?R?7W0iH^k3USLpDqnF-wq;y5+u;J=oJ#E_3&OIWqaXo zMjy0+5+v-~fqin|bRr!O^W|@7krur|2@?I-UQXw#{`}3YJ%L)-(>xcF%CgWnSjH^3 zNpbUOSg1dbiFl5tRW@dcp4I4|2wiKS=K^xy;ZJ(*Ezw3SEureA29cg!s?goVwCc}+ z^sCQ7+1>_9kOv4qam8ANG$ywYr7U8sd~foD&0=y|qS#;gkUPS2w{t%Lbj)`3Un zQG?`QnqGhZ|9GX(LW@8fNUS(GkF=-3=GRvw@Z?rJ19s!@%=X?uGr}Q(bq$?9kAjMX z@$a>0TWkkPkmx^V9<^N*W`3_l8%Us5m9Fz>{-`15_gW}@y?LY#x=F9V_Z0`s&CZbm;LBhTrmX^MH;n-OJH=+;PKnW7| zBZvfQ;e6xymQei>vo=xk6B6#dNk$pD#eI7z-*{sqClx&(llX9I5 zCq0`L)?{x3iI3xF(huK;Q(88wG#gkKY8~o6lg_LNC-)lqdmlYJlhqEC96COo3iS#j zJ=+)7BoZh=Vpy)}OKECYtn&QgzBtrRP^;c=W-VL;_Fl#nXB(y`M@G_ePo#PM;x`4Xn#5 z>!XG>+1tQ+E!r4CI~zz0**ulr)QUED*4PoKg*_sAh5a)y=TsW)J&g1$S^v!|Bz9h& zLTmcP(#+->yQ1v8LaqMaOrb(W;wUZ0R$A|Rm6}3ccZc&xZI$)@Ioxv!RX-3&n9^ zEn`+%%dsxh`pGewe%Kk$-v{vAROu4i?o1@ka+AmiKY}|GttVim9AH)g&vAF(BFCaCeZ7^7}E1<{Wq_WSd()CZSEIC zdWJU92G)gIINu~aW0r&UmxJZla>KLR@vL|}bzUUUhE>+*64oRVxTJvByrDe=YYX=gjRetAinlff2rDe=YBMN1Sr!t>L z^H^e)bx+ppiKh;4Mp0VEtTX~8NT6-894up&Tl9o*axFZR$EEo};nek0G=Dp2m5nji zvl{&qp=)(d96~J`#*lszk!SXNR%oY zN1OAErnEd>Y2$(IK&>frW9eA@C`!xYl}4asTa8%iT3{6E8MCk^`<5e7U{MUEhK!)J zj9Fy)qw>pNV2k#a~QR_N=n8 zaw35?{JsyNCF6$iw}Td8%yuMDg2d3t!SwWCta)c?N1#?8zaW~(@_MD^bV_Rn+DLvk zn7UUPL3&oM!}AAG%=nR%mN6@h*c0SWCzlv8(JJe{yL1>x^A3)pw2WD41WJ%V+v0d2 zfm*ws52W3tteA)`M+p-4?Z7^9eH=(j+s2cg{|sr-E0iGdtaAW$y~OTh*e(Kl0=2NG zd1fPxWubAfj9G5m2KS~}ha>ry+z*|5)3fAA9uuvyF-!EUM*l?UTJJsj(2)Ys{3JWk zMvtTY*^?>rH@j2bHKRWb{1Q)kRxW!RC_$pnt9~TsjHk3bUTI#TuG{Ut{2RgJjp5G^0W&Ij#64a57=831YY*uLmN{~R?VmpvPt)DA*qVfrG=8hB` z50oHb-wsPlU%hbrt^XU*2W_AP3Hw=s1Zv^z;rW&{mbb=><=Arjn6(}KIX!~MkH4gL zGdgdgHKrK9<)1E*H5_mSK=oJ#EW&Pi{13<5EoUO7ReJsN0 zT_jL~#EU2GDa(X7Gy2#OsC9L1dupV`n$ZV|E#tkZdGb)c0tA)urX%yBc|1qk_AN)E zk^}NmLM4d46j!d707BTJ(k)G#Qk7O?Q z9TdGcoX0ElRQl73ceLiIdeMyXI`OKR=xU+L*jjigErm^H)En5 zfm+uSJ?Z0&A!bZOV)F?Psxd!;$3&~F+k5b$2|cP9Va7xxP=W+{E4Ca7)M|RXDIK{! z#Egk(10_h)X$$NRr|oa< zG^WvogUzRHBu;;BM9oh6Q{@4><@kq<$iJ*Ve~L$M#g?N4iNC&SM87WdGv9Ke4J1&@ z`o9sWk-!$74e}uOS7H1q)gp{YjRZ=N$X~>RE^G`jpHl4z)WUufTaLXrGORJZeK?rE zXF%H`ff6LDgfym7R|lK#8SK15EgUDFZ^?^M4wjY6O)65Gva>w;`m>Y!;~G@?>;V2G zgtkTEC$sQ{v^D=Q(cOzIlzpf`n7|7+^j-+Yy2m^oZyc_Rp-48g%IP0RFW7-@HO%GCTEeSb2Z*`P|Mc)LOZ! zDlKVd?W{p!{S`^ao64kN{~3c!kye&vTKF^js?9!0<|KxxYPJye&+WNJEGHLcS>^e z<=;Qnes-t(S^JvbKajw>{P()kk;nb{_Ybr!wj3o$yuRyB<(K=K-#^d>5~zh9iZ;;S ztqrSC{|i0&_YbT|Bv69H^+r|bxYpDB{$b}8YKdd6&nZSZSdJ~X67AgSUc;`G^z$xZ zoIeh$LZ#bxHQx>*ffDr4DjO>f5@_SxpKeqxcUNl3p0+K*n7c@z1c?fbDpJcox|mVa zjzF! z8rZpu`NaeYlpulak|elbBCC_%!$9oQ%J|13w^u`c}E6w;zs zC_!TI$ug90MHh4LAbN!aYGF_F>`5BSLZh-ATPaa9N|X1t<~+h3SyY+=XEx^%&MF(T zM9+itPlT?Oy<};MuGNz7P7!T<3@Aa3k~&hM9-55x)+~50wN6wmNv?-det3zVY0r`ni1 zo$S0qEpe9UbBa+8mSf8ety^V1sy&V>O@qfbH)En5;WnrkMdwy{jJkQN2xVQ-%#1#E z#M`w6>Do5p`%7X@=BK-r$lUvZM5%|al+Z=y(Z?$5v;A|SeB`xBHuruYff6LFHW^ox z9f4YI&-0P`ST>^%5-35!z8%;uA`&P;;`GV_^s;MXO7hpUE!YvL zg?%UzcuiPkJtm@Ukw6I&@niGSH?r8 zpK`aaW!{nL^VTBnbjwRQ95wmA=~Ne2Qs>m5ad8L#r+1M+udFhkOJG~{3hTY^pNCG= zufeZ7i#Fz!oed=JzsgPZKUV)c|5aK$urAbU?v;yj=dJ#C{;M>?BOwR9Ussh!YOAb! zQhQrYs^D4e@BCM31WJ%V+hWU+K&|z$F4Uc!d+)=~|G<``1PS|g;F#k$BQ1J`5+sH` z&P%DYYMSdHdW8gP;q2krlQfp;Mq^pIQjdlfppUOh^VmlPa#NS_mH02*&YsOpV^iGz z&gqm!prp=SS87?K0{_(()?{x33F(O|#gwh^cTT4?8$w;6)wo_hT9#Ojb`{k#H0k-A ztahMeP?!94K`G0B&nMI*5GX<7MArf|J#QH^QlkwdP|Nzi5vh^D*=LpYm}n8k6@>&! zkcbP(N#izG`8yw3TFa3@t%w&nsbH=u<~snifs(r3F66Sxo&OpTYZ7}GB}kk&k&Bw& zs$~8e5N#lVS~$me7ATET4wjY6?XOM+Xv3}2JSKivo0nd%D9PXT^=|7*^GB30W1>FZ z7Gc@Y`yFZP|3>eoN9YnH{@sR7pjK+WJajOoxcMtOw1JZK^K($^M&HNTl9# zA-9!9&F4Y1fpwwQjBzfM)V}E7nZMHd>e&A5)W1w29!0IP-lkQXzoOw!3;mtPD~&)2 z5@=f-K_pP?L9HA#r*~nhIQ=_z)nYr)-*;JZ(wf{w_^%9+773Ifv9V_k`e{^QGg6}s zBv4EAO3#DD^44f9D_82;^#$nF1s5Yn!tnxB=70--c9zVtF|YoO(6vs5=BFTbjeOv{ z4UxbewaR*Au(yE{B)&QH74`Hf_;+rqw00nYTDSY>An&UM{?1L6E|L9<3&owu$8#rC zyqAj_7t3enPQZ3xU9ZmPpyV+Hck;_21KF}+)fkf*@xoBC=On>LtO4lpY`nbh~JbPuN ziTsWXZEWk8la6nZc!aac`ZZW>PEOkPn?$p&oMh1l36vm#-r5tW)wZk)y-3MGTf6F+ zpwWgPf&Q^?2lhLTIocC#pahAkZ0?q9nC#ZEKU(ctHM8>vxC~n4QxoTlm zp4-%w{8xUG!@~}x+57)C&^i)7MY~dX&?h;}Mc-$MHc;}Y7Q0VWKgjil?E8;4khmnX zNVn&`Tx5d&h6Qb)SEyy*a-Sx-C}`#vIq$0@^7`(%=u*TN`BCDL|L7GG$JXbfePzGM z?{4Y2knFrdE$nrXz-z)P>uVIYPb5%+#M_B3l&`cz#cS!;hn-ibg*_tae5>QXD!1euSx|fbI&*6D^eFQ?@6prK zLX`8{X7lo+hM~%|?Jsy)Bv67xo;AVBi#$vJg+ML53Pc+yLE^)OAm#0}jp^7x0=4j3 z5pC349;yUnGNO;ytWf3R))3yK7?nf&x1YQ%d6@!#@Z;VK7 ze|?|?3FoaKWm>o1>C6%&P%GLcRC)QhemVq7kQlH%SQ#Je|1Sh;VXuoVM+p)&5<`@G zzZ)xqJ%L&{HX@NTI$Q~B^hMTV?d1v)%Cc@7c)8TuFy(YLBd&-9N|31e^$=xq)kIF) z6R6c^P?&P}gK?#aMAw`{l*b?P@LpVgKT?_N_mbC}@lv?*pm?@)dKV=~Xwi{M$30im z@d^pl!X6R5LJ1PZZbc~l3##eZKmxU}-$WaDpD^fgq;mSMG5hTA8Bl`6jjB<~<`-`1 z^c51Q)vMSLrPJu5=@2MEq8UXgHO3bH7Xr0#WW|=F1c^tLqm+XAv!`PN3Dm;z7j59| z^A8GFHdioWyZuZ=2@;)S!jyB#Q_~r9Bv1?2711k{AklGDs8a1hdNzmT{rZ=rm6^(WIS!3<>~Fr*4JB4tC#*=VmnCUv5kIdi z&Ui=fh$RAnT2|SxasJC@uQ@Lw9LEdKbwi0&*6X$IG7TFa15bN(sTkszvtWimpq5oO zY+Ulr;27|-k7HfNac(HF%6h%leW_t%!M5CvZ)S9L{Qe|HAW+LH8#bowsN~2QMvk3% zd%K~;D(m%H_q&D-w#(B|Vs`__jZWSIfm&ACu+e%zYsav!OFO*RS93#&Ro3gZB8FjO z?Uk<`YDzvw!r|fqfm&ACuu;J=!0~e4Gq1pd&nu$DD(m%HamBFFs(z5;M$OA!IggzY z2-LF5hKFO6;})!H`c^C+8>Yh`cSKmK%kaYHf+Rrj&_6| zeCByA^Oo``vC4YAR$MV`Tw6NE@o2QaXPbuu*IHV7U8rT14I6iY$2fi~Fx@$NK(`c> zSY^FlD-sztrra9k*!VV+n%rZaK%kaYHf*f?CD!3g7^8kO_ooz;SY^FlE5aEz@{Wjh zbgHz15mKt9rPqa8R@t!8>{);#VE=V>&9L&RD6z_Vz19k6*vN3MzhlPp*Q#8go=vWx2XfBH;2n1?bWy6Nz=Hl4k;iH}XW>zXntg>FOwXPU8 zI&}W*6%^;IWqmzQAW+LH8#YRPf7EMuw@~fbsf1LNSY^FlYxOZ~RFv0wop~LpE$@{i z5U6F94I5=@b@Teuf4Ej?`-)VQSY^FlYxOZ~{QRzv*N=5aX}5>16bRI^%7%@PRlje# z_Q@FSY^{~4D6z_Vz1DhV*kEgvldVx2TcZR5wXCvXgRN02Tcb3#Mx~;}D(m%H>!4wS ztx+mlqcpZg2?T0cWy1zrqg1v=X>5&3MTu3`>$RT33>$2XQrQ}%u{BB{P|GSCHrN`a zu{BC#Yg8&qtg>FO_1tFIU~81d)+mjwQ38QlR@tz@)+mjwQ5svLQc+@+^?I%6LBj@H zqcpZgX>5%W2-LF5h7GnxX>5(s*cz3J605A&YrU~BY_K&-V{4Sg)+m8MEvszUU~81d z)+m*&Q7I^~%6h%ldkw<|Tcb3#MyYI#5(w0?%7zWLMrmw~QrQ}nf)cB&*K57kFl?|j zN@Hu3%GM}>KrO3m*kEgv#?~k&Tcg&X#479cTJJRs8*Giz*c#N) ztx+0VqdeIfRS_jtS+Cc66Jpq4Ym~;;C@;1~2?T0cWy1zrqcpZgd9gLBB1){XUa$3r z#jwHFD2=UAjF8+cExj((vdV@Hwnk}ejq+k^lp9K{vR<$CZosg?)+mjwQC@6~5(w0? z%7zWLMrmw~aje5iB;C? zwca2YHrN`au{FxU)+m8MEvszUU~81d)+h&CqufwpmGye9HwcCewnnLJjdHLxN+3|n zDjPP~8l|!|%E8tsHjfTHA;9Yvb6Mi@p(slR>Rg}?@oFcq~u=P zpA4@UllG+n*KoXN$XOyn>9TKy{Qn88>vB}Evi7$@yk4|z?-ddsvxO)_%Lk|971o7X z*wdm7lpyhLO^9;M5tfb(Bv1=`TC`!^z49?I-!156x3N)5m)HX7*uZ)>HxE@@>kr{t z_BK$0#Is*RmC2tBTJ#DD)Uux?C_!TSj4;J}L3%cjKrMVK7QMn4^?YieGQ34Q-g1m9 zB7qVletQfhk)ELw_9UDlX7Df!w21<~KsvW45UfC=i8%UrQ#ud>9J`dpY$GI6n z$}abH>5MtPDM*fwR1U_R;#&B0FWNu}66^9sD$>mT>DWL5wQ!{tZJ-2+#N`o6Skq1E z*gyic@cI{R;0n;Pdbo1)qp`l)uLdYV;??PJ<@-h<>5L!}sDsQOd&BQaWRf1Zv@%ThRteka$}-O6lC-_jFp01ZrVC z7HyyeiP9G%mB=GE)3JdBYGKqCZQ!?p6t5^nJzR(PkM-vM|6jEzL85s;l=ARu<#c)% z3Dm;(`=VDUL89)cC}q!%Qt8-00=01Vh&FJ>?aCLVdDWtjxolLg*CiUdlK=+!$?DRH5FI%AFmYT-9F(FRJ8II%ZUnb5aIIyR6%Exc|- z8z@2IUZyDJS^K8x*gyic@amGJzSCW_@3w65?037XHY*ETA-gb-!{^jb5*Bs%+UOR6%AP%4>Hd{{@*UqmWzD&+w3(fF zdbn($^727Plc;v9u-bcG7q3E#VzsdeLCV~M1Ng5iZm@E=#{mAjtLSfolx5ilQcw#$ zOY`z8t<|y ztGyF~m0nM$nO?CGRM`lsx>s{MvA2L561Z2mpxvbw6}V&}|=Kn*2GY%LX_99x^k9P>TZGHGq=>~L1w-Af=)Yg*<2 zWp4NE>=&T>*fqFoSYxfy>fCDbrE1!-tAmxW?=q7*P?K}qAFO2GpM{#SOwf0J8?3lx z%0ktG^Cjx<5 zTh9+x?mcC{O5qt#4!`Q9b(!g@);jY}MF|oQj}KPPPRc~x_%B~VE_c;(^>wHVK4sC6 zK&^S#1}mxT7cr?UYq}&oUGlYdp>17t=jWUnN|4ZNT2w!?`ForezqQa@pVw1EUKSS! z)SCQ$up+npB0u40T3oNwOsh7=O&vVBtcDUKaP~-2;*SlrxAm*4dw#1X5U5q{%V1^B zoxkLQZ*HnnKpHX2Hh!1*Rgt43zm=Jn35uKl^2K%kb7XMiGo{3w@Wk&j)q(__`S z(rV|@g|QmV3{VDVd&}chwdn!M^~!H~yz0rGAX`iC&3JXZ;1t!b_czYU?_xBRAkleP zfD#?>PM&Z_UpdQ9oT{FEkl@_;StL*kql6@NzP>XNb9%i zmwBI@OY8Xx1Zs)B8=7=XeRPtyL%VD5h1b z$ND}0U3m;UgZw3nyT?l3mi4H1t9pR)eC%!6xCX0wduhLVY*fP+7tm0G#O3+{%GNAD z$?h+Xu<^LD+godzX^&dt*gF*o)S6Z)Kq>qCPjY7-OKudarTs7{LA@5^E_ju<8JkPf z@5_EH?xHX4(7_WP9C>hrLA8cL8@(IP^KgX-%i?Zpsx|490$wq}af&+S&czswazIQc;3L3R?%Y z-8W_aTU+T(u5McSt(rQ&&qaYiEpa@&e`uj?xV~5Y^dXCeUZK6!tpb!r{cgzmxs8%E z^{t0i_4iF`mo`N-lpulQ#BzDRt)Y2!Oi@oJRT2o)>KGEBl&*hW-pS+cxYzg8z=?y@ z$u)ho^LqjmMZF^5VOP!>_BQ+6@hkFsb~2DSg4Hv8QlG>RS7UC88({=d3q6#iy~j#wD<&kUk5_sK^9qTvQ2~nUhikHa(uyQq+g@JV zmTkGZWTZHEQA=!jtv4stoo(8y+s+IUT8^zf{yadrf8(-joPOG)PpZ1?MOn4;&TtJS zNQjXkpFC1c9*|AlbUH>LQ0sN}K*gEoGLPDlbhl<9^>y8C&gCseYO8YuDtGo=lGm|2 zz4|!=mFJ%>@i>o9#gY_}X^?vBm$%MwiLn~ig*K3uq%Kp7sf%~4bS`K$QbP$6_#7=s z4LdA!ZaZGxd9uhDfj}+Ms}@mn)p`ADsmiiQ?Rn-vJ zPXS8rw`b&v>>gE;YV?_?uH9Q*?L9PFLkSXI(Sb^b-kKSA7c5Ctlcx7kv+oWO2-NET zCO~;G?IgdyW_OkqzES7Z8?F|M3)E18#J9}?l|q{jn0Mh1yna-NEM2VDS9=KrYQ6d+ zKsh<=7=QMWq!o*cYl~;yRo}+DYjfFel(scKD9>iA!JwZ5l)w+F9Kqu5=OTehnKdl) zBER3QaX7y=z075`cyv7tB}fdqAD~SBLzDG$2qfunw@li1wU4N&Wm<>?XrYJfo31p;s1I)j z%Q1mKt?;t}N~w_D=Bjpn#aG(9FW1%Imw5;yh@+OZL7?J#ahGhImwI5v2X$locj~+B zZ8Vf1f%8q0p36U~lZS0n18#N`2-F%C6sVM&v`c=@Rv#7iOeR5Z)Es51OeH*CA znRf9w*j)=$HfP<%BPU+L>~xi0J=KDvJ=C=)V>FZ?;g=eyOsl#}*3V95_wD)Ss)Kw3 zRe4*uK%f?SC`mK2e51M@o}+$$VvulsATceNc{pL0e4F2k#yvZ#uKkj%p04UE5U3@# ze0rAIYOV>%>Z4JC8op21;S5yTHr~La+L!@BO6ZAXGbY|`Jx|U2<07@ecR?CTkf@^u zD(@F;l&`(k<8Jvzf$9&@k*fAMQXo)EyC10ZsI%3yu~C_!x(}VAzPTByp#+I9%tq%U zo6XohyZJ7)@Q>$J$1mN5cHsLG^iYzfH94mK`T4#Y`lN$~5+n|m3{pNXTOu1LFYdf~ zTpcv$s#>OKXMsSiDTe};nJ%ejq;A<=(k3P4)(VVv*H-TfR7MX^lJ&Db^Bf3NVtTHW zqgbSVo-;`K%WH{wm$AOWYc*?7RxK&Eo`w=6LK(frlAChoU9!`IM>Sh39^#3X6r@uK+Jvh-ki%9t+smHlQG$fW-9V*vkHxZn#-$`ZXqZQf zk14GsvbP3Epw{QTfl9XhiDnda&Eu-A_`baMiM^RX2@;d81u6roES8P8ACp=a)PBxh zNh`ymC=#gEo!MCSW{EtIN6~wY3Tfd(t7xrR6h#RVTTTZm6CN&--Pm)2ByD+LLR+=0 zmR5&FQ6x|+d{3ZqX~ZHkie9-_TwOb}lj^!SR@=BPNI5=qDUVmaDM8Blz@loEkPke#$(_el|$CcWIV+M;1|Ti0aq!t{U3JS3?OBkNXEJg@Y%^E&2PBJ=-U# z!$-VRfB3bVNPyP!TEWWUyyIl!tj6z;Y3kByZdx-vGMorfDmNZ4>nC?EITEBi$vIgL zW|6_YOt3P;F;*VOpFei~wnz23Swh>vA_Gd0XwSY)JjpV}e0F})c!Sz3u&6e7gNHz% zmgv>-PaD(*uUxeoELAj0kXUsnNU1n)y4*j%{x)jBo&@#qs|?y7Pdf+%YGEI;H>tCh zslOC|r#2|oS?DVy<{k`EqWaB{^>b8NKAC_7bxq@E>aV56-bJmS_6I2$H_kNU?yrCD zQ-^(3S^I0cyU=ovqQQ!Gag1ED7>hp8>yos2^)dBv&)V9f=Pdew1c?W4*(`|}DeEUa zO45QmSJWei8*4j1vFHN?YCSy_q~skn){H)5_FPd1R`b$6{Fy~V2@+fX2vW|iA0f}+ z?_N(Yx~;l~Hq$z>=z|1mHU2(G$uee?+=oY>S6^q(?=og*QBW2yS3h??JH zwc6yw5P?9g&56Ov$y$?T<4o2$RsL{R>O5XeJQky&1PT16BS~8?JZ`q{RQ-zyN|5N8J48t;8e_(* zqO}^U&iD^%P4>kE3DmmxW3Y1Q%24?i{>5ZqK&)CXs*W~8S3_oL7rvUrbPf#P&PEO5MRxvVKmBB%ONGO#M_{# zV#|+~ouf9d<)`gnv%Po85T(ko9&#;q9W-zWQO3XQ#%K5^mbqok++K2XennL{KSiB= zv4?h)T~SD&mPh3frP`cc@)Um6R=qn_z1Ojuc7|QGC_&=-mtf`PjlO1NIQ4Fvn%}dN z=K3*eC@aDSoxTe1OGANxIi?s9Id|)E-SJtDyu5oIUIf{m|a3@9KKmgh$l` z0<{vmhA3@s`N|t*|p0`$ixK&BZxW+>uP-~@sh*HdF zplqDzIliT=uKQ9*tCXjWh7u%j_DE8|<6`O~C7V|Db~k}Qt+lg5l!YN7@&SGaK%;z| zZ|{y)lh_xNpz9$@?A%y>M;3cEL>b~0E4OFgoxM+lDARJpnfE0tdW1Whot&WLX;h~hRXB#7n6}IXFB)$OjEb8FD6K!7Dfq4O3l5*nfv8JHDleO8cL9u`fZ3( z;`?a1+AIC8uVK#X&Pk8AsjGK~3j}ImFR+>T^>e4k&>L#@^MizI5Q%v#>(JWyA@X1R zt}pVB?5g+Auhr~zeFXxw#NIs-+SPgR`VVRf`(lD$*71w`f(Z6IjlPj)?=D-g!#N~V zJI%FcF)fz;f@8w;4zhmYW&c6!d;OnXc~qAd$CbsIp|Ek9?EI-9~rkI$!lDr|DlzkU%Z$ zLrKcLXu0$F(IQ%CytmN1NNg+~s$9?JD;sB-cFCRKOqk%JePCZqurAcXoe}I=EqIOd z;4i+~cJ{?2a#*MmJ)$j-mfm5ZO06obc?=eN_tT6W&WC<%yxA8Mlpt}}H&j_Mp}Bcq z5?}9-(}Ue%T< zIbXFAMi8~ccFdaH-r4qe4XyTa4`E&*aV#lRx%WpGGq&eT?dvR@y}tHqyf}AJOKkc2 z;Qfa*|DV;QQ-g$-V{3!ng({cJg_!Z`#PbV>UN70FF4`Whp#%vrGW0H$`%r-rbJVV< zVgv%UvV0Y$ge45&QJa13tF_eQa>*L1{>7w)OPF$L*%1E4WPOe>WkALV9_PhhjGQX+ z>R`oe<5m5O3D$)+kY;aEuVpy&%i-#({>20(NZ>weNpdUd;^Fu6CjP|)3Dgq3>U$(} z(}J}&s51Lv(y>IC;0mhbhH>jWXkI<3`^#O$t1rW@cYZkU*^pt;3YESNfaxyZ%+Gc;@JPg?}+Y2@(&_ zg(?2~{LTB_`C)FJJr`%z+}RfsBv7kquQ0{cw-4W!B}q#rBzcax>!tM_!Q$@XFy--> z_Ix!67#pU%e$ko7-49p7l!I%1%=_Kvy=Qt>JXB9R$G(`L1c?*F!<5i&UCp>V*LQ*E zp*H2T6!ygg3DiOlB`NQw?w&b9ifV;Mduu2`VvApxa$`y_GwvQ=+t_nkn_OC%D%}JE zwZxWx_uU!K+ehnapW^Cie!qq(t2%b)?-Tmm4`W|qyYVMs^p<6`?t9MjW924VFRhx; z4kVJVhbiM{eQka*dGP$8XTu$emfEMhK%f@(x+J|%{m%1kKnE=>s-Q3)NDMz8rbPYO z-hA4A-E+5R3cJhi%ii^2U8prYIZP><&05c|tv~HKenSubw2cxZ4zLWEJv``c7d=aE_tP%2-Bc(+V)u7p%C-S*%%^Ry-4{J? zT@Kbxu^n4Tpw^mwY$m$4FjqCH$tlkq5!JOrNgl!o;;0pQ!MrNg+kCf_ntO+5^FK;x zceAz8P=W-`H%Y30YO`mVyg9X)>)iwbweGltE45w?GT(STTiwj_#r84$i^=Gw;mXHp zaXbz-Z4$1Ga*5+_An^*8q+hys@oe|)Of?t#VuBJRRQ9W+A5TP?Pum%`4*WmH-ZD;# zqkI2u+=IKjyDvM{(-aWg!UDl{XMIO-Ns!=>KyXO#ECdNokezNISRf$~9D*kV4*`P9 zbE>9hbM^ms&vW1J<}>G9UDegqr@K#8eajJfZHGB(V}ebAURXoQQ$L*RII-Z0dHv8p z+x>xxLD>@c@hXur@26>FFRXOD%>LTEU8$E%fnN4A*WYDed7a1PhzZUMH6|qR&u_-b zs8%soA}^fdGZhn;P5a$3$~t1!r4bXfprXX61fH{7f*LU?@OGDD|J`MB!~_-S^+!Si z_ZJ+g${4i8bo7WwHlNan30hDQ9iPA#Z*!~IzR#-7Hl|B$i4hY#51jXkHPo~=-!^40 zBR{ajhzVLy(V}`HPo2xHMoju1s=`WIS*$`dVuA|vTDvHL7abC`A9+uT;k zH?3?6^s=9MmA^-_F_r6Dg{N1vokzQJ)R&6J$Pp845lt)p@pyKkpwmkKq_C~6P|=}a zBL8YsUo~R#%Ztxg)c#i1J&K}uEc80|Ac5a3*F$|3^-7w?#;<8>y`>Qow4kDHzC_+K zuD2R7>5^eOvwrGi9i{9CD$r}=%LG1G4`x_Kr{Gu42jR(c@Y1&we#4(um2fUT*IBwwtG3v z=Ag)c7F48qN_t$YRKaHiL0=?|DdX_zj?aiIbdSBYG(1MEM7ZQ2W zj&W+l`j3**7FB#Z3^_lHq^9ZyC$)Uvr<`N!~`v*f=}K2g!<>ZB{oT-r#^dO-^+ zB3ruos2|3vSud9cU1yi)8&*e(KBz#ipKH1K`q!h>h{@Kzf3kGbxHX2N4_Z*+Y3}Ar z%8yaAUS8dM$U0qaWyMnTK?QpCXzJ!s;UiV_nGxw@Kd!rP_Mj0HYianWWC8h1tuDsXL%rj;o&l69G|*gQugCSz8* zd1G^tj8Weoar0N1zmYNO6U)t;)mx;#APbhC%37COB}Yuqf{MqFsF(1iDqc0;_bn^& z;3u;VjhLVUy_TPM^E$~3)%`Il>^VFA;|EqD8ZjwY(!+0eU*NQ8#AHJ@4-dZ?Q;yK@Qn+pLO{mlhu$$OwfXg^XWW%#I*%#CP#x|XIP2u&rLC6f(rD)8q%JV z^$xQF8Sk0ZXv739sCa$D&2LXxsAh7Uda#{kS$M&$N#9baKrj25j}0%bPy4c(RiAqM zylx)e`XBep%2^g@K}A@Yho8MZUqyyL&*j#$4JctbX+9h((5o$#k$&=5YOeD~UuW0v z7A$UEqIVy(prT_H4fIg zy%Awkpx4rl9vH+IaW}`?kwBvN`m7{*dkRjjR#(a9_G@ z>b+#(+>UHyKW0{>5fika;znB!@3DD{^AkB@GIeK5wk52Yxt&H#P=Q_;B{VIeQV+Jg zO=oiitua9hDzdio@K3sKNtv@fitVg3$?Q#QOi+Pd*b18Vm$8Ih-m}asesZAg9z?}V zYO4)b*2SVQ*)a~O@7paQ*cg{!93{q|&H0wi|s-6*S{L@n>lk)d7A>gCQ!dBTyURS+qdWPY1XRBG_xSBF*#2JiX3B) z%GFsV3wU|AK1b!MHf(j84>#;C>#%&W`Ppyw>w${HWxafFr2}f+U59e1^^Y%aGe6DJ z!gdAG3u~xpyB_4wQ>8s}j)!La)wj@|+L4`ds%sgs3Av8(1MDD8D8G0#-HkacR|)itbUn+ zW^EcVK?QovjH6oZJTKRb(~gB1s_Pr;er+}$QPHYFtN2Gvyd+l~wqEAt(?7i^*Ys zC)YUhYg%K17F2vYgeW&TFQ~PBvny))`F>t=cf|;s0=?{Ko;R+7zGL+yvo(#FtUlo7 zi;{0S$I)Dsyhprz)9pW;eQ0hB)>hM6zp19L82P!m+^k|d4^%Wf>E(^L-gI`6YfOG_ zSXbYlYOz_AMojQn=!LDWX*u37{p+l&%zU1_w(Eh43>Romi<8%#mE;VedUv^g?aBu8 z9nBEJW1-i+V_v@O?Ira*pV+3kKH|sqW+j@Rh!#}jzU<{^&t7v*ku#l!ylt(=?A&Hf zps#IIpjS_-)tJG-HKW5Ox7Q~O*k(?rZv(WTBKu7*-#Or_vkE=oXh*i;UG+0@esef| zf1m=rM&GBnQuMNVs@*wUO7DAhteKfcOz;X~OZQDCPEqo0=SOG7EY_Ksa_jjI#F;vc zn4kp}*xxj5u_KMX>Z4X>#JLEY0=>4b^70yk9y*7~8A6K=3}!55onNdmDLl%{pBgV@ z9IQ%ApJVTz%duv>gEcL_=p@!Hwdw!<@L&rqsMt8!%S$x)#~Ikgm2X(j%JxoYW~LDn zRG=5uP}9mzJjEJ(SJeENMoiFxirRD@wPrtbK9#d~Ufp@XMir}L4x|wiRG^pr%-5#< zl@)us)-TqWAm8I0-BC{)yp>Vy@g^_#t;(c06Gvi?vg@;s`NbL&w4kD%MQ<_-->4Cj zu8UW&-ajn!i!~;wK(EB#uh^?zzURAl^j;z|clFmb(ns|wZsz>7qP3uskKaF-N-`31WcTq~*ELDMXjaU} z8+6HFOq6r(en_mTKgv>wo*#8Aw4fq$Mjt=AT2u6kT_04@3xAl_+>jJzQ=k{tP}6=M zQ%cWOAiEhcy|INBRP4Cz5L*{#5~IbJ38o_ z>en<6zszD&pjUzVKJKoXTG21g{vM&<^j0?KzDQ@G1r;xJAAff+tubCk(U+~d>xFXE zH>=aQGb+$)Irs6}bAuF*Pj>gx&Ed7pY&7nS7F2{a_wm`JSRE zD$t8X_;~K}X(Tm-_$AH8vdky`NzO@YOez!8XY}(ABpoJckC%UU@dKkR&1l3sjn-O* zf6msw$m}mpv!l_1idpo;F;-FpFd-?LcnT>35Vr^flBd=M5y;{>kV6W55KY|%%(sud#z4p zsG#S*I&)7kT4RD1R2(Ym-Kiua^A^t_-Ec!x97_R(jR?9?do zr{^Xr(Cd=R#|K``Z#-=!-pJb2=&y&JD-=HL!95c#sHjAWZw41M0`G7aKaA5ar2nDO zunY%n3iPTqlzQcw0xJ5{yPZ~lo9UP2Ry1OQ?T+^&URnC)?0l9zxw;}*tT90gD(rXd zvyCU%ytX6hxaRx_)~pzx|RVuBV_*qLWd_HJRNPCp1gdMMGRK(F~f z(-(5dl1AViuJo$U*~Y0C!W&Z*MGGpBv8HK6;mp@rr zQO2kW54}7?Y`K4_T#Tq(4zb1rEvUFbZ{c5dukfbB= zOXbpu%Hxfw)=*NpbfR)O1eFUdsF<17$3LrF;a@73PE;<3pmL!Cz3gXBR4$#U zTue~8CNO%Y?x-fIT$kHZR4Y|Y_V5u+eEhFURsW@O=|tsXg35&o^txWl#|P)G{x6kF zCn^^cR4%ljVr?TIpE{z7iVQ^M(uvB&1eFUFHZQtPn>$wjm&&CRm5T`~mj)J8h$HPk zTKQipmrhhJCa7GfK(EZ1>0PvY4I_ohr4yBl2`U#_P=UQiQn_@Zaxp>WLIrvaNaN!( zXVx%Ms9ZWxxtLgEf)-R@?~zn4ov2()P`OZnUd`z_e>P`L>g|fkr4yBl2`U#_P=UQi zQn_@Zaxp>WLIrv?I_TwH#@8}Zs9cPwTn;f}(w?#$tKQU+Z)5|9dHKD2btIj#0ewx@ z*6OJD5~6Z3qH;L|l?yGXVDweAq;(x5h04W<%HxfwMhQ(&xfoHo9D>S)7F6v0 z+{;HasAHs1xfoHo9D>S)3iQHOkW?;4R4#|0a-jtk%_&!NXKF1Yh04W<%HxhG zy>*Go#fZwq1eFU(mq@_ep?mqH_YT#%MCHMCHN%QDy_tLQgg_Qm9-yQMs6)a-jmfkW?zETsl#?n4oeE`+;)aRk$IjTscqB zD8P%xhM;m`yGbgSPE;-?s9b14#RGZ{cBNewQ>a`zQMs6)a-jmf?AL>+Tsl#?n4ofD ztx)}tzOTM&&y5r+mrhhJCa7F!K?SzDq;ly*% zzE)mduVhn0P`M7a_VPzXni_)2g{@9yqN%k#nY(|B|MOkwWFtiOR(Ul?xTDi4NNjM|dQ#fZw~5Nk{x zKBxI5tC|^t%GHB@?;YDr#(AVEODY#5Dwjj7F~MVD8K{<2E=E)?hgf5R7E~aASyH(i zMCEb_DiAlOH?jKR4yi{TxdbX3CqJ< zukEPbcZtfyh|0wTl?xT<^>uD~zi!e-GNmPzOD8H9dqz~QR27M0+`pqCs9aS_(vy08 zdqYsU=Fr~ThrjEj-gk-0r4yBl2`U#_P*J(Km;aNoy^%uY(uvB&1eFUF=!G?uR4ztT zE+(j4XhB8ed=%UNY-6NQxfoHon4of@0=?{KPE;X zMHqt0g|(GbE}f`cOi;Pdf{Gh-e~cOuVWd#GbfR)GLFGaPdSRMB!iA3dMMCD>)!~`v<=uPVGJGvPuR4ztT zE+$4yP=Q`2i+OlfS65XAQMnjVxtO4Gp#>FR(zU6!^kWshOVm5ULTiwP z{AJ^QhM;ndrCE$$f7HhiRIX*u-28l>0qQM-s9cPwT)Logp#>FXNuB;oZxyMD%0+MB zX>~#6LIrwZ4JDO}5tWMxDi>N%F@eq_etAzLh04W<%Ebhg3l->PKXamTF`{zmg35)p z`sb~iml`y{5L7N~5lQ9JiOQu5Di>N%(WR7!*FH^c6{K?MMCH;2l?xT;!^_4M6I3iK+|+QSnX4^&Zxfw-f5D`#fZwq1eFUd zsCc%?%~OBd-$wIfBe^D?>#wZ`H9(dd>QbvOx z^SF8Divv|GAu1OmDi;$}uAk@9?h2_A3_;~uy)2R5sS*r9<(g90&2Qz4R&QiPG7q+^jaxtQE z>4M6I7F2A=;^upAxQ!Gl7b7Z{E~s3nK(B8axcR1ii7NUKm5ULTOBYlww4ma8ZZ|KJ z&ts%exfoHobV21p1$uR@=jQX4xs4Pm7b7Z{E~s2+K}D((Zl1HB$4H@aF`{x&=J}va zfnLRHyZM$29u<9v%EgGv#RQcL+a2#m+jY{2%EgGv#l(mST2NuXYl+Imh|0wTl?xT< zg?F>0axtQEF+t@*3o7h;*ASJ95tWMxDiyIdk5`V@SDO4^8QMs6)a-jtkxL1y( zaxtQEF+t_xVTruN+C({G()wBg-%==1#;C`%l2vQ(QD2Zm_@N4-W0m5bH!*3t!)>vfhyo-6xMIbu>KcOq|icd#L- zTz%3d@^8)$R$q`rIcxfoHobg{++73hUElvFN8R4!dm zxzK`&tECe8(MX?>Lgiva<PKXamTF`{zmg349@j|86Wm*Iw>a&>=}z!!`k zA$$0ow+TFZkKslNm5ULTOBYlwRG?RviwS%>DN?9hjHq0?pmL!F6}wU=^5iMQRAeA3 z7b7Z{E~s3nK(F_|Ch!W`hZ`wWE=E)?T~N8uf{ODQ5_##JLyZ(F7b7Z{E~s3nK(D&n z68Pq$LyZ(F7b7Z{E~s2+K?U|6%Fqw$&WOsT3n~{X(Cfv91fFinP$PxP#fZwKixCsF zpaOf3q;fH$a_NG~g$nd~vV`ugyF-i=DiWI`HU1QmxHKWOi;N{ zfnL}OlFH>EDi;$}F0`ORqqh34@L(f_%EgGv#RQcL73gJeU7~V1h|0wTl?!()!=23D z&Wh)`zxAosB`TMLs9d_Bauqb=`Hr5W3_<0p@pZf)Aj+uLb4NViR&cbs2Z_q%AS#zG zMoiFxiki#gd8L-4)rbjExg130(gl?Z73j6_yLjH_>}Vr}%H<#`moBJWSgUeGAc?X@ z7=p@$Fx z-iqgqKN)7EP`MmL<vJI+ZemxHKWx}b6upB~Rg^c^juWz)IweEmP8Wemo4 zqctYewm68&r3)$-T2QfhWjuFZ{Y1T&5S7b8R4!dmxln;#_Ul1ZE(cM$bV239TA}*! z1Y$3}9i`$fQMnvM<c;b<*M`bF=LP-l@qnT;&GN-omsBnXQMq(M(92#cqH-k@m5T`~mvJkOf1Yo!95LBTzpLjTBqQgS z$K&|c=|ki@s-$uy6P1ezDi>N%ajj7tpV=%JcZtfCOjIr=s9dN(ulU_@{1Lrnh&>fG zji_9HqH@U*6SSaW9Z?HeuHY_}MCI}ml}i^?E>xgb1TpAN-5w_QyOdNeKT)}KLFFnG z7sq=p3p@=fj*H_L`A8Xe7gmYm6}kkT43tCeKHX1LE?rQ$(1MDilj8X0yTQ0iR4zYJ zxpc9{1QqCoHI!5?KT)}KLFGaVDt=!U$NTmguHr6Hx%@=s(gl?Z73gI@bE0zjiOQu5 zDpw66D<)PMA@d1!ipTLoGe^iTVXUpBa`}nMr3)$-T2S$*VjO?|)krmBLR2n){ViM< zR4!DY7q+^ja`}nMr3)$-T2PUXuKCEZqtw?nQMvp?<OHhzf8coCJ$PgE{BVv_q%EWdEsBjaEv zBF{FUcU-aiDc-@7%H=027ZX%2w4mbD=~&*UtxtVz6P3$PR4yi{T&O@Vtf8cG`H9NK z1eFUds3=P3k#_J9nfH@aE{x!gVeo5$s9b)c zaxp>WLJKM?%#GzaPx(}ACn}doR4!eNnBaNfe!^HoN#!z$%B71D6SSbB#iGBdIA z0ujbD4OSy2MCCGx%B2e`7g|u!--zX1s}5C}38HeDMCFnrCa6F!tf8cGnMCE%C6x=# z5Ec1*$MW=V2dm5kQMpW_a_N%F1q$@CpE*&vOrmn>g35)pYW!Oa&oO+k95KNbkyI{| zs9d_Ba-jtk&O0%@#`2+R#Du6^CQ-R`LFGaPdL7IY%RhY<%uEoK%Oon7E~s2+K}8Ru zu{SL{OpTZjmCGb5moBJWs6eml8DsfJ?qG&xbedTvQMq(Mxh`=nc{Q%FY-y4}hp#CQ-R`LFFoQH=6e<<(4BR(5q*|7@n(Xf*LU)Dwj!AE?rQ$@XXuMZZ}(7#mSj9*y@tXWfGN37gR2^ zpyK?FX#Vue1U2i0s9YvdxpYD0LIrxg`YoF8@VHe@hNxU7QMu%-7qpLVqMG$WR4$XKT)Log zp#r_?`lETVn!ynhqH>u;qmKNA#36$<3pAoj>}iFG!+t znMCE1BPM7;#gd%Sd_=E4Dqazl%Ooln6I3o#px2{{(VUg)ukH_`a+yTs(gl@k==CVx zVs7*XYo&%D%6jhGOX%Oon7E~s2+LB*~&QM}O1{%R%%QMpW_ zaxpPtf(rD)8cHgcNmMQ-s9b14#k}ItynmzqY9Pu8HEcTl7Q?ZFX!k;Dwjo6E?rQ$P=Q`?>!Ns<#NKMIGf}xLqH^hi%7qqGVDFJsE{mvK zx}b8Q0=+I%8Jk}8QcpFaa+yTs(gl?ZEvUfWBdJ^_QMs6)a-jmf?yZmFi_Z5{^Qno- zWfGN(2`U#_P=UQiQn^f`axp>WLIrv~-WbJqFYhL2d`l{qNmMQ-)|iyo9>q5o56roH zyDf^}ZxWbu*O_+3T=F(TMIWManMCDcg35&!RBYNB#lKzM*+`*snMCDcg35&o^uj11 zsaz&extO4Gp#>Easf+@rJEzRq9%T}hiwP@69^AOGG?#=fh)qWH?=on++v;-e^j4M7j=tmb{TBoD@!Ww1eFUF==IrmE`BI`6ZO7J zR4$XKTyn$&EvP6x*u_7H3RmyDMCCGx%Ebhg3l->G?pt4oAz^Y@7~68ZC_jZ|LZjl^}b6~E{mvKOi;Pdf{H(*T|DiL#_DUEs9Y9N zxtJI+K?QnY4JDP!A}SXXR4%lj;`TI(k3+dy+ecI`i>O>oP`OZnUiLF5Dwjo6E+(j4 zcO5RCc}2KnR*VXB@%LFAlD2@gl~gW^s9a1?xzK`&E;U_zemQ2OP`NCkaxp>WLIrwZ zt4k`EMN}>(s9b14#ng%}{&Rj^5gmxiWf7H&2`U#V(Cb7!7mrHSSUt~)%4HFiiwPG=i@W%5ZD>`i z95Ep(mqk=ACa7GfK(9RcTzr(rP){|Ya#=*>VuH$rR}fpeMl%<$wxW^Zmk^c9A}SXX zR4%lj0(+07a#=*>VuH$r3iP_t)5Y~e4HQ*{s9Yvdxg27R$>51D-t%g083zYUpgW4z zQHy>1@D7$#E|aKS4ngHY3o335ck$)}>MEiGQMpW_axp>WLIrwZ4JDP!Bq|pZR4%lj zqE{~$H+M9UY#B`>Dwj!AE+(j4s6a3KnG==EBr2CftTD-#*Tr`|EhppB?uIUYrGHHs z)s}W}@!z|bQ!$aKTqaSu9Ab?LT2RrQyZD@~HPwg-QMpW_ayi5r6I7sAsUa@@;@29g z45D(GMCEb_Di>N%aiyb+7pqfCjhGCtn8B)l{e+|L*)F#8nEx!2w{KG3a8%#z#2V79 z;v4y`Tea>v#yxLkp#>F5w<3Ai$O=Y$R>8$-oS4h%^IJOhb?bIE1$vb&?cx{L)KK(` z>gyU=r}`FWw<$0B;#?$;4XY*@31gl_@{Yx-OZr8<-y`{swH1tncu|I#Skr2jy%2j$ zc~P{WV$!QfKBH@OMZdToU)}op_Y5pe$NDw}dSMM|K12F)*4dM}*q+|Hg%(s?D(K=* zh|dt9aur=t$ZEVK3yVrmBxq<8^s=9MpLNW-ygwJ4ceb3ZR^u;3@nAgk-;b_p zxH<_g&Yk157vzH4?1P2(OthfFxjT~Qx=g%`8bXon#z3p%6$ksf!%sE^dVRGylCOJH z#h7vC2q}s;h_zVW&E`AizANJ$?W^^--L6<3C6_b0B!@IG&O@UrB z(z&>&L^-2Rq9EfD$IB#+SGeGKEg(z!uZqg3Hmb0T8+(dLj@MDAiB8uZxtYl;Bb+|jZ z#JO^|Ge5R3lJ8lXN5(5`bxrezwX>#|sF~cfc|P0qK!rakl5cpKSH-I@8+NrCPdu{g z2E{8p7J9AtCXzSaR6xb634e9Bwi)@8MZ7`_Dr%9UQ?`66UZu;~$C|yp!=6;jo|~vZ zuX&5;dK52URFd)P&!+vYA?XVxcU(mKG=K#aEf+`f%+vF!c=cpgjFq(SyFCe=ezGah ztMC_*e9`3m#z!(Q?XN4l=b6zq1$yEAPjj}TR-5TQ8I+v!md6$uP;rgk zeKx$!p<>D8Eq-&`xhKiX*2LQs=oL%v47IH6DvIXXxX^5Q>}qnC0)s5Hpkg*f@K-mp z$*8SqU!I%TsHcO-!}kW;cJ#zuN^!4FO&h;Ed!t+fYnWB4jIz*z3j401j>(`uAJ03?8|$oHdn-liOUM2WKi0ppIjh+y zn*zOXmqAUt)o^zBygyb;mN!~Zv8Y!9*TzmzWw6ikI=;L zO}~(g%?s4JxEC3E z;Z8)Fw)E*D$EB!Z<^yV7w4egZqZy4Ww>#QB%O_hG73hUK5oubj`X4%)ubm}Z7cHpB zQpC+a+POrXdGU!qI)2Xdf!UT?7ZvE0E5^+~KeJf!p6LpnZsn*PJyo_YT2Qg@Yd4P% zU#H4gx#GBESNW{6by0y{?c&`0%cF}`>lWF+m?aGuVW!>^YvGjMVJwn7DZt8+VSHY zX{N->YmN%^!j`7hHNBrXKL6vjU&KVTpaS=Tp=Z>Wzd3G>%Vch@YFD6_{R(DX-h>_P zG0g1X@mXj=1@4bUtvh@eD?2~4d>Y_x1-JtP?n6L#)Qy6y#n|Ux4PC$~sSYUY3n__m$F+1BWb2{@73Icw`A0+Z zs4}j%sLDQ0J2_db%|Hcu-6M{)`-ALq1VYp1Wm>`>pWl>xhFTXn%jkuaRZV+(zdHMJ zhmkCv253PAmZxdom94?bzi!z`+_k7cFQlw$TFIvy9W!p6Z6x1hXt#^Csf)|EJ5R**Lcsw>-JPq(z=v8;8m*=WoN`8fFTGmr*9Yfp&!bRUj3o4qpy!_VL z3aX6gOjTL`>Wjlg>!Jd^mhSTM0qshu)*aGjH`_2b2TMgy1LPTYCzjfvMh)aB2~xm_ z`;li3OV{L@Lp%-8f{IQua6s;$Z{Ez6oO>f#Vj1GJz5IhT~vFS^F@>D;s7 z;+mrZy|ATe=D^xYEa6Nwhv-*mK?QOyDN;A8##(1O8!ny(s6a3K6DV~`Rfl*QpaQ*+4y9=)-j8-1 z{l?`GcNAJsarrMdZ#y|cl`&+V#t!^^SN23y*t`r6zfh{P>g}6)4rCuDbz_+*UfGyO z;DwAN;zm`{*p6P09pY(Vvw*@@o>sN&14pSgshQ|ks6a1dz-ZdHPkTB#)}A6;7cHnb zFvQJ2iS41zyjk&6j!C}EOgs%xfnLb6(X{R@nmfMOGEKHFT2Qh1??nDv-+ro$?a4#wk}#w@#JU%|EWQ&DxEZH;UzRG?S0s`N$w zDqgkKs);!q>H1Y-;%R^uRNxwZVrCAQ7k({zy}ahAKrd`*niqcG;V8YPqU={_K?Sbi zr=0$gPaRpClwsm&fC}`oU%~Rz?>LS(n$5)104=CMu8GVP?V(JOd>Y^?Q(QTV>qlj# zXb)wIn0OkX1r_#{tduEArc9AMb5x)gt{9V+D%LlN<2mXE*YHxND48-v zOgs%xfnK=sO=gOcDN`hS30hF`d}S;@rw4lpWs3ZiDUv-A73fv@KrHY3w@3AM$`tu2 zQ^Z832-kC=7q0)3nIb=BikNsBpam6Jp3D^aDN`g{7ZvD*>sw@|D48-vvUSmdidPw8 z`JmD<>i(cik)JX}@@aqy^ul#IGE?NIOp$C|w4maYH-@jeJ5ZHDnIb=Bie&4e0=@oN z8pE4iidC&knIe-iMe=EY>toOhXUEG-k)JX}@@aq;RA6~BQ{<;ik!)R5pcl@Lmzg3z zWr}3$q6HNbZbkDCR`pS5PMIPd>Y^kI-C`VbK_*D$fQh>{5C)f zD(tiLC{tuorbwPSD$omO!^ljLpE5;jA8+ zDe_aMNPa=01r`0a)5!1l)m0gkDKaTjBzqz%(98E3DUR1xy`3^eCS{5oB2$EORnQCP zw#ZD8Ntq(~ZGaY3V0kiAWKyO`wk|5r%RZ`4nIb=BisW}KT2S%nmoA=bXIXXTlqoVP zQxq<~4N!qzIHN#jiu{x*lC6stRK$*>x#yD$t1>84WKyO`<}y%$Uf96h z8I&n9DN`i#aHv49ziCAA^rmd8btzM1Ql`ihnW6~;UHn<^`*MHAdR`apG4YoiH@LXp z#h0i0UG1YtnIe-iMSk%#Knp4yH2ZVgp?_2+l`=&pWs2mu0V>dI<2x7sa=@P|BTShh zlQKnqk?}$cDvaqa9+}~p8e^eMk)JX}vaL{oUiW{X(brF3sWK>2WKyO`jvJr_6(7?T zY_7dfXHJJMJ8p6{Gwl>1r=wyx%hxS>D4GQWr|G76eWvq15}`w z{R&d1$fQh>Uwj*&1r>SA(V0KbtY*+rrpTmBksLR8ls1ZAd-IFj<#P^QRFnIhS`XhFsCY0-RJ z#ntM}DO2R9OpzQ#Mg@AUT^-F24O*mHmoi0u$`r}gMGGpf<%r=g!WXMDC{yI8Opz(> zb5x*L#x>F0QFW1OUCI=hlqr&<$VF*Y^t6_8Zrwk|5r>-+IByxaXLstn2$`6*K*TNf>;D6xzf2OrH+XHJ;__}^9KmYj@RR(2>{FEt@t&0ludQN4esxnEnE@g`R zlqoVrrs!dYIDTTnK>0N2@gkPLPl%QK;?8!{_jyl`I&;bt`6*LmicAq&Q1R`BSl&DT zP*nzHijpZ)WQt4?D$py#&^Vs&;uv)vlqvF4rbwO#T2K*vK9&!iIaIY3Wr~t1QzY98 z73kISOe{~%{Fy3)GDUvM6qzDZgcek^CaTVq%)``~Q>G}HGDY&5qXNCKrDdkbPnjaw zuh4>uCZ%F|>tkb88I&pVQ>I9cBBKJm>{pO7MSjW@nc``H7F4u762lYLk5RiEFYQJ1 z^zSv**FX8J9KIppyB5x@qHhCG;LJRn2^f60t5dtQ5n6#>IAhPQK(FBMi2B={SX;XS zYl3qigX;fVE3}{jXYbj|Km~f?Ts*r1=e-4gi<;m(IlBTasKByAE6@w)``Hy}K}G2E zz;?%;fogjhXh8+e_Y18+FMBU}d#1Rx^2LYN+$sZ-g73ScMR7(e&Q;YkRN#z1oPUQ$ zvMbPn3i~WQECUtj75rcHV|y7`Uz{TxR0R5Ns4`H2bCT_4;IYsPTg0xw-WU8Wm;-nu zy8e=w4egZwwHkl^tyE@ zlK(s*jam(eWuOHW_ST&}`498MGXtzkzf4RDe#?rwS9u@FzqtC&DfUPe_j%gOZ=Hd? zOi^*t=i;Nkc)V-DgKDo{ImI5SK}DeNq5>_bXu({3$=z4Zz^FP?rVznhUbBnS+o)@X@e#i09bbDGEgy**0DHSzIO(8?!_|j zSm=d)Ow&X!Bo)h;zH&Lt++d~%b53>zmJ$3ddIlcJu1JV*@ghBMJH>vYOPacP$GG2} zV*k>hI?zk7R%k&*&c@Worrvaly;JRFpaQ+B)S*mK?rTo5AFN&RO)(d@wqJCLo)P>l zYBHs~ioPj++QGwSW_*-1f&}EV119#NX+p=XPja;T0D|nffiK!vctu>dB!RBwGFL6 zFZ(qYeTvS7{W<7L*kf;nHPvN({PVd?7V7MB>YUP#$&h3xEuT}u8rqcB8Z&$ z-Wk|!6VC%JsKB!AWuOAR(wueiG81>HxQk_=1r_%5sNNymzjgPgR)$AkCv_qE*823@ zWQ4;EbntheC;m5u@ajvfxG9ylIRiUkq5{u0_*+D{&}E_@j8shTqC~H7PlYPtTg9 zqE9GAcH$Wh{&=ZV?9aJkXB7Wr#A2t|x6@um!j35Z>&Ur*`&|7Ny}ir#L=pUFzB52W z#4^wlR0~D$oC0@LCH_E#8 z(bA-u?P*5Sw+oz^=o@fRhiJb3y9G|Mmt}AaDR2c*fnM9DM|1bBg-)@$1}e}i_6=(^&7R8%)o#zxg&|=x4YlVu%X=!A%zyf0mvB%W=vSf2K*jw1q|P$YDRx4&mx0GZuN8-*d4-1KoMInUyTV7r=Q)dp z$w(diEo##6r)Zw;)6ver-kDe{w4egZwwHkl^t%6JG|xGDjEdA)23k-N`aH1R@j9d0 zUMsYq;N$wDLIrwZ@6j~p#N8|+D#0qXZ(&k!gjcj^#S$@mnm)!U_N;wW zBZlwIIo282@fHV)zJH;-(|33=wIuIAbC%qf* z6ng;M6=+$%FoqwgG0`dZ{rul*g^HJ(X#bB+lT@U}Gsk10SMdKpq(%kyzTj^W6N8Gt z9fbfc$8D@i;HF3TNf>; z2rC%Ft&^WR#h$#O73hV1Ow&X!q?(zDm)CuRPtA=IU6?okEzhd~Xu2D|0!)j0+xPn+Kw4h?%vlyQD zV1K7cwKd0#9q@{`Xg z_O-kBLoDA?V~|tq`-w*iT?Q(Ko{i;+Y^YNZ1w$*)D_BM#`e3cFzN9jSa#?#P|>4pEH8Yvk2A0jFP4GFLNDxN znkIT7sjLs*=1#)7N;o$PXIa@5SVr)-=oxq^BtH<&AYdbr|9;sNi{XEcuiWu69&Yvd2DfVX#tw67# zw3clA)V5Bs=d4|EtydghGQNq7yTRY0eV%_5$1AOA?hNb{i|2tBRA6oGWuOAR>a>pI zUo2{+;x3kf7F5{JqhRHF`u*Q(TN_^tPD+<4p2sgplu>3)X4)e)wOfvV1b+vv`F~Rg zuV~sw^Hix=8Tp6@0A=9W27inDJaidoK}GBMI9{Vtb9J9%8K^)n&yYCo8`)Cb=b;n_ z7sv4%4?mKz-9>v&?kU+t#dcKSv6hUA$~u$IDWqsMI4IlcqF?5EvV@8a~!Y#Ngoy4L)8ks?AKiMDNj3vPu26{Wz3N5H`jfv+^|L&+_Nhk$+4V@Ry?|j-u#S&Dk+!@dJK()PAXhB6d z?Q)!>R}c04z*?aKz3|G?`lz{GbnAo6R`I6IlEP`f_R(2~$*(x%xCMU)uK9mc2rrY? zhF?1Dm0y$gGVmG%e~Sngx(u|SV*3yAd{e&`>gx_`g_hk%iqY`+|ZV4(wj|wa!_*+C#Jd&oN0xfvlpgPdoQGpgz7!wls=Qrcj*LElc zdaYfQz>5xvR$pGB6c-LB@EKwKj`{!)?Vtn78U(7C-O0~yU3Ur{4MIf@nr&^ zs|UYpQGpgz;Q86x3Ki&e>_Gy*S+0kAzrr%mf{M`Rfo(EkWdi>(Yn04VpxRz5w4kEu zKH_Dx>M!#ep%v(bEv;#u*@^n4#BHYjXSO7_k;n%ZA0@{>excug^%^C|KY}F2KrcZB zdfn@s$Sc>JAjdyKE6{?9-Mtg}wxW|&Rt?KQ1$qVl4}90601 z&O|=8PY*THfMuWpz3S#mTQ`IaBRG{TV4>v!3f2N#efkz5m1}a{X`e?RUYL*3-fyY9xUA^4g^U0S^ zv7@iO475BS=;o~lFOV~K@JMzAT2Qew+RaZ*TdX2=s9K>{@JNA3jSB32!QUcM2Ni)k z3KeKUg{QfjFDXAp%@7KuK(EM_Za(UVv1$$^D$ugCm77nwI8M$A!m>lR6)KDlZr(h4 zlAQY!T7h2J$23j!LaLb+w{lU^>lYVuN5kg_lk_yPb@cY zR&SAtqNu=Q1%HdHhDWm33N3itpgM2`LzRJw<>%eJPVz!^*M?G{7q*DKR@gopvU&J` z-3#P=pZ~2^s3=&{!*6$A;1v78+RMOWp;yN$9zLY(0yU=y&*K;o3HQ>x4AH}bzeW4h zXzt<9zYfkRLIqk-fo0okg$ncv3-j=^*XOH9jb)$(754K;_r<4r)@Zlm&f!k0=Ctwf z`9rqL2!K4~;P1dSN5%He9^N+l3K=<*BB<}STP0@_hgP5k6-zsMc$j~!oXe|eSOzN4 zYbGf+Tv@B;@1g=NS&2#gN!KlMo;DsSbQ!3)(bmIzY~JDw>`aPf;IYsP+t6MHUgzL% z(PQvPb_H5cF|V74H#xpg#l%pxLa$RFdwBDN#VRJE0xfOHEB)lJANKI0Nju~W z<>b2_{`B?^8Fz!~KySxdp#>GI9((xt=R4Fqj! zCBfgKCOfNoc@f(opy{mfB;UdxJm`OMbet5||%pam77&jZ^XuNtcDwL%Lj za{E2J@$4Py`GK`U1$yC?rFFs=hUo5ZC$XnZBg%G5<>gzFPs<3mNAvPwY0t>2^EI%kkP!wL-7u z4T%0de~}0*7Ne{)yd8zn#1zH)e038s(5+fg8S5ZH7o;Qdx%U z>!hGUL>#2!2mcTBtN)}B7E~aa|38-@6zH{=+N#{&XVv--ECVgsI(d2N>*wUV;r~`E zRLqPciuum-Y7G{afyY9xZ-)?1Kj#Ixy3T$cXj!|!OW(K`<<~YI$*w>PDq1h|^68&m zRO{|S)e6085T$+8#7k=39V$lOr)W_0vW&aI-=d{^UhwiUgM;htP=OXyU~TQ^feQ56 zcg)L|y}hL3E|!57RM^j>XSe?PpIz>;3w7_6txCN4WAC5K5nkN6Aox4b6aSk+cx{~Q zO}GDW_MzEksJ54Z7F4W0;N^>wZ#l=&OrFpR^y-^T`%NU@c7AkL%#Ox0 z$Lk#YEn*^;ZC9WL71?ik`OX1Xoq_#Qu?$q8SLn9F`fgq2^^?$ zx+bXzp%v)0ppuW@KbT5!4X_Lr;p4f>r;!AK;BRpcF6Ta8dv1^*fC{vr0&8op6)MoH zKz$!~S52)50$2uGP!ak(f?nb|h}S>(e<1o`8E8R8=w5;f^updlBu`=#5qU_Twzo#P zdXK$)!IsQM-eKQ6NB`~R%lBqBvc-Mx4DLM=s1+*EYZgUkV^uc8OLP1}E6{?9B-+R1 zyNe$fZRNZ^ECUtj75rbcq5VAYItPD?=o3`@-}68VD#Duk`0Fxhjk@xUEL5$~>xJ&) z?+&Il#>+^Jie|-pyg`=?#zcy**K_%Jzq%QXBIkDhkF`R@<19YDDmkO^k6e|4W#DSJax3ztIRK2`% z7thdTpam5LsNFVA%qw>gwbu$2=#{ghkMn)`gbV%_{q>T|#|K`` zZ#-=!=5peBpam6Jc4!59J?`P-`P%1K5e~~h3o1gN2YLm6%eQ{pennUYUO~KSL3QA+ zMFm<=u`Gv=_leA{b|wv_KrifXl2fD;Ax0aEA`#vW5v|or8{&;T zv;w`bk4dtTPBpWLf0Z;dt&e|Jxq_rw%`4>N?S8K)-^lE>61^~}z#WcoSEC9Ky*xu~ zxqpdSDGEGR@VB^XcqDtR(1OPessmRLYlRk6WPIo4hu4(E?Rd-;e4bqvA3V$;2RN$Wa>;9ud9>Wk;1?FkF`Rt;E@8+2Wy4(ZFJDfyNs`8l%ns!pd!$BQGpgzG^cOpJ5y^J zDg3MdSS$3x7O|f>UgzL%5fia&y8FjDweDP`cX&#?pxqKrHZlZz%U&zA zJfS>H_M;9%P`R*dy880 z!QY~NGG3zCKE*Ins9Y%uw4efOYd;TEpx3t3UVhbbstAYI11+eqpNC)+5mQDd{#CiJ zUwU}AVa;Te>G7OKt;aT#y9We+2d?>lQwXnPG=deGyP1)~ze*_s&o=m5+~=XoKnp5z zo}jUi7mbY+{#8mDs6ek_Km31;opoFn+4uhk-e9|ScYtCC7Rn6oxyIUwL5Vbi2q<>9 zYwfz`+O@{&+OEZ1yLRnbU3={$L_k1(XJ+2R=QW=ne81oS?&E#VbIz?f_kHUO?aDM@ z)|~iPxfAqV%d3|5RyF?B+DWvw*sZ-aC;n9qfzSF#{|#67VpcW&722j9ET~niKyj*Ic2N zxy{u+MWt6L{?!(=VWd^>gWrbKVj<-ah4RI+dX8PR?*}z48q0!@b=Cg2;kPKw1WJ&| z+lE}0{Ku>ARy77yecIbhDbUNRMw&8msQ31~%7H|K8nJBi^j_ASNK-lGz-OVBol7j6 z9N5R26KN`ksM&&gLl;lYml$a^C)JyfFDcj0niFX%hd>DuXxm&@NTAlj2K238_r5k? zf+a@@5_y*c>mAzzX>+bng2b9qu`IcLcWX{`v7C}4fm+zITJ$7$igY7U{3~ZS7Q>!p zdTJgHztw4^^)^>y6#Y+xs@2#hhW-53)0z|iDu=)}Fw&}r%i9J@kl0u~mc1Y3Y4dQH zE0nCK`iTkj)Vvx#$y{=jAaSh_{f7(pwC2RW$|(mDsP&9Si3y`TtvT_patM@UyojMl zQ=V2e{uMqc?_43V=ur%t`h%zDgYza(Yu;Zm?CNq)Yfk*DoLr%#)XErkF5c6s#=rW% z4@J`1(Xy+rL(YSb)>f3-z`FSp`1Uya)`$y z*%#=o`N2XRV^~tUkM>TWZ7mj34uKLRW)eMYgRfPMy<{d(;zZ}u^4%V+`9yq@nLr5= zQ;A;F*Waqf+sd0jtxug}Sh^fw&56pDQ;yo*Vpx#~^D?RIVHX zB}iay&ACDXwU%^=VYg}p+I%9mAWD$PyBvm=HYbDjH-6W>585zEfXKU-Ac0!gd$c%3 z3Pp&KDE^hR-M(nH_qRZ+8vp9co@i#jJ{!29b+doM28F!vXvwKa0tZMu#gZTf;ff6LD z-j8Op%LG|-;$P*I90}CIIyBcV_C6!6jt2N7Gl3E${%sY*z7z?z=ET3sHCL!rxPA$kM_Y5^U**`qXQ3AMF)gx@M5Pxg{*}|?n#0+pkP%ijnpHl!W!Ph6oK=lx zg-J`{Sz*u1FPdWH>rmXTIl4WE>^4ScRa>n)g<4J7u^{lSZuVy!t5 znsUt*YGI9-bA|O&yVP*j=53r+jmq_Z%M}tCg@?0}#YWrqKk_OEYW(cFaw^;3~vn>imu`#vdw6BqF{5p)CSv$(+;naR>5SS|?t@b5+lG(T!MtO=UGLfht& zqXdb2+T%ne^ z&D9=4ltl5boDCbQ$LaPZlGUm(QuAHL?|Q$=jZh^>SYJl6g=OQcU$fQIpLr3ewfIUT z+dqGl?Q6|Qpk&z5NR~ij#?Bf4T~|n8ev$B`C}}rekFmXjc@e1fe0?Mv;x|_FuI6%} zezUvLYi^Rvyk*w}<-R~M{wQULy zq}F_B_+2DWf&}K)Tn;2qt873d`$;tXF4{l|66SKK5r-&ljYRRUocqyNXIp2*XtTId z=OWm>hcTLmGtzob{ND&w>*lQp=HFw4Hk;HUH09VBTOyKeYBN@wBkxU#VDqMr(q_VW z+dv5tRfu+o8)cgbW3G@ut-N!EZD6ETzl%>Ymjfk8JP;$I3x9!Scu2AAyEs~x4ahx_Y{lDc3i6#`6 zb9jSs+Db^?xk4@M3tF5aiE<`U{3~a)ZlqQJSpQ4}8wQ=4>ABfJqTJvJmM<$#n^T)@pd`>5!3H)Qt=wZe#EjPF zpJp5QEYw<-it1B6d~;yBR*xw&#U5P=Z9>y#xu=s=G9TmAE;=HV�hbTgf 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�oy?S1LD=wVvF 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 z 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